@hyperlane-xyz/sdk 4.0.0-alpha.2 → 4.0.0-beta2

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/consts/multisigIsm.d.ts.map +1 -1
  2. package/dist/consts/multisigIsm.js +4 -0
  3. package/dist/consts/multisigIsm.js.map +1 -1
  4. package/dist/core/HyperlaneCore.d.ts +7 -3
  5. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  6. package/dist/core/HyperlaneCore.js +29 -23
  7. package/dist/core/HyperlaneCore.js.map +1 -1
  8. package/dist/deploy/EvmModuleDeployer.d.ts +76 -0
  9. package/dist/deploy/EvmModuleDeployer.d.ts.map +1 -0
  10. package/dist/deploy/EvmModuleDeployer.js +150 -0
  11. package/dist/deploy/EvmModuleDeployer.js.map +1 -0
  12. package/dist/hook/EvmHookModule.d.ts +67 -12
  13. package/dist/hook/EvmHookModule.d.ts.map +1 -1
  14. package/dist/hook/EvmHookModule.hardhat-test.d.ts +2 -0
  15. package/dist/hook/EvmHookModule.hardhat-test.d.ts.map +1 -0
  16. package/dist/hook/EvmHookModule.hardhat-test.js +380 -0
  17. package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -0
  18. package/dist/hook/EvmHookModule.js +349 -9
  19. package/dist/hook/EvmHookModule.js.map +1 -1
  20. package/dist/ism/EvmIsmModule.d.ts +7 -15
  21. package/dist/ism/EvmIsmModule.d.ts.map +1 -1
  22. package/dist/ism/EvmIsmModule.hardhat-test.js +36 -38
  23. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
  24. package/dist/ism/EvmIsmModule.js +53 -51
  25. package/dist/ism/EvmIsmModule.js.map +1 -1
  26. package/dist/ism/metadata/builder.hardhat-test.js +2 -1
  27. package/dist/ism/metadata/builder.hardhat-test.js.map +1 -1
  28. package/dist/ism/metadata/multisig.d.ts.map +1 -1
  29. package/dist/ism/metadata/multisig.js.map +1 -1
  30. package/dist/ism/multisig.js.map +1 -1
  31. package/dist/metadata/agentConfig.d.ts +41 -41
  32. package/dist/metadata/agentConfig.d.ts.map +1 -1
  33. package/dist/metadata/agentConfig.js +8 -0
  34. package/dist/metadata/agentConfig.js.map +1 -1
  35. package/dist/metadata/deploymentArtifacts.d.ts +2 -2
  36. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +1 -0
  37. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  38. package/dist/middleware/query/queries.hardhat-test.js +1 -0
  39. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  40. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts.map +1 -1
  41. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js +1 -0
  42. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js.map +1 -1
  43. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts +1 -0
  44. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -1
  45. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +6 -0
  46. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -1
  47. package/dist/providers/SmartProvider/ProviderMethods.d.ts +2 -1
  48. package/dist/providers/SmartProvider/ProviderMethods.d.ts.map +1 -1
  49. package/dist/providers/SmartProvider/ProviderMethods.js +1 -0
  50. package/dist/providers/SmartProvider/ProviderMethods.js.map +1 -1
  51. package/dist/providers/SmartProvider/SmartProvider.d.ts +5 -2
  52. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  53. package/dist/providers/SmartProvider/SmartProvider.js +33 -2
  54. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  55. package/dist/token/EvmERC20WarpRouteReader.d.ts +6 -0
  56. package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -1
  57. package/dist/token/EvmERC20WarpRouteReader.js +21 -3
  58. package/dist/token/EvmERC20WarpRouteReader.js.map +1 -1
  59. package/dist/token/Token.d.ts.map +1 -1
  60. package/dist/token/Token.js +11 -1
  61. package/dist/token/Token.js.map +1 -1
  62. package/dist/token/Token.test.js +16 -0
  63. package/dist/token/Token.test.js.map +1 -1
  64. package/dist/token/TokenStandard.d.ts +3 -0
  65. package/dist/token/TokenStandard.d.ts.map +1 -1
  66. package/dist/token/TokenStandard.js +12 -2
  67. package/dist/token/TokenStandard.js.map +1 -1
  68. package/dist/token/adapters/EvmTokenAdapter.d.ts +28 -2
  69. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  70. package/dist/token/adapters/EvmTokenAdapter.js +49 -1
  71. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  72. package/dist/token/adapters/ITokenAdapter.d.ts +4 -0
  73. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  74. package/dist/token/config.d.ts +1 -1
  75. package/dist/token/config.d.ts.map +1 -1
  76. package/dist/token/config.js.map +1 -1
  77. package/dist/token/deploy.d.ts.map +1 -1
  78. package/dist/token/deploy.js +8 -1
  79. package/dist/token/deploy.js.map +1 -1
  80. package/dist/warp/WarpCore.d.ts +8 -0
  81. package/dist/warp/WarpCore.d.ts.map +1 -1
  82. package/dist/warp/WarpCore.js +43 -3
  83. package/dist/warp/WarpCore.js.map +1 -1
  84. package/dist/warp/WarpCore.test.js +2 -2
  85. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"multisigIsm.d.ts","sourceRoot":"","sources":["../../src/consts/multisigIsm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,cAAc,CAwS3D,CAAC"}
