@hyperlane-xyz/sdk 4.0.0-beta → 4.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 (116) hide show
  1. package/dist/aws/s3.js +1 -1
  2. package/dist/aws/s3.js.map +1 -1
  3. package/dist/aws/validator.d.ts +3 -1
  4. package/dist/aws/validator.d.ts.map +1 -1
  5. package/dist/aws/validator.js +8 -1
  6. package/dist/aws/validator.js.map +1 -1
  7. package/dist/consts/multisigIsm.d.ts.map +1 -1
  8. package/dist/consts/multisigIsm.js +30 -0
  9. package/dist/consts/multisigIsm.js.map +1 -1
  10. package/dist/consts/testChains.d.ts.map +1 -1
  11. package/dist/consts/testChains.js +0 -5
  12. package/dist/consts/testChains.js.map +1 -1
  13. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  14. package/dist/core/HyperlaneCore.js +4 -2
  15. package/dist/core/HyperlaneCore.js.map +1 -1
  16. package/dist/core/HyperlaneCoreChecker.js +1 -1
  17. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  18. package/dist/deploy/EvmModuleDeployer.d.ts +76 -0
  19. package/dist/deploy/EvmModuleDeployer.d.ts.map +1 -0
  20. package/dist/deploy/EvmModuleDeployer.js +150 -0
  21. package/dist/deploy/EvmModuleDeployer.js.map +1 -0
  22. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  23. package/dist/deploy/HyperlaneDeployer.js +4 -3
  24. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  25. package/dist/deploy/verify/utils.d.ts +9 -0
  26. package/dist/deploy/verify/utils.d.ts.map +1 -1
  27. package/dist/deploy/verify/utils.js +14 -0
  28. package/dist/deploy/verify/utils.js.map +1 -1
  29. package/dist/deploy/verify/utils.test.d.ts +2 -0
  30. package/dist/deploy/verify/utils.test.d.ts.map +1 -0
  31. package/dist/deploy/verify/utils.test.js +49 -0
  32. package/dist/deploy/verify/utils.test.js.map +1 -0
  33. package/dist/gas/HyperlaneIgpDeployer.d.ts +1 -1
  34. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  35. package/dist/gas/HyperlaneIgpDeployer.js +2 -1
  36. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  37. package/dist/hook/EvmHookModule.d.ts +67 -12
  38. package/dist/hook/EvmHookModule.d.ts.map +1 -1
  39. package/dist/hook/EvmHookModule.hardhat-test.d.ts +2 -0
  40. package/dist/hook/EvmHookModule.hardhat-test.d.ts.map +1 -0
  41. package/dist/hook/EvmHookModule.hardhat-test.js +380 -0
  42. package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -0
  43. package/dist/hook/EvmHookModule.js +354 -9
  44. package/dist/hook/EvmHookModule.js.map +1 -1
  45. package/dist/hook/EvmHookReader.d.ts +8 -2
  46. package/dist/hook/EvmHookReader.d.ts.map +1 -1
  47. package/dist/hook/EvmHookReader.js +58 -27
  48. package/dist/hook/EvmHookReader.js.map +1 -1
  49. package/dist/hook/EvmHookReader.test.js +18 -0
  50. package/dist/hook/EvmHookReader.test.js.map +1 -1
  51. package/dist/ism/EvmIsmModule.d.ts +7 -15
  52. package/dist/ism/EvmIsmModule.d.ts.map +1 -1
  53. package/dist/ism/EvmIsmModule.hardhat-test.js +36 -38
  54. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
  55. package/dist/ism/EvmIsmModule.js +54 -52
  56. package/dist/ism/EvmIsmModule.js.map +1 -1
  57. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  58. package/dist/ism/HyperlaneIsmFactory.js +15 -2
  59. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  60. package/dist/ism/metadata/multisig.d.ts.map +1 -1
  61. package/dist/ism/metadata/multisig.js.map +1 -1
  62. package/dist/ism/multisig.js.map +1 -1
  63. package/dist/metadata/agentConfig.d.ts +3 -0
  64. package/dist/metadata/agentConfig.d.ts.map +1 -1
  65. package/dist/metadata/agentConfig.js +12 -0
  66. package/dist/metadata/agentConfig.js.map +1 -1
  67. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts.map +1 -1
  68. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js +1 -0
  69. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js.map +1 -1
  70. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts +1 -0
  71. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -1
  72. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +6 -0
  73. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -1
  74. package/dist/providers/SmartProvider/ProviderMethods.d.ts +2 -1
  75. package/dist/providers/SmartProvider/ProviderMethods.d.ts.map +1 -1
  76. package/dist/providers/SmartProvider/ProviderMethods.js +1 -0
  77. package/dist/providers/SmartProvider/ProviderMethods.js.map +1 -1
  78. package/dist/providers/SmartProvider/SmartProvider.d.ts +5 -2
  79. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  80. package/dist/providers/SmartProvider/SmartProvider.js +33 -2
  81. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  82. package/dist/test/testUtils.d.ts.map +1 -1
  83. package/dist/test/testUtils.js +20 -12
  84. package/dist/test/testUtils.js.map +1 -1
  85. package/dist/token/EvmERC20WarpRouteReader.d.ts +6 -0
  86. package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -1
  87. package/dist/token/EvmERC20WarpRouteReader.js +21 -3
  88. package/dist/token/EvmERC20WarpRouteReader.js.map +1 -1
  89. package/dist/token/Token.d.ts.map +1 -1
  90. package/dist/token/Token.js +11 -1
  91. package/dist/token/Token.js.map +1 -1
  92. package/dist/token/Token.test.js +16 -0
  93. package/dist/token/Token.test.js.map +1 -1
  94. package/dist/token/TokenStandard.d.ts +3 -0
  95. package/dist/token/TokenStandard.d.ts.map +1 -1
  96. package/dist/token/TokenStandard.js +12 -2
  97. package/dist/token/TokenStandard.js.map +1 -1
  98. package/dist/token/adapters/EvmTokenAdapter.d.ts +28 -2
  99. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  100. package/dist/token/adapters/EvmTokenAdapter.js +49 -1
  101. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  102. package/dist/token/adapters/ITokenAdapter.d.ts +4 -0
  103. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  104. package/dist/token/config.d.ts +1 -1
  105. package/dist/token/config.d.ts.map +1 -1
  106. package/dist/token/config.js.map +1 -1
  107. package/dist/token/deploy.d.ts.map +1 -1
  108. package/dist/token/deploy.js +15 -8
  109. package/dist/token/deploy.js.map +1 -1
  110. package/dist/utils/gnosisSafe.js +11 -1
  111. package/dist/warp/WarpCore.d.ts +8 -0
  112. package/dist/warp/WarpCore.d.ts.map +1 -1
  113. package/dist/warp/WarpCore.js +43 -3
  114. package/dist/warp/WarpCore.js.map +1 -1
  115. package/dist/warp/WarpCore.test.js +2 -2
  116. package/package.json +3 -3
