@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.
- package/LICENSE.md +193 -0
- package/README.md +56 -2
- package/dist/artifacts.d.ts +14 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/artifacts.js +23 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/clients/base.d.ts +27 -0
- package/dist/clients/base.d.ts.map +1 -0
- package/dist/clients/base.js +105 -0
- package/dist/clients/base.js.map +1 -0
- package/dist/clients/protocol.d.ts +26 -0
- package/dist/clients/protocol.d.ts.map +1 -0
- package/dist/clients/protocol.js +104 -0
- package/dist/clients/protocol.js.map +1 -0
- package/dist/clients/provider.d.ts +42 -0
- package/dist/clients/provider.d.ts.map +1 -0
- package/dist/clients/provider.js +460 -0
- package/dist/clients/provider.js.map +1 -0
- package/dist/clients/provider.node.d.ts +7 -0
- package/dist/clients/provider.node.d.ts.map +1 -0
- package/dist/clients/provider.node.js +20 -0
- package/dist/clients/provider.node.js.map +1 -0
- package/dist/clients/signer.d.ts +32 -0
- package/dist/clients/signer.d.ts.map +1 -0
- package/dist/clients/signer.js +137 -0
- package/dist/clients/signer.js.map +1 -0
- package/dist/constants.d.ts +8 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +8 -0
- package/dist/constants.js.map +1 -0
- package/dist/hook/base.d.ts +19 -0
- package/dist/hook/base.d.ts.map +1 -0
- package/dist/hook/base.js +29 -0
- package/dist/hook/base.js.map +1 -0
- package/dist/hook/hook-artifact-manager.d.ts +25 -0
- package/dist/hook/hook-artifact-manager.d.ts.map +1 -0
- package/dist/hook/hook-artifact-manager.js +62 -0
- package/dist/hook/hook-artifact-manager.js.map +1 -0
- package/dist/hook/hook-query.d.ts +44 -0
- package/dist/hook/hook-query.d.ts.map +1 -0
- package/dist/hook/hook-query.js +103 -0
- package/dist/hook/hook-query.js.map +1 -0
- package/dist/hook/hook-tx.d.ts +46 -0
- package/dist/hook/hook-tx.d.ts.map +1 -0
- package/dist/hook/hook-tx.js +89 -0
- package/dist/hook/hook-tx.js.map +1 -0
- package/dist/hook/igp-hook.d.ts +21 -0
- package/dist/hook/igp-hook.d.ts.map +1 -0
- package/dist/hook/igp-hook.js +145 -0
- package/dist/hook/igp-hook.js.map +1 -0
- package/dist/hook/merkle-tree-hook.d.ts +21 -0
- package/dist/hook/merkle-tree-hook.d.ts.map +1 -0
- package/dist/hook/merkle-tree-hook.js +58 -0
- package/dist/hook/merkle-tree-hook.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/ism/base.d.ts +15 -0
- package/dist/ism/base.d.ts.map +1 -0
- package/dist/ism/base.js +25 -0
- package/dist/ism/base.js.map +1 -0
- package/dist/ism/ism-artifact-manager.d.ts +12 -0
- package/dist/ism/ism-artifact-manager.d.ts.map +1 -0
- package/dist/ism/ism-artifact-manager.js +62 -0
- package/dist/ism/ism-artifact-manager.js.map +1 -0
- package/dist/ism/ism-query.d.ts +51 -0
- package/dist/ism/ism-query.d.ts.map +1 -0
- package/dist/ism/ism-query.js +155 -0
- package/dist/ism/ism-query.js.map +1 -0
- package/dist/ism/ism-tx.d.ts +14 -0
- package/dist/ism/ism-tx.d.ts.map +1 -0
- package/dist/ism/ism-tx.js +77 -0
- package/dist/ism/ism-tx.js.map +1 -0
- package/dist/ism/multisig-ism.d.ts +20 -0
- package/dist/ism/multisig-ism.d.ts.map +1 -0
- package/dist/ism/multisig-ism.js +56 -0
- package/dist/ism/multisig-ism.js.map +1 -0
- package/dist/ism/routing-ism.d.ts +20 -0
- package/dist/ism/routing-ism.d.ts.map +1 -0
- package/dist/ism/routing-ism.js +108 -0
- package/dist/ism/routing-ism.js.map +1 -0
- package/dist/ism/test-ism.d.ts +20 -0
- package/dist/ism/test-ism.d.ts.map +1 -0
- package/dist/ism/test-ism.js +50 -0
- package/dist/ism/test-ism.js.map +1 -0
- package/dist/mailbox/mailbox-artifact-manager.d.ts +21 -0
- package/dist/mailbox/mailbox-artifact-manager.d.ts.map +1 -0
- package/dist/mailbox/mailbox-artifact-manager.js +36 -0
- package/dist/mailbox/mailbox-artifact-manager.js.map +1 -0
- package/dist/mailbox/mailbox-query.d.ts +12 -0
- package/dist/mailbox/mailbox-query.d.ts.map +1 -0
- package/dist/mailbox/mailbox-query.js +33 -0
- package/dist/mailbox/mailbox-query.js.map +1 -0
- package/dist/mailbox/mailbox-tx.d.ts +42 -0
- package/dist/mailbox/mailbox-tx.d.ts.map +1 -0
- package/dist/mailbox/mailbox-tx.js +94 -0
- package/dist/mailbox/mailbox-tx.js.map +1 -0
- package/dist/mailbox/mailbox.d.ts +29 -0
- package/dist/mailbox/mailbox.d.ts.map +1 -0
- package/dist/mailbox/mailbox.js +165 -0
- package/dist/mailbox/mailbox.js.map +1 -0
- package/dist/programs.d.ts +3 -0
- package/dist/programs.d.ts.map +1 -0
- package/dist/programs.js +14 -0
- package/dist/programs.js.map +1 -0
- package/dist/runtime/mainnet.d.ts +3 -0
- package/dist/runtime/mainnet.d.ts.map +1 -0
- package/dist/runtime/mainnet.js +5 -0
- package/dist/runtime/mainnet.js.map +1 -0
- package/dist/runtime/provider.d.ts +10 -0
- package/dist/runtime/provider.d.ts.map +1 -0
- package/dist/runtime/provider.js +18 -0
- package/dist/runtime/provider.js.map +1 -0
- package/dist/runtime/provider.test.d.ts +2 -0
- package/dist/runtime/provider.test.d.ts.map +1 -0
- package/dist/runtime/provider.test.js +45 -0
- package/dist/runtime/provider.test.js.map +1 -0
- package/dist/runtime/testnet.d.ts +3 -0
- package/dist/runtime/testnet.d.ts.map +1 -0
- package/dist/runtime/testnet.js +8 -0
- package/dist/runtime/testnet.js.map +1 -0
- package/dist/runtime.d.ts +5 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +4 -0
- package/dist/runtime.js.map +1 -0
- package/dist/testing/constants.d.ts +58 -0
- package/dist/testing/constants.d.ts.map +1 -0
- package/dist/testing/constants.js +60 -0
- package/dist/testing/constants.js.map +1 -0
- package/dist/testing/index.d.ts +4 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +7 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/node.d.ts +10 -0
- package/dist/testing/node.d.ts.map +1 -0
- package/dist/testing/node.js +39 -0
- package/dist/testing/node.js.map +1 -0
- package/dist/testing/utils.d.ts +19 -0
- package/dist/testing/utils.d.ts.map +1 -0
- package/dist/testing/utils.js +23 -0
- package/dist/testing/utils.js.map +1 -0
- package/dist/tests/5_ism_artifacts.e2e-test.d.ts +2 -0
- package/dist/tests/5_ism_artifacts.e2e-test.d.ts.map +1 -0
- package/dist/tests/5_ism_artifacts.e2e-test.js +415 -0
- package/dist/tests/5_ism_artifacts.e2e-test.js.map +1 -0
- package/dist/tests/6_hook_artifacts.e2e-test.d.ts +2 -0
- package/dist/tests/6_hook_artifacts.e2e-test.d.ts.map +1 -0
- package/dist/tests/6_hook_artifacts.e2e-test.js +306 -0
- package/dist/tests/6_hook_artifacts.e2e-test.js.map +1 -0
- package/dist/tests/7a_warp_native_artifacts.e2e-test.d.ts +2 -0
- package/dist/tests/7a_warp_native_artifacts.e2e-test.d.ts.map +1 -0
- package/dist/tests/7a_warp_native_artifacts.e2e-test.js +105 -0
- package/dist/tests/7a_warp_native_artifacts.e2e-test.js.map +1 -0
- package/dist/tests/7b_warp_collateral_artifacts.e2e-test.d.ts +2 -0
- package/dist/tests/7b_warp_collateral_artifacts.e2e-test.d.ts.map +1 -0
- package/dist/tests/7b_warp_collateral_artifacts.e2e-test.js +144 -0
- package/dist/tests/7b_warp_collateral_artifacts.e2e-test.js.map +1 -0
- package/dist/tests/7c_warp_synthetic_artifacts.e2e-test.d.ts +2 -0
- package/dist/tests/7c_warp_synthetic_artifacts.e2e-test.d.ts.map +1 -0
- package/dist/tests/7c_warp_synthetic_artifacts.e2e-test.js +99 -0
- package/dist/tests/7c_warp_synthetic_artifacts.e2e-test.js.map +1 -0
- package/dist/tests/8_mailbox_artifacts.e2e-test.d.ts +2 -0
- package/dist/tests/8_mailbox_artifacts.e2e-test.d.ts.map +1 -0
- package/dist/tests/8_mailbox_artifacts.e2e-test.js +395 -0
- package/dist/tests/8_mailbox_artifacts.e2e-test.js.map +1 -0
- package/dist/tests/9_validator_announce_artifacts.e2e-test.d.ts +2 -0
- package/dist/tests/9_validator_announce_artifacts.e2e-test.d.ts.map +1 -0
- package/dist/tests/9_validator_announce_artifacts.e2e-test.js +138 -0
- package/dist/tests/9_validator_announce_artifacts.e2e-test.js.map +1 -0
- package/dist/tests/e2e-test.setup.d.ts +2 -0
- package/dist/tests/e2e-test.setup.d.ts.map +1 -0
- package/dist/tests/e2e-test.setup.js +33 -0
- package/dist/tests/e2e-test.setup.js.map +1 -0
- package/dist/tests/warp-artifact-test-suite.d.ts +34 -0
- package/dist/tests/warp-artifact-test-suite.d.ts.map +1 -0
- package/dist/tests/warp-artifact-test-suite.js +672 -0
- package/dist/tests/warp-artifact-test-suite.js.map +1 -0
- package/dist/utils/base-query.d.ts +50 -0
- package/dist/utils/base-query.d.ts.map +1 -0
- package/dist/utils/base-query.js +72 -0
- package/dist/utils/base-query.js.map +1 -0
- package/dist/utils/helper.crypto.d.ts +4 -0
- package/dist/utils/helper.crypto.d.ts.map +1 -0
- package/dist/utils/helper.crypto.js +12 -0
- package/dist/utils/helper.crypto.js.map +1 -0
- package/dist/utils/helper.d.ts +63 -0
- package/dist/utils/helper.d.ts.map +1 -0
- package/dist/utils/helper.js +291 -0
- package/dist/utils/helper.js.map +1 -0
- package/dist/utils/helper.node.d.ts +9 -0
- package/dist/utils/helper.node.d.ts.map +1 -0
- package/dist/utils/helper.node.js +159 -0
- package/dist/utils/helper.node.js.map +1 -0
- package/dist/utils/helper.test.d.ts +2 -0
- package/dist/utils/helper.test.d.ts.map +1 -0
- package/dist/utils/helper.test.js +22 -0
- package/dist/utils/helper.test.js.map +1 -0
- package/dist/utils/provable.d.ts +4 -0
- package/dist/utils/provable.d.ts.map +1 -0
- package/dist/utils/provable.js +2 -0
- package/dist/utils/provable.js.map +1 -0
- package/dist/utils/types.d.ts +104 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +64 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/validator-announce/validator-announce-artifact-manager.d.ts +21 -0
- package/dist/validator-announce/validator-announce-artifact-manager.d.ts.map +1 -0
- package/dist/validator-announce/validator-announce-artifact-manager.js +27 -0
- package/dist/validator-announce/validator-announce-artifact-manager.js.map +1 -0
- package/dist/validator-announce/validator-announce-query.d.ts +15 -0
- package/dist/validator-announce/validator-announce-query.d.ts.map +1 -0
- package/dist/validator-announce/validator-announce-query.js +32 -0
- package/dist/validator-announce/validator-announce-query.js.map +1 -0
- package/dist/validator-announce/validator-announce-tx.d.ts +11 -0
- package/dist/validator-announce/validator-announce-tx.d.ts.map +1 -0
- package/dist/validator-announce/validator-announce-tx.js +20 -0
- package/dist/validator-announce/validator-announce-tx.js.map +1 -0
- package/dist/validator-announce/validator-announce.d.ts +29 -0
- package/dist/validator-announce/validator-announce.d.ts.map +1 -0
- package/dist/validator-announce/validator-announce.js +71 -0
- package/dist/validator-announce/validator-announce.js.map +1 -0
- package/dist/warp/collateral-token.d.ts +21 -0
- package/dist/warp/collateral-token.d.ts.map +1 -0
- package/dist/warp/collateral-token.js +108 -0
- package/dist/warp/collateral-token.js.map +1 -0
- package/dist/warp/native-token.d.ts +21 -0
- package/dist/warp/native-token.d.ts.map +1 -0
- package/dist/warp/native-token.js +114 -0
- package/dist/warp/native-token.js.map +1 -0
- package/dist/warp/provider-query.d.ts +22 -0
- package/dist/warp/provider-query.d.ts.map +1 -0
- package/dist/warp/provider-query.js +89 -0
- package/dist/warp/provider-query.js.map +1 -0
- package/dist/warp/synthetic-token.d.ts +21 -0
- package/dist/warp/synthetic-token.d.ts.map +1 -0
- package/dist/warp/synthetic-token.js +108 -0
- package/dist/warp/synthetic-token.js.map +1 -0
- package/dist/warp/warp-artifact-manager.d.ts +15 -0
- package/dist/warp/warp-artifact-manager.d.ts.map +1 -0
- package/dist/warp/warp-artifact-manager.js +48 -0
- package/dist/warp/warp-artifact-manager.js.map +1 -0
- package/dist/warp/warp-query.d.ts +76 -0
- package/dist/warp/warp-query.d.ts.map +1 -0
- package/dist/warp/warp-query.js +321 -0
- package/dist/warp/warp-query.js.map +1 -0
- package/dist/warp/warp-query.test.d.ts +2 -0
- package/dist/warp/warp-query.test.d.ts.map +1 -0
- package/dist/warp/warp-query.test.js +270 -0
- package/dist/warp/warp-query.test.js.map +1 -0
- package/dist/warp/warp-tx.d.ts +58 -0
- package/dist/warp/warp-tx.d.ts.map +1 -0
- package/dist/warp/warp-tx.js +229 -0
- package/dist/warp/warp-tx.js.map +1 -0
- package/dist/warp/warp-tx.test.d.ts +2 -0
- package/dist/warp/warp-tx.test.d.ts.map +1 -0
- package/dist/warp/warp-tx.test.js +44 -0
- package/dist/warp/warp-tx.test.js.map +1 -0
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"warp-query.test.d.ts","sourceRoot":"","sources":["../../src/warp/warp-query.test.ts"],"names":[],"mappings":""}
|