@hyperlane-xyz/sdk 41.3.1 → 42.0.0

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 (166) hide show
  1. package/dist/ccip/consts.d.ts.map +1 -1
  2. package/dist/ccip/consts.js +20 -0
  3. package/dist/ccip/consts.js.map +1 -1
  4. package/dist/consts/multisigIsm.d.ts.map +1 -1
  5. package/dist/consts/multisigIsm.js +20 -0
  6. package/dist/consts/multisigIsm.js.map +1 -1
  7. package/dist/contracts/contracts.d.ts.map +1 -1
  8. package/dist/contracts/contracts.js +15 -0
  9. package/dist/contracts/contracts.js.map +1 -1
  10. package/dist/contracts/contracts.test.d.ts +2 -0
  11. package/dist/contracts/contracts.test.d.ts.map +1 -0
  12. package/dist/contracts/contracts.test.js +88 -0
  13. package/dist/contracts/contracts.test.js.map +1 -0
  14. package/dist/core/types.d.ts +80 -2602
  15. package/dist/core/types.d.ts.map +1 -1
  16. package/dist/core/types.js +19 -1
  17. package/dist/core/types.js.map +1 -1
  18. package/dist/core/types.test.js +58 -0
  19. package/dist/core/types.test.js.map +1 -1
  20. package/dist/deploy/warp.d.ts +119 -3
  21. package/dist/deploy/warp.d.ts.map +1 -1
  22. package/dist/deploy/warp.js +696 -33
  23. package/dist/deploy/warp.js.map +1 -1
  24. package/dist/deploy/warp.test.d.ts +2 -0
  25. package/dist/deploy/warp.test.d.ts.map +1 -0
  26. package/dist/deploy/warp.test.js +358 -0
  27. package/dist/deploy/warp.test.js.map +1 -0
  28. package/dist/deploy/warpHybridPlan.d.ts +104 -0
  29. package/dist/deploy/warpHybridPlan.d.ts.map +1 -0
  30. package/dist/deploy/warpHybridPlan.js +178 -0
  31. package/dist/deploy/warpHybridPlan.js.map +1 -0
  32. package/dist/deploy/warpHybridPlan.test.d.ts +2 -0
  33. package/dist/deploy/warpHybridPlan.test.d.ts.map +1 -0
  34. package/dist/deploy/warpHybridPlan.test.js +141 -0
  35. package/dist/deploy/warpHybridPlan.test.js.map +1 -0
  36. package/dist/hook/EvmHookModule.d.ts +1 -1
  37. package/dist/hook/EvmHookModule.d.ts.map +1 -1
  38. package/dist/hook/EvmHookModule.js +16 -3
  39. package/dist/hook/EvmHookModule.js.map +1 -1
  40. package/dist/hook/EvmHookReader.d.ts +10 -0
  41. package/dist/hook/EvmHookReader.d.ts.map +1 -1
  42. package/dist/hook/EvmHookReader.js +92 -11
  43. package/dist/hook/EvmHookReader.js.map +1 -1
  44. package/dist/hook/EvmHookReader.test.js +155 -1
  45. package/dist/hook/EvmHookReader.test.js.map +1 -1
  46. package/dist/hook/types.d.ts +107 -1983
  47. package/dist/hook/types.d.ts.map +1 -1
  48. package/dist/hook/types.js +49 -0
  49. package/dist/hook/types.js.map +1 -1
  50. package/dist/hook/types.test.js +21 -1
  51. package/dist/hook/types.test.js.map +1 -1
  52. package/dist/hook/updates.d.ts +1 -0
  53. package/dist/hook/updates.d.ts.map +1 -1
  54. package/dist/hook/updates.js +2 -2
  55. package/dist/hook/updates.js.map +1 -1
  56. package/dist/hook/utils.d.ts +28 -1
  57. package/dist/hook/utils.d.ts.map +1 -1
  58. package/dist/hook/utils.js +89 -0
  59. package/dist/hook/utils.js.map +1 -1
  60. package/dist/ica/types.d.ts +4 -674
  61. package/dist/ica/types.d.ts.map +1 -1
  62. package/dist/index.d.ts +6 -5
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +6 -5
  65. package/dist/index.js.map +1 -1
  66. package/dist/ism/EvmIsmModule.d.ts +28 -2
  67. package/dist/ism/EvmIsmModule.d.ts.map +1 -1
  68. package/dist/ism/EvmIsmModule.hardhat-test.js +478 -3
  69. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
  70. package/dist/ism/EvmIsmModule.js +224 -10
  71. package/dist/ism/EvmIsmModule.js.map +1 -1
  72. package/dist/ism/EvmIsmReader.d.ts.map +1 -1
  73. package/dist/ism/EvmIsmReader.js +77 -1
  74. package/dist/ism/EvmIsmReader.js.map +1 -1
  75. package/dist/ism/EvmIsmReader.test.js +245 -4
  76. package/dist/ism/EvmIsmReader.test.js.map +1 -1
  77. package/dist/ism/HyperlaneIsmFactory.d.ts +14 -4
  78. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  79. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +372 -3
  80. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  81. package/dist/ism/HyperlaneIsmFactory.js +80 -6
  82. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  83. package/dist/ism/delayedFlow.d.ts +31 -0
  84. package/dist/ism/delayedFlow.d.ts.map +1 -0
  85. package/dist/ism/delayedFlow.js +33 -0
  86. package/dist/ism/delayedFlow.js.map +1 -0
  87. package/dist/ism/types.d.ts +135 -4
  88. package/dist/ism/types.d.ts.map +1 -1
  89. package/dist/ism/types.js +263 -11
  90. package/dist/ism/types.js.map +1 -1
  91. package/dist/ism/types.test.js +433 -1
  92. package/dist/ism/types.test.js.map +1 -1
  93. package/dist/ism/utils.d.ts.map +1 -1
  94. package/dist/ism/utils.js +113 -3
  95. package/dist/ism/utils.js.map +1 -1
  96. package/dist/ism/utils.test.js +44 -0
  97. package/dist/ism/utils.test.js.map +1 -1
  98. package/dist/providers/MultiProviderAdapter.d.ts +3 -3
  99. package/dist/providers/MultiProviderAdapter.d.ts.map +1 -1
  100. package/dist/providers/MultiProviderAdapter.js +2 -1
  101. package/dist/providers/MultiProviderAdapter.js.map +1 -1
  102. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -1
  103. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +4 -0
  104. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -1
  105. package/dist/providers/transactionFeeEstimators.d.ts +16 -9
  106. package/dist/providers/transactionFeeEstimators.d.ts.map +1 -1
  107. package/dist/providers/transactionFeeEstimators.js +66 -17
  108. package/dist/providers/transactionFeeEstimators.js.map +1 -1
  109. package/dist/providers/transactionFeeEstimators.test.js +153 -1
  110. package/dist/providers/transactionFeeEstimators.test.js.map +1 -1
  111. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts +14 -1
  112. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts.map +1 -1
  113. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js +46 -5
  114. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js.map +1 -1
  115. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts +2 -0
  116. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts.map +1 -0
  117. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js +125 -0
  118. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js.map +1 -0
  119. package/dist/router/HyperlaneRouterDeployer.d.ts +3 -1
  120. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  121. package/dist/router/HyperlaneRouterDeployer.js +4 -2
  122. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  123. package/dist/router/types.d.ts +6 -1011
  124. package/dist/router/types.d.ts.map +1 -1
  125. package/dist/test/testUtils.d.ts +1 -1
  126. package/dist/test/testUtils.d.ts.map +1 -1
  127. package/dist/test/testUtils.js +17 -0
  128. package/dist/test/testUtils.js.map +1 -1
  129. package/dist/test/testUtils.test.d.ts +2 -0
  130. package/dist/test/testUtils.test.d.ts.map +1 -0
  131. package/dist/test/testUtils.test.js +28 -0
  132. package/dist/test/testUtils.test.js.map +1 -0
  133. package/dist/token/EvmWarpModule.d.ts +44 -8
  134. package/dist/token/EvmWarpModule.d.ts.map +1 -1
  135. package/dist/token/EvmWarpModule.hardhat-test.js +574 -4
  136. package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -1
  137. package/dist/token/EvmWarpModule.js +237 -25
  138. package/dist/token/EvmWarpModule.js.map +1 -1
  139. package/dist/token/configUtils.d.ts +17 -7
  140. package/dist/token/configUtils.d.ts.map +1 -1
  141. package/dist/token/configUtils.js +108 -0
  142. package/dist/token/configUtils.js.map +1 -1
  143. package/dist/token/configUtils.test.js +155 -1
  144. package/dist/token/configUtils.test.js.map +1 -1
  145. package/dist/token/deploy.d.ts +3 -1
  146. package/dist/token/deploy.d.ts.map +1 -1
  147. package/dist/token/deploy.hardhat-test.js +454 -3
  148. package/dist/token/deploy.hardhat-test.js.map +1 -1
  149. package/dist/token/deploy.js +25 -6
  150. package/dist/token/deploy.js.map +1 -1
  151. package/dist/token/types.d.ts +169 -2931
  152. package/dist/token/types.d.ts.map +1 -1
  153. package/dist/token/types.test.js +48 -0
  154. package/dist/token/types.test.js.map +1 -1
  155. package/dist/token/warpCheck.d.ts.map +1 -1
  156. package/dist/token/warpCheck.js +36 -1
  157. package/dist/token/warpCheck.js.map +1 -1
  158. package/dist/utils/ism.d.ts +167 -1
  159. package/dist/utils/ism.d.ts.map +1 -1
  160. package/dist/utils/ism.js +412 -2
  161. package/dist/utils/ism.js.map +1 -1
  162. package/dist/utils/ism.test.d.ts +2 -0
  163. package/dist/utils/ism.test.d.ts.map +1 -0
  164. package/dist/utils/ism.test.js +372 -0
  165. package/dist/utils/ism.test.js.map +1 -0
  166. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"warp.js","sourceRoot":"","sources":["../../src/deploy/warp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"warp.js","sourceRoot":"","sources":["../../src/deploy/warp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warp.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp.test.d.ts","sourceRoot":"","sources":["../../src/deploy/warp.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,358 @@
1
+ import { Mailbox__factory } from '@hyperlane-xyz/core';
2
+ import { addressToBytes32 } from '@hyperlane-xyz/utils';
3
+ import { expect } from 'chai';
4
+ import sinon from 'sinon';
5
+ import { TestChainName, test3 } from '../consts/testChains.js';
6
+ import { EvmIsmModule } from '../ism/EvmIsmModule.js';
7
+ import { IsmType } from '../ism/types.js';
8
+ import { MultiProvider } from '../providers/MultiProvider.js';
9
+ import { contractDouble } from '../test/contractDouble.js';
10
+ import { randomAddress } from '../test/testUtils.js';
11
+ import { TokenType } from '../token/config.js';
12
+ import { HypERC20Deployer } from '../token/deploy.js';
13
+ import { collectHybridIsmNodes } from '../utils/ism.js';
14
+ import { assertDelayedFlowRouteCoverage, assertDelayedFlowRoutePreconditions, executeWarpDeploy, executeWarpRouteExtensionDeploy, } from './warp.js';
15
+ describe('delayed flow route preconditions', () => {
16
+ const owner = randomAddress();
17
+ const mailbox = randomAddress();
18
+ function delayedFlowIsm(remoteIsms) {
19
+ return {
20
+ type: IsmType.AGGREGATION,
21
+ threshold: 2,
22
+ modules: [
23
+ { type: IsmType.TRUSTED_RELAYER, relayer: owner },
24
+ {
25
+ type: IsmType.DELAYED_FLOW_ROUTER,
26
+ thresholdBps: 10000,
27
+ maxDelay: 60,
28
+ duration: 86400n,
29
+ owner,
30
+ remoteIsms,
31
+ },
32
+ ],
33
+ };
34
+ }
35
+ function chainConfig({ interchainSecurityModule, foreignDeployment, remoteRouters, }) {
36
+ const hybrid = typeof interchainSecurityModule === 'object'
37
+ ? collectHybridIsmNodes(interchainSecurityModule)[0]
38
+ : undefined;
39
+ return {
40
+ type: TokenType.synthetic,
41
+ name: 'Delayed',
42
+ symbol: 'DFR',
43
+ decimals: 18,
44
+ owner,
45
+ mailbox,
46
+ interchainSecurityModule,
47
+ hook: hybrid,
48
+ foreignDeployment,
49
+ remoteRouters,
50
+ };
51
+ }
52
+ const delayedFlowLeg = () => chainConfig({ interchainSecurityModule: delayedFlowIsm() });
53
+ const plainLeg = () => chainConfig({});
54
+ const remoteRouter = () => ({ address: randomAddress() });
55
+ const remoteIsm = () => addressToBytes32(randomAddress());
56
+ let sandbox;
57
+ beforeEach(() => {
58
+ sandbox = sinon.createSandbox();
59
+ });
60
+ afterEach(() => {
61
+ sandbox.restore();
62
+ });
63
+ function stubMailboxNonce(nonce) {
64
+ const mailboxDouble = contractDouble({
65
+ nonce: sandbox.stub().resolves(nonce),
66
+ });
67
+ return sandbox.stub(Mailbox__factory, 'connect').returns(mailboxDouble);
68
+ }
69
+ async function captureError(runner) {
70
+ try {
71
+ await runner();
72
+ }
73
+ catch (error) {
74
+ return error instanceof Error ? error.message : String(error);
75
+ }
76
+ return '';
77
+ }
78
+ describe('assertDelayedFlowRouteCoverage', () => {
79
+ const multiProvider = MultiProvider.createTestMultiProvider();
80
+ const assertCoverage = (warpDeployConfig) => assertDelayedFlowRouteCoverage({ multiProvider, warpDeployConfig });
81
+ it('accepts a route with no delayed-flow leg at all', () => {
82
+ expect(() => assertCoverage({
83
+ [TestChainName.test1]: plainLeg(),
84
+ [TestChainName.test2]: plainLeg(),
85
+ })).to.not.throw();
86
+ });
87
+ it('accepts a route where every leg carries an instance', () => {
88
+ expect(() => assertCoverage({
89
+ [TestChainName.test1]: delayedFlowLeg(),
90
+ [TestChainName.test2]: delayedFlowLeg(),
91
+ [TestChainName.test3]: delayedFlowLeg(),
92
+ })).to.not.throw();
93
+ });
94
+ it('rejects a three-leg route that covers only two legs', () => {
95
+ expect(() => assertCoverage({
96
+ [TestChainName.test1]: delayedFlowLeg(),
97
+ [TestChainName.test2]: delayedFlowLeg(),
98
+ [TestChainName.test3]: plainLeg(),
99
+ })).to.throw(TestChainName.test3);
100
+ });
101
+ it('rejects extending a delayed-flow route with a plain leg', () => {
102
+ expect(() => assertCoverage({
103
+ [TestChainName.test1]: delayedFlowLeg(),
104
+ [TestChainName.test2]: plainLeg(),
105
+ })).to.throw(TestChainName.test2);
106
+ });
107
+ it('rejects a leg whose ISM is an address it cannot inspect', () => {
108
+ expect(() => assertCoverage({
109
+ [TestChainName.test1]: delayedFlowLeg(),
110
+ [TestChainName.test2]: chainConfig({
111
+ interchainSecurityModule: randomAddress(),
112
+ }),
113
+ })).to.throw(TestChainName.test2);
114
+ });
115
+ it('rejects a foreignDeployment leg on a delayed-flow route', () => {
116
+ expect(() => assertCoverage({
117
+ [TestChainName.test1]: delayedFlowLeg(),
118
+ [TestChainName.test2]: chainConfig({
119
+ interchainSecurityModule: delayedFlowIsm(),
120
+ foreignDeployment: randomAddress(),
121
+ }),
122
+ })).to.throw('foreignDeployment');
123
+ });
124
+ describe('remoteRouters legs outside the route', () => {
125
+ it('rejects a chain-named remoteRouters entry with no counterpart enrolled', () => {
126
+ expect(() => assertCoverage({
127
+ [TestChainName.test1]: chainConfig({
128
+ interchainSecurityModule: delayedFlowIsm(),
129
+ remoteRouters: { [TestChainName.test3]: remoteRouter() },
130
+ }),
131
+ [TestChainName.test2]: delayedFlowLeg(),
132
+ })).to.throw(TestChainName.test3);
133
+ });
134
+ it('rejects a domain-keyed remoteRouters entry with no counterpart enrolled', () => {
135
+ expect(() => assertCoverage({
136
+ [TestChainName.test1]: chainConfig({
137
+ interchainSecurityModule: delayedFlowIsm(),
138
+ remoteRouters: { [test3.domainId]: remoteRouter() },
139
+ }),
140
+ [TestChainName.test2]: delayedFlowLeg(),
141
+ })).to.throw(`${TestChainName.test3} (domain ${test3.domainId})`);
142
+ });
143
+ it('sends an unregistered domain to the registry, not to remoteIsms', () => {
144
+ // The only remedy the coverage assert can offer is listing the domain
145
+ // under 'remoteIsms', and canonicalizeRemoteIsms rejects a key that
146
+ // resolves to no known chain — so an unregistered domain has to be
147
+ // rejected here, by the check whose remedy the operator can act on.
148
+ const unregisteredDomain = 999999;
149
+ let thrown;
150
+ try {
151
+ assertCoverage({
152
+ [TestChainName.test1]: chainConfig({
153
+ interchainSecurityModule: delayedFlowIsm(),
154
+ remoteRouters: { [unregisteredDomain]: remoteRouter() },
155
+ }),
156
+ [TestChainName.test2]: delayedFlowLeg(),
157
+ });
158
+ }
159
+ catch (error) {
160
+ thrown = error instanceof Error ? error : new Error(String(error));
161
+ }
162
+ expect(thrown?.message).to.include(`No chain metadata for ${unregisteredDomain}`);
163
+ expect(thrown?.message).to.include('registry');
164
+ expect(thrown?.message).to.not.include('remoteIsms');
165
+ });
166
+ it('accepts an out-of-route leg enrolled through remoteIsms', () => {
167
+ expect(() => assertCoverage({
168
+ [TestChainName.test1]: chainConfig({
169
+ interchainSecurityModule: delayedFlowIsm({
170
+ [TestChainName.test2]: remoteIsm(),
171
+ [TestChainName.test3]: remoteIsm(),
172
+ }),
173
+ remoteRouters: { [TestChainName.test3]: remoteRouter() },
174
+ }),
175
+ [TestChainName.test2]: delayedFlowLeg(),
176
+ })).to.not.throw();
177
+ });
178
+ it('accepts remoteRouters entries naming chains of the route, by name or domain', () => {
179
+ expect(() => assertCoverage({
180
+ [TestChainName.test1]: chainConfig({
181
+ interchainSecurityModule: delayedFlowIsm(),
182
+ remoteRouters: {
183
+ [TestChainName.test2]: remoteRouter(),
184
+ [test3.domainId]: remoteRouter(),
185
+ },
186
+ }),
187
+ [TestChainName.test2]: delayedFlowLeg(),
188
+ [TestChainName.test3]: delayedFlowLeg(),
189
+ })).to.not.throw();
190
+ });
191
+ it('leaves a route without a delayed-flow leg alone', () => {
192
+ expect(() => assertCoverage({
193
+ [TestChainName.test1]: chainConfig({
194
+ remoteRouters: { [TestChainName.test3]: remoteRouter() },
195
+ }),
196
+ [TestChainName.test2]: plainLeg(),
197
+ })).to.not.throw();
198
+ });
199
+ });
200
+ describe('configured remoteIsms coverage', () => {
201
+ it('accepts remoteIsms that omit route-derived counterparts', () => {
202
+ expect(() => assertCoverage({
203
+ [TestChainName.test1]: chainConfig({
204
+ interchainSecurityModule: delayedFlowIsm({
205
+ [TestChainName.test2]: remoteIsm(),
206
+ }),
207
+ }),
208
+ [TestChainName.test2]: delayedFlowLeg(),
209
+ [TestChainName.test3]: delayedFlowLeg(),
210
+ })).to.not.throw();
211
+ });
212
+ it('accepts a remoteIsms naming every counterpart, by name or domain', () => {
213
+ expect(() => assertCoverage({
214
+ [TestChainName.test1]: chainConfig({
215
+ interchainSecurityModule: delayedFlowIsm({
216
+ [TestChainName.test2]: remoteIsm(),
217
+ [test3.domainId]: remoteIsm(),
218
+ }),
219
+ }),
220
+ [TestChainName.test2]: delayedFlowLeg(),
221
+ [TestChainName.test3]: delayedFlowLeg(),
222
+ })).to.not.throw();
223
+ });
224
+ });
225
+ });
226
+ describe('assertDelayedFlowRoutePreconditions', () => {
227
+ let multiProvider;
228
+ beforeEach(() => {
229
+ multiProvider = MultiProvider.createTestMultiProvider();
230
+ });
231
+ it('rejects a delayed-flow leg whose mailbox is still at nonce 0', async () => {
232
+ stubMailboxNonce(0);
233
+ const message = await captureError(() => assertDelayedFlowRoutePreconditions({
234
+ multiProvider,
235
+ warpDeployConfig: {
236
+ [TestChainName.test1]: delayedFlowLeg(),
237
+ [TestChainName.test2]: delayedFlowLeg(),
238
+ },
239
+ }));
240
+ expect(message).to.include('nonce 0');
241
+ });
242
+ it('accepts a delayed-flow route whose mailboxes have dispatched before', async () => {
243
+ stubMailboxNonce(1);
244
+ const message = await captureError(() => assertDelayedFlowRoutePreconditions({
245
+ multiProvider,
246
+ warpDeployConfig: {
247
+ [TestChainName.test1]: delayedFlowLeg(),
248
+ [TestChainName.test2]: delayedFlowLeg(),
249
+ },
250
+ }));
251
+ expect(message).to.equal('');
252
+ });
253
+ it('does not read mailbox state for a route without a delayed-flow leg', async () => {
254
+ const connectStub = stubMailboxNonce(0);
255
+ const message = await captureError(() => assertDelayedFlowRoutePreconditions({
256
+ multiProvider,
257
+ warpDeployConfig: {
258
+ [TestChainName.test1]: plainLeg(),
259
+ [TestChainName.test2]: plainLeg(),
260
+ },
261
+ }));
262
+ expect(message).to.equal('');
263
+ expect(connectStub.called).to.be.false;
264
+ });
265
+ it('accepts a remoteIsms that omits a route-derived counterpart', async () => {
266
+ stubMailboxNonce(1);
267
+ const message = await captureError(() => assertDelayedFlowRoutePreconditions({
268
+ multiProvider,
269
+ warpDeployConfig: {
270
+ [TestChainName.test1]: chainConfig({
271
+ interchainSecurityModule: delayedFlowIsm({
272
+ [TestChainName.test2]: remoteIsm(),
273
+ }),
274
+ }),
275
+ [TestChainName.test2]: delayedFlowLeg(),
276
+ [TestChainName.test3]: delayedFlowLeg(),
277
+ },
278
+ }));
279
+ expect(message).to.equal('');
280
+ });
281
+ it('rejects a remoteRouters entry naming a chain the route neither deploys nor enrolls', async () => {
282
+ stubMailboxNonce(1);
283
+ const message = await captureError(() => assertDelayedFlowRoutePreconditions({
284
+ multiProvider,
285
+ warpDeployConfig: {
286
+ [TestChainName.test1]: chainConfig({
287
+ interchainSecurityModule: delayedFlowIsm(),
288
+ remoteRouters: { [TestChainName.test3]: remoteRouter() },
289
+ }),
290
+ [TestChainName.test2]: delayedFlowLeg(),
291
+ },
292
+ }));
293
+ expect(message).to.include(TestChainName.test3);
294
+ expect(message).to.include('remoteRouters');
295
+ });
296
+ });
297
+ describe('executeWarpDeploy', () => {
298
+ let multiProvider;
299
+ beforeEach(() => {
300
+ multiProvider = MultiProvider.createTestMultiProvider();
301
+ });
302
+ const cases = [
303
+ {
304
+ name: 'rejects a partial delayed-flow topology before deploying anything',
305
+ mailboxNonce: 1,
306
+ warpDeployConfig: () => ({
307
+ [TestChainName.test1]: delayedFlowLeg(),
308
+ [TestChainName.test2]: plainLeg(),
309
+ }),
310
+ expectedMessage: TestChainName.test2,
311
+ },
312
+ {
313
+ name: 'rejects a delayed-flow leg on a nonce-0 mailbox before deploying anything',
314
+ mailboxNonce: 0,
315
+ warpDeployConfig: () => ({
316
+ [TestChainName.test1]: delayedFlowLeg(),
317
+ [TestChainName.test2]: delayedFlowLeg(),
318
+ }),
319
+ expectedMessage: 'nonce 0',
320
+ },
321
+ ];
322
+ for (const testCase of cases) {
323
+ it(testCase.name, async () => {
324
+ stubMailboxNonce(testCase.mailboxNonce);
325
+ const ismCreate = sandbox.stub(EvmIsmModule, 'create').rejects();
326
+ const tokenDeploy = sandbox
327
+ .stub(HypERC20Deployer.prototype, 'deploy')
328
+ .rejects();
329
+ const message = await captureError(async () => {
330
+ await executeWarpDeploy(testCase.warpDeployConfig(), multiProvider, {}, {}, {});
331
+ });
332
+ expect(message).to.include(testCase.expectedMessage);
333
+ expect(ismCreate.called, 'deployed an ISM tree').to.be.false;
334
+ expect(tokenDeploy.called, 'deployed a router').to.be.false;
335
+ });
336
+ }
337
+ // The extension entry point omits checks that measure the route by this
338
+ // subset; the CLI validates the complete route before reaching it.
339
+ it('executeWarpRouteExtensionDeploy accepts a subset declaring the legs it joins', async () => {
340
+ stubMailboxNonce(1);
341
+ const message = await captureError(async () => {
342
+ await executeWarpRouteExtensionDeploy({
343
+ [TestChainName.test3]: chainConfig({
344
+ interchainSecurityModule: delayedFlowIsm(),
345
+ remoteRouters: {
346
+ [TestChainName.test1]: remoteRouter(),
347
+ [TestChainName.test2]: remoteRouter(),
348
+ },
349
+ }),
350
+ }, multiProvider, {}, {}, {});
351
+ });
352
+ // Reached the deployment work itself (which has no registry addresses to
353
+ // work from here) rather than being rejected by the preconditions.
354
+ expect(message).to.include(`Registry factory addresses not found for ${TestChainName.test3}`);
355
+ });
356
+ });
357
+ });
358
+ //# sourceMappingURL=warp.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp.test.js","sourceRoot":"","sources":["../../src/deploy/warp.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ import { Address } from '@hyperlane-xyz/utils';
2
+ import { HookConfig } from '../hook/types.js';
3
+ import { IsmConfig } from '../ism/types.js';
4
+ import { MultiProvider } from '../providers/MultiProvider.js';
5
+ import { WarpRouteDeployConfigMailboxRequired } from '../token/types.js';
6
+ import { ChainMap, ChainName } from '../types.js';
7
+ import { HybridHookIsmConfig } from '../utils/ism.js';
8
+ /**
9
+ * One chain's share of a route's hybrid hook/ISM composition, resolved before
10
+ * any gas is spent.
11
+ *
12
+ * A hybrid is a single contract instance installed as BOTH the router's hook
13
+ * and its ISM — it meters flow on dispatch and preverifies on delivery out of
14
+ * the same bucket state — so it is declared on both surfaces and both
15
+ * declarations must name the same instance. This is the paired result.
16
+ */
17
+ export type WarpHybridChainPlan = {
18
+ chain: ChainName;
19
+ /**
20
+ * The agreed node, taken from the schema-parsed ISM tree. The hook tree's
21
+ * declaration was compared against it field by field (canonicalHybridNode)
22
+ * and carries no information this one lacks.
23
+ */
24
+ node: HybridHookIsmConfig;
25
+ /** The schema-parsed ISM tree the node was found in. */
26
+ ismTree: IsmConfig;
27
+ /** The schema-parsed hook tree the node was found in. */
28
+ hookTree: HookConfig;
29
+ };
30
+ /** The chains of a route that install a hybrid hook/ISM, keyed by chain. */
31
+ export type WarpHybridPlan = ChainMap<WarpHybridChainPlan>;
32
+ /**
33
+ * The slice of a chain's warp config the hybrid rules read. Kept structural so
34
+ * `warp apply`, which holds an expected config rather than a deploy config, can
35
+ * be validated by exactly the same code.
36
+ */
37
+ export type HybridChainConfig = {
38
+ interchainSecurityModule?: unknown;
39
+ hook?: unknown;
40
+ owner?: Address;
41
+ feeHook?: Address;
42
+ type?: WarpRouteDeployConfigMailboxRequired[string]['type'];
43
+ foreignDeployment?: string;
44
+ predicateWrapper?: unknown;
45
+ };
46
+ /**
47
+ * Resolves the hybrid hook/ISM composition of a warp route without spending
48
+ * any gas: it parses both config trees through their full schemas, finds the
49
+ * hybrid node on each surface, checks that the two declarations describe one
50
+ * instance, and validates everything about that instance which is decidable
51
+ * from the config (protocol, token type, hook position, no competing
52
+ * predicate wrapper, not a foreignDeployment).
53
+ *
54
+ * Every check here is per chain, so the result on a subset of a route is the
55
+ * same as on the whole route. The invariants whose verdict depends on WHICH
56
+ * chains the config contains — a delayed-flow route needs an instance on every
57
+ * leg, and external `remoteRouters` need explicit peers — live in
58
+ * `assertDelayedFlowRouteCoverage`, which only the whole-route entry points
59
+ * run.
60
+ */
61
+ export declare function planWarpRouteHybrids({ multiProvider, warpDeployConfig, }: {
62
+ multiProvider: MultiProvider;
63
+ warpDeployConfig: WarpRouteDeployConfigMailboxRequired;
64
+ }): WarpHybridPlan;
65
+ /**
66
+ * `planWarpRouteHybrids` for a single chain. `warp apply` reaches this directly:
67
+ * it plans one router at a time and must apply exactly the same rules the
68
+ * deploy path does, including the schema refinement, so that a config it
69
+ * accepts is one a fresh deploy would accept too.
70
+ */
71
+ export declare function planChainHybrid({ multiProvider, chain, config, }: {
72
+ multiProvider: MultiProvider;
73
+ chain: ChainName;
74
+ config: HybridChainConfig;
75
+ }): WarpHybridChainPlan | undefined;
76
+ /**
77
+ * The config the hybrid leaf is deployed from: the planned node bound to the
78
+ * router it guards, with the ownership the deploy needs while it is still
79
+ * wiring things up.
80
+ *
81
+ * Every hybrid stays owned by the deployer here so its owner matches the
82
+ * freshly deployed warp router throughout route wiring. Ownership moves to the
83
+ * configured owner in the route's final pass.
84
+ */
85
+ export declare function hybridLeafDeployConfig({ entry, warpRouter, deployerAddress, }: {
86
+ entry: WarpHybridChainPlan;
87
+ warpRouter: Address;
88
+ deployerAddress: Address;
89
+ }): HybridHookIsmConfig;
90
+ /**
91
+ * The parent trees to hand to EvmIsmModule / EvmHookModule once the shared
92
+ * instance exists: the same trees the plan captured, with the hybrid node on
93
+ * each surface replaced by that one address.
94
+ *
95
+ * Substituting rather than re-declaring is the point — a second declaration
96
+ * would deploy a second contract with its own bucket, and the router would
97
+ * meter dispatches against one while preverifying deliveries against the
98
+ * other.
99
+ */
100
+ export declare function resolveHybridTrees(entry: WarpHybridChainPlan, hybridAddress: Address): {
101
+ ism: IsmConfig;
102
+ hook: HookConfig;
103
+ };
104
+ //# sourceMappingURL=warpHybridPlan.d.ts.map