1
+ {"version":3,"file":"multisigIsm.d.ts","sourceRoot":"","sources":["../../src/consts/multisigIsm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,cAAc,CA6S3D,CAAC"}
@@ -118,6 +118,10 @@ export const defaultMultisigConfigs = {
118
118
  '0x5450447aee7b544c462c9352bef7cad049b0c2dc', // zeeprime
119
119
  ],
120
120
  },
121
+ holesky: {
122
+ threshold: 1,
123
+ validators: ['0x7ab28ad88bb45867137ea823af88e2cb02359c03'], // TODO
124
+ },
121
125
  inevm: {
122
126
  threshold: 2,
123
127
  validators: [
@@ -1 +1 @@
1
- {"version":3,"file":"multisigIsm.js","sourceRoot":"","sources":["../../src/consts/multisigIsm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multisigIsm.js","sourceRoot":"","sources":["../../src/consts/multisigIsm.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { Address, AddressBytes32 } from '@hyperlane-xyz/utils';
5
5
  import { HyperlaneApp } from '../app/HyperlaneApp.js';
6
6
  import { HyperlaneAddressesMap } from '../contracts/types.js';
7
7
  import { OwnableConfig } from '../deploy/types.js';
8
+ import { DerivedHookConfig } from '../hook/EvmHookReader.js';
8
9
  import { DerivedIsmConfig } from '../ism/EvmIsmReader.js';
9
10
  import { MultiProvider } from '../providers/MultiProvider.js';
10
11
  import { RouterConfig } from '../router/types.js';
@@ -16,20 +17,23 @@ export declare class HyperlaneCore extends HyperlaneApp<CoreFactories> {
16
17
  getRouterConfig: (owners: Address | ChainMap<OwnableConfig>) => ChainMap<RouterConfig>;
17
18
  quoteGasPayment: (origin: ChainName, destination: ChainName, recipient: AddressBytes32, body: string, metadata?: string, hook?: Address) => Promise<ethers.BigNumber>;
18
19
  protected getDestination(message: DispatchedMessage): ChainName;
20
+ protected getOrigin(message: DispatchedMessage): ChainName;
19
21
  getRecipientIsmAddress(message: DispatchedMessage): Promise<Address>;
22
+ getHookAddress(message: DispatchedMessage): Promise<Address>;
20
23
  getRecipientIsmConfig(message: DispatchedMessage): Promise<DerivedIsmConfig>;
21
- buildMetadata(message: DispatchedMessage): Promise<string>;
24
+ getHookConfig(message: DispatchedMessage): Promise<DerivedHookConfig>;
25
+ buildMetadata(message: DispatchedMessage, dispatchTx: TransactionReceipt): Promise<string>;
22
26
  sendMessage(origin: ChainName, destination: ChainName, recipient: Address, body: string, hook?: Address, metadata?: string): Promise<{
23
27
  dispatchTx: TransactionReceipt;
24
28
  message: DispatchedMessage;
25
29
  }>;
26
- relayMessage(message: DispatchedMessage): Promise<ethers.ContractReceipt>;
30
+ relayMessage(message: DispatchedMessage, dispatchTx: ethers.ContractReceipt): Promise<ethers.ContractReceipt>;
27
31
  protected waitForProcessReceipt(message: DispatchedMessage): Promise<ethers.ContractReceipt>;
28
32
  waitForMessageIdProcessed(messageId: string, destination: ChainName, delayMs?: number, maxAttempts?: number): Promise<true>;
29
33
  waitForMessageProcessing(sourceTx: ethers.ContractReceipt | ViemTxReceipt): Promise<ethers.ContractReceipt[]>;
30
34
  waitForMessageProcessed(sourceTx: ethers.ContractReceipt | ViemTxReceipt, delay?: number, maxAttempts?: number): Promise<void>;
31
35
  getDispatchedMessages(sourceTx: ethers.ContractReceipt | ViemTxReceipt): DispatchedMessage[];
32
- getDispatchTx(originChain: ChainName, messageId: string): Promise<ethers.ContractReceipt | ViemTxReceipt>;
36
+ getDispatchTx(originChain: ChainName, messageId: string): Promise<ethers.ContractReceipt>;
33
37
  static getDispatchedMessages(sourceTx: ethers.ContractReceipt | ViemTxReceipt): DispatchedMessage[];
34
38
  }
35
39
  //# sourceMappingURL=HyperlaneCore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneCore.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneCore.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { Mailbox__factory } from '@hyperlane-xyz/core';
3
- import { ProtocolType, addressToBytes32, bytes32ToAddress, eqAddress, messageId, objFilter, objMap, parseMessage, pollAsync, } from '@hyperlane-xyz/utils';
3
+ import { ProtocolType, addressToBytes32, bytes32ToAddress, messageId, objFilter, objMap, parseMessage, pollAsync, } from '@hyperlane-xyz/utils';
4
4
  import { HyperlaneApp } from '../app/HyperlaneApp.js';
5
5
  import { appFromAddressesMapHelper } from '../contracts/contracts.js';
6
+ import { EvmHookReader } from '../hook/EvmHookReader.js';
6
7
  import { EvmIsmReader } from '../ism/EvmIsmReader.js';
7
- import { IsmType, ModuleType, ismTypeToModuleType } from '../ism/types.js';
8
+ import { BaseMetadataBuilder } from '../ism/metadata/builder.js';
8
9
  import { findMatchingLogEvents } from '../utils/logUtils.js';
9
10
  import { coreFactories } from './contracts.js';
10
11
  export class HyperlaneCore extends HyperlaneApp {
@@ -28,36 +29,41 @@ export class HyperlaneCore extends HyperlaneApp {
28
29
  getDestination(message) {
29
30
  return this.multiProvider.getChainName(message.parsed.destination);
30
31
  }
31
- getRecipientIsmAddress(message) {
32
+ getOrigin(message) {
33
+ return this.multiProvider.getChainName(message.parsed.origin);
34
+ }
35
+ async getRecipientIsmAddress(message) {
32
36
  const destinationMailbox = this.contractsMap[this.getDestination(message)];
33
37
  const ethAddress = bytes32ToAddress(message.parsed.recipient);
34
38
  return destinationMailbox.mailbox.recipientIsm(ethAddress);
35
39
  }
40
+ async getHookAddress(message) {
41
+ const destinationMailbox = this.contractsMap[this.getOrigin(message)];
42
+ /* TODO: requiredHook() account for here: https://github.com/hyperlane-xyz/hyperlane-monorepo/pull/3693 */
43
+ return destinationMailbox.mailbox.defaultHook();
44
+ }
36
45
  async getRecipientIsmConfig(message) {
37
46
  const destinationChain = this.getDestination(message);
38
47
  const ismReader = new EvmIsmReader(this.multiProvider, destinationChain);
39
48
  const address = await this.getRecipientIsmAddress(message);
40
49
  return ismReader.deriveIsmConfig(address);
41
50
  }
42
- async buildMetadata(message) {
51
+ async getHookConfig(message) {
52
+ const originChain = this.getOrigin(message);
53
+ const hookReader = new EvmHookReader(this.multiProvider, originChain);
54
+ const address = await this.getHookAddress(message);
55
+ return hookReader.deriveHookConfig(address);
56
+ }
57
+ async buildMetadata(message, dispatchTx) {
43
58
  const ismConfig = await this.getRecipientIsmConfig(message);
44
- const destinationChain = this.getDestination(message);
45
- switch (ismConfig.type) {
46
- case IsmType.TRUSTED_RELAYER:
47
- // eslint-disable-next-line no-case-declarations
48
- const destinationSigner = await this.multiProvider.getSignerAddress(destinationChain);
49
- if (!eqAddress(destinationSigner, ismConfig.relayer)) {
50
- this.logger.warn(`${destinationChain} signer ${destinationSigner} does not match trusted relayer ${ismConfig.relayer}`);
51
- }
52
- }
53
- // TODO: implement metadata builders for other module types
54
- const moduleType = ismTypeToModuleType(ismConfig.type);
55
- switch (moduleType) {
56
- case ModuleType.NULL:
57
- return '0x';
58
- default:
59
- throw new Error(`Unsupported module type ${moduleType}`);
60
- }
59
+ const hookConfig = await this.getHookConfig(message);
60
+ const baseMetadataBuilder = new BaseMetadataBuilder(this);
61
+ return baseMetadataBuilder.build({
62
+ ism: ismConfig,
63
+ hook: hookConfig,
64
+ message,
65
+ dispatchTx,
66
+ });
61
67
  }
62
68
  async sendMessage(origin, destination, recipient, body, hook, metadata) {
63
69
  const mailbox = this.getContracts(origin).mailbox;
@@ -70,8 +76,8 @@ export class HyperlaneCore extends HyperlaneApp {
70
76
  message: this.getDispatchedMessages(dispatchTx)[0],
71
77
  };
72
78
  }
73
- async relayMessage(message) {
74
- const metadata = await this.buildMetadata(message);
79
+ async relayMessage(message, dispatchTx) {
80
+ const metadata = await this.buildMetadata(message, dispatchTx);
75
81
  const destinationChain = this.getDestination(message);
76
82
  const mailbox = this.contractsMap[destinationChain].mailbox;
77
83
  return this.multiProvider.handleTx(destinationChain, mailbox.process(metadata, message.message));
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneCore.js","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneCore.js","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { ethers } from 'ethers';
2
+ import { Logger } from 'pino';
3
+ import { StaticAddressSetFactory, StaticThresholdAddressSetFactory } from '@hyperlane-xyz/core';
4
+ import { Address } from '@hyperlane-xyz/utils';
5
+ import { HyperlaneContracts, HyperlaneFactories } from '../contracts/types.js';
6
+ import { MultiProvider } from '../providers/MultiProvider.js';
7
+ import { ChainMap, ChainName } from '../types.js';
8
+ import { ContractVerifier } from './verify/ContractVerifier.js';
9
+ import { ContractVerificationInput } from './verify/types.js';
10
+ export declare class EvmModuleDeployer<Factories extends HyperlaneFactories> {
11
+ protected readonly multiProvider: MultiProvider;
12
+ protected readonly factories: Factories;
13
+ protected readonly logger: import("pino").default.Logger<never>;
14
+ protected readonly contractVerifier: ContractVerifier;
15
+ verificationInputs: ChainMap<ContractVerificationInput[]>;
16
+ constructor(multiProvider: MultiProvider, factories: Factories, logger?: import("pino").default.Logger<never>, contractVerifier?: ContractVerifier);
17
+ deployContractFromFactory<F extends ethers.ContractFactory>({ chain, factory, contractName, constructorArgs, initializeArgs, }: {
18
+ chain: ChainName;
19
+ factory: F;
20
+ contractName: string;
21
+ constructorArgs: Parameters<F['deploy']>;
22
+ initializeArgs?: Parameters<Awaited<ReturnType<F['deploy']>>['initialize']>;
23
+ }): Promise<ReturnType<F['deploy']>>;
24
+ /**
25
+ * Deploys a contract with a specified name.
26
+ *
27
+ * This function is capable of deploying any contract type defined within the `Factories` type to a specified chain.
28
+ *
29
+ * @param {ChainName} chain - The name of the chain on which the contract is to be deployed.
30
+ * @param {K} contractKey - The key identifying the factory to use for deployment.
31
+ * @param {string} contractName - The name of the contract to deploy. This must match the contract source code.
32
+ * @param {Parameters<Factories[K]['deploy']>} constructorArgs - Arguments for the contract's constructor.
33
+ * @param {Parameters<Awaited<ReturnType<Factories[K]['deploy']>>['initialize']>?} initializeArgs - Optional arguments for the contract's initialization function.
34
+ * @returns {Promise<HyperlaneContracts<Factories>[K]>} A promise that resolves to the deployed contract instance.
35
+ */
36
+ deployContractWithName<K extends keyof Factories>({ chain, contractKey, contractName, constructorArgs, initializeArgs, }: {
37
+ chain: ChainName;
38
+ contractKey: K;
39
+ contractName: string;
40
+ constructorArgs: Parameters<Factories[K]['deploy']>;
41
+ initializeArgs?: Parameters<Awaited<ReturnType<Factories[K]['deploy']>>['initialize']>;
42
+ }): Promise<HyperlaneContracts<Factories>[K]>;
43
+ deployContract<K extends keyof Factories>({ chain, contractKey, constructorArgs, initializeArgs, }: {
44
+ chain: ChainName;
45
+ contractKey: K;
46
+ constructorArgs: Parameters<Factories[K]['deploy']>;
47
+ initializeArgs?: Parameters<Awaited<ReturnType<Factories[K]['deploy']>>['initialize']>;
48
+ }): Promise<HyperlaneContracts<Factories>[K]>;
49
+ deployProxiedContract<K extends keyof Factories>({ chain, contractKey, contractName, proxyAdmin, constructorArgs, initializeArgs, }: {
50
+ chain: ChainName;
51
+ contractKey: K;
52
+ contractName: string;
53
+ proxyAdmin: string;
54
+ constructorArgs: Parameters<Factories[K]['deploy']>;
55
+ initializeArgs?: Parameters<HyperlaneContracts<Factories>[K]['initialize']>;
56
+ }): Promise<HyperlaneContracts<Factories>[K]>;
57
+ protected deployProxy<C extends ethers.Contract>({ chain, implementation, proxyAdmin, initializeArgs, }: {
58
+ chain: ChainName;
59
+ implementation: C;
60
+ proxyAdmin: string;
61
+ initializeArgs?: Parameters<C['initialize']>;
62
+ }): Promise<C>;
63
+ protected addVerificationArtifacts({ chain, artifacts, }: {
64
+ chain: ChainName;
65
+ artifacts: ContractVerificationInput[];
66
+ }): void;
67
+ static deployStaticAddressSet({ chain, factory, values, logger, threshold, multiProvider, }: {
68
+ chain: ChainName;
69
+ factory: StaticThresholdAddressSetFactory | StaticAddressSetFactory;
70
+ values: Address[];
71
+ logger: Logger;
72
+ threshold?: number;
73
+ multiProvider: MultiProvider;
74
+ }): Promise<Address>;
75
+ }
76
+ //# sourceMappingURL=EvmModuleDeployer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmModuleDeployer.d.ts","sourceRoot":"","sources":["../../src/deploy/EvmModuleDeployer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ import { TransparentUpgradeableProxy__factory, } from '@hyperlane-xyz/core';
2
+ import { buildArtifact as coreBuildArtifact } from '@hyperlane-xyz/core/buildArtifact.js';
3
+ import { rootLogger } from '@hyperlane-xyz/utils';
4
+ import { isProxy, proxyConstructorArgs } from './proxy.js';
5
+ import { ContractVerifier } from './verify/ContractVerifier.js';
6
+ import { ExplorerLicenseType, } from './verify/types.js';
7
+ import { getContractVerificationInput } from './verify/utils.js';
8
+ export class EvmModuleDeployer {
9
+ multiProvider;
10
+ factories;
11
+ logger;
12
+ contractVerifier;
13
+ verificationInputs = {};
14
+ constructor(multiProvider, factories, logger = rootLogger.child({
15
+ module: 'EvmModuleDeployer',
16
+ }), contractVerifier = new ContractVerifier(multiProvider, {}, coreBuildArtifact, ExplorerLicenseType.MIT)) {
17
+ this.multiProvider = multiProvider;
18
+ this.factories = factories;
19
+ this.logger = logger;
20
+ this.contractVerifier = contractVerifier;
21
+ }
22
+ // Deploys a contract from a factory
23
+ async deployContractFromFactory({ chain, factory, contractName, constructorArgs, initializeArgs, }) {
24
+ this.logger.info(`Deploy ${contractName} on ${chain} with constructor args (${constructorArgs.join(', ')})`);
25
+ const contract = await this.multiProvider.handleDeploy(chain, factory, constructorArgs);
26
+ if (initializeArgs) {
27
+ this.logger.debug(`Initialize ${contractName} on ${chain}`);
28
+ const overrides = this.multiProvider.getTransactionOverrides(chain);
29
+ const initTx = await contract.initialize(...initializeArgs, overrides);
30
+ await this.multiProvider.handleTx(chain, initTx);
31
+ }
32
+ const verificationInput = getContractVerificationInput(contractName, contract, factory.bytecode);
33
+ this.addVerificationArtifacts({ chain, artifacts: [verificationInput] });
34
+ // try verifying contract
35
+ try {
36
+ await this.contractVerifier?.verifyContract(chain, verificationInput);
37
+ }
38
+ catch (error) {
39
+ // log error but keep deploying, can also verify post-deployment if needed
40
+ this.logger.debug(`Error verifying contract: ${error}`);
41
+ }
42
+ return contract;
43
+ }
44
+ /**
45
+ * Deploys a contract with a specified name.
46
+ *
47
+ * This function is capable of deploying any contract type defined within the `Factories` type to a specified chain.
48
+ *
49
+ * @param {ChainName} chain - The name of the chain on which the contract is to be deployed.
50
+ * @param {K} contractKey - The key identifying the factory to use for deployment.
51
+ * @param {string} contractName - The name of the contract to deploy. This must match the contract source code.
52
+ * @param {Parameters<Factories[K]['deploy']>} constructorArgs - Arguments for the contract's constructor.
53
+ * @param {Parameters<Awaited<ReturnType<Factories[K]['deploy']>>['initialize']>?} initializeArgs - Optional arguments for the contract's initialization function.
54
+ * @returns {Promise<HyperlaneContracts<Factories>[K]>} A promise that resolves to the deployed contract instance.
55
+ */
56
+ async deployContractWithName({ chain, contractKey, contractName, constructorArgs, initializeArgs, }) {
57
+ const contract = await this.deployContractFromFactory({
58
+ chain,
59
+ factory: this.factories[contractKey],
60
+ contractName,
61
+ constructorArgs,
62
+ initializeArgs,
63
+ });
64
+ return contract;
65
+ }
66
+ // Deploys a contract with the same name as the contract key
67
+ async deployContract({ chain, contractKey, constructorArgs, initializeArgs, }) {
68
+ return this.deployContractWithName({
69
+ chain,
70
+ contractKey,
71
+ contractName: contractKey.toString(),
72
+ constructorArgs,
73
+ initializeArgs,
74
+ });
75
+ }
76
+ // Deploys the Implementation and Proxy for a given contract
77
+ async deployProxiedContract({ chain, contractKey, contractName, proxyAdmin, constructorArgs, initializeArgs, }) {
78
+ // Try to initialize the implementation even though it may not be necessary
79
+ const implementation = await this.deployContractWithName({
80
+ chain,
81
+ contractKey,
82
+ contractName,
83
+ constructorArgs,
84
+ initializeArgs,
85
+ });
86
+ // Initialize the proxy the same way
87
+ return this.deployProxy({
88
+ chain,
89
+ implementation,
90
+ proxyAdmin,
91
+ initializeArgs,
92
+ });
93
+ }
94
+ // Deploys a proxy for a given implementation contract
95
+ async deployProxy({ chain, implementation, proxyAdmin, initializeArgs, }) {
96
+ const isProxied = await isProxy(this.multiProvider.getProvider(chain), implementation.address);
97
+ if (isProxied) {
98
+ // if the implementation is already a proxy, do not deploy a new proxy
99
+ return implementation;
100
+ }
101
+ const constructorArgs = proxyConstructorArgs(implementation, proxyAdmin, initializeArgs);
102
+ const proxy = await this.deployContractFromFactory({
103
+ chain,
104
+ factory: new TransparentUpgradeableProxy__factory(),
105
+ contractName: 'TransparentUpgradeableProxy',
106
+ constructorArgs,
107
+ });
108
+ return implementation.attach(proxy.address);
109
+ }
110
+ // Adds verification artifacts to the verificationInputs map
111
+ addVerificationArtifacts({ chain, artifacts, }) {
112
+ this.verificationInputs[chain] = this.verificationInputs[chain] || [];
113
+ artifacts.forEach((artifact) => {
114
+ this.verificationInputs[chain].push(artifact);
115
+ });
116
+ }
117
+ // Static deploy function used by Hook and ISM modules.
118
+ static async deployStaticAddressSet({ chain, factory, values, logger, threshold = values.length, multiProvider, }) {
119
+ const address = await factory['getAddress(address[],uint8)'](values, threshold);
120
+ const code = await multiProvider.getProvider(chain).getCode(address);
121
+ if (code === '0x') {
122
+ logger.debug(`Deploying new ${threshold} of ${values.length} address set to ${chain}`);
123
+ const overrides = multiProvider.getTransactionOverrides(chain);
124
+ // estimate gas
125
+ const estimatedGas = await factory.estimateGas['deploy(address[],uint8)'](values, threshold, overrides);
126
+ // add 10% buffer
127
+ const hash = await factory['deploy(address[],uint8)'](values, threshold, {
128
+ ...overrides,
129
+ gasLimit: estimatedGas.add(estimatedGas.div(10)), // 10% buffer
130
+ });
131
+ await multiProvider.handleTx(chain, hash);
132
+ }
133
+ else {
134
+ logger.debug(`Recovered ${threshold} of ${values.length} address set on ${chain}: ${address}`);
135
+ }
136
+ // TODO: figure out how to get the constructor arguments for manual deploy TXs
137
+ // const verificationInput = buildVerificationInput(
138
+ // NAME,
139
+ // ADDRESS,
140
+ // CONSTRUCTOR_ARGS,
141
+ // );
142
+ // await this.deployer.verifyContract(
143
+ // this.chainName,
144
+ // verificationInput,
145
+ // logger,
146
+ // );
147
+ return address;
148
+ }
149
+ }
150
+ //# sourceMappingURL=EvmModuleDeployer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmModuleDeployer.js","sourceRoot":"","sources":["../../src/deploy/EvmModuleDeployer.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,79 @@
1
+ import { ethers } from 'ethers';
2
+ import { DomainRoutingHook, InterchainGasPaymaster, OPStackHook, PausableHook, ProtocolFee, StaticAggregationHook, StorageGasOracle } from '@hyperlane-xyz/core';
1
3
  import { Address, ProtocolType } from '@hyperlane-xyz/utils';
2
4
  import { HyperlaneAddresses } from '../contracts/types.js';
3
5
  import { HyperlaneModule, HyperlaneModuleParams } from '../core/AbstractHyperlaneModule.js';
4
- import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer.js';
6
+ import { CoreAddresses } from '../core/contracts.js';
7
+ import { EvmModuleDeployer } from '../deploy/EvmModuleDeployer.js';
8
+ import { ProxyFactoryFactories } from '../deploy/contracts.js';
9
+ import { ContractVerifier } from '../deploy/verify/ContractVerifier.js';
10
+ import { IgpFactories } from '../gas/contracts.js';
11
+ import { IgpConfig } from '../gas/types.js';
5
12
  import { MultiProvider } from '../providers/MultiProvider.js';
6
13
  import { AnnotatedEV5Transaction } from '../providers/ProviderType.js';
14
+ import { ChainNameOrId } from '../types.js';
7
15
  import { EvmHookReader } from './EvmHookReader.js';
8
- import { HookFactories } from './contracts.js';
9
- import { HookConfig } from './types.js';
10
- export declare class EvmHookModule extends HyperlaneModule<ProtocolType.Ethereum, HookConfig, HyperlaneAddresses<HookFactories> & {
16
+ import { DeployedHook, HookFactories } from './contracts.js';
17
+ import { AggregationHookConfig, DomainRoutingHookConfig, FallbackRoutingHookConfig, HookConfig, IgpHookConfig, OpStackHookConfig, PausableHookConfig, ProtocolFeeHookConfig } from './types.js';
18
+ type HookModuleAddresses = {
11
19
  deployedHook: Address;
12
- }> {
20
+ mailbox: Address;
21
+ proxyAdmin: Address;
22
+ };
23
+ export declare class EvmHookModule extends HyperlaneModule<ProtocolType.Ethereum, HookConfig, HyperlaneAddresses<ProxyFactoryFactories> & HookModuleAddresses> {
13
24
  protected readonly multiProvider: MultiProvider;
14
- protected readonly deployer: HyperlaneDeployer<any, any>;
15
- protected logger: import("pino").default.Logger<never>;
16
- protected reader: EvmHookReader;
17
- protected constructor(multiProvider: MultiProvider, deployer: HyperlaneDeployer<any, any>, args: HyperlaneModuleParams<HookConfig, HyperlaneAddresses<HookFactories> & {
18
- deployedHook: Address;
19
- }>);
25
+ protected readonly logger: import("pino").default.Logger<never>;
26
+ protected readonly reader: EvmHookReader;
27
+ protected readonly deployer: EvmModuleDeployer<HookFactories & IgpFactories>;
28
+ readonly chain: string;
29
+ readonly domainId: number;
30
+ protected readonly txOverrides: Partial<ethers.providers.TransactionRequest>;
31
+ protected constructor(multiProvider: MultiProvider, args: HyperlaneModuleParams<HookConfig, HyperlaneAddresses<ProxyFactoryFactories> & HookModuleAddresses>, contractVerifier?: ContractVerifier);
20
32
  read(): Promise<HookConfig>;
21
33
  update(_config: HookConfig): Promise<AnnotatedEV5Transaction[]>;
22
- static create(_config: HookConfig): Promise<EvmHookModule>;
34
+ static create({ chain, config, proxyFactoryFactories, coreAddresses, multiProvider, }: {
35
+ chain: ChainNameOrId;
36
+ config: HookConfig;
37
+ proxyFactoryFactories: HyperlaneAddresses<ProxyFactoryFactories>;
38
+ coreAddresses: CoreAddresses;
39
+ multiProvider: MultiProvider;
40
+ }): Promise<EvmHookModule>;
41
+ protected computeRoutingHooksToSet({ currentDomains, targetDomains, }: {
42
+ currentDomains: DomainRoutingHookConfig['domains'];
43
+ targetDomains: DomainRoutingHookConfig['domains'];
44
+ }): Promise<DomainRoutingHook.HookConfigStruct[]>;
45
+ protected updateRoutingHook({ current, target, }: {
46
+ current: DomainRoutingHookConfig | FallbackRoutingHookConfig;
47
+ target: DomainRoutingHookConfig | FallbackRoutingHookConfig;
48
+ }): Promise<AnnotatedEV5Transaction[]>;
49
+ protected deploy({ config, }: {
50
+ config: HookConfig;
51
+ }): Promise<DeployedHook>;
52
+ protected deployProtocolFeeHook({ config, }: {
53
+ config: ProtocolFeeHookConfig;
54
+ }): Promise<ProtocolFee>;
55
+ protected deployPausableHook({ config, }: {
56
+ config: PausableHookConfig;
57
+ }): Promise<PausableHook>;
58
+ protected deployAggregationHook({ config, }: {
59
+ config: AggregationHookConfig;
60
+ }): Promise<StaticAggregationHook>;
61
+ protected deployOpStackHook({ config, }: {
62
+ config: OpStackHookConfig;
63
+ }): Promise<OPStackHook>;
64
+ protected deployRoutingHook({ config, }: {
65
+ config: DomainRoutingHookConfig | FallbackRoutingHookConfig;
66
+ }): Promise<DomainRoutingHook>;
67
+ protected deployIgpHook({ config, }: {
68
+ config: IgpHookConfig;
69
+ }): Promise<InterchainGasPaymaster>;
70
+ protected deployInterchainGasPaymaster({ storageGasOracle, config, }: {
71
+ storageGasOracle: StorageGasOracle;
72
+ config: IgpConfig;
73
+ }): Promise<InterchainGasPaymaster>;
74
+ protected deployStorageGasOracle({ config, }: {
75
+ config: IgpConfig;
76
+ }): Promise<StorageGasOracle>;
23
77
  }
78
+ export {};
24
79
  //# sourceMappingURL=EvmHookModule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EvmHookModule.d.ts","sourceRoot":"","sources":["../../src/hook/EvmHookModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,qBAAa,aAAc,SAAQ,eAAe,CAChD,YAAY,CAAC,QAAQ,EACrB,UAAU,EACV,kBAAkB,CAAC,aAAa,CAAC,GAAG;IAClC,YAAY,EAAE,OAAO,CAAC;CACvB,CACF;IAKG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC/C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC;IAL1D,SAAS,CAAC,MAAM,uCAAiD;IACjE,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;IAEhC,SAAS,aACY,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,EACxD,IAAI,EAAE,qBAAqB,CACzB,UAAU,EACV,kBAAkB,CAAC,aAAa,CAAC,GAAG;QAClC,YAAY,EAAE,OAAO,CAAC;KACvB,CACF;IAMU,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAI3B,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;WAK9D,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;CAGlE"}
1
+ {"version":3,"file":"EvmHookModule.d.ts","sourceRoot":"","sources":["../../src/hook/EvmHookModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EvmHookModule.hardhat-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmHookModule.hardhat-test.d.ts","sourceRoot":"","sources":["../../src/hook/EvmHookModule.hardhat-test.ts"],"names":[],"mappings":""}