@gzeoneth/gov-tracker 0.2.1-0 → 0.2.1-alpha.cli-preview.f8c3a87

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 (191) hide show
  1. package/README.md +91 -68
  2. package/dist/calldata/decoder.js +1 -1
  3. package/dist/calldata/decoder.js.map +1 -1
  4. package/dist/calldata/index.d.ts +1 -1
  5. package/dist/calldata/index.d.ts.map +1 -1
  6. package/dist/calldata/index.js.map +1 -1
  7. package/dist/calldata/parameter-decoder.d.ts.map +1 -1
  8. package/dist/calldata/parameter-decoder.js +16 -9
  9. package/dist/calldata/parameter-decoder.js.map +1 -1
  10. package/dist/calldata/signature-lookup.d.ts +17 -2
  11. package/dist/calldata/signature-lookup.d.ts.map +1 -1
  12. package/dist/calldata/signature-lookup.js +20 -2
  13. package/dist/calldata/signature-lookup.js.map +1 -1
  14. package/dist/cli/cli.d.ts +21 -0
  15. package/dist/cli/cli.d.ts.map +1 -0
  16. package/dist/cli/{monitor.js → cli.js} +155 -59
  17. package/dist/cli/cli.js.map +1 -0
  18. package/dist/cli/lib/cli.d.ts +8 -1
  19. package/dist/cli/lib/cli.d.ts.map +1 -1
  20. package/dist/cli/lib/cli.js +35 -15
  21. package/dist/cli/lib/cli.js.map +1 -1
  22. package/dist/cli/lib/concurrency.d.ts +20 -0
  23. package/dist/cli/lib/concurrency.d.ts.map +1 -0
  24. package/dist/cli/lib/concurrency.js +32 -0
  25. package/dist/cli/lib/concurrency.js.map +1 -0
  26. package/dist/cli/tui/App.d.ts +13 -0
  27. package/dist/cli/tui/App.d.ts.map +1 -0
  28. package/dist/cli/tui/App.js +92 -0
  29. package/dist/cli/tui/App.js.map +1 -0
  30. package/dist/cli/tui/components/Header.d.ts +20 -0
  31. package/dist/cli/tui/components/Header.d.ts.map +1 -0
  32. package/dist/cli/tui/components/Header.js +57 -0
  33. package/dist/cli/tui/components/Header.js.map +1 -0
  34. package/dist/cli/tui/components/KeyHelp.d.ts +11 -0
  35. package/dist/cli/tui/components/KeyHelp.d.ts.map +1 -0
  36. package/dist/cli/tui/components/KeyHelp.js +82 -0
  37. package/dist/cli/tui/components/KeyHelp.js.map +1 -0
  38. package/dist/cli/tui/components/ProposalRow.d.ts +11 -0
  39. package/dist/cli/tui/components/ProposalRow.d.ts.map +1 -0
  40. package/dist/cli/tui/components/ProposalRow.js +66 -0
  41. package/dist/cli/tui/components/ProposalRow.js.map +1 -0
  42. package/dist/cli/tui/components/StageRow.d.ts +12 -0
  43. package/dist/cli/tui/components/StageRow.d.ts.map +1 -0
  44. package/dist/cli/tui/components/StageRow.js +83 -0
  45. package/dist/cli/tui/components/StageRow.js.map +1 -0
  46. package/dist/cli/tui/components/StatusBadge.d.ts +12 -0
  47. package/dist/cli/tui/components/StatusBadge.d.ts.map +1 -0
  48. package/dist/cli/tui/components/StatusBadge.js +27 -0
  49. package/dist/cli/tui/components/StatusBadge.js.map +1 -0
  50. package/dist/cli/tui/components/ViewLayout.d.ts +18 -0
  51. package/dist/cli/tui/components/ViewLayout.d.ts.map +1 -0
  52. package/dist/cli/tui/components/ViewLayout.js +21 -0
  53. package/dist/cli/tui/components/ViewLayout.js.map +1 -0
  54. package/dist/cli/tui/hooks/index.d.ts +10 -0
  55. package/dist/cli/tui/hooks/index.d.ts.map +1 -0
  56. package/dist/cli/tui/hooks/index.js +14 -0
  57. package/dist/cli/tui/hooks/index.js.map +1 -0
  58. package/dist/cli/tui/hooks/useCache.d.ts +12 -0
  59. package/dist/cli/tui/hooks/useCache.d.ts.map +1 -0
  60. package/dist/cli/tui/hooks/useCache.js +86 -0
  61. package/dist/cli/tui/hooks/useCache.js.map +1 -0
  62. package/dist/cli/tui/hooks/useNavigation.d.ts +34 -0
  63. package/dist/cli/tui/hooks/useNavigation.d.ts.map +1 -0
  64. package/dist/cli/tui/hooks/useNavigation.js +219 -0
  65. package/dist/cli/tui/hooks/useNavigation.js.map +1 -0
  66. package/dist/cli/tui/hooks/useProposals.d.ts +10 -0
  67. package/dist/cli/tui/hooks/useProposals.d.ts.map +1 -0
  68. package/dist/cli/tui/hooks/useProposals.js +159 -0
  69. package/dist/cli/tui/hooks/useProposals.js.map +1 -0
  70. package/dist/cli/tui/hooks/useStageCalldata.d.ts +17 -0
  71. package/dist/cli/tui/hooks/useStageCalldata.d.ts.map +1 -0
  72. package/dist/cli/tui/hooks/useStageCalldata.js +50 -0
  73. package/dist/cli/tui/hooks/useStageCalldata.js.map +1 -0
  74. package/dist/cli/tui/hooks/useTracker.d.ts +28 -0
  75. package/dist/cli/tui/hooks/useTracker.d.ts.map +1 -0
  76. package/dist/cli/tui/hooks/useTracker.js +165 -0
  77. package/dist/cli/tui/hooks/useTracker.js.map +1 -0
  78. package/dist/cli/tui/index.d.ts +14 -0
  79. package/dist/cli/tui/index.d.ts.map +1 -0
  80. package/dist/cli/tui/index.js +68 -0
  81. package/dist/cli/tui/index.js.map +1 -0
  82. package/dist/cli/tui/ink-wrapper.d.ts +43 -0
  83. package/dist/cli/tui/ink-wrapper.d.ts.map +1 -0
  84. package/dist/cli/tui/ink-wrapper.js +41 -0
  85. package/dist/cli/tui/ink-wrapper.js.map +1 -0
  86. package/dist/cli/tui/types.d.ts +34 -0
  87. package/dist/cli/tui/types.d.ts.map +1 -0
  88. package/dist/cli/tui/types.js +6 -0
  89. package/dist/cli/tui/types.js.map +1 -0
  90. package/dist/cli/tui/utils/index.d.ts +4 -0
  91. package/dist/cli/tui/utils/index.d.ts.map +1 -0
  92. package/dist/cli/tui/utils/index.js +10 -0
  93. package/dist/cli/tui/utils/index.js.map +1 -0
  94. package/dist/cli/tui/utils/terminal.d.ts +18 -0
  95. package/dist/cli/tui/utils/terminal.d.ts.map +1 -0
  96. package/dist/cli/tui/utils/terminal.js +26 -0
  97. package/dist/cli/tui/utils/terminal.js.map +1 -0
  98. package/dist/cli/tui/utils/text.d.ts +12 -0
  99. package/dist/cli/tui/utils/text.d.ts.map +1 -0
  100. package/dist/cli/tui/utils/text.js +28 -0
  101. package/dist/cli/tui/utils/text.js.map +1 -0
  102. package/dist/cli/tui/views/CalldataView.d.ts +12 -0
  103. package/dist/cli/tui/views/CalldataView.d.ts.map +1 -0
  104. package/dist/cli/tui/views/CalldataView.js +180 -0
  105. package/dist/cli/tui/views/CalldataView.js.map +1 -0
  106. package/dist/cli/tui/views/DescriptionView.d.ts +12 -0
  107. package/dist/cli/tui/views/DescriptionView.d.ts.map +1 -0
  108. package/dist/cli/tui/views/DescriptionView.js +174 -0
  109. package/dist/cli/tui/views/DescriptionView.js.map +1 -0
  110. package/dist/cli/tui/views/ElectionView.d.ts +12 -0
  111. package/dist/cli/tui/views/ElectionView.d.ts.map +1 -0
  112. package/dist/cli/tui/views/ElectionView.js +159 -0
  113. package/dist/cli/tui/views/ElectionView.js.map +1 -0
  114. package/dist/cli/tui/views/ProposalDetail.d.ts +14 -0
  115. package/dist/cli/tui/views/ProposalDetail.d.ts.map +1 -0
  116. package/dist/cli/tui/views/ProposalDetail.js +172 -0
  117. package/dist/cli/tui/views/ProposalDetail.js.map +1 -0
  118. package/dist/cli/tui/views/ProposalList.d.ts +17 -0
  119. package/dist/cli/tui/views/ProposalList.d.ts.map +1 -0
  120. package/dist/cli/tui/views/ProposalList.js +111 -0
  121. package/dist/cli/tui/views/ProposalList.js.map +1 -0
  122. package/dist/cli/tui/views/SimulationView.d.ts +12 -0
  123. package/dist/cli/tui/views/SimulationView.d.ts.map +1 -0
  124. package/dist/cli/tui/views/SimulationView.js +93 -0
  125. package/dist/cli/tui/views/SimulationView.js.map +1 -0
  126. package/dist/cli/tui/views/StageView.d.ts +12 -0
  127. package/dist/cli/tui/views/StageView.d.ts.map +1 -0
  128. package/dist/cli/tui/views/StageView.js +199 -0
  129. package/dist/cli/tui/views/StageView.js.map +1 -0
  130. package/dist/constants.d.ts +1 -0
  131. package/dist/constants.d.ts.map +1 -1
  132. package/dist/constants.js +1 -0
  133. package/dist/constants.js.map +1 -1
  134. package/dist/data/bundled-cache.json +24151 -0
  135. package/dist/discovery/governor-discovery.d.ts.map +1 -1
  136. package/dist/discovery/governor-discovery.js +2 -1
  137. package/dist/discovery/governor-discovery.js.map +1 -1
  138. package/dist/index.d.ts +23 -4
  139. package/dist/index.d.ts.map +1 -1
  140. package/dist/index.js +30 -4
  141. package/dist/index.js.map +1 -1
  142. package/dist/stages/l2-to-l1-message.d.ts +5 -0
  143. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  144. package/dist/stages/l2-to-l1-message.js +109 -70
  145. package/dist/stages/l2-to-l1-message.js.map +1 -1
  146. package/dist/stages/proposal-queued.js +2 -2
  147. package/dist/stages/proposal-queued.js.map +1 -1
  148. package/dist/stages/retryables.d.ts.map +1 -1
  149. package/dist/stages/retryables.js +8 -1
  150. package/dist/stages/retryables.js.map +1 -1
  151. package/dist/stages/timelock.d.ts.map +1 -1
  152. package/dist/stages/timelock.js +11 -9
  153. package/dist/stages/timelock.js.map +1 -1
  154. package/dist/stages/utils.d.ts +5 -2
  155. package/dist/stages/utils.d.ts.map +1 -1
  156. package/dist/stages/utils.js +35 -18
  157. package/dist/stages/utils.js.map +1 -1
  158. package/dist/stages/voting.d.ts.map +1 -1
  159. package/dist/stages/voting.js +2 -6
  160. package/dist/stages/voting.js.map +1 -1
  161. package/dist/tracker/cache.d.ts +27 -0
  162. package/dist/tracker/cache.d.ts.map +1 -1
  163. package/dist/tracker/cache.js +46 -2
  164. package/dist/tracker/cache.js.map +1 -1
  165. package/dist/tracker/execute.d.ts.map +1 -1
  166. package/dist/tracker/execute.js +25 -1
  167. package/dist/tracker/execute.js.map +1 -1
  168. package/dist/tracker/state.d.ts +0 -3
  169. package/dist/tracker/state.d.ts.map +1 -1
  170. package/dist/tracker/state.js +11 -5
  171. package/dist/tracker/state.js.map +1 -1
  172. package/dist/types/stages.d.ts +15 -2
  173. package/dist/types/stages.d.ts.map +1 -1
  174. package/dist/types/stages.js.map +1 -1
  175. package/dist/types/tracking.d.ts +4 -0
  176. package/dist/types/tracking.d.ts.map +1 -1
  177. package/dist/utils/salt-computation.d.ts.map +1 -1
  178. package/dist/utils/salt-computation.js +20 -26
  179. package/dist/utils/salt-computation.js.map +1 -1
  180. package/dist/utils/sanitize.d.ts +28 -0
  181. package/dist/utils/sanitize.d.ts.map +1 -0
  182. package/dist/utils/sanitize.js +52 -0
  183. package/dist/utils/sanitize.js.map +1 -0
  184. package/dist/utils/timing.d.ts +10 -2
  185. package/dist/utils/timing.d.ts.map +1 -1
  186. package/dist/utils/timing.js +22 -4
  187. package/dist/utils/timing.js.map +1 -1
  188. package/package.json +29 -17
  189. package/dist/cli/monitor.d.ts +0 -3
  190. package/dist/cli/monitor.d.ts.map +0 -1
  191. package/dist/cli/monitor.js.map +0 -1
