@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.
Files changed (84) hide show
  1. package/README.md +4 -1
  2. package/dist/cli.js +2 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/src/commands/options.d.ts +2 -0
  5. package/dist/src/commands/options.d.ts.map +1 -1
  6. package/dist/src/commands/options.js +14 -3
  7. package/dist/src/commands/options.js.map +1 -1
  8. package/dist/src/commands/registry.js +16 -9
  9. package/dist/src/commands/registry.js.map +1 -1
  10. package/dist/src/commands/signCommands.d.ts.map +1 -1
  11. package/dist/src/commands/signCommands.js +1 -1
  12. package/dist/src/commands/signCommands.js.map +1 -1
  13. package/dist/src/commands/status.d.ts +2 -0
  14. package/dist/src/commands/status.d.ts.map +1 -1
  15. package/dist/src/commands/status.js +6 -1
  16. package/dist/src/commands/status.js.map +1 -1
  17. package/dist/src/commands/submit.d.ts +11 -0
  18. package/dist/src/commands/submit.d.ts.map +1 -0
  19. package/dist/src/commands/submit.js +28 -0
  20. package/dist/src/commands/submit.js.map +1 -0
  21. package/dist/src/commands/warp.d.ts +5 -0
  22. package/dist/src/commands/warp.d.ts.map +1 -1
  23. package/dist/src/commands/warp.js +41 -3
  24. package/dist/src/commands/warp.js.map +1 -1
  25. package/dist/src/config/agent.d.ts +1 -1
  26. package/dist/src/config/agent.d.ts.map +1 -1
  27. package/dist/src/config/agent.js +59 -17
  28. package/dist/src/config/agent.js.map +1 -1
  29. package/dist/src/config/chain.d.ts.map +1 -1
  30. package/dist/src/config/chain.js +37 -2
  31. package/dist/src/config/chain.js.map +1 -1
  32. package/dist/src/config/hooks.d.ts +133 -133
  33. package/dist/src/config/prompts.d.ts +2 -0
  34. package/dist/src/config/prompts.d.ts.map +1 -0
  35. package/dist/src/config/prompts.js +9 -0
  36. package/dist/src/config/prompts.js.map +1 -0
  37. package/dist/src/config/submit.d.ts +7 -0
  38. package/dist/src/config/submit.d.ts.map +1 -0
  39. package/dist/src/config/submit.js +33 -0
  40. package/dist/src/config/submit.js.map +1 -0
  41. package/dist/src/config/warp.js +1 -1
  42. package/dist/src/config/warp.js.map +1 -1
  43. package/dist/src/context/context.d.ts +4 -3
  44. package/dist/src/context/context.d.ts.map +1 -1
  45. package/dist/src/context/context.js +51 -5
  46. package/dist/src/context/context.js.map +1 -1
  47. package/dist/src/context/types.d.ts +3 -1
  48. package/dist/src/context/types.d.ts.map +1 -1
  49. package/dist/src/deploy/core.d.ts.map +1 -1
  50. package/dist/src/deploy/core.js +11 -4
  51. package/dist/src/deploy/core.js.map +1 -1
  52. package/dist/src/deploy/warp.d.ts +10 -0
  53. package/dist/src/deploy/warp.d.ts.map +1 -1
  54. package/dist/src/deploy/warp.js +294 -45
  55. package/dist/src/deploy/warp.js.map +1 -1
  56. package/dist/src/send/message.d.ts.map +1 -1
  57. package/dist/src/send/message.js +3 -2
  58. package/dist/src/send/message.js.map +1 -1
  59. package/dist/src/send/transfer.d.ts.map +1 -1
  60. package/dist/src/send/transfer.js +12 -6
  61. package/dist/src/send/transfer.js.map +1 -1
  62. package/dist/src/status/message.d.ts +2 -1
  63. package/dist/src/status/message.d.ts.map +1 -1
  64. package/dist/src/status/message.js +35 -17
  65. package/dist/src/status/message.js.map +1 -1
  66. package/dist/src/submit/submit.d.ts +1 -1
  67. package/dist/src/submit/submit.d.ts.map +1 -1
  68. package/dist/src/submit/submit.js +16 -10
  69. package/dist/src/submit/submit.js.map +1 -1
  70. package/dist/src/submit/types.d.ts +5 -16
  71. package/dist/src/submit/types.d.ts.map +1 -1
  72. package/dist/src/utils/balances.js +1 -1
  73. package/dist/src/utils/balances.js.map +1 -1
  74. package/dist/src/version.d.ts +1 -1
  75. package/dist/src/version.d.ts.map +1 -1
  76. package/dist/src/version.js +1 -1
  77. package/dist/src/version.js.map +1 -1
  78. package/examples/submit/strategy/gnosis-ica-strategy.yaml +11 -0
  79. package/examples/submit/strategy/gnosis-strategy.yaml +5 -0
  80. package/examples/submit/strategy/impersonated-account-strategy.yaml +4 -0
  81. package/examples/submit/strategy/json-rpc-strategy.yaml +3 -0
  82. package/examples/submit/transactions/alfajores-transactions.json +8 -0
  83. package/examples/submit/transactions/avalanche-transactions.json +8 -0
  84. package/package.json +4 -4
