@hyperlane-xyz/cli 4.1.0 → 4.2.0-beta1
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.
- package/README.md +4 -1
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/src/commands/options.d.ts +2 -0
- package/dist/src/commands/options.d.ts.map +1 -1
- package/dist/src/commands/options.js +14 -3
- package/dist/src/commands/options.js.map +1 -1
- package/dist/src/commands/registry.js +16 -9
- package/dist/src/commands/registry.js.map +1 -1
- package/dist/src/commands/signCommands.d.ts.map +1 -1
- package/dist/src/commands/signCommands.js +1 -1
- package/dist/src/commands/signCommands.js.map +1 -1
- package/dist/src/commands/status.d.ts +2 -0
- package/dist/src/commands/status.d.ts.map +1 -1
- package/dist/src/commands/status.js +6 -1
- package/dist/src/commands/status.js.map +1 -1
- package/dist/src/commands/submit.d.ts +11 -0
- package/dist/src/commands/submit.d.ts.map +1 -0
- package/dist/src/commands/submit.js +28 -0
- package/dist/src/commands/submit.js.map +1 -0
- package/dist/src/commands/warp.d.ts +5 -0
- package/dist/src/commands/warp.d.ts.map +1 -1
- package/dist/src/commands/warp.js +41 -3
- package/dist/src/commands/warp.js.map +1 -1
- package/dist/src/config/agent.d.ts +1 -1
- package/dist/src/config/agent.d.ts.map +1 -1
- package/dist/src/config/agent.js +59 -17
- package/dist/src/config/agent.js.map +1 -1
- package/dist/src/config/chain.d.ts.map +1 -1
- package/dist/src/config/chain.js +37 -2
- package/dist/src/config/chain.js.map +1 -1
- package/dist/src/config/hooks.d.ts +133 -133
- package/dist/src/config/prompts.d.ts +2 -0
- package/dist/src/config/prompts.d.ts.map +1 -0
- package/dist/src/config/prompts.js +9 -0
- package/dist/src/config/prompts.js.map +1 -0
- package/dist/src/config/submit.d.ts +7 -0
- package/dist/src/config/submit.d.ts.map +1 -0
- package/dist/src/config/submit.js +33 -0
- package/dist/src/config/submit.js.map +1 -0
- package/dist/src/config/warp.js +1 -1
- package/dist/src/config/warp.js.map +1 -1
- package/dist/src/context/context.d.ts +4 -3
- package/dist/src/context/context.d.ts.map +1 -1
- package/dist/src/context/context.js +51 -5
- package/dist/src/context/context.js.map +1 -1
- package/dist/src/context/types.d.ts +3 -1
- package/dist/src/context/types.d.ts.map +1 -1
- package/dist/src/deploy/core.d.ts.map +1 -1
- package/dist/src/deploy/core.js +11 -4
- package/dist/src/deploy/core.js.map +1 -1
- package/dist/src/deploy/warp.d.ts +10 -0
- package/dist/src/deploy/warp.d.ts.map +1 -1
- package/dist/src/deploy/warp.js +294 -45
- package/dist/src/deploy/warp.js.map +1 -1
- package/dist/src/send/message.d.ts.map +1 -1
- package/dist/src/send/message.js +3 -2
- package/dist/src/send/message.js.map +1 -1
- package/dist/src/send/transfer.d.ts.map +1 -1
- package/dist/src/send/transfer.js +12 -6
- package/dist/src/send/transfer.js.map +1 -1
- package/dist/src/status/message.d.ts +2 -1
- package/dist/src/status/message.d.ts.map +1 -1
- package/dist/src/status/message.js +35 -17
- package/dist/src/status/message.js.map +1 -1
- package/dist/src/submit/submit.d.ts +1 -1
- package/dist/src/submit/submit.d.ts.map +1 -1
- package/dist/src/submit/submit.js +16 -10
- package/dist/src/submit/submit.js.map +1 -1
- package/dist/src/submit/types.d.ts +5 -16
- package/dist/src/submit/types.d.ts.map +1 -1
- package/dist/src/utils/balances.js +1 -1
- package/dist/src/utils/balances.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/examples/submit/strategy/gnosis-ica-strategy.yaml +11 -0
- package/examples/submit/strategy/gnosis-strategy.yaml +5 -0
- package/examples/submit/strategy/impersonated-account-strategy.yaml +4 -0
- package/examples/submit/strategy/json-rpc-strategy.yaml +3 -0
- package/examples/submit/transactions/alfajores-transactions.json +8 -0
- package/examples/submit/transactions/avalanche-transactions.json +8 -0
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/config/prompts.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,YACb,MAAM,oBACG,OAAO,MACrB,MAAM,IAAI,KACb,QAAQ,OAAO,CAOjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/config/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,OAAe,EACf,gBAAyB,EACzB,EAAc,EACI,EAAE;IACpB,IAAI,gBAAgB,EAAE,CAAC;QACrB,EAAE,EAAE,CAAC;QACL,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { WriteCommandContext } from '../context/types.js';
|
|
2
|
+
export declare function runSubmit({ context, transactionsFilepath, receiptsFilepath, }: {
|
|
3
|
+
context: WriteCommandContext;
|
|
4
|
+
transactionsFilepath: string;
|
|
5
|
+
receiptsFilepath: string;
|
|
6
|
+
}): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=submit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../src/config/submit.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAS1D,wBAAsB,SAAS,CAAC,EAC9B,OAAO,EACP,oBAAoB,EACpB,gBAAgB,GACjB,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;CAC1B,iBAgCA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { stringify as yamlStringify } from 'yaml';
|
|
2
|
+
import { PopulatedTransactionsSchema, } from '@hyperlane-xyz/sdk';
|
|
3
|
+
import { assert, errorToString } from '@hyperlane-xyz/utils';
|
|
4
|
+
import { logGray, logRed } from '../logger.js';
|
|
5
|
+
import { getSubmitterBuilder } from '../submit/submit.js';
|
|
6
|
+
import { indentYamlOrJson, readYamlOrJson, writeYamlOrJson, } from '../utils/files.js';
|
|
7
|
+
export async function runSubmit({ context, transactionsFilepath, receiptsFilepath, }) {
|
|
8
|
+
const { submissionStrategy, chainMetadata, multiProvider } = context;
|
|
9
|
+
assert(submissionStrategy, 'Submission strategy required to submit transactions.\nPlease create a submission strategy. See examples in cli/examples/submit/strategy/*.');
|
|
10
|
+
const chain = submissionStrategy.chain;
|
|
11
|
+
const protocol = chainMetadata[chain].protocol;
|
|
12
|
+
const submitterBuilder = await getSubmitterBuilder({
|
|
13
|
+
submissionStrategy,
|
|
14
|
+
multiProvider,
|
|
15
|
+
});
|
|
16
|
+
const transactions = getTransactions(transactionsFilepath);
|
|
17
|
+
try {
|
|
18
|
+
const transactionReceipts = await submitterBuilder.submit(...transactions);
|
|
19
|
+
if (transactionReceipts) {
|
|
20
|
+
logGray('🧾 Transaction receipts:\n\n', indentYamlOrJson(yamlStringify(transactionReceipts, null, 2), 4));
|
|
21
|
+
writeYamlOrJson(receiptsFilepath, transactionReceipts, 'yaml');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
logRed(`⛔️ Failed to submit ${transactions.length} transactions:`, errorToString(error));
|
|
26
|
+
throw new Error('Failed to submit transactions.');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function getTransactions(transactionsFilepath) {
|
|
30
|
+
const transactionsFileContent = readYamlOrJson(transactionsFilepath.trim());
|
|
31
|
+
return PopulatedTransactionsSchema.parse(transactionsFileContent);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=submit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/config/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,EAEL,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG7D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAC9B,OAAO,EACP,oBAAoB,EACpB,gBAAgB,GAKjB;IACC,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAErE,MAAM,CACJ,kBAAkB,EAClB,4IAA4I,CAC7I,CAAC;IAEF,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC;IACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;IAC/C,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAkB;QAClE,kBAAkB;QAClB,aAAa;KACd,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC;IAE3D,IAAI,CAAC;QACH,MAAM,mBAAmB,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC;QAC3E,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO,CACL,8BAA8B,EAC9B,gBAAgB,CAAC,aAAa,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACjE,CAAC;YACF,eAAe,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CACJ,uBAAuB,YAAY,CAAC,MAAM,gBAAgB,EAC1D,aAAa,CAAC,KAAK,CAAC,CACrB,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,oBAA4B;IACnD,MAAM,uBAAuB,GAAG,cAAc,CAC5C,oBAAoB,CAAC,IAAI,EAAE,CAC5B,CAAC;IACF,OAAO,2BAA2B,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACpE,CAAC"}
|
package/dist/src/config/warp.js
CHANGED
|
@@ -66,7 +66,7 @@ export async function createWarpRouteDeployConfig({ context, outPath, advanced =
|
|
|
66
66
|
const warpChains = await runMultiChainSelectionStep(context.chainMetadata, 'Select chains to connect');
|
|
67
67
|
const result = {};
|
|
68
68
|
for (const chain of warpChains) {
|
|
69
|
-
logBlue(
|
|
69
|
+
logBlue(`${chain}: Configuring warp route...`);
|
|
70
70
|
const type = await select({
|
|
71
71
|
message: `Select ${chain}'s token type`,
|
|
72
72
|
choices: TYPE_CHOICES,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../src/config/warp.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../src/config/warp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { ChainName } from '@hyperlane-xyz/sdk';
|
|
1
|
+
import { ChainMap, ChainMetadata, ChainName } from '@hyperlane-xyz/sdk';
|
|
2
2
|
import { CommandContext, ContextSettings } from './types.js';
|
|
3
3
|
export declare function contextMiddleware(argv: Record<string, any>): Promise<void>;
|
|
4
4
|
/**
|
|
5
5
|
* Retrieves context for the user-selected command
|
|
6
6
|
* @returns context for the current command
|
|
7
7
|
*/
|
|
8
|
-
export declare function getContext({ registryUri, registryOverrideUri, key, requiresKey, skipConfirmation, }: ContextSettings): Promise<CommandContext>;
|
|
8
|
+
export declare function getContext({ registryUri, registryOverrideUri, key, requiresKey, skipConfirmation, submissionStrategy, }: ContextSettings): Promise<CommandContext>;
|
|
9
9
|
/**
|
|
10
10
|
* Retrieves dry-run context for the user-selected command
|
|
11
11
|
* @returns dry-run context for the current command
|
|
12
12
|
*/
|
|
13
|
-
export declare function getDryRunContext({ registryUri, registryOverrideUri, key, fromAddress, skipConfirmation, }: ContextSettings, chain?: ChainName): Promise<CommandContext>;
|
|
13
|
+
export declare function getDryRunContext({ registryUri, registryOverrideUri, key, fromAddress, skipConfirmation, submissionStrategy, }: ContextSettings, chain?: ChainName): Promise<CommandContext>;
|
|
14
|
+
export declare function getOrRequestApiKeys(chains: ChainName[], chainMetadata: ChainMap<ChainMetadata>): Promise<ChainMap<string>>;
|
|
14
15
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/context/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/context/context.ts"],"names":[],"mappings":"AASA,OAAO,EACL,QAAQ,EACR,aAAa,EACb,SAAS,EAKV,MAAM,oBAAoB,CAAC;AAW5B,OAAO,EACL,cAAc,EACd,eAAe,EAEhB,MAAM,YAAY,CAAC;AAEpB,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBA4BhE;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,EAC/B,WAAW,EACX,mBAAmB,EACnB,GAAG,EACH,WAAW,EACX,gBAAgB,EAChB,kBAAkB,GACnB,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAkB3C;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,EACE,WAAW,EACX,mBAAmB,EACnB,GAAG,EACH,WAAW,EACX,gBAAgB,EAChB,kBAAkB,GACnB,EAAE,eAAe,EAClB,KAAK,CAAC,EAAE,SAAS,GAChB,OAAO,CAAC,cAAc,CAAC,CAqCzB;AA4DD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EAAE,EACnB,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,GACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CA2B3B"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
+
import { confirm } from '@inquirer/prompts';
|
|
1
2
|
import { GithubRegistry, MergedRegistry, } from '@hyperlane-xyz/registry';
|
|
2
3
|
import { FileSystemRegistry } from '@hyperlane-xyz/registry/fs';
|
|
3
|
-
import { MultiProvider } from '@hyperlane-xyz/sdk';
|
|
4
|
+
import { MultiProvider, SubmissionStrategySchema, TxSubmitterType, } from '@hyperlane-xyz/sdk';
|
|
4
5
|
import { isHttpsUrl, isNullish, rootLogger } from '@hyperlane-xyz/utils';
|
|
5
6
|
import { isSignCommand } from '../commands/signCommands.js';
|
|
6
7
|
import { forkNetworkToMultiProvider, verifyAnvil } from '../deploy/dry-run.js';
|
|
7
8
|
import { logBlue } from '../logger.js';
|
|
8
9
|
import { runSingleChainSelectionStep } from '../utils/chains.js';
|
|
10
|
+
import { readYamlOrJson } from '../utils/files.js';
|
|
11
|
+
import { detectAndConfirmOrPrompt } from '../utils/input.js';
|
|
9
12
|
import { getImpersonatedSigner, getSigner } from '../utils/keys.js';
|
|
10
13
|
export async function contextMiddleware(argv) {
|
|
11
|
-
|
|
14
|
+
let isDryRun = !isNullish(argv.dryRun);
|
|
12
15
|
const requiresKey = isSignCommand(argv);
|
|
13
16
|
const settings = {
|
|
14
17
|
registryUri: argv.registry,
|
|
@@ -20,6 +23,13 @@ export async function contextMiddleware(argv) {
|
|
|
20
23
|
};
|
|
21
24
|
if (!isDryRun && settings.fromAddress)
|
|
22
25
|
throw new Error("'--from-address' or '-f' should only be used for dry-runs");
|
|
26
|
+
if (argv.strategy) {
|
|
27
|
+
settings.submissionStrategy = getSubmissionStrategy(argv.strategy);
|
|
28
|
+
if (settings.submissionStrategy.submitter.type ===
|
|
29
|
+
TxSubmitterType.IMPERSONATED_ACCOUNT) {
|
|
30
|
+
isDryRun = true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
23
33
|
const context = isDryRun
|
|
24
34
|
? await getDryRunContext(settings, argv.dryRun)
|
|
25
35
|
: await getContext(settings);
|
|
@@ -29,7 +39,7 @@ export async function contextMiddleware(argv) {
|
|
|
29
39
|
* Retrieves context for the user-selected command
|
|
30
40
|
* @returns context for the current command
|
|
31
41
|
*/
|
|
32
|
-
export async function getContext({ registryUri, registryOverrideUri, key, requiresKey, skipConfirmation, }) {
|
|
42
|
+
export async function getContext({ registryUri, registryOverrideUri, key, requiresKey, skipConfirmation, submissionStrategy, }) {
|
|
33
43
|
const registry = getRegistry(registryUri, registryOverrideUri);
|
|
34
44
|
let signer = undefined;
|
|
35
45
|
if (key || requiresKey) {
|
|
@@ -43,19 +53,22 @@ export async function getContext({ registryUri, registryOverrideUri, key, requir
|
|
|
43
53
|
key,
|
|
44
54
|
signer,
|
|
45
55
|
skipConfirmation: !!skipConfirmation,
|
|
56
|
+
submissionStrategy,
|
|
46
57
|
};
|
|
47
58
|
}
|
|
48
59
|
/**
|
|
49
60
|
* Retrieves dry-run context for the user-selected command
|
|
50
61
|
* @returns dry-run context for the current command
|
|
51
62
|
*/
|
|
52
|
-
export async function getDryRunContext({ registryUri, registryOverrideUri, key, fromAddress, skipConfirmation, }, chain) {
|
|
63
|
+
export async function getDryRunContext({ registryUri, registryOverrideUri, key, fromAddress, skipConfirmation, submissionStrategy, }, chain) {
|
|
53
64
|
const registry = getRegistry(registryUri, registryOverrideUri);
|
|
54
65
|
const chainMetadata = await registry.getMetadata();
|
|
55
66
|
if (!chain) {
|
|
56
67
|
if (skipConfirmation)
|
|
57
68
|
throw new Error('No chains provided');
|
|
58
|
-
chain =
|
|
69
|
+
chain = submissionStrategy
|
|
70
|
+
? submissionStrategy.chain
|
|
71
|
+
: await runSingleChainSelectionStep(chainMetadata, 'Select chain to dry-run against:');
|
|
59
72
|
}
|
|
60
73
|
logBlue(`Dry-running against chain: ${chain}`);
|
|
61
74
|
await verifyAnvil();
|
|
@@ -76,6 +89,7 @@ export async function getDryRunContext({ registryUri, registryOverrideUri, key,
|
|
|
76
89
|
skipConfirmation: !!skipConfirmation,
|
|
77
90
|
isDryRun: true,
|
|
78
91
|
dryRunChain: chain,
|
|
92
|
+
submissionStrategy,
|
|
79
93
|
};
|
|
80
94
|
}
|
|
81
95
|
/**
|
|
@@ -119,4 +133,36 @@ async function getMultiProvider(registry, signer) {
|
|
|
119
133
|
multiProvider.setSharedSigner(signer);
|
|
120
134
|
return multiProvider;
|
|
121
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Retrieves a submission strategy from the provided filepath.
|
|
138
|
+
* @param submissionStrategyFilepath a filepath to the submission strategy file
|
|
139
|
+
* @returns a formatted submission strategy
|
|
140
|
+
*/
|
|
141
|
+
function getSubmissionStrategy(submissionStrategyFilepath) {
|
|
142
|
+
const submissionStrategyFileContent = readYamlOrJson(submissionStrategyFilepath.trim());
|
|
143
|
+
return SubmissionStrategySchema.parse(submissionStrategyFileContent);
|
|
144
|
+
}
|
|
145
|
+
export async function getOrRequestApiKeys(chains, chainMetadata) {
|
|
146
|
+
const apiKeys = {};
|
|
147
|
+
for (const chain of chains) {
|
|
148
|
+
const wantApiKey = await confirm({
|
|
149
|
+
default: false,
|
|
150
|
+
message: `Do you want to use an API key to verify on this (${chain}) chain's block explorer`,
|
|
151
|
+
});
|
|
152
|
+
if (wantApiKey) {
|
|
153
|
+
apiKeys[chain] = await detectAndConfirmOrPrompt(async () => {
|
|
154
|
+
const blockExplorers = chainMetadata[chain].blockExplorers;
|
|
155
|
+
if (!(blockExplorers && blockExplorers.length > 0))
|
|
156
|
+
return;
|
|
157
|
+
for (const blockExplorer of blockExplorers) {
|
|
158
|
+
/* The current apiKeys mapping only accepts one key, even if there are multiple explorer options present. */
|
|
159
|
+
if (blockExplorer.apiKey)
|
|
160
|
+
return blockExplorer.apiKey;
|
|
161
|
+
}
|
|
162
|
+
return undefined;
|
|
163
|
+
}, `Enter an API key for the ${chain} explorer`, `${chain} api key`, `${chain} metadata blockExplorers config`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return apiKeys;
|
|
167
|
+
}
|
|
122
168
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/context/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/context/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ethers } from 'ethers';
|
|
2
2
|
import type { CommandModule } from 'yargs';
|
|
3
3
|
import type { IRegistry } from '@hyperlane-xyz/registry';
|
|
4
|
-
import type { ChainMap, ChainMetadata, MultiProvider } from '@hyperlane-xyz/sdk';
|
|
4
|
+
import type { ChainMap, ChainMetadata, MultiProvider, SubmissionStrategy } from '@hyperlane-xyz/sdk';
|
|
5
5
|
export interface ContextSettings {
|
|
6
6
|
registryUri: string;
|
|
7
7
|
registryOverrideUri: string;
|
|
@@ -9,12 +9,14 @@ export interface ContextSettings {
|
|
|
9
9
|
fromAddress?: string;
|
|
10
10
|
requiresKey?: boolean;
|
|
11
11
|
skipConfirmation?: boolean;
|
|
12
|
+
submissionStrategy?: SubmissionStrategy;
|
|
12
13
|
}
|
|
13
14
|
export interface CommandContext {
|
|
14
15
|
registry: IRegistry;
|
|
15
16
|
chainMetadata: ChainMap<ChainMetadata>;
|
|
16
17
|
multiProvider: MultiProvider;
|
|
17
18
|
skipConfirmation: boolean;
|
|
19
|
+
submissionStrategy?: SubmissionStrategy;
|
|
18
20
|
key?: string;
|
|
19
21
|
signer?: ethers.Signer;
|
|
20
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,aAAa,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,aAAa,EACb,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvC,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,wBAAwB,CAAC,IAAI,IAAI,aAAa,CACxD,EAAE,EACF,IAAI,GAAG;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,CACnC,CAAC;AAEF,MAAM,MAAM,6BAA6B,CAAC,IAAI,IAAI,aAAa,CAC7D,EAAE,EACF,IAAI,GAAG;IAAE,OAAO,EAAE,mBAAmB,CAAA;CAAE,CACxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/deploy/core.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/deploy/core.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,SAAS,EAET,UAAU,EAGX,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAiB1D;;GAEG;AACH,wBAAsB,aAAa,CAAC,EAClC,OAAO,EACP,KAAK,EACL,MAAM,GACP,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;CACpB,iBAsEA"}
|
package/dist/src/deploy/core.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { stringify as yamlStringify } from 'yaml';
|
|
2
|
-
import {
|
|
2
|
+
import { buildArtifact as coreBuildArtifact } from '@hyperlane-xyz/core/buildArtifact.js';
|
|
3
|
+
import { ContractVerifier, EvmCoreModule, ExplorerLicenseType, } from '@hyperlane-xyz/sdk';
|
|
3
4
|
import { MINIMUM_CORE_DEPLOY_GAS } from '../consts.js';
|
|
5
|
+
import { getOrRequestApiKeys } from '../context/context.js';
|
|
4
6
|
import { log, logBlue, logGreen } from '../logger.js';
|
|
5
7
|
import { runSingleChainSelectionStep } from '../utils/chains.js';
|
|
6
8
|
import { indentYamlOrJson } from '../utils/files.js';
|
|
@@ -9,7 +11,7 @@ import { completeDeploy, prepareDeploy, runDeployPlanStep, runPreflightChecksFor
|
|
|
9
11
|
* Executes the core deploy command.
|
|
10
12
|
*/
|
|
11
13
|
export async function runCoreDeploy({ context, chain, config, }) {
|
|
12
|
-
const { signer, isDryRun, chainMetadata, dryRunChain, registry, skipConfirmation, } = context;
|
|
14
|
+
const { signer, isDryRun, chainMetadata, dryRunChain, registry, skipConfirmation, multiProvider, } = context;
|
|
13
15
|
// Select a dry-run chain if it's not supplied
|
|
14
16
|
if (dryRunChain) {
|
|
15
17
|
chain = dryRunChain;
|
|
@@ -19,6 +21,9 @@ export async function runCoreDeploy({ context, chain, config, }) {
|
|
|
19
21
|
throw new Error('No chain provided');
|
|
20
22
|
chain = await runSingleChainSelectionStep(chainMetadata, 'Select chain to connect:');
|
|
21
23
|
}
|
|
24
|
+
let apiKeys = {};
|
|
25
|
+
if (!skipConfirmation)
|
|
26
|
+
apiKeys = await getOrRequestApiKeys([chain], chainMetadata);
|
|
22
27
|
const deploymentParams = {
|
|
23
28
|
context,
|
|
24
29
|
chain,
|
|
@@ -32,11 +37,13 @@ export async function runCoreDeploy({ context, chain, config, }) {
|
|
|
32
37
|
});
|
|
33
38
|
const userAddress = await signer.getAddress();
|
|
34
39
|
const initialBalances = await prepareDeploy(context, userAddress, [chain]);
|
|
35
|
-
|
|
40
|
+
const contractVerifier = new ContractVerifier(multiProvider, apiKeys, coreBuildArtifact, ExplorerLicenseType.MIT);
|
|
41
|
+
logBlue('🚀 All systems ready, captain! Beginning deployment...');
|
|
36
42
|
const evmCoreModule = await EvmCoreModule.create({
|
|
37
43
|
chain,
|
|
38
44
|
config,
|
|
39
|
-
multiProvider
|
|
45
|
+
multiProvider,
|
|
46
|
+
contractVerifier,
|
|
40
47
|
});
|
|
41
48
|
await completeDeploy(context, 'core', initialBalances, userAddress, [chain]);
|
|
42
49
|
const deployedAddresses = evmCoreModule.serialize();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/deploy/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/deploy/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
|
+
import { WarpCoreConfig, WarpRouteDeployConfig } from '@hyperlane-xyz/sdk';
|
|
1
2
|
import { WriteCommandContext } from '../context/types.js';
|
|
3
|
+
interface DeployParams {
|
|
4
|
+
context: WriteCommandContext;
|
|
5
|
+
warpDeployConfig: WarpRouteDeployConfig;
|
|
6
|
+
}
|
|
7
|
+
interface ApplyParams extends DeployParams {
|
|
8
|
+
warpCoreConfig: WarpCoreConfig;
|
|
9
|
+
}
|
|
2
10
|
export declare function runWarpRouteDeploy({ context, warpRouteDeploymentConfigPath, }: {
|
|
3
11
|
context: WriteCommandContext;
|
|
4
12
|
warpRouteDeploymentConfigPath?: string;
|
|
5
13
|
}): Promise<void>;
|
|
14
|
+
export declare function runWarpRouteApply(params: ApplyParams): Promise<void>;
|
|
15
|
+
export {};
|
|
6
16
|
//# sourceMappingURL=warp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../src/deploy/warp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../src/deploy/warp.ts"],"names":[],"mappings":"AAMA,OAAO,EA6BL,cAAc,EAEd,qBAAqB,EAStB,MAAM,oBAAoB,CAAC;AAc5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAqB1D,UAAU,YAAY;IACpB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,gBAAgB,EAAE,qBAAqB,CAAC;CACzC;AAED,UAAU,WAAY,SAAQ,YAAY;IACxC,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,wBAAsB,kBAAkB,CAAC,EACvC,OAAO,EACP,6BAA6B,GAC9B,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACxC,iBAyDA;AAyQD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA8H1E"}
|