@@ -1,5 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
+ /**
4
+ * Monitor CLI - Example SDK Usage
5
+ *
6
+ * NOTE: This is a CLI application that demonstrates SDK usage, not library code.
7
+ * It serves as both a reference implementation and a production-ready tool.
8
+ * Developers should treat this as an application of the SDK, not as part of the SDK API.
9
+ *
10
+ * Demonstrates how to use the governance tracking SDK for:
11
+ * - Discovering proposals and timelock operations
12
+ * - Tracking lifecycle stages
13
+ * - Preparing and executing transactions
14
+ *
15
+ * Usage: npx @gzeoneth/gov-tracker [run|track <tx-hash>|election|status] [options]
16
+ *
17
+ * Dependencies:
18
+ * - commander is an optional dependency required for CLI usage
19
+ * - dotenv is a dev dependency; .env files are loaded if available
20
+ */
3
21
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
22
  if (k2 === undefined) k2 = k;
5
23
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -37,27 +55,53 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
55
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
56
  };
39
57
  Object.defineProperty(exports, "__esModule", { value: true });
40
- /**
41
- * Monitor CLI - Example SDK Usage
42
- *
43
- * NOTE: This is a CLI application that demonstrates SDK usage, not library code.
44
- * It serves as both a reference implementation and a production-ready tool.
45
- * Developers should treat this as an application of the SDK, not as part of the SDK API.
46
- *
47
- * Demonstrates how to use the governance tracking SDK for:
48
- * - Discovering proposals and timelock operations
49
- * - Tracking lifecycle stages
50
- * - Preparing and executing transactions
51
- *
52
- * Usage: npx @gzeoneth/gov-tracker [run|track <tx-hash>|election|status] [options]
53
- */
54
- const dotenv = __importStar(require("dotenv"));
55
- dotenv.config();
58
+ // Load .env file if dotenv is available (dev dependency)
59
+ // Must be synchronous to ensure env vars are loaded before other imports access them
60
+ try {
61
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
62
+ require("dotenv").config();
63
+ }
64
+ catch (err) {
65
+ // Only ignore if module not found; re-throw other errors
66
+ const isModuleNotFound = err instanceof Error &&
67
+ "code" in err &&
68
+ err.code === "MODULE_NOT_FOUND";
69
+ if (!isModuleNotFound) {
70
+ throw err;
71
+ }
72
+ }
56
73
  const os = __importStar(require("os"));
