@hyperlane-xyz/cli 4.0.0-alpha → 4.0.0-alpha.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 (85) hide show
  1. package/dist/cli.js +6 -6
  2. package/dist/cli.js.map +1 -1
  3. package/dist/src/avs/stakeRegistry.js +1 -1
  4. package/dist/src/avs/stakeRegistry.js.map +1 -1
  5. package/dist/src/commands/chains.d.ts +6 -0
  6. package/dist/src/commands/chains.d.ts.map +1 -0
  7. package/dist/src/commands/{registry.js → chains.js} +3 -3
  8. package/dist/src/commands/chains.js.map +1 -0
  9. package/dist/src/commands/config.d.ts.map +1 -1
  10. package/dist/src/commands/config.js +55 -5
  11. package/dist/src/commands/config.js.map +1 -1
  12. package/dist/src/commands/deploy.d.ts +0 -13
  13. package/dist/src/commands/deploy.d.ts.map +1 -1
  14. package/dist/src/commands/deploy.js +17 -15
  15. package/dist/src/commands/deploy.js.map +1 -1
  16. package/dist/src/commands/{warp.d.ts → hook.d.ts} +2 -6
  17. package/dist/src/commands/hook.d.ts.map +1 -0
  18. package/dist/src/commands/hook.js +34 -0
  19. package/dist/src/commands/hook.js.map +1 -0
  20. package/dist/src/commands/ism.d.ts +12 -0
  21. package/dist/src/commands/ism.d.ts.map +1 -0
  22. package/dist/src/commands/ism.js +36 -0
  23. package/dist/src/commands/ism.js.map +1 -0
  24. package/dist/src/commands/options.d.ts +1 -1
  25. package/dist/src/commands/options.d.ts.map +1 -1
  26. package/dist/src/commands/options.js +2 -3
  27. package/dist/src/commands/options.js.map +1 -1
  28. package/dist/src/commands/send.d.ts.map +1 -1
  29. package/dist/src/commands/send.js +42 -2
  30. package/dist/src/commands/send.js.map +1 -1
  31. package/dist/src/config/hooks.d.ts +87 -4525
  32. package/dist/src/config/hooks.d.ts.map +1 -1
  33. package/dist/src/config/hooks.js +97 -31
  34. package/dist/src/config/hooks.js.map +1 -1
  35. package/dist/src/config/ism.d.ts +61 -58
  36. package/dist/src/config/ism.d.ts.map +1 -1
  37. package/dist/src/config/ism.js +128 -40
  38. package/dist/src/config/ism.js.map +1 -1
  39. package/dist/src/config/warp.d.ts +1 -2
  40. package/dist/src/config/warp.d.ts.map +1 -1
  41. package/dist/src/config/warp.js +3 -24
  42. package/dist/src/config/warp.js.map +1 -1
  43. package/dist/src/context/context.d.ts.map +1 -1
  44. package/dist/src/context/context.js +3 -3
  45. package/dist/src/context/context.js.map +1 -1
  46. package/dist/src/deploy/core.d.ts +8 -4
  47. package/dist/src/deploy/core.d.ts.map +1 -1
  48. package/dist/src/deploy/core.js +234 -28
  49. package/dist/src/deploy/core.js.map +1 -1
  50. package/dist/src/deploy/dry-run.d.ts +1 -1
  51. package/dist/src/deploy/dry-run.d.ts.map +1 -1
  52. package/dist/src/deploy/dry-run.js +0 -1
  53. package/dist/src/deploy/dry-run.js.map +1 -1
  54. package/dist/src/deploy/utils.d.ts +0 -4
  55. package/dist/src/deploy/utils.d.ts.map +1 -1
  56. package/dist/src/deploy/utils.js +1 -18
  57. package/dist/src/deploy/utils.js.map +1 -1
  58. package/dist/src/send/message.d.ts.map +1 -1
  59. package/dist/src/send/message.js +24 -11
  60. package/dist/src/send/message.js.map +1 -1
  61. package/dist/src/submit/submit.js +1 -1
  62. package/dist/src/submit/submit.js.map +1 -1
  63. package/dist/src/tests/hooks.test.js +8 -14
  64. package/dist/src/tests/hooks.test.js.map +1 -1
  65. package/dist/src/tests/ism.test.js +1 -1
  66. package/dist/src/tests/ism.test.js.map +1 -1
  67. package/dist/src/utils/keys.js +2 -2
  68. package/dist/src/utils/keys.js.map +1 -1
  69. package/dist/src/validator/address.js +3 -3
  70. package/dist/src/validator/address.js.map +1 -1
  71. package/dist/src/version.d.ts +1 -1
  72. package/dist/src/version.d.ts.map +1 -1
  73. package/dist/src/version.js +1 -1
  74. package/dist/src/version.js.map +1 -1
  75. package/package.json +3 -3
  76. package/dist/src/commands/core.d.ts +0 -16
  77. package/dist/src/commands/core.d.ts.map +0 -1
  78. package/dist/src/commands/core.js +0 -88
  79. package/dist/src/commands/core.js.map +0 -1
  80. package/dist/src/commands/registry.d.ts +0 -6
  81. package/dist/src/commands/registry.d.ts.map +0 -1
  82. package/dist/src/commands/registry.js.map +0 -1
  83. package/dist/src/commands/warp.d.ts.map +0 -1
  84. package/dist/src/commands/warp.js +0 -101
  85. package/dist/src/commands/warp.js.map +0 -1
@@ -1,50 +1,256 @@
1
- import { EvmCoreModule } from '@hyperlane-xyz/sdk';
1
+ import { confirm } from '@inquirer/prompts';
2
+ import { ethers } from 'ethers';
3
+ import { GasOracleContractType, HyperlaneCore, HyperlaneCoreDeployer, HyperlaneIsmFactory, HyperlaneProxyFactoryDeployer, IsmType, buildAgentConfig, buildAggregationIsmConfigs, defaultMultisigConfigs, multisigIsmVerificationCost, serializeContractsMap, } from '@hyperlane-xyz/sdk';
4
+ import { objFilter, objMap, objMerge } from '@hyperlane-xyz/utils';
5
+ import { presetHookConfigs, readHooksConfigMap } from '../config/hooks.js';
6
+ import { readIsmConfig } from '../config/ism.js';
7
+ import { readMultisigConfig } from '../config/multisig.js';
2
8
  import { MINIMUM_CORE_DEPLOY_GAS } from '../consts.js';