@@ -1,10 +1,11 @@
1
1
  import { input } from '@inquirer/prompts';
2
- import { HyperlaneCore } from '@hyperlane-xyz/sdk';
3
- import { log, logBlue, logGreen } from '../logger.js';
2
+ import { HyperlaneCore, HyperlaneRelayer } from '@hyperlane-xyz/sdk';
3
+ import { assert } from '@hyperlane-xyz/utils';
4
+ import { log, logBlue, logGreen, logRed } from '../logger.js';
4
5
  import { runSingleChainSelectionStep } from '../utils/chains.js';
5
- export async function checkMessageStatus({ context, messageId, destination, origin, selfRelay, }) {
6
- if (!destination) {
7
- destination = await runSingleChainSelectionStep(context.chainMetadata, 'Select the destination chain');
6
+ export async function checkMessageStatus({ context, messageId, destination, origin, selfRelay, dispatchTx, }) {
7
+ if (!origin) {
8
+ origin = await runSingleChainSelectionStep(context.chainMetadata, 'Select the origin chain');
8
9
  }
9
10
  if (!messageId) {
10
11
  messageId = await input({
@@ -13,23 +14,40 @@ export async function checkMessageStatus({ context, messageId, destination, orig
13
14
  }
14
15
  const chainAddresses = await context.registry.getAddresses();
15
16
  const core = HyperlaneCore.fromAddressesMap(chainAddresses, context.multiProvider);
16
- const mailbox = core.getContracts(destination).mailbox;
17
+ let dispatchedReceipt;
18
+ if (!dispatchTx) {
19
+ try {
20
+ dispatchedReceipt = await core.getDispatchTx(origin, messageId);
21
+ }
22
+ catch (e) {
23
+ logRed(`Failed to infer dispatch transaction for message ${messageId}`);
24
+ }
25
+ dispatchTx = await input({
26
+ message: 'Provide dispatch transaction hash',
27
+ });
28
+ }
29
+ dispatchedReceipt ??= await context.multiProvider
30
+ .getProvider(origin)
31
+ .getTransactionReceipt(dispatchTx);
32
+ const messages = core.getDispatchedMessages(dispatchedReceipt);
33
+ const match = messages.find((m) => m.id === messageId);
34
+ assert(match, `Message ${messageId} not found in dispatch tx ${dispatchTx}`);
35
+ const message = match;
36
+ let deliveredTx;
17
37
  log(`Checking status of message ${messageId} on ${destination}`);
18
- const delivered = await mailbox.delivered(messageId);
38
+ const delivered = await core.isDelivered(message);
19
39
  if (delivered) {
20
40
  logGreen(`Message ${messageId} was delivered`);
21
- return;
41
+ deliveredTx = await core.getProcessedReceipt(message);
22
42
  }
23
- logBlue(`Message ${messageId} was not yet delivered`);
24
- if (selfRelay) {
25
- // TODO: implement option for tx receipt input
26
- if (!origin) {
27
- origin = await runSingleChainSelectionStep(context.chainMetadata, 'Select the origin chain');
43
+ else {
44
+ logBlue(`Message ${messageId} was not yet delivered`);
45
+ if (!selfRelay) {
46
+ return;
28
47
  }
29
- const receipt = await core.getDispatchTx(origin, messageId);
30
- const messages = core.getDispatchedMessages(receipt);
31
- await core.relayMessage(messages[0], receipt);
32
- logGreen(`Message ${messageId} was self-relayed!`);
48
+ const relayer = new HyperlaneRelayer({ core });
49
+ deliveredTx = await relayer.relayMessage(dispatchedReceipt);
33
50
  }
51
+ logGreen(`Message ${messageId} delivered in ${context.multiProvider.getExplorerTxUrl(message.parsed.destination, { hash: deliveredTx.transactionHash })}`);
34
52
  }
35
53
  //# sourceMappingURL=message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/status/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAa,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EACvC,OAAO,EACP,SAAS,EACT,WAAW,EACX,MAAM,EACN,SAAS,GAOV;IACC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,MAAM,2BAA2B,CAC7C,OAAO,CAAC,aAAa,EACrB,8BAA8B,CAC/B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,MAAM,KAAK,CAAC;YACtB,OAAO,EAAE,+BAA+B;SACzC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC7D,MAAM,IAAI,GAAG,aAAa,CAAC,gBAAgB,CACzC,cAAc,EACd,OAAO,CAAC,aAAa,CACtB,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;IACvD,GAAG,CAAC,8BAA8B,SAAS,OAAO,WAAW,EAAE,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,SAAS,EAAE,CAAC;QACd,QAAQ,CAAC,WAAW,SAAS,gBAAgB,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IACD,OAAO,CAAC,WAAW,SAAS,wBAAwB,CAAC,CAAC;IAEtD,IAAI,SAAS,EAAE,CAAC;QACd,8CAA8C;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,MAAM,2BAA2B,CACxC,OAAO,CAAC,aAAa,EACrB,yBAAyB,CAC1B,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9C,QAAQ,CAAC,WAAW,SAAS,oBAAoB,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/status/message.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { TxSubmitterBuilder } from '@hyperlane-xyz/sdk';
2
2
  import { ProtocolType } from '@hyperlane-xyz/utils';
3
3
  import { SubmitterBuilderSettings } from './types.js';
4
- export declare function getSubmitterBuilder<TProtocol extends ProtocolType>({ submitterMetadata, transformersMetadata, multiProvider, }: SubmitterBuilderSettings): Promise<TxSubmitterBuilder<TProtocol>>;
4
+ export declare function getSubmitterBuilder<TProtocol extends ProtocolType>({ submissionStrategy, multiProvider, }: SubmitterBuilderSettings): Promise<TxSubmitterBuilder<TProtocol>>;
5
5
  //# sourceMappingURL=submit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../src/submit/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,kBAAkB,EAKnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,wBAAwB,EAGzB,MAAM,YAAY,CAAC;AAEpB,wBAAsB,mBAAmB,CAAC,SAAS,SAAS,YAAY,EAAE,EACxE,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,GACd,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAWnE"}
1
+ {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../src/submit/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,kBAAkB,EAKnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAsB,mBAAmB,CAAC,SAAS,SAAS,YAAY,EAAE,EACxE,kBAAkB,EAClB,aAAa,GACd,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAWnE"}
@@ -1,7 +1,7 @@
1
1
  import { EV5GnosisSafeTxSubmitter, EV5ImpersonatedAccountTxSubmitter, EV5InterchainAccountTxTransformer, EV5JsonRpcTxSubmitter, TxSubmitterBuilder, TxSubmitterType, TxTransformerType, } from '@hyperlane-xyz/sdk';
2
- export async function getSubmitterBuilder({ submitterMetadata, transformersMetadata, multiProvider, }) {
3
- const submitter = await getSubmitter(multiProvider, submitterMetadata);
4
- const transformers = await getTransformers(multiProvider, transformersMetadata);
2
+ export async function getSubmitterBuilder({ submissionStrategy, multiProvider, }) {
3
+ const submitter = await getSubmitter(multiProvider, submissionStrategy.submitter);
4
+ const transformers = await getTransformers(multiProvider, submissionStrategy.transforms ?? []);
5
5
  return new TxSubmitterBuilder(submitter, transformers);
6
6
  }
7
7
  async function getSubmitter(multiProvider, submitterMetadata) {
@@ -9,22 +9,28 @@ async function getSubmitter(multiProvider, submitterMetadata) {
9
9
  case TxSubmitterType.JSON_RPC:
10
10
  return new EV5JsonRpcTxSubmitter(multiProvider);
11
11
  case TxSubmitterType.IMPERSONATED_ACCOUNT:
12
- return new EV5ImpersonatedAccountTxSubmitter(multiProvider, submitterMetadata.props);
12
+ return new EV5ImpersonatedAccountTxSubmitter(multiProvider, {
13
+ ...submitterMetadata,
14
+ });
13
15
  case TxSubmitterType.GNOSIS_SAFE:
14
- return new EV5GnosisSafeTxSubmitter(multiProvider, submitterMetadata.props);
16
+ return new EV5GnosisSafeTxSubmitter(multiProvider, {
17
+ ...submitterMetadata,
18
+ });
15
19
  default:
16
- throw new Error(`Invalid TxSubmitterType: ${submitterMetadata.type}`);
20
+ throw new Error(`Invalid TxSubmitterType.`);
17
21
  }
18
22
  }
19
- async function getTransformers(multiProvider, metadata) {
20
- return Promise.all(metadata.map(({ type, props: settings }) => getTransformer(multiProvider, { type, props: settings })));
23
+ async function getTransformers(multiProvider, transformersMetadata) {
24
+ return Promise.all(transformersMetadata.map((transformerMetadata) => getTransformer(multiProvider, transformerMetadata)));
21
25
  }
22
26
  async function getTransformer(multiProvider, transformerMetadata) {
23
27
  switch (transformerMetadata.type) {
24
28
  case TxTransformerType.INTERCHAIN_ACCOUNT:
25
- return new EV5InterchainAccountTxTransformer(multiProvider, transformerMetadata.props);
29
+ return new EV5InterchainAccountTxTransformer(multiProvider, {
30
+ ...transformerMetadata,
31
+ });
26
32
  default:
27
- throw new Error(`Invalid TxTransformerType: ${transformerMetadata.type}`);
33
+ throw new Error('Invalid TxTransformerType.');
28
34
  }
29
35
  }
30
36
  //# sourceMappingURL=submit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/submit/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAExB,iCAAiC,EAEjC,iCAAiC,EACjC,qBAAqB,EAErB,kBAAkB,EAElB,eAAe,EAEf,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAS5B,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAiC,EACxE,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,GACY;IACzB,MAAM,SAAS,GAAG,MAAM,YAAY,CAClC,aAAa,EACb,iBAAiB,CAClB,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,eAAe,CACxC,aAAa,EACb,oBAAoB,CACrB,CAAC;IAEF,OAAO,IAAI,kBAAkB,CAAY,SAAS,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,aAA4B,EAC5B,iBAAoC;IAEpC,QAAQ,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC/B,KAAK,eAAe,CAAC,QAAQ;YAC3B,OAAO,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAClD,KAAK,eAAe,CAAC,oBAAoB;YACvC,OAAO,IAAI,iCAAiC,CAC1C,aAAa,EACb,iBAAiB,CAAC,KAA+C,CAClE,CAAC;QACJ,KAAK,eAAe,CAAC,WAAW;YAC9B,OAAO,IAAI,wBAAwB,CACjC,aAAa,EACb,iBAAiB,CAAC,KAAsC,CACzD,CAAC;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,aAA4B,EAC5B,QAA+B;IAE/B,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CACzC,cAAc,CAAY,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CACpE,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,aAA4B,EAC5B,mBAAwC;IAExC,QAAQ,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACjC,KAAK,iBAAiB,CAAC,kBAAkB;YACvC,OAAO,IAAI,iCAAiC,CAC1C,aAAa,EACb,mBAAmB,CAAC,KAAK,CAC1B,CAAC;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/submit/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,iCAAiC,EACjC,iCAAiC,EACjC,qBAAqB,EAIrB,kBAAkB,EAElB,eAAe,EAEf,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAK5B,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAiC,EACxE,kBAAkB,EAClB,aAAa,GACY;IACzB,MAAM,SAAS,GAAG,MAAM,YAAY,CAClC,aAAa,EACb,kBAAkB,CAAC,SAAS,CAC7B,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,eAAe,CACxC,aAAa,EACb,kBAAkB,CAAC,UAAU,IAAI,EAAE,CACpC,CAAC;IAEF,OAAO,IAAI,kBAAkB,CAAY,SAAS,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,aAA4B,EAC5B,iBAAoC;IAEpC,QAAQ,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC/B,KAAK,eAAe,CAAC,QAAQ;YAC3B,OAAO,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAClD,KAAK,eAAe,CAAC,oBAAoB;YACvC,OAAO,IAAI,iCAAiC,CAAC,aAAa,EAAE;gBAC1D,GAAG,iBAAiB;aACrB,CAAC,CAAC;QACL,KAAK,eAAe,CAAC,WAAW;YAC9B,OAAO,IAAI,wBAAwB,CAAC,aAAa,EAAE;gBACjD,GAAG,iBAAiB;aACrB,CAAC,CAAC;QACL;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,aAA4B,EAC5B,oBAA2C;IAE3C,OAAO,OAAO,CAAC,GAAG,CAChB,oBAAoB,CAAC,GAAG,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAC/C,cAAc,CAAY,aAAa,EAAE,mBAAmB,CAAC,CAC9D,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,aAA4B,EAC5B,mBAAwC;IAExC,QAAQ,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACjC,KAAK,iBAAiB,CAAC,kBAAkB;YACvC,OAAO,IAAI,iCAAiC,CAAC,aAAa,EAAE;gBAC1D,GAAG,mBAAmB;aACvB,CAAC,CAAC;QACL;YACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
@@ -1,18 +1,7 @@
1
- import type { EV5GnosisSafeTxSubmitterProps, EV5ImpersonatedAccountTxSubmitterProps, EV5InterchainAccountTxTransformerProps, MultiProvider, TxSubmitterType, TxTransformerType } from '@hyperlane-xyz/sdk';
2
- export interface SubmitterBuilderSettings {
3
- submitterMetadata: SubmitterMetadata;
4
- transformersMetadata: TransformerMetadata[];
1
+ import { z } from 'zod';
2
+ import type { MultiProvider, SubmissionStrategySchema } from '@hyperlane-xyz/sdk';
3
+ export type SubmitterBuilderSettings = {
4
+ submissionStrategy: z.infer<typeof SubmissionStrategySchema>;
5
5
  multiProvider: MultiProvider;
6
- }
7
- export interface SubmitterMetadata {
8
- type: TxSubmitterType;
9
- props: SubmitterProps;
10
- }
11
- export interface TransformerMetadata {
12
- type: TxTransformerType;
13
- props: TransformerProps;
14
- }
15
- type SubmitterProps = EV5ImpersonatedAccountTxSubmitterProps | EV5GnosisSafeTxSubmitterProps;
16
- type TransformerProps = EV5InterchainAccountTxTransformerProps;
17
- export {};
6
+ };
18
7
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/submit/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,sCAAsC,EACtC,sCAAsC,EACtC,aAAa,EACb,eAAe,EACf,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,wBAAwB;IACvC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,aAAa,EAAE,aAAa,CAAC;CAC9B;AACD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;CACvB;AACD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,KAAK,cAAc,GACf,sCAAsC,GACtC,6BAA6B,CAAC;AAClC,KAAK,gBAAgB,GAAG,sCAAsC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/submit/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,wBAAwB,GAAG;IACrC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;IAC7D,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC"}
@@ -15,7 +15,7 @@ export async function nativeBalancesAreSufficient(multiProvider, signer, chains,
15
15
  const balance = ethers.utils.formatEther(balanceWei.toString());
16
16
  if (balanceWei.lt(minBalanceWei)) {
17
17
  const symbol = multiProvider.getChainMetadata(chain).nativeToken?.symbol ?? 'ETH';
18
- logRed(`WARNING: ${address} has low balance on ${chain}. At least ${minBalance} recommended but found ${balance} ${symbol}`);
18
+ logRed(`WARNING: ${address} has low balance on ${chain}. At least ${minBalance} ${symbol} recommended but found ${balance} ${symbol}`);
19
19
  sufficientBalances.push(false);
20
20
  }
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"balances.js","sourceRoot":"","sources":["../../../src/utils/balances.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,aAA4B,EAC5B,MAAqB,EACrB,MAAmB,EACnB,MAAc;IAEd,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAE1C,MAAM,kBAAkB,GAAc,EAAE,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtE,MAAM,UAAU,GAAG,MAAM,aAAa;aACnC,WAAW,CAAC,KAAK,CAAC;aAClB,UAAU,CAAC,OAAO,CAAC,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,MAAM,MAAM,GACV,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,MAAM,IAAI,KAAK,CAAC;YACrE,MAAM,CACJ,YAAY,OAAO,uBAAuB,KAAK,cAAc,UAAU,0BAA0B,OAAO,IAAI,MAAM,EAAE,CACrH,CAAC;YACF,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAE3E,IAAI,aAAa,EAAE,CAAC;QAClB,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;YAC7B,OAAO,EAAE,+DAA+D;SACzE,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"balances.js","sourceRoot":"","sources":["../../../src/utils/balances.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,aAA4B,EAC5B,MAAqB,EACrB,MAAmB,EACnB,MAAc;IAEd,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAE1C,MAAM,kBAAkB,GAAc,EAAE,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtE,MAAM,UAAU,GAAG,MAAM,aAAa;aACnC,WAAW,CAAC,KAAK,CAAC;aAClB,UAAU,CAAC,OAAO,CAAC,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,MAAM,MAAM,GACV,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,MAAM,IAAI,KAAK,CAAC;YACrE,MAAM,CACJ,YAAY,OAAO,uBAAuB,KAAK,cAAc,UAAU,IAAI,MAAM,0BAA0B,OAAO,IAAI,MAAM,EAAE,CAC/H,CAAC;YACF,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAE3E,IAAI,aAAa,EAAE,CAAC;QAClB,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;YAC7B,OAAO,EAAE,+DAA+D;SACzE,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "4.1.0";
1
+ export declare const VERSION = "4.2.0-beta1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,gBAAgB,CAAC"}
@@ -1,2 +1,2 @@
1
- export const VERSION = '4.1.0';
1
+ export const VERSION = '4.2.0-beta1';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC"}
@@ -0,0 +1,11 @@
1
+ chain: avalanche
2
+ submitter:
3
+ type: gnosisSafe
4
+ chain: avalanche
5
+ safeAddress: '0x7fd32493Ca3A38cDf78A4cb74F32f6292f822aBe'
6
+ transforms:
7
+ - type: interchainAccount
8
+ chain: ethereum
9
+ config:
10
+ origin: avalanche
11
+ owner: '0x16F4898F47c085C41d7Cc6b1dc72B91EA617dcBb'
@@ -0,0 +1,5 @@
1
+ chain: avalanche
2
+ submitter:
3
+ type: gnosisSafe
4
+ chain: avalanche
5
+ safeAddress: '0x7fd32493Ca3A38cDf78A4cb74F32f6292f822aBe'
@@ -0,0 +1,4 @@
1
+ chain: alfajores
2
+ submitter:
3
+ type: impersonatedAccount
4
+ userAddress: '0x16F4898F47c085C41d7Cc6b1dc72B91EA617dcBb'
@@ -0,0 +1,3 @@
1
+ chain: alfajores
2
+ submitter:
3
+ type: jsonRpc
@@ -0,0 +1,8 @@
1
+ [
2
+ {
3
+ "data": "0x0e72cc06000000000000000000000000744ad987ee7c65d3b3333bfc3e6ecbf963eb872a",
4
+ "to": "0x9a4a3124F2a86bB5BE46267De85D31762b7a05Fd",
5
+ "from": "0x16F4898F47c085C41d7Cc6b1dc72B91EA617dcBb",
6
+ "chainId": 44787
7
+ }
8
+ ]
@@ -0,0 +1,8 @@
1
+ [
2
+ {
3
+ "data": "0x0e72cc06000000000000000000000000744ad987ee7c65d3b3333bfc3e6ecbf963eb872a",
4
+ "to": "0x9a4a3124F2a86bB5BE46267De85D31762b7a05Fd",
5
+ "from": "0x16F4898F47c085C41d7Cc6b1dc72B91EA617dcBb",
6
+ "chainId": 43114
7
+ }
8
+ ]
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/cli",
3
- "version": "4.1.0",
3
+ "version": "4.2.0-beta1",
4
4
  "description": "A command-line utility for common Hyperlane operations",
5
5
  "dependencies": {
6
6
  "@aws-sdk/client-kms": "^3.577.0",
7
7
  "@aws-sdk/client-s3": "^3.577.0",
8
- "@hyperlane-xyz/registry": "2.1.1",
9
- "@hyperlane-xyz/sdk": "4.1.0",
10
- "@hyperlane-xyz/utils": "4.1.0",
8
+ "@hyperlane-xyz/registry": "2.3.0",
9
+ "@hyperlane-xyz/sdk": "4.2.0-beta1",
10
+ "@hyperlane-xyz/utils": "4.2.0-beta1",
11
11
  "@inquirer/prompts": "^3.0.0",
12
12
  "asn1.js": "^5.4.1",
13
13
  "bignumber.js": "^9.1.1",