57
74
  const path = __importStar(require("path"));
58
75
  const fs = __importStar(require("fs"));
59
76
  const debug_1 = __importDefault(require("debug"));
60
- const commander_1 = require("commander");
77
+ // Check for required CLI dependencies (optional in package.json)
78
+ let Command;
79
+ let Option;
80
+ try {
81
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
82
+ const commander = require("commander");
83
+ Command = commander.Command;
84
+ Option = commander.Option;
85
+ }
86
+ catch {
87
+ console.error("Error: CLI requires 'commander' package.");
88
+ console.error("Install it with: yarn add commander");
89
+ process.exit(1);
90
+ }
91
+ // Read version from package.json
92
+ function getPackageVersion() {
93
+ const candidates = [
94
+ path.join(__dirname, "..", "..", "package.json"), // dist/cli -> package.json
95
+ path.join(__dirname, "..", "..", "..", "package.json"), // src/cli -> package.json
96
+ ];
97
+ for (const candidate of candidates) {
98
+ if (fs.existsSync(candidate)) {
99
+ const pkg = JSON.parse(fs.readFileSync(candidate, "utf8"));
100
+ return pkg.version || "unknown";
101
+ }
102
+ }
103
+ return "unknown";
104
+ }
61
105
  const index_1 = require("../index");
