@0xsequence/catapult 1.2.1 → 1.3.2

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 (67) hide show
  1. package/README.md +42 -14
  2. package/dist/commands/dry.d.ts.map +1 -1
  3. package/dist/commands/dry.js +3 -2
  4. package/dist/commands/dry.js.map +1 -1
  5. package/dist/commands/etherscan.d.ts.map +1 -1
  6. package/dist/commands/etherscan.js +24 -36
  7. package/dist/commands/etherscan.js.map +1 -1
  8. package/dist/commands/run.d.ts.map +1 -1
  9. package/dist/commands/run.js +4 -2
  10. package/dist/commands/run.js.map +1 -1
  11. package/dist/commands/utils.d.ts.map +1 -1
  12. package/dist/commands/utils.js +191 -0
  13. package/dist/commands/utils.js.map +1 -1
  14. package/dist/lib/__tests__/deployer.spec.js +1 -1
  15. package/dist/lib/__tests__/deployer.spec.js.map +1 -1
  16. package/dist/lib/__tests__/network-loader.spec.js +3 -2
  17. package/dist/lib/__tests__/network-loader.spec.js.map +1 -1
  18. package/dist/lib/__tests__/network-selection.spec.d.ts +2 -0
  19. package/dist/lib/__tests__/network-selection.spec.d.ts.map +1 -0
  20. package/dist/lib/__tests__/network-selection.spec.js +34 -0
  21. package/dist/lib/__tests__/network-selection.spec.js.map +1 -0
  22. package/dist/lib/core/__tests__/engine.spec.js +26 -2
  23. package/dist/lib/core/__tests__/engine.spec.js.map +1 -1
  24. package/dist/lib/core/__tests__/json-integration.spec.js +1 -1
  25. package/dist/lib/core/__tests__/json-integration.spec.js.map +1 -1
  26. package/dist/lib/core/__tests__/multi-platform-verification.spec.js +1 -1
  27. package/dist/lib/core/__tests__/multi-platform-verification.spec.js.map +1 -1
  28. package/dist/lib/core/__tests__/static-action.spec.js +1 -1
  29. package/dist/lib/core/__tests__/static-action.spec.js.map +1 -1
  30. package/dist/lib/core/engine.d.ts +9 -1
  31. package/dist/lib/core/engine.d.ts.map +1 -1
  32. package/dist/lib/core/engine.js +17 -4
  33. package/dist/lib/core/engine.js.map +1 -1
  34. package/dist/lib/deployer.d.ts.map +1 -1
  35. package/dist/lib/deployer.js +56 -2
  36. package/dist/lib/deployer.js.map +1 -1
  37. package/dist/lib/events/cli-adapter.d.ts.map +1 -1
  38. package/dist/lib/events/cli-adapter.js +16 -3
  39. package/dist/lib/events/cli-adapter.js.map +1 -1
  40. package/dist/lib/events/types.d.ts +18 -1
  41. package/dist/lib/events/types.d.ts.map +1 -1
  42. package/dist/lib/network-loader.d.ts.map +1 -1
  43. package/dist/lib/network-loader.js +1 -1
  44. package/dist/lib/network-loader.js.map +1 -1
  45. package/dist/lib/network-selection.d.ts +4 -0
  46. package/dist/lib/network-selection.d.ts.map +1 -0
  47. package/dist/lib/network-selection.js +49 -0
  48. package/dist/lib/network-selection.js.map +1 -0
  49. package/package.json +1 -1
  50. package/src/commands/dry.ts +4 -3
  51. package/src/commands/etherscan.ts +42 -42
  52. package/src/commands/run.ts +5 -3
  53. package/src/commands/utils.ts +163 -0
  54. package/src/lib/__tests__/deployer.spec.ts +1 -3
  55. package/src/lib/__tests__/network-loader.spec.ts +3 -2
  56. package/src/lib/__tests__/network-selection.spec.ts +41 -0
  57. package/src/lib/core/__tests__/engine.spec.ts +33 -2
  58. package/src/lib/core/__tests__/json-integration.spec.ts +1 -1
  59. package/src/lib/core/__tests__/multi-platform-verification.spec.ts +1 -1
  60. package/src/lib/core/__tests__/static-action.spec.ts +1 -1
  61. package/src/lib/core/engine.ts +26 -4
  62. package/src/lib/deployer.ts +68 -3
  63. package/src/lib/events/cli-adapter.ts +21 -5
  64. package/src/lib/events/types.ts +23 -0
  65. package/src/lib/network-loader.ts +2 -1
  66. package/src/lib/network-selection.ts +73 -0
  67. package/CONCEPT.md +0 -24
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Catapult
2
2
 
