@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.
- package/dist/ccip/consts.d.ts.map +1 -1
- package/dist/ccip/consts.js +20 -0
- package/dist/ccip/consts.js.map +1 -1
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +20 -0
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/contracts/contracts.d.ts.map +1 -1
- package/dist/contracts/contracts.js +15 -0
- package/dist/contracts/contracts.js.map +1 -1
- package/dist/contracts/contracts.test.d.ts +2 -0
- package/dist/contracts/contracts.test.d.ts.map +1 -0
- package/dist/contracts/contracts.test.js +88 -0
- package/dist/contracts/contracts.test.js.map +1 -0
- package/dist/core/types.d.ts +80 -2602
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +19 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/types.test.js +58 -0
- package/dist/core/types.test.js.map +1 -1
- package/dist/deploy/warp.d.ts +119 -3
- package/dist/deploy/warp.d.ts.map +1 -1
- package/dist/deploy/warp.js +696 -33
- package/dist/deploy/warp.js.map +1 -1
- package/dist/deploy/warp.test.d.ts +2 -0
- package/dist/deploy/warp.test.d.ts.map +1 -0
- package/dist/deploy/warp.test.js +358 -0
- package/dist/deploy/warp.test.js.map +1 -0
- package/dist/deploy/warpHybridPlan.d.ts +104 -0
- package/dist/deploy/warpHybridPlan.d.ts.map +1 -0
- package/dist/deploy/warpHybridPlan.js +178 -0
- package/dist/deploy/warpHybridPlan.js.map +1 -0
- package/dist/deploy/warpHybridPlan.test.d.ts +2 -0
- package/dist/deploy/warpHybridPlan.test.d.ts.map +1 -0
- package/dist/deploy/warpHybridPlan.test.js +141 -0
- package/dist/deploy/warpHybridPlan.test.js.map +1 -0
- package/dist/hook/EvmHookModule.d.ts +1 -1
- package/dist/hook/EvmHookModule.d.ts.map +1 -1
- package/dist/hook/EvmHookModule.js +16 -3
- package/dist/hook/EvmHookModule.js.map +1 -1
- package/dist/hook/EvmHookReader.d.ts +10 -0
- package/dist/hook/EvmHookReader.d.ts.map +1 -1
- package/dist/hook/EvmHookReader.js +92 -11
- package/dist/hook/EvmHookReader.js.map +1 -1
- package/dist/hook/EvmHookReader.test.js +155 -1
- package/dist/hook/EvmHookReader.test.js.map +1 -1
- package/dist/hook/types.d.ts +107 -1983
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +49 -0
- package/dist/hook/types.js.map +1 -1
- package/dist/hook/types.test.js +21 -1
- package/dist/hook/types.test.js.map +1 -1
- package/dist/hook/updates.d.ts +1 -0
- package/dist/hook/updates.d.ts.map +1 -1
- package/dist/hook/updates.js +2 -2
- package/dist/hook/updates.js.map +1 -1
- package/dist/hook/utils.d.ts +28 -1
- package/dist/hook/utils.d.ts.map +1 -1
- package/dist/hook/utils.js +89 -0
- package/dist/hook/utils.js.map +1 -1
- package/dist/ica/types.d.ts +4 -674
- package/dist/ica/types.d.ts.map +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/dist/ism/EvmIsmModule.d.ts +28 -2
- package/dist/ism/EvmIsmModule.d.ts.map +1 -1
- package/dist/ism/EvmIsmModule.hardhat-test.js +478 -3
- package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
- package/dist/ism/EvmIsmModule.js +224 -10
- package/dist/ism/EvmIsmModule.js.map +1 -1
- package/dist/ism/EvmIsmReader.d.ts.map +1 -1
- package/dist/ism/EvmIsmReader.js +77 -1
- package/dist/ism/EvmIsmReader.js.map +1 -1
- package/dist/ism/EvmIsmReader.test.js +245 -4
- package/dist/ism/EvmIsmReader.test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +14 -4
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +372 -3
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +80 -6
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/delayedFlow.d.ts +31 -0
- package/dist/ism/delayedFlow.d.ts.map +1 -0
- package/dist/ism/delayedFlow.js +33 -0
- package/dist/ism/delayedFlow.js.map +1 -0
- package/dist/ism/types.d.ts +135 -4
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +263 -11
- package/dist/ism/types.js.map +1 -1
- package/dist/ism/types.test.js +433 -1
- package/dist/ism/types.test.js.map +1 -1
- package/dist/ism/utils.d.ts.map +1 -1
- package/dist/ism/utils.js +113 -3
- package/dist/ism/utils.js.map +1 -1
- package/dist/ism/utils.test.js +44 -0
- package/dist/ism/utils.test.js.map +1 -1
- package/dist/providers/MultiProviderAdapter.d.ts +3 -3
- package/dist/providers/MultiProviderAdapter.d.ts.map +1 -1
- package/dist/providers/MultiProviderAdapter.js +2 -1
- package/dist/providers/MultiProviderAdapter.js.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +4 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -1
- package/dist/providers/transactionFeeEstimators.d.ts +16 -9
- package/dist/providers/transactionFeeEstimators.d.ts.map +1 -1
- package/dist/providers/transactionFeeEstimators.js +66 -17
- package/dist/providers/transactionFeeEstimators.js.map +1 -1
- package/dist/providers/transactionFeeEstimators.test.js +153 -1
- package/dist/providers/transactionFeeEstimators.test.js.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts +14 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js +46 -5
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts +2 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js +125 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js.map +1 -0
- package/dist/router/HyperlaneRouterDeployer.d.ts +3 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.js +4 -2
- package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/router/types.d.ts +6 -1011
- package/dist/router/types.d.ts.map +1 -1
- package/dist/test/testUtils.d.ts +1 -1
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +17 -0
- package/dist/test/testUtils.js.map +1 -1
- package/dist/test/testUtils.test.d.ts +2 -0
- package/dist/test/testUtils.test.d.ts.map +1 -0
- package/dist/test/testUtils.test.js +28 -0
- package/dist/test/testUtils.test.js.map +1 -0
- package/dist/token/EvmWarpModule.d.ts +44 -8
- package/dist/token/EvmWarpModule.d.ts.map +1 -1
- package/dist/token/EvmWarpModule.hardhat-test.js +574 -4
- package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -1
- package/dist/token/EvmWarpModule.js +237 -25
- package/dist/token/EvmWarpModule.js.map +1 -1
- package/dist/token/configUtils.d.ts +17 -7
- package/dist/token/configUtils.d.ts.map +1 -1
- package/dist/token/configUtils.js +108 -0
- package/dist/token/configUtils.js.map +1 -1
- package/dist/token/configUtils.test.js +155 -1
- package/dist/token/configUtils.test.js.map +1 -1
- package/dist/token/deploy.d.ts +3 -1
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.hardhat-test.js +454 -3
- package/dist/token/deploy.hardhat-test.js.map +1 -1
- package/dist/token/deploy.js +25 -6
- package/dist/token/deploy.js.map +1 -1
- package/dist/token/types.d.ts +169 -2931
- package/dist/token/types.d.ts.map +1 -1
- package/dist/token/types.test.js +48 -0
- package/dist/token/types.test.js.map +1 -1
- package/dist/token/warpCheck.d.ts.map +1 -1
- package/dist/token/warpCheck.js +36 -1
- package/dist/token/warpCheck.js.map +1 -1
- package/dist/utils/ism.d.ts +167 -1
- package/dist/utils/ism.d.ts.map +1 -1
- package/dist/utils/ism.js +412 -2
- package/dist/utils/ism.js.map +1 -1
- package/dist/utils/ism.test.d.ts +2 -0
- package/dist/utils/ism.test.d.ts.map +1 -0
- package/dist/utils/ism.test.js +372 -0
- package/dist/utils/ism.test.js.map +1 -0
- package/package.json +10 -10
package/dist/deploy/warp.js.map
CHANGED
|
@@ -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 @@
|
|
|
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":"AAAA,OAAO,EAAW,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAa,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EACL,8BAA8B,EAC9B,mCAAmC,EACnC,iBAAiB,EACjB,+BAA+B,GAChC,MAAM,WAAW,CAAC;AAEnB,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAEhC,SAAS,cAAc,CAAC,UAAmC;QACzD,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,WAAW;YACzB,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE;gBACjD;oBACE,IAAI,EAAE,OAAO,CAAC,mBAAmB;oBACjC,YAAY,EAAE,KAAK;oBACnB,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,MAAM;oBAChB,KAAK;oBACL,UAAU;iBACX;aACF;SACF,CAAC;IACJ,CAAC;IAED,SAAS,WAAW,CAAC,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,GAKd;QACC,MAAM,MAAM,GACV,OAAO,wBAAwB,KAAK,QAAQ;YAC1C,CAAC,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO;YACL,IAAI,EAAE,SAAS,CAAC,SAAS;YACzB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;YACZ,KAAK;YACL,OAAO;YACP,wBAAwB;YACxB,IAAI,EAAE,MAAM;YACZ,iBAAiB;YACjB,aAAa;SACd,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,GAAG,EAAE,CAC1B,WAAW,CAAC,EAAE,wBAAwB,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC;IAE1D,IAAI,OAA2B,CAAC;IAEhC,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,SAAS,gBAAgB,CAAC,KAAa;QACrC,MAAM,aAAa,GAAG,cAAc,CAAU;YAC5C,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;SACtC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,MAA2B;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,EAAE,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC9C,MAAM,aAAa,GAAG,aAAa,CAAC,uBAAuB,EAAE,CAAC;QAE9D,MAAM,cAAc,GAAG,CACrB,gBAAsD,EACtD,EAAE,CAAC,8BAA8B,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAEzE,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,CAAC,GAAG,EAAE,CACV,cAAc,CAAC;gBACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE;gBACjC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE;aAClC,CAAC,CACH,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,CAAC,GAAG,EAAE,CACV,cAAc,CAAC;gBACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;gBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;gBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;aACxC,CAAC,CACH,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,CAAC,GAAG,EAAE,CACV,cAAc,CAAC;gBACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;gBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;gBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE;aAClC,CAAC,CACH,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,CAAC,GAAG,EAAE,CACV,cAAc,CAAC;gBACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;gBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE;aAClC,CAAC,CACH,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,CAAC,GAAG,EAAE,CACV,cAAc,CAAC;gBACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;gBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;oBACjC,wBAAwB,EAAE,aAAa,EAAE;iBAC1C,CAAC;aACH,CAAC,CACH,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,CAAC,GAAG,EAAE,CACV,cAAc,CAAC;gBACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;gBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;oBACjC,wBAAwB,EAAE,cAAc,EAAE;oBAC1C,iBAAiB,EAAE,aAAa,EAAE;iBACnC,CAAC;aACH,CAAC,CACH,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;YACpD,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;gBAChF,MAAM,CAAC,GAAG,EAAE,CACV,cAAc,CAAC;oBACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;wBACjC,wBAAwB,EAAE,cAAc,EAAE;wBAC1C,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE;qBACzD,CAAC;oBACF,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;iBACxC,CAAC,CACH,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;gBACjF,MAAM,CAAC,GAAG,EAAE,CACV,cAAc,CAAC;oBACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;wBACjC,wBAAwB,EAAE,cAAc,EAAE;wBAC1C,aAAa,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,EAAE;qBACpD,CAAC;oBACF,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;iBACxC,CAAC,CACH,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,YAAY,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;gBACzE,sEAAsE;gBACtE,oEAAoE;gBACpE,mEAAmE;gBACnE,oEAAoE;gBACpE,MAAM,kBAAkB,GAAG,MAAM,CAAC;gBAClC,IAAI,MAAyB,CAAC;gBAC9B,IAAI,CAAC;oBACH,cAAc,CAAC;wBACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;4BACjC,wBAAwB,EAAE,cAAc,EAAE;4BAC1C,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,YAAY,EAAE,EAAE;yBACxD,CAAC;wBACF,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;qBACxC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrE,CAAC;gBAED,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAChC,yBAAyB,kBAAkB,EAAE,CAC9C,CAAC;gBACF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC/C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;gBACjE,MAAM,CAAC,GAAG,EAAE,CACV,cAAc,CAAC;oBACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;wBACjC,wBAAwB,EAAE,cAAc,CAAC;4BACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE;4BAClC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE;yBACnC,CAAC;wBACF,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE;qBACzD,CAAC;oBACF,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;iBACxC,CAAC,CACH,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;gBACrF,MAAM,CAAC,GAAG,EAAE,CACV,cAAc,CAAC;oBACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;wBACjC,wBAAwB,EAAE,cAAc,EAAE;wBAC1C,aAAa,EAAE;4BACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE;4BACrC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE;yBACjC;qBACF,CAAC;oBACF,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;oBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;iBACxC,CAAC,CACH,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;gBACzD,MAAM,CAAC,GAAG,EAAE,CACV,cAAc,CAAC;oBACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;wBACjC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE;qBACzD,CAAC;oBACF,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE;iBAClC,CAAC,CACH,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;YAC9C,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;gBACjE,MAAM,CAAC,GAAG,EAAE,CACV,cAAc,CAAC;oBACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;wBACjC,wBAAwB,EAAE,cAAc,CAAC;4BACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE;yBACnC,CAAC;qBACH,CAAC;oBACF,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;oBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;iBACxC,CAAC,CACH,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;gBAC1E,MAAM,CAAC,GAAG,EAAE,CACV,cAAc,CAAC;oBACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;wBACjC,wBAAwB,EAAE,cAAc,CAAC;4BACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE;4BAClC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE;yBAC9B,CAAC;qBACH,CAAC;oBACF,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;oBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;iBACxC,CAAC,CACH,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;QACnD,IAAI,aAA4B,CAAC;QAEjC,UAAU,CAAC,GAAG,EAAE;YACd,aAAa,GAAG,aAAa,CAAC,uBAAuB,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEpB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,CACtC,mCAAmC,CAAC;gBAClC,aAAa;gBACb,gBAAgB,EAAE;oBAChB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;oBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;iBACxC;aACF,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEpB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,CACtC,mCAAmC,CAAC;gBAClC,aAAa;gBACb,gBAAgB,EAAE;oBAChB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;oBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;iBACxC;aACF,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAExC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,CACtC,mCAAmC,CAAC;gBAClC,aAAa;gBACb,gBAAgB,EAAE;oBAChB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE;oBACjC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE;iBAClC;aACF,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEpB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,CACtC,mCAAmC,CAAC;gBAClC,aAAa;gBACb,gBAAgB,EAAE;oBAChB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;wBACjC,wBAAwB,EAAE,cAAc,CAAC;4BACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE;yBACnC,CAAC;qBACH,CAAC;oBACF,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;oBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;iBACxC;aACF,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;YAClG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEpB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,CACtC,mCAAmC,CAAC;gBAClC,aAAa;gBACb,gBAAgB,EAAE;oBAChB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;wBACjC,wBAAwB,EAAE,cAAc,EAAE;wBAC1C,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE;qBACzD,CAAC;oBACF,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;iBACxC;aACF,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,IAAI,aAA4B,CAAC;QAEjC,UAAU,CAAC,GAAG,EAAE;YACd,aAAa,GAAG,aAAa,CAAC,uBAAuB,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAcH,MAAM,KAAK,GAAW;YACpB;gBACE,IAAI,EAAE,mEAAmE;gBACzE,YAAY,EAAE,CAAC;gBACf,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;oBACvB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;oBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE;iBAClC,CAAC;gBACF,eAAe,EAAE,aAAa,CAAC,KAAK;aACrC;YACD;gBACE,IAAI,EAAE,2EAA2E;gBACjF,YAAY,EAAE,CAAC;gBACf,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;oBACvB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;oBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE;iBACxC,CAAC;gBACF,eAAe,EAAE,SAAS;aAC3B;SACF,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;gBAC3B,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACxC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjE,MAAM,WAAW,GAAG,OAAO;qBACxB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC;qBAC1C,OAAO,EAAE,CAAC;gBAEb,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,KAAK,IAAI,EAAE;oBAC5C,MAAM,iBAAiB,CACrB,QAAQ,CAAC,gBAAgB,EAAE,EAC3B,aAAa,EACb,EAAE,EACF,EAAE,EACF,EAAE,CACH,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACrD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC7D,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;YAC9D,CAAC,CAAC,CAAC;QACL,CAAC;QAED,wEAAwE;QACxE,mEAAmE;QACnE,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC5F,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEpB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,KAAK,IAAI,EAAE;gBAC5C,MAAM,+BAA+B,CACnC;oBACE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;wBACjC,wBAAwB,EAAE,cAAc,EAAE;wBAC1C,aAAa,EAAE;4BACb,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE;4BACrC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE;yBACtC;qBACF,CAAC;iBACH,EACD,aAAa,EACb,EAAE,EACF,EAAE,EACF,EAAE,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,yEAAyE;YACzE,mEAAmE;YACnE,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CACxB,4CAA4C,aAAa,CAAC,KAAK,EAAE,CAClE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -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
|