62
106
  const json_state_1 = require("./lib/json-state");
63
107
  const election_check_1 = require("./lib/election-check");
@@ -158,7 +202,8 @@ function getAppDataDir() {
158
202
  return path.join(baseDir, "gov-tracker");
159
203
  }
160
204
  /**
161
- * Get the default cache path and ensure the directory exists
205
+ * Get the default cache path and ensure the directory exists.
206
+ * If user cache doesn't exist, copies bundled cache (if available) to bootstrap.
162
207
  */
163
208
  function getDefaultCachePath() {
164
209
  const appDataDir = getAppDataDir();
@@ -173,7 +218,22 @@ function getDefaultCachePath() {
173
218
  console.warn(`Warning: Could not create app data directory ${appDataDir}, using ./gov-tracker-cache.json`);
174
219
  return "./gov-tracker-cache.json";
175
220
  }
176
- return path.join(appDataDir, "gov-tracker-cache.json");
221
+ const userCachePath = path.join(appDataDir, "gov-tracker-cache.json");
222
+ // If user cache doesn't exist, try to copy bundled cache
223
+ if (!fs.existsSync(userCachePath)) {
224
+ const bundledPath = (0, index_1.getBundledCachePath)();
225
+ if (bundledPath) {
226
+ try {
227
+ fs.copyFileSync(bundledPath, userCachePath);
228
+ console.log(`Initialized cache from bundled data (${bundledPath})`);
229
+ }
230
+ catch (err) {
231
+ // Non-fatal: just start with empty cache
232
+ console.warn(`Warning: Could not copy bundled cache: ${err}`);
233
+ }
234
+ }
235
+ }
236
+ return userCachePath;
177
237
  }
178
238
  // Default cache path in OS-specific application data directory
179
239
  const DEFAULT_CACHE_PATH = getDefaultCachePath();
@@ -187,16 +247,16 @@ function createProgressCallback() {
187
247
  console.log(` [${currentIndex + 1}/${totalStages}] ${(0, index_1.formatStageTitle)(stage.type)} (${stage.chain}): ${stage.status}`);
188
248
  };
189
249
  }
190
- const program = new commander_1.Command()
191
- .name("monitor")
192
- .description("Monitor Arbitrum governance proposals")
193
- .version("0.1.0");
250
+ const program = new Command()
251
+ .name("gov-tracker")
252
+ .description(`Track and execute Arbitrum DAO governance proposal lifecycle stages\nVersion: ${getPackageVersion()}`)
253
+ .version(getPackageVersion());
194
254
  // ============================================================================
