@hyperlane-xyz/sdk 8.8.1 → 9.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 (184) hide show
  1. package/dist/block-explorer/etherscan.d.ts +41 -0
  2. package/dist/block-explorer/etherscan.d.ts.map +1 -0
  3. package/dist/block-explorer/etherscan.js +53 -0
  4. package/dist/block-explorer/etherscan.js.map +1 -0
  5. package/dist/ccip/HyperlaneCCIPDeployer.d.ts +18 -0
  6. package/dist/ccip/HyperlaneCCIPDeployer.d.ts.map +1 -0
  7. package/dist/ccip/HyperlaneCCIPDeployer.js +122 -0
  8. package/dist/ccip/HyperlaneCCIPDeployer.js.map +1 -0
  9. package/dist/ccip/consts.d.ts +24 -0
  10. package/dist/ccip/consts.d.ts.map +1 -0
  11. package/dist/ccip/consts.js +691 -0
  12. package/dist/ccip/consts.js.map +1 -0
  13. package/dist/ccip/utils.d.ts +46 -0
  14. package/dist/ccip/utils.d.ts.map +1 -0
  15. package/dist/ccip/utils.js +95 -0
  16. package/dist/ccip/utils.js.map +1 -0
  17. package/dist/consts/multisigIsm.d.ts.map +1 -1
  18. package/dist/consts/multisigIsm.js +45 -9
  19. package/dist/consts/multisigIsm.js.map +1 -1
  20. package/dist/contracts/contracts.d.ts +2 -2
  21. package/dist/contracts/contracts.d.ts.map +1 -1
  22. package/dist/contracts/contracts.js +4 -13
  23. package/dist/contracts/contracts.js.map +1 -1
  24. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  25. package/dist/core/HyperlaneCoreDeployer.js +6 -2
  26. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  27. package/dist/core/HyperlaneRelayer.d.ts +43 -3
  28. package/dist/core/HyperlaneRelayer.d.ts.map +1 -1
  29. package/dist/core/types.d.ts +3558 -2040
  30. package/dist/core/types.d.ts.map +1 -1
  31. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  32. package/dist/deploy/HyperlaneDeployer.js +6 -1
  33. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  34. package/dist/deploy/proxy.d.ts.map +1 -1
  35. package/dist/deploy/proxy.js +4 -0
  36. package/dist/deploy/proxy.js.map +1 -1
  37. package/dist/deploy/verify/utils.d.ts.map +1 -1
  38. package/dist/deploy/verify/utils.js +3 -9
  39. package/dist/deploy/verify/utils.js.map +1 -1
  40. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  41. package/dist/gas/HyperlaneIgpDeployer.js +15 -3
  42. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  43. package/dist/hook/EvmHookModule.d.ts +12 -4
  44. package/dist/hook/EvmHookModule.d.ts.map +1 -1
  45. package/dist/hook/EvmHookModule.hardhat-test.js +2 -106
  46. package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -1
  47. package/dist/hook/EvmHookModule.js +38 -10
  48. package/dist/hook/EvmHookModule.js.map +1 -1
  49. package/dist/hook/EvmHookReader.d.ts +7 -1
  50. package/dist/hook/EvmHookReader.d.ts.map +1 -1
  51. package/dist/hook/EvmHookReader.js +69 -4
  52. package/dist/hook/EvmHookReader.js.map +1 -1
  53. package/dist/hook/EvmHookReader.test.js +50 -1
  54. package/dist/hook/EvmHookReader.test.js.map +1 -1
  55. package/dist/hook/HyperlaneHookDeployer.d.ts +4 -2
  56. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  57. package/dist/hook/HyperlaneHookDeployer.js +39 -6
  58. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  59. package/dist/hook/contracts.d.ts +4 -1
  60. package/dist/hook/contracts.d.ts.map +1 -1
  61. package/dist/hook/contracts.js +4 -1
  62. package/dist/hook/contracts.js.map +1 -1
  63. package/dist/hook/types.d.ts +2012 -3
  64. package/dist/hook/types.d.ts.map +1 -1
  65. package/dist/hook/types.js +28 -0
  66. package/dist/hook/types.js.map +1 -1
  67. package/dist/index.d.ts +11 -5
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +10 -4
  70. package/dist/index.js.map +1 -1
  71. package/dist/ism/EvmIsmModule.d.ts +4 -2
  72. package/dist/ism/EvmIsmModule.d.ts.map +1 -1
  73. package/dist/ism/EvmIsmModule.hardhat-test.js +10 -71
  74. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
  75. package/dist/ism/EvmIsmModule.js +4 -4
  76. package/dist/ism/EvmIsmModule.js.map +1 -1
  77. package/dist/ism/EvmIsmReader.d.ts +1 -0
  78. package/dist/ism/EvmIsmReader.d.ts.map +1 -1
  79. package/dist/ism/EvmIsmReader.js +45 -7
  80. package/dist/ism/EvmIsmReader.js.map +1 -1
  81. package/dist/ism/EvmIsmReader.test.js +4 -1
  82. package/dist/ism/EvmIsmReader.test.js.map +1 -1
  83. package/dist/ism/HyperlaneIsmFactory.d.ts +9 -4
  84. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  85. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +15 -0
  86. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  87. package/dist/ism/HyperlaneIsmFactory.js +43 -4
  88. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  89. package/dist/ism/metadata/builder.d.ts.map +1 -1
  90. package/dist/ism/metadata/builder.js +1 -0
  91. package/dist/ism/metadata/builder.js.map +1 -1
  92. package/dist/ism/metadata/routing.d.ts.map +1 -1
  93. package/dist/ism/metadata/routing.js +8 -2
  94. package/dist/ism/metadata/routing.js.map +1 -1
  95. package/dist/ism/types.d.ts +34 -5
  96. package/dist/ism/types.d.ts.map +1 -1
  97. package/dist/ism/types.js +15 -0
  98. package/dist/ism/types.js.map +1 -1
  99. package/dist/ism/utils.d.ts.map +1 -1
  100. package/dist/ism/utils.js +30 -2
  101. package/dist/ism/utils.js.map +1 -1
  102. package/dist/metadata/agentConfig.d.ts +276 -276
  103. package/dist/metadata/chainMetadataTypes.d.ts +1 -0
  104. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  105. package/dist/metadata/chainMetadataTypes.js +1 -0
  106. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  107. package/dist/metadata/deploymentArtifacts.d.ts +2 -2
  108. package/dist/providers/ProviderType.d.ts +29 -5
  109. package/dist/providers/ProviderType.d.ts.map +1 -1
  110. package/dist/providers/ProviderType.js +2 -0
  111. package/dist/providers/ProviderType.js.map +1 -1
  112. package/dist/providers/explorerHealthTest.d.ts.map +1 -1
  113. package/dist/providers/explorerHealthTest.js +1 -0
  114. package/dist/providers/explorerHealthTest.js.map +1 -1
  115. package/dist/providers/providerBuilders.d.ts +2 -1
  116. package/dist/providers/providerBuilders.d.ts.map +1 -1
  117. package/dist/providers/providerBuilders.js +9 -0
  118. package/dist/providers/providerBuilders.js.map +1 -1
  119. package/dist/router/types.d.ts +129 -9
  120. package/dist/router/types.d.ts.map +1 -1
  121. package/dist/test/testUtils.d.ts +8 -0
  122. package/dist/test/testUtils.d.ts.map +1 -1
  123. package/dist/test/testUtils.js +191 -1
  124. package/dist/test/testUtils.js.map +1 -1
  125. package/dist/token/EvmERC20WarpModule.d.ts +4 -1
  126. package/dist/token/EvmERC20WarpModule.d.ts.map +1 -1
  127. package/dist/token/EvmERC20WarpModule.js +12 -8
  128. package/dist/token/EvmERC20WarpModule.js.map +1 -1
  129. package/dist/token/EvmERC20WarpRouteReader.d.ts +4 -3
  130. package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -1
  131. package/dist/token/EvmERC20WarpRouteReader.hardhat-test.js +72 -3
  132. package/dist/token/EvmERC20WarpRouteReader.hardhat-test.js.map +1 -1
  133. package/dist/token/EvmERC20WarpRouteReader.js +84 -15
  134. package/dist/token/EvmERC20WarpRouteReader.js.map +1 -1
  135. package/dist/token/Token.test.js +4 -0
  136. package/dist/token/Token.test.js.map +1 -1
  137. package/dist/token/TokenStandard.d.ts +8 -1
  138. package/dist/token/TokenStandard.d.ts.map +1 -1
  139. package/dist/token/TokenStandard.js +23 -0
  140. package/dist/token/TokenStandard.js.map +1 -1
  141. package/dist/token/adapters/EvmTokenAdapter.d.ts +49 -15
  142. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  143. package/dist/token/adapters/EvmTokenAdapter.js +152 -42
  144. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  145. package/dist/token/adapters/ITokenAdapter.d.ts +19 -0
  146. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  147. package/dist/token/checker.d.ts +4 -1
  148. package/dist/token/checker.d.ts.map +1 -1
  149. package/dist/token/checker.js +33 -5
  150. package/dist/token/checker.js.map +1 -1
  151. package/dist/token/config.d.ts +1 -0
  152. package/dist/token/config.d.ts.map +1 -1
  153. package/dist/token/config.js +2 -0
  154. package/dist/token/config.js.map +1 -1
  155. package/dist/token/configUtils.d.ts +10 -0
  156. package/dist/token/configUtils.d.ts.map +1 -0
  157. package/dist/token/configUtils.js +48 -0
  158. package/dist/token/configUtils.js.map +1 -0
  159. package/dist/token/contracts.d.ts +2 -2
  160. package/dist/token/contracts.d.ts.map +1 -1
  161. package/dist/token/contracts.js +4 -3
  162. package/dist/token/contracts.js.map +1 -1
  163. package/dist/token/deploy.d.ts +2 -2
  164. package/dist/token/deploy.d.ts.map +1 -1
  165. package/dist/token/deploy.hardhat-test.js +69 -6
  166. package/dist/token/deploy.hardhat-test.js.map +1 -1
  167. package/dist/token/deploy.js +12 -8
  168. package/dist/token/deploy.js.map +1 -1
  169. package/dist/token/nativeTokenMetadata.d.ts.map +1 -1
  170. package/dist/token/nativeTokenMetadata.js +6 -0
  171. package/dist/token/nativeTokenMetadata.js.map +1 -1
  172. package/dist/token/types.d.ts +3631 -252
  173. package/dist/token/types.d.ts.map +1 -1
  174. package/dist/token/types.js +125 -3
  175. package/dist/token/types.js.map +1 -1
  176. package/dist/token/types.test.js +2 -3
  177. package/dist/token/types.test.js.map +1 -1
  178. package/dist/token/xerc20.d.ts +13 -0
  179. package/dist/token/xerc20.d.ts.map +1 -0
  180. package/dist/token/xerc20.js +174 -0
  181. package/dist/token/xerc20.js.map +1 -0
  182. package/dist/utils/cosmos.d.ts +2 -2
  183. package/dist/warp/types.d.ts +14 -14
  184. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"EvmHookModule.hardhat-test.js","sourceRoot":"","sources":["../../src/hook/EvmHookModule.hardhat-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmHookModule.hardhat-test.js","sourceRoot":"","sources":["../../src/hook/EvmHookModule.hardhat-test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { getArbitrumNetwork } from '@arbitrum/sdk';
2
2
  import { BigNumber, ethers } from 'ethers';
3
- import { ArbL2ToL1Ism__factory, DomainRoutingHook__factory, IL1CrossDomainMessenger__factory, IPostDispatchHook__factory, InterchainGasPaymaster__factory, OPStackIsm__factory, Ownable__factory, PausableHook__factory, ProtocolFee__factory, StaticAggregationHookFactory__factory, StaticAggregationHook__factory, StorageGasOracle__factory, } from '@hyperlane-xyz/core';
4
- import { addressToBytes32, deepEquals, eqAddress, rootLogger, } from '@hyperlane-xyz/utils';
3
+ import { zeroAddress } from 'viem';
4
+ import { ArbL2ToL1Ism__factory, CCIPHook__factory, DomainRoutingHook__factory, IL1CrossDomainMessenger__factory, IPostDispatchHook__factory, InterchainGasPaymaster__factory, OPStackIsm__factory, Ownable__factory, PausableHook__factory, ProtocolFee__factory, StaticAggregationHookFactory__factory, StaticAggregationHook__factory, StorageGasOracle__factory, } from '@hyperlane-xyz/core';
5
+ import { ZERO_ADDRESS_HEX_32, addressToBytes32, deepEquals, eqAddress, rootLogger, } from '@hyperlane-xyz/utils';
5
6
  import { TOKEN_EXCHANGE_RATE_SCALE_ETHEREUM } from '../consts/igp.js';
6
7
  import { HyperlaneModule, } from '../core/AbstractHyperlaneModule.js';
7
8
  import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer.js';
@@ -32,13 +33,13 @@ export class EvmHookModule extends HyperlaneModule {
32
33
  domainId;
33
34
  // Transaction overrides for the chain
34
35
  txOverrides;
35
- constructor(multiProvider, params, contractVerifier) {
36
+ constructor(multiProvider, params, ccipContractCache, contractVerifier) {
36
37
  params.config = HookConfigSchema.parse(params.config);
37
38
  super(params);
38
39
  this.multiProvider = multiProvider;
39
40
  this.contractVerifier = contractVerifier;
40
41
  this.reader = new EvmHookReader(multiProvider, this.args.chain);
41
- this.hookFactory = HyperlaneIsmFactory.fromAddressesMap({ [this.args.chain]: params.addresses }, multiProvider);
42
+ this.hookFactory = HyperlaneIsmFactory.fromAddressesMap({ [this.args.chain]: params.addresses }, multiProvider, ccipContractCache);
42
43
  this.deployer = new HookDeployer(multiProvider, hookFactories);
43
44
  this.chain = multiProvider.getChainName(this.args.chain);
44
45
  this.chainId = multiProvider.getEvmChainId(this.chain);
@@ -51,6 +52,10 @@ export class EvmHookModule extends HyperlaneModule {
51
52
  : this.reader.deriveHookConfig(this.args.addresses.deployedHook);
52
53
  }
53
54
  async update(targetConfig) {
55
+ // Nothing to do if its the default hook
56
+ if (targetConfig === zeroAddress) {
57
+ return Promise.resolve([]);
58
+ }
54
59
  targetConfig = HookConfigSchema.parse(targetConfig);
55
60
  // Do not support updating to a custom Hook address
56
61
  if (typeof targetConfig === 'string') {
@@ -118,7 +123,7 @@ export class EvmHookModule extends HyperlaneModule {
118
123
  return updateTxs;
119
124
  }
120
125
  // manually write static create function
121
- static async create({ chain, config, proxyFactoryFactories, coreAddresses, multiProvider, contractVerifier, }) {
126
+ static async create({ chain, config, proxyFactoryFactories, coreAddresses, multiProvider, ccipContractCache, contractVerifier, }) {
122
127
  const module = new EvmHookModule(multiProvider, {
123
128
  addresses: {
124
129
  ...proxyFactoryFactories,
@@ -127,7 +132,7 @@ export class EvmHookModule extends HyperlaneModule {
127
132
  },
128
133
  chain,
129
134
  config,
130
- }, contractVerifier);
135
+ }, ccipContractCache, contractVerifier);
131
136
  const deployedHook = await module.deploy({ config });
132
137
  module.args.addresses.deployedHook = deployedHook.address;
133
138
  return module;
@@ -361,7 +366,8 @@ export class EvmHookModule extends HyperlaneModule {
361
366
  this.logger.debug(`Deploying hook of type ${config.type}`);
362
367
  switch (config.type) {
363
368
  case HookType.MERKLE_TREE:
364
- return this.deployer.deployContract(this.chain, HookType.MERKLE_TREE, [
369
+ case HookType.MAILBOX_DEFAULT:
370
+ return this.deployer.deployContract(this.chain, config.type, [
365
371
  this.args.addresses.mailbox,
366
372
  ]);
367
373
  case HookType.INTERCHAIN_GAS_PAYMASTER:
@@ -377,9 +383,12 @@ export class EvmHookModule extends HyperlaneModule {
377
383
  case HookType.ROUTING:
378
384
  case HookType.FALLBACK_ROUTING:
379
385
  return this.deployRoutingHook({ config });
380
- case HookType.PAUSABLE: {
386
+ case HookType.PAUSABLE:
381
387
  return this.deployPausableHook({ config });
382
- }
388
+ case HookType.AMOUNT_ROUTING:
389
+ return this.deployAmountRoutingHook({ config });
390
+ case HookType.CCIP:
391
+ return this.deployCCIPHook({ config });
383
392
  default:
384
393
  throw new Error(`Unsupported hook config: ${config}`);
385
394
  }
@@ -456,7 +465,7 @@ export class EvmHookModule extends HyperlaneModule {
456
465
  this.logger.debug('Authorized hook already set on ism %s', opstackIsm.address);
457
466
  return hook;
458
467
  }
459
- else if (authorizedHook !== addressToBytes32(ethers.constants.AddressZero)) {
468
+ else if (authorizedHook !== ZERO_ADDRESS_HEX_32) {
460
469
  this.logger.debug('Authorized hook mismatch on ism %s, expected %s, got %s', opstackIsm.address, addressToBytes32(hook.address), authorizedHook);
461
470
  throw new Error('Authorized hook mismatch');
462
471
  }
@@ -512,6 +521,14 @@ export class EvmHookModule extends HyperlaneModule {
512
521
  await this.multiProvider.handleTx(config.destinationChain, arbL2ToL1Ism.setAuthorizedHook(addressToBytes32(hook.address), this.multiProvider.getTransactionOverrides(config.destinationChain)));
513
522
  return hook;
514
523
  }
524
+ async deployCCIPHook({ config, }) {
525
+ const hook = this.hookFactory.ccipContractCache.getHook(this.chain, config.destinationChain);
526
+ if (!hook) {
527
+ this.logger.error(`CCIP Hook not found for ${this.chain} -> ${config.destinationChain}`);
528
+ throw new Error(`CCIP Hook not found for ${this.chain} -> ${config.destinationChain}`);
529
+ }
530
+ return CCIPHook__factory.connect(hook, this.multiProvider.getSigner(this.chain));
531
+ }
515
532
  async deployRoutingHook({ config, }) {
516
533
  // originally set owner to deployer so we can set hooks
517
534
  const deployerAddress = await this.multiProvider.getSignerAddress(this.chain);
@@ -570,6 +587,17 @@ export class EvmHookModule extends HyperlaneModule {
570
587
  await this.multiProvider.handleTx(this.chain, igp.transferOwnership(config.owner, this.txOverrides));
571
588
  return igp;
572
589
  }
590
+ async deployAmountRoutingHook({ config, }) {
591
+ const hooks = [];
592
+ for (const hookConfig of [config.lowerHook, config.upperHook]) {
593
+ const { address } = await this.deploy({ config: hookConfig });
594
+ hooks.push(address);
595
+ }
596
+ const [lowerHook, upperHook] = hooks;
597
+ // deploy routing hook
598
+ const routingHook = await this.deployer.deployContract(this.chain, HookType.AMOUNT_ROUTING, [lowerHook, upperHook, config.threshold]);
599
+ return routingHook;
600
+ }
573
601
  async deployStorageGasOracle({ config, }) {
574
602
  // Deploy the StorageGasOracle, by default msg.sender is the owner
575
603
  const gasOracle = await this.deployer.deployContractFromFactory(this.chain, new StorageGasOracle__factory(), 'storageGasOracle', []);
@@ -1 +1 @@
1
- {"version":3,"file":"EvmHookModule.js","sourceRoot":"","sources":["../../src/hook/EvmHookModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmHookModule.js","sourceRoot":"","sources":["../../src/hook/EvmHookModule.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { DispatchedMessage } from '../core/types.js';
3
3
  import { MultiProvider } from '../providers/MultiProvider.js';
4
4
  import { ChainNameOrId } from '../types.js';
5
5
  import { HyperlaneReader } from '../utils/HyperlaneReader.js';
6
- import { AggregationHookConfig, ArbL2ToL1HookConfig, DomainRoutingHookConfig, FallbackRoutingHookConfig, HookConfig, IgpHookConfig, MerkleTreeHookConfig, OnchainHookType, OpStackHookConfig, PausableHookConfig, ProtocolFeeHookConfig } from './types.js';
6
+ import { AggregationHookConfig, ArbL2ToL1HookConfig, CCIPHookConfig, DomainRoutingHookConfig, FallbackRoutingHookConfig, HookConfig, IgpHookConfig, MailboxDefaultHookConfig, MerkleTreeHookConfig, OnchainHookType, OpStackHookConfig, PausableHookConfig, ProtocolFeeHookConfig } from './types.js';
7
7
  export type DerivedHookConfig = WithAddress<Exclude<HookConfig, Address>>;
8
8
  export interface HookReader {
9
9
  deriveHookConfig(address: Address): Promise<WithAddress<HookConfig>>;
@@ -16,6 +16,8 @@ export interface HookReader {
16
16
  deriveDomainRoutingConfig(address: Address): Promise<WithAddress<DomainRoutingHookConfig>>;
17
17
  deriveFallbackRoutingConfig(address: Address): Promise<WithAddress<FallbackRoutingHookConfig>>;
18
18
  derivePausableConfig(address: Address): Promise<WithAddress<PausableHookConfig>>;
19
+ deriveIdAuthIsmConfig(address: Address): Promise<DerivedHookConfig>;
20
+ deriveCcipConfig(address: Address): Promise<WithAddress<CCIPHookConfig>>;
19
21
  assertHookType(hookType: OnchainHookType, expectedType: OnchainHookType): void;
20
22
  }
21
23
  export declare class EvmHookReader extends HyperlaneReader implements HookReader {
@@ -32,6 +34,9 @@ export declare class EvmHookReader extends HyperlaneReader implements HookReader
32
34
  private _cache;
33
35
  constructor(multiProvider: MultiProvider, chain: ChainNameOrId, concurrency?: number, messageContext?: DispatchedMessage | undefined);
34
36
  deriveHookConfig(address: Address): Promise<DerivedHookConfig>;
37
+ deriveMailboxDefaultHookConfig(address: Address): Promise<WithAddress<MailboxDefaultHookConfig>>;
38
+ deriveIdAuthIsmConfig(address: Address): Promise<DerivedHookConfig>;
39
+ deriveCcipConfig(address: Address): Promise<WithAddress<CCIPHookConfig>>;
35
40
  deriveMerkleTreeConfig(address: Address): Promise<WithAddress<MerkleTreeHookConfig>>;
36
41
  deriveAggregationConfig(address: Address): Promise<WithAddress<AggregationHookConfig>>;
37
42
  possibleDomainIds(): number[];
@@ -43,6 +48,7 @@ export declare class EvmHookReader extends HyperlaneReader implements HookReader
43
48
  deriveFallbackRoutingConfig(address: Address): Promise<WithAddress<FallbackRoutingHookConfig>>;
44
49
  private fetchDomainHooks;
45
50
  derivePausableConfig(address: Address): Promise<WithAddress<PausableHookConfig>>;
51
+ private deriveAmountRoutingHookConfig;
46
52
  assertHookType(hookType: OnchainHookType, expectedType: OnchainHookType): void;
47
53
  }
48
54
  //# 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,5 +1,5 @@
1
1
  import { ethers } from 'ethers';
2
- import { ArbL2ToL1Hook__factory, DomainRoutingHook__factory, FallbackDomainRoutingHook__factory, IPostDispatchHook__factory, InterchainGasPaymaster__factory, MerkleTreeHook__factory, OPStackHook__factory, PausableHook__factory, ProtocolFee__factory, StaticAggregationHook__factory, StorageGasOracle__factory, } from '@hyperlane-xyz/core';
2
+ import { AmountRoutingHook__factory, ArbL2ToL1Hook__factory, CCIPHook__factory, DefaultHook__factory, 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
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 { HyperlaneReader } from '../utils/HyperlaneReader.js';
@@ -62,14 +62,18 @@ export class EvmHookReader extends HyperlaneReader {
62
62
  case OnchainHookType.PROTOCOL_FEE:
63
63
  derivedHookConfig = await this.deriveProtocolFeeConfig(address);
64
64
  break;
65
- // ID_AUTH_ISM could be OPStackHook, ERC5164Hook or LayerZeroV2Hook
66
- // For now assume it's OP_STACK
67
65
  case OnchainHookType.ID_AUTH_ISM:
68
- derivedHookConfig = await this.deriveOpStackConfig(address);
66
+ derivedHookConfig = await this.deriveIdAuthIsmConfig(address);
69
67
  break;
70
68
  case OnchainHookType.ARB_L2_TO_L1:
71
69
  derivedHookConfig = await this.deriveArbL2ToL1Config(address);
72
70
  break;
71
+ case OnchainHookType.AMOUNT_ROUTING:
72
+ derivedHookConfig = await this.deriveAmountRoutingHookConfig(address);
73
+ break;
74
+ case OnchainHookType.MAILBOX_DEFAULT_HOOK:
75
+ derivedHookConfig = await this.deriveMailboxDefaultHookConfig(address);
76
+ break;
73
77
  default:
74
78
  throw new Error(`Unsupported HookType: ${OnchainHookType[onchainHookType]}`);
75
79
  }
@@ -91,6 +95,49 @@ export class EvmHookReader extends HyperlaneReader {
91
95
  }
92
96
  return derivedHookConfig;
93
97
  }
98
+ async deriveMailboxDefaultHookConfig(address) {
99
+ const hook = DefaultHook__factory.connect(address, this.provider);
100
+ this.assertHookType(await hook.hookType(), OnchainHookType.MAILBOX_DEFAULT_HOOK);
101
+ const config = {
102
+ address,
103
+ type: HookType.MAILBOX_DEFAULT,
104
+ };
105
+ this._cache.set(address, config);
106
+ return config;
107
+ }
108
+ async deriveIdAuthIsmConfig(address) {
109
+ // First check if it's a CCIP hook
110
+ try {
111
+ const ccipHook = CCIPHook__factory.connect(address, this.provider);
112
+ // This method only exists on CCIPHook
113
+ await ccipHook.ccipDestination();
114
+ return this.deriveCcipConfig(address);
115
+ }
116
+ catch {
117
+ // Not a CCIP hook, try OPStack
118
+ try {
119
+ const opStackHook = OPStackHook__factory.connect(address, this.provider);
120
+ // This method only exists on OPStackHook
121
+ await opStackHook.l1Messenger();
122
+ return this.deriveOpStackConfig(address);
123
+ }
124
+ catch {
125
+ throw new Error(`Could not determine hook type - neither CCIP nor OPStack methods found`);
126
+ }
127
+ }
128
+ }
129
+ async deriveCcipConfig(address) {
130
+ const ccipHook = CCIPHook__factory.connect(address, this.provider);
131
+ const destinationDomain = await ccipHook.destinationDomain();
132
+ const destinationChain = this.multiProvider.getChainName(destinationDomain);
133
+ const config = {
134
+ address,
135
+ type: HookType.CCIP,
136
+ destinationChain,
137
+ };
138
+ this._cache.set(address, config);
139
+ return config;
140
+ }
94
141
  async deriveMerkleTreeConfig(address) {
95
142
  const hook = MerkleTreeHook__factory.connect(address, this.provider);
96
143
  this.assertHookType(await hook.hookType(), OnchainHookType.MERKLE_TREE);
@@ -285,6 +332,24 @@ export class EvmHookReader extends HyperlaneReader {
285
332
  this._cache.set(address, config);
286
333
  return config;
287
334
  }
335
+ async deriveAmountRoutingHookConfig(address) {
336
+ const hook = AmountRoutingHook__factory.connect(address, this.provider);
337
+ this.assertHookType(await hook.hookType(), OnchainHookType.AMOUNT_ROUTING);
338
+ const [threshold, lowerHook, upperHook] = await Promise.all([
339
+ hook.threshold(),
340
+ hook.lower(),
341
+ hook.upper(),
342
+ ]);
343
+ const config = {
344
+ address,
345
+ type: HookType.AMOUNT_ROUTING,
346
+ threshold: threshold.toNumber(),
347
+ lowerHook: await this.deriveHookConfig(lowerHook),
348
+ upperHook: await this.deriveHookConfig(upperHook),
349
+ };
350
+ this._cache.set(address, config);
351
+ return config;
352
+ }
288
353
  assertHookType(hookType, expectedType) {
289
354
  assert(hookType === expectedType, `expected hook type to be ${expectedType}, got ${hookType}`);
290
355
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EvmHookReader.js","sourceRoot":"","sources":["../../src/hook/EvmHookReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,sBAAsB,EAEtB,0BAA0B,EAE1B,kCAAkC,EAClC,0BAA0B,EAC1B,+BAA+B,EAC/B,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,MAAM,EACN,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAI7E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAML,QAAQ,EAGR,eAAe,GAKhB,MAAM,YAAY,CAAC;AAqCpB,MAAM,OAAO,aAAc,SAAQ,eAAe;IAU3B;IACA;IACA;IAGA;IAdF,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC1E;;;;OAIG;IACK,MAAM,GAAsB,IAAI,GAAG,EAAE,CAAC;IAE9C,YACqB,aAA4B,EAC5B,KAAoB,EACpB,cAAsB,aAAa,CAAC,oBAAoB,CACzE,KAAK,CACN,IAAI,iCAAiC,EACnB,cAAkC;QAErD,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAPT,kBAAa,GAAb,aAAa,CAAe;QAC5B,UAAK,GAAL,KAAK,CAAe;QACpB,gBAAW,GAAX,WAAW,CAEQ;QACnB,mBAAc,GAAd,cAAc,CAAoB;IAGvD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAgB;QACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAEvD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qCAAqC,IAAI,CAAC,KAAK,QAAQ,OAAO,EAAE,CACjE,CAAC;YACF,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sCAAsC,IAAI,CAAC,KAAK,QAAQ,OAAO,EAAE,CAClE,CAAC;QAEF,IAAI,eAAe,GAAgC,SAAS,CAAC;QAC7D,IAAI,iBAAoC,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,0BAA0B,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAEvD,6CAA6C;YAC7C,qGAAqG;YACrG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YACxC,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YAExC,QAAQ,eAAe,EAAE,CAAC;gBACxB,KAAK,eAAe,CAAC,OAAO;oBAC1B,iBAAiB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,eAAe,CAAC,WAAW;oBAC9B,iBAAiB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;oBAChE,MAAM;gBACR,KAAK,eAAe,CAAC,WAAW;oBAC9B,iBAAiB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBAC/D,MAAM;gBACR,KAAK,eAAe,CAAC,wBAAwB;oBAC3C,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBACxD,MAAM;gBACR,KAAK,eAAe,CAAC,gBAAgB;oBACnC,iBAAiB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;oBACpE,MAAM;gBACR,KAAK,eAAe,CAAC,QAAQ;oBAC3B,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;oBAC7D,MAAM;gBACR,KAAK,eAAe,CAAC,YAAY;oBAC/B,iBAAiB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;oBAChE,MAAM;gBACR,mEAAmE;gBACnE,+BAA+B;gBAC/B,KAAK,eAAe,CAAC,WAAW;oBAC9B,iBAAiB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBAC5D,MAAM;gBACR,KAAK,eAAe,CAAC,YAAY;oBAC/B,iBAAiB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;oBAC9D,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CACb,yBAAyB,eAAe,CAAC,eAAe,CAAC,EAAE,CAC5D,CAAC;YACN,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,aAAa,GAAW,oBAAoB,eAAe,UAAU,OAAO,GAAG,CAAC;YACpF,IACE,CAAC,eAAe;gBAChB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EACpD,CAAC;gBACD,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,4EAA4E,CAC7E,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,kDAAkD;QAClG,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,OAAgB;QAEhB,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;QAExE,MAAM,MAAM,GAAsC;YAChD,OAAO;YACP,IAAI,EAAE,QAAQ,CAAC,WAAW;SAC3B,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,OAAgB;QAEhB,MAAM,IAAI,GAAG,8BAA8B,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;QAExE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAwB,MAAM,aAAa,CAC1D,IAAI,CAAC,WAAW,EAChB,KAAK,EACL,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACtC,CAAC;QAEF,MAAM,MAAM,GAAuC;YACjD,OAAO;YACP,IAAI,EAAE,QAAQ,CAAC,WAAW;YAC1B,KAAK,EAAE,WAAW;SACnB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iBAAiB;QACf,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;aAChE,SAAS,CAAC;QAEb,OAAO,IAAI,CAAC,cAAc;YACxB,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC;YAC1C,CAAC,CAAC,2DAA2D;gBAC3D,IAAI,CAAC,aAAa;qBACf,kBAAkB,EAAE;qBACpB,MAAM,CACL,CAAC,SAAS,EAAE,EAAE,CACZ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,SAAS;oBAC1D,SAAS,CACZ;qBACA,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAgB;QACpC,MAAM,IAAI,GAAG,+BAA+B,CAAC,OAAO,CAClD,OAAO,EACP,IAAI,CAAC,QAAQ,CACd,CAAC;QACF,IAAI,CAAC,cAAc,CACjB,MAAM,IAAI,CAAC,QAAQ,EAAE,EACrB,eAAe,CAAC,wBAAwB,CACzC,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAE7C,MAAM,QAAQ,GAA8B,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAkC,EAAE,CAAC;QAEvD,IAAI,SAA6B,CAAC;QAElC,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,iBAAiB,EAAE,EACxB,KAAK,EAAE,QAAQ,EAAE,EAAE;YACjB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,GACpC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GACnC,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;gBAClD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAEtE,QAAQ,CAAC,SAAS,CAAC,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC;gBACnD,YAAY,CAAC,SAAS,CAAC,GAAG;oBACxB,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,EAAE;oBAC/C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;oBAC7B,aAAa,EAAE,WAAW,EAAE,QAAQ;iBACrC,CAAC;gBAEF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;gBACjE,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAC9C,SAAS,EACT,IAAI,CAAC,QAAQ,CACd,CAAC;gBACF,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mCAAmC,EACnC,QAAQ,EACR,SAAS,CACV,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CACvC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,IAAI,CACrC,CAAC;QAEF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACpD,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CACtC,CAAC;YACF,MAAM,CAAC,YAAY,EAAE,2BAA2B,CAAC,CAAC;YAClD,SAAS,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,MAAM,GAA+B;YACzC,KAAK;YACL,OAAO;YACP,IAAI,EAAE,QAAQ,CAAC,wBAAwB;YACvC,WAAW;YACX,SAAS,EAAE,SAAS,IAAI,KAAK;YAC7B,QAAQ;YACR,YAAY;SACb,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,OAAgB;QAEhB,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;QAEzE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACrD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAE7C,MAAM,MAAM,GAAuC;YACjD,KAAK;YACL,OAAO;YACP,IAAI,EAAE,QAAQ,CAAC,YAAY;YAC3B,cAAc,EAAE,cAAc,CAAC,QAAQ,EAAE;YACzC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnC,WAAW;SACZ,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,OAAgB;QAEhB,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;QAExE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzD,MAAM,oBAAoB,GACxB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAErD,MAAM,MAAM,GAAmC;YAC7C,KAAK;YACL,OAAO;YACP,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,YAAY,EAAE,iBAAiB;YAC/B,gBAAgB,EAAE,oBAAoB;SACvC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,OAAgB;QAEhB,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAEnC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzD,MAAM,oBAAoB,GACxB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAErD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAChD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QACtE,MAAM,MAAM,GAAqC;YAC/C,OAAO;YACP,IAAI,EAAE,QAAQ,CAAC,YAAY;YAC3B,gBAAgB,EAAE,oBAAoB;YACtC,MAAM;YACN,SAAS,EAAE,eAAe;SAC3B,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,OAAgB;QAEhB,MAAM,IAAI,GAAG,0BAA0B,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExE,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;QAEpE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAyC;YACnD,KAAK;YACL,OAAO;YACP,IAAI,EAAE,QAAQ,CAAC,OAAO;YACtB,OAAO,EAAE,WAAW;SACrB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC/B,OAAgB;QAEhB,MAAM,IAAI,GAAG,kCAAkC,CAAC,OAAO,CACrD,OAAO,EACP,IAAI,CAAC,QAAQ,CACd,CAAC;QAEF,IAAI,CAAC,cAAc,CACjB,MAAM,IAAI,CAAC,QAAQ,EAAE,EACrB,eAAe,CAAC,gBAAgB,CACjC,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEtD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAErE,MAAM,MAAM,GAA2C;YACrD,KAAK;YACL,OAAO;YACP,IAAI,EAAE,QAAQ,CAAC,gBAAgB;YAC/B,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,IAAmD;QAEnD,MAAM,WAAW,GAAiC,EAAE,CAAC;QACrD,MAAM,aAAa,CACjB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,iBAAiB,EAAE,EACxB,KAAK,EAAE,QAAQ,EAAE,EAAE;YACjB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,UAAU,KAAK,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBAChD,WAAW,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,4BAA4B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EACnD,QAAQ,EACR,SAAS,CACV,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,OAAgB;QAEhB,MAAM,IAAI,GAAG,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QAErE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,MAAM,GAAoC;YAC9C,KAAK;YACL,OAAO;YACP,MAAM;YACN,IAAI,EAAE,QAAQ,CAAC,QAAQ;SACxB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,cAAc,CACZ,QAAyB,EACzB,YAA6B;QAE7B,MAAM,CACJ,QAAQ,KAAK,YAAY,EACzB,4BAA4B,YAAY,SAAS,QAAQ,EAAE,CAC5D,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"EvmHookReader.js","sourceRoot":"","sources":["../../src/hook/EvmHookReader.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { expect } from 'chai';
2
2
  import { ethers } from 'ethers';
3
3
  import { randomBytes } from 'ethers/lib/utils.js';
4
4
  import sinon from 'sinon';
5
- import { IPostDispatchHook__factory, MerkleTreeHook__factory, OPStackHook__factory, PausableHook__factory, ProtocolFee__factory, } from '@hyperlane-xyz/core';
5
+ import { CCIPHook__factory, DefaultHook__factory, IPostDispatchHook__factory, MerkleTreeHook__factory, OPStackHook__factory, PausableHook__factory, ProtocolFee__factory, } from '@hyperlane-xyz/core';
6
6
  import { TestChainName, test1 } from '../consts/testChains.js';
7
7
  import { MultiProvider } from '../providers/MultiProvider.js';
8
8
  import { randomAddress } from '../test/testUtils.js';
@@ -107,6 +107,31 @@ describe('EvmHookReader', () => {
107
107
  const config = await evmHookReader.derivePausableConfig(mockAddress);
108
108
  expect(config).to.deep.equal(hookConfig);
109
109
  });
110
+ it('should derive mailbox default hook config correctly', async () => {
111
+ const mockAddress = randomAddress();
112
+ const mockMailbox = randomAddress();
113
+ // Mocking the connect method + returned what we need from contract object
114
+ const mockContract = {
115
+ hookType: sandbox.stub().resolves(OnchainHookType.MAILBOX_DEFAULT_HOOK),
116
+ mailbox: sandbox.stub().resolves(mockMailbox),
117
+ };
118
+ sandbox
119
+ .stub(DefaultHook__factory, 'connect')
120
+ .returns(mockContract);
121
+ sandbox
122
+ .stub(IPostDispatchHook__factory, 'connect')
123
+ .returns(mockContract);
124
+ const expectedConfig = {
125
+ address: mockAddress,
126
+ type: HookType.MAILBOX_DEFAULT,
127
+ };
128
+ // top-level method infers hook type
129
+ const hookConfig = await evmHookReader.deriveHookConfig(mockAddress);
130
+ expect(hookConfig).to.deep.equal(expectedConfig);
131
+ // should get same result if we call the specific method for the hook type
132
+ const config = await evmHookReader.deriveMailboxDefaultHookConfig(mockAddress);
133
+ expect(config).to.deep.equal(hookConfig);
134
+ });
110
135
  it('should derive op stack config correctly', async () => {
111
136
  const mockAddress = randomAddress();
112
137
  const mockOwner = randomAddress();
@@ -138,6 +163,30 @@ describe('EvmHookReader', () => {
138
163
  const config = await evmHookReader.deriveOpStackConfig(mockAddress);
139
164
  expect(config).to.deep.equal(hookConfig);
140
165
  });
166
+ it('should derive CCIPHook configuration correctly', async () => {
167
+ const ccipHookAddress = randomAddress();
168
+ const destinationDomain = test1.domainId;
169
+ const ism = randomAddress();
170
+ // Mock the CCIPHook contract
171
+ const mockContract = {
172
+ hookType: sandbox.stub().resolves(OnchainHookType.ID_AUTH_ISM),
173
+ destinationDomain: sandbox.stub().resolves(destinationDomain),
174
+ ism: sandbox.stub().resolves(ism),
175
+ };
176
+ sandbox
177
+ .stub(CCIPHook__factory, 'connect')
178
+ .returns(mockContract);
179
+ sandbox
180
+ .stub(IPostDispatchHook__factory, 'connect')
181
+ .returns(mockContract);
182
+ const config = await evmHookReader.deriveCcipConfig(ccipHookAddress);
183
+ const expectedConfig = {
184
+ address: ccipHookAddress,
185
+ type: HookType.CCIP,
186
+ destinationChain: TestChainName.test1,
187
+ };
188
+ expect(config).to.deep.equal(expectedConfig);
189
+ });
141
190
  it('should throw if derivation fails', async () => {
142
191
  const mockAddress = randomAddress();
143
192
  const mockOwner = randomAddress();