3
- import { logBlue } from '../logger.js';
4
- import { runSingleChainSelectionStep } from '../utils/chains.js';
5
- import { completeDeploy, prepareDeploy, runDeployPlanStep, runPreflightChecksForChains, } from './utils.js';
9
+ import { log, logBlue, logBoldUnderlinedRed, logGray, logGreen, logRed, } from '../logger.js';
10
+ import { runMultiChainSelectionStep } from '../utils/chains.js';
11
+ import { runFileSelectionStep, writeJson } from '../utils/files.js';
12
+ import { completeDeploy, isISMConfig, isZODISMConfig, prepareDeploy, runPreflightChecksForChains, } from './utils.js';
13
+ const CONTRACT_CACHE_EXCLUSIONS = ['interchainGasPaymaster'];
6
14
  /**
7
15
  * Executes the core deploy command.
8
16
  */
9
- export async function runCoreDeploy({ context, chain, config, }) {
10
- const { signer, isDryRun, chainMetadata, dryRunChain, registry, skipConfirmation, } = context;
11
- // Select a dry-run chain if it's not supplied
12
- if (dryRunChain) {
13
- chain = dryRunChain;
14
- }
15
- else if (!chain) {
17
+ export async function runCoreDeploy({ context, chains, ismConfigPath, hookConfigPath, agentOutPath, }) {
18
+ const { chainMetadata, signer, dryRunChain, skipConfirmation } = context;
19
+ if (dryRunChain)
20
+ chains = [dryRunChain];
21
+ else if (!chains?.length) {
16
22
  if (skipConfirmation)
17
- throw new Error('No chain provided');
18
- chain = await runSingleChainSelectionStep(chainMetadata, 'Select chain to connect:');
23
+ throw new Error('No chains provided');
24
+ chains = await runMultiChainSelectionStep(chainMetadata, 'Select chains to connect:', true);
19
25
  }
26
+ const result = await runIsmStep(chains, skipConfirmation, ismConfigPath);
27
+ // we can either specify the full ISM config or just the multisig config
28
+ const isIsmConfig = isISMConfig(result);
29
+ const ismConfigs = isIsmConfig ? result : undefined;
30
+ const multisigConfigs = isIsmConfig
31
+ ? defaultMultisigConfigs
32
+ : result;
33
+ const hooksConfig = await runHookStep(chains, hookConfigPath);
20
34
  const deploymentParams = {
21
35
  context,
22
- chain,
23
- config,
36
+ chains,
37
+ ismConfigs,
38
+ multisigConfigs,
39
+ hooksConfig,
40
+ agentOutPath,
24
41
  };
25
42
  await runDeployPlanStep(deploymentParams);
26
43
  await runPreflightChecksForChains({
27
44
  ...deploymentParams,
28
- chains: [chain],
29
45
  minGas: MINIMUM_CORE_DEPLOY_GAS,
30
46
  });
31
47
  const userAddress = await signer.getAddress();
32
- const initialBalances = await prepareDeploy(context, userAddress, [chain]);
48
+ const initialBalances = await prepareDeploy(context, userAddress, chains);
49
+ await executeDeploy(deploymentParams);
50
+ await completeDeploy(context, 'core', initialBalances, userAddress, chains);
51
+ }
52
+ async function runIsmStep(selectedChains, skipConfirmation, ismConfigPath) {
53
+ if (!ismConfigPath) {
54
+ logBlue('\n', 'Hyperlane instances requires an Interchain Security Module (ISM).');
55
+ logGray('Example config: https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/cli/typescript/cli/examples/ism.yaml');
56
+ if (skipConfirmation)
57
+ throw new Error('ISM config required');
58
+ ismConfigPath = await runFileSelectionStep('./configs', 'ISM config', 'ism');
59
+ }
60
+ const isAdvancedIsm = isZODISMConfig(ismConfigPath);
61
+ // separate flow for 'ism' and 'ism-advanced' options
62
+ if (isAdvancedIsm) {
63
+ logBoldUnderlinedRed('WARNING: YOU ARE DEPLOYING WITH AN ADVANCED ISM CONFIG');
64
+ logRed('Advanced ISM configs require knowledge of different ISM types and how they work together topologically. If possible, use the basic ISM configs are recommended.');
65
+ const ismConfig = readIsmConfig(ismConfigPath);
66
+ const requiredIsms = objFilter(ismConfig, (chain, config) => selectedChains.includes(chain));
67
+ // selected chains - (user configs + default configs) = missing config
68
+ const missingConfigs = selectedChains.filter((c) => !Object.keys(ismConfig).includes(c));
69
+ if (missingConfigs.length > 0) {
70
+ throw new Error(`Missing advanced ISM config for one or more chains: ${missingConfigs.join(', ')}`);
71
+ }
72
+ log(`Found configs for chains: ${selectedChains.join(', ')}`);
73
+ return requiredIsms;
74
+ }
75
+ else {
76
+ const multisigConfigs = {
77
+ ...defaultMultisigConfigs,
78
+ ...readMultisigConfig(ismConfigPath),
79
+ };
80
+ const requiredMultisigs = objFilter(multisigConfigs, (chain, config) => selectedChains.includes(chain));
81
+ // selected chains - (user configs + default configs) = missing config
82
+ const missingConfigs = selectedChains.filter((c) => !Object.keys(requiredMultisigs).includes(c));
83
+ if (missingConfigs.length > 0) {
84
+ throw new Error(`Missing ISM config for one or more chains: ${missingConfigs.join(', ')}`);
85
+ }
86
+ log(`Found configs for chains: ${selectedChains.join(', ')}`);
87
+ return requiredMultisigs;
88
+ }
89
+ }
90
+ async function runHookStep(_selectedChains, hookConfigPath) {
91
+ if (!hookConfigPath)
92
+ return {};
93
+ return readHooksConfigMap(hookConfigPath);
94
+ }
95
+ async function runDeployPlanStep({ context, chains }) {
96
+ const { signer, skipConfirmation } = context;
97
+ const address = await signer.getAddress();
98
+ logBlue('\nDeployment plan');
99
+ logGray('===============');
100
+ log(`Transaction signer and owner of new contracts will be ${address}`);
101
+ log(`Deploying to ${chains.join(', ')}`);
102
+ log(`There are several contracts required for each chain but contracts in your provided registries will be skipped`);
103
+ if (skipConfirmation)
104
+ return;
105
+ const isConfirmed = await confirm({
106
+ message: 'Is this deployment plan correct?',
107
+ });
108
+ if (!isConfirmed)
109
+ throw new Error('Deployment cancelled');
110
+ }
111
+ async function executeDeploy({ context, chains, ismConfigs = {}, multisigConfigs = {}, hooksConfig = {}, agentOutPath, }) {
33
112
  logBlue('All systems ready, captain! Beginning deployment...');
34
- const evmCoreModule = await EvmCoreModule.create({
35
- chain,
36
- config,
37
- multiProvider: context.multiProvider,
113
+ const { signer, multiProvider, registry } = context;
114
+ let chainAddresses = await registry.getAddresses();
115
+ chainAddresses = filterAddressesToCache(chainAddresses);
116
+ const owner = await signer.getAddress();
117
+ let artifacts = {};
118
+ // 1. Deploy ISM factories to all deployable chains that don't have them.
119
+ logBlue('Deploying ISM factory contracts');
120
+ const ismFactoryDeployer = new HyperlaneProxyFactoryDeployer(multiProvider);
121
+ ismFactoryDeployer.cacheAddressesMap(chainAddresses);
122
+ const ismFactoryConfig = chains.reduce((chainMap, curr) => {
123
+ chainMap[curr] = {};
124
+ return chainMap;
125
+ }, {});
126
+ const ismFactoryContracts = await ismFactoryDeployer.deploy(ismFactoryConfig);
127
+ artifacts = await updateChainAddresses(registry, ismFactoryContracts, artifacts, context.isDryRun);
128
+ logGreen('ISM factory contracts deployed');
129
+ // Build an IsmFactory that covers all chains so that we can
130
+ // use it to deploy ISMs to remote chains.
131
+ const ismFactory = HyperlaneIsmFactory.fromAddressesMap(chainAddresses, multiProvider);
132
+ // 3. Construct ISM configs for all deployable chains
133
+ const defaultIsms = {};
134
+ for (const ismOrigin of chains) {
135
+ defaultIsms[ismOrigin] =
136
+ ismConfigs[ismOrigin] ??
137
+ buildIsmConfig(owner, ismOrigin, chains, multisigConfigs);
138
+ }
139
+ // 4. Deploy core contracts to chains
140
+ logBlue(`Deploying core contracts to ${chains.join(', ')}`);
141
+ const coreDeployer = new HyperlaneCoreDeployer(multiProvider, ismFactory);
142
+ coreDeployer.cacheAddressesMap(chainAddresses);
143
+ const coreConfigs = buildCoreConfigMap(owner, chains, defaultIsms, hooksConfig);
144
+ const coreContracts = await coreDeployer.deploy(coreConfigs);
145
+ // 4.5 recover the toplevel ISM address
146
+ const isms = {};
147
+ for (const chain of chains) {
148
+ isms[chain] = {
149
+ interchainSecurityModule: coreDeployer.cachedAddresses[chain].interchainSecurityModule,
150
+ };
151
+ }
152
+ artifacts = objMerge(artifacts, isms);
153
+ artifacts = await updateChainAddresses(registry, coreContracts, artifacts, context.isDryRun);
154
+ logGreen('✅ Core contracts deployed');
155
+ log(JSON.stringify(artifacts, null, 2));
156
+ await writeAgentConfig(context, artifacts, chains, agentOutPath);
157
+ logBlue('Deployment is complete!');
158
+ }
159
+ function filterAddressesToCache(addressesMap) {
160
+ // Filter out the certain addresses that must always be
161
+ // deployed when deploying to a PI chain.
162
+ // See https://github.com/hyperlane-xyz/hyperlane-monorepo/pull/2983
163
+ // And https://github.com/hyperlane-xyz/hyperlane-monorepo/pull/3183
164
+ return objMap(addressesMap, (_chain, addresses) => objFilter(addresses, (contract, _address) => !CONTRACT_CACHE_EXCLUSIONS.includes(contract)));
165
+ }
166
+ function buildIsmConfig(owner, local, chains, multisigIsmConfigs) {
167
+ const aggregationIsmConfigs = buildAggregationIsmConfigs(local, chains, multisigIsmConfigs);
168
+ return {
169
+ owner,
170
+ type: IsmType.ROUTING,
171
+ domains: aggregationIsmConfigs,
172
+ };
173
+ }
174
+ function buildCoreConfigMap(owner, chains, defaultIsms, hooksConfig) {
175
+ return chains.reduce((config, chain) => {
176
+ const hooks = hooksConfig[chain] ?? presetHookConfigs(owner);
177
+ config[chain] = {
178
+ owner,
179
+ defaultIsm: defaultIsms[chain],
180
+ defaultHook: hooks.default,
181
+ requiredHook: hooks.required,
182
+ };
183
+ return config;
184
+ }, {});
185
+ }
186
+ export function buildIgpConfigMap(owner, chains, multisigConfigs) {
187
+ const configMap = {};
188
+ for (const chain of chains) {
189
+ const overhead = {};
190
+ const gasOracleType = {};
191
+ for (const remote of chains) {
192
+ if (chain === remote)
193
+ continue;
194
+ // TODO: accurate estimate of gas from ChainMap<ISMConfig>
195
+ const threshold = multisigConfigs[remote]
196
+ ? multisigConfigs[remote].threshold
197
+ : 2;
198
+ const validatorsLength = multisigConfigs[remote]
199
+ ? multisigConfigs[remote].validators.length
200
+ : 3;
201
+ overhead[remote] = multisigIsmVerificationCost(threshold, validatorsLength);
202
+ gasOracleType[remote] = GasOracleContractType.StorageGasOracle;
203
+ }
204
+ configMap[chain] = {
205
+ owner,
206
+ beneficiary: owner,
207
+ gasOracleType,
208
+ overhead,
209
+ oracleKey: owner,
210
+ };
211
+ }
212
+ return configMap;
213
+ }
214
+ async function updateChainAddresses(registry, newContracts, otherAddresses, isDryRun) {
215
+ let newAddresses = serializeContractsMap(newContracts);
216
+ // The HyperlaneCoreDeployer is returning a nested object with ISM addresses
217
+ // from other chains, which don't need to be in the artifacts atm.
218
+ newAddresses = objMap(newAddresses, (_, newChainAddresses) => {
219
+ // For each chain in the addresses chainmap, filter the values to those that are just strings
220
+ return objFilter(newChainAddresses, (_, value) => typeof value === 'string');
38
221
  });
39
- await completeDeploy(context, 'core', initialBalances, userAddress, [chain]);
40
- const deployedAddresses = evmCoreModule.serialize();
41
- if (!isDryRun) {
222
+ const mergedAddresses = objMerge(otherAddresses, newAddresses);
223
+ if (isDryRun)
224
+ return mergedAddresses;
225
+ for (const chainName of Object.keys(newContracts)) {
42
226
  await registry.updateChain({
43
- chainName: chain,
44
- addresses: deployedAddresses,
227
+ chainName,
228
+ addresses: mergedAddresses[chainName],
45
229
  });
46
- // @TODO implement writeAgentConfig
47
230
  }
48
- logBlue('Deployment is complete!');
231
+ return mergedAddresses;
232
+ }
233
+ async function writeAgentConfig(context, artifacts, chains, outPath) {
234
+ if (context.isDryRun)
235
+ return;
236
+ log('Writing agent configs');
237
+ const { multiProvider, registry } = context;
238
+ const startBlocks = {};
239
+ const core = HyperlaneCore.fromAddressesMap(artifacts, multiProvider);
240
+ for (const chain of chains) {
241
+ const mailbox = core.getContracts(chain).mailbox;
242
+ startBlocks[chain] = (await mailbox.deployedBlock()).toNumber();
243
+ }
244
+ const chainAddresses = await registry.getAddresses();
245
+ for (const chain of chains) {
246
+ if (!chainAddresses[chain].interchainGasPaymaster) {
247
+ chainAddresses[chain].interchainGasPaymaster =
248
+ ethers.constants.AddressZero;
249
+ }
250
+ }
251
+ const agentConfig = buildAgentConfig(chains, // Use only the chains that were deployed to
252
+ multiProvider, chainAddresses, startBlocks);
253
+ writeJson(outPath, agentConfig);
254
+ logGreen('Agent configs written');
49
255
  }
50
256
  //# sourceMappingURL=core.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/deploy/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,YAAY,CAAC;AAOpB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,OAAO,EACP,KAAK,EACL,MAAM,GAKP;IACC,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,aAAa,EACb,WAAW,EACX,QAAQ,EACR,gBAAgB,GACjB,GAAG,OAAO,CAAC;IAEZ,8CAA8C;IAC9C,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,GAAG,WAAW,CAAC;IACtB,CAAC;SAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,gBAAgB;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3D,KAAK,GAAG,MAAM,2BAA2B,CACvC,aAAa,EACb,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IACD,MAAM,gBAAgB,GAAiB;QACrC,OAAO;QACP,KAAK;QACL,MAAM;KACP,CAAC;IAEF,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAC1C,MAAM,2BAA2B,CAAC;QAChC,GAAG,gBAAgB;QACnB,MAAM,EAAE,CAAC,KAAK,CAAC;QACf,MAAM,EAAE,uBAAuB;KAChC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAE9C,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3E,OAAO,CAAC,qDAAqD,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC;QAC/C,KAAK;QACL,MAAM;QACN,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;IAEH,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,MAAM,iBAAiB,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;IAEpD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,QAAQ,CAAC,WAAW,CAAC;YACzB,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,iBAAiB;SAC7B,CAAC,CAAC;QAEH,mCAAmC;IACrC,CAAC;IACD,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/deploy/core.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { MultiProvider } from '@hyperlane-xyz/sdk';
4
4
  * @param multiProvider the MultiProvider to be prepared
5
5
  * @param chains the chain selection passed-in by the user
6
6
  */
7
- export declare function forkNetworkToMultiProvider(multiProvider: MultiProvider, chain: string): Promise<MultiProvider<{}>>;
7
+ export declare function forkNetworkToMultiProvider(multiProvider: MultiProvider, chain: string): Promise<void>;
8
8
  /**
9
9
  * Ensures an anvil node is running locally.
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"dry-run.d.ts","sourceRoot":"","sources":["../../../src/deploy/dry-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAId,MAAM,oBAAoB,CAAC;AAO5B;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,MAAM,8BAQd;AAED;;GAEG;AACH,wBAAsB,WAAW,kBAahC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,QAKjE;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,iBAInD"}
1
+ {"version":3,"file":"dry-run.d.ts","sourceRoot":"","sources":["../../../src/deploy/dry-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAId,MAAM,oBAAoB,CAAC;AAO5B;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,MAAM,iBAOd;AAED;;GAEG;AACH,wBAAsB,WAAW,kBAahC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,QAKjE;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,iBAInD"}
@@ -12,7 +12,6 @@ export async function forkNetworkToMultiProvider(multiProvider, chain) {
12
12
  [chain]: { blocks: { confirmations: 0 } },
13
13
  });
14
14
  await setFork(multiProvider, chain);
15
- return multiProvider;
16
15
  }
17
16
  /**
18
17
  * Ensures an anvil node is running locally.
@@ -1 +1 @@
1
- {"version":3,"file":"dry-run.js","sourceRoot":"","sources":["../../../src/deploy/dry-run.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,gBAAgB,EAChB,SAAS,EACT,OAAO,GACR,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,aAA4B,EAC5B,KAAa;IAEb,aAAa,GAAG,aAAa,CAAC,mBAAmB,CAAC;QAChD,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE;KAC1C,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACpC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO,CAAC,uCAAuC,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC;+CACyB,CAAC,CAAC;IAC/C,CAAC;IAED,QAAQ,CAAC,+CAA+C,CAAC,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAU,EAAE,MAAc;IAChE,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC3D,UAAU,CACR,uGAAuG,CACxG,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe;IAClD,MAAM,SAAS,EAAE,CAAC;IAElB,QAAQ,CAAC,KAAK,gBAAgB,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;AAC5E,CAAC"}
1
+ {"version":3,"file":"dry-run.js","sourceRoot":"","sources":["../../../src/deploy/dry-run.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,gBAAgB,EAChB,SAAS,EACT,OAAO,GACR,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,aAA4B,EAC5B,KAAa;IAEb,aAAa,GAAG,aAAa,CAAC,mBAAmB,CAAC;QAChD,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE;KAC1C,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO,CAAC,uCAAuC,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC;+CACyB,CAAC,CAAC;IAC/C,CAAC;IAED,QAAQ,CAAC,+CAA+C,CAAC,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAU,EAAE,MAAc;IAChE,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC3D,UAAU,CACR,uGAAuG,CACxG,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe;IAClD,MAAM,SAAS,EAAE,CAAC;IAElB,QAAQ,CAAC,KAAK,gBAAgB,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;AAC5E,CAAC"}
@@ -8,10 +8,6 @@ export declare function runPreflightChecksForChains({ context, chains, minGas, c
8
8
  minGas: string;
9
9
  chainsToGasCheck?: ChainName[];
10
10
  }): Promise<void>;
11
- export declare function runDeployPlanStep({ context, chain, }: {
12
- context: WriteCommandContext;
13
- chain: ChainName;
14
- }): Promise<void>;
15
11
  export declare function isISMConfig(config: ChainMap<MultisigConfig> | ChainMap<IsmConfig>): boolean;
16
12
  export declare function isZODISMConfig(filepath: string): boolean;
17
13
  export declare function prepareDeploy(context: WriteCommandContext, userAddress: Address, chains: ChainName[]): Promise<Record<string, BigNumber>>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/deploy/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAU,MAAM,QAAQ,CAAC;AAE3C,OAAO,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAgB,MAAM,sBAAsB,CAAC;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAQ1D,wBAAsB,2BAA2B,CAAC,EAChD,OAAO,EACP,MAAM,EACN,MAAM,EACN,gBAAgB,GACjB,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IAGf,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;CAChC,iBAuBA;AAED,wBAAsB,iBAAiB,CAAC,EACtC,OAAO,EACP,KAAK,GACN,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,KAAK,EAAE,SAAS,CAAC;CAClB,iBAiBA;AAGD,wBAAgB,WAAW,CACzB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,GACrD,OAAO,CAET;AAGD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,mBAAmB,EAC5B,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,SAAS,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAapC;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAC1C,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,SAAS,EAAE,iBAqBpB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,UAE9C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/deploy/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,QAAQ,CAAC;AAE3C,OAAO,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAgB,MAAM,sBAAsB,CAAC;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAQ1D,wBAAsB,2BAA2B,CAAC,EAChD,OAAO,EACP,MAAM,EACN,MAAM,EACN,gBAAgB,GACjB,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IAGf,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;CAChC,iBAuBA;AAGD,wBAAgB,WAAW,CACzB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,GACrD,OAAO,CAET;AAGD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,mBAAmB,EAC5B,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,SAAS,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAapC;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAC1C,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,SAAS,EAAE,iBAqBpB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,UAE9C"}
@@ -1,9 +1,8 @@
1
- import { confirm } from '@inquirer/prompts';
2
1
  import { ethers } from 'ethers';
3
2
  import { getLocalProvider, } from '@hyperlane-xyz/sdk';
4
3
  import { ProtocolType } from '@hyperlane-xyz/utils';
5
4
  import { parseIsmConfig } from '../config/ism.js';
6
- import { log, logBlue, logGray, logGreen, logPink } from '../logger.js';
5
+ import { log, logGreen, logPink } from '../logger.js';
7
6
  import { gasBalancesAreSufficient } from '../utils/balances.js';
8
7
  import { ENV } from '../utils/env.js';
9
8
  import { assertSigner } from '../utils/keys.js';
@@ -27,22 +26,6 @@ export async function runPreflightChecksForChains({ context, chains, minGas, cha
27
26
  if (sufficient)
28
27
  logGreen('✅ Balances are sufficient');
29
28
  }
30
- export async function runDeployPlanStep({ context, chain, }) {
31
- const { signer, skipConfirmation } = context;
32
- const address = await signer.getAddress();
33
- logBlue('\nDeployment plan');
34
- logGray('===============');
35
- log(`Transaction signer and owner of new contracts will be ${address}`);
36
- log(`Deploying to ${chain}`);
37
- log(`There are several contracts required for each chain but contracts in your provided registries will be skipped`);
38
- if (skipConfirmation)
39
- return;
40
- const isConfirmed = await confirm({
41
- message: 'Is this deployment plan correct?',
42
- });
43
- if (!isConfirmed)
44
- throw new Error('Deployment cancelled');
45
- }
46
29
  // from parsed types
47
30
  export function isISMConfig(config) {
48
31
  return Object.values(config).some((c) => 'type' in c);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/deploy/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/deploy/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/send/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,oBAAoB,CAAC;AAI9D,OAAO,EAAkB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAK1E,wBAAsB,eAAe,CAAC,EACpC,OAAO,EACP,MAAM,EACN,WAAW,EACX,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,SAAS,GACV,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,iBAoCA"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/send/message.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAiB,MAAM,oBAAoB,CAAC;AAI9D,OAAO,EAAkB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAK1E,wBAAsB,eAAe,CAAC,EACpC,OAAO,EACP,MAAM,EACN,WAAW,EACX,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,SAAS,GACV,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,iBAoCA"}
@@ -1,3 +1,4 @@
1
+ import { ethers } from 'ethers';
1
2
  import { HyperlaneCore } from '@hyperlane-xyz/sdk';
2
3
  import { addressToBytes32, timeout } from '@hyperlane-xyz/utils';
3
4
  import { MINIMUM_TEST_SEND_GAS } from '../consts.js';
@@ -31,18 +32,32 @@ async function executeDelivery({ context, origin, destination, messageBody, skip
31
32
  const { registry, multiProvider } = context;
32
33
  const chainAddresses = await registry.getAddresses();
33
34
  const core = HyperlaneCore.fromAddressesMap(chainAddresses, multiProvider);
34
- const hook = chainAddresses[origin]?.customHook;
35
+ const mailbox = core.getContracts(origin).mailbox;
36
+ let hook = chainAddresses[origin]?.customHook;
35
37
  if (hook) {
36
38
  logBlue(`Using custom hook ${hook} for ${origin} -> ${destination}`);
37
39
  }
40
+ else {
41
+ hook = await mailbox.defaultHook();
42
+ logBlue(`Using default hook ${hook} for ${origin} -> ${destination}`);
43
+ }
44
+ const destinationDomain = multiProvider.getDomainId(destination);
45
+ let txReceipt;
38
46
  try {
39
47
  const recipient = chainAddresses[destination].testRecipient;
40
48
  if (!recipient) {
41
49
  throw new Error(`Unable to find TestRecipient for ${destination}`);
42
50
  }
43
51
  const formattedRecipient = addressToBytes32(recipient);
52
+ log('Getting gas quote');
53
+ const value = await mailbox['quoteDispatch(uint32,bytes32,bytes,bytes,address)'](destinationDomain, formattedRecipient, messageBody, ethers.utils.hexlify([]), hook);
54
+ log(`Paying for gas with ${value} wei`);
44
55
  log('Dispatching message');
45
- const { dispatchTx, message } = await core.sendMessage(origin, destination, formattedRecipient, messageBody, hook, undefined);
56
+ const messageTx = await mailbox['dispatch(uint32,bytes32,bytes,bytes,address)'](destinationDomain, formattedRecipient, messageBody, ethers.utils.hexlify([]), hook, {
57
+ value,
58
+ });
59
+ txReceipt = await multiProvider.handleTx(origin, messageTx);
60
+ const message = core.getDispatchedMessages(txReceipt)[0];
46
61
  logBlue(`Sent message from ${origin} to ${recipient} on ${destination}.`);
47
62
  logBlue(`Message ID: ${message.id}`);
48
63
  log(`Message: ${JSON.stringify(message)}`);
@@ -50,20 +65,18 @@ async function executeDelivery({ context, origin, destination, messageBody, skip
50
65
  log('Attempting self-relay of message');
51
66
  await core.relayMessage(message);
52
67
  logGreen('Message was self-relayed!');
53
- }
54
- else {
55
- if (skipWaitForDelivery) {
56
- return;
57
- }
58
- log('Waiting for message delivery on destination chain...');
59
- // Max wait 10 minutes
60
- await core.waitForMessageProcessed(dispatchTx, 10000, 60);
61
- logGreen('Message was delivered!');
68
+ return;
62
69
  }
63
70
  }
64
71
  catch (e) {
65
72
  errorRed(`Encountered error sending message from ${origin} to ${destination}`);
66
73
  throw e;
67
74
  }
75
+ if (skipWaitForDelivery)
76
+ return;
77
+ log('Waiting for message delivery on destination chain...');
78
+ // Max wait 10 minutes
79
+ await core.waitForMessageProcessed(txReceipt, 10000, 60);
80
+ logGreen('Message was delivered!');
68
81
  }
69
82
  //# sourceMappingURL=message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/send/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/send/message.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ async function getTransformers(multiProvider, metadata) {
21
21
  }
22
22
  async function getTransformer(multiProvider, transformerMetadata) {
23
23
  switch (transformerMetadata.type) {
24
- case TxTransformerType.INTERCHAIN_ACCOUNT:
24
+ case TxTransformerType.ICA:
25
25
  return new EV5InterchainAccountTxTransformer(multiProvider, transformerMetadata.props);
26
26
  default:
27
27
  throw new Error(`Invalid TxTransformerType: ${transformerMetadata.type}`);
@@ -1 +1 @@
1
- {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/submit/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAExB,iCAAiC,EAEjC,iCAAiC,EACjC,qBAAqB,EAErB,kBAAkB,EAElB,eAAe,EAEf,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAS5B,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAiC,EACxE,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,GACY;IACzB,MAAM,SAAS,GAAG,MAAM,YAAY,CAClC,aAAa,EACb,iBAAiB,CAClB,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,eAAe,CACxC,aAAa,EACb,oBAAoB,CACrB,CAAC;IAEF,OAAO,IAAI,kBAAkB,CAAY,SAAS,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,aAA4B,EAC5B,iBAAoC;IAEpC,QAAQ,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC/B,KAAK,eAAe,CAAC,QAAQ;YAC3B,OAAO,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAClD,KAAK,eAAe,CAAC,oBAAoB;YACvC,OAAO,IAAI,iCAAiC,CAC1C,aAAa,EACb,iBAAiB,CAAC,KAA+C,CAClE,CAAC;QACJ,KAAK,eAAe,CAAC,WAAW;YAC9B,OAAO,IAAI,wBAAwB,CACjC,aAAa,EACb,iBAAiB,CAAC,KAAsC,CACzD,CAAC;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,aAA4B,EAC5B,QAA+B;IAE/B,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CACzC,cAAc,CAAY,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CACpE,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,aAA4B,EAC5B,mBAAwC;IAExC,QAAQ,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACjC,KAAK,iBAAiB,CAAC,kBAAkB;YACvC,OAAO,IAAI,iCAAiC,CAC1C,aAAa,EACb,mBAAmB,CAAC,KAAK,CAC1B,CAAC;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/submit/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAExB,iCAAiC,EAEjC,iCAAiC,EACjC,qBAAqB,EAErB,kBAAkB,EAElB,eAAe,EAEf,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAS5B,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAiC,EACxE,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,GACY;IACzB,MAAM,SAAS,GAAG,MAAM,YAAY,CAClC,aAAa,EACb,iBAAiB,CAClB,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,eAAe,CACxC,aAAa,EACb,oBAAoB,CACrB,CAAC;IAEF,OAAO,IAAI,kBAAkB,CAAY,SAAS,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,aAA4B,EAC5B,iBAAoC;IAEpC,QAAQ,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC/B,KAAK,eAAe,CAAC,QAAQ;YAC3B,OAAO,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAClD,KAAK,eAAe,CAAC,oBAAoB;YACvC,OAAO,IAAI,iCAAiC,CAC1C,aAAa,EACb,iBAAiB,CAAC,KAA+C,CAClE,CAAC;QACJ,KAAK,eAAe,CAAC,WAAW;YAC9B,OAAO,IAAI,wBAAwB,CACjC,aAAa,EACb,iBAAiB,CAAC,KAAsC,CACzD,CAAC;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,aAA4B,EAC5B,QAA+B;IAE/B,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CACzC,cAAc,CAAY,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CACpE,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,aAA4B,EAC5B,mBAAwC;IAExC,QAAQ,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACjC,KAAK,iBAAiB,CAAC,GAAG;YACxB,OAAO,IAAI,iCAAiC,CAC1C,aAAa,EACb,mBAAmB,CAAC,KAAK,CAC1B,CAAC;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { expect } from 'chai';
2
- import { HookType } from '@hyperlane-xyz/sdk';
2
+ import { GasOracleContractType, HookType, } from '@hyperlane-xyz/sdk';
3
3
  import { readHooksConfigMap } from '../config/hooks.js';
4
4
  describe('readHooksConfigMap', () => {
5
5
  it('parses and validates example correctly', () => {
@@ -28,13 +28,10 @@ describe('readHooksConfigMap', () => {
28
28
  beneficiary: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
29
29
  owner: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
30
30
  oracleKey: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
31
- overhead: { anvil2: 50000 },
32
- oracleConfig: {
33
- anvil2: {
34
- gasPrice: '100',
35
- tokenExchangeRate: '100',
36
- },
31
+ gasOracleType: {
32
+ anvil2: GasOracleContractType.StorageGasOracle,
37
33
  },
34
+ overhead: { anvil2: 50000 },
38
35
  },
39
36
  ],
40
37
  },
@@ -64,13 +61,10 @@ describe('readHooksConfigMap', () => {
64
61
  beneficiary: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
65
62
  owner: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
66
63
  oracleKey: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
67
- overhead: { anvil1: 50000 },
68
- oracleConfig: {
69
- anvil1: {
70
- gasPrice: '100',
71
- tokenExchangeRate: '100',
72
- },
64
+ gasOracleType: {
65
+ anvil1: GasOracleContractType.StorageGasOracle,
73
66
  },
67
+ overhead: { anvil1: 50000 },
74
68
  },
75
69
  ],
76
70
  },
@@ -83,7 +77,7 @@ describe('readHooksConfigMap', () => {
83
77
  it('parsing failure, missing internal key "overhead"', () => {
84
78
  expect(() => {
85
79
  readHooksConfigMap('src/tests/hooks/safe-parse-fail.yaml');
86
- }).to.throw();
80
+ }).to.throw('Invalid hook config: anvil2,default => Invalid input');
87
81
  });
88
82
  });
89
83
  //# sourceMappingURL=hooks.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.test.js","sourceRoot":"","sources":["../../../src/tests/hooks.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAkB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,KAAK,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QAExD,MAAM,kBAAkB,GAAmB;YACzC,MAAM,EAAE;gBACN,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ,CAAC,YAAY;oBAC3B,KAAK,EAAE,4CAA4C;oBACnD,WAAW,EAAE,4CAA4C;oBACzD,cAAc,EAAE,qBAAqB;oBACrC,WAAW,EAAE,iBAAiB;iBAC/B;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ,CAAC,OAAO;oBACtB,KAAK,EAAE,4CAA4C;oBACnD,OAAO,EAAE;wBACP,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ,CAAC,WAAW;4BAC1B,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,QAAQ,CAAC,WAAW;iCAC3B;gCACD;oCACE,IAAI,EAAE,QAAQ,CAAC,wBAAwB;oCACvC,WAAW,EAAE,4CAA4C;oCACzD,KAAK,EAAE,4CAA4C;oCACnD,SAAS,EAAE,4CAA4C;oCACvD,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;oCAC3B,YAAY,EAAE;wCACZ,MAAM,EAAE;4CACN,QAAQ,EAAE,KAAK;4CACf,iBAAiB,EAAE,KAAK;yCACzB;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;YACD,MAAM,EAAE;gBACN,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ,CAAC,YAAY;oBAC3B,KAAK,EAAE,4CAA4C;oBACnD,WAAW,EAAE,4CAA4C;oBACzD,cAAc,EAAE,qBAAqB;oBACrC,WAAW,EAAE,iBAAiB;iBAC/B;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ,CAAC,OAAO;oBACtB,KAAK,EAAE,4CAA4C;oBACnD,OAAO,EAAE;wBACP,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ,CAAC,WAAW;4BAC1B,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,QAAQ,CAAC,WAAW;iCAC3B;gCACD;oCACE,IAAI,EAAE,QAAQ,CAAC,wBAAwB;oCACvC,WAAW,EAAE,4CAA4C;oCACzD,KAAK,EAAE,4CAA4C;oCACnD,SAAS,EAAE,4CAA4C;oCACvD,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;oCAC3B,YAAY,EAAE;wCACZ,MAAM,EAAE;4CACN,QAAQ,EAAE,KAAK;4CACf,iBAAiB,EAAE,KAAK;yCACzB;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,GAAG,EAAE;YACV,kBAAkB,CAAC,sCAAsC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"hooks.test.js","sourceRoot":"","sources":["../../../src/tests/hooks.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAEL,qBAAqB,EACrB,QAAQ,GAET,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,KAAK,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QAExD,MAAM,kBAAkB,GAA0B;YAChD,MAAM,EAAE;gBACN,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ,CAAC,YAAY;oBAC3B,KAAK,EAAE,4CAA4C;oBACnD,WAAW,EAAE,4CAA4C;oBACzD,cAAc,EAAE,qBAAqB;oBACrC,WAAW,EAAE,iBAAiB;iBAC/B;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ,CAAC,OAAO;oBACtB,KAAK,EAAE,4CAA4C;oBACnD,OAAO,EAAE;wBACP,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ,CAAC,WAAW;4BAC1B,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,QAAQ,CAAC,WAAW;iCAC3B;gCACD;oCACE,IAAI,EAAE,QAAQ,CAAC,wBAAwB;oCACvC,WAAW,EAAE,4CAA4C;oCACzD,KAAK,EAAE,4CAA4C;oCACnD,SAAS,EAAE,4CAA4C;oCACvD,aAAa,EAAE;wCACb,MAAM,EAAE,qBAAqB,CAAC,gBAAgB;qCAC/C;oCACD,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;iCAC5B;6BACF;yBACF;qBACF;iBACF;aACF;YACD,MAAM,EAAE;gBACN,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ,CAAC,YAAY;oBAC3B,KAAK,EAAE,4CAA4C;oBACnD,WAAW,EAAE,4CAA4C;oBACzD,cAAc,EAAE,qBAAqB;oBACrC,WAAW,EAAE,iBAAiB;iBAC/B;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ,CAAC,OAAO;oBACtB,KAAK,EAAE,4CAA4C;oBACnD,OAAO,EAAE;wBACP,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ,CAAC,WAAW;4BAC1B,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,QAAQ,CAAC,WAAW;iCAC3B;gCACD;oCACE,IAAI,EAAE,QAAQ,CAAC,wBAAwB;oCACvC,WAAW,EAAE,4CAA4C;oCACzD,KAAK,EAAE,4CAA4C;oCACnD,SAAS,EAAE,4CAA4C;oCACvD,aAAa,EAAE;wCACb,MAAM,EAAE,qBAAqB,CAAC,gBAAgB;qCAC/C;oCACD,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;iCAC5B;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,GAAG,EAAE;YACV,kBAAkB,CAAC,sCAAsC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -70,7 +70,7 @@ describe('readIsmConfig', () => {
70
70
  it('parsing failure, threshold > modules.length', () => {
71
71
  expect(function () {
72
72
  readIsmConfig('src/tests/ism/threshold-gt-modules-length-fail.yaml');
73
- }).to.throw('Threshold must be less than or equal to the number of modules');
73
+ }).to.throw('Threshold cannot be greater than number of modules');
74
74
  });
75
75
  });
76
76
  //# sourceMappingURL=ism.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ism.test.js","sourceRoot":"","sources":["../../../src/tests/ism.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAuB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,GAAG,GAAG,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAExD,MAAM,gBAAgB,GAAwB;YAC5C,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO,CAAC,gBAAgB;gBAC9B,KAAK,EAAE,4CAA4C;gBACnD,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO,CAAC,WAAW;wBACzB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,OAAO,CAAC,mBAAmB;gCACjC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;4BACD;gCACE,IAAI,EAAE,OAAO,CAAC,oBAAoB;gCAClC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;yBACF;wBACD,SAAS,EAAE,CAAC;qBACb;iBACF;aACF;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO,CAAC,OAAO;gBACrB,KAAK,EAAE,4CAA4C;gBACnD,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO,CAAC,WAAW;wBACzB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,OAAO,CAAC,mBAAmB;gCACjC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;4BACD;gCACE,IAAI,EAAE,OAAO,CAAC,oBAAoB;gCAClC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;yBACF;wBACD,SAAS,EAAE,CAAC;qBACb;iBACF;aACF;SACF,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC;YACL,aAAa,CAAC,oCAAoC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CAAC;YACL,aAAa,CAAC,4CAA4C,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACT,oEAAoE,CACrE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC;YACL,aAAa,CAAC,wCAAwC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC;YACL,aAAa,CAAC,qDAAqD,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACT,+DAA+D,CAChE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ism.test.js","sourceRoot":"","sources":["../../../src/tests/ism.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAuB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,GAAG,GAAG,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAExD,MAAM,gBAAgB,GAAwB;YAC5C,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO,CAAC,gBAAgB;gBAC9B,KAAK,EAAE,4CAA4C;gBACnD,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO,CAAC,WAAW;wBACzB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,OAAO,CAAC,mBAAmB;gCACjC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;4BACD;gCACE,IAAI,EAAE,OAAO,CAAC,oBAAoB;gCAClC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;yBACF;wBACD,SAAS,EAAE,CAAC;qBACb;iBACF;aACF;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO,CAAC,OAAO;gBACrB,KAAK,EAAE,4CAA4C;gBACnD,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO,CAAC,WAAW;wBACzB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,OAAO,CAAC,mBAAmB;gCACjC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;4BACD;gCACE,IAAI,EAAE,OAAO,CAAC,oBAAoB;gCAClC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;yBACF;wBACD,SAAS,EAAE,CAAC;qBACb;iBACF;aACF;SACF,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC;YACL,aAAa,CAAC,oCAAoC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CAAC;YACL,aAAa,CAAC,4CAA4C,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACT,oEAAoE,CACrE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC;YACL,aAAa,CAAC,wCAAwC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC;YACL,aAAa,CAAC,qDAAqD,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}