@hyperlane-xyz/cli 3.10.0 → 3.10.1-beta0

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 (109) hide show
  1. package/dist/cli.js +4 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/src/commands/deploy.d.ts +6 -0
  4. package/dist/src/commands/deploy.d.ts.map +1 -1
  5. package/dist/src/commands/deploy.js +66 -54
  6. package/dist/src/commands/deploy.js.map +1 -1
  7. package/dist/src/commands/hook.d.ts +7 -0
  8. package/dist/src/commands/hook.d.ts.map +1 -0
  9. package/dist/src/commands/hook.js +42 -0
  10. package/dist/src/commands/hook.js.map +1 -0
  11. package/dist/src/commands/ism.d.ts +7 -0
  12. package/dist/src/commands/ism.d.ts.map +1 -0
  13. package/dist/src/commands/ism.js +44 -0
  14. package/dist/src/commands/ism.js.map +1 -0
  15. package/dist/src/commands/options.d.ts +37 -2
  16. package/dist/src/commands/options.d.ts.map +1 -1
  17. package/dist/src/commands/options.js +45 -2
  18. package/dist/src/commands/options.js.map +1 -1
  19. package/dist/src/commands/send.d.ts +8 -1
  20. package/dist/src/commands/send.d.ts.map +1 -1
  21. package/dist/src/commands/send.js +14 -4
  22. package/dist/src/commands/send.js.map +1 -1
  23. package/dist/src/commands/status.d.ts.map +1 -1
  24. package/dist/src/commands/status.js +8 -7
  25. package/dist/src/commands/status.js.map +1 -1
  26. package/dist/src/config/artifacts.d.ts +6 -1
  27. package/dist/src/config/artifacts.d.ts.map +1 -1
  28. package/dist/src/config/artifacts.js +7 -1
  29. package/dist/src/config/artifacts.js.map +1 -1
  30. package/dist/src/config/ism.d.ts +18 -0
  31. package/dist/src/config/ism.d.ts.map +1 -1
  32. package/dist/src/config/ism.js +22 -7
  33. package/dist/src/config/ism.js.map +1 -1
  34. package/dist/src/config/warp.d.ts +30 -180
  35. package/dist/src/config/warp.d.ts.map +1 -1
  36. package/dist/src/config/warp.js +19 -56
  37. package/dist/src/config/warp.js.map +1 -1
  38. package/dist/src/context.d.ts +22 -5
  39. package/dist/src/context.d.ts.map +1 -1
  40. package/dist/src/context.js +57 -18
  41. package/dist/src/context.js.map +1 -1
  42. package/dist/src/deploy/core.d.ts +6 -2
  43. package/dist/src/deploy/core.d.ts.map +1 -1
  44. package/dist/src/deploy/core.js +37 -16
  45. package/dist/src/deploy/core.js.map +1 -1
  46. package/dist/src/deploy/dry-run.d.ts +20 -0
  47. package/dist/src/deploy/dry-run.d.ts.map +1 -0
  48. package/dist/src/deploy/dry-run.js +45 -0
  49. package/dist/src/deploy/dry-run.js.map +1 -0
  50. package/dist/src/deploy/utils.d.ts +6 -1
  51. package/dist/src/deploy/utils.d.ts.map +1 -1
  52. package/dist/src/deploy/utils.js +40 -6
  53. package/dist/src/deploy/utils.js.map +1 -1
  54. package/dist/src/deploy/warp.d.ts +3 -2
  55. package/dist/src/deploy/warp.d.ts.map +1 -1
  56. package/dist/src/deploy/warp.js +94 -89
  57. package/dist/src/deploy/warp.js.map +1 -1
  58. package/dist/src/hook/read.d.ts +14 -0
  59. package/dist/src/hook/read.d.ts.map +1 -0
  60. package/dist/src/hook/read.js +29 -0
  61. package/dist/src/hook/read.js.map +1 -0
  62. package/dist/src/ism/read.d.ts +14 -0
  63. package/dist/src/ism/read.d.ts.map +1 -0
  64. package/dist/src/ism/read.js +29 -0
  65. package/dist/src/ism/read.js.map +1 -0
  66. package/dist/src/logger.d.ts +1 -0
  67. package/dist/src/logger.d.ts.map +1 -1
  68. package/dist/src/logger.js +1 -0
  69. package/dist/src/logger.js.map +1 -1
  70. package/dist/src/send/message.d.ts +3 -2
  71. package/dist/src/send/message.d.ts.map +1 -1
  72. package/dist/src/send/message.js +8 -2
  73. package/dist/src/send/message.js.map +1 -1
  74. package/dist/src/send/transfer.d.ts +3 -2
  75. package/dist/src/send/transfer.d.ts.map +1 -1
  76. package/dist/src/send/transfer.js +9 -3
  77. package/dist/src/send/transfer.js.map +1 -1
  78. package/dist/src/status/message.d.ts +4 -1
  79. package/dist/src/status/message.d.ts.map +1 -1
  80. package/dist/src/status/message.js +14 -3
  81. package/dist/src/status/message.js.map +1 -1
  82. package/dist/src/tests/deployTestErc20.js +4 -4
  83. package/dist/src/tests/deployTestErc20.js.map +1 -1
  84. package/dist/src/utils/env.d.ts +2 -0
  85. package/dist/src/utils/env.d.ts.map +1 -1
  86. package/dist/src/utils/env.js +2 -0
  87. package/dist/src/utils/env.js.map +1 -1
  88. package/dist/src/utils/files.d.ts +12 -4
  89. package/dist/src/utils/files.d.ts.map +1 -1
  90. package/dist/src/utils/files.js +35 -11
  91. package/dist/src/utils/files.js.map +1 -1
  92. package/dist/src/utils/fork.d.ts +37 -0
  93. package/dist/src/utils/fork.d.ts.map +1 -0
  94. package/dist/src/utils/fork.js +91 -0
  95. package/dist/src/utils/fork.js.map +1 -0
  96. package/dist/src/utils/keys.d.ts +16 -2
  97. package/dist/src/utils/keys.d.ts.map +1 -1
  98. package/dist/src/utils/keys.js +67 -6
  99. package/dist/src/utils/keys.js.map +1 -1
  100. package/dist/src/version.d.ts +1 -1
  101. package/dist/src/version.d.ts.map +1 -1
  102. package/dist/src/version.js +1 -1
  103. package/dist/src/version.js.map +1 -1
  104. package/examples/dry-run/anvil-chains.yaml +17 -0
  105. package/examples/dry-run/ism.yaml +8 -0
  106. package/examples/dry-run/warp-route-deployment.yaml +4 -0
  107. package/examples/fork/warp-route-deployment.yaml +17 -9
  108. package/examples/warp-route-deployment.yaml +17 -10
  109. package/package.json +9 -7
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/send/transfer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/send/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAGL,aAAa,EACb,qBAAqB,EAErB,YAAY,EACZ,WAAW,EACX,QAAQ,GAET,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAW,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,GAAG,EACH,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,MAAM,EACN,WAAW,EACX,aAAa,EACb,GAAG,EACH,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,SAAS,GAcV;IACC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,GAC1E,MAAM,UAAU,CAAC;QACf,eAAe;QACf,UAAU,EAAE,EAAE,iBAAiB,EAAE;QACjC,SAAS,EAAE,EAAE,GAAG,EAAE;QAClB,UAAU,EAAE,EAAE,cAAc,EAAE;KAC/B,CAAC,CAAC;IAEL,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,MAAM,2BAA2B,CACxC,YAAY,EACZ,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,MAAM,2BAA2B,CAC7C,YAAY,EACZ,8BAA8B,CAC/B,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,CAAC;QACvB,MAAM;QACN,OAAO,EAAE,CAAC,WAAW,CAAC;QACtB,aAAa;QACb,MAAM;QACN,MAAM,EAAE,qBAAqB;QAC7B,gBAAgB,EAAE,CAAC,MAAM,CAAC;KAC3B,CAAC,CAAC;IAEH,MAAM,OAAO,CACX,eAAe,CAAC;QACd,MAAM;QACN,WAAW;QACX,cAAc;QACd,aAAa;QACb,GAAG;QACH,SAAS;QACT,MAAM;QACN,aAAa;QACb,aAAa;QACb,mBAAmB;QACnB,SAAS;KACV,CAAC,EACF,UAAU,GAAG,IAAI,EACjB,gDAAgD,CACjD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,EAC7B,MAAM,EACN,WAAW,EACX,cAAc,EACd,aAAa,EACb,GAAG,EACH,SAAS,EACT,aAAa,EACb,MAAM,EACN,aAAa,EACb,mBAAmB,EACnB,SAAS,GAaV;IACC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAChD,SAAS,KAAK,aAAa,CAAC;IAE5B,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;IAEtE,MAAM,IAAI,GAAG,aAAa,CAAC,gBAAgB,CACzC,mBAAmB,EACnB,aAAa,CACd,CAAC;IAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAClC,qBAAqB,CAAC,iBAAiB,CAAC,aAAa,CAAC,EACtD,cAAc,CACf,CAAC;IAEF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACvE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,6BAA6B,MAAM,OAAO,WAAW,EAAE,CAAC,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,aAAa,GAAG,CAAC,MAAM,MAAM,CAAC;YAC5B,OAAO,EAAE,uBAAuB;YAChC,OAAO,EAAE;gBACP,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5B,KAAK,EAAE,CAAC,CAAC,cAAc;oBACvB,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,MAAM,GAAG;iBACxC,CAAC,CAAC;aACJ;YACD,QAAQ,EAAE,EAAE;SACb,CAAC,CAAW,CAAC;IAChB,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,CACJ,6BAA6B,MAAM,OAAO,WAAW,wBAAwB,aAAa,EAAE,CAC7F,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC;QAC7C,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;QACpC,WAAW;QACX,SAAS,EAAE,SAAS,IAAI,aAAa;QACrC,MAAM,EAAE,aAAa;KACtB,CAAC,CAAC;IACH,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC;QACtD,iBAAiB,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC;QAC9C,WAAW;QACX,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,SAAS,IAAI,aAAa;KACtC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7B,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;YACzE,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACnE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE5D,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,qBAAqB,MAAM,OAAO,SAAS,OAAO,WAAW,GAAG,CAAC,CAAC;IAC1E,OAAO,CAAC,eAAe,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAErC,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACjC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,IAAI,mBAAmB;QAAE,OAAO;IAEhC,sBAAsB;IACtB,MAAM,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACjE,QAAQ,CAAC,qCAAqC,CAAC,CAAC;AAClD,CAAC"}
@@ -1,8 +1,11 @@
1
1
  import { ChainName } from '@hyperlane-xyz/sdk';
