@humanode-hyperlane/radix-sdk 0.0.0-stage → 30.0.0-humanode.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 (200) hide show
  1. package/LICENSE.md +193 -0
  2. package/README.md +42 -2
  3. package/dist/clients/protocol.d.ts +29 -0
  4. package/dist/clients/protocol.d.ts.map +1 -0
  5. package/dist/clients/protocol.js +95 -0
  6. package/dist/clients/protocol.js.map +1 -0
  7. package/dist/clients/provider.d.ts +100 -0
  8. package/dist/clients/provider.d.ts.map +1 -0
  9. package/dist/clients/provider.js +481 -0
  10. package/dist/clients/provider.js.map +1 -0
  11. package/dist/clients/signer.d.ts +66 -0
  12. package/dist/clients/signer.d.ts.map +1 -0
  13. package/dist/clients/signer.js +368 -0
  14. package/dist/clients/signer.js.map +1 -0
  15. package/dist/hook/hook-artifact-manager.d.ts +17 -0
  16. package/dist/hook/hook-artifact-manager.d.ts.map +1 -0
  17. package/dist/hook/hook-artifact-manager.js +60 -0
  18. package/dist/hook/hook-artifact-manager.js.map +1 -0
  19. package/dist/hook/hook-query.d.ts +22 -0
  20. package/dist/hook/hook-query.d.ts.map +1 -0
  21. package/dist/hook/hook-query.js +79 -0
  22. package/dist/hook/hook-query.js.map +1 -0
  23. package/dist/hook/hook-tx.d.ts +21 -0
  24. package/dist/hook/hook-tx.d.ts.map +1 -0
  25. package/dist/hook/hook-tx.js +26 -0
  26. package/dist/hook/hook-tx.js.map +1 -0
  27. package/dist/hook/igp-hook.d.ts +24 -0
  28. package/dist/hook/igp-hook.d.ts.map +1 -0
  29. package/dist/hook/igp-hook.js +148 -0
  30. package/dist/hook/igp-hook.js.map +1 -0
  31. package/dist/hook/merkle-tree-hook.d.ts +24 -0
  32. package/dist/hook/merkle-tree-hook.d.ts.map +1 -0
  33. package/dist/hook/merkle-tree-hook.js +51 -0
  34. package/dist/hook/merkle-tree-hook.js.map +1 -0
  35. package/dist/index.d.ts +13 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +12 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/ism/ism-artifact-manager.d.ts +14 -0
  40. package/dist/ism/ism-artifact-manager.d.ts.map +1 -0
  41. package/dist/ism/ism-artifact-manager.js +67 -0
  42. package/dist/ism/ism-artifact-manager.js.map +1 -0
  43. package/dist/ism/ism-query.d.ts +23 -0
  44. package/dist/ism/ism-query.d.ts.map +1 -0
  45. package/dist/ism/ism-query.js +84 -0
  46. package/dist/ism/ism-query.js.map +1 -0
  47. package/dist/ism/ism-tx.d.ts +31 -0
  48. package/dist/ism/ism-tx.d.ts.map +1 -0
  49. package/dist/ism/ism-tx.js +43 -0
  50. package/dist/ism/ism-tx.js.map +1 -0
  51. package/dist/ism/multisig-ism.d.ts +38 -0
  52. package/dist/ism/multisig-ism.d.ts.map +1 -0
  53. package/dist/ism/multisig-ism.js +107 -0
  54. package/dist/ism/multisig-ism.js.map +1 -0
  55. package/dist/ism/routing-ism.d.ts +23 -0
  56. package/dist/ism/routing-ism.d.ts.map +1 -0
  57. package/dist/ism/routing-ism.js +129 -0
  58. package/dist/ism/routing-ism.js.map +1 -0
  59. package/dist/ism/test-ism.d.ts +23 -0
  60. package/dist/ism/test-ism.d.ts.map +1 -0
  61. package/dist/ism/test-ism.js +49 -0
  62. package/dist/ism/test-ism.js.map +1 -0
  63. package/dist/mailbox/mailbox-artifact-manager.d.ts +15 -0
  64. package/dist/mailbox/mailbox-artifact-manager.d.ts.map +1 -0
  65. package/dist/mailbox/mailbox-artifact-manager.js +29 -0
  66. package/dist/mailbox/mailbox-artifact-manager.js.map +1 -0
  67. package/dist/mailbox/mailbox-query.d.ts +12 -0
  68. package/dist/mailbox/mailbox-query.d.ts.map +1 -0
  69. package/dist/mailbox/mailbox-query.js +72 -0
  70. package/dist/mailbox/mailbox-query.js.map +1 -0
  71. package/dist/mailbox/mailbox-query.test.d.ts +2 -0
  72. package/dist/mailbox/mailbox-query.test.d.ts.map +1 -0
  73. package/dist/mailbox/mailbox-query.test.js +65 -0
  74. package/dist/mailbox/mailbox-query.test.js.map +1 -0
  75. package/dist/mailbox/mailbox-tx.d.ts +21 -0
  76. package/dist/mailbox/mailbox-tx.d.ts.map +1 -0
  77. package/dist/mailbox/mailbox-tx.js +27 -0
  78. package/dist/mailbox/mailbox-tx.js.map +1 -0
  79. package/dist/mailbox/mailbox.d.ts +24 -0
  80. package/dist/mailbox/mailbox.d.ts.map +1 -0
  81. package/dist/mailbox/mailbox.js +171 -0
  82. package/dist/mailbox/mailbox.js.map +1 -0
  83. package/dist/testing/constants.d.ts +61 -0
  84. package/dist/testing/constants.d.ts.map +1 -0
  85. package/dist/testing/constants.js +65 -0
  86. package/dist/testing/constants.js.map +1 -0
  87. package/dist/testing/index.d.ts +8 -0
  88. package/dist/testing/index.d.ts.map +1 -0
  89. package/dist/testing/index.js +11 -0
  90. package/dist/testing/index.js.map +1 -0
  91. package/dist/testing/node.d.ts +13 -0
  92. package/dist/testing/node.d.ts.map +1 -0
  93. package/dist/testing/node.js +42 -0
  94. package/dist/testing/node.js.map +1 -0
  95. package/dist/testing/setup.d.ts +20 -0
  96. package/dist/testing/setup.d.ts.map +1 -0
  97. package/dist/testing/setup.js +61 -0
  98. package/dist/testing/setup.js.map +1 -0
  99. package/dist/tests/e2e-test.setup.d.ts +3 -0
  100. package/dist/tests/e2e-test.setup.d.ts.map +1 -0
  101. package/dist/tests/e2e-test.setup.js +32 -0
  102. package/dist/tests/e2e-test.setup.js.map +1 -0
  103. package/dist/tests/hook.e2e-test.d.ts +2 -0
  104. package/dist/tests/hook.e2e-test.d.ts.map +1 -0
  105. package/dist/tests/hook.e2e-test.js +369 -0
  106. package/dist/tests/hook.e2e-test.js.map +1 -0
  107. package/dist/tests/ism.e2e-test.d.ts +2 -0
  108. package/dist/tests/ism.e2e-test.d.ts.map +1 -0
  109. package/dist/tests/ism.e2e-test.js +250 -0
  110. package/dist/tests/ism.e2e-test.js.map +1 -0
  111. package/dist/tests/mailbox.e2e-test.d.ts +2 -0
  112. package/dist/tests/mailbox.e2e-test.d.ts.map +1 -0
  113. package/dist/tests/mailbox.e2e-test.js +254 -0
  114. package/dist/tests/mailbox.e2e-test.js.map +1 -0
  115. package/dist/tests/validator-announce.e2e-test.d.ts +2 -0
  116. package/dist/tests/validator-announce.e2e-test.d.ts.map +1 -0
  117. package/dist/tests/validator-announce.e2e-test.js +116 -0
  118. package/dist/tests/validator-announce.e2e-test.js.map +1 -0
  119. package/dist/tests/warp.e2e-test.d.ts +2 -0
  120. package/dist/tests/warp.e2e-test.d.ts.map +1 -0
  121. package/dist/tests/warp.e2e-test.js +602 -0
  122. package/dist/tests/warp.e2e-test.js.map +1 -0
  123. package/dist/utils/base-query.d.ts +188 -0
  124. package/dist/utils/base-query.d.ts.map +1 -0
  125. package/dist/utils/base-query.js +207 -0
  126. package/dist/utils/base-query.js.map +1 -0
  127. package/dist/utils/base.d.ts +67 -0
  128. package/dist/utils/base.d.ts.map +1 -0
  129. package/dist/utils/base.js +353 -0
  130. package/dist/utils/base.js.map +1 -0
  131. package/dist/utils/constants.d.ts +20 -0
  132. package/dist/utils/constants.d.ts.map +1 -0
  133. package/dist/utils/constants.js +20 -0
  134. package/dist/utils/constants.js.map +1 -0
  135. package/dist/utils/signer.d.ts +17 -0
  136. package/dist/utils/signer.d.ts.map +1 -0
  137. package/dist/utils/signer.js +60 -0
  138. package/dist/utils/signer.js.map +1 -0
  139. package/dist/utils/types.d.ts +139 -0
  140. package/dist/utils/types.d.ts.map +1 -0
  141. package/dist/utils/types.js +39 -0
  142. package/dist/utils/types.js.map +1 -0
  143. package/dist/utils/utils.d.ts +8 -0
  144. package/dist/utils/utils.d.ts.map +1 -0
  145. package/dist/utils/utils.js +47 -0
  146. package/dist/utils/utils.js.map +1 -0
  147. package/dist/utils/utils.test.d.ts +2 -0
  148. package/dist/utils/utils.test.d.ts.map +1 -0
  149. package/dist/utils/utils.test.js +27 -0
  150. package/dist/utils/utils.test.js.map +1 -0
  151. package/dist/validator-announce/validator-announce-artifact-manager.d.ts +14 -0
  152. package/dist/validator-announce/validator-announce-artifact-manager.d.ts.map +1 -0
  153. package/dist/validator-announce/validator-announce-artifact-manager.js +21 -0
  154. package/dist/validator-announce/validator-announce-artifact-manager.js.map +1 -0
  155. package/dist/validator-announce/validator-announce-query.d.ts +6 -0
  156. package/dist/validator-announce/validator-announce-query.d.ts.map +1 -0
  157. package/dist/validator-announce/validator-announce-query.js +10 -0
  158. package/dist/validator-announce/validator-announce-query.js.map +1 -0
  159. package/dist/validator-announce/validator-announce-tx.d.ts +4 -0
  160. package/dist/validator-announce/validator-announce-tx.d.ts.map +1 -0
  161. package/dist/validator-announce/validator-announce-tx.js +6 -0
  162. package/dist/validator-announce/validator-announce-tx.js.map +1 -0
  163. package/dist/validator-announce/validator-announce.d.ts +23 -0
  164. package/dist/validator-announce/validator-announce.d.ts.map +1 -0
  165. package/dist/validator-announce/validator-announce.js +52 -0
  166. package/dist/validator-announce/validator-announce.js.map +1 -0
  167. package/dist/warp/collateral-token.d.ts +23 -0
  168. package/dist/warp/collateral-token.d.ts.map +1 -0
  169. package/dist/warp/collateral-token.js +130 -0
  170. package/dist/warp/collateral-token.js.map +1 -0
  171. package/dist/warp/populate.d.ts +71 -0
  172. package/dist/warp/populate.d.ts.map +1 -0
  173. package/dist/warp/populate.js +110 -0
  174. package/dist/warp/populate.js.map +1 -0
  175. package/dist/warp/query.d.ts +44 -0
  176. package/dist/warp/query.d.ts.map +1 -0
  177. package/dist/warp/query.js +154 -0
  178. package/dist/warp/query.js.map +1 -0
  179. package/dist/warp/synthetic-token.d.ts +23 -0
  180. package/dist/warp/synthetic-token.d.ts.map +1 -0
  181. package/dist/warp/synthetic-token.js +131 -0
  182. package/dist/warp/synthetic-token.js.map +1 -0
  183. package/dist/warp/tx.d.ts +54 -0
  184. package/dist/warp/tx.d.ts.map +1 -0
  185. package/dist/warp/tx.js +85 -0
  186. package/dist/warp/tx.js.map +1 -0
  187. package/dist/warp/warp-artifact-manager.d.ts +15 -0
  188. package/dist/warp/warp-artifact-manager.d.ts.map +1 -0
  189. package/dist/warp/warp-artifact-manager.js +49 -0
  190. package/dist/warp/warp-artifact-manager.js.map +1 -0
  191. package/dist/warp/warp-query.d.ts +9 -0
  192. package/dist/warp/warp-query.d.ts.map +1 -0
  193. package/dist/warp/warp-query.js +130 -0
  194. package/dist/warp/warp-query.js.map +1 -0
  195. package/dist/warp/warp-tx.d.ts +48 -0
  196. package/dist/warp/warp-tx.d.ts.map +1 -0
  197. package/dist/warp/warp-tx.js +125 -0
  198. package/dist/warp/warp-tx.js.map +1 -0
  199. package/docker-compose.yml +139 -0
  200. package/package.json +64 -3