195
255
  // Run Command
196
256
  // ============================================================================
197
257
  const runCmd = program
198
- .command("run")
199
- .description("Discover, track, and optionally prepare/execute");
258
+ .command("run", { isDefault: true })
259
+ .description("Discover, track, and optionally prepare/execute (default command)");
200
260
  (0, cli_1.addOptions)(runCmd, cli_1.rpcOptions);
201
261
  (0, cli_1.addOptions)(runCmd, cli_1.executionOptions);
202
262
  (0, cli_1.addOptions)(runCmd, (0, cli_1.chunkingOptions)(index_1.CHUNK_SIZES.L1, index_1.CHUNK_SIZES.L2));
@@ -205,6 +265,7 @@ const runCmd = program
205
265
  runCmd
206
266
  .addOption(cli_1.cacheOptions.cache(DEFAULT_CACHE_PATH))
207
267
  .addOption(cli_1.cacheOptions.force)
268
+ .addOption(cli_1.cacheOptions.noCache)
208
269
  .addOption(cli_1.verboseOption)
209
270
  .option("--start-block <block>", "Start block for discovery (skips cache)")
210
271
  .option("--block-lag <blocks>", `Blocks behind tip (default: ${cli_1.DEFAULT_BLOCK_LAG})`, String(cli_1.DEFAULT_BLOCK_LAG))
@@ -218,9 +279,11 @@ runCmd
218
279
  (0, cli_1.requirePrivateKeyForWrite)(opts);
219
280
  const providers = (0, cli_1.createProvidersFromOptions)(opts);
220
281
  const chunkingConfig = (0, cli_1.parseChunkingConfig)(opts, index_1.CHUNK_SIZES.DELAY_MS);
282
+ // --no-cache disables cache entirely
283
+ const cachePath = opts.noCache ? undefined : opts.cache;
221
284
  const tracker = (0, index_1.createTracker)({
222
285
  ...providers,
223
- cachePath: opts.cache,
286
+ cachePath,
224
287
  chunkingConfig,
225
288
  onProgress: createProgressCallback(),
226
289
  });
@@ -359,7 +422,9 @@ const trackCmd = program
359
422
  trackCmd
360
423
  .addOption(cli_1.cacheOptions.cache(DEFAULT_CACHE_PATH))
361
424
  .addOption(cli_1.cacheOptions.force)
425
+ .addOption(cli_1.cacheOptions.noCache)
362
426
  .addOption(cli_1.verboseOption)
427
+ .option("-i, --inspect", "Decode and inspect calldata (with tracking)")
363
428
  .option("--inspect-only", "Decode and inspect calldata without tracking")
364
429
  .option("--show-simulation", "Show simulation data for each call")