2
- export declare function checkMessageStatus({ chainConfigPath, coreArtifactsPath, messageId, destination, }: {
2
+ export declare function checkMessageStatus({ chainConfigPath, coreArtifactsPath, messageId, destination, origin, selfRelay, key, }: {
3
3
  chainConfigPath: string;
4
4
  coreArtifactsPath?: string;
5
5
  messageId?: string;
6
6
  destination?: ChainName;
7
+ origin?: ChainName;
8
+ selfRelay?: boolean;
9
+ key?: string;
7
10
  }): Promise<void>;
8
11
  //# sourceMappingURL=message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/status/message.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAiB,MAAM,oBAAoB,CAAC;AAM9D,wBAAsB,kBAAkB,CAAC,EACvC,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,WAAW,GACZ,EAAE;IACD,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB,iBAgCA"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/status/message.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAiB,MAAM,oBAAoB,CAAC;AAM9D,wBAAsB,kBAAkB,CAAC,EACvC,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,MAAM,EACN,SAAS,EACT,GAAG,GACJ,EAAE;IACD,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,iBAkDA"}
@@ -3,10 +3,12 @@ import { HyperlaneCore } from '@hyperlane-xyz/sdk';
3
3
  import { getContext, getMergedContractAddresses } from '../context.js';
4
4
  import { log, logBlue, logGreen } from '../logger.js';
5
5
  import { runSingleChainSelectionStep } from '../utils/chains.js';
6
- export async function checkMessageStatus({ chainConfigPath, coreArtifactsPath, messageId, destination, }) {
6
+ export async function checkMessageStatus({ chainConfigPath, coreArtifactsPath, messageId, destination, origin, selfRelay, key, }) {
7
+ const keyConfig = selfRelay ? { key } : undefined;
7
8
  const { multiProvider, customChains, coreArtifacts } = await getContext({
8
9
  chainConfigPath,
9
10
  coreConfig: { coreArtifactsPath },
11
+ keyConfig,
10
12
  });
11
13
  if (!destination) {
12
14
  destination = await runSingleChainSelectionStep(customChains, 'Select the destination chain');
@@ -23,9 +25,18 @@ export async function checkMessageStatus({ chainConfigPath, coreArtifactsPath, m
23
25
  const delivered = await mailbox.delivered(messageId);
24
26
  if (delivered) {
25
27
  logGreen(`Message ${messageId} was delivered`);
28
+ return;
26
29
  }
27
- else {
28
- logBlue(`Message ${messageId} was not yet delivered`);
30
+ logBlue(`Message ${messageId} was not yet delivered`);
31
+ if (selfRelay) {
32
+ // TODO: implement option for tx receipt input
33
+ if (!origin) {
34
+ origin = await runSingleChainSelectionStep(customChains, 'Select the origin chain');
35
+ }
36
+ const receipt = await core.getDispatchTx(origin, messageId);
37
+ const messages = core.getDispatchedMessages(receipt);
38
+ await core.relayMessage(messages[0]);
39
+ logGreen(`Message ${messageId} was self-relayed!`);
29
40
  }
30
41
  }
31
42
  //# 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;AAE9D,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AACvE,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,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,WAAW,GAMZ;IACC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,MAAM,UAAU,CAAC;QACtE,eAAe;QACf,UAAU,EAAE,EAAE,iBAAiB,EAAE;KAClC,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,MAAM,2BAA2B,CAC7C,YAAY,EACZ,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,mBAAmB,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,aAAa,CAAC,gBAAgB,CACzC,mBAAmB,EACnB,aAAa,CACd,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;IACjD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,WAAW,SAAS,wBAAwB,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
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;AAE9D,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AACvE,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,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,MAAM,EACN,SAAS,EACT,GAAG,GASJ;IACC,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAElD,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,MAAM,UAAU,CAAC;QACtE,eAAe;QACf,UAAU,EAAE,EAAE,iBAAiB,EAAE;QACjC,SAAS;KACV,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,MAAM,2BAA2B,CAC7C,YAAY,EACZ,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,mBAAmB,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,aAAa,CAAC,gBAAgB,CACzC,mBAAmB,EACnB,aAAa,CACd,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,YAAY,EACZ,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,CAAC,CAAC;QACrC,QAAQ,CAAC,WAAW,SAAS,oBAAoB,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
@@ -12,12 +12,12 @@ async function deployERC20() {
12
12
  await contract.deployed();
13
13
  console.log('Test ERC20 contract deployed', contract.address);
14
14
  const warpDeploymentConfig = {
15
- base: {
16
- chainName: chain1,
15
+ [chain1]: {
17
16
  type: TokenType.collateral,
18
- address: contract.address,
17
+ token: contract.address,
18
+ isNft: false,
19
19
  },
20
- synthetics: [{ chainName: chain2 }],
20
+ [chain2]: { type: TokenType.synthetic },
21
21
  };
22
22
  console.log('Writing deployment config to', outPath);
23
23
  fs.writeFileSync(outPath, JSON.stringify(warpDeploymentConfig, null, 2));
@@ -1 +1 @@
1
- {"version":3,"file":"deployTestErc20.js","sourceRoot":"","sources":["../../../src/tests/deployTestErc20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C,KAAK,UAAU,WAAW;IACxB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CACnC,MAAM,EACN,MAAM,EACN,uBAAuB,EACvB,EAAE,CACH,CAAC;IACF,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE9D,MAAM,oBAAoB,GAA0B;QAClD,IAAI,EAAE;YACJ,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,SAAS,CAAC,UAAU;YAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B;QACD,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;KACpC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;IACrD,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,WAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"deployTestErc20.js","sourceRoot":"","sources":["../../../src/tests/deployTestErc20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAyB,MAAM,oBAAoB,CAAC;AAEtE,KAAK,UAAU,WAAW;IACxB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CACnC,MAAM,EACN,MAAM,EACN,uBAAuB,EACvB,EAAE,CACH,CAAC;IACF,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE9D,MAAM,oBAAoB,GAA0B;QAClD,CAAC,MAAM,CAAC,EAAE;YACR,IAAI,EAAE,SAAS,CAAC,UAAU;YAC1B,KAAK,EAAE,QAAQ,CAAC,OAAO;YACvB,KAAK,EAAE,KAAK;SACb;QACD,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE;KACxC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;IACrD,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,WAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export declare const ENV: {
2
2
  HYP_KEY?: string | undefined;
3
+ ANVIL_IP_ADDR?: string | undefined;
4
+ ANVIL_PORT?: number | undefined;
3
5
  };
4
6
  //# sourceMappingURL=env.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/utils/env.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,GAAG;;CAA0C,CAAC"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/utils/env.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,GAAG;;;;CAA0C,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import z from 'zod';
2
2
  const envScheme = z.object({
3
3
  HYP_KEY: z.string().optional(),
4
+ ANVIL_IP_ADDR: z.string().optional(),
5
+ ANVIL_PORT: z.number().optional(),
4
6
  });
5
7
  const parsedEnv = envScheme.safeParse(process.env);
6
8
  export const ENV = parsedEnv.success ? parsedEnv.data : {};
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/utils/env.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/utils/env.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC"}
@@ -1,4 +1,8 @@
1
1
  export type FileFormat = 'yaml' | 'json';
2
+ export type ArtifactsFile = {
3
+ filename: string;
4
+ description: string;
5
+ };
2
6
  export declare function isFile(filepath: string): boolean;
3
7
  export declare function readFileAtPath(filepath: string): string;
4
8
  export declare function writeFileAtPath(filepath: string, value: string): void;
@@ -13,9 +17,13 @@ export declare function mergeYaml<T extends Record<string, any>>(filepath: strin
13
17
  export declare function readYamlOrJson<T>(filepath: string, format?: FileFormat): T;
14
18
  export declare function writeYamlOrJson(filepath: string, obj: Record<string, any>, format?: FileFormat): any;
15
19
  export declare function mergeYamlOrJson(filepath: string, obj: Record<string, any>, format?: FileFormat): any;
16
- export declare function prepNewArtifactsFiles(outPath: string, files: Array<{
17
- filename: string;
18
- description: string;
19
- }>): string[];
20
+ export declare function resolveFileFormat(filepath?: string, format?: FileFormat): FileFormat | undefined;
21
+ export declare function prepNewArtifactsFiles(outPath: string, files: Array<ArtifactsFile>): string[];
22
+ /**
23
+ * Retrieves artifacts file metadata for the current command.
24
+ * @param dryRun whether or not the current command is being dry-run
25
+ * @returns the artifacts files
26
+ */
27
+ export declare function getArtifactsFiles(defaultFiles: ArtifactsFile[], dryRun?: string): Array<ArtifactsFile>;
20
28
  export declare function runFileSelectionStep(folderPath: string, description: string, pattern?: string): Promise<string>;
21
29
  //# sourceMappingURL=files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/utils/files.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzC,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,WAQtC;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,UAK9C;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAM9D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAE/C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAMzD;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,QAEnD;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrD,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,CAAC,QAQP;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAE/C;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAM/D;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,QAEnD;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrD,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,CAAC,QAQP;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,CAAC,CAE1E;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,MAAM,CAAC,EAAE,UAAU,OAQpB;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,MAAM,CAAC,EAAE,UAAU,OAQpB;AAqBD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,YAYxD;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,mBA6BjB"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/utils/files.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,WAQtC;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,UAK9C;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAM9D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAE/C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAMzD;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,QAEnD;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrD,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,CAAC,QAQP;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAE/C;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAM/D;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,QAEnD;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrD,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,CAAC,QAQP;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,CAAC,CAE1E;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,MAAM,CAAC,EAAE,UAAU,OAQpB;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,MAAM,CAAC,EAAE,UAAU,OAQpB;AAoBD,wBAAgB,iBAAiB,CAC/B,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,UAAU,GAClB,UAAU,GAAG,SAAS,CAmBxB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,YAY5B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,aAAa,EAAE,EAC7B,MAAM,GAAE,MAAW,GAClB,KAAK,CAAC,aAAa,CAAC,CAMtB;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,mBA6BjB"}
@@ -77,26 +77,38 @@ export function mergeYaml(filepath, obj) {
77
77
  }
78
78
  }
79
79
  export function readYamlOrJson(filepath, format) {
80
- return resolveYamlOrJson(filepath, readJson, readYaml, format);
80
+ return resolveYamlOrJsonFn(filepath, readJson, readYaml, format);
81
81
  }
82
82
  export function writeYamlOrJson(filepath, obj, format) {
83
- return resolveYamlOrJson(filepath, (f) => writeJson(f, obj), (f) => writeYaml(f, obj), format);
83
+ return resolveYamlOrJsonFn(filepath, (f) => writeJson(f, obj), (f) => writeYaml(f, obj), format);
84
84
  }
85
85
  export function mergeYamlOrJson(filepath, obj, format) {
86
- return resolveYamlOrJson(filepath, (f) => mergeJson(f, obj), (f) => mergeYaml(f, obj), format);
86
+ return resolveYamlOrJsonFn(filepath, (f) => mergeJson(f, obj), (f) => mergeYaml(f, obj), format);
87
87
  }
88
- function resolveYamlOrJson(filepath, jsonFn, yamlFn, format) {
89
- if (format === 'json' || filepath.endsWith('.json')) {
88
+ function resolveYamlOrJsonFn(filepath, jsonFn, yamlFn, format) {
89
+ const fileFormat = resolveFileFormat(filepath, format);
90
+ if (!fileFormat) {
91
+ throw new Error(`Invalid file format for ${filepath}`);
92
+ }
93
+ if (fileFormat === 'json') {
90
94
  return jsonFn(filepath);
91
95
  }
92
- else if (format === 'yaml' ||
93
- filepath.endsWith('.yaml') ||
94
- filepath.endsWith('.yml')) {
95
- return yamlFn(filepath);
96
+ return yamlFn(filepath);
97
+ }
98
+ export function resolveFileFormat(filepath, format) {
99
+ // early out if filepath is undefined
100
+ if (!filepath) {
101
+ return format;
96
102
  }
97
- else {
98
- throw new Error(`Invalid file format for ${filepath}`);
103
+ if (format === 'json' || filepath?.endsWith('.json')) {
104
+ return 'json';
105
+ }
106
+ if (format === 'yaml' ||
107
+ filepath?.endsWith('.yaml') ||
108
+ filepath?.endsWith('.yml')) {
109
+ return 'yaml';
99
110
  }
111
+ return undefined;
100
112
  }
101
113
  export function prepNewArtifactsFiles(outPath, files) {
102
114
  const timestamp = getTimestampForFilename();
@@ -110,6 +122,18 @@ export function prepNewArtifactsFiles(outPath, files) {
110
122
  }
111
123
  return newPaths;
112
124
  }
125
+ /**
126
+ * Retrieves artifacts file metadata for the current command.
127
+ * @param dryRun whether or not the current command is being dry-run
128
+ * @returns the artifacts files
129
+ */
130
+ export function getArtifactsFiles(defaultFiles, dryRun = '') {
131
+ if (dryRun)
132
+ defaultFiles.map((defaultFile) => {
133
+ defaultFile.filename = `dry-run_${defaultFile.filename}`;
134
+ });
135
+ return defaultFiles;
136
+ }
113
137
  export async function runFileSelectionStep(folderPath, description, pattern) {
114
138
  const noFilesErrorMessage = `No "${description}" found in ${folderPath}. Please confirm the path for "${description}". By default, the CLI writes to folders relative to where its run.`;
115
139
  if (!fs.existsSync(folderPath))
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/utils/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/utils/files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { providers } from 'ethers';
2
+ import { ChainName, MultiProvider } from '@hyperlane-xyz/sdk';
3
+ import { Address } from '@hyperlane-xyz/utils';
4
+ export declare enum ANVIL_RPC_METHODS {
5
+ RESET = "anvil_reset",
6
+ IMPERSONATE_ACCOUNT = "anvil_impersonateAccount",
7
+ STOP_IMPERSONATING_ACCOUNT = "anvil_stopImpersonatingAccount",
8
+ NODE_INFO = "anvil_nodeInfo"
9
+ }
10
+ /**
11
+ * Resets the local node to it's original start (anvil [31337] at block zero).
12
+ */
13
+ export declare const resetFork: () => Promise<void>;
14
+ /**
15
+ * Forks a chain onto the local node at the latest block of the forked network.
16
+ * @param multiProvider the multiProvider with which to fork the network
17
+ * @param chain the network to fork
18
+ */
19
+ export declare const setFork: (multiProvider: MultiProvider, chain: ChainName | number) => Promise<void>;
20
+ /**
21
+ * Impersonates an EOA for a provided address.
22
+ * @param address the address to impersonate
23
+ * @returns the impersonated signer
24
+ */
25
+ export declare const impersonateAccount: (address: Address) => Promise<providers.JsonRpcSigner>;
26
+ /**
27
+ * Stops account impersonation.
28
+ * @param address the address to stop impersonating
29
+ */
30
+ export declare const stopImpersonatingAccount: (address: Address) => Promise<void>;
31
+ /**
32
+ * Retrieves a local provider. Defaults to DEFAULT_ANVIL_ENDPOINT.
33
+ * @param urlOverride custom URL to overried the default endpoint
34
+ * @returns a local JSON-RPC provider
35
+ */
36
+ export declare const getLocalProvider: (urlOverride?: string) => providers.JsonRpcProvider;
37
+ //# sourceMappingURL=fork.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../../src/utils/fork.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAqB,MAAM,sBAAsB,CAAC;AAUlE,oBAAY,iBAAiB;IAC3B,KAAK,gBAAgB;IACrB,mBAAmB,6BAA6B;IAChD,0BAA0B,mCAAmC;IAC7D,SAAS,mBAAmB;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,qBAarB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,kBACH,aAAa,SACrB,SAAS,GAAG,MAAM,kBAkB1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,YACpB,OAAO,KACf,QAAQ,UAAU,aAAa,CASjC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,YAAmB,OAAO,kBAgB9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,iBACb,MAAM,KACnB,UAAU,eAiBZ,CAAC"}
@@ -0,0 +1,91 @@
1
+ import { providers } from 'ethers';
2
+ import { isValidAddressEvm } from '@hyperlane-xyz/utils';
3
+ import { logGray, logGreen } from '../logger.js';
4
+ import { warnYellow } from '../logger.js';
5
+ import { ENV } from './env.js';
6
+ const ENDPOINT_PREFIX = 'http';
7
+ const DEFAULT_ANVIL_ENDPOINT = 'http://127.0.0.1:8545';
8
+ export var ANVIL_RPC_METHODS;
9
+ (function (ANVIL_RPC_METHODS) {
10
+ ANVIL_RPC_METHODS["RESET"] = "anvil_reset";
11
+ ANVIL_RPC_METHODS["IMPERSONATE_ACCOUNT"] = "anvil_impersonateAccount";
12
+ ANVIL_RPC_METHODS["STOP_IMPERSONATING_ACCOUNT"] = "anvil_stopImpersonatingAccount";
13
+ ANVIL_RPC_METHODS["NODE_INFO"] = "anvil_nodeInfo";
14
+ })(ANVIL_RPC_METHODS || (ANVIL_RPC_METHODS = {}));
15
+ /**
16
+ * Resets the local node to it's original start (anvil [31337] at block zero).
17
+ */
18
+ export const resetFork = async () => {
19
+ logGray(`Resetting forked network...`);
20
+ const provider = getLocalProvider();
21
+ await provider.send(ANVIL_RPC_METHODS.RESET, [
22
+ {
23
+ forking: {
24
+ jsonRpcUrl: DEFAULT_ANVIL_ENDPOINT,
25
+ },
26
+ },
27
+ ]);
28
+ logGreen(`Successfully reset forked network ✅`);
29
+ };
30
+ /**
31
+ * Forks a chain onto the local node at the latest block of the forked network.
32
+ * @param multiProvider the multiProvider with which to fork the network
33
+ * @param chain the network to fork
34
+ */
35
+ export const setFork = async (multiProvider, chain) => {
36
+ logGray(`Forking ${chain} for dry-run...`);
37
+ const provider = getLocalProvider();
38
+ const currentChainMetadata = multiProvider.metadata[chain];
39
+ await provider.send(ANVIL_RPC_METHODS.RESET, [
40
+ {
41
+ forking: {
42
+ jsonRpcUrl: currentChainMetadata.rpcUrls[0].http,
43
+ },
44
+ },
45
+ ]);
46
+ multiProvider.setProvider(chain, provider);
47
+ logGreen(`Successfully forked ${chain} for dry-run ✅`);
48
+ };
49
+ /**
50
+ * Impersonates an EOA for a provided address.
51
+ * @param address the address to impersonate
52
+ * @returns the impersonated signer
53
+ */
54
+ export const impersonateAccount = async (address) => {
55
+ logGray(`Impersonating account (${address})...`);
56
+ const provider = getLocalProvider();
57
+ await provider.send(ANVIL_RPC_METHODS.IMPERSONATE_ACCOUNT, [address]);
58
+ logGreen(`Successfully impersonated account (${address}) ✅`);
59
+ return provider.getSigner(address);
60
+ };
61
+ /**
62
+ * Stops account impersonation.
63
+ * @param address the address to stop impersonating
64
+ */
65
+ export const stopImpersonatingAccount = async (address) => {
66
+ logGray(`Stopping account impersonation for address (${address})...`);
67
+ if (isValidAddressEvm(address))
68
+ throw new Error(`Cannot stop account impersonation: invalid address format: ${address}`);
69
+ const provider = getLocalProvider();
70
+ await provider.send(ANVIL_RPC_METHODS.STOP_IMPERSONATING_ACCOUNT, [
71
+ address.substring(2),
72
+ ]);
73
+ logGreen(`Successfully stopped account impersonation for address (${address}) ✅`);
74
+ };
75
+ /**
76
+ * Retrieves a local provider. Defaults to DEFAULT_ANVIL_ENDPOINT.
77
+ * @param urlOverride custom URL to overried the default endpoint
78
+ * @returns a local JSON-RPC provider
79
+ */
80
+ export const getLocalProvider = (urlOverride) => {
81
+ let envUrl;
82
+ if (ENV.ANVIL_IP_ADDR && ENV.ANVIL_PORT)
83
+ envUrl = `${ENDPOINT_PREFIX}${ENV.ANVIL_IP_ADDR}:${ENV.ANVIL_PORT}`;
84
+ if (urlOverride && !urlOverride.startsWith(ENDPOINT_PREFIX)) {
85
+ warnYellow(`⚠️ Provided URL override (${urlOverride}) does not begin with ${ENDPOINT_PREFIX}. Defaulting to ${envUrl ?? DEFAULT_ANVIL_ENDPOINT}`);
86
+ urlOverride = undefined;
87
+ }
88
+ const url = urlOverride ?? envUrl ?? DEFAULT_ANVIL_ENDPOINT;
89
+ return new providers.JsonRpcProvider(url);
90
+ };
91
+ //# sourceMappingURL=fork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fork.js","sourceRoot":"","sources":["../../../src/utils/fork.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,18 @@
1
- import { ethers } from 'ethers';
2
- export declare function keyToSigner(key: string): ethers.Wallet;
1
+ import { ethers, providers } from 'ethers';
2
+ import { ContextSettings } from '../context.js';
3
+ /**
4
+ * Retrieves a signer for the current command-context.
5
+ * @returns the signer
6
+ */
7
+ export declare function getSigner<P extends ContextSettings>({ keyConfig, skipConfirmation, }: P): Promise<providers.JsonRpcSigner | ethers.Wallet | undefined>;
8
+ /**
9
+ * Retrieves an impersonated signer for the current command-context.
10
+ * @returns the impersonated signer
11
+ */
12
+ export declare function getImpersonatedSigner<P extends ContextSettings>({ keyConfig, skipConfirmation, }: P): Promise<providers.JsonRpcSigner | ethers.Wallet | undefined>;
13
+ /**
14
+ * Verifies the specified signer is valid.
15
+ * @param signer the signer to verify
16
+ */
3
17
  export declare function assertSigner(signer: ethers.Signer): void;
4
18
  //# sourceMappingURL=keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/utils/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,iBAQtC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,QAGjD"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/utils/keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAK3C,OAAO,EAAE,eAAe,EAAa,MAAM,eAAe,CAAC;AAM3D;;;GAGG;AACH,wBAAsB,SAAS,CAAC,CAAC,SAAS,eAAe,EAAE,EACzD,SAAS,EACT,gBAAgB,GACjB,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAMlE;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,SAAS,eAAe,EAAE,EACrE,SAAS,EACT,gBAAgB,GACjB,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAUlE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,QAGjD"}
@@ -1,18 +1,79 @@
1
+ import { input } from '@inquirer/prompts';
1
2
  import { ethers } from 'ethers';
3
+ import { impersonateAccount } from '@hyperlane-xyz/sdk';
2
4
  import { ensure0x } from '@hyperlane-xyz/utils';
3
- export function keyToSigner(key) {
5
+ const ETHEREUM_ADDRESS_LENGTH = 42;
6
+ const DEFAULT_KEY_TYPE = 'private key';
7
+ const IMPERSONATED_KEY_TYPE = 'address';
8
+ /**
9
+ * Retrieves a signer for the current command-context.
10
+ * @returns the signer
11
+ */
12
+ export async function getSigner({ keyConfig, skipConfirmation, }) {
13
+ if (!keyConfig)
14
+ return undefined;
15
+ const key = await retrieveKey(DEFAULT_KEY_TYPE, keyConfig, skipConfirmation);
16
+ return privateKeyToSigner(key);
17
+ }
18
+ /**
19
+ * Retrieves an impersonated signer for the current command-context.
20
+ * @returns the impersonated signer
21
+ */
22
+ export async function getImpersonatedSigner({ keyConfig, skipConfirmation, }) {
23
+ if (!keyConfig)
24
+ return undefined;
25
+ const key = await retrieveKey(IMPERSONATED_KEY_TYPE, keyConfig, skipConfirmation);
26
+ return await addressToImpersonatedSigner(key);
27
+ }
28
+ /**
29
+ * Verifies the specified signer is valid.
30
+ * @param signer the signer to verify
31
+ */
32
+ export function assertSigner(signer) {
33
+ if (!signer || !ethers.Signer.isSigner(signer))
34
+ throw new Error('Signer is invalid');
35
+ }
36
+ /**
37
+ * Generates a signer from an address.
38
+ * @param address an EOA address
39
+ * @returns a signer for the address
40
+ */
41
+ async function addressToImpersonatedSigner(address) {
42
+ if (!address)
43
+ throw new Error('No address provided');
44
+ const formattedKey = address.trim().toLowerCase();
45
+ if (address.length != ETHEREUM_ADDRESS_LENGTH)
46
+ throw new Error('Invalid address length. Please ensure you are passing an address and not a private key.');
47
+ else if (ethers.utils.isHexString(ensure0x(formattedKey)))
48
+ return await impersonateAccount(address);
49
+ else
50
+ throw new Error('Invalid address format');
51
+ }
52
+ /**
53
+ * Generates a signer from a private key.
54
+ * @param key a private key
55
+ * @returns a signer for the private key
56
+ */
57
+ function privateKeyToSigner(key) {
4
58
  if (!key)
5
- throw new Error('No key provided');
59
+ throw new Error('No private key provided');
6
60
  const formattedKey = key.trim().toLowerCase();
7
61
  if (ethers.utils.isHexString(ensure0x(formattedKey)))
8
62
  return new ethers.Wallet(ensure0x(formattedKey));
9
63
  else if (formattedKey.split(' ').length >= 6)
10
64
  return ethers.Wallet.fromMnemonic(formattedKey);
11
65
  else
12
- throw new Error('Invalid key format');
66
+ throw new Error('Invalid private key format');
13
67
  }
14
- export function assertSigner(signer) {
15
- if (!signer || !ethers.Signer.isSigner(signer))
16
- throw new Error('Signer is invalid');
68
+ async function retrieveKey(keyType, keyConfig, skipConfirmation) {
69
+ if (keyConfig.key)
70
+ return keyConfig.key;
71
+ else if (skipConfirmation)
72
+ throw new Error(`No ${keyType} provided`);
73
+ else
74
+ return await input({
75
+ message: keyConfig.promptMessage ||
76
+ `Please enter ${keyType} or use the HYP_KEY environment variable.`,
77
+ });
17
78
  }
18
79
  //# sourceMappingURL=keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/utils/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;SAC9C,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;;QAC7C,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAqB;IAChD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/utils/keys.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "3.10.0";
1
+ export declare const VERSION = "3.10.1-beta0";
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,WAAW,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,iBAAiB,CAAC"}
@@ -1,2 +1,2 @@
1
- export const VERSION = '3.10.0';
1
+ export const VERSION = '3.10.1-beta0';
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,QAAQ,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAC"}
@@ -0,0 +1,17 @@
1
+ anvil:
2
+ chainId: 31337
3
+ domainId: 31337
4
+ name: anvil
5
+ protocol: ethereum
6
+ rpcUrls:
7
+ - http: http://127.0.0.1:8545
8
+ nativeToken:
9
+ name: Ether
10
+ symbol: ETH
11
+ decimals: 18
12
+ alfajores:
13
+ rpcUrls:
14
+ - http: https://alfajores-forno.celo-testnet.org
15
+ blocks:
16
+ confirmations: 1
17
+ estimateBlockTime: 1
@@ -0,0 +1,8 @@
1
+ anvil:
2
+ threshold: 1
3
+ validators:
4
+ - '0xa0ee7a142d267c1f36714e4a8f75612f20a79720'
5
+ alfajores:
6
+ threshold: 1
7
+ validators:
8
+ - '0xa0ee7a142d267c1f36714e4a8f75612f20a79720'
@@ -0,0 +1,4 @@
1
+ alfajores:
2
+ type: native
3
+ fuji:
4
+ type: synthetic