@@ -0,0 +1,32 @@
1
+ import { deepCopy } from '@humanode-hyperlane/utils';
2
+ import { DEFAULT_E2E_TEST_TIMEOUT, TEST_RADIX_CHAIN_METADATA, } from '../testing/constants.js';
3
+ import { runRadixNode } from '../testing/node.js';
4
+ import { deployHyperlaneRadixPackage, downloadRadixContracts, } from '../testing/setup.js';
5
+ let radixNodeInstance;
6
+ // Global chain metadata with deployed package address
7
+ export let DEPLOYED_TEST_CHAIN_METADATA;
8
+ before(async function () {
9
+ // Use 3x timeout for setup since Docker container startup can be slow in CI
10
+ // (image pulling, postgres init, fullnode sync, gateway sync)
11
+ this.timeout(3 * DEFAULT_E2E_TEST_TIMEOUT);
12
+ // Download Radix contracts
13
+ const artifacts = await downloadRadixContracts();
14
+ // Start node
15
+ radixNodeInstance = await runRadixNode(TEST_RADIX_CHAIN_METADATA, artifacts);
16
+ // Deploy Hyperlane package and get address and XRD resource address
17
+ const { packageAddress, xrdAddress } = await deployHyperlaneRadixPackage(TEST_RADIX_CHAIN_METADATA, artifacts);
18
+ // Store metadata with package address and correct XRD denom for tests to use
19
+ DEPLOYED_TEST_CHAIN_METADATA = deepCopy(TEST_RADIX_CHAIN_METADATA);
20
+ DEPLOYED_TEST_CHAIN_METADATA.packageAddress = packageAddress;
21
+ if (DEPLOYED_TEST_CHAIN_METADATA.nativeToken) {
22
+ DEPLOYED_TEST_CHAIN_METADATA.nativeToken.denom = xrdAddress;
23
+ }
24
+ });
25
+ after(async function () {
26
+ // Might take a while shutting down the compose environment
27
+ this.timeout(DEFAULT_E2E_TEST_TIMEOUT);
28
+ if (radixNodeInstance) {
29
+ await radixNodeInstance.down();
30
+ }
31
+ });
32
+ //# sourceMappingURL=e2e-test.setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e2e-test.setup.js","sourceRoot":"","sources":["../../src/tests/e2e-test.setup.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EACL,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,IAAI,iBAAkD,CAAC;AAEvD,sDAAsD;AACtD,MAAM,CAAC,IAAI,4BAA+C,CAAC;AAE3D,MAAM,CAAC,KAAK;IACV,4EAA4E;IAC5E,8DAA8D;IAC9D,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAE3C,2BAA2B;IAC3B,MAAM,SAAS,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAEjD,aAAa;IACb,iBAAiB,GAAG,MAAM,YAAY,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;IAE7E,oEAAoE;IACpE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,MAAM,2BAA2B,CACtE,yBAAyB,EACzB,SAAS,CACV,CAAC;IAEF,6EAA6E;IAC7E,4BAA4B,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IACnE,4BAA4B,CAAC,cAAc,GAAG,cAAc,CAAC;IAC7D,IAAI,4BAA4B,CAAC,WAAW,EAAE,CAAC;QAC7C,4BAA4B,CAAC,WAAW,CAAC,KAAK,GAAG,UAAU,CAAC;IAC9D,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,KAAK;IACT,2DAA2D;IAC3D,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAEvC,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hook.e2e-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.e2e-test.d.ts","sourceRoot":"","sources":["../../src/tests/hook.e2e-test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,369 @@
1
+ import { expect } from 'chai';
2
+ import { AltVM } from '@humanode-hyperlane/provider-sdk';
3
+ import { ArtifactState, } from '@humanode-hyperlane/provider-sdk/artifact';
4
+ import { assert, eqAddressRadix } from '@humanode-hyperlane/utils';
5
+ import { RadixSigner } from '../clients/signer.js';
6
+ import { RadixHookArtifactManager } from '../hook/hook-artifact-manager.js';
7
+ import { DEFAULT_E2E_TEST_TIMEOUT, TEST_RADIX_BURN_ADDRESS, TEST_RADIX_DEPLOYER_ADDRESS, TEST_RADIX_PRIVATE_KEY, } from '../testing/constants.js';
8
+ import { DEPLOYED_TEST_CHAIN_METADATA } from './e2e-test.setup.js';
9
+ describe('Radix Hooks (e2e)', function () {
10
+ this.timeout(DEFAULT_E2E_TEST_TIMEOUT);
11
+ let radixSigner;
12
+ let providerSdkSigner;
13
+ let artifactManager;
14
+ const DOMAIN_1 = 42;
15
+ const DOMAIN_2 = 96;
16
+ before(async () => {
17
+ const rpcUrls = DEPLOYED_TEST_CHAIN_METADATA.rpcUrls?.map((url) => url.http) ?? [];
18
+ assert(rpcUrls.length > 0, 'Expected at least 1 rpc url for the tests');
19
+ radixSigner = (await RadixSigner.connectWithSigner(rpcUrls, TEST_RADIX_PRIVATE_KEY, {
20
+ metadata: {
21
+ chainId: DEPLOYED_TEST_CHAIN_METADATA.chainId,
22
+ gatewayUrls: DEPLOYED_TEST_CHAIN_METADATA.gatewayUrls,
23
+ packageAddress: DEPLOYED_TEST_CHAIN_METADATA.packageAddress,
24
+ },
25
+ }));
26
+ providerSdkSigner = radixSigner;
27
+ const gateway = radixSigner.gateway;
28
+ const base = radixSigner.base;
29
+ const nativeTokenDenom = DEPLOYED_TEST_CHAIN_METADATA.nativeToken?.denom ?? 'xrd';
30
+ // Use deployer address as mailbox for testing purposes
31
+ const mailboxAddress = TEST_RADIX_DEPLOYER_ADDRESS;
32
+ artifactManager = new RadixHookArtifactManager(gateway, base, mailboxAddress, nativeTokenDenom);
33
+ });
34
+ describe('MerkleTree Hook', () => {
35
+ it('should create a MerkleTree hook', async () => {
36
+ const config = {
37
+ type: AltVM.HookType.MERKLE_TREE,
38
+ };
39
+ const writer = artifactManager.createWriter(AltVM.HookType.MERKLE_TREE, radixSigner);
40
+ const [result, receipts] = await writer.create({ config });
41
+ expect(result.artifactState).to.equal(ArtifactState.DEPLOYED);
42
+ expect(result.config.type).to.equal(AltVM.HookType.MERKLE_TREE);
43
+ expect(result.deployed.address).to.be.a('string').and.not.be.empty;
44
+ expect(receipts).to.be.an('array').with.length.greaterThan(0);
45
+ });
46
+ it('should read a MerkleTree hook', async () => {
47
+ const config = {
48
+ type: AltVM.HookType.MERKLE_TREE,
49
+ };
50
+ const writer = artifactManager.createWriter(AltVM.HookType.MERKLE_TREE, radixSigner);
51
+ const [deployedHook] = await writer.create({ config });
52
+ const reader = artifactManager.createReader(AltVM.HookType.MERKLE_TREE);
53
+ const readHook = await reader.read(deployedHook.deployed.address);
54
+ expect(readHook.artifactState).to.equal(ArtifactState.DEPLOYED);
55
+ expect(readHook.config.type).to.equal(AltVM.HookType.MERKLE_TREE);
56
+ expect(readHook.deployed.address).to.equal(deployedHook.deployed.address);
57
+ });
58
+ it('should return no transactions when calling update on MerkleTree hook', async () => {
59
+ const config = {
60
+ type: AltVM.HookType.MERKLE_TREE,
61
+ };
62
+ const writer = artifactManager.createWriter(AltVM.HookType.MERKLE_TREE, radixSigner);
63
+ const [deployedHook] = await writer.create({ config });
64
+ // MerkleTree hooks are immutable
65
+ const txs = await writer.update(deployedHook);
66
+ expect(txs).to.be.an('array').with.length(0);
67
+ });
68
+ });
69
+ describe('IGP Hook', () => {
70
+ it('should create an IGP hook', async () => {
71
+ const config = {
72
+ type: AltVM.HookType.INTERCHAIN_GAS_PAYMASTER,
73
+ owner: TEST_RADIX_DEPLOYER_ADDRESS,
74
+ beneficiary: TEST_RADIX_DEPLOYER_ADDRESS,
75
+ oracleKey: TEST_RADIX_DEPLOYER_ADDRESS,
76
+ overhead: {
77
+ [DOMAIN_1]: 50000,
78
+ [DOMAIN_2]: 100000,
79
+ },
80
+ oracleConfig: {
81
+ [DOMAIN_1]: {
82
+ gasPrice: '1000000000',
83
+ tokenExchangeRate: '10000000000',
84
+ },
85
+ [DOMAIN_2]: {
86
+ gasPrice: '2000000000',
87
+ tokenExchangeRate: '15000000000',
88
+ },
89
+ },
90
+ };
91
+ const writer = artifactManager.createWriter(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER, radixSigner);
92
+ const [result, receipts] = await writer.create({ config });
93
+ expect(result.artifactState).to.equal(ArtifactState.DEPLOYED);
94
+ expect(result.config.type).to.equal(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER);
95
+ expect(result.deployed.address).to.be.a('string').and.not.be.empty;
96
+ expect(receipts).to.be.an('array').with.length.greaterThan(0);
97
+ });
98
+ it('should read an IGP hook', async () => {
99
+ const config = {
100
+ type: AltVM.HookType.INTERCHAIN_GAS_PAYMASTER,
101
+ owner: TEST_RADIX_DEPLOYER_ADDRESS,
102
+ beneficiary: TEST_RADIX_DEPLOYER_ADDRESS,
103
+ oracleKey: TEST_RADIX_DEPLOYER_ADDRESS,
104
+ overhead: {
105
+ [DOMAIN_1]: 50000,
106
+ },
107
+ oracleConfig: {
108
+ [DOMAIN_1]: {
109
+ gasPrice: '1000000000',
110
+ tokenExchangeRate: '10000000000',
111
+ },
112
+ },
113
+ };
114
+ const writer = artifactManager.createWriter(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER, radixSigner);
115
+ const [deployedHook] = await writer.create({ config });
116
+ const reader = artifactManager.createReader(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER);
117
+ const readHook = await reader.read(deployedHook.deployed.address);
118
+ expect(readHook.artifactState).to.equal(ArtifactState.DEPLOYED);
119
+ expect(readHook.config.type).to.equal(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER);
120
+ expect(readHook.deployed.address).to.equal(deployedHook.deployed.address);
121
+ // Verify config matches (excluding beneficiary/oracleKey which are placeholders)
122
+ expect(readHook.config.owner).to.equal(config.owner);
123
+ expect(readHook.config.overhead).to.deep.equal(config.overhead);
124
+ // Verify oracle config (note: tokenDecimals is not stored on-chain for Radix)
125
+ expect(readHook.config.oracleConfig[DOMAIN_1].gasPrice).to.equal(config.oracleConfig[DOMAIN_1].gasPrice);
126
+ expect(readHook.config.oracleConfig[DOMAIN_1].tokenExchangeRate).to.equal(config.oracleConfig[DOMAIN_1].tokenExchangeRate);
127
+ });
128
+ it('should create IGP hook with specified owner different from signer', async () => {
129
+ const config = {
130
+ type: AltVM.HookType.INTERCHAIN_GAS_PAYMASTER,
131
+ owner: TEST_RADIX_BURN_ADDRESS, // Different from signer
132
+ beneficiary: TEST_RADIX_DEPLOYER_ADDRESS,
133
+ oracleKey: TEST_RADIX_DEPLOYER_ADDRESS,
134
+ overhead: {
135
+ [DOMAIN_1]: 50000,
136
+ },
137
+ oracleConfig: {
138
+ [DOMAIN_1]: {
139
+ gasPrice: '1000000000',
140
+ tokenExchangeRate: '10000000000',
141
+ },
142
+ },
143
+ };
144
+ const writer = artifactManager.createWriter(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER, radixSigner);
145
+ const [deployedHook] = await writer.create({ config });
146
+ const reader = artifactManager.createReader(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER);
147
+ const readHook = await reader.read(deployedHook.deployed.address);
148
+ // Verify ownership was transferred
149
+ expect(eqAddressRadix(readHook.config.owner, TEST_RADIX_BURN_ADDRESS)).to
150
+ .be.true;
151
+ });
152
+ it('should update IGP hook gas configs', async () => {
153
+ const initialConfig = {
154
+ type: AltVM.HookType.INTERCHAIN_GAS_PAYMASTER,
155
+ owner: TEST_RADIX_DEPLOYER_ADDRESS,
156
+ beneficiary: TEST_RADIX_DEPLOYER_ADDRESS,
157
+ oracleKey: TEST_RADIX_DEPLOYER_ADDRESS,
158
+ overhead: {
159
+ [DOMAIN_1]: 50000,
160
+ },
161
+ oracleConfig: {
162
+ [DOMAIN_1]: {
163
+ gasPrice: '1000000000',
164
+ tokenExchangeRate: '10000000000',
165
+ },
166
+ },
167
+ };
168
+ const writer = artifactManager.createWriter(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER, radixSigner);
169
+ const [deployedHook] = await writer.create({ config: initialConfig });
170
+ // Update with new gas config
171
+ const updatedConfig = {
172
+ ...deployedHook,
173
+ config: {
174
+ ...deployedHook.config,
175
+ overhead: {
176
+ [DOMAIN_1]: 60000, // Changed
177
+ [DOMAIN_2]: 100000, // New domain
178
+ },
179
+ oracleConfig: {
180
+ [DOMAIN_1]: {
181
+ gasPrice: '2000000000', // Changed
182
+ tokenExchangeRate: '12000000000', // Changed
183
+ },
184
+ [DOMAIN_2]: {
185
+ gasPrice: '3000000000',
186
+ tokenExchangeRate: '15000000000',
187
+ },
188
+ },
189
+ },
190
+ };
191
+ const txs = await writer.update(updatedConfig);
192
+ expect(txs).to.be.an('array').with.length.greaterThan(0);
193
+ // Execute the update transactions
194
+ for (const tx of txs) {
195
+ await providerSdkSigner.sendAndConfirmTransaction(tx);
196
+ }
197
+ // Verify the updates
198
+ const reader = artifactManager.createReader(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER);
199
+ const readHook = await reader.read(deployedHook.deployed.address);
200
+ expect(readHook.config.overhead[DOMAIN_1]).to.equal(60000);
201
+ expect(readHook.config.overhead[DOMAIN_2]).to.equal(100000);
202
+ expect(readHook.config.oracleConfig[DOMAIN_1].gasPrice).to.equal('2000000000');
203
+ expect(readHook.config.oracleConfig[DOMAIN_2].gasPrice).to.equal('3000000000');
204
+ });
205
+ it('should transfer ownership of IGP hook via update', async () => {
206
+ const initialConfig = {
207
+ type: AltVM.HookType.INTERCHAIN_GAS_PAYMASTER,
208
+ owner: TEST_RADIX_DEPLOYER_ADDRESS,
209
+ beneficiary: TEST_RADIX_DEPLOYER_ADDRESS,
210
+ oracleKey: TEST_RADIX_DEPLOYER_ADDRESS,
211
+ overhead: {
212
+ [DOMAIN_1]: 50000,
213
+ },
214
+ oracleConfig: {
215
+ [DOMAIN_1]: {
216
+ gasPrice: '1000000000',
217
+ tokenExchangeRate: '10000000000',
218
+ },
219
+ },
220
+ };
221
+ const writer = artifactManager.createWriter(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER, radixSigner);
222
+ const [deployedHook] = await writer.create({ config: initialConfig });
223
+ // Update ownership
224
+ const updatedConfig = {
225
+ ...deployedHook,
226
+ config: {
227
+ ...deployedHook.config,
228
+ owner: TEST_RADIX_BURN_ADDRESS,
229
+ },
230
+ };
231
+ const txs = await writer.update(updatedConfig);
232
+ expect(txs).to.be.an('array').with.length.greaterThan(0);
233
+ // Execute the update transactions
234
+ for (const tx of txs) {
235
+ await providerSdkSigner.sendAndConfirmTransaction(tx);
236
+ }
237
+ // Verify ownership transfer
238
+ const reader = artifactManager.createReader(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER);
239
+ const readHook = await reader.read(deployedHook.deployed.address);
240
+ expect(eqAddressRadix(readHook.config.owner, TEST_RADIX_BURN_ADDRESS)).to
241
+ .be.true;
242
+ });
243
+ it('should return no update transactions when config is unchanged', async () => {
244
+ const config = {
245
+ type: AltVM.HookType.INTERCHAIN_GAS_PAYMASTER,
246
+ owner: TEST_RADIX_DEPLOYER_ADDRESS,
247
+ beneficiary: TEST_RADIX_DEPLOYER_ADDRESS,
248
+ oracleKey: TEST_RADIX_DEPLOYER_ADDRESS,
249
+ overhead: {
250
+ [DOMAIN_1]: 50000,
251
+ },
252
+ oracleConfig: {
253
+ [DOMAIN_1]: {
254
+ gasPrice: '1000000000',
255
+ tokenExchangeRate: '10000000000',
256
+ },
257
+ },
258
+ };
259
+ const writer = artifactManager.createWriter(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER, radixSigner);
260
+ const [deployedHook] = await writer.create({ config });
261
+ // Try to update with same config
262
+ const txs = await writer.update(deployedHook);
263
+ expect(txs).to.be.an('array').with.length(0);
264
+ });
265
+ it('should update gas configs AND transfer ownership (ownership last)', async () => {
266
+ // This test exposes the bug where ownership transfer happens before gas config updates
267
+ // The ownership transfer MUST be the last transaction, otherwise the gas config
268
+ // updates will fail because the signer is no longer the owner
269
+ const initialConfig = {
270
+ type: AltVM.HookType.INTERCHAIN_GAS_PAYMASTER,
271
+ owner: TEST_RADIX_DEPLOYER_ADDRESS,
272
+ beneficiary: TEST_RADIX_DEPLOYER_ADDRESS,
273
+ oracleKey: TEST_RADIX_DEPLOYER_ADDRESS,
274
+ overhead: {
275
+ [DOMAIN_1]: 50000,
276
+ },
277
+ oracleConfig: {
278
+ [DOMAIN_1]: {
279
+ gasPrice: '1000000000',
280
+ tokenExchangeRate: '10000000000',
281
+ },
282
+ },
283
+ };
284
+ const writer = artifactManager.createWriter(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER, radixSigner);
285
+ const [deployedHook] = await writer.create({ config: initialConfig });
286
+ // Update BOTH gas config AND ownership
287
+ const updatedConfig = {
288
+ ...deployedHook,
289
+ config: {
290
+ ...deployedHook.config,
291
+ owner: TEST_RADIX_BURN_ADDRESS, // Transfer ownership
292
+ overhead: {
293
+ [DOMAIN_1]: 60000, // Also update gas config
294
+ [DOMAIN_2]: 100000, // Add new domain
295
+ },
296
+ oracleConfig: {
297
+ [DOMAIN_1]: {
298
+ gasPrice: '2000000000', // Changed
299
+ tokenExchangeRate: '12000000000', // Changed
300
+ },
301
+ [DOMAIN_2]: {
302
+ gasPrice: '3000000000',
303
+ tokenExchangeRate: '15000000000',
304
+ },
305
+ },
306
+ },
307
+ };
308
+ const txs = await writer.update(updatedConfig);
309
+ expect(txs).to.be.an('array').with.length.greaterThan(0);
310
+ // Verify ownership transfer is the LAST transaction
311
+ const lastTx = txs[txs.length - 1];
312
+ expect(lastTx.annotation).to.include('owner');
313
+ // Execute all transactions - this will fail if ownership transfer is not last
314
+ for (const tx of txs) {
315
+ await providerSdkSigner.sendAndConfirmTransaction(tx);
316
+ }
317
+ // Verify both gas config updates AND ownership transfer succeeded
318
+ const reader = artifactManager.createReader(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER);
319
+ const readHook = await reader.read(deployedHook.deployed.address);
320
+ // Verify gas configs were updated
321
+ expect(readHook.config.overhead[DOMAIN_1]).to.equal(60000);
322
+ expect(readHook.config.overhead[DOMAIN_2]).to.equal(100000);
323
+ expect(readHook.config.oracleConfig[DOMAIN_1].gasPrice).to.equal('2000000000');
324
+ expect(readHook.config.oracleConfig[DOMAIN_2].gasPrice).to.equal('3000000000');
325
+ // Verify ownership was transferred
326
+ expect(eqAddressRadix(readHook.config.owner, TEST_RADIX_BURN_ADDRESS)).to
327
+ .be.true;
328
+ });
329
+ });
330
+ describe('Generic hook reading via readHook', () => {
331
+ it('should detect and read MerkleTree hook', async () => {
332
+ const config = {
333
+ type: AltVM.HookType.MERKLE_TREE,
334
+ };
335
+ const writer = artifactManager.createWriter(AltVM.HookType.MERKLE_TREE, radixSigner);
336
+ const [deployedHook] = await writer.create({ config });
337
+ // Read via generic readHook (without knowing the type)
338
+ const readHook = await artifactManager.readHook(deployedHook.deployed.address);
339
+ expect(readHook.artifactState).to.equal(ArtifactState.DEPLOYED);
340
+ expect(readHook.config.type).to.equal(AltVM.HookType.MERKLE_TREE);
341
+ expect(readHook.deployed.address).to.equal(deployedHook.deployed.address);
342
+ });
343
+ it('should detect and read IGP hook', async () => {
344
+ const config = {
345
+ type: AltVM.HookType.INTERCHAIN_GAS_PAYMASTER,
346
+ owner: TEST_RADIX_DEPLOYER_ADDRESS,
347
+ beneficiary: TEST_RADIX_DEPLOYER_ADDRESS,
348
+ oracleKey: TEST_RADIX_DEPLOYER_ADDRESS,
349
+ overhead: {
350
+ [DOMAIN_1]: 50000,
351
+ },
352
+ oracleConfig: {
353
+ [DOMAIN_1]: {
354
+ gasPrice: '1000000000',
355
+ tokenExchangeRate: '10000000000',
356
+ },
357
+ },
358
+ };
359
+ const writer = artifactManager.createWriter(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER, radixSigner);
360
+ const [deployedHook] = await writer.create({ config });
361
+ // Read via generic readHook (without knowing the type)
362
+ const readHook = await artifactManager.readHook(deployedHook.deployed.address);
363
+ expect(readHook.artifactState).to.equal(ArtifactState.DEPLOYED);
364
+ expect(readHook.config.type).to.equal(AltVM.HookType.INTERCHAIN_GAS_PAYMASTER);
365
+ expect(readHook.deployed.address).to.equal(deployedHook.deployed.address);
366
+ });
367
+ });
368
+ });
369
+ //# sourceMappingURL=hook.e2e-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.e2e-test.js","sourceRoot":"","sources":["../../src/tests/hook.e2e-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ism.e2e-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ism.e2e-test.d.ts","sourceRoot":"","sources":["../../src/tests/ism.e2e-test.ts"],"names":[],"mappings":""}