@gzeoneth/gov-tracker 0.2.1-1 → 0.2.1-alpha.cli-preview.375ef6c

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 (250) hide show
  1. package/README.md +91 -68
  2. package/dist/calldata/index.d.ts +1 -1
  3. package/dist/calldata/index.d.ts.map +1 -1
  4. package/dist/calldata/index.js.map +1 -1
  5. package/dist/calldata/parameter-decoder.d.ts.map +1 -1
  6. package/dist/calldata/parameter-decoder.js +8 -1
  7. package/dist/calldata/parameter-decoder.js.map +1 -1
  8. package/dist/calldata/signature-lookup.d.ts +17 -2
  9. package/dist/calldata/signature-lookup.d.ts.map +1 -1
  10. package/dist/calldata/signature-lookup.js +20 -2
  11. package/dist/calldata/signature-lookup.js.map +1 -1
  12. package/dist/cli/cli.d.ts +21 -0
  13. package/dist/cli/cli.d.ts.map +1 -0
  14. package/dist/cli/{monitor.js → cli.js} +148 -74
  15. package/dist/cli/cli.js.map +1 -0
  16. package/dist/cli/lib/cli.d.ts +6 -1
  17. package/dist/cli/lib/cli.d.ts.map +1 -1
  18. package/dist/cli/lib/cli.js +58 -20
  19. package/dist/cli/lib/cli.js.map +1 -1
  20. package/dist/cli/lib/concurrency.d.ts +20 -0
  21. package/dist/cli/lib/concurrency.d.ts.map +1 -0
  22. package/dist/cli/lib/concurrency.js +32 -0
  23. package/dist/cli/lib/concurrency.js.map +1 -0
  24. package/dist/cli/tui/App.d.ts +13 -0
  25. package/dist/cli/tui/App.d.ts.map +1 -0
  26. package/dist/cli/tui/App.js +146 -0
  27. package/dist/cli/tui/App.js.map +1 -0
  28. package/dist/cli/tui/components/CollapsibleSection.d.ts +20 -0
  29. package/dist/cli/tui/components/CollapsibleSection.d.ts.map +1 -0
  30. package/dist/cli/tui/components/CollapsibleSection.js +29 -0
  31. package/dist/cli/tui/components/CollapsibleSection.js.map +1 -0
  32. package/dist/cli/tui/components/ConfirmDialog.d.ts +14 -0
  33. package/dist/cli/tui/components/ConfirmDialog.d.ts.map +1 -0
  34. package/dist/cli/tui/components/ConfirmDialog.js +29 -0
  35. package/dist/cli/tui/components/ConfirmDialog.js.map +1 -0
  36. package/dist/cli/tui/components/CopyableText.d.ts +23 -0
  37. package/dist/cli/tui/components/CopyableText.d.ts.map +1 -0
  38. package/dist/cli/tui/components/CopyableText.js +49 -0
  39. package/dist/cli/tui/components/CopyableText.js.map +1 -0
  40. package/dist/cli/tui/components/EmptyState.d.ts +11 -0
  41. package/dist/cli/tui/components/EmptyState.d.ts.map +1 -0
  42. package/dist/cli/tui/components/EmptyState.js +34 -0
  43. package/dist/cli/tui/components/EmptyState.js.map +1 -0
  44. package/dist/cli/tui/components/ErrorDisplay.d.ts +17 -0
  45. package/dist/cli/tui/components/ErrorDisplay.d.ts.map +1 -0
  46. package/dist/cli/tui/components/ErrorDisplay.js +66 -0
  47. package/dist/cli/tui/components/ErrorDisplay.js.map +1 -0
  48. package/dist/cli/tui/components/Header.d.ts +22 -0
  49. package/dist/cli/tui/components/Header.d.ts.map +1 -0
  50. package/dist/cli/tui/components/Header.js +73 -0
  51. package/dist/cli/tui/components/Header.js.map +1 -0
  52. package/dist/cli/tui/components/KeyHelp.d.ts +20 -0
  53. package/dist/cli/tui/components/KeyHelp.d.ts.map +1 -0
  54. package/dist/cli/tui/components/KeyHelp.js +136 -0
  55. package/dist/cli/tui/components/KeyHelp.js.map +1 -0
  56. package/dist/cli/tui/components/ProposalRow.d.ts +11 -0
  57. package/dist/cli/tui/components/ProposalRow.d.ts.map +1 -0
  58. package/dist/cli/tui/components/ProposalRow.js +106 -0
  59. package/dist/cli/tui/components/ProposalRow.js.map +1 -0
  60. package/dist/cli/tui/components/ScrollIndicator.d.ts +26 -0
  61. package/dist/cli/tui/components/ScrollIndicator.d.ts.map +1 -0
  62. package/dist/cli/tui/components/ScrollIndicator.js +59 -0
  63. package/dist/cli/tui/components/ScrollIndicator.js.map +1 -0
  64. package/dist/cli/tui/components/SearchBar.d.ts +12 -0
  65. package/dist/cli/tui/components/SearchBar.d.ts.map +1 -0
  66. package/dist/cli/tui/components/SearchBar.js +36 -0
  67. package/dist/cli/tui/components/SearchBar.js.map +1 -0
  68. package/dist/cli/tui/components/Skeleton.d.ts +22 -0
  69. package/dist/cli/tui/components/Skeleton.d.ts.map +1 -0
  70. package/dist/cli/tui/components/Skeleton.js +35 -0
  71. package/dist/cli/tui/components/Skeleton.js.map +1 -0
  72. package/dist/cli/tui/components/Spinner.d.ts +10 -0
  73. package/dist/cli/tui/components/Spinner.d.ts.map +1 -0
  74. package/dist/cli/tui/components/Spinner.js +24 -0
  75. package/dist/cli/tui/components/Spinner.js.map +1 -0
  76. package/dist/cli/tui/components/StageProgress.d.ts +12 -0
  77. package/dist/cli/tui/components/StageProgress.d.ts.map +1 -0
  78. package/dist/cli/tui/components/StageProgress.js +72 -0
  79. package/dist/cli/tui/components/StageProgress.js.map +1 -0
  80. package/dist/cli/tui/components/StageRow.d.ts +12 -0
  81. package/dist/cli/tui/components/StageRow.d.ts.map +1 -0
  82. package/dist/cli/tui/components/StageRow.js +106 -0
  83. package/dist/cli/tui/components/StageRow.js.map +1 -0
  84. package/dist/cli/tui/components/StatusBadge.d.ts +12 -0
  85. package/dist/cli/tui/components/StatusBadge.d.ts.map +1 -0
  86. package/dist/cli/tui/components/StatusBadge.js +27 -0
  87. package/dist/cli/tui/components/StatusBadge.js.map +1 -0
  88. package/dist/cli/tui/components/StatusBar.d.ts +12 -0
  89. package/dist/cli/tui/components/StatusBar.d.ts.map +1 -0
  90. package/dist/cli/tui/components/StatusBar.js +14 -0
  91. package/dist/cli/tui/components/StatusBar.js.map +1 -0
  92. package/dist/cli/tui/components/Timeline.d.ts +12 -0
  93. package/dist/cli/tui/components/Timeline.d.ts.map +1 -0
  94. package/dist/cli/tui/components/Timeline.js +91 -0
  95. package/dist/cli/tui/components/Timeline.js.map +1 -0
  96. package/dist/cli/tui/components/Toast.d.ts +13 -0
  97. package/dist/cli/tui/components/Toast.d.ts.map +1 -0
  98. package/dist/cli/tui/components/Toast.js +35 -0
  99. package/dist/cli/tui/components/Toast.js.map +1 -0
  100. package/dist/cli/tui/components/TrackingProgress.d.ts +24 -0
  101. package/dist/cli/tui/components/TrackingProgress.d.ts.map +1 -0
  102. package/dist/cli/tui/components/TrackingProgress.js +82 -0
  103. package/dist/cli/tui/components/TrackingProgress.js.map +1 -0
  104. package/dist/cli/tui/components/ViewLayout.d.ts +26 -0
  105. package/dist/cli/tui/components/ViewLayout.d.ts.map +1 -0
  106. package/dist/cli/tui/components/ViewLayout.js +57 -0
  107. package/dist/cli/tui/components/ViewLayout.js.map +1 -0
  108. package/dist/cli/tui/components/VotingStats.d.ts +11 -0
  109. package/dist/cli/tui/components/VotingStats.d.ts.map +1 -0
  110. package/dist/cli/tui/components/VotingStats.js +87 -0
  111. package/dist/cli/tui/components/VotingStats.js.map +1 -0
  112. package/dist/cli/tui/config.d.ts +42 -0
  113. package/dist/cli/tui/config.d.ts.map +1 -0
  114. package/dist/cli/tui/config.js +144 -0
  115. package/dist/cli/tui/config.js.map +1 -0
  116. package/dist/cli/tui/hooks/index.d.ts +12 -0
  117. package/dist/cli/tui/hooks/index.d.ts.map +1 -0
  118. package/dist/cli/tui/hooks/index.js +18 -0
  119. package/dist/cli/tui/hooks/index.js.map +1 -0
  120. package/dist/cli/tui/hooks/useCache.d.ts +12 -0
  121. package/dist/cli/tui/hooks/useCache.d.ts.map +1 -0
  122. package/dist/cli/tui/hooks/useCache.js +110 -0
  123. package/dist/cli/tui/hooks/useCache.js.map +1 -0
  124. package/dist/cli/tui/hooks/useCliProcess.d.ts +19 -0
  125. package/dist/cli/tui/hooks/useCliProcess.d.ts.map +1 -0
  126. package/dist/cli/tui/hooks/useCliProcess.js +135 -0
  127. package/dist/cli/tui/hooks/useCliProcess.js.map +1 -0
  128. package/dist/cli/tui/hooks/useNavigation.d.ts +40 -0
  129. package/dist/cli/tui/hooks/useNavigation.d.ts.map +1 -0
  130. package/dist/cli/tui/hooks/useNavigation.js +283 -0
  131. package/dist/cli/tui/hooks/useNavigation.js.map +1 -0
  132. package/dist/cli/tui/hooks/useProposals.d.ts +10 -0
  133. package/dist/cli/tui/hooks/useProposals.d.ts.map +1 -0
  134. package/dist/cli/tui/hooks/useProposals.js +215 -0
  135. package/dist/cli/tui/hooks/useProposals.js.map +1 -0
  136. package/dist/cli/tui/hooks/useStageCalldata.d.ts +17 -0
  137. package/dist/cli/tui/hooks/useStageCalldata.d.ts.map +1 -0
  138. package/dist/cli/tui/hooks/useStageCalldata.js +77 -0
  139. package/dist/cli/tui/hooks/useStageCalldata.js.map +1 -0
  140. package/dist/cli/tui/hooks/useTracker.d.ts +27 -0
  141. package/dist/cli/tui/hooks/useTracker.d.ts.map +1 -0
  142. package/dist/cli/tui/hooks/useTracker.js +205 -0
  143. package/dist/cli/tui/hooks/useTracker.js.map +1 -0
  144. package/dist/cli/tui/index.d.ts +15 -0
  145. package/dist/cli/tui/index.d.ts.map +1 -0
  146. package/dist/cli/tui/index.js +100 -0
  147. package/dist/cli/tui/index.js.map +1 -0
  148. package/dist/cli/tui/ink-wrapper.d.ts +43 -0
  149. package/dist/cli/tui/ink-wrapper.d.ts.map +1 -0
  150. package/dist/cli/tui/ink-wrapper.js +41 -0
  151. package/dist/cli/tui/ink-wrapper.js.map +1 -0
  152. package/dist/cli/tui/types.d.ts +37 -0
  153. package/dist/cli/tui/types.d.ts.map +1 -0
  154. package/dist/cli/tui/types.js +6 -0
  155. package/dist/cli/tui/types.js.map +1 -0
  156. package/dist/cli/tui/utils/clipboard.d.ts +7 -0
  157. package/dist/cli/tui/utils/clipboard.d.ts.map +1 -0
  158. package/dist/cli/tui/utils/clipboard.js +46 -0
  159. package/dist/cli/tui/utils/clipboard.js.map +1 -0
  160. package/dist/cli/tui/utils/index.d.ts +5 -0
  161. package/dist/cli/tui/utils/index.d.ts.map +1 -0
  162. package/dist/cli/tui/utils/index.js +13 -0
  163. package/dist/cli/tui/utils/index.js.map +1 -0
  164. package/dist/cli/tui/utils/terminal.d.ts +18 -0
  165. package/dist/cli/tui/utils/terminal.d.ts.map +1 -0
  166. package/dist/cli/tui/utils/terminal.js +26 -0
  167. package/dist/cli/tui/utils/terminal.js.map +1 -0
  168. package/dist/cli/tui/utils/text.d.ts +12 -0
  169. package/dist/cli/tui/utils/text.d.ts.map +1 -0
  170. package/dist/cli/tui/utils/text.js +30 -0
  171. package/dist/cli/tui/utils/text.js.map +1 -0
  172. package/dist/cli/tui/views/CalldataView.d.ts +12 -0
  173. package/dist/cli/tui/views/CalldataView.d.ts.map +1 -0
  174. package/dist/cli/tui/views/CalldataView.js +194 -0
  175. package/dist/cli/tui/views/CalldataView.js.map +1 -0
  176. package/dist/cli/tui/views/DescriptionView.d.ts +12 -0
  177. package/dist/cli/tui/views/DescriptionView.d.ts.map +1 -0
  178. package/dist/cli/tui/views/DescriptionView.js +182 -0
  179. package/dist/cli/tui/views/DescriptionView.js.map +1 -0
  180. package/dist/cli/tui/views/ElectionView.d.ts +12 -0
  181. package/dist/cli/tui/views/ElectionView.d.ts.map +1 -0
  182. package/dist/cli/tui/views/ElectionView.js +197 -0
  183. package/dist/cli/tui/views/ElectionView.js.map +1 -0
  184. package/dist/cli/tui/views/HelpView.d.ts +10 -0
  185. package/dist/cli/tui/views/HelpView.d.ts.map +1 -0
  186. package/dist/cli/tui/views/HelpView.js +159 -0
  187. package/dist/cli/tui/views/HelpView.js.map +1 -0
  188. package/dist/cli/tui/views/ProposalDetail.d.ts +14 -0
  189. package/dist/cli/tui/views/ProposalDetail.d.ts.map +1 -0
  190. package/dist/cli/tui/views/ProposalDetail.js +167 -0
  191. package/dist/cli/tui/views/ProposalDetail.js.map +1 -0
  192. package/dist/cli/tui/views/ProposalList.d.ts +17 -0
  193. package/dist/cli/tui/views/ProposalList.d.ts.map +1 -0
  194. package/dist/cli/tui/views/ProposalList.js +126 -0
  195. package/dist/cli/tui/views/ProposalList.js.map +1 -0
  196. package/dist/cli/tui/views/SettingsView.d.ts +12 -0
  197. package/dist/cli/tui/views/SettingsView.d.ts.map +1 -0
  198. package/dist/cli/tui/views/SettingsView.js +203 -0
  199. package/dist/cli/tui/views/SettingsView.js.map +1 -0
  200. package/dist/cli/tui/views/SimulationView.d.ts +12 -0
  201. package/dist/cli/tui/views/SimulationView.d.ts.map +1 -0
  202. package/dist/cli/tui/views/SimulationView.js +112 -0
  203. package/dist/cli/tui/views/SimulationView.js.map +1 -0
  204. package/dist/cli/tui/views/StageView.d.ts +12 -0
  205. package/dist/cli/tui/views/StageView.d.ts.map +1 -0
  206. package/dist/cli/tui/views/StageView.js +215 -0
  207. package/dist/cli/tui/views/StageView.js.map +1 -0
  208. package/dist/constants.d.ts +1 -0
  209. package/dist/constants.d.ts.map +1 -1
  210. package/dist/constants.js +1 -0
  211. package/dist/constants.js.map +1 -1
  212. package/dist/data/bundled-cache.json +6651 -2485
  213. package/dist/discovery/governor-discovery.d.ts.map +1 -1
  214. package/dist/discovery/governor-discovery.js +2 -1
  215. package/dist/discovery/governor-discovery.js.map +1 -1
  216. package/dist/index.d.ts +22 -3
  217. package/dist/index.d.ts.map +1 -1
  218. package/dist/index.js +28 -3
  219. package/dist/index.js.map +1 -1
  220. package/dist/stages/l2-to-l1-message.d.ts +5 -0
  221. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  222. package/dist/stages/l2-to-l1-message.js +73 -7
  223. package/dist/stages/l2-to-l1-message.js.map +1 -1
  224. package/dist/stages/timelock.d.ts.map +1 -1
  225. package/dist/stages/timelock.js +10 -3
  226. package/dist/stages/timelock.js.map +1 -1
  227. package/dist/stages/utils.d.ts +5 -2
  228. package/dist/stages/utils.d.ts.map +1 -1
  229. package/dist/stages/utils.js +14 -6
  230. package/dist/stages/utils.js.map +1 -1
  231. package/dist/tracker/cache.d.ts +27 -0
  232. package/dist/tracker/cache.d.ts.map +1 -1
  233. package/dist/tracker/cache.js +50 -2
  234. package/dist/tracker/cache.js.map +1 -1
  235. package/dist/tracker/execute.d.ts.map +1 -1
  236. package/dist/tracker/execute.js +25 -1
  237. package/dist/tracker/execute.js.map +1 -1
  238. package/dist/types/stages.d.ts +15 -2
  239. package/dist/types/stages.d.ts.map +1 -1
  240. package/dist/types/stages.js.map +1 -1
  241. package/dist/types/tracking.d.ts +4 -0
  242. package/dist/types/tracking.d.ts.map +1 -1
  243. package/dist/utils/sanitize.d.ts +28 -0
  244. package/dist/utils/sanitize.d.ts.map +1 -0
  245. package/dist/utils/sanitize.js +52 -0
  246. package/dist/utils/sanitize.js.map +1 -0
  247. package/package.json +28 -16
  248. package/dist/cli/monitor.d.ts +0 -3
  249. package/dist/cli/monitor.d.ts.map +0 -1
  250. 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");