365
430
  .action(async (txHash, opts) => {
@@ -378,10 +443,11 @@ trackCmd
378
443
  if (opts.force)
379
444
  console.log(`Force: ignoring cached data`);
380
445
  }
381
- // Use cache unless --force is specified
446
+ // Use cache unless --force or --no-cache is specified
447
+ const cachePath = opts.noCache ? undefined : opts.force ? undefined : opts.cache;
382
448
  const tracker = (0, index_1.createTracker)({
383
449
  ...providers,
384
- cachePath: opts.force ? undefined : opts.cache,
450
+ cachePath,
385
451
  chunkingConfig,
386
452
  onProgress: opts.verbose ? createProgressCallback() : undefined,
387
453
  });
@@ -412,38 +478,36 @@ trackCmd
412
478
  // Normal tracking flow
413
479
  console.log(`Tracking from tx: ${txHash}\n`);
414
480
  const shouldPrepare = opts.prepare || opts.write || opts.prepareCompleted || opts.preparePending;
415
- const { results, preparations, preparedTransactions } = !opts.inspectOnly
416
- ? await (0, cli_1.trackAndPrepare)(tracker, txHash, {
417
- prepare: shouldPrepare,
418
- prepareCompleted: opts.prepareCompleted,
419
- preparePending: opts.preparePending,
420
- }, providers)
421
- : { results: [], preparations: [], preparedTransactions: [] };
481
+ const { results, preparations, preparedTransactions } = await (0, cli_1.trackAndPrepare)(tracker, txHash, {
482
+ prepare: shouldPrepare,
483
+ prepareCompleted: opts.prepareCompleted,
484
+ preparePending: opts.preparePending,
485
+ }, providers);
422
486
  // Format tracking output
423
- if (!opts.inspectOnly) {
424
- results.forEach((r, i) => {
425
- const label = results.length > 1 ? `Operation ${i + 1}/${results.length}` : undefined;
426
- console.log((0, cli_1.formatTrackingResult)(r, label));
427
- });
428
- // Show all prepared transactions
429
- if (preparedTransactions.length > 0) {
430
- console.log(`\n${(0, cli_1.formatMultiplePreparedTransactions)(preparedTransactions)}`);
431
- }
432
- // Show preparation errors
433
- const failedPreparations = preparations.filter((p) => !p.success);
434
- failedPreparations.forEach((prep) => {
435
- console.log(`\n[PREPARE ERROR] ${prep.error}`);
436
- });
487
+ results.forEach((r, i) => {
488
+ const label = results.length > 1 ? `Operation ${i + 1}/${results.length}` : undefined;
489
+ console.log((0, cli_1.formatTrackingResult)(r, label));
490
+ });
491
+ // Show all prepared transactions
492
+ if (preparedTransactions.length > 0) {
493
+ console.log(`\n${(0, cli_1.formatMultiplePreparedTransactions)(preparedTransactions)}`);
437
494
  }
438
- // Extract calldata for decoding
439
- if (results.length > 0 && results[0].stages.length > 0) {
440
- const { calldatas: extractedCalldatas, targets: extractedTargets, values: extractedValues, } = (0, calldata_1.extractCalldataFromStage)(results[0].stages[0]);
441
- calldatas = extractedCalldatas;
442
- targets = extractedTargets;
443
- values = extractedValues;
495
+ // Show preparation errors
496
+ const failedPreparations = preparations.filter((p) => !p.success);
497
+ failedPreparations.forEach((prep) => {
498
+ console.log(`\n[PREPARE ERROR] ${prep.error}`);
499
+ });
500
+ // Extract calldata for decoding (if --inspect or --show-simulation)
501
+ if (opts.inspect || opts.showSimulation) {
502
+ if (results.length > 0 && results[0].stages.length > 0) {
503
+ const { calldatas: extractedCalldatas, targets: extractedTargets, values: extractedValues, } = (0, calldata_1.extractCalldataFromStage)(results[0].stages[0]);
504
+ calldatas = extractedCalldatas;
505
+ targets = extractedTargets;
506
+ values = extractedValues;
507
+ }
444
508
  }
445
509
  // Execute if --write (only when not in inspect-only mode)
446
- if (opts.write && preparedTransactions.length > 0 && !opts.inspectOnly) {
510
+ if (opts.write && preparedTransactions.length > 0) {
447
511
  const signer = (0, cli_1.createSigner)(opts.privateKey);
448
512
  console.log(`\n=== Executing with ${signer.address} ===`);
449
513
  let currentPreparedTxs = preparedTransactions;
@@ -483,7 +547,7 @@ trackCmd
483
547
  }
484
548
  }
485
549
  // Decode and display calldata if requested
486
- if (opts.showSimulation || opts.inspectOnly) {
550
+ if (opts.showSimulation || opts.inspectOnly || opts.inspect) {
487
551
  if (calldatas.length === 0) {
488
552
  console.error("No calldata available for decoding");
489
553
  process.exit(1);
@@ -549,7 +613,7 @@ const electionCmd = program
549
613
  electionCmd
550
614
  .addOption(cli_1.verboseOption)
551
615
  .option("--write", "Create election if ready (requires --private-key)")
552
- .addOption(new commander_1.Option("--private-key <key>", "Private key for execution").env("PRIVATE_KEY"))
616
+ .addOption(new Option("--private-key <key>", "Private key for execution").env("PRIVATE_KEY"))
553
617
  .action(async (opts) => {
554
618
  if (opts.verbose)
555
619
  debug_1.default.enable("gov-tracker:*");
@@ -583,5 +647,37 @@ electionCmd
583
647
  healthCheckUrl: opts.healthCheckUrl,
584
648
  });
585
649
  });
650
+ // ============================================================================
651
+ // UI Command - Interactive TUI
652
+ // ============================================================================
653
+ const uiCmd = program
654
+ .command("ui")
655
+ .description("Interactive TUI for browsing and tracking proposals");
656
+ (0, cli_1.addOptions)(uiCmd, cli_1.rpcOptions);
657
+ uiCmd
658
+ .addOption(cli_1.cacheOptions.cache(DEFAULT_CACHE_PATH))
659
+ .addOption(cli_1.verboseOption)
660
+ .action(async (opts) => {
661
+ if (opts.verbose)
662
+ debug_1.default.enable("gov-tracker:*");
663
+ try {
664
+ const { runTui } = await Promise.resolve().then(() => __importStar(require("./tui")));
665
+ // Create providers only if RPC URLs are provided
666
+ const providers = opts.l2Rpc ? (0, cli_1.createProvidersFromOptions)(opts) : undefined;
667
+ await runTui({
668
+ cachePath: opts.cache,
669
+ providers,
670
+ verbose: opts.verbose,
671
+ });
672
+ }
673
+ catch (error) {
674
+ if (error.code === "MODULE_NOT_FOUND") {
675
+ console.error("Error: TUI requires 'ink' and 'react' packages.");
676
+ console.error("Install them with: yarn add ink react");
677
+ process.exit(1);
678
+ }
679
+ throw error;
680
+ }
681
+ });
586
682
  program.parse();
587
- //# sourceMappingURL=monitor.js.map
683
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@
6
6
  *
7
7
  * Provides RPC option parsing, provider creation, transaction execution,
8
8
  * and the core monitoring cycle. This is monitor-specific code, not part of the SDK.
9
+ *
10
+ * Dependencies:
11
+ * - commander is an optional dependency required for CLI usage
9
12
  */
10
13
  import { Command, Option } from "commander";
11
14
  import { ethers } from "ethers";
@@ -24,6 +27,8 @@ export declare const DEFAULT_L2_GAS_SETTINGS: {
24
27
  /** Max priority fee per gas in gwei */
25
28
  maxPriorityFeePerGas: number;
26
29
  };
30
+ /** Health check timeout in milliseconds */
31
+ export declare const HEALTH_CHECK_TIMEOUT_MS = 5000;
27
32
  /** Gas settings interface */
28
33
  export interface GasSettings {
29
34
  maxFeePerGas: number;
@@ -38,10 +43,12 @@ export declare const verboseOption: Option;
38
43
  * Cache-related options for commands that use the tracker cache
39
44
  */
40
45
  export declare const cacheOptions: {
41
- /** Cache file path option (default is set in monitor.ts) */
46
+ /** Cache file path option (default is set in cli.ts) */
42
47
  cache: (defaultPath: string) => Option;
43
48
  /** Force flag to bypass cache and re-track from scratch */
44
49
  force: Option;
50
+ /** Disable cache entirely */
51
+ noCache: Option;
45
52
  };
46
53
  /**
47
54
  * Execution-related options for commands that can prepare/execute transactions
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/cli.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,12 @@
7
7
  *
8
8
  * Provides RPC option parsing, provider creation, transaction execution,
9
9
  * and the core monitoring cycle. This is monitor-specific code, not part of the SDK.
10
+ *
11
+ * Dependencies:
12
+ * - commander is an optional dependency required for CLI usage
10
13
  */
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.loopOptions = exports.gasOptions = exports.chunkingOptions = exports.executionOptions = exports.cacheOptions = exports.verboseOption = exports.rpcOptions = exports.DEFAULT_L2_GAS_SETTINGS = exports.MAX_CONSECUTIVE_ERRORS = exports.DEFAULT_MAX_AGE_DAYS = exports.DEFAULT_BLOCK_LAG = exports.isElectionGovernor = void 0;
15
+ exports.loopOptions = exports.gasOptions = exports.chunkingOptions = exports.executionOptions = exports.cacheOptions = exports.verboseOption = exports.rpcOptions = exports.HEALTH_CHECK_TIMEOUT_MS = exports.DEFAULT_L2_GAS_SETTINGS = exports.MAX_CONSECUTIVE_ERRORS = exports.DEFAULT_MAX_AGE_DAYS = exports.DEFAULT_BLOCK_LAG = exports.isElectionGovernor = void 0;
16
16
  exports.addOptions = addOptions;
17
17
  exports.parseGasSettings = parseGasSettings;
18
18
  exports.parseChunkingConfig = parseChunkingConfig;
@@ -30,7 +30,7 @@ exports.runMonitorCycle = runMonitorCycle;
30
30
  exports.trackAndPrepare = trackAndPrepare;
31
31
  const commander_1 = require("commander");
32
32
  const ethers_1 = require("ethers");
33
- const p_limit_1 = __importDefault(require("p-limit"));
33
+ const concurrency_1 = require("./concurrency");
34
34
  const index_1 = require("../../index");
35
35
  Object.defineProperty(exports, "isElectionGovernor", { enumerable: true, get: function () { return index_1.isElectionGovernor; } });
36
36
  const logger_1 = require("../../utils/logger");
@@ -50,6 +50,8 @@ exports.DEFAULT_L2_GAS_SETTINGS = {
50
50
  /** Max priority fee per gas in gwei */
51
51
  maxPriorityFeePerGas: 0,
52
52
  };
53
+ /** Health check timeout in milliseconds */
54
+ exports.HEALTH_CHECK_TIMEOUT_MS = 5000;
53
55
  // ============================================================================
54
56
  // RPC Configuration
55
57
  // ============================================================================
@@ -64,22 +66,24 @@ exports.rpcOptions = [
64
66
  /**
65
67
  * Verbose logging option - enables debug output
66
68
  */
67
- exports.verboseOption = new commander_1.Option("--verbose", "Enable verbose logging");
69
+ exports.verboseOption = new commander_1.Option("-v, --verbose", "Enable verbose logging");
68
70
  /**
69
71
  * Cache-related options for commands that use the tracker cache
70
72
  */
71
73
  exports.cacheOptions = {
72
- /** Cache file path option (default is set in monitor.ts) */
74
+ /** Cache file path option (default is set in cli.ts) */
73
75
  cache: (defaultPath) => new commander_1.Option("--cache <path>", "Cache file").default(defaultPath),
74
76
  /** Force flag to bypass cache and re-track from scratch */
75
77
  force: new commander_1.Option("--force", "Force refresh, ignoring cached data"),
78
+ /** Disable cache entirely */
79
+ noCache: new commander_1.Option("--no-cache", "Disable cache (don't read or write)"),
76
80
  };
77
81
  /**
78
82
  * Execution-related options for commands that can prepare/execute transactions
79
83
  */
80
84
  exports.executionOptions = [
81
- new commander_1.Option("--prepare", "Prepare transactions for ready stages (dry-run)"),
82
- new commander_1.Option("--write", "Execute prepared transactions (requires --private-key)"),
85
+ new commander_1.Option("-p, --prepare", "Prepare transactions for ready stages (dry-run)"),
86
+ new commander_1.Option("-w, --write", "Execute prepared transactions (requires --private-key)"),
83
87
  new commander_1.Option("--private-key <key>", "Private key for execution").env("PRIVATE_KEY"),
84
88
  new commander_1.Option("--prepare-completed", "Prepare completed stages (for historical validation)"),
85
89
  new commander_1.Option("--prepare-pending", "Prepare pending stages (waiting for delays)"),
@@ -136,10 +140,21 @@ function parseChunkingConfig(opts, delayMs) {
136
140
  }
137
141
  function createProvidersFromOptions(opts) {
138
142
  const l2Rpc = opts.l2Rpc || process.env.ARB1_RPC || index_1.DEFAULT_RPC_URLS.ARB_ONE;
139
- const l1Rpc = opts.l1Rpc || process.env.ETH_RPC;
143
+ const l1Rpc = opts.l1Rpc || process.env.ETH_RPC || index_1.DEFAULT_RPC_URLS.ETHEREUM;
140
144
  const novaRpc = opts.novaRpc || process.env.NOVA_RPC || index_1.DEFAULT_RPC_URLS.NOVA;
141
- if (!l1Rpc) {
142
- throw new Error("L1 RPC URL required (--l1-rpc or ETH_RPC env var)");
145
+ // Warn when using default public RPCs (no env var or CLI option provided)
146
+ const warnings = [];
147
+ if (!opts.l1Rpc && !process.env.ETH_RPC) {
148
+ warnings.push("Using public RPC URL for Ethereum (ETH_RPC not set)");
149
+ }
150
+ if (!opts.l2Rpc && !process.env.ARB1_RPC) {
151
+ warnings.push("Using public RPC URL for Arbitrum One (ARB1_RPC not set)");
152
+ }
153
+ if (!opts.novaRpc && !process.env.NOVA_RPC) {
154
+ warnings.push("Using public RPC URL for Nova (NOVA_RPC not set)");
155
+ }
156
+ if (warnings.length > 0) {
157
+ console.warn(`Warning: ${warnings.join("; ")}. Public RPCs may have rate limits.`);
143
158
  }
144
159
  // Use StaticJsonRpcProvider to avoid automatic chainId detection on every call
145
160
  return {
@@ -409,6 +424,8 @@ async function runWithLoop(cycleFn, options) {
409
424
  console.log("\nGracefully shutting down...");
410
425
  });
411
426
  while (running) {
427
+ // Invalidate block cache at start of each cycle to ensure fresh data
428
+ (0, index_1.invalidateBlockInfoCache)();
412
429
  try {
413
430
  await cycleFn();
414
431
  consecutiveErrors = 0;
@@ -422,10 +439,13 @@ async function runWithLoop(cycleFn, options) {
422
439
  }
423
440
  if (options.healthCheckUrl) {
424
441
  try {
425
- await fetch(options.healthCheckUrl, { method: "GET" });
442
+ const controller = new AbortController();
443
+ const timeoutId = setTimeout(() => controller.abort(), exports.HEALTH_CHECK_TIMEOUT_MS);
444
+ await fetch(options.healthCheckUrl, { method: "GET", signal: controller.signal });
445
+ clearTimeout(timeoutId);
426
446
  }
427
447
  catch {
428
- // Silently ignore health check errors
448
+ // Silently ignore health check errors (including timeouts)
429
449
  }
430
450
  }
431
451
  if (running)
@@ -535,7 +555,7 @@ async function runMonitorCycle(tracker, providers, options = {}) {
535
555
  const blockLag = options.blockLag ?? exports.DEFAULT_BLOCK_LAG;
536
556
  const currentBlock = Math.max(0, tipBlock - blockLag);
537
557
  const concurrency = options.concurrency ?? 1;
538
- const limit = (0, p_limit_1.default)(concurrency);
558
+ const limit = (0, concurrency_1.pLimit)(concurrency);
539
559
  // Optional startBlock override (watermarks are exclusive, so subtract 1)
540
560
  const startBlockWatermarks = options.startBlock
541
561
  ? {