@hyperlane-xyz/cli 3.20.0-beta0 → 4.0.0-alpha

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 (153) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.js +10 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/src/avs/config.d.ts +11 -0
  5. package/dist/src/avs/config.d.ts.map +1 -0
  6. package/dist/src/avs/config.js +10 -0
  7. package/dist/src/avs/config.js.map +1 -0
  8. package/dist/src/avs/stakeRegistry.d.ts +21 -0
  9. package/dist/src/avs/stakeRegistry.d.ts.map +1 -0
  10. package/dist/src/avs/stakeRegistry.js +64 -0
  11. package/dist/src/avs/stakeRegistry.js.map +1 -0
  12. package/dist/src/commands/avs.d.ts +12 -0
  13. package/dist/src/commands/avs.d.ts.map +1 -0
  14. package/dist/src/commands/avs.js +64 -0
  15. package/dist/src/commands/avs.js.map +1 -0
  16. package/dist/src/commands/config.d.ts.map +1 -1
  17. package/dist/src/commands/config.js +10 -60
  18. package/dist/src/commands/config.js.map +1 -1
  19. package/dist/src/commands/core.d.ts +16 -0
  20. package/dist/src/commands/core.d.ts.map +1 -0
  21. package/dist/src/commands/core.js +88 -0
  22. package/dist/src/commands/core.js.map +1 -0
  23. package/dist/src/commands/deploy.d.ts +13 -0
  24. package/dist/src/commands/deploy.d.ts.map +1 -1
  25. package/dist/src/commands/deploy.js +22 -26
  26. package/dist/src/commands/deploy.js.map +1 -1
  27. package/dist/src/commands/options.d.ts +11 -5
  28. package/dist/src/commands/options.d.ts.map +1 -1
  29. package/dist/src/commands/options.js +45 -11
  30. package/dist/src/commands/options.js.map +1 -1
  31. package/dist/src/commands/registry.d.ts +6 -0
  32. package/dist/src/commands/registry.d.ts.map +1 -0
  33. package/dist/src/commands/{chains.js → registry.js} +3 -3
  34. package/dist/src/commands/registry.js.map +1 -0
  35. package/dist/src/commands/send.d.ts.map +1 -1
  36. package/dist/src/commands/send.js +2 -42
  37. package/dist/src/commands/send.js.map +1 -1
  38. package/dist/src/commands/validator.d.ts +3 -0
  39. package/dist/src/commands/validator.d.ts.map +1 -0
  40. package/dist/src/commands/validator.js +34 -0
  41. package/dist/src/commands/validator.js.map +1 -0
  42. package/dist/src/commands/{hook.d.ts → warp.d.ts} +6 -2
  43. package/dist/src/commands/warp.d.ts.map +1 -0
  44. package/dist/src/commands/warp.js +101 -0
  45. package/dist/src/commands/warp.js.map +1 -0
  46. package/dist/src/config/chain.d.ts.map +1 -1
  47. package/dist/src/config/chain.js +21 -9
  48. package/dist/src/config/chain.js.map +1 -1
  49. package/dist/src/config/hooks.d.ts +4528 -90
  50. package/dist/src/config/hooks.d.ts.map +1 -1
  51. package/dist/src/config/hooks.js +31 -97
  52. package/dist/src/config/hooks.js.map +1 -1
  53. package/dist/src/config/ism.d.ts +58 -61
  54. package/dist/src/config/ism.d.ts.map +1 -1
  55. package/dist/src/config/ism.js +40 -128
  56. package/dist/src/config/ism.js.map +1 -1
  57. package/dist/src/config/warp.d.ts +3 -2
  58. package/dist/src/config/warp.d.ts.map +1 -1
  59. package/dist/src/config/warp.js +112 -49
  60. package/dist/src/config/warp.js.map +1 -1
  61. package/dist/src/consts.d.ts +1 -0
  62. package/dist/src/consts.d.ts.map +1 -1
  63. package/dist/src/consts.js +1 -0
  64. package/dist/src/consts.js.map +1 -1
  65. package/dist/src/context/context.d.ts +1 -1
  66. package/dist/src/context/context.d.ts.map +1 -1
  67. package/dist/src/context/context.js +37 -15
  68. package/dist/src/context/context.js.map +1 -1
  69. package/dist/src/context/types.d.ts +1 -0
  70. package/dist/src/context/types.d.ts.map +1 -1
  71. package/dist/src/deploy/agent.js +1 -1
  72. package/dist/src/deploy/agent.js.map +1 -1
  73. package/dist/src/deploy/core.d.ts +4 -8
  74. package/dist/src/deploy/core.d.ts.map +1 -1
  75. package/dist/src/deploy/core.js +28 -232
  76. package/dist/src/deploy/core.js.map +1 -1
  77. package/dist/src/deploy/dry-run.d.ts +2 -2
  78. package/dist/src/deploy/dry-run.d.ts.map +1 -1
  79. package/dist/src/deploy/dry-run.js +1 -0
  80. package/dist/src/deploy/dry-run.js.map +1 -1
  81. package/dist/src/deploy/utils.d.ts +4 -7
  82. package/dist/src/deploy/utils.d.ts.map +1 -1
  83. package/dist/src/deploy/utils.js +22 -19
  84. package/dist/src/deploy/utils.js.map +1 -1
  85. package/dist/src/deploy/warp.d.ts.map +1 -1
  86. package/dist/src/deploy/warp.js +38 -123
  87. package/dist/src/deploy/warp.js.map +1 -1
  88. package/dist/src/send/message.d.ts.map +1 -1
  89. package/dist/src/send/message.js +15 -29
  90. package/dist/src/send/message.js.map +1 -1
  91. package/dist/src/send/transfer.d.ts.map +1 -1
  92. package/dist/src/send/transfer.js +5 -6
  93. package/dist/src/send/transfer.js.map +1 -1
  94. package/dist/src/submit/submit.d.ts +5 -0
  95. package/dist/src/submit/submit.d.ts.map +1 -0
  96. package/dist/src/submit/submit.js +30 -0
  97. package/dist/src/submit/submit.js.map +1 -0
  98. package/dist/src/submit/types.d.ts +18 -0
  99. package/dist/src/submit/types.d.ts.map +1 -0
  100. package/dist/src/submit/types.js +2 -0
  101. package/dist/src/submit/types.js.map +1 -0
  102. package/dist/src/tests/deployTestErc20.js +3 -2
  103. package/dist/src/tests/deployTestErc20.js.map +1 -1
  104. package/dist/src/tests/hooks.test.js +14 -8
  105. package/dist/src/tests/hooks.test.js.map +1 -1
  106. package/dist/src/tests/ism.test.js +1 -1
  107. package/dist/src/tests/ism.test.js.map +1 -1
  108. package/dist/src/utils/balances.d.ts +2 -2
  109. package/dist/src/utils/balances.d.ts.map +1 -1
  110. package/dist/src/utils/balances.js +8 -3
  111. package/dist/src/utils/balances.js.map +1 -1
  112. package/dist/src/utils/chains.d.ts +1 -0
  113. package/dist/src/utils/chains.d.ts.map +1 -1
  114. package/dist/src/utils/chains.js +20 -3
  115. package/dist/src/utils/chains.js.map +1 -1
  116. package/dist/src/utils/env.d.ts +3 -0
  117. package/dist/src/utils/env.d.ts.map +1 -1
  118. package/dist/src/utils/env.js +3 -0
  119. package/dist/src/utils/env.js.map +1 -1
  120. package/dist/src/utils/files.d.ts +1 -0
  121. package/dist/src/utils/files.d.ts.map +1 -1
  122. package/dist/src/utils/files.js +8 -0
  123. package/dist/src/utils/files.js.map +1 -1
  124. package/dist/src/utils/keys.d.ts +5 -3
  125. package/dist/src/utils/keys.d.ts.map +1 -1
  126. package/dist/src/utils/keys.js +16 -13
  127. package/dist/src/utils/keys.js.map +1 -1
  128. package/dist/src/validator/address.d.ts +10 -0
  129. package/dist/src/validator/address.d.ts.map +1 -0
  130. package/dist/src/validator/address.js +107 -0
  131. package/dist/src/validator/address.js.map +1 -0
  132. package/dist/src/version.d.ts +1 -1
  133. package/dist/src/version.d.ts.map +1 -1
  134. package/dist/src/version.js +1 -1
  135. package/dist/src/version.js.map +1 -1
  136. package/examples/core-config.yaml +19 -0
  137. package/examples/hooks.yaml +8 -4
  138. package/examples/warp-route-deployment.yaml +2 -4
  139. package/package.json +7 -4
  140. package/dist/src/commands/chains.d.ts +0 -6
  141. package/dist/src/commands/chains.d.ts.map +0 -1
  142. package/dist/src/commands/chains.js.map +0 -1
  143. package/dist/src/commands/hook.d.ts.map +0 -1
  144. package/dist/src/commands/hook.js +0 -34
  145. package/dist/src/commands/hook.js.map +0 -1
  146. package/dist/src/commands/ism.d.ts +0 -12
  147. package/dist/src/commands/ism.d.ts.map +0 -1
  148. package/dist/src/commands/ism.js +0 -36
  149. package/dist/src/commands/ism.js.map +0 -1
  150. package/dist/src/registry/MergedRegistry.d.ts +0 -35
  151. package/dist/src/registry/MergedRegistry.d.ts.map +0 -1
  152. package/dist/src/registry/MergedRegistry.js +0 -83
  153. package/dist/src/registry/MergedRegistry.js.map +0 -1