@@ -1,27 +1,372 @@
1
- import { rootLogger } from '@hyperlane-xyz/utils';
1
+ import { BigNumber, ethers } from 'ethers';
2
+ import { DomainRoutingHook__factory, IL1CrossDomainMessenger__factory, IPostDispatchHook__factory, OPStackIsm__factory, StaticAggregationHookFactory__factory, StaticAggregationHook__factory, } from '@hyperlane-xyz/core';
3
+ import { addressToBytes32, assert, configDeepEquals, rootLogger, } from '@hyperlane-xyz/utils';
4
+ import { TOKEN_EXCHANGE_RATE_SCALE } from '../consts/igp.js';
2
5
  import { HyperlaneModule, } from '../core/AbstractHyperlaneModule.js';
6
+ import { EvmModuleDeployer } from '../deploy/EvmModuleDeployer.js';
7
+ import { igpFactories } from '../gas/contracts.js';
8
+ import { EvmIsmModule } from '../ism/EvmIsmModule.js';
9
+ import { IsmType } from '../ism/types.js';
3
10
  import { EvmHookReader } from './EvmHookReader.js';
4
- // WIP example implementation of EvmHookModule
11
+ import { hookFactories } from './contracts.js';
12
+ import { HookType, } from './types.js';
5
13
  export class EvmHookModule extends HyperlaneModule {
6
14
  multiProvider;
7
- deployer;
8
15
  logger = rootLogger.child({ module: 'EvmHookModule' });
9
16
  reader;
10
- constructor(multiProvider, deployer, args) {
17
+ deployer;
18
+ // Adding these to reduce how often we need to grab from MultiProvider.
19
+ chain;
20
+ // We use domainId here because MultiProvider.getDomainId() will always
21
+ // return a number, and EVM the domainId and chainId are the same.
22
+ domainId;
23
+ // Transaction overrides for the chain
24
+ txOverrides;
25
+ constructor(multiProvider, args, contractVerifier) {
11
26
  super(args);
12
27
  this.multiProvider = multiProvider;
13
- this.deployer = deployer;
14
- this.reader = new EvmHookReader(multiProvider, args.chain);
28
+ this.reader = new EvmHookReader(multiProvider, this.args.chain);
29
+ this.deployer = new EvmModuleDeployer(multiProvider, {
30
+ ...hookFactories,
31
+ ...igpFactories,
32
+ }, this.logger, contractVerifier);
33
+ this.chain = this.multiProvider.getChainName(this.args.chain);
34
+ this.domainId = this.multiProvider.getDomainId(this.chain);
35
+ this.txOverrides = this.multiProvider.getTransactionOverrides(this.chain);
15
36
  }
16
37
  async read() {
17
- return this.reader.deriveHookConfig(this.args.addresses.deployedHook);
38
+ if (typeof this.args.config === 'string') {
39
+ return this.args.addresses.deployedHook;
40
+ }
41
+ else {
42
+ const hookConfig = await this.reader.deriveHookConfig(this.args.addresses.deployedHook);
43
+ assert(hookConfig, `No hook config found for ${this.args.addresses.deployedHook}`);
44
+ return hookConfig;
45
+ }
18
46
  }
19
47
  async update(_config) {
20
48
  throw new Error('Method not implemented.');
21
49
  }
22
50
  // manually write static create function
23
- static create(_config) {
24
- throw new Error('not implemented');
51
+ static async create({ chain, config, proxyFactoryFactories, coreAddresses, multiProvider, }) {
52
+ // instantiate new EvmHookModule
53
+ const module = new EvmHookModule(multiProvider, {
54
+ addresses: {
55
+ ...proxyFactoryFactories,
56
+ ...coreAddresses,
57
+ deployedHook: ethers.constants.AddressZero,
58
+ },
59
+ chain,
60
+ config,
61
+ });
62
+ // deploy hook and assign address to module
63
+ const deployedHook = await module.deploy({ config });
64
+ module.args.addresses.deployedHook = deployedHook.address;
65
+ return module;
66
+ }
67
+ // Compute delta between current and target domain configurations
68
+ async computeRoutingHooksToSet({ currentDomains, targetDomains, }) {
69
+ const routingHookUpdates = [];
70
+ // Iterate over the target domains and compare with the current configuration
71
+ for (const [dest, targetDomainConfig] of Object.entries(targetDomains)) {
72
+ const destDomain = this.multiProvider.tryGetDomainId(dest);
73
+ if (!destDomain) {
74
+ this.logger.warn(`Domain not found in MultiProvider: ${dest}`);
75
+ continue;
76
+ }
77
+ // If the domain is not in the current config or the config has changed, deploy a new hook
78
+ // TODO: in-place updates per domain as a future optimization
79
+ if (!configDeepEquals(currentDomains[dest], targetDomainConfig)) {
80
+ const domainHook = await this.deploy({
81
+ config: targetDomainConfig,
82
+ });
83
+ routingHookUpdates.push({
84
+ destination: destDomain,
85
+ hook: domainHook.address,
86
+ });
87
+ }
88
+ }
89
+ return routingHookUpdates;
90
+ }
91
+ // Updates a routing hook
92
+ async updateRoutingHook({ current, target, }) {
93
+ // Deploy a new fallback hook if the fallback config has changed
94
+ if (target.type === HookType.FALLBACK_ROUTING &&
95
+ !configDeepEquals(target.fallback, current.fallback)) {
96
+ const hook = await this.deploy({ config: target });
97
+ this.args.addresses.deployedHook = hook.address;
98
+ }
99
+ const routingUpdates = await this.computeRoutingHooksToSet({
100
+ currentDomains: current.domains,
101
+ targetDomains: target.domains,
102
+ });
103
+ // Return if no updates are required
104
+ if (routingUpdates.length === 0) {
105
+ return [];
106
+ }
107
+ // Create tx for setting hooks
108
+ return [
109
+ {
110
+ annotation: 'Updating routing hooks...',
111
+ chainId: this.domainId,
112
+ to: this.args.addresses.deployedHook,
113
+ data: DomainRoutingHook__factory.createInterface().encodeFunctionData('setHooks', [routingUpdates]),
114
+ },
115
+ ];
116
+ }
117
+ async deploy({ config, }) {
118
+ // If it's an address, just return a base Hook
119
+ if (typeof config === 'string') {
120
+ // TODO: https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/3773
121
+ // we can remove the ts-ignore once we have a proper type for address Hooks
122
+ // @ts-ignore
123
+ return IPostDispatchHook__factory.connect(config, this.multiProvider.getSignerOrProvider(this.args.chain));
124
+ }
125
+ switch (config.type) {
126
+ case HookType.MERKLE_TREE:
127
+ return this.deployer.deployContract({
128
+ chain: this.chain,
129
+ contractKey: HookType.MERKLE_TREE,
130
+ constructorArgs: [this.args.addresses.mailbox],
131
+ });
132
+ case HookType.INTERCHAIN_GAS_PAYMASTER:
133
+ return this.deployIgpHook({ config });
134
+ case HookType.AGGREGATION:
135
+ return this.deployAggregationHook({ config });
136
+ case HookType.PROTOCOL_FEE:
137
+ return this.deployProtocolFeeHook({ config });
138
+ case HookType.OP_STACK:
139
+ return this.deployOpStackHook({ config });
140
+ case HookType.ROUTING:
141
+ case HookType.FALLBACK_ROUTING:
142
+ return this.deployRoutingHook({ config });
143
+ case HookType.PAUSABLE: {
144
+ return this.deployPausableHook({ config });
145
+ }
146
+ default:
147
+ throw new Error(`Unsupported hook config: ${config}`);
148
+ }
149
+ }
150
+ async deployProtocolFeeHook({ config, }) {
151
+ this.logger.debug('Deploying ProtocolFeeHook...');
152
+ return this.deployer.deployContract({
153
+ chain: this.chain,
154
+ contractKey: HookType.PROTOCOL_FEE,
155
+ constructorArgs: [
156
+ config.maxProtocolFee,
157
+ config.protocolFee,
158
+ config.beneficiary,
159
+ config.owner,
160
+ ],
161
+ });
162
+ }
163
+ async deployPausableHook({ config, }) {
164
+ this.logger.debug('Deploying PausableHook...');
165
+ const hook = await this.deployer.deployContract({
166
+ chain: this.chain,
167
+ contractKey: HookType.PAUSABLE,
168
+ constructorArgs: [],
169
+ });
170
+ // transfer ownership
171
+ await this.multiProvider.handleTx(this.chain, hook.transferOwnership(config.owner, this.txOverrides));
172
+ return hook;
173
+ }
174
+ async deployAggregationHook({ config, }) {
175
+ this.logger.debug('Deploying AggregationHook...');
176
+ // deploy subhooks
177
+ const aggregatedHooks = [];
178
+ for (const hookConfig of config.hooks) {
179
+ const { address } = await this.deploy({ config: hookConfig });
180
+ aggregatedHooks.push(address);
181
+ }
182
+ // deploy aggregation hook
183
+ this.logger.debug(`Deploying aggregation hook of type ${config.hooks.map((h) => typeof h === 'string' ? h : h.type)}...`);
184
+ const signer = this.multiProvider.getSigner(this.chain);
185
+ const factory = StaticAggregationHookFactory__factory.connect(this.args.addresses.staticAggregationHookFactory, signer);
186
+ const address = await EvmModuleDeployer.deployStaticAddressSet({
187
+ chain: this.chain,
188
+ factory,
189
+ values: aggregatedHooks,
190
+ logger: this.logger,
191
+ multiProvider: this.multiProvider,
192
+ });
193
+ // return aggregation hook
194
+ return StaticAggregationHook__factory.connect(address, signer);
195
+ }
196
+ async deployOpStackHook({ config, }) {
197
+ const chain = this.chain;
198
+ const mailbox = this.args.addresses.mailbox;
199
+ this.logger.debug('Deploying OPStackHook for %s to %s...', chain, config.destinationChain);
200
+ // fetch l2 messenger address from l1 messenger
201
+ const l1Messenger = IL1CrossDomainMessenger__factory.connect(config.nativeBridge, this.multiProvider.getSignerOrProvider(chain));
202
+ const l2Messenger = await l1Messenger.OTHER_MESSENGER();
203
+ // deploy opstack ism
204
+ const ismConfig = {
205
+ type: IsmType.OP_STACK,
206
+ origin: chain,
207
+ nativeBridge: l2Messenger,
208
+ };
209
+ // deploy opstack ism
210
+ const opStackIsmAddress = (await EvmIsmModule.create({
211
+ chain: config.destinationChain,
212
+ config: ismConfig,
213
+ proxyFactoryFactories: this.args.addresses,
214
+ mailbox: mailbox,
215
+ multiProvider: this.multiProvider,
216
+ })).serialize().deployedIsm;
217
+ // connect to ISM
218
+ const opstackIsm = OPStackIsm__factory.connect(opStackIsmAddress, this.multiProvider.getSignerOrProvider(config.destinationChain));
219
+ // deploy opstack hook
220
+ const hook = await this.deployer.deployContract({
221
+ chain,
222
+ contractKey: HookType.OP_STACK,
223
+ constructorArgs: [
224
+ mailbox,
225
+ this.multiProvider.getDomainId(config.destinationChain),
226
+ addressToBytes32(opstackIsm.address),
227
+ config.nativeBridge,
228
+ ],
229
+ });
230
+ // set authorized hook on opstack ism
231
+ const authorizedHook = await opstackIsm.authorizedHook();
232
+ if (authorizedHook === addressToBytes32(hook.address)) {
233
+ this.logger.debug('Authorized hook already set on ism %s', opstackIsm.address);
234
+ return hook;
235
+ }
236
+ else if (authorizedHook !== addressToBytes32(ethers.constants.AddressZero)) {
237
+ this.logger.debug('Authorized hook mismatch on ism %s, expected %s, got %s', opstackIsm.address, addressToBytes32(hook.address), authorizedHook);
238
+ throw new Error('Authorized hook mismatch');
239
+ }
240
+ // check if mismatch and redeploy hook
241
+ this.logger.debug('Setting authorized hook %s on ism % on destination %s', hook.address, opstackIsm.address, config.destinationChain);
242
+ await this.multiProvider.handleTx(config.destinationChain, opstackIsm.setAuthorizedHook(addressToBytes32(hook.address), this.multiProvider.getTransactionOverrides(config.destinationChain)));
243
+ return hook;
244
+ }
245
+ async deployRoutingHook({ config, }) {
246
+ // originally set owner to deployer so we can set hooks
247
+ const deployerAddress = await this.multiProvider.getSignerAddress(this.chain);
248
+ let routingHook;
249
+ if (config.type === HookType.FALLBACK_ROUTING) {
250
+ // deploy fallback hook
251
+ const fallbackHook = await this.deploy({ config: config.fallback });
252
+ // deploy routing hook with fallback
253
+ routingHook = await this.deployer.deployContract({
254
+ chain: this.chain,
255
+ contractKey: HookType.FALLBACK_ROUTING,
256
+ constructorArgs: [
257
+ this.args.addresses.mailbox,
258
+ deployerAddress,
259
+ fallbackHook.address,
260
+ ],
261
+ });
262
+ }
263
+ else {
264
+ // deploy routing hook
265
+ routingHook = await this.deployer.deployContract({
266
+ chain: this.chain,
267
+ contractKey: HookType.ROUTING,
268
+ constructorArgs: [this.args.addresses.mailbox, deployerAddress],
269
+ });
270
+ }
271
+ // compute the hooks that need to be set
272
+ const hooksToSet = await this.computeRoutingHooksToSet({
273
+ currentDomains: {},
274
+ targetDomains: config.domains,
275
+ });
276
+ // set hooks
277
+ await this.multiProvider.handleTx(this.chain, routingHook.setHooks(hooksToSet, this.txOverrides));
278
+ // transfer ownership
279
+ await this.multiProvider.handleTx(this.chain, routingHook.transferOwnership(config.owner, this.txOverrides));
280
+ // return a fully configured routing hook
281
+ return routingHook;
282
+ }
283
+ async deployIgpHook({ config, }) {
284
+ this.logger.debug('Deploying IGP as hook...');
285
+ // Deploy the StorageGasOracle
286
+ const storageGasOracle = await this.deployStorageGasOracle({
287
+ config,
288
+ });
289
+ // Deploy the InterchainGasPaymaster
290
+ const interchainGasPaymaster = await this.deployInterchainGasPaymaster({
291
+ storageGasOracle,
292
+ config,
293
+ });
294
+ return interchainGasPaymaster;
295
+ }
296
+ async deployInterchainGasPaymaster({ storageGasOracle, config, }) {
297
+ const deployerAddress = await this.multiProvider.getSignerAddress(this.chain);
298
+ const igp = await this.deployer.deployProxiedContract({
299
+ chain: this.chain,
300
+ contractKey: HookType.INTERCHAIN_GAS_PAYMASTER,
301
+ contractName: HookType.INTERCHAIN_GAS_PAYMASTER,
302
+ proxyAdmin: this.args.addresses.proxyAdmin,
303
+ constructorArgs: [],
304
+ initializeArgs: [deployerAddress, config.beneficiary],
305
+ });
306
+ const gasParamsToSet = [];
307
+ for (const [remote, gasOverhead] of Object.entries(config.overhead)) {
308
+ // Note: non-EVM remotes actually *are* supported, provided that the remote domain is in the MultiProvider.
309
+ // Previously would check core metadata for non EVMs and fallback to multiprovider for custom EVMs
310
+ const remoteDomain = this.multiProvider.tryGetDomainId(remote);
311
+ if (!remoteDomain) {
312
+ this.logger.warn(`Skipping overhead ${this.chain} -> ${remote}. Expected if the remote is a non-EVM chain.`);
313
+ continue;
314
+ }
315
+ this.logger.debug(`Setting gas params for ${this.chain} -> ${remote}: gasOverhead = ${gasOverhead} gasOracle = ${storageGasOracle.address}`);
316
+ gasParamsToSet.push({
317
+ remoteDomain,
318
+ config: {
319
+ gasOverhead,
320
+ gasOracle: storageGasOracle.address,
321
+ },
322
+ });
323
+ }
324
+ if (gasParamsToSet.length > 0) {
325
+ await this.multiProvider.handleTx(this.chain, igp.setDestinationGasConfigs(gasParamsToSet, this.txOverrides));
326
+ }
327
+ // Transfer igp to the configured owner
328
+ await this.multiProvider.handleTx(this.chain, igp.transferOwnership(config.owner, this.txOverrides));
329
+ return igp;
330
+ }
331
+ async deployStorageGasOracle({ config, }) {
332
+ const gasOracle = await this.deployer.deployContract({
333
+ chain: this.chain,
334
+ contractKey: 'storageGasOracle',
335
+ constructorArgs: [],
336
+ });
337
+ if (!config.oracleConfig) {
338
+ this.logger.debug('No oracle config provided, skipping...');
339
+ return gasOracle;
340
+ }
341
+ this.logger.info(`Configuring gas oracle from ${this.chain}...`);
342
+ const configsToSet = [];
343
+ for (const [remote, desired] of Object.entries(config.oracleConfig)) {
344
+ // Note: non-EVM remotes actually *are* supported, provided that the remote domain is in the MultiProvider.
345
+ // Previously would check core metadata for non EVMs and fallback to multiprovider for custom EVMs
346
+ const remoteDomain = this.multiProvider.tryGetDomainId(remote);
347
+ if (!remoteDomain) {
348
+ this.logger.warn(`Skipping gas oracle ${this.chain} -> ${remote}.` +
349
+ ' Expected if the remote is a non-EVM chain or the remote domain is not the in the MultiProvider.');
350
+ continue;
351
+ }
352
+ configsToSet.push({
353
+ remoteDomain,
354
+ ...desired,
355
+ });
356
+ // Log an example remote gas cost
357
+ const exampleRemoteGas = (config.overhead[remote] ?? 200000) + 50000;
358
+ const exampleRemoteGasCost = BigNumber.from(desired.tokenExchangeRate)
359
+ .mul(desired.gasPrice)
360
+ .mul(exampleRemoteGas)
361
+ .div(TOKEN_EXCHANGE_RATE_SCALE);
362
+ this.logger.info(`${this.chain} -> ${remote}: ${exampleRemoteGas} remote gas cost: ${ethers.utils.formatEther(exampleRemoteGasCost)}`);
363
+ }
364
+ if (configsToSet.length > 0) {
365
+ await this.multiProvider.handleTx(this.chain, gasOracle.setRemoteGasDataConfigs(configsToSet, this.txOverrides));
366
+ }
367
+ // Transfer gas oracle to the configured owner
368
+ await this.multiProvider.handleTx(this.chain, gasOracle.transferOwnership(config.oracleKey, this.txOverrides));
369
+ return gasOracle;
25
370
  }
26
371
  }
27
372
  //# sourceMappingURL=EvmHookModule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EvmHookModule.js","sourceRoot":"","sources":["../../src/hook/EvmHookModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGzE,OAAO,EACL,eAAe,GAEhB,MAAM,oCAAoC,CAAC;AAK5C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,8CAA8C;AAC9C,MAAM,OAAO,aAAc,SAAQ,eAMlC;IAKsB;IACA;IALX,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IACvD,MAAM,CAAgB;IAEhC,YACqB,aAA4B,EAC5B,QAAqC,EACxD,IAKC;QAED,KAAK,CAAC,IAAI,CAAC,CAAC;QATO,kBAAa,GAAb,aAAa,CAAe;QAC5B,aAAQ,GAAR,QAAQ,CAA6B;QASxD,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACxE,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAmB;QACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,wCAAwC;IACjC,MAAM,CAAC,MAAM,CAAC,OAAmB;QACtC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"EvmHookModule.js","sourceRoot":"","sources":["../../src/hook/EvmHookModule.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { ChainNameOrId } from '../types.js';
5
5
  import { AggregationHookConfig, DomainRoutingHookConfig, FallbackRoutingHookConfig, HookConfig, IgpHookConfig, MerkleTreeHookConfig, OpStackHookConfig, PausableHookConfig, ProtocolFeeHookConfig } from './types.js';
6
6
  export type DerivedHookConfig = WithAddress<Exclude<HookConfig, Address>>;
7
7
  export interface HookReader {
8
- deriveHookConfig(address: Address): Promise<WithAddress<HookConfig>>;
8
+ deriveHookConfig(address: Address): Promise<WithAddress<HookConfig> | undefined>;
9
9
  deriveMerkleTreeConfig(address: Address): Promise<WithAddress<MerkleTreeHookConfig>>;
10
10
  deriveAggregationConfig(address: Address): Promise<WithAddress<AggregationHookConfig>>;
11
11
  deriveIgpConfig(address: Address): Promise<WithAddress<IgpHookConfig>>;
@@ -22,7 +22,7 @@ export declare class EvmHookReader implements HookReader {
22
22
  protected readonly provider: providers.Provider;
23
23
  protected readonly logger: import("pino").default.Logger<never>;
24
24
  constructor(multiProvider: MultiProvider, chain: ChainNameOrId, concurrency?: number);
25
- deriveHookConfig(address: Address): Promise<DerivedHookConfig>;
25
+ deriveHookConfig(address: Address): Promise<DerivedHookConfig | undefined>;
26
26
  deriveMerkleTreeConfig(address: Address): Promise<WithAddress<MerkleTreeHookConfig>>;
27
27
  deriveAggregationConfig(address: Address): Promise<WithAddress<AggregationHookConfig>>;
28
28
  deriveIgpConfig(address: Address): Promise<WithAddress<IgpHookConfig>>;
@@ -32,5 +32,11 @@ export declare class EvmHookReader implements HookReader {
32
32
  deriveFallbackRoutingConfig(address: Address): Promise<WithAddress<FallbackRoutingHookConfig>>;
33
33
  private fetchDomainHooks;
34
34
  derivePausableConfig(address: Address): Promise<WithAddress<PausableHookConfig>>;
35
+ /**
36
+ * Conditionally sets the log level for a smart provider.
37
+ *
38
+ * @param level - The log level to set, e.g. 'debug', 'info', 'warn', 'error'.
39
+ */
40
+ protected setSmartProviderLogLevel(level: string): void;
35
41
  }
36
42
  //# sourceMappingURL=EvmHookReader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EvmHookReader.d.ts","sourceRoot":"","sources":["../../src/hook/EvmHookReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmHookReader.d.ts","sourceRoot":"","sources":["../../src/hook/EvmHookReader.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { DomainRoutingHook__factory, FallbackDomainRoutingHook__factory, IPostDispatchHook__factory, InterchainGasPaymaster__factory, MerkleTreeHook__factory, OPStackHook__factory, PausableHook__factory, ProtocolFee__factory, StaticAggregationHook__factory, StorageGasOracle__factory, } from '@hyperlane-xyz/core';
3
- import { assert, concurrentMap, eqAddress, rootLogger, } from '@hyperlane-xyz/utils';
3
+ import { assert, concurrentMap, eqAddress, getLogLevel, rootLogger, } from '@hyperlane-xyz/utils';
4
4
  import { DEFAULT_CONTRACT_READ_CONCURRENCY } from '../consts/concurrency.js';
5
5
  import { HookType, OnchainHookType, } from './types.js';
6
6
  export class EvmHookReader {
@@ -16,31 +16,44 @@ export class EvmHookReader {
16
16
  this.provider = multiProvider.getProvider(chain);
17
17
  }
18
18
  async deriveHookConfig(address) {
19
- const hook = IPostDispatchHook__factory.connect(address, this.provider);
20
- const onchainHookType = await hook.hookType();
21
- this.logger.debug('Deriving HookConfig', { address, onchainHookType });
22
- switch (onchainHookType) {
23
- case OnchainHookType.ROUTING:
24
- return this.deriveDomainRoutingConfig(address);
25
- case OnchainHookType.AGGREGATION:
26
- return this.deriveAggregationConfig(address);
27
- case OnchainHookType.MERKLE_TREE:
28
- return this.deriveMerkleTreeConfig(address);
29
- case OnchainHookType.INTERCHAIN_GAS_PAYMASTER:
30
- return this.deriveIgpConfig(address);
31
- case OnchainHookType.FALLBACK_ROUTING:
32
- return this.deriveFallbackRoutingConfig(address);
33
- case OnchainHookType.PAUSABLE:
34
- return this.derivePausableConfig(address);
35
- case OnchainHookType.PROTOCOL_FEE:
36
- return this.deriveProtocolFeeConfig(address);
37
- // ID_AUTH_ISM could be OPStackHook, ERC5164Hook or LayerZeroV2Hook
38
- // For now assume it's OP_STACK
39
- case OnchainHookType.ID_AUTH_ISM:
40
- return this.deriveOpStackConfig(address);
41
- default:
42
- throw new Error(`Unsupported HookType: ${OnchainHookType[onchainHookType]}`);
19
+ let onchainHookType = undefined;
20
+ try {
21
+ const hook = IPostDispatchHook__factory.connect(address, this.provider);
22
+ this.logger.debug('Deriving HookConfig', { address });
23
+ // Temporarily turn off SmartProvider logging
24
+ // Provider errors are expected because deriving will call methods that may not exist in the Bytecode
25
+ this.setSmartProviderLogLevel('silent');
26
+ onchainHookType = await hook.hookType();
27
+ switch (onchainHookType) {
28
+ case OnchainHookType.ROUTING:
29
+ return this.deriveDomainRoutingConfig(address);
30
+ case OnchainHookType.AGGREGATION:
31
+ return this.deriveAggregationConfig(address);
32
+ case OnchainHookType.MERKLE_TREE:
33
+ return this.deriveMerkleTreeConfig(address);
34
+ case OnchainHookType.INTERCHAIN_GAS_PAYMASTER:
35
+ return this.deriveIgpConfig(address);
36
+ case OnchainHookType.FALLBACK_ROUTING:
37
+ return this.deriveFallbackRoutingConfig(address);
38
+ case OnchainHookType.PAUSABLE:
39
+ return this.derivePausableConfig(address);
40
+ case OnchainHookType.PROTOCOL_FEE:
41
+ return this.deriveProtocolFeeConfig(address);
42
+ // ID_AUTH_ISM could be OPStackHook, ERC5164Hook or LayerZeroV2Hook
43
+ // For now assume it's OP_STACK
44
+ case OnchainHookType.ID_AUTH_ISM:
45
+ return this.deriveOpStackConfig(address);
46
+ default:
47
+ throw new Error(`Unsupported HookType: ${OnchainHookType[onchainHookType]}`);
48
+ }
49
+ }
50
+ catch (e) {
51
+ this.logger.debug(`Failed to derive ${onchainHookType} hook (${address}): ${e}`);
52
+ }
53
+ finally {
54
+ this.setSmartProviderLogLevel(getLogLevel()); // returns to original level defined by rootLogger
43
55
  }
56
+ return undefined;
44
57
  }
45
58
  async deriveMerkleTreeConfig(address) {
46
59
  const hook = MerkleTreeHook__factory.connect(address, this.provider);
@@ -54,7 +67,11 @@ export class EvmHookReader {
54
67
  const hook = StaticAggregationHook__factory.connect(address, this.provider);
55
68
  assert((await hook.hookType()) === OnchainHookType.AGGREGATION);
56
69
  const hooks = await hook.hooks(ethers.constants.AddressZero);
57
- const hookConfigs = await concurrentMap(this.concurrency, hooks, async (hook) => this.deriveHookConfig(hook));
70
+ const hookConfigs = await concurrentMap(this.concurrency, hooks, async (hook) => {
71
+ const hookConfig = await this.deriveHookConfig(hook);
72
+ assert(hookConfig, `No hook config found for ${hook}.`);
73
+ return hookConfig;
74
+ });
58
75
  return {
59
76
  address,
60
77
  type: HookType.AGGREGATION,
@@ -155,6 +172,7 @@ export class EvmHookReader {
155
172
  const domainHooks = await this.fetchDomainHooks(hook);
156
173
  const fallbackHook = await hook.fallbackHook();
157
174
  const fallbackHookConfig = await this.deriveHookConfig(fallbackHook);
175
+ assert(fallbackHookConfig, `No fallback hook config found for ${fallbackHook}.`);
158
176
  return {
159
177
  owner,
160
178
  address,
@@ -171,7 +189,9 @@ export class EvmHookReader {
171
189
  try {
172
190
  const domainHook = await hook.hooks(domainId);
173
191
  if (domainHook !== ethers.constants.AddressZero) {
174
- domainHooks[chainName] = await this.deriveHookConfig(domainHook);
192
+ const hookConfig = await this.deriveHookConfig(domainHook);
193
+ assert(hookConfig, `No hook config found for ${domainHook}.`);
194
+ domainHooks[chainName] = hookConfig;
175
195
  }
176
196
  }
177
197
  catch (error) {
@@ -192,5 +212,16 @@ export class EvmHookReader {
192
212
  type: HookType.PAUSABLE,
193
213
  };
194
214
  }
215
+ /**
216
+ * Conditionally sets the log level for a smart provider.
217
+ *
218
+ * @param level - The log level to set, e.g. 'debug', 'info', 'warn', 'error'.
219
+ */
220
+ setSmartProviderLogLevel(level) {
221
+ if ('setLogLevel' in this.provider) {
222
+ //@ts-ignore
223
+ this.provider.setLogLevel(level);
224
+ }
225
+ }
195
226
  }
196
227
  //# sourceMappingURL=EvmHookReader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EvmHookReader.js","sourceRoot":"","sources":["../../src/hook/EvmHookReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmHookReader.js","sourceRoot":"","sources":["../../src/hook/EvmHookReader.ts"],"names":[],"mappings":"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"}