3
+ [![CI](https://github.com/0xsequence/catapult/actions/workflows/ci.yml/badge.svg)](https://github.com/0xsequence/catapult/actions/workflows/ci.yml)
4
+
3
5
  **Catapult** is a powerful Ethereum contract deployment and management framework designed to simplify the orchestration of complex contract deployments across multiple blockchain networks. Built with TypeScript and Node.js, it provides a declarative YAML-based approach to defining deployment jobs, templates, and dependencies.
4
6
 
5
7
  ## Overview
@@ -21,6 +23,33 @@ Catapult addresses the challenge of managing complex contract deployment scenari
21
23
 
22
24
  ## Installation
23
25
 
26
+ ### From npm (recommended)
27
+
28
+ Available on npm as `@0xsequence/catapult`.
29
+
30
+ Global install (provides the `catapult` CLI on your PATH):
31
+
32
+ ```bash
33
+ npm install -g @0xsequence/catapult
34
+ # or
35
+ yarn global add @0xsequence/catapult
36
+ # or
37
+ pnpm add -g @0xsequence/catapult
38
+ ```
39
+
40
+ Project-local install (use via npx or package.json scripts):
41
+
42
+ ```bash
43
+ npm install -D @0xsequence/catapult
44
+ # or
45
+ yarn add -D @0xsequence/catapult
46
+ # or
47
+ pnpm add -D @0xsequence/catapult
48
+
49
+ # then run
50
+ npx catapult --help
51
+ ```
52
+
24
53
  ### From Source
25
54
 
26
55
  ```bash
@@ -31,10 +60,10 @@ npm run build
31
60
  npm link
32
61
  ```
33
62
 
34
- ### Global Installation (when published)
63
+ ### Global Installation (from npm)
35
64
 
36
65
  ```bash
37
- npm install -g catapult
66
+ npm install -g @0xsequence/catapult
38
67
  ```
39
68
 
40
69
  ## Project Structure
@@ -152,7 +181,7 @@ https://node.url/something/my-secret-token
152
181
  ```
153
182
 
154
183
  Notes:
155
- - If an `{{RPC_*}}` placeholder is present and the corresponding environment variable is not set, loading will fail with a clear error.
184
+ - If an `{{RPC_*}}` placeholder is present and the corresponding environment variable is not set, it now defaults to an empty string. This allows templates like `https://node.url/{{RPC_TOKEN}}` to collapse gracefully to `https://node.url/` without failing the load.
156
185
  - Multiple RPC tokens in one URL are supported, and whitespace inside the token delimiters is ignored (e.g., `{{ RPC_TOKEN }}`).
157
186
 
158
187
  ### Job Definitions
@@ -348,14 +377,17 @@ catapult run job1 job? -k $PRIVATE_KEY
348
377
  Deploy to specific networks:
349
378
 
350
379
  ```bash
351
- catapult run --network 1 42161 --private-key YOUR_PRIVATE_KEY
380
+ # Comma-separated, supports chain IDs and network names (name matches include all networks with that name)
381
+ catapult run --network 1,42161 --private-key YOUR_PRIVATE_KEY
382
+ catapult run --network mainnet --private-key YOUR_PRIVATE_KEY # all networks named "Mainnet"
383
+ catapult run --network mainnet,polygon -k $PRIVATE_KEY core-contracts
352
384
  ```
353
385
 
354
386
  Common options (run):
355
387
 
356
388
  - `-p, --project <path>`: Project root directory (defaults to current directory)
357
389
  - `--dotenv <path>`: Load environment variables from a custom .env file (run command only)
358
- - `-n, --network <chainIds...>`: One or more chain IDs to target
390
+ - `-n, --network <selectors>`: Comma-separated selectors by chain ID or network name
359
391
  - `--rpc-url <url>`: Run against a single custom RPC; chain ID is auto-detected (no networks.yaml required)
360
392
  - `-k, --private-key <key>`: EOA private key (or set `PRIVATE_KEY`)
361
393
  - `--etherscan-api-key <key>`: Etherscan API key (or set `ETHERSCAN_API_KEY`)
@@ -403,6 +435,8 @@ Validate specific jobs:
403
435
 
404
436
  ```bash
405
437
  catapult dry-run core-contracts --network 1
438
+ catapult dry-run core-contracts --network polygon
439
+ catapult dry-run core-contracts --network mainnet,42161
406
440
  ```
407
441
 
408
442
  ### Listing Resources
@@ -471,9 +505,11 @@ Etherscan helpers:
471
505
  ```bash
472
506
  # Fetch ABI from Etherscan v2
473
507
  catapult etherscan abi -n 1 -a 0xdAC17F958D2ee523a2206206994597C13D831ec7 --etherscan-api-key $ETHERSCAN_API_KEY
508
+ catapult etherscan abi -n mainnet -a 0xdAC17F... --etherscan-api-key $ETHERSCAN_API_KEY
474
509
 
475
510
  # Fetch source (standard-json or flattened) from Etherscan v2
476
511
  catapult etherscan source -n 1 -a 0xdAC17F958D2ee523a2206206994597C13D831ec7 --etherscan-api-key $ETHERSCAN_API_KEY
512
+ catapult etherscan source -n mainnet -a 0xdAC17F... --etherscan-api-key $ETHERSCAN_API_KEY
477
513
  ```
478
514
 
479
515
  ## Built-in Actions
@@ -809,14 +845,6 @@ npm run watch
809
845
  ```
810
846
 
811
847
  ### Scripts
812
- <<<<<<< Current (Your changes)
813
848
  - `npm run build` - Compile TypeScript to JavaScript
814
849
  - `npm run dev` - Run the CLI in development mode with ts-node
815
- - `npm run watch`
816
-
817
- ---
818
-
819
- _Co-authored with Sonet-4, GLM-4.5-Air, and GPT-5. This project was vibe-coded._
820
- =======
821
- - `npm run build`
822
- >>>>>>> Incoming (Background Agent changes)
850
+ - `npm run watch` - Watch for changes
@@ -1 +1 @@
1
- {"version":3,"file":"dry.d.ts","sourceRoot":"","sources":["../../src/commands/dry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA+CnC,wBAAgB,iBAAiB,IAAI,OAAO,CAgK3C"}
1
+ {"version":3,"file":"dry.d.ts","sourceRoot":"","sources":["../../src/commands/dry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAgDnC,wBAAgB,iBAAiB,IAAI,OAAO,CAgK3C"}
@@ -12,6 +12,7 @@ const graph_1 = require("../lib/core/graph");
12
12
  const common_2 = require("./common");
13
13
  const contract_references_1 = require("../lib/validation/contract-references");
14
14
  const index_1 = require("../index");
15
+ const network_selection_1 = require("../lib/network-selection");
15
16
  function extractConstantRefs(value, refs, templateCtx) {
16
17
  if (typeof value === 'string') {
17
18
  const m = value.match(/^{{(.*)}}$/);
@@ -38,7 +39,7 @@ function makeDryRunCommand() {
38
39
  const dryRun = new commander_1.Command('dry-run')
39
40
  .description('Validate project configuration and show execution plan without running transactions')
40
41
  .argument('[jobs...]', 'Specific job names to validate (and their dependencies).')
41
- .option('-n, --network <chainIds...>', 'One or more network chain IDs to simulate running on.');
42
+ .option('-n, --network <selectors>', 'Comma-separated network selectors (by chain ID or name).');
42
43
  (0, common_2.projectOption)(dryRun);
43
44
  (0, common_2.noStdOption)(dryRun);
44
45
  (0, common_2.verbosityOption)(dryRun);
@@ -137,7 +138,7 @@ function makeDryRunCommand() {
137
138
  }
138
139
  console.log(chalk_1.default.green(' - All constant references are valid.'));
139
140
  const runJobs = jobs.length > 0 ? jobs : undefined;
140
- const runOnNetworks = options.network?.map(Number);
141
+ const runOnNetworks = (0, network_selection_1.resolveSelectedChainIds)(options.network, allNetworks);
141
142
  const jobsToRun = new Set();
142
143
  if (runJobs) {
143
144
  for (const jobName of runJobs) {
@@ -1 +1 @@
1
- {"version":3,"file":"dry.js","sourceRoot":"","sources":["../../src/commands/dry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dry.js","sourceRoot":"","sources":["../../src/commands/dry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"etherscan.d.ts","sourceRoot":"","sources":["../../src/commands/etherscan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAgHnC,wBAAgB,oBAAoB,IAAI,OAAO,CAuP9C"}
1
+ {"version":3,"file":"etherscan.d.ts","sourceRoot":"","sources":["../../src/commands/etherscan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAiHnC,wBAAgB,oBAAoB,IAAI,OAAO,CAsP9C"}
@@ -40,6 +40,7 @@ exports.makeEtherscanCommand = makeEtherscanCommand;
40
40
  const commander_1 = require("commander");
41
41
  const chalk_1 = __importDefault(require("chalk"));
42
42
  const network_loader_1 = require("../lib/network-loader");
43
+ const network_selection_1 = require("../lib/network-selection");
43
44
  const common_1 = require("./common");
44
45
  const index_1 = require("../index");
45
46
  const solc = __importStar(require("solc"));
@@ -109,7 +110,7 @@ function makeEtherscanCommand() {
109
110
  (0, common_1.verbosityOption)(cmd);
110
111
  cmd
111
112
  .option('--etherscan-api-key <key>', 'Etherscan API key. Can also be set via ETHERSCAN_API_KEY env var.')
112
- .option('-n, --network <chainId>', 'Target network chain ID (required to select proper Etherscan endpoint)')
113
+ .option('-n, --network <selector>', 'Target network (chain ID or name). When a name matches multiple networks, the first match is used.')
113
114
  .option('-a, --address <address>', 'Contract address to query', '')
114
115
  .option('--raw', 'Print raw response (no pretty JSON). Useful for piping.', false);
115
116
  return cmd;
@@ -130,23 +131,16 @@ function makeEtherscanCommand() {
130
131
  process.exit(1);
131
132
  }
132
133
  let chainId;
134
+ const networks = await (0, network_loader_1.loadNetworks)(options.project);
133
135
  if (options.network) {
134
- const parsed = Number(options.network);
135
- if (Number.isNaN(parsed)) {
136
- console.error(chalk_1.default.red('Invalid --network value. Must be a chain ID number.'));
137
- process.exit(1);
138
- }
139
- chainId = parsed;
136
+ chainId = (0, network_selection_1.resolveSingleChainId)(options.network, networks);
140
137
  }
141
- else {
142
- const networks = await (0, network_loader_1.loadNetworks)(options.project);
143
- if (networks.length === 1) {
144
- chainId = networks[0].chainId;
145
- }
146
- else {
147
- console.error(chalk_1.default.red('Please provide --network <chainId> (multiple or zero networks configured).'));
148
- process.exit(1);
149
- }
138
+ else if (networks.length === 1) {
139
+ chainId = networks[0].chainId;
140
+ }
141
+ if (!chainId) {
142
+ console.error(chalk_1.default.red('Please provide --network <selector>. When multiple networks are configured, selection is required.'));
143
+ process.exit(1);
150
144
  }
151
145
  const result = await fetchFromEtherscan(chainId, apiKey, options.address, 'getabi');
152
146
  if (options.raw) {
@@ -177,23 +171,16 @@ function makeEtherscanCommand() {
177
171
  process.exit(1);
178
172
  }
179
173
  let chainId;
174
+ const networks2 = await (0, network_loader_1.loadNetworks)(options.project);
180
175
  if (options.network) {
181
- const parsed = Number(options.network);
182
- if (Number.isNaN(parsed)) {
183
- console.error(chalk_1.default.red('Invalid --network value. Must be a chain ID number.'));
184
- process.exit(1);
185
- }
186
- chainId = parsed;
176
+ chainId = (0, network_selection_1.resolveSingleChainId)(options.network, networks2);
187
177
  }
188
- else {
189
- const networks = await (0, network_loader_1.loadNetworks)(options.project);
190
- if (networks.length === 1) {
191
- chainId = networks[0].chainId;
192
- }
193
- else {
194
- console.error(chalk_1.default.red('Please provide --network <chainId> (multiple or zero networks configured).'));
195
- process.exit(1);
196
- }
178
+ else if (networks2.length === 1) {
179
+ chainId = networks2[0].chainId;
180
+ }
181
+ if (!chainId) {
182
+ console.error(chalk_1.default.red('Please provide --network <selector>. When multiple networks are configured, selection is required.'));
183
+ process.exit(1);
197
184
  }
198
185
  const result = await fetchFromEtherscan(chainId, apiKey, options.address, 'getsourcecode');
199
186
  const raw = result.rawResult;
@@ -202,15 +189,15 @@ function makeEtherscanCommand() {
202
189
  const optimizationUsed = raw?.OptimizationUsed || '';
203
190
  const runsStr = raw?.Runs || '';
204
191
  const evmVersionRaw = raw?.EVMVersion || '';
205
- const isStandardJson = parsed && typeof parsed === 'object' && parsed.language && parsed.sources;
192
+ const isStandardJson = !!(parsed && typeof parsed === 'object' && 'language' in parsed && 'sources' in parsed);
206
193
  let input;
207
194
  if (isStandardJson) {
208
- input = { ...parsed };
209
- const currentSel = input.settings?.outputSelection || {};
195
+ input = parsed;
196
+ const currentSel = (input.settings?.outputSelection ?? {});
210
197
  const mergedSel = {
211
198
  '*': {
212
199
  '*': Array.from(new Set([
213
- ...(currentSel?.['*']?.['*'] || []),
200
+ ...((currentSel?.['*']?.['*']) || []),
214
201
  'abi',
215
202
  'evm.bytecode',
216
203
  'evm.deployedBytecode',
@@ -281,7 +268,8 @@ function makeEtherscanCommand() {
281
268
  const output = JSON.parse(outputRaw);
282
269
  const id = (0, crypto_1.createHash)('sha1').update(solcInput).digest('hex');
283
270
  const solcLongVersion = output?.compiler?.version || (compilerVersion ? compilerVersion.replace(/^v/, '') : undefined);
284
- const solcVersion = (solcLongVersion || '').split('+')[0] || (typeof solc.version === 'function' ? solc.version() : 'unknown');
271
+ const solcMaybe = solc;
272
+ const solcVersion = (solcLongVersion || '').split('+')[0] || (typeof solcMaybe.version === 'function' ? solcMaybe.version() : 'unknown');
285
273
  const basePath = process.cwd();
286
274
  const includePaths = [basePath];
287
275
  const allowPaths = includePaths;
@@ -1 +1 @@
1
- {"version":3,"file":"etherscan.js","sourceRoot":"","sources":["../../src/commands/etherscan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"etherscan.js","sourceRoot":"","sources":["../../src/commands/etherscan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAwBnC,wBAAgB,cAAc,IAAI,OAAO,CA+GxC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAyBnC,wBAAgB,cAAc,IAAI,OAAO,CAgHxC"}
@@ -7,13 +7,14 @@ const network_loader_1 = require("../lib/network-loader");
7
7
  const network_utils_1 = require("../lib/network-utils");
8
8
  const events_1 = require("../lib/events");
9
9
  const common_1 = require("./common");
10
+ const network_selection_1 = require("../lib/network-selection");
10
11
  const index_1 = require("../index");
11
12
  function makeRunCommand() {
12
13
  const run = new commander_1.Command('run')
13
14
  .description('Run deployment jobs on specified networks')
14
15
  .argument('[jobs...]', 'Specific job names or patterns to run (and their dependencies). Supports wildcards like "sequence/*" or "job?". If not provided, all jobs are run.')
15
16
  .option('-k, --private-key <key>', 'Signer private key. Can also be set via PRIVATE_KEY env var.')
16
- .option('-n, --network <chainIds...>', 'One or more network chain IDs to run on. If not provided, runs on all configured networks.')
17
+ .option('-n, --network <selectors>', 'Comma-separated network selectors (by chain ID or name). If not provided, runs on all configured networks.')
17
18
  .option('--rpc-url <url>', 'Custom RPC URL to run on. The system will automatically detect chainId and network information. This overrides networks.yaml configuration.')
18
19
  .option('--etherscan-api-key <key>', 'Etherscan API key for contract verification. Can also be set via ETHERSCAN_API_KEY env var.')
19
20
  .option('--fail-early', 'Stop execution as soon as any job fails. Default: false', false)
@@ -59,12 +60,13 @@ function makeRunCommand() {
59
60
  if (networks.length === 0 && !options.rpcUrl) {
60
61
  throw new Error('No networks configured. Please create a networks.yaml file in your project root or use --rpc-url to specify a custom network.');
61
62
  }
63
+ const selectedChainIds = (0, network_selection_1.resolveSelectedChainIds)(options.network, networks);
62
64
  const deployerOptions = {
63
65
  projectRoot,
64
66
  privateKey,
65
67
  networks,
66
68
  runJobs: jobs.length > 0 ? jobs : undefined,
67
- runOnNetworks: options.network?.map(Number),
69
+ runOnNetworks: selectedChainIds,
68
70
  etherscanApiKey,
69
71
  failEarly: options.failEarly,
70
72
  noPostCheckConditions: options.noPostCheckConditions,
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/commands/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWnC,wBAAgB,gBAAgB,IAAI,OAAO,CAwC1C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/commands/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAanC,wBAAgB,gBAAgB,IAAI,OAAO,CAyM1C"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -6,6 +39,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
39
  exports.makeUtilsCommand = makeUtilsCommand;
7
40
  const commander_1 = require("commander");
8
41
  const chalk_1 = __importDefault(require("chalk"));
42
+ const fs = __importStar(require("fs"));
43
+ const path = __importStar(require("path"));
9
44
  const common_1 = require("./common");
10
45
  const network_loader_1 = require("../lib/network-loader");
11
46
  const index_1 = require("../index");
@@ -41,6 +76,162 @@ function makeUtilsCommand() {
41
76
  }
42
77
  });
43
78
  utils.addCommand(chainIdToName);
79
+ const genTable = new commander_1.Command('gen-table')
80
+ .description('Generate a consolidated addresses table from an output directory')
81
+ .argument('<output-dir>', 'Directory containing job output JSON files (searches recursively)')
82
+ .option('--name', 'Include Name column', true)
83
+ .option('--key', 'Include Key column', false)
84
+ .option('--file', 'Include File column', false)
85
+ .option('--chain-ids, --chainIds', 'Include ChainIds column', false)
86
+ .option('--job', 'Include Job column', true)
87
+ .option('--address', 'Include Address column', true)
88
+ .option('--format <format>', "Output format: 'markdown' or 'ascii' (default)", 'ascii')
89
+ .action(async (outputDir, options) => {
90
+ try {
91
+ const absoluteDir = path.resolve(outputDir);
92
+ if (!fs.existsSync(absoluteDir) || !fs.statSync(absoluteDir).isDirectory()) {
93
+ console.error(chalk_1.default.red(`Output directory not found or not a directory: ${absoluteDir}`));
94
+ process.exit(1);
95
+ }
96
+ const jsonFiles = [];
97
+ const walk = (dir) => {
98
+ for (const entry of fs.readdirSync(dir)) {
99
+ const full = path.join(dir, entry);
100
+ const stat = fs.statSync(full);
101
+ if (stat.isDirectory())
102
+ walk(full);
103
+ else if (stat.isFile() && entry.toLowerCase().endsWith('.json'))
104
+ jsonFiles.push(full);
105
+ }
106
+ };
107
+ walk(absoluteDir);
108
+ const rows = [];
109
+ const addressRegex = /^0x[a-fA-F0-9]{40}$/;
110
+ const toTitleCase = (slug) => slug.split(/[-_\s]+/).filter(Boolean).map(s => s.charAt(0).toUpperCase() + s.slice(1)).join('');
111
+ const extractVersionSuffix = (jobName) => {
112
+ const m = jobName.match(/[-_]?v(\d+)/i);
113
+ return m ? `V${m[1]}` : '';
114
+ };
115
+ const deriveName = (jobName, key) => {
116
+ const version = extractVersionSuffix(jobName);
117
+ const baseJob = jobName.replace(/[-_]?v\d+$/i, '');
118
+ const keyCore = key.replace(/\.address$/i, '');
119
+ const isGeneric = /^(factory|address)$/i.test(keyCore);
120
+ const nameCore = isGeneric ? `${toTitleCase(baseJob)} ${toTitleCase(keyCore)}` : toTitleCase(keyCore);
121
+ return `${nameCore.replace(/\s+/g, '')}${version}`;
122
+ };
123
+ for (const file of jsonFiles) {
124
+ try {
125
+ const raw = fs.readFileSync(file, 'utf8');
126
+ const data = JSON.parse(raw);
127
+ if (!data || typeof data !== 'object' || !Array.isArray(data.networks))
128
+ continue;
129
+ const jobName = data.jobName ?? path.basename(file, '.json');
130
+ for (const net of data.networks) {
131
+ if (!net || typeof net !== 'object')
132
+ continue;
133
+ const outputs = net.outputs;
134
+ if (!outputs)
135
+ continue;
136
+ const chainIds = Array.isArray(net.chainIds) ? net.chainIds : [];
137
+ for (const [key, value] of Object.entries(outputs)) {
138
+ let address;
139
+ if (typeof value === 'string' && addressRegex.test(value)) {
140
+ address = value;
141
+ }
142
+ else if (value && typeof value === 'object' && 'address' in value && typeof value.address === 'string' && addressRegex.test(value.address)) {
143
+ address = value.address;
144
+ }
145
+ if (!address)
146
+ continue;
147
+ rows.push({
148
+ job: jobName,
149
+ chainIds: chainIds.join(','),
150
+ name: deriveName(jobName, key),
151
+ address,
152
+ key,
153
+ file
154
+ });
155
+ }
156
+ }
157
+ }
158
+ catch {
159
+ }
160
+ }
161
+ rows.sort((a, b) => a.job.localeCompare(b.job) || a.name.localeCompare(b.name));
162
+ if (rows.length === 0) {
163
+ console.log(chalk_1.default.yellow('No address entries found.'));
164
+ return;
165
+ }
166
+ const showJob = !!options.job;
167
+ const showAddress = !!options.address;
168
+ const showName = !!options.name;
169
+ const showKey = !!options.key;
170
+ const showChainIds = !!options.chainIds;
171
+ const showFile = !!options.file;
172
+ const selectedHeaders = [];
173
+ if (showJob)
174
+ selectedHeaders.push('job');
175
+ if (showChainIds)
176
+ selectedHeaders.push('chainIds');
177
+ if (showName)
178
+ selectedHeaders.push('name');
179
+ if (showAddress)
180
+ selectedHeaders.push('address');
181
+ if (showKey)
182
+ selectedHeaders.push('key');
183
+ if (showFile)
184
+ selectedHeaders.push('file');
185
+ const titles = {
186
+ job: 'Job',
187
+ chainIds: 'ChainIds',
188
+ name: 'Name',
189
+ address: 'Address',
190
+ key: 'Key',
191
+ file: 'File'
192
+ };
193
+ const format = String(options.format || 'markdown').toLowerCase();
194
+ if (format !== 'markdown' && format !== 'ascii') {
195
+ console.error(chalk_1.default.red("Invalid format. Use 'markdown' or 'ascii'."));
196
+ process.exit(1);
197
+ }
198
+ if (format === 'markdown') {
199
+ const header = '| ' + selectedHeaders.map(h => titles[h]).join(' | ') + ' |';
200
+ const sepMd = '| ' + selectedHeaders.map(h => '-'.repeat(Math.max(3, String(titles[h]).length))).join(' | ') + ' |';
201
+ console.log(header);
202
+ console.log(sepMd);
203
+ for (const r of rows) {
204
+ console.log('| ' + selectedHeaders.map(h => String(r[h])).join(' | ') + ' |');
205
+ }
206
+ }
207
+ else {
208
+ const widths = {};
209
+ for (const h of selectedHeaders) {
210
+ widths[h] = Math.max(titles[h].length, ...rows.map(r => String(r[h]).length));
211
+ }
212
+ const makeSep = (left, mid, right, fill) => {
213
+ return left + selectedHeaders.map(h => fill.repeat(widths[h] + 2)).join(mid) + right;
214
+ };
215
+ const pad = (s, w) => s + ' '.repeat(Math.max(0, w - s.length));
216
+ const top = makeSep('┌', '┬', '┐', '─');
217
+ const sep = makeSep('├', '┼', '┤', '─');
218
+ const bot = makeSep('└', '┴', '┘', '─');
219
+ const headerLine = '│' + selectedHeaders.map(h => ' ' + pad(titles[h], widths[h]) + ' ').join('│') + '│';
220
+ const lines = rows.map(r => '│' + selectedHeaders.map(h => ' ' + pad(String(r[h]), widths[h]) + ' ').join('│') + '│');
221
+ console.log(top);
222
+ console.log(headerLine);
223
+ console.log(sep);
224
+ for (const line of lines)
225
+ console.log(line);
226
+ console.log(bot);
227
+ }
228
+ }
229
+ catch (error) {
230
+ console.error(chalk_1.default.red('Error generating table:'), error instanceof Error ? error.message : String(error));
231
+ process.exit(1);
232
+ }
233
+ });
234
+ utils.addCommand(genTable);
44
235
  return utils;
45
236
  }
46
237
  //# sourceMappingURL=utils.js.map