@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,306 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { step } from 'mocha-steps';
|
|
3
|
+
import { AltVM } from '@recoillink/provider-sdk';
|
|
4
|
+
import { HookType } from '@recoillink/provider-sdk/altvm';
|
|
5
|
+
import { ArtifactState, } from '@recoillink/provider-sdk/artifact';
|
|
6
|
+
import { assert, normalizeConfig } from '@recoillink/utils';
|
|
7
|
+
import { AleoSigner } from '../clients/signer.js';
|
|
8
|
+
import { AleoHookArtifactManager } from '../hook/hook-artifact-manager.js';
|
|
9
|
+
import { AleoIsmArtifactManager } from '../ism/ism-artifact-manager.js';
|
|
10
|
+
import { AleoMailboxArtifactManager } from '../mailbox/mailbox-artifact-manager.js';
|
|
11
|
+
import { TEST_ALEO_CHAIN_METADATA } from '../testing/constants.js';
|
|
12
|
+
import { ALEO_NULL_ADDRESS } from '../utils/helper.js';
|
|
13
|
+
import { AleoNetworkId } from '../utils/types.js';
|
|
14
|
+
describe('6. aleo sdk Hook artifacts e2e tests', async function () {
|
|
15
|
+
this.timeout(100_000);
|
|
16
|
+
let signer;
|
|
17
|
+
let aleoSigner;
|
|
18
|
+
let artifactManager;
|
|
19
|
+
let mailboxAddress;
|
|
20
|
+
before(async () => {
|
|
21
|
+
// test private key with funds
|
|
22
|
+
const privateKey = 'APrivateKey1zkp8CZNn3yeCseEtxuVPbDCwSyhGW6yZKUYKfgXmcpoGPWH';
|
|
23
|
+
const domainId = 1234;
|
|
24
|
+
aleoSigner = await AleoSigner.connectWithSigner(TEST_ALEO_CHAIN_METADATA, privateKey);
|
|
25
|
+
signer = aleoSigner;
|
|
26
|
+
const aleoClient = aleoSigner.getAleoClient();
|
|
27
|
+
// Create ISM for mailbox
|
|
28
|
+
const ismArtifactManager = new AleoIsmArtifactManager(aleoClient);
|
|
29
|
+
const ismWriter = ismArtifactManager.createWriter(AltVM.IsmType.TEST_ISM, aleoSigner);
|
|
30
|
+
const [ism] = await ismWriter.create({
|
|
31
|
+
config: { type: AltVM.IsmType.TEST_ISM },
|
|
32
|
+
});
|
|
33
|
+
// Create a mailbox for hook testing using artifact manager
|
|
34
|
+
const mailboxArtifactManager = new AleoMailboxArtifactManager({ domainId, aleoNetworkId: AleoNetworkId.TESTNET }, aleoClient);
|
|
35
|
+
const mailboxWriter = mailboxArtifactManager.createWriter('mailbox', aleoSigner);
|
|
36
|
+
const [deployedMailbox] = await mailboxWriter.create({
|
|
37
|
+
config: {
|
|
38
|
+
owner: aleoSigner.getSignerAddress(),
|
|
39
|
+
defaultIsm: {
|
|
40
|
+
artifactState: ArtifactState.UNDERIVED,
|
|
41
|
+
deployed: { address: ism.deployed.address },
|
|
42
|
+
},
|
|
43
|
+
defaultHook: {
|
|
44
|
+
artifactState: ArtifactState.UNDERIVED,
|
|
45
|
+
deployed: { address: ALEO_NULL_ADDRESS },
|
|
46
|
+
},
|
|
47
|
+
requiredHook: {
|
|
48
|
+
artifactState: ArtifactState.UNDERIVED,
|
|
49
|
+
deployed: { address: ALEO_NULL_ADDRESS },
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
mailboxAddress = deployedMailbox.deployed.address;
|
|
54
|
+
artifactManager = new AleoHookArtifactManager(aleoClient, mailboxAddress);
|
|
55
|
+
});
|
|
56
|
+
describe('MerkleTree Hook', () => {
|
|
57
|
+
let merkleTreeHookAddress;
|
|
58
|
+
step('should create and read a MerkleTree Hook', async () => {
|
|
59
|
+
// Create MerkleTree Hook using artifact writer
|
|
60
|
+
const writer = artifactManager.createWriter(AltVM.HookType.MERKLE_TREE, aleoSigner);
|
|
61
|
+
const [deployedArtifact] = await writer.create({
|
|
62
|
+
artifactState: ArtifactState.NEW,
|
|
63
|
+
config: {
|
|
64
|
+
type: AltVM.HookType.MERKLE_TREE,
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
merkleTreeHookAddress = deployedArtifact.deployed.address;
|
|
68
|
+
expect(merkleTreeHookAddress).to.be.a('string').and.not.be.empty;
|
|
69
|
+
// Read using artifact manager's specific reader
|
|
70
|
+
const reader = artifactManager.createReader(AltVM.HookType.MERKLE_TREE);
|
|
71
|
+
const readHook = await reader.read(merkleTreeHookAddress);
|
|
72
|
+
expect(readHook.artifactState).to.equal(ArtifactState.DEPLOYED);
|
|
73
|
+
expect(readHook.deployed.address).to.equal(merkleTreeHookAddress);
|
|
74
|
+
expect(readHook.config.type).to.equal(AltVM.HookType.MERKLE_TREE);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
describe('IGP Hook', () => {
|
|
78
|
+
let igpHookAddress;
|
|
79
|
+
const DOMAIN_1 = 42;
|
|
80
|
+
const DOMAIN_2 = 96;
|
|
81
|
+
step('should create and read an IGP Hook', async () => {
|
|
82
|
+
// Create IGP Hook using artifact writer
|
|
83
|
+
const writer = artifactManager.createWriter(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER, aleoSigner);
|
|
84
|
+
const [deployedArtifact] = await writer.create({
|
|
85
|
+
artifactState: ArtifactState.NEW,
|
|
86
|
+
config: {
|
|
87
|
+
type: AltVM.HookType.INTERCHAIN_GAS_PAYMASTER,
|
|
88
|
+
owner: aleoSigner.getSignerAddress(),
|
|
89
|
+
beneficiary: aleoSigner.getSignerAddress(),
|
|
90
|
+
oracleKey: aleoSigner.getSignerAddress(),
|
|
91
|
+
overhead: {
|
|
92
|
+
[DOMAIN_1]: 50000,
|
|
93
|
+
[DOMAIN_2]: 75000,
|
|
94
|
+
},
|
|
95
|
+
oracleConfig: {
|
|
96
|
+
[DOMAIN_1]: {
|
|
97
|
+
tokenExchangeRate: '1000000000000000000',
|
|
98
|
+
gasPrice: '1000000000',
|
|
99
|
+
},
|
|
100
|
+
[DOMAIN_2]: {
|
|
101
|
+
tokenExchangeRate: '2000000000000000000',
|
|
102
|
+
gasPrice: '2000000000',
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
igpHookAddress = deployedArtifact.deployed.address;
|
|
108
|
+
expect(igpHookAddress).to.be.a('string').and.not.be.empty;
|
|
109
|
+
// Read using artifact manager's specific reader
|
|
110
|
+
const reader = artifactManager.createReader(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER);
|
|
111
|
+
const readHook = await reader.read(igpHookAddress);
|
|
112
|
+
expect(readHook.artifactState).to.equal(ArtifactState.DEPLOYED);
|
|
113
|
+
expect(readHook.deployed.address).to.equal(igpHookAddress);
|
|
114
|
+
expect(readHook.config.type).to.equal(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER);
|
|
115
|
+
expect(readHook.config.owner).to.equal(aleoSigner.getSignerAddress());
|
|
116
|
+
// Verify gas configs
|
|
117
|
+
const expectedConfig = {
|
|
118
|
+
type: AltVM.HookType.INTERCHAIN_GAS_PAYMASTER,
|
|
119
|
+
owner: aleoSigner.getSignerAddress(),
|
|
120
|
+
beneficiary: aleoSigner.getSignerAddress(),
|
|
121
|
+
oracleKey: aleoSigner.getSignerAddress(),
|
|
122
|
+
overhead: {
|
|
123
|
+
[DOMAIN_1]: 50000,
|
|
124
|
+
[DOMAIN_2]: 75000,
|
|
125
|
+
},
|
|
126
|
+
oracleConfig: {
|
|
127
|
+
[DOMAIN_1]: {
|
|
128
|
+
tokenExchangeRate: '1000000000000000000',
|
|
129
|
+
gasPrice: '1000000000',
|
|
130
|
+
},
|
|
131
|
+
[DOMAIN_2]: {
|
|
132
|
+
tokenExchangeRate: '2000000000000000000',
|
|
133
|
+
gasPrice: '2000000000',
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
expect(normalizeConfig(readHook.config)).to.deep.equal(normalizeConfig(expectedConfig));
|
|
138
|
+
});
|
|
139
|
+
step('should verify IGP Hook gas config updates', async () => {
|
|
140
|
+
// Update one of the gas configs using artifact writer
|
|
141
|
+
const writer = artifactManager.createWriter(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER, aleoSigner);
|
|
142
|
+
// Read current config
|
|
143
|
+
const reader = artifactManager.createReader(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER);
|
|
144
|
+
const currentHook = await reader.read(igpHookAddress);
|
|
145
|
+
// Update DOMAIN_1 config
|
|
146
|
+
const updatedArtifact = {
|
|
147
|
+
artifactState: ArtifactState.DEPLOYED,
|
|
148
|
+
config: {
|
|
149
|
+
...currentHook.config,
|
|
150
|
+
overhead: {
|
|
151
|
+
...currentHook.config.overhead,
|
|
152
|
+
[DOMAIN_1]: 60000, // increased overhead
|
|
153
|
+
},
|
|
154
|
+
oracleConfig: {
|
|
155
|
+
...currentHook.config.oracleConfig,
|
|
156
|
+
[DOMAIN_1]: {
|
|
157
|
+
tokenExchangeRate: '1500000000000000000', // updated exchange rate
|
|
158
|
+
gasPrice: '1500000000', // updated gas price
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
deployed: currentHook.deployed,
|
|
163
|
+
};
|
|
164
|
+
// Execute update transactions
|
|
165
|
+
const transactions = await writer.update(updatedArtifact);
|
|
166
|
+
for (const tx of transactions) {
|
|
167
|
+
await signer.sendAndConfirmTransaction(tx);
|
|
168
|
+
}
|
|
169
|
+
// Read and verify update
|
|
170
|
+
const readHook = await reader.read(igpHookAddress);
|
|
171
|
+
const domain1Oracle = readHook.config.oracleConfig[DOMAIN_1];
|
|
172
|
+
const domain2Oracle = readHook.config.oracleConfig[DOMAIN_2];
|
|
173
|
+
assert(domain1Oracle, `Missing oracle config for ${DOMAIN_1}`);
|
|
174
|
+
assert(domain2Oracle, `Missing oracle config for ${DOMAIN_2}`);
|
|
175
|
+
expect(readHook.config.overhead[DOMAIN_1]).to.equal(60000);
|
|
176
|
+
expect(domain1Oracle.tokenExchangeRate).to.equal('1500000000000000000');
|
|
177
|
+
expect(domain1Oracle.gasPrice).to.equal('1500000000');
|
|
178
|
+
// Verify DOMAIN_2 config unchanged
|
|
179
|
+
expect(readHook.config.overhead[DOMAIN_2]).to.equal(75000);
|
|
180
|
+
expect(domain2Oracle.tokenExchangeRate).to.equal('2000000000000000000');
|
|
181
|
+
});
|
|
182
|
+
step('should verify IGP Hook gas config removal', async () => {
|
|
183
|
+
// Remove DOMAIN_2 config using artifact writer
|
|
184
|
+
const writer = artifactManager.createWriter(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER, aleoSigner);
|
|
185
|
+
// Read current config
|
|
186
|
+
const reader = artifactManager.createReader(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER);
|
|
187
|
+
const currentHook = await reader.read(igpHookAddress);
|
|
188
|
+
const domain1Overhead = currentHook.config.overhead[DOMAIN_1];
|
|
189
|
+
const domain1Oracle = currentHook.config.oracleConfig[DOMAIN_1];
|
|
190
|
+
assert(domain1Overhead !== undefined, `Missing overhead for ${DOMAIN_1}`);
|
|
191
|
+
assert(domain1Oracle, `Missing oracle config for ${DOMAIN_1}`);
|
|
192
|
+
// Create updated artifact without DOMAIN_2
|
|
193
|
+
const updatedArtifact = {
|
|
194
|
+
artifactState: ArtifactState.DEPLOYED,
|
|
195
|
+
config: {
|
|
196
|
+
...currentHook.config,
|
|
197
|
+
overhead: {
|
|
198
|
+
[DOMAIN_1]: domain1Overhead,
|
|
199
|
+
// DOMAIN_2 omitted to remove it
|
|
200
|
+
},
|
|
201
|
+
oracleConfig: {
|
|
202
|
+
[DOMAIN_1]: domain1Oracle,
|
|
203
|
+
// DOMAIN_2 omitted to remove it
|
|
204
|
+
},
|
|
205
|
+
},
|
|
206
|
+
deployed: currentHook.deployed,
|
|
207
|
+
};
|
|
208
|
+
// Execute update transactions
|
|
209
|
+
const transactions = await writer.update(updatedArtifact);
|
|
210
|
+
for (const tx of transactions) {
|
|
211
|
+
await signer.sendAndConfirmTransaction(tx);
|
|
212
|
+
}
|
|
213
|
+
// Read and verify removal
|
|
214
|
+
const readHook = await reader.read(igpHookAddress);
|
|
215
|
+
// DOMAIN_1 should still exist
|
|
216
|
+
expect(readHook.config.overhead[DOMAIN_1]).to.not.be.undefined;
|
|
217
|
+
expect(readHook.config.oracleConfig[DOMAIN_1]).to.not.be.undefined;
|
|
218
|
+
// DOMAIN_2 should be removed
|
|
219
|
+
expect(readHook.config.overhead[DOMAIN_2]).to.be.undefined;
|
|
220
|
+
expect(readHook.config.oracleConfig[DOMAIN_2]).to.be.undefined;
|
|
221
|
+
});
|
|
222
|
+
step('should transfer ownership when owner differs from deployer', async () => {
|
|
223
|
+
// Use a different address for the new owner (not the deployer's address)
|
|
224
|
+
// This is a valid Aleo address but different from the test account
|
|
225
|
+
const newOwnerAddress = 'aleo1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq3ljyzc';
|
|
226
|
+
// Create IGP hook using the artifact writer with a different owner
|
|
227
|
+
const writer = artifactManager.createWriter(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER, aleoSigner);
|
|
228
|
+
const [deployedArtifact] = await writer.create({
|
|
229
|
+
artifactState: ArtifactState.NEW,
|
|
230
|
+
config: {
|
|
231
|
+
type: AltVM.HookType.INTERCHAIN_GAS_PAYMASTER,
|
|
232
|
+
owner: newOwnerAddress,
|
|
233
|
+
beneficiary: newOwnerAddress,
|
|
234
|
+
oracleKey: newOwnerAddress,
|
|
235
|
+
overhead: {},
|
|
236
|
+
oracleConfig: {},
|
|
237
|
+
},
|
|
238
|
+
});
|
|
239
|
+
expect(deployedArtifact.deployed.address).to.be.a('string').and.not.be
|
|
240
|
+
.empty;
|
|
241
|
+
// Read and verify owner was transferred
|
|
242
|
+
const reader = artifactManager.createReader(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER);
|
|
243
|
+
const readHook = await reader.read(deployedArtifact.deployed.address);
|
|
244
|
+
expect(readHook.config.owner).to.equal(newOwnerAddress);
|
|
245
|
+
expect(readHook.config.owner).to.not.equal(aleoSigner.getSignerAddress());
|
|
246
|
+
});
|
|
247
|
+
});
|
|
248
|
+
describe('Generic hook reading via readHook', () => {
|
|
249
|
+
const DOMAIN_1 = 42;
|
|
250
|
+
step('should detect and read MerkleTree hook', async () => {
|
|
251
|
+
// Create MerkleTree Hook
|
|
252
|
+
const writer = artifactManager.createWriter(AltVM.HookType.MERKLE_TREE, aleoSigner);
|
|
253
|
+
const [deployedHook] = await writer.create({
|
|
254
|
+
artifactState: ArtifactState.NEW,
|
|
255
|
+
config: {
|
|
256
|
+
type: AltVM.HookType.MERKLE_TREE,
|
|
257
|
+
},
|
|
258
|
+
});
|
|
259
|
+
// Read via generic readHook (without knowing the type)
|
|
260
|
+
const readHook = await artifactManager.readHook(deployedHook.deployed.address);
|
|
261
|
+
expect(readHook.artifactState).to.equal(ArtifactState.DEPLOYED);
|
|
262
|
+
expect(readHook.config.type).to.equal(AltVM.HookType.MERKLE_TREE);
|
|
263
|
+
expect(readHook.deployed.address).to.equal(deployedHook.deployed.address);
|
|
264
|
+
});
|
|
265
|
+
step('should detect and read IGP hook', async () => {
|
|
266
|
+
// Create IGP Hook
|
|
267
|
+
const writer = artifactManager.createWriter(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER, aleoSigner);
|
|
268
|
+
const [deployedHook] = await writer.create({
|
|
269
|
+
artifactState: ArtifactState.NEW,
|
|
270
|
+
config: {
|
|
271
|
+
type: AltVM.HookType.INTERCHAIN_GAS_PAYMASTER,
|
|
272
|
+
owner: aleoSigner.getSignerAddress(),
|
|
273
|
+
beneficiary: aleoSigner.getSignerAddress(),
|
|
274
|
+
oracleKey: aleoSigner.getSignerAddress(),
|
|
275
|
+
overhead: {
|
|
276
|
+
[DOMAIN_1]: 50000,
|
|
277
|
+
},
|
|
278
|
+
oracleConfig: {
|
|
279
|
+
[DOMAIN_1]: {
|
|
280
|
+
tokenExchangeRate: '1000000000000000000',
|
|
281
|
+
gasPrice: '1000000000',
|
|
282
|
+
},
|
|
283
|
+
},
|
|
284
|
+
},
|
|
285
|
+
});
|
|
286
|
+
// Read via generic readHook (without knowing the type)
|
|
287
|
+
const readHook = await artifactManager.readHook(deployedHook.deployed.address);
|
|
288
|
+
expect(readHook.artifactState).to.equal(ArtifactState.DEPLOYED);
|
|
289
|
+
expect(readHook.config.type).to.equal(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER);
|
|
290
|
+
expect(readHook.deployed.address).to.equal(deployedHook.deployed.address);
|
|
291
|
+
// Verify IGP-specific config details
|
|
292
|
+
// After checking the type, we can safely cast to IgpHookConfig
|
|
293
|
+
const igpConfig = readHook.config;
|
|
294
|
+
assert(igpConfig.type === HookType.INTERCHAIN_GAS_PAYMASTER, `Expected config to be of type ${HookType.INTERCHAIN_GAS_PAYMASTER}`);
|
|
295
|
+
expect(igpConfig.owner).to.equal(aleoSigner.getSignerAddress());
|
|
296
|
+
expect(igpConfig.beneficiary).to.equal(aleoSigner.getSignerAddress());
|
|
297
|
+
expect(igpConfig.oracleKey).to.equal(aleoSigner.getSignerAddress());
|
|
298
|
+
expect(igpConfig.overhead[DOMAIN_1]).to.equal(50000);
|
|
299
|
+
const oracleConfig = igpConfig.oracleConfig[DOMAIN_1];
|
|
300
|
+
assert(oracleConfig, `Missing oracle config for ${DOMAIN_1}`);
|
|
301
|
+
expect(oracleConfig.gasPrice).to.equal('1000000000');
|
|
302
|
+
expect(oracleConfig.tokenExchangeRate).to.equal('1000000000000000000');
|
|
303
|
+
});
|
|
304
|
+
});
|
|
305
|
+
});
|
|
306
|
+
//# sourceMappingURL=6_hook_artifacts.e2e-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"6_hook_artifacts.e2e-test.js","sourceRoot":"","sources":["../../src/tests/6_hook_artifacts.e2e-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"7a_warp_native_artifacts.e2e-test.d.ts","sourceRoot":"","sources":["../../src/tests/7a_warp_native_artifacts.e2e-test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import chai from 'chai';
|
|
2
|
+
import chaiAsPromised from 'chai-as-promised';
|
|
3
|
+
import { AltVM } from '@recoillink/provider-sdk';
|
|
4
|
+
import { ArtifactState } from '@recoillink/provider-sdk/artifact';
|
|
5
|
+
import { isNullish } from '@recoillink/utils';
|
|
6
|
+
import { AleoSigner } from '../clients/signer.js';
|
|
7
|
+
import { AleoHookArtifactManager } from '../hook/hook-artifact-manager.js';
|
|
8
|
+
import { AleoIsmArtifactManager } from '../ism/ism-artifact-manager.js';
|
|
9
|
+
import { AleoMailboxArtifactManager } from '../mailbox/mailbox-artifact-manager.js';
|
|
10
|
+
import { TEST_ALEO_CHAIN_METADATA, TEST_ALEO_PRIVATE_KEY, } from '../testing/constants.js';
|
|
11
|
+
import { ALEO_NULL_ADDRESS, fromAleoAddress, getProgramSuffix, } from '../utils/helper.js';
|
|
12
|
+
import { AleoNetworkId } from '../utils/types.js';
|
|
13
|
+
import { AleoWarpArtifactManager } from '../warp/warp-artifact-manager.js';
|
|
14
|
+
import { warpArtifactTestSuite } from './warp-artifact-test-suite.js';
|
|
15
|
+
chai.use(chaiAsPromised);
|
|
16
|
+
describe('7a. Aleo Warp Native Token Artifact API (e2e)', function () {
|
|
17
|
+
this.timeout(300_000);
|
|
18
|
+
let aleoSigner;
|
|
19
|
+
let artifactManager;
|
|
20
|
+
let ismArtifactManager;
|
|
21
|
+
let hookArtifactManager;
|
|
22
|
+
let mailboxAddress;
|
|
23
|
+
let savedWarpSuffix;
|
|
24
|
+
let preDeployedNativeToken;
|
|
25
|
+
before(async () => {
|
|
26
|
+
savedWarpSuffix = process.env['ALEO_WARP_SUFFIX'];
|
|
27
|
+
delete process.env['ALEO_WARP_SUFFIX'];
|
|
28
|
+
const domainId = 1234;
|
|
29
|
+
aleoSigner = await AleoSigner.connectWithSigner(TEST_ALEO_CHAIN_METADATA, TEST_ALEO_PRIVATE_KEY);
|
|
30
|
+
const aleoClient = aleoSigner.getAleoClient();
|
|
31
|
+
const ismManagerProgramId = await aleoSigner.getIsmManager();
|
|
32
|
+
// Create ISM for mailbox
|
|
33
|
+
ismArtifactManager = new AleoIsmArtifactManager(aleoClient);
|
|
34
|
+
const ismWriter = ismArtifactManager.createWriter(AltVM.IsmType.TEST_ISM, aleoSigner);
|
|
35
|
+
const [ism] = await ismWriter.create({
|
|
36
|
+
config: { type: AltVM.IsmType.TEST_ISM },
|
|
37
|
+
});
|
|
38
|
+
// Create mailbox using artifact manager
|
|
39
|
+
const mailboxArtifactManager = new AleoMailboxArtifactManager({ domainId, aleoNetworkId: AleoNetworkId.TESTNET }, aleoClient);
|
|
40
|
+
const mailboxWriter = mailboxArtifactManager.createWriter('mailbox', aleoSigner);
|
|
41
|
+
const [deployedMailbox] = await mailboxWriter.create({
|
|
42
|
+
config: {
|
|
43
|
+
owner: aleoSigner.getSignerAddress(),
|
|
44
|
+
defaultIsm: {
|
|
45
|
+
artifactState: ArtifactState.UNDERIVED,
|
|
46
|
+
deployed: { address: ism.deployed.address },
|
|
47
|
+
},
|
|
48
|
+
defaultHook: {
|
|
49
|
+
artifactState: ArtifactState.UNDERIVED,
|
|
50
|
+
deployed: { address: ALEO_NULL_ADDRESS },
|
|
51
|
+
},
|
|
52
|
+
requiredHook: {
|
|
53
|
+
artifactState: ArtifactState.UNDERIVED,
|
|
54
|
+
deployed: { address: ALEO_NULL_ADDRESS },
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
mailboxAddress = deployedMailbox.deployed.address;
|
|
59
|
+
const { programId } = fromAleoAddress(mailboxAddress);
|
|
60
|
+
const suffix = getProgramSuffix(programId);
|
|
61
|
+
const hookManagerProgramId = await aleoSigner.getHookManager(suffix);
|
|
62
|
+
hookArtifactManager = new AleoHookArtifactManager(aleoClient, mailboxAddress);
|
|
63
|
+
artifactManager = new AleoWarpArtifactManager(aleoClient, {
|
|
64
|
+
ismManagerAddress: ismManagerProgramId,
|
|
65
|
+
hookManagerAddress: hookManagerProgramId,
|
|
66
|
+
});
|
|
67
|
+
// Deploy native token once — it always uses the fixed program name
|
|
68
|
+
// test_hyp_warp_token_credits.aleo, so all tests share it.
|
|
69
|
+
const nativeWriter = artifactManager.createWriter(AltVM.TokenType.native, aleoSigner);
|
|
70
|
+
[preDeployedNativeToken] = await nativeWriter.create({
|
|
71
|
+
config: {
|
|
72
|
+
type: AltVM.TokenType.native,
|
|
73
|
+
owner: aleoSigner.getSignerAddress(),
|
|
74
|
+
mailbox: mailboxAddress,
|
|
75
|
+
remoteRouters: {},
|
|
76
|
+
destinationGas: {},
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
after(() => {
|
|
81
|
+
if (!isNullish(savedWarpSuffix)) {
|
|
82
|
+
process.env['ALEO_WARP_SUFFIX'] = savedWarpSuffix;
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
warpArtifactTestSuite(() => ({
|
|
86
|
+
aleoSigner,
|
|
87
|
+
providerSdkSigner: aleoSigner,
|
|
88
|
+
artifactManager,
|
|
89
|
+
ismArtifactManager,
|
|
90
|
+
hookArtifactManager,
|
|
91
|
+
mailboxAddress,
|
|
92
|
+
preDeployedToken: preDeployedNativeToken,
|
|
93
|
+
}), {
|
|
94
|
+
type: AltVM.TokenType.native,
|
|
95
|
+
name: 'native',
|
|
96
|
+
getConfig: () => ({
|
|
97
|
+
type: AltVM.TokenType.native,
|
|
98
|
+
owner: aleoSigner.getSignerAddress(),
|
|
99
|
+
mailbox: mailboxAddress,
|
|
100
|
+
remoteRouters: {},
|
|
101
|
+
destinationGas: {},
|
|
102
|
+
}),
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
//# sourceMappingURL=7a_warp_native_artifacts.e2e-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"7a_warp_native_artifacts.e2e-test.js","sourceRoot":"","sources":["../../src/tests/7a_warp_native_artifacts.e2e-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"7b_warp_collateral_artifacts.e2e-test.d.ts","sourceRoot":"","sources":["../../src/tests/7b_warp_collateral_artifacts.e2e-test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { Account, AleoKeyProvider, AleoNetworkClient, NetworkRecordProvider, ProgramManager, } from '@provablehq/sdk';
|
|
2
|
+
import chai from 'chai';
|
|
3
|
+
import chaiAsPromised from 'chai-as-promised';
|
|
4
|
+
import { AltVM } from '@recoillink/provider-sdk';
|
|
5
|
+
import { ArtifactState } from '@recoillink/provider-sdk/artifact';
|
|
6
|
+
import { isNullish, rootLogger } from '@recoillink/utils';
|
|
7
|
+
import { token_registry } from '../artifacts.js';
|
|
8
|
+
import { AleoSigner } from '../clients/signer.js';
|
|
9
|
+
import { AleoHookArtifactManager } from '../hook/hook-artifact-manager.js';
|
|
10
|
+
import { AleoIsmArtifactManager } from '../ism/ism-artifact-manager.js';
|
|
11
|
+
import { AleoMailboxArtifactManager } from '../mailbox/mailbox-artifact-manager.js';
|
|
12
|
+
import { TEST_ALEO_BURN_ADDRESS, TEST_ALEO_CHAIN_METADATA, TEST_ALEO_PRIVATE_KEY, } from '../testing/constants.js';
|
|
13
|
+
import { ALEO_NULL_ADDRESS, fromAleoAddress, getProgramSuffix, stringToU128, } from '../utils/helper.js';
|
|
14
|
+
import { AleoNetworkId } from '../utils/types.js';
|
|
15
|
+
import { AleoWarpArtifactManager } from '../warp/warp-artifact-manager.js';
|
|
16
|
+
import { warpArtifactTestSuite } from './warp-artifact-test-suite.js';
|
|
17
|
+
chai.use(chaiAsPromised);
|
|
18
|
+
const COLLATERAL_TOKEN_DENOM = `${Date.now()}${Math.floor(Math.random() * 1000)}field`;
|
|
19
|
+
const COLLATERAL_TOKEN_NAME = 'Test Token';
|
|
20
|
+
const COLLATERAL_TOKEN_SYMBOL = 'TEST';
|
|
21
|
+
const COLLATERAL_TOKEN_DECIMALS = 6;
|
|
22
|
+
describe('7b. Aleo Warp Collateral Token Artifact API (e2e)', function () {
|
|
23
|
+
this.timeout(300_000);
|
|
24
|
+
let aleoSigner;
|
|
25
|
+
let artifactManager;
|
|
26
|
+
let ismArtifactManager;
|
|
27
|
+
let hookArtifactManager;
|
|
28
|
+
let mailboxAddress;
|
|
29
|
+
let savedWarpSuffix;
|
|
30
|
+
before(async () => {
|
|
31
|
+
savedWarpSuffix = process.env['ALEO_WARP_SUFFIX'];
|
|
32
|
+
delete process.env['ALEO_WARP_SUFFIX'];
|
|
33
|
+
const domainId = 1234;
|
|
34
|
+
aleoSigner = await AleoSigner.connectWithSigner(TEST_ALEO_CHAIN_METADATA, TEST_ALEO_PRIVATE_KEY);
|
|
35
|
+
const aleoClient = aleoSigner.getAleoClient();
|
|
36
|
+
const ismManagerProgramId = await aleoSigner.getIsmManager();
|
|
37
|
+
// Create ISM for mailbox
|
|
38
|
+
ismArtifactManager = new AleoIsmArtifactManager(aleoClient);
|
|
39
|
+
const ismWriter = ismArtifactManager.createWriter(AltVM.IsmType.TEST_ISM, aleoSigner);
|
|
40
|
+
const [ism] = await ismWriter.create({
|
|
41
|
+
config: { type: AltVM.IsmType.TEST_ISM },
|
|
42
|
+
});
|
|
43
|
+
// Create mailbox using artifact manager
|
|
44
|
+
const mailboxArtifactManager = new AleoMailboxArtifactManager({ domainId, aleoNetworkId: AleoNetworkId.TESTNET }, aleoClient);
|
|
45
|
+
const mailboxWriter = mailboxArtifactManager.createWriter('mailbox', aleoSigner);
|
|
46
|
+
const [deployedMailbox] = await mailboxWriter.create({
|
|
47
|
+
config: {
|
|
48
|
+
owner: aleoSigner.getSignerAddress(),
|
|
49
|
+
defaultIsm: {
|
|
50
|
+
artifactState: ArtifactState.UNDERIVED,
|
|
51
|
+
deployed: { address: ism.deployed.address },
|
|
52
|
+
},
|
|
53
|
+
defaultHook: {
|
|
54
|
+
artifactState: ArtifactState.UNDERIVED,
|
|
55
|
+
deployed: { address: ALEO_NULL_ADDRESS },
|
|
56
|
+
},
|
|
57
|
+
requiredHook: {
|
|
58
|
+
artifactState: ArtifactState.UNDERIVED,
|
|
59
|
+
deployed: { address: ALEO_NULL_ADDRESS },
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
mailboxAddress = deployedMailbox.deployed.address;
|
|
64
|
+
const { programId } = fromAleoAddress(mailboxAddress);
|
|
65
|
+
const suffix = getProgramSuffix(programId);
|
|
66
|
+
const hookManagerProgramId = await aleoSigner.getHookManager(suffix);
|
|
67
|
+
hookArtifactManager = new AleoHookArtifactManager(aleoClient, mailboxAddress);
|
|
68
|
+
artifactManager = new AleoWarpArtifactManager(aleoClient, {
|
|
69
|
+
ismManagerAddress: ismManagerProgramId,
|
|
70
|
+
hookManagerAddress: hookManagerProgramId,
|
|
71
|
+
});
|
|
72
|
+
// Deploy token_registry for collateral tests
|
|
73
|
+
const aleoAccount = new Account({
|
|
74
|
+
privateKey: TEST_ALEO_PRIVATE_KEY,
|
|
75
|
+
});
|
|
76
|
+
const keyProvider = new AleoKeyProvider();
|
|
77
|
+
keyProvider.useCache(true);
|
|
78
|
+
const networkRecordProvider = new NetworkRecordProvider(aleoAccount, new AleoNetworkClient(TEST_ALEO_CHAIN_METADATA.rpcUrl));
|
|
79
|
+
const programManager = new ProgramManager(TEST_ALEO_CHAIN_METADATA.rpcUrl, keyProvider, networkRecordProvider);
|
|
80
|
+
programManager.setAccount(aleoAccount);
|
|
81
|
+
try {
|
|
82
|
+
const tx = await programManager.buildDevnodeDeploymentTransaction({
|
|
83
|
+
program: token_registry,
|
|
84
|
+
priorityFee: 0,
|
|
85
|
+
privateFee: false,
|
|
86
|
+
});
|
|
87
|
+
const txId = await programManager.networkClient.submitTransaction(tx);
|
|
88
|
+
await aleoClient.waitForTransactionConfirmation(txId);
|
|
89
|
+
}
|
|
90
|
+
catch (e) {
|
|
91
|
+
rootLogger.warn('Token registry deployment skipped:', e.message);
|
|
92
|
+
}
|
|
93
|
+
// Register test token
|
|
94
|
+
const registeredToken = await aleoClient.getProgramMappingValue('token_registry.aleo', 'registered_tokens', COLLATERAL_TOKEN_DENOM);
|
|
95
|
+
if (!registeredToken) {
|
|
96
|
+
await aleoSigner.sendAndConfirmTransaction({
|
|
97
|
+
programName: 'token_registry.aleo',
|
|
98
|
+
functionName: 'register_token',
|
|
99
|
+
priorityFee: 0,
|
|
100
|
+
privateFee: false,
|
|
101
|
+
inputs: [
|
|
102
|
+
COLLATERAL_TOKEN_DENOM,
|
|
103
|
+
`${stringToU128(COLLATERAL_TOKEN_NAME).toString()}u128`,
|
|
104
|
+
`${stringToU128(COLLATERAL_TOKEN_SYMBOL).toString()}u128`,
|
|
105
|
+
`${COLLATERAL_TOKEN_DECIMALS}u8`,
|
|
106
|
+
`100000000u128`,
|
|
107
|
+
`false`,
|
|
108
|
+
TEST_ALEO_BURN_ADDRESS,
|
|
109
|
+
],
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
after(() => {
|
|
114
|
+
if (!isNullish(savedWarpSuffix)) {
|
|
115
|
+
process.env['ALEO_WARP_SUFFIX'] = savedWarpSuffix;
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
warpArtifactTestSuite(() => ({
|
|
119
|
+
aleoSigner,
|
|
120
|
+
providerSdkSigner: aleoSigner,
|
|
121
|
+
artifactManager,
|
|
122
|
+
ismArtifactManager,
|
|
123
|
+
hookArtifactManager,
|
|
124
|
+
mailboxAddress,
|
|
125
|
+
}), {
|
|
126
|
+
type: AltVM.TokenType.collateral,
|
|
127
|
+
name: 'collateral',
|
|
128
|
+
getConfig: () => ({
|
|
129
|
+
type: AltVM.TokenType.collateral,
|
|
130
|
+
owner: aleoSigner.getSignerAddress(),
|
|
131
|
+
mailbox: mailboxAddress,
|
|
132
|
+
token: COLLATERAL_TOKEN_DENOM,
|
|
133
|
+
remoteRouters: {},
|
|
134
|
+
destinationGas: {},
|
|
135
|
+
}),
|
|
136
|
+
expectedFields: {
|
|
137
|
+
token: COLLATERAL_TOKEN_DENOM,
|
|
138
|
+
name: COLLATERAL_TOKEN_NAME,
|
|
139
|
+
symbol: COLLATERAL_TOKEN_SYMBOL,
|
|
140
|
+
decimals: COLLATERAL_TOKEN_DECIMALS,
|
|
141
|
+
},
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
//# sourceMappingURL=7b_warp_collateral_artifacts.e2e-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"7b_warp_collateral_artifacts.e2e-test.js","sourceRoot":"","sources":["../../src/tests/7b_warp_collateral_artifacts.e2e-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"7c_warp_synthetic_artifacts.e2e-test.d.ts","sourceRoot":"","sources":["../../src/tests/7c_warp_synthetic_artifacts.e2e-test.ts"],"names":[],"mappings":""}
|