@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":"synthetic-token.js","sourceRoot":"","sources":["../../src/warp/synthetic-token.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type ArtifactReader, type ArtifactWriter } from '@recoillink/provider-sdk/artifact';
2
+ import { type DeployedRawWarpArtifact, type DeployedWarpAddress, type IRawWarpArtifactManager, type RawWarpArtifactConfigs, type WarpType } from '@recoillink/provider-sdk/warp';
3
+ import type { AnyAleoNetworkClient } from '../clients/base.js';
4
+ import type { AleoSigner } from '../clients/signer.js';
5
+ import { type OnChainArtifactManagers } from '../utils/types.js';
6
+ export declare class AleoWarpArtifactManager implements IRawWarpArtifactManager {
7
+ private readonly aleoClient;
8
+ private readonly onChainArtifactManagers;
9
+ constructor(aleoClient: AnyAleoNetworkClient, onChainArtifactManagers: OnChainArtifactManagers);
10
+ supportsHookUpdates(): boolean;
11
+ readWarpToken(address: string): Promise<DeployedRawWarpArtifact>;
12
+ createReader<T extends WarpType>(type: T): ArtifactReader<RawWarpArtifactConfigs[T], DeployedWarpAddress>;
13
+ createWriter<T extends WarpType>(type: T, signer: AleoSigner): ArtifactWriter<RawWarpArtifactConfigs[T], DeployedWarpAddress>;
14
+ }
15
+ //# sourceMappingURL=warp-artifact-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-artifact-manager.d.ts","sourceRoot":"","sources":["../../src/warp/warp-artifact-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,QAAQ,EACd,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAgBjE,qBAAa,uBAAwB,YAAW,uBAAuB;IAEnE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAF1C,YACmB,UAAU,EAAE,oBAAoB,EAChC,uBAAuB,EAAE,uBAAuB,EAC/D;IAEJ,mBAAmB,IAAI,OAAO,CAE7B;IAEK,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAUrE;IAED,YAAY,CAAC,CAAC,SAAS,QAAQ,EAC7B,IAAI,EAAE,CAAC,GACN,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CA4BhE;IAED,YAAY,CAAC,CAAC,SAAS,QAAQ,EAC7B,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,UAAU,GACjB,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CA+BhE;CACF"}
@@ -0,0 +1,48 @@
1
+ import { providerWarpTokenTypeFromAleoTokenType } from '../utils/helper.js';
2
+ import { AleoCollateralTokenReader, AleoCollateralTokenWriter, } from './collateral-token.js';
3
+ import { AleoNativeTokenReader, AleoNativeTokenWriter, } from './native-token.js';
4
+ import { AleoSyntheticTokenReader, AleoSyntheticTokenWriter, } from './synthetic-token.js';
5
+ import { getAleoWarpTokenType } from './warp-query.js';
6
+ export class AleoWarpArtifactManager {
7
+ aleoClient;
8
+ onChainArtifactManagers;
9
+ constructor(aleoClient, onChainArtifactManagers) {
10
+ this.aleoClient = aleoClient;
11
+ this.onChainArtifactManagers = onChainArtifactManagers;
12
+ }
13
+ supportsHookUpdates() {
14
+ return true;
15
+ }
16
+ async readWarpToken(address) {
17
+ // Detect warp token type first
18
+ const aleoTokenType = await getAleoWarpTokenType(this.aleoClient, address);
19
+ // Convert to provider-sdk WarpType
20
+ const warpType = providerWarpTokenTypeFromAleoTokenType(aleoTokenType);
21
+ // Get the appropriate reader and read the token
22
+ const reader = this.createReader(warpType);
23
+ return reader.read(address);
24
+ }
25
+ createReader(type) {
26
+ const readers = {
27
+ native: () => new AleoNativeTokenReader(this.aleoClient, this.onChainArtifactManagers),
28
+ collateral: () => new AleoCollateralTokenReader(this.aleoClient, this.onChainArtifactManagers),
29
+ synthetic: () => new AleoSyntheticTokenReader(this.aleoClient, this.onChainArtifactManagers),
30
+ crossCollateral: () => {
31
+ throw new Error('Cross-collateral tokens are not supported on Aleo');
32
+ },
33
+ };
34
+ return readers[type]();
35
+ }
36
+ createWriter(type, signer) {
37
+ const writers = {
38
+ native: () => new AleoNativeTokenWriter(this.aleoClient, signer, this.onChainArtifactManagers),
39
+ collateral: () => new AleoCollateralTokenWriter(this.aleoClient, signer, this.onChainArtifactManagers),
40
+ synthetic: () => new AleoSyntheticTokenWriter(this.aleoClient, signer, this.onChainArtifactManagers),
41
+ crossCollateral: () => {
42
+ throw new Error('Cross-collateral tokens are not supported on Aleo');
43
+ },
44
+ };
45
+ return writers[type]();
46
+ }
47
+ }
48
+ //# sourceMappingURL=warp-artifact-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-artifact-manager.js","sourceRoot":"","sources":["../../src/warp/warp-artifact-manager.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,sCAAsC,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,OAAO,uBAAuB;IAEf,UAAU;IACV,uBAAuB;IAF1C,YACmB,UAAgC,EAChC,uBAAgD;0BADhD,UAAU;uCACV,uBAAuB;IACvC,CAAC;IAEJ,mBAAmB;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,+BAA+B;QAC/B,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE3E,mCAAmC;QACnC,MAAM,QAAQ,GAAG,sCAAsC,CAAC,aAAa,CAAC,CAAC;QAEvE,gDAAgD;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,YAAY,CACV,IAAO;QAEP,MAAM,OAAO,GAKT;YACF,MAAM,EAAE,GAAG,EAAE,CACX,IAAI,qBAAqB,CACvB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,uBAAuB,CAC7B;YACH,UAAU,EAAE,GAAG,EAAE,CACf,IAAI,yBAAyB,CAC3B,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,uBAAuB,CAC7B;YACH,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,wBAAwB,CAC1B,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,uBAAuB,CAC7B;YACH,eAAe,EAAE,GAAG,EAAE;gBACpB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACvE,CAAC;SACF,CAAC;QAEF,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,YAAY,CACV,IAAO,EACP,MAAkB;QAElB,MAAM,OAAO,GAKT;YACF,MAAM,EAAE,GAAG,EAAE,CACX,IAAI,qBAAqB,CACvB,IAAI,CAAC,UAAU,EACf,MAAM,EACN,IAAI,CAAC,uBAAuB,CAC7B;YACH,UAAU,EAAE,GAAG,EAAE,CACf,IAAI,yBAAyB,CAC3B,IAAI,CAAC,UAAU,EACf,MAAM,EACN,IAAI,CAAC,uBAAuB,CAC7B;YACH,SAAS,EAAE,GAAG,EAAE,CACd,IAAI,wBAAwB,CAC1B,IAAI,CAAC,UAAU,EACf,MAAM,EACN,IAAI,CAAC,uBAAuB,CAC7B;YACH,eAAe,EAAE,GAAG,EAAE;gBACpB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACvE,CAAC;SACF,CAAC;QAEF,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,76 @@
1
+ import type { AnyAleoNetworkClient } from '../clients/base.js';
2
+ import { type AleoCollateralWarpTokenConfig, type AleoNativeWarpTokenConfig, type AleoSyntheticWarpTokenConfig, AleoTokenType } from '../utils/types.js';
3
+ export { callViewFunction, getArc20ProgramId, getArc20TokenMetadata, parseAleoUint, parseViewFunctionOutputs, } from './provider-query.js';
4
+ /**
5
+ * Converts the v2 ARC-20 warp token standard's on-chain local_decimals/
6
+ * remote_decimals fields into the scale multiplier convention used elsewhere
7
+ * in the SDK (mirrors svm-sdk's remoteDecimalsToScale). Returns undefined for
8
+ * identity scale (remote === local) or when either side is unavailable.
9
+ */
10
+ export declare function localRemoteDecimalsToScale(localDecimals: number | undefined, remoteDecimals: number | undefined): number | undefined;
11
+ /**
12
+ * Converts hyp_native's on-chain `scale` field — a base-10 exponent (see
13
+ * `pow 10u64 r0.scale` in the hyp_native program) — into the SDK's scale
14
+ * multiplier convention used elsewhere (undefined for identity, i.e.
15
+ * exponent 0).
16
+ */
17
+ export declare function nativeScaleExponentToMultiplier(exponent: number | undefined): number | undefined;
18
+ /**
19
+ * Thrown when a `registered_tokens` read for a tokenId yields no value — either
20
+ * the token was never registered (legacy v1 synthetics) or it was just
21
+ * registered and has not finalized/indexed yet. Both cases look identical at
22
+ * read time, so this stays recoverable: retryAsync retries it, and only after
23
+ * the retries are exhausted does resolveTokenMetadata treat it as a genuine
24
+ * miss and fall back. Any other error (RPC/transport, plaintext decode) is a
25
+ * distinct failure that must propagate.
26
+ */
27
+ export declare class TokenRegistryEntryNotFoundError extends Error {
28
+ constructor(tokenId: string);
29
+ }
30
+ /**
31
+ * Query token metadata from token_registry.aleo
32
+ */
33
+ export declare function getTokenMetadata(aleoClient: AnyAleoNetworkClient, tokenId: string, retryAttempts?: number, retryDelayMs?: number): Promise<{
34
+ name: string;
35
+ symbol: string;
36
+ decimals: number;
37
+ }>;
38
+ /**
39
+ * Detect the type of an Aleo warp token
40
+ */
41
+ export declare function getAleoWarpTokenType(aleoClient: AnyAleoNetworkClient, tokenAddress: string): Promise<AleoTokenType>;
42
+ /**
43
+ * Query remote router configurations for a warp token
44
+ */
45
+ export declare function getRemoteRouters(aleoClient: AnyAleoNetworkClient, tokenAddress: string): Promise<Record<number, {
46
+ address: string;
47
+ gas: string;
48
+ }>>;
49
+ /**
50
+ * Query native warp token configuration
51
+ */
52
+ export declare function getNativeWarpTokenConfig(aleoClient: AnyAleoNetworkClient, tokenAddress: string, fallbackIsmManager: string, fallbackHookManager: string): Promise<AleoNativeWarpTokenConfig>;
53
+ /**
54
+ * Resolve token name/symbol/decimals for a warp token — ARC-20 for v2, token_registry for v1.
55
+ *
56
+ * name/symbol/decimals live in the ARC-20 token program (v2) or token_registry.aleo (v1).
57
+ * v1 tokens that were never registered in token_registry.aleo (e.g. legacy synthetics) make
58
+ * that lookup throw after its bounded retries are exhausted, but decimals are also carried
59
+ * authoritatively in app_metadata.local_decimals and name/symbol are not compared by
60
+ * check-warp-deploy, so a registry miss is non-fatal: fall back to local_decimals for decimals
61
+ * and empty strings for name/symbol.
62
+ */
63
+ export declare function resolveTokenMetadata(aleoClient: AnyAleoNetworkClient, programId: string, tokenId: string, localDecimals: number | undefined, retryAttempts?: number, retryDelayMs?: number): Promise<{
64
+ name: string;
65
+ symbol: string;
66
+ decimals: number;
67
+ }>;
68
+ /**
69
+ * Query collateral warp token configuration
70
+ */
71
+ export declare function getCollateralWarpTokenConfig(aleoClient: AnyAleoNetworkClient, tokenAddress: string, fallbackIsmManager: string, fallbackHookManager: string): Promise<AleoCollateralWarpTokenConfig>;
72
+ /**
73
+ * Query synthetic warp token configuration
74
+ */
75
+ export declare function getSyntheticWarpTokenConfig(aleoClient: AnyAleoNetworkClient, tokenAddress: string, fallbackIsmManager: string, fallbackHookManager: string): Promise<AleoSyntheticWarpTokenConfig>;
76
+ //# sourceMappingURL=warp-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-query.d.ts","sourceRoot":"","sources":["../../src/warp/warp-query.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAS/D,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,aAAa,EACd,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,MAAM,GAAG,SAAS,CAIpB;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,GAAG,SAAS,CAGpB;AAED;;;;;;;;GAQG;AACH,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,YAAY,OAAO,EAAE,MAAM,EAK1B;CACF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,oBAAoB,EAChC,OAAO,EAAE,MAAM,EACf,aAAa,GAAE,MAAuB,EACtC,YAAY,GAAE,MAAuB,GACpC,OAAO,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CA6BD;AAoBD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,oBAAoB,EAChC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,CAAC,CA+BxB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,oBAAoB,EAChC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAM3D;AAiKD;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,oBAAoB,EAChC,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,EAC1B,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CA0CpC;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,oBAAoB,EAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,aAAa,GAAE,MAAuB,EACtC,YAAY,GAAE,MAAuB,GACpC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgD7D;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,oBAAoB,EAChC,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,EAC1B,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,6BAA6B,CAAC,CAiExC;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,oBAAoB,EAChC,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,EAC1B,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,4BAA4B,CAAC,CAgEvC"}
@@ -0,0 +1,321 @@
1
+ import { Plaintext } from '@provablehq/sdk';
2
+ import { assert, isNullish, isZeroishAddress, retryAsync, rootLogger, } from '@recoillink/utils';
3
+ import { RETRY_ATTEMPTS, RETRY_DELAY_MS, U128ToString, fromAleoAddress, isV2WarpToken, } from '../utils/helper.js';
4
+ import { toAleoAddress } from '../utils/helper.crypto.js';
5
+ import { AleoTokenType, } from '../utils/types.js';
6
+ import * as providerQuery from './provider-query.js';
7
+ const logger = rootLogger.child({ module: 'aleo-warp-query' });
8
+ export { callViewFunction, getArc20ProgramId, getArc20TokenMetadata, parseAleoUint, parseViewFunctionOutputs, } from './provider-query.js';
9
+ /**
10
+ * Converts the v2 ARC-20 warp token standard's on-chain local_decimals/
11
+ * remote_decimals fields into the scale multiplier convention used elsewhere
12
+ * in the SDK (mirrors svm-sdk's remoteDecimalsToScale). Returns undefined for
13
+ * identity scale (remote === local) or when either side is unavailable.
14
+ */
15
+ export function localRemoteDecimalsToScale(localDecimals, remoteDecimals) {
16
+ if (isNullish(localDecimals) || isNullish(remoteDecimals))
17
+ return undefined;
18
+ const diff = remoteDecimals - localDecimals;
19
+ return diff === 0 ? undefined : Math.pow(10, diff);
20
+ }
21
+ /**
22
+ * Converts hyp_native's on-chain `scale` field — a base-10 exponent (see
23
+ * `pow 10u64 r0.scale` in the hyp_native program) — into the SDK's scale
24
+ * multiplier convention used elsewhere (undefined for identity, i.e.
25
+ * exponent 0).
26
+ */
27
+ export function nativeScaleExponentToMultiplier(exponent) {
28
+ if (isNullish(exponent) || exponent === 0)
29
+ return undefined;
30
+ return Math.pow(10, exponent);
31
+ }
32
+ /**
33
+ * Thrown when a `registered_tokens` read for a tokenId yields no value — either
34
+ * the token was never registered (legacy v1 synthetics) or it was just
35
+ * registered and has not finalized/indexed yet. Both cases look identical at
36
+ * read time, so this stays recoverable: retryAsync retries it, and only after
37
+ * the retries are exhausted does resolveTokenMetadata treat it as a genuine
38
+ * miss and fall back. Any other error (RPC/transport, plaintext decode) is a
39
+ * distinct failure that must propagate.
40
+ */
41
+ export class TokenRegistryEntryNotFoundError extends Error {
42
+ constructor(tokenId) {
43
+ super(`Expected token metadata to be registered in token_registry.aleo but none found for tokenId: ${tokenId}`);
44
+ this.name = 'TokenRegistryEntryNotFoundError';
45
+ }
46
+ }
47
+ /**
48
+ * Query token metadata from token_registry.aleo
49
+ */
50
+ export async function getTokenMetadata(aleoClient, tokenId, retryAttempts = RETRY_ATTEMPTS, retryDelayMs = RETRY_DELAY_MS) {
51
+ // An empty read may be a genuine legacy miss or a just-registered mapping
52
+ // that has not finalized/indexed yet, so retry the bounded budget before
53
+ // giving up. After exhaustion retryAsync rethrows TokenRegistryEntryNotFound-
54
+ // Error, which resolveTokenMetadata catches to fall back; transient RPC/
55
+ // transport errors surface as plain (recoverable) errors and are retried too.
56
+ const mappingValue = await retryAsync(async () => {
57
+ const value = await aleoClient.getProgramMappingValue('token_registry.aleo', 'registered_tokens', tokenId);
58
+ if (isNullish(value) || value === '') {
59
+ throw new TokenRegistryEntryNotFoundError(tokenId);
60
+ }
61
+ return value;
62
+ }, retryAttempts, retryDelayMs);
63
+ const tokenMetadata = Plaintext.fromString(mappingValue).toObject();
64
+ return {
65
+ name: U128ToString(tokenMetadata['name']),
66
+ symbol: U128ToString(tokenMetadata['symbol']),
67
+ decimals: tokenMetadata['decimals'],
68
+ };
69
+ }
70
+ /**
71
+ * Convert numeric token type to AleoTokenType enum
72
+ */
73
+ function toAleoTokenType(value) {
74
+ switch (value) {
75
+ case AleoTokenType.NATIVE:
76
+ return AleoTokenType.NATIVE;
77
+ case AleoTokenType.SYNTHETIC:
78
+ return AleoTokenType.SYNTHETIC;
79
+ case AleoTokenType.COLLATERAL:
80
+ return AleoTokenType.COLLATERAL;
81
+ default:
82
+ throw new Error(`Expected valid token type for aleo contract but got ${value}`);
83
+ }
84
+ }
85
+ /**
86
+ * Detect the type of an Aleo warp token
87
+ */
88
+ export async function getAleoWarpTokenType(aleoClient, tokenAddress) {
89
+ const { programId } = fromAleoAddress(tokenAddress);
90
+ // Wrap the read + assert together so a mapping that hasn't finalized/indexed
91
+ // yet (e.g. immediately after deployment) is retried, not treated as absent.
92
+ const metadataValue = await retryAsync(async () => {
93
+ const value = await aleoClient.getProgramMappingValue(programId, 'app_metadata', 'true');
94
+ assert(value, `Expected app_metadata mapping to exist for token ${tokenAddress} but none found`);
95
+ return value;
96
+ }, RETRY_ATTEMPTS, RETRY_DELAY_MS);
97
+ const metadata = Plaintext.fromString(metadataValue).toObject();
98
+ const tokenTypeValue = metadata['token_type'];
99
+ assert(typeof tokenTypeValue === 'number', `Expected token_type field to be a number in app_metadata for token ${tokenAddress} but got ${typeof tokenTypeValue}`);
100
+ return toAleoTokenType(tokenTypeValue);
101
+ }
102
+ /**
103
+ * Query remote router configurations for a warp token
104
+ */
105
+ export async function getRemoteRouters(aleoClient, tokenAddress) {
106
+ return providerQuery.getRemoteRouters({ Plaintext }, aleoClient, tokenAddress);
107
+ }
108
+ async function getWarpTokenMetadata(aleoClient, tokenAddress) {
109
+ const { programId } = fromAleoAddress(tokenAddress);
110
+ // Wrap the read + assert together so a mapping that hasn't finalized/indexed
111
+ // yet (e.g. immediately after deployment) is retried, not treated as absent.
112
+ const metadataValue = await retryAsync(async () => {
113
+ const value = await aleoClient.getProgramMappingValue(programId, 'app_metadata', 'true');
114
+ assert(value, `Expected app_metadata mapping to exist for token ${tokenAddress} but none found`);
115
+ return value;
116
+ }, RETRY_ATTEMPTS, RETRY_DELAY_MS);
117
+ const metadata = Plaintext.fromString(metadataValue).toObject();
118
+ const tokenType = metadata['token_type'];
119
+ const tokenOwner = metadata['token_owner'];
120
+ const ism = metadata['ism'];
121
+ const hook = metadata['hook'];
122
+ const tokenId = metadata['token_id'];
123
+ const localDecimals = metadata['local_decimals'];
124
+ const remoteDecimals = metadata['remote_decimals'];
125
+ const scale = metadata['scale'];
126
+ assert(typeof tokenType === 'number', `Expected token_type field to be a number in app_metadata for token ${tokenAddress} but got ${typeof tokenType}`);
127
+ assert(typeof tokenOwner === 'string', `Expected token_owner field to be a string in app_metadata for token ${tokenAddress} but got ${typeof tokenOwner}`);
128
+ assert(typeof ism === 'string', `Expected ism field to be a string in app_metadata for token ${tokenAddress} but got ${typeof ism}`);
129
+ assert(typeof hook === 'string', `Expected hook field to be a string in app_metadata for token ${tokenAddress} but got ${typeof hook}`);
130
+ assert(isNullish(tokenId) || typeof tokenId === 'string', `Expected token_id field to be a string in app_metadata for token ${tokenAddress} but got ${typeof tokenId}`);
131
+ assert(isNullish(localDecimals) || typeof localDecimals === 'number', `Expected local_decimals field to be a number in app_metadata for token ${tokenAddress} but got ${typeof localDecimals}`);
132
+ assert(isNullish(remoteDecimals) || typeof remoteDecimals === 'number', `Expected remote_decimals field to be a number in app_metadata for token ${tokenAddress} but got ${typeof remoteDecimals}`);
133
+ assert(isNullish(scale) || typeof scale === 'number', `Expected scale field to be a number in app_metadata for token ${tokenAddress} but got ${typeof scale}`);
134
+ return {
135
+ token_type: tokenType,
136
+ token_owner: tokenOwner,
137
+ ism,
138
+ hook,
139
+ token_id: tokenId,
140
+ local_decimals: localDecimals,
141
+ remote_decimals: remoteDecimals,
142
+ scale,
143
+ };
144
+ }
145
+ /**
146
+ * Get mailbox address for a warp token
147
+ */
148
+ async function getMailboxAddress(aleoClient, tokenAddress) {
149
+ const { programId } = fromAleoAddress(tokenAddress);
150
+ const imports = await aleoClient.getProgramImportNames(programId);
151
+ const mailboxProgramId = imports.find((i) => i.includes('mailbox'));
152
+ const ismManagerProgramId = imports.find((i) => i.includes('ism_manager'));
153
+ const hookManagerProgramId = imports.find((i) => i.includes('hook_manager'));
154
+ assert(mailboxProgramId, `Expected mailbox program in imports for token ${tokenAddress} but none found`);
155
+ return {
156
+ mailboxAddress: toAleoAddress(mailboxProgramId),
157
+ ismManagerProgramId,
158
+ hookManagerProgramId,
159
+ };
160
+ }
161
+ /**
162
+ * Parse ISM address from metadata
163
+ */
164
+ function formatIsmAddress(ismAddress, ismManager) {
165
+ if (isZeroishAddress(ismAddress)) {
166
+ return undefined;
167
+ }
168
+ return `${ismManager}/${ismAddress}`;
169
+ }
170
+ /**
171
+ * Parse Hook address from metadata
172
+ */
173
+ function formatHookAddress(hookAddress, hookManager) {
174
+ if (isZeroishAddress(hookAddress)) {
175
+ return undefined;
176
+ }
177
+ return `${hookManager}/${hookAddress}`;
178
+ }
179
+ /**
180
+ * Query native warp token configuration
181
+ */
182
+ export async function getNativeWarpTokenConfig(aleoClient, tokenAddress, fallbackIsmManager, fallbackHookManager) {
183
+ // Query metadata
184
+ const metadata = await getWarpTokenMetadata(aleoClient, tokenAddress);
185
+ // Verify token type
186
+ const tokenTypeValue = metadata.token_type;
187
+ const tokenType = toAleoTokenType(tokenTypeValue);
188
+ assert(tokenType === AleoTokenType.NATIVE, `Expected native token (type ${AleoTokenType.NATIVE}) at ${tokenAddress} but got type ${tokenType}`);
189
+ // Get mailbox
190
+ const { mailboxAddress, ismManagerProgramId, hookManagerProgramId } = await getMailboxAddress(aleoClient, tokenAddress);
191
+ // Parse ISM
192
+ const ism = formatIsmAddress(metadata.ism, ismManagerProgramId || fallbackIsmManager);
193
+ const hook = formatHookAddress(metadata.hook, hookManagerProgramId || fallbackHookManager);
194
+ // Get remote routers
195
+ const remoteRouters = await getRemoteRouters(aleoClient, tokenAddress);
196
+ const scale = nativeScaleExponentToMultiplier(metadata.scale);
197
+ return {
198
+ type: AleoTokenType.NATIVE,
199
+ owner: metadata.token_owner,
200
+ mailbox: mailboxAddress,
201
+ ism,
202
+ hook,
203
+ remoteRouters,
204
+ scale,
205
+ };
206
+ }
207
+ /**
208
+ * Resolve token name/symbol/decimals for a warp token — ARC-20 for v2, token_registry for v1.
209
+ *
210
+ * name/symbol/decimals live in the ARC-20 token program (v2) or token_registry.aleo (v1).
211
+ * v1 tokens that were never registered in token_registry.aleo (e.g. legacy synthetics) make
212
+ * that lookup throw after its bounded retries are exhausted, but decimals are also carried
213
+ * authoritatively in app_metadata.local_decimals and name/symbol are not compared by
214
+ * check-warp-deploy, so a registry miss is non-fatal: fall back to local_decimals for decimals
215
+ * and empty strings for name/symbol.
216
+ */
217
+ export async function resolveTokenMetadata(aleoClient, programId, tokenId, localDecimals, retryAttempts = RETRY_ATTEMPTS, retryDelayMs = RETRY_DELAY_MS) {
218
+ // v2 ARC-20 tokens carry authoritative name/symbol/decimals in their token
219
+ // program; any failure reading it is a real error and must propagate.
220
+ if (isV2WarpToken(programId)) {
221
+ const arc20ProgramId = await providerQuery.getArc20ProgramId(aleoClient, programId);
222
+ return providerQuery.getArc20TokenMetadata(aleoClient, arc20ProgramId);
223
+ }
224
+ // v1 tokens read name/symbol/decimals from token_registry.aleo. Legacy
225
+ // synthetics were never registered there, so a registry miss that persists
226
+ // across the bounded retries is non-fatal (decimals are also in
227
+ // app_metadata.local_decimals; name/symbol aren't compared by
228
+ // check-warp-deploy). Any OTHER failure — RPC/transport, plaintext decode —
229
+ // is a real error and must propagate.
230
+ let registryMetadata;
231
+ try {
232
+ registryMetadata = await getTokenMetadata(aleoClient, tokenId, retryAttempts, retryDelayMs);
233
+ }
234
+ catch (error) {
235
+ if (!(error instanceof TokenRegistryEntryNotFoundError)) {
236
+ throw error;
237
+ }
238
+ logger.warn({ programId, tokenId, err: error }, 'token_registry.aleo has no entry for this v1 token; falling back to app_metadata.local_decimals for decimals and empty name/symbol');
239
+ }
240
+ const decimals = registryMetadata?.decimals ?? localDecimals;
241
+ assert(decimals != null, `Unable to resolve decimals for token ${programId} (tokenId ${tokenId}): token registry lookup failed and app_metadata.local_decimals is missing`);
242
+ return {
243
+ name: registryMetadata?.name ?? '',
244
+ symbol: registryMetadata?.symbol ?? '',
245
+ decimals,
246
+ };
247
+ }
248
+ /**
249
+ * Query collateral warp token configuration
250
+ */
251
+ export async function getCollateralWarpTokenConfig(aleoClient, tokenAddress, fallbackIsmManager, fallbackHookManager) {
252
+ const { programId } = fromAleoAddress(tokenAddress);
253
+ // Query metadata
254
+ const metadata = await getWarpTokenMetadata(aleoClient, tokenAddress);
255
+ // Verify token type
256
+ const tokenTypeValue = metadata.token_type;
257
+ const tokenType = toAleoTokenType(tokenTypeValue);
258
+ assert(tokenType === AleoTokenType.COLLATERAL, `Expected collateral token (type ${AleoTokenType.COLLATERAL}) at ${tokenAddress} but got type ${tokenType}`);
259
+ // Get mailbox
260
+ const { mailboxAddress, ismManagerProgramId, hookManagerProgramId } = await getMailboxAddress(aleoClient, tokenAddress);
261
+ // Parse ISM
262
+ const ism = formatIsmAddress(metadata.ism, ismManagerProgramId || fallbackIsmManager);
263
+ const hook = formatHookAddress(metadata.hook, hookManagerProgramId || fallbackHookManager);
264
+ // Get remote routers
265
+ const remoteRouters = await getRemoteRouters(aleoClient, tokenAddress);
266
+ // Get token ID and metadata — ARC-20 for v2, token_registry for v1
267
+ const tokenId = metadata.token_id;
268
+ assert(tokenId, `Expected token_id field in app_metadata for token ${tokenAddress} but none found`);
269
+ const { name, symbol, decimals } = await resolveTokenMetadata(aleoClient, programId, tokenId, metadata.local_decimals);
270
+ const scale = localRemoteDecimalsToScale(metadata.local_decimals, metadata.remote_decimals);
271
+ return {
272
+ type: AleoTokenType.COLLATERAL,
273
+ owner: metadata.token_owner,
274
+ mailbox: mailboxAddress,
275
+ ism,
276
+ hook,
277
+ remoteRouters,
278
+ token: tokenId,
279
+ name,
280
+ symbol,
281
+ decimals,
282
+ scale,
283
+ };
284
+ }
285
+ /**
286
+ * Query synthetic warp token configuration
287
+ */
288
+ export async function getSyntheticWarpTokenConfig(aleoClient, tokenAddress, fallbackIsmManager, fallbackHookManager) {
289
+ const { programId } = fromAleoAddress(tokenAddress);
290
+ // Query metadata
291
+ const metadata = await getWarpTokenMetadata(aleoClient, tokenAddress);
292
+ // Verify token type
293
+ const tokenTypeValue = metadata.token_type;
294
+ const tokenType = toAleoTokenType(tokenTypeValue);
295
+ assert(tokenType === AleoTokenType.SYNTHETIC, `Expected synthetic token (type ${AleoTokenType.SYNTHETIC}) at ${tokenAddress} but got type ${tokenType}`);
296
+ // Get mailbox
297
+ const { mailboxAddress, ismManagerProgramId, hookManagerProgramId } = await getMailboxAddress(aleoClient, tokenAddress);
298
+ // Parse ISM
299
+ const ism = formatIsmAddress(metadata.ism, ismManagerProgramId || fallbackIsmManager);
300
+ const hook = formatHookAddress(metadata.hook, hookManagerProgramId || fallbackHookManager);
301
+ // Get remote routers
302
+ const remoteRouters = await getRemoteRouters(aleoClient, tokenAddress);
303
+ // Get token metadata — ARC-20 for v2, token_registry for v1
304
+ const tokenId = metadata.token_id;
305
+ assert(tokenId, `Expected token_id field in app_metadata for token ${tokenAddress} but none found`);
306
+ const { name, symbol, decimals } = await resolveTokenMetadata(aleoClient, programId, tokenId, metadata.local_decimals);
307
+ const scale = localRemoteDecimalsToScale(metadata.local_decimals, metadata.remote_decimals);
308
+ return {
309
+ type: AleoTokenType.SYNTHETIC,
310
+ owner: metadata.token_owner,
311
+ mailbox: mailboxAddress,
312
+ ism,
313
+ hook,
314
+ remoteRouters,
315
+ name,
316
+ symbol,
317
+ decimals,
318
+ scale,
319
+ };
320
+ }
321
+ //# sourceMappingURL=warp-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-query.js","sourceRoot":"","sources":["../../src/warp/warp-query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warp-query.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-query.test.d.ts","sourceRoot":"","sources":["../../src/warp/warp-query.test.ts"],"names":[],"mappings":""}