package/README.md CHANGED
@@ -12,7 +12,7 @@ To read more about interchain applications, how the protocol works, and how to i
12
12
 
13
13
  ## Setup
14
14
 
15
- Node 16 or newer is required.
15
+ Node 18 or newer is required.
16
16
 
17
17
  **Option 1: Global install:**
18
18
 
package/dist/cli.js CHANGED
@@ -2,14 +2,16 @@
2
2
  import chalk from 'chalk';
3
3
  import yargs from 'yargs';
4
4
  import './env.js';
5
- import { chainsCommand } from './src/commands/chains.js';
5
+ import { avsCommand } from './src/commands/avs.js';
6
6
  import { configCommand } from './src/commands/config.js';
7
+ import { coreCommand } from './src/commands/core.js';
7
8
  import { deployCommand } from './src/commands/deploy.js';
8
- import { hookCommand } from './src/commands/hook.js';
9
- import { ismCommand } from './src/commands/ism.js';
10
9
  import { keyCommandOption, logFormatCommandOption, logLevelCommandOption, overrideRegistryUriCommandOption, registryUriCommandOption, skipConfirmationOption, } from './src/commands/options.js';
10
+ import { registryCommand } from './src/commands/registry.js';
11
11
  import { sendCommand } from './src/commands/send.js';