@@ -157,25 +201,6 @@ function getAppDataDir() {
157
201
  }
158
202
  return path.join(baseDir, "gov-tracker");
159
203
  }
160
- /**
161
- * Get the path to the bundled cache shipped with the npm package.
162
- * Returns undefined if the bundled cache doesn't exist.
163
- */
164
- function getBundledCachePath() {
165
- // Try multiple paths to support both development (ts-node) and production (compiled)
166
- // When compiled: dist/cli/monitor.js -> dist/data/bundled-cache.json
167
- // In development: src/cli/monitor.ts -> data/bundled-cache.json
168
- const candidates = [
169
- path.join(__dirname, "..", "data", "bundled-cache.json"), // dist/cli -> dist/data
170
- path.join(__dirname, "..", "..", "data", "bundled-cache.json"), // src/cli -> data
171
- ];
172
- for (const candidate of candidates) {
173
- if (fs.existsSync(candidate)) {
174
- return candidate;
175
- }
176
- }
177
- return undefined;
178
- }
179
204
  /**
180
205
  * Get the default cache path and ensure the directory exists.
181
206
  * If user cache doesn't exist, copies bundled cache (if available) to bootstrap.
@@ -196,7 +221,7 @@ function getDefaultCachePath() {
196
221
  const userCachePath = path.join(appDataDir, "gov-tracker-cache.json");
197
222
  // If user cache doesn't exist, try to copy bundled cache
198
223
  if (!fs.existsSync(userCachePath)) {
199
- const bundledPath = getBundledCachePath();
224
+ const bundledPath = (0, index_1.getBundledCachePath)();
200
225
  if (bundledPath) {
201
226
  try {
202
227
  fs.copyFileSync(bundledPath, userCachePath);
@@ -222,16 +247,16 @@ function createProgressCallback() {
222
247
  console.log(` [${currentIndex + 1}/${totalStages}] ${(0, index_1.formatStageTitle)(stage.type)} (${stage.chain}): ${stage.status}`);
223
248
  };
224
249
  }
225
- const program = new commander_1.Command()
226
- .name("monitor")
227
- .description("Monitor Arbitrum governance proposals")
228
- .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());
229
254
  // ============================================================================
230
255
  // Run Command
231
256
  // ============================================================================
232
257
  const runCmd = program
233
- .command("run")
234
- .description("Discover, track, and optionally prepare/execute");
258
+ .command("run", { isDefault: true })
259
+ .description("Discover, track, and optionally prepare/execute (default command)");
235
260
  (0, cli_1.addOptions)(runCmd, cli_1.rpcOptions);
236
261
  (0, cli_1.addOptions)(runCmd, cli_1.executionOptions);
237
262
  (0, cli_1.addOptions)(runCmd, (0, cli_1.chunkingOptions)(index_1.CHUNK_SIZES.L1, index_1.CHUNK_SIZES.L2));
@@ -399,6 +424,7 @@ trackCmd
399
424
  .addOption(cli_1.cacheOptions.force)
400
425
  .addOption(cli_1.cacheOptions.noCache)
401
426
  .addOption(cli_1.verboseOption)
427
+ .option("-i, --inspect", "Decode and inspect calldata (with tracking)")
402
428
  .option("--inspect-only", "Decode and inspect calldata without tracking")
403
429
  .option("--show-simulation", "Show simulation data for each call")
404
430
  .action(async (txHash, opts) => {
@@ -452,38 +478,36 @@ trackCmd
452
478
  // Normal tracking flow
453
479
  console.log(`Tracking from tx: ${txHash}\n`);
454
480
  const shouldPrepare = opts.prepare || opts.write || opts.prepareCompleted || opts.preparePending;
455
- const { results, preparations, preparedTransactions } = !opts.inspectOnly
456
- ? await (0, cli_1.trackAndPrepare)(tracker, txHash, {
457
- prepare: shouldPrepare,
458
- prepareCompleted: opts.prepareCompleted,
459
- preparePending: opts.preparePending,
460
- }, providers)
461
- : { 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);
462
486
  // Format tracking output
463
- if (!opts.inspectOnly) {
464
- results.forEach((r, i) => {
465
- const label = results.length > 1 ? `Operation ${i + 1}/${results.length}` : undefined;
466
- console.log((0, cli_1.formatTrackingResult)(r, label));
467
- });
468
- // Show all prepared transactions
469
- if (preparedTransactions.length > 0) {
470
- console.log(`\n${(0, cli_1.formatMultiplePreparedTransactions)(preparedTransactions)}`);
471
- }
472
- // Show preparation errors
473
- const failedPreparations = preparations.filter((p) => !p.success);
474
- failedPreparations.forEach((prep) => {
475
- console.log(`\n[PREPARE ERROR] ${prep.error}`);
476
- });
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)}`);
477
494
  }
478
- // Extract calldata for decoding
479
- if (results.length > 0 && results[0].stages.length > 0) {
480
- const { calldatas: extractedCalldatas, targets: extractedTargets, values: extractedValues, } = (0, calldata_1.extractCalldataFromStage)(results[0].stages[0]);
481
- calldatas = extractedCalldatas;
482
- targets = extractedTargets;
483
- 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
+ }
484
508
  }
485
509
  // Execute if --write (only when not in inspect-only mode)
486
- if (opts.write && preparedTransactions.length > 0 && !opts.inspectOnly) {
510
+ if (opts.write && preparedTransactions.length > 0) {
487
511
  const signer = (0, cli_1.createSigner)(opts.privateKey);
488
512
  console.log(`\n=== Executing with ${signer.address} ===`);
489
513
  let currentPreparedTxs = preparedTransactions;
@@ -523,7 +547,7 @@ trackCmd
523
547
  }
524
548
  }
525
549
  // Decode and display calldata if requested
526
- if (opts.showSimulation || opts.inspectOnly) {
550
+ if (opts.showSimulation || opts.inspectOnly || opts.inspect) {
527
551
  if (calldatas.length === 0) {
528
552
  console.error("No calldata available for decoding");
529
553
  process.exit(1);
@@ -589,7 +613,7 @@ const electionCmd = program
589
613
  electionCmd
590
614
  .addOption(cli_1.verboseOption)
591
615
  .option("--write", "Create election if ready (requires --private-key)")
592
- .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"))
593
617
  .action(async (opts) => {
594
618
  if (opts.verbose)
595
619
  debug_1.default.enable("gov-tracker:*");
@@ -623,5 +647,55 @@ electionCmd
623
647
  healthCheckUrl: opts.healthCheckUrl,
624
648
  });
625
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
+ .option("--log-file <path>", "Write debug logs to file (for debugging TUI)")
661
+ .option("--debug-namespaces <pattern>", "Debug namespaces to enable (default: gov-tracker:*)")
662
+ .action(async (opts) => {
663
+ try {
664
+ const { runTui } = await Promise.resolve().then(() => __importStar(require("./tui")));
665
+ const { loadConfig } = await Promise.resolve().then(() => __importStar(require("./tui/config.js")));
666
+ // Load TUI config for RPC URLs (used as fallback before env vars)
667
+ const tuiConfig = loadConfig();
668
+ // Merge: CLI args > env vars > saved config > public defaults
669
+ const mergedOpts = {
670
+ l2Rpc: opts.l2Rpc || process.env.ARB1_RPC || tuiConfig.rpc.l2Url || undefined,
671
+ l1Rpc: opts.l1Rpc || process.env.ETH_RPC || tuiConfig.rpc.l1Url || undefined,
672
+ novaRpc: opts.novaRpc || process.env.NOVA_RPC || tuiConfig.rpc.novaUrl || undefined,
673
+ };
674
+ const providers = (0, cli_1.createProvidersFromOptions)(mergedOpts);
675
+ // Use config cache path if set and no CLI arg provided
676
+ const cachePath = opts.cache !== DEFAULT_CACHE_PATH ? opts.cache : tuiConfig.cache.path || opts.cache;
677
+ // Debug settings: CLI args > saved config > defaults
678
+ const logFile = opts.logFile || tuiConfig.debug.logFile || undefined;
679
+ const debugNamespaces = opts.debugNamespaces || tuiConfig.debug.namespaces || "gov-tracker:*";
680
+ // Enable debug with namespaces if log file is specified or verbose mode
681
+ if (logFile || opts.verbose) {
682
+ debug_1.default.enable(debugNamespaces);
683
+ }
684
+ await runTui({
685
+ cachePath,
686
+ providers,
687
+ verbose: opts.verbose,
688
+ logFile,
689
+ });
690
+ }
691
+ catch (error) {
692
+ if (error.code === "MODULE_NOT_FOUND") {
693
+ console.error("Error: TUI requires 'ink' and 'react' packages.");
694
+ console.error("Install them with: yarn add ink react");
695
+ process.exit(1);
696
+ }
697
+ throw error;
698
+ }
699
+ });
626
700
  program.parse();
627
- //# sourceMappingURL=monitor.js.map
701
+ //# 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,7 +43,7 @@ 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;
@@ -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":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,oBAAoB,EAEpB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EAMb,kBAAkB,EAIlB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EAMpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAM9B,gDAAgD;AAChD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,yDAAyD;AACzD,eAAO,MAAM,uBAAuB;IAClC,0DAA0D;;IAE1D,uCAAuC;;CAExC,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAMD,eAAO,MAAM,UAAU,UAItB,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,aAAa,QAAwD,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB,wDAAwD;yBACnC,MAAM;IAC3B,2DAA2D;;IAE3D,6BAA6B;;CAE9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAM5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,EAAE,WAAW,MAAM,aASnE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,UAStB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,UAIvB,CAAC;AAEF,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAE7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAOjG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EACpD,OAAO,EAAE,MAAM,GACd;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CASjG;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;IAC7C,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;CAChD;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,cAAc,CA0BjB;AAMD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAK9F;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAE9D;AAMD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,SAAS,EAAE,cAAc,EACzB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiEhE;AAMD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,CAoBlE;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,oBAAoB,EAAE,mBAAmB,EAAE,GAC1C,MAAM,CAuBR;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAwEnF;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,MAAM,CAyDtF;AAkBD,2CAA2C;AAC3C,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,OAAO,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE,OAAO,CAAC,IAAI,CAAC,CAgDf;AAMD,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AA4HD,wBAAsB,eAAe,CACnC,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,cAAc,EACzB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC;IACT,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,UAAU,EAAE,mBAAmB,CAAC;CACjC,CAAC,CA8ND;AAMD,wBAAsB,eAAe,CACnC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,YAAK,EACzF,SAAS,EAAE,cAAc,GACxB,OAAO,CAAC;IACT,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;CAC7C,CAAC,CAYD"}
@@ -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,12 +66,12 @@ 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"),
@@ -80,8 +82,8 @@ exports.cacheOptions = {
80
82
  * Execution-related options for commands that can prepare/execute transactions
81
83
  */
82
84
  exports.executionOptions = [
83
- new commander_1.Option("--prepare", "Prepare transactions for ready stages (dry-run)"),
84
- 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)"),
85
87
  new commander_1.Option("--private-key <key>", "Private key for execution").env("PRIVATE_KEY"),
86
88
  new commander_1.Option("--prepare-completed", "Prepare completed stages (for historical validation)"),
87
89
  new commander_1.Option("--prepare-pending", "Prepare pending stages (waiting for delays)"),
@@ -138,10 +140,21 @@ function parseChunkingConfig(opts, delayMs) {
138
140
  }
139
141
  function createProvidersFromOptions(opts) {
140
142
  const l2Rpc = opts.l2Rpc || process.env.ARB1_RPC || index_1.DEFAULT_RPC_URLS.ARB_ONE;
141
- const l1Rpc = opts.l1Rpc || process.env.ETH_RPC;
143
+ const l1Rpc = opts.l1Rpc || process.env.ETH_RPC || index_1.DEFAULT_RPC_URLS.ETHEREUM;
142
144
  const novaRpc = opts.novaRpc || process.env.NOVA_RPC || index_1.DEFAULT_RPC_URLS.NOVA;
143
- if (!l1Rpc) {
144
- 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.`);
145
158
  }
146
159
  // Use StaticJsonRpcProvider to avoid automatic chainId detection on every call
147
160
  return {
@@ -426,10 +439,13 @@ async function runWithLoop(cycleFn, options) {
426
439
  }
427
440
  if (options.healthCheckUrl) {
428
441
  try {
429
- 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);
430
446
  }
431
447
  catch {
432
- // Silently ignore health check errors
448
+ // Silently ignore health check errors (including timeouts)
433
449
  }
434
450
  }
435
451
  if (running)
@@ -539,18 +555,41 @@ async function runMonitorCycle(tracker, providers, options = {}) {
539
555
  const blockLag = options.blockLag ?? exports.DEFAULT_BLOCK_LAG;
540
556
  const currentBlock = Math.max(0, tipBlock - blockLag);
541
557
  const concurrency = options.concurrency ?? 1;
542
- const limit = (0, p_limit_1.default)(concurrency);
543
- // Optional startBlock override (watermarks are exclusive, so subtract 1)
544
- const startBlockWatermarks = options.startBlock
545
- ? {
558
+ const limit = (0, concurrency_1.pLimit)(concurrency);
559
+ const maxAgeDays = options.maxAgeDays ?? exports.DEFAULT_MAX_AGE_DAYS;
560
+ // Calculate startBlock based on maxAgeDays if not explicitly provided
561
+ // ~7200 blocks per day on Arbitrum (12s block time on L1, ~250ms on L2)
562
+ const BLOCKS_PER_DAY = 86400 / 0.25; // ~345,600 blocks/day on Arbitrum One
563
+ let startBlockWatermarks;
564
+ if (options.startBlock !== undefined) {
565
+ // Explicit startBlock override (watermarks are exclusive, so subtract 1)
566
+ startBlockWatermarks = {
546
567
  constitutionalGovernor: options.startBlock - 1,
547
568
  nonConstitutionalGovernor: options.startBlock - 1,
548
569
  electionNomineeGovernor: options.startBlock - 1,
549
570
  electionMemberGovernor: options.startBlock - 1,
550
571
  l2ConstitutionalTimelock: options.startBlock - 1,
551
572
  l2NonConstitutionalTimelock: options.startBlock - 1,
573
+ };
574
+ }
575
+ else {
576
+ // Check if cache has watermarks, if not use maxAgeDays to limit discovery
577
+ const cachedWatermarks = await tracker.loadWatermarks();
578
+ const hasWatermarks = cachedWatermarks && Object.values(cachedWatermarks).some((v) => v !== undefined);
579
+ if (!hasWatermarks) {
580
+ // No cache - calculate start block from maxAgeDays
581
+ const defaultStartBlock = Math.max(0, currentBlock - Math.floor(maxAgeDays * BLOCKS_PER_DAY));
582
+ startBlockWatermarks = {
583
+ constitutionalGovernor: defaultStartBlock,
584
+ nonConstitutionalGovernor: defaultStartBlock,
585
+ electionNomineeGovernor: defaultStartBlock,
586
+ electionMemberGovernor: defaultStartBlock,
587
+ l2ConstitutionalTimelock: defaultStartBlock,
588
+ l2NonConstitutionalTimelock: defaultStartBlock,
589
+ };
590
+ console.log(`No cached watermarks found. Starting discovery from ~${maxAgeDays} days ago (block ${defaultStartBlock})`);
552
591
  }
553
- : undefined;
592
+ }
554
593
  const targets = (0, index_1.buildDefaultTargets)();
555
594
  const discoveryResult = await tracker.discoverAll(targets, currentBlock, startBlockWatermarks);
556
595
  const result = { tracked: 0, prepared: 0, errors: 0, retracked: 0 };
@@ -607,7 +646,6 @@ async function runMonitorCycle(tracker, providers, options = {}) {
607
646
  });
608
647
  }
609
648
  // Query incomplete checkpoints first to avoid duplicate tracking
610
- const maxAgeDays = options.maxAgeDays ?? exports.DEFAULT_MAX_AGE_DAYS;
611
649
  const incompleteCheckpoints = await tracker.queryIncompleteCheckpoints({
612
650
  maxAgeDays,
613
651
  maxErrorCount: exports.MAX_CONSECUTIVE_ERRORS,