12
12
  import { statusCommand } from './src/commands/status.js';
13
+ import { validatorCommand } from './src/commands/validator.js';
14
+ import { warpCommand } from './src/commands/warp.js';
13
15
  import { contextMiddleware } from './src/context/context.js';
14
16
  import { configureLogger, errorRed } from './src/logger.js';
15
17
  import { checkVersion } from './src/utils/version-check.js';
@@ -34,13 +36,15 @@ try {
34
36
  },
35
37
  contextMiddleware,
36
38
  ])
37
- .command(chainsCommand)
39
+ .command(avsCommand)
38
40
  .command(configCommand)
41
+ .command(coreCommand)
39
42
  .command(deployCommand)
40
- .command(hookCommand)
41
- .command(ismCommand)
43
+ .command(registryCommand)
42
44
  .command(sendCommand)
43
45
  .command(statusCommand)
46
+ .command(validatorCommand)
47
+ .command(warpCommand)
44
48
  .version(VERSION)
45
49
  .demandCommand()
46
50
  .strict()
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ChainMap } from '@hyperlane-xyz/sdk';
2
+ import { Address } from '@hyperlane-xyz/utils';
3
+ interface AVSContracts {
4
+ avsDirectory: Address;
5
+ proxyAdmin: Address;
6
+ ecdsaStakeRegistry: Address;
7
+ hyperlaneServiceManager: Address;
8
+ }
9
+ export declare const avsAddresses: ChainMap<AVSContracts>;
10
+ export {};
11
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/avs/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,UAAU,YAAY;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAGD,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,YAAY,CAO/C,CAAC"}
@@ -0,0 +1,10 @@
1
+ // TODO: move to registry
2
+ export const avsAddresses = {
3
+ holesky: {
4
+ avsDirectory: '0x055733000064333CaDDbC92763c58BF0192fFeBf',
5
+ proxyAdmin: '0x33dB966328Ea213b0f76eF96CA368AB37779F065',
6
+ ecdsaStakeRegistry: '0xFfa913705484C9BAea32Ffe9945BeA099A1DFF72',
7
+ hyperlaneServiceManager: '0xc76E477437065093D353b7d56c81ff54D167B0Ab',
8
+ },
9
+ };
10
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/avs/config.ts"],"names":[],"mappings":"AAUA,yBAAyB;AACzB,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,OAAO,EAAE;QACP,YAAY,EAAE,4CAA4C;QAC1D,UAAU,EAAE,4CAA4C;QACxD,kBAAkB,EAAE,4CAA4C;QAChE,uBAAuB,EAAE,4CAA4C;KACtE;CACF,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { BigNumberish, utils } from 'ethers';
2
+ import { ChainName } from '@hyperlane-xyz/sdk';
3
+ import { Address } from '@hyperlane-xyz/utils';
4
+ import { WriteCommandContext } from '../context/types.js';
5
+ export type SignatureWithSaltAndExpiryStruct = {
6
+ signature: utils.BytesLike;
7
+ salt: utils.BytesLike;
8
+ expiry: BigNumberish;
9
+ };
10
+ export declare function registerOperatorWithSignature({ context, chain, operatorKeyPath, avsSigningKey, }: {
11
+ context: WriteCommandContext;
12
+ chain: ChainName;
13
+ operatorKeyPath: string;
14
+ avsSigningKey: Address;
15
+ }): Promise<void>;
16
+ export declare function deregisterOperator({ context, chain, operatorKeyPath, }: {
17
+ context: WriteCommandContext;
18
+ chain: ChainName;
19
+ operatorKeyPath: string;
20
+ }): Promise<void>;
21
+ //# sourceMappingURL=stakeRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakeRegistry.d.ts","sourceRoot":"","sources":["../../../src/avs/stakeRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAMrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM1D,MAAM,MAAM,gCAAgC,GAAG;IAC7C,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,wBAAsB,6BAA6B,CAAC,EAClD,OAAO,EACP,KAAK,EACL,eAAe,EACf,aAAa,GACd,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;CACxB,iBA+CA;AAED,wBAAsB,kBAAkB,CAAC,EACvC,OAAO,EACP,KAAK,EACL,eAAe,GAChB,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB,iBAoBA"}
@@ -0,0 +1,64 @@
1
+ import { password } from '@inquirer/prompts';
2
+ import { Wallet, utils } from 'ethers';
3
+ import { ECDSAStakeRegistry__factory, TestAVSDirectory__factory, } from '@hyperlane-xyz/core';
4
+ import { log, logBlue } from '../logger.js';
5
+ import { readFileAtPath, resolvePath } from '../utils/files.js';
6
+ import { avsAddresses } from './config.js';
7
+ export async function registerOperatorWithSignature({ context, chain, operatorKeyPath, avsSigningKey, }) {
8
+ const { multiProvider } = context;
9
+ const operatorAsSigner = await readOperatorFromEncryptedJson(operatorKeyPath);
10
+ const provider = multiProvider.getProvider(chain);
11
+ const connectedSigner = operatorAsSigner.connect(provider);
12
+ const stakeRegistryAddress = avsAddresses[chain].ecdsaStakeRegistry;
13
+ const ecdsaStakeRegistry = ECDSAStakeRegistry__factory.connect(stakeRegistryAddress, connectedSigner);
14
+ const domainId = multiProvider.getDomainId(chain);
15
+ const avsDirectoryAddress = avsAddresses[chain].avsDirectory;
16
+ const operatorSignature = await getOperatorSignature(domainId, avsAddresses[chain].hyperlaneServiceManager, avsDirectoryAddress, operatorAsSigner, connectedSigner);
17
+ // check if the operator is already registered
18
+ const operatorStatus = await ecdsaStakeRegistry.operatorRegistered(operatorAsSigner.address);
19
+ if (operatorStatus) {
20
+ logBlue(`Operator ${operatorAsSigner.address} already registered to Hyperlane AVS`);
21
+ return;
22
+ }
23
+ log(`Registering operator ${operatorAsSigner.address} attesting ${avsSigningKey} with signature on ${chain}...`);
24
+ await multiProvider.handleTx(chain, ecdsaStakeRegistry.registerOperatorWithSignature(operatorSignature, avsSigningKey));
25
+ logBlue(`Operator ${operatorAsSigner.address} registered to Hyperlane AVS`);
26
+ }
27
+ export async function deregisterOperator({ context, chain, operatorKeyPath, }) {
28
+ const { multiProvider } = context;
29
+ const operatorAsSigner = await readOperatorFromEncryptedJson(operatorKeyPath);
30
+ const provider = multiProvider.getProvider(chain);
31
+ const connectedSigner = operatorAsSigner.connect(provider);
32
+ const stakeRegistryAddress = avsAddresses[chain].ecdsaStakeRegistry;
33
+ const ecdsaStakeRegistry = ECDSAStakeRegistry__factory.connect(stakeRegistryAddress, connectedSigner);
34
+ log(`Deregistering operator ${operatorAsSigner.address} on ${chain}...`);
35
+ await multiProvider.handleTx(chain, ecdsaStakeRegistry.deregisterOperator());
36
+ logBlue(`Operator ${operatorAsSigner.address} deregistered from Hyperlane AVS`);
37
+ }
38
+ async function readOperatorFromEncryptedJson(operatorKeyPath) {
39
+ const encryptedJson = readFileAtPath(resolvePath(operatorKeyPath));
40
+ const keyFilePassword = await password({
41
+ mask: '*',
42
+ message: 'Enter the password for the operator key file: ',
43
+ });
44
+ return Wallet.fromEncryptedJson(encryptedJson, keyFilePassword);
45
+ }
46
+ async function getOperatorSignature(domain, serviceManager, avsDirectory, operator, signer) {
47
+ const avsDirectoryContract = TestAVSDirectory__factory.connect(avsDirectory, signer);
48
+ // random salt is ok, because we register the operator right after
49
+ const salt = utils.hexZeroPad(utils.randomBytes(32), 32);
50
+ // give a expiry timestamp 1 hour from now
51
+ const expiry = utils.hexZeroPad(utils.hexlify(Math.floor(Date.now() / 1000) + 60 * 60), 32);
52
+ const signingHash = await avsDirectoryContract.calculateOperatorAVSRegistrationDigestHash(operator.address, serviceManager, salt, expiry);
53
+ // Eigenlayer's AVSDirectory expects the signature over raw signed hash instead of EIP-191 compatible toEthSignedMessageHash
54
+ // see https://github.com/Layr-Labs/eigenlayer-contracts/blob/ef2ea4a7459884f381057aa9bbcd29c7148cfb63/src/contracts/libraries/EIP1271SignatureUtils.sol#L22
55
+ const signature = operator
56
+ ._signingKey()
57
+ .signDigest(utils.arrayify(signingHash));
58
+ return {
59
+ signature: utils.joinSignature(signature),
60
+ salt,
61
+ expiry,
62
+ };
63
+ }
64
+ //# sourceMappingURL=stakeRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakeRegistry.js","sourceRoot":"","sources":["../../../src/avs/stakeRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAgB,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ3C,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,EAClD,OAAO,EACP,KAAK,EACL,eAAe,EACf,aAAa,GAMd;IACC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAElC,MAAM,gBAAgB,GAAG,MAAM,6BAA6B,CAAC,eAAe,CAAC,CAAC;IAE9E,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3D,MAAM,oBAAoB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC;IAEpE,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,OAAO,CAC5D,oBAAoB,EACpB,eAAe,CAChB,CAAC;IAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,mBAAmB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC;IAC7D,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAClD,QAAQ,EACR,YAAY,CAAC,KAAK,CAAC,CAAC,uBAAuB,EAC3C,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,CAChB,CAAC;IAEF,8CAA8C;IAC9C,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC,kBAAkB,CAChE,gBAAgB,CAAC,OAAO,CACzB,CAAC;IACF,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CACL,YAAY,gBAAgB,CAAC,OAAO,sCAAsC,CAC3E,CAAC;QACF,OAAO;IACT,CAAC;IAED,GAAG,CACD,wBAAwB,gBAAgB,CAAC,OAAO,cAAc,aAAa,sBAAsB,KAAK,KAAK,CAC5G,CAAC;IACF,MAAM,aAAa,CAAC,QAAQ,CAC1B,KAAK,EACL,kBAAkB,CAAC,6BAA6B,CAC9C,iBAAiB,EACjB,aAAa,CACd,CACF,CAAC;IACF,OAAO,CAAC,YAAY,gBAAgB,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EACvC,OAAO,EACP,KAAK,EACL,eAAe,GAKhB;IACC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAElC,MAAM,gBAAgB,GAAG,MAAM,6BAA6B,CAAC,eAAe,CAAC,CAAC;IAE9E,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3D,MAAM,oBAAoB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC;IAEpE,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,OAAO,CAC5D,oBAAoB,EACpB,eAAe,CAChB,CAAC;IAEF,GAAG,CAAC,0BAA0B,gBAAgB,CAAC,OAAO,OAAO,KAAK,KAAK,CAAC,CAAC;IACzE,MAAM,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC7E,OAAO,CACL,YAAY,gBAAgB,CAAC,OAAO,kCAAkC,CACvE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,eAAuB;IAEvB,MAAM,aAAa,GAAG,cAAc,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;IAEnE,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC;QACrC,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,gDAAgD;KAC1D,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,MAAc,EACd,cAAuB,EACvB,YAAqB,EACrB,QAAgB,EAChB,MAAc;IAEd,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,OAAO,CAC5D,YAAY,EACZ,MAAM,CACP,CAAC;IAEF,kEAAkE;IAClE,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,0CAA0C;IAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC7B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EACtD,EAAE,CACH,CAAC;IAEF,MAAM,WAAW,GACf,MAAM,oBAAoB,CAAC,0CAA0C,CACnE,QAAQ,CAAC,OAAO,EAChB,cAAc,EACd,IAAI,EACJ,MAAM,CACP,CAAC;IAEJ,4HAA4H;IAC5H,4JAA4J;IAC5J,MAAM,SAAS,GAAG,QAAQ;SACvB,WAAW,EAAE;SACb,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAE3C,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC;QACzC,IAAI;QACJ,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { CommandModule, Options } from 'yargs';
2
+ /**
3
+ * Parent command
4
+ */
5
+ export declare const avsCommand: CommandModule;
6
+ /**
7
+ * Registration command
8
+ */
9
+ export declare const registrationOptions: {
10
+ [k: string]: Options;
11
+ };
12
+ //# sourceMappingURL=avs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avs.d.ts","sourceRoot":"","sources":["../../../src/commands/avs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAY/C;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,aAUxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAiBvD,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { deregisterOperator, registerOperatorWithSignature, } from '../avs/stakeRegistry.js';
2
+ import { log } from '../logger.js';
3
+ /**
4
+ * Parent command
5
+ */
6
+ export const avsCommand = {
7
+ command: 'avs',
8
+ describe: 'Interact with the Hyperlane AVS',
9
+ builder: (yargs) => yargs
10
+ .command(registerCommand)
11
+ .command(deregisterCommand)
12
+ .version(false)
13
+ .demandCommand(),
14
+ handler: () => log('Command required'),
15
+ };
16
+ /**
17
+ * Registration command
18
+ */
19
+ export const registrationOptions = {
20
+ chain: {
21
+ type: 'string',
22
+ description: 'Chain to interact with the AVS on',
23
+ demandOption: true,
24
+ choices: ['holesky', 'ethereum'],
25
+ },
26
+ operatorKeyPath: {
27
+ type: 'string',
28
+ description: 'Path to the operator key file',
29
+ demandOption: true,
30
+ },
31
+ avsSigningKey: {
32
+ type: 'string',
33
+ description: 'Address of the AVS signing key',
34
+ demandOption: true,
35
+ },
36
+ };
37
+ const registerCommand = {
38
+ command: 'register',
39
+ describe: 'Register operator with the AVS',
40
+ builder: registrationOptions,
41
+ handler: async ({ context, chain, operatorKeyPath, avsSigningKey }) => {
42
+ await registerOperatorWithSignature({
43
+ context,
44
+ chain,
45
+ operatorKeyPath,
46
+ avsSigningKey,
47
+ });
48
+ process.exit(0);
49
+ },
50
+ };
51
+ const deregisterCommand = {
52
+ command: 'deregister',
53
+ describe: 'Deregister yourself with the AVS',
54
+ builder: registrationOptions,
55
+ handler: async ({ context, chain, operatorKeyPath }) => {
56
+ await deregisterOperator({
57
+ context,
58
+ chain,
59
+ operatorKeyPath,
60
+ });
61
+ process.exit(0);
62
+ },
63
+ };
64
+ //# sourceMappingURL=avs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avs.js","sourceRoot":"","sources":["../../../src/commands/avs.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAkB;IACvC,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,iCAAiC;IAC3C,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,OAAO,CAAC,eAAe,CAAC;SACxB,OAAO,CAAC,iBAAiB,CAAC;SAC1B,OAAO,CAAC,KAAK,CAAC;SACd,aAAa,EAAE;IACpB,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA6B;IAC3D,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,mCAAmC;QAChD,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KACjC;IACD,eAAe,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+BAA+B;QAC5C,YAAY,EAAE,IAAI;KACnB;IACD,aAAa,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gCAAgC;QAC7C,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF,MAAM,eAAe,GAIhB;IACH,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,gCAAgC;IAC1C,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,EAAE;QACpE,MAAM,6BAA6B,CAAC;YAClC,OAAO;YACP,KAAK;YACL,eAAe;YACf,aAAa;SACd,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACF,CAAC;AAEF,MAAM,iBAAiB,GAGlB;IACH,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAE,kCAAkC;IAC5C,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE;QACrD,MAAM,kBAAkB,CAAC;YACvB,OAAO;YACP,KAAK;YACL,eAAe;SAChB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAkBtC;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,aAU3B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAWtC;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,aAU3B,CAAC"}
@@ -1,10 +1,9 @@
1
1
  import { createChainConfig, readChainConfigs } from '../config/chain.js';
2
- import { createHooksConfigMap } from '../config/hooks.js';
3
- import { createIsmConfigMap, readIsmConfig } from '../config/ism.js';
4
- import { createMultisigConfig, readMultisigConfig, } from '../config/multisig.js';
5
- import { createWarpRouteDeployConfig, readWarpRouteDeployConfig, } from '../config/warp.js';
2
+ import { readIsmConfig } from '../config/ism.js';
3
+ import { readMultisigConfig } from '../config/multisig.js';
4
+ import { readWarpRouteDeployConfig } from '../config/warp.js';
6
5
  import { log, logGreen } from '../logger.js';
7
- import { inputFileOption, outputFileOption } from './options.js';
6
+ import { inputFileCommandOption } from './options.js';
8
7
  /**
9
8
  * Parent command
10
9
  */
@@ -24,13 +23,7 @@ export const configCommand = {
24
23
  const createCommand = {
25
24
  command: 'create',
26
25
  describe: 'Create a new Hyperlane config',
27
- builder: (yargs) => yargs
28
- .command(createChainConfigCommand)
29
- .command(createIsmConfigCommand)
30
- .command(createHookConfigCommand)
31
- .command(createWarpRouteDeployConfigCommand)
32
- .version(false)
33
- .demandCommand(),
26
+ builder: (yargs) => yargs.command(createChainConfigCommand).version(false).demandCommand(),
34
27
  handler: () => log('Command required'),
35
28
  };
36
29
  const createChainConfigCommand = {
@@ -41,49 +34,6 @@ const createChainConfigCommand = {
41
34
  process.exit(0);
42
35
  },
43
36
  };
44
- const createIsmConfigCommand = {
45
- command: 'ism',
46
- describe: 'Create a basic or advanced ISM config for a validator set',
47
- builder: {
48
- out: outputFileOption('./configs/ism.yaml'),
49
- advanced: {
50
- type: 'boolean',
51
- describe: 'Create an advanced ISM configuration',
52
- default: false,
53
- },
54
- },
55
- handler: async ({ context, out, advanced }) => {
56
- if (advanced) {
57
- await createIsmConfigMap({ context, outPath: out });
58
- }
59
- else {
60
- await createMultisigConfig({ context, outPath: out });
61
- }
62
- process.exit(0);
63
- },
64
- };
65
- const createHookConfigCommand = {
66
- command: 'hooks',
67
- describe: 'Create a new hooks config (required & default)',
68
- builder: {
69
- out: outputFileOption('./configs/hooks.yaml'),
70
- },
71
- handler: async ({ context, out }) => {
72
- await createHooksConfigMap({ context, outPath: out });
73
- process.exit(0);
74
- },
75
- };
76
- const createWarpRouteDeployConfigCommand = {
77
- command: 'warp',
78
- describe: 'Create a new Warp Route deployment config',
79
- builder: {
80
- out: outputFileOption('./configs/warp-route-deployment.yaml'),
81
- },
82
- handler: async ({ context, out }) => {
83
- await createWarpRouteDeployConfig({ context, outPath: out });
84
- process.exit(0);
85
- },
86
- };
87
37
  /**
88
38
  * Validate commands
89
39
  */
@@ -103,7 +53,7 @@ const validateChainCommand = {
103
53
  command: 'chain',
104
54
  describe: 'Validate a chain config file',
105
55
  builder: {
106
- path: inputFileOption,
56
+ path: inputFileCommandOption,
107
57
  },
108
58
  handler: async ({ path }) => {
109
59
  readChainConfigs(path);
@@ -115,7 +65,7 @@ const validateIsmCommand = {
115
65
  command: 'ism',
116
66
  describe: 'Validate the basic ISM config file',
117
67
  builder: {
118
- path: inputFileOption,
68
+ path: inputFileCommandOption,
119
69
  },
120
70
  handler: async ({ path }) => {
121
71
  readMultisigConfig(path);
@@ -127,7 +77,7 @@ const validateIsmAdvancedCommand = {
127
77
  command: 'ism-advanced',
128
78
  describe: 'Validate the advanced ISM config file',
129
79
  builder: {
130
- path: inputFileOption,
80
+ path: inputFileCommandOption,
131
81
  },
132
82
  handler: async ({ path }) => {
133
83
  readIsmConfig(path);
@@ -139,10 +89,10 @@ const validateWarpCommand = {
139
89
  command: 'warp',
140
90
  describe: 'Validate a Warp Route deployment config file',
141
91
  builder: {
142
- path: inputFileOption,
92
+ path: inputFileCommandOption,
143
93
  },
144
94
  handler: async ({ path }) => {
145
- readWarpRouteDeployConfig(path);
95
+ await readWarpRouteDeployConfig(path);
146
96
  logGreen('Config is valid');
147
97
  process.exit(0);
148
98
  },
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { CommandModule } from 'yargs';
2
+ import { CommandModuleWithContext } from '../context/types.js';
3
+ /**
4
+ * Parent command
5
+ */
6
+ export declare const coreCommand: CommandModule;
7
+ export declare const configure: CommandModuleWithContext<{
8
+ ismAdvanced: boolean;
9
+ config: string;
10
+ }>;
11
+ export declare const read: CommandModuleWithContext<{
12
+ chain: string;
13
+ mailbox: string;
14
+ config: string;
15
+ }>;
16
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/commands/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAc/D;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,aAWzB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,wBAAwB,CAAC;IAC/C,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB,CA6DA,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,wBAAwB,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CA8BA,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { CoreConfigSchema, EvmCoreReader } from '@hyperlane-xyz/sdk';
2
+ import { createHookConfig } from '../config/hooks.js';
3
+ import { createIsmConfig, createTrustedRelayerConfig } from '../config/ism.js';
4
+ import { log, logBlue, logBoldUnderlinedRed, logGray, logRed, } from '../logger.js';
5
+ import { detectAndConfirmOrPrompt } from '../utils/chains.js';
6
+ import { writeYamlOrJson } from '../utils/files.js';
7
+ import { deploy } from './deploy.js';
8
+ import { chainCommandOption, outputFileCommandOption } from './options.js';
9
+ /**
10
+ * Parent command
11
+ */
12
+ export const coreCommand = {
13
+ command: 'core',
14
+ describe: 'Manage core Hyperlane contracts & configs',
15
+ builder: (yargs) => yargs
16
+ .command(configure)
17
+ .command(deploy)
18
+ .command(read)
19
+ .version(false)
20
+ .demandCommand(),
21
+ handler: () => log('Command required'),
22
+ };
23
+ export const configure = {
24
+ command: 'configure',
25
+ describe: 'Create a core configuration, including ISMs and hooks.',
26
+ builder: {
27
+ ismAdvanced: {
28
+ type: 'boolean',
29
+ describe: 'Create an advanced ISM & hook configuration',
30
+ default: false,
31
+ },
32
+ config: outputFileCommandOption('./configs/core-config.yaml', false, 'The path to output a Core Config JSON or YAML file.'),
33
+ },
34
+ handler: async ({ context, ismAdvanced, config: configFilePath }) => {
35
+ logGray('Hyperlane Core Configure');
36
+ logGray('------------------------');
37
+ const owner = await detectAndConfirmOrPrompt(async () => context.signer?.getAddress(), 'Enter the desired', 'owner address');
38
+ // Create default Ism config (advanced or trusted)
39
+ let defaultIsm;
40
+ if (ismAdvanced) {
41
+ logBlue('Creating a new advanced ISM config');
42
+ logBoldUnderlinedRed('WARNING: USE AT YOUR RISK.');
43
+ logRed('Advanced ISM configs require knowledge of different ISM types and how they work together topologically. If possible, use the basic ISM configs are recommended.');
44
+ defaultIsm = await createIsmConfig(context);
45
+ }
46
+ else {
47
+ defaultIsm = await createTrustedRelayerConfig(context);
48
+ }
49
+ // Create default and required Hook config
50
+ const defaultHook = await createHookConfig(context, 'Select default hook type');
51
+ const requiredHook = await createHookConfig(context, 'Select required hook type');
52
+ // Validate
53
+ const coreConfig = {
54
+ owner,
55
+ defaultIsm,
56
+ defaultHook,
57
+ requiredHook,
58
+ };
59
+ CoreConfigSchema.parse(coreConfig);
60
+ writeYamlOrJson(configFilePath, coreConfig);
61
+ process.exit(0);
62
+ },
63
+ };
64
+ export const read = {
65
+ command: 'read',
66
+ describe: 'Reads onchain ISM & Hook configurations for given addresses',
67
+ builder: {
68
+ chain: {
69
+ ...chainCommandOption,
70
+ demandOption: true,
71
+ },
72
+ mailbox: {
73
+ type: 'string',
74
+ description: 'Mailbox address used to derive the core config',
75
+ demandOption: true,
76
+ },
77
+ config: outputFileCommandOption('./configs/core-config.yaml', false, 'The path to output a Core Config JSON or YAML file.'),
78
+ },
79
+ handler: async ({ context, chain, mailbox, config: configFilePath }) => {
80
+ logGray('Hyperlane Core Read');
81
+ logGray('-------------------');
82
+ const evmCoreReader = new EvmCoreReader(context.multiProvider, chain);
83
+ const coreConfig = await evmCoreReader.deriveCoreConfig(mailbox);
84
+ writeYamlOrJson(configFilePath, coreConfig);
85
+ process.exit(0);
86
+ },
87
+ };
88
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/commands/core.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAa,MAAM,oBAAoB,CAAC;AAEhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EACL,GAAG,EACH,OAAO,EACP,oBAAoB,EACpB,OAAO,EACP,MAAM,GACP,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAE3E;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAkB;IACxC,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,2CAA2C;IACrD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,OAAO,CAAC,SAAS,CAAC;SAClB,OAAO,CAAC,MAAM,CAAC;SACf,OAAO,CAAC,IAAI,CAAC;SACb,OAAO,CAAC,KAAK,CAAC;SACd,aAAa,EAAE;IACpB,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAGjB;IACH,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,wDAAwD;IAClE,OAAO,EAAE;QACP,WAAW,EAAE;YACX,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,6CAA6C;YACvD,OAAO,EAAE,KAAK;SACf;QACD,MAAM,EAAE,uBAAuB,CAC7B,4BAA4B,EAC5B,KAAK,EACL,qDAAqD,CACtD;KACF;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;QAClE,OAAO,CAAC,0BAA0B,CAAC,CAAC;QACpC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAEpC,MAAM,KAAK,GAAG,MAAM,wBAAwB,CAC1C,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,EACxC,mBAAmB,EACnB,eAAe,CAChB,CAAC;QAEF,kDAAkD;QAClD,IAAI,UAAqB,CAAC;QAC1B,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,oCAAoC,CAAC,CAAC;YAC9C,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;YACnD,MAAM,CACJ,iKAAiK,CAClK,CAAC;YACF,UAAU,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,CAAC;QACzD,CAAC;QAED,0CAA0C;QAC1C,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,OAAO,EACP,0BAA0B,CAC3B,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,gBAAgB,CACzC,OAAO,EACP,2BAA2B,CAC5B,CAAC;QAEF,WAAW;QACX,MAAM,UAAU,GAAG;YACjB,KAAK;YACL,UAAU;YACV,WAAW;YACX,YAAY;SACb,CAAC;QACF,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEnC,eAAe,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAIZ;IACH,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,6DAA6D;IACvE,OAAO,EAAE;QACP,KAAK,EAAE;YACL,GAAG,kBAAkB;YACrB,YAAY,EAAE,IAAI;SACnB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gDAAgD;YAC7D,YAAY,EAAE,IAAI;SACnB;QACD,MAAM,EAAE,uBAAuB,CAC7B,4BAA4B,EAC5B,KAAK,EACL,qDAAqD,CACtD;KACF;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;QACrE,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC/B,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE/B,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEjE,eAAe,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACF,CAAC"}
@@ -1,6 +1,19 @@
1
1
  import { CommandModule } from 'yargs';
2
+ import { CommandModuleWithWriteContext } from '../context/types.js';
2
3
  /**
3
4
  * Parent command
4
5
  */
5
6
  export declare const deployCommand: CommandModule;
7
+ /**
8
+ * Generates a command module for deploying Hyperlane contracts, given a command
9
+ *
10
+ * @param commandName - the deploy command key used to look up the deployFunction
11
+ * @returns A command module used to deploy Hyperlane contracts.
12
+ */
13
+ export declare const deploy: CommandModuleWithWriteContext<{
14
+ chain: string;
15
+ config: string;
16
+ dryRun: string;
17
+ fromAddress: string;
18
+ }>;
6
19
  //# sourceMappingURL=deploy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAuBtC;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,aAW3B,CAAC"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAEL,6BAA6B,EAC9B,MAAM,qBAAqB,CAAC;AAmB7B;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,aAU3B,CAAC;AA8BF;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,6BAA6B,CAAC;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB,CA6BA,CAAC"}