@gzeoneth/gov-tracker 0.4.0 → 0.5.0

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 (271) hide show
  1. package/README.md +95 -11
  2. package/dist/abis-json.d.ts +2315 -0
  3. package/dist/abis-json.d.ts.map +1 -0
  4. package/dist/abis-json.js +3207 -0
  5. package/dist/abis-json.js.map +1 -0
  6. package/dist/abis.d.ts +12 -7
  7. package/dist/abis.d.ts.map +1 -1
  8. package/dist/abis.js +32 -1
  9. package/dist/abis.js.map +1 -1
  10. package/dist/calldata/decoder.d.ts.map +1 -1
  11. package/dist/calldata/decoder.js +33 -28
  12. package/dist/calldata/decoder.js.map +1 -1
  13. package/dist/calldata/parameter-decoder.d.ts.map +1 -1
  14. package/dist/calldata/parameter-decoder.js +19 -25
  15. package/dist/calldata/parameter-decoder.js.map +1 -1
  16. package/dist/calldata/retryable-ticket.d.ts +2 -2
  17. package/dist/calldata/retryable-ticket.d.ts.map +1 -1
  18. package/dist/calldata/retryable-ticket.js +17 -12
  19. package/dist/calldata/retryable-ticket.js.map +1 -1
  20. package/dist/calldata/signature-lookup.js +5 -4
  21. package/dist/calldata/signature-lookup.js.map +1 -1
  22. package/dist/cli/cli.js +112 -20
  23. package/dist/cli/cli.js.map +1 -1
  24. package/dist/cli/lib/cli.d.ts +4 -2
  25. package/dist/cli/lib/cli.d.ts.map +1 -1
  26. package/dist/cli/lib/cli.js +34 -18
  27. package/dist/cli/lib/cli.js.map +1 -1
  28. package/dist/cli/lib/election-check.d.ts.map +1 -1
  29. package/dist/cli/lib/election-check.js +2 -1
  30. package/dist/cli/lib/election-check.js.map +1 -1
  31. package/dist/cli/lib/json-state.js +1 -1
  32. package/dist/cli/lib/json-state.js.map +1 -1
  33. package/dist/cli/tui/components/StageProgress.js +1 -1
  34. package/dist/cli/tui/components/StageProgress.js.map +1 -1
  35. package/dist/cli/tui/components/StageRow.d.ts.map +1 -1
  36. package/dist/cli/tui/components/StageRow.js +15 -20
  37. package/dist/cli/tui/components/StageRow.js.map +1 -1
  38. package/dist/cli/tui/components/VotingStats.d.ts.map +1 -1
  39. package/dist/cli/tui/components/VotingStats.js +2 -1
  40. package/dist/cli/tui/components/VotingStats.js.map +1 -1
  41. package/dist/cli/tui/hooks/useCache.d.ts.map +1 -1
  42. package/dist/cli/tui/hooks/useCache.js +2 -1
  43. package/dist/cli/tui/hooks/useCache.js.map +1 -1
  44. package/dist/cli/tui/hooks/useElectionData.d.ts.map +1 -1
  45. package/dist/cli/tui/hooks/useElectionData.js +3 -2
  46. package/dist/cli/tui/hooks/useElectionData.js.map +1 -1
  47. package/dist/cli/tui/hooks/useNavigation.d.ts.map +1 -1
  48. package/dist/cli/tui/hooks/useNavigation.js +2 -3
  49. package/dist/cli/tui/hooks/useNavigation.js.map +1 -1
  50. package/dist/cli/tui/hooks/useProposals.d.ts.map +1 -1
  51. package/dist/cli/tui/hooks/useProposals.js +26 -36
  52. package/dist/cli/tui/hooks/useProposals.js.map +1 -1
  53. package/dist/cli/tui/hooks/useStageCalldata.d.ts.map +1 -1
  54. package/dist/cli/tui/hooks/useStageCalldata.js +2 -1
  55. package/dist/cli/tui/hooks/useStageCalldata.js.map +1 -1
  56. package/dist/cli/tui/utils/index.d.ts +7 -7
  57. package/dist/cli/tui/utils/index.d.ts.map +1 -1
  58. package/dist/cli/tui/utils/index.js +18 -13
  59. package/dist/cli/tui/utils/index.js.map +1 -1
  60. package/dist/cli/tui/utils/markdown-parser.d.ts +5 -0
  61. package/dist/cli/tui/utils/markdown-parser.d.ts.map +1 -1
  62. package/dist/cli/tui/utils/markdown-parser.js +16 -0
  63. package/dist/cli/tui/utils/markdown-parser.js.map +1 -1
  64. package/dist/cli/tui/utils/navigation.d.ts +1 -0
  65. package/dist/cli/tui/utils/navigation.d.ts.map +1 -1
  66. package/dist/cli/tui/utils/navigation.js +9 -5
  67. package/dist/cli/tui/utils/navigation.js.map +1 -1
  68. package/dist/cli/tui/utils/proposal-detail-helpers.js +6 -6
  69. package/dist/cli/tui/utils/proposal-detail-helpers.js.map +1 -1
  70. package/dist/cli/tui/utils/stage-status.d.ts +4 -0
  71. package/dist/cli/tui/utils/stage-status.d.ts.map +1 -1
  72. package/dist/cli/tui/utils/stage-status.js +47 -1
  73. package/dist/cli/tui/utils/stage-status.js.map +1 -1
  74. package/dist/cli/tui/utils/time.d.ts +4 -4
  75. package/dist/cli/tui/utils/time.d.ts.map +1 -1
  76. package/dist/cli/tui/utils/time.js +13 -11
  77. package/dist/cli/tui/utils/time.js.map +1 -1
  78. package/dist/cli/tui/views/CalldataView.d.ts.map +1 -1
  79. package/dist/cli/tui/views/CalldataView.js +3 -2
  80. package/dist/cli/tui/views/CalldataView.js.map +1 -1
  81. package/dist/cli/tui/views/DescriptionView.d.ts.map +1 -1
  82. package/dist/cli/tui/views/DescriptionView.js +4 -2
  83. package/dist/cli/tui/views/DescriptionView.js.map +1 -1
  84. package/dist/cli/tui/views/ElectionView.d.ts.map +1 -1
  85. package/dist/cli/tui/views/ElectionView.js +4 -9
  86. package/dist/cli/tui/views/ElectionView.js.map +1 -1
  87. package/dist/constants.d.ts +54 -23
  88. package/dist/constants.d.ts.map +1 -1
  89. package/dist/constants.js +78 -21
  90. package/dist/constants.js.map +1 -1
  91. package/dist/data/bundled-cache.json +393 -20
  92. package/dist/data/delegate-cache.json +118014 -0
  93. package/dist/deduplication.d.ts.map +1 -1
  94. package/dist/deduplication.js +34 -54
  95. package/dist/deduplication.js.map +1 -1
  96. package/dist/delegates/cache.d.ts +44 -0
  97. package/dist/delegates/cache.d.ts.map +1 -0
  98. package/dist/delegates/cache.js +202 -0
  99. package/dist/delegates/cache.js.map +1 -0
  100. package/dist/delegates/index.d.ts +13 -0
  101. package/dist/delegates/index.d.ts.map +1 -0
  102. package/dist/delegates/index.js +32 -0
  103. package/dist/delegates/index.js.map +1 -0
  104. package/dist/delegates/indexer.d.ts +32 -0
  105. package/dist/delegates/indexer.d.ts.map +1 -0
  106. package/dist/delegates/indexer.js +191 -0
  107. package/dist/delegates/indexer.js.map +1 -0
  108. package/dist/delegates/queries.d.ts +30 -0
  109. package/dist/delegates/queries.d.ts.map +1 -0
  110. package/dist/delegates/queries.js +79 -0
  111. package/dist/delegates/queries.js.map +1 -0
  112. package/dist/discovery/governor-discovery.d.ts +21 -1
  113. package/dist/discovery/governor-discovery.d.ts.map +1 -1
  114. package/dist/discovery/governor-discovery.js +47 -13
  115. package/dist/discovery/governor-discovery.js.map +1 -1
  116. package/dist/discovery/timelock-discovery.d.ts.map +1 -1
  117. package/dist/discovery/timelock-discovery.js +27 -30
  118. package/dist/discovery/timelock-discovery.js.map +1 -1
  119. package/dist/election/contracts.d.ts.map +1 -1
  120. package/dist/election/contracts.js +4 -1
  121. package/dist/election/contracts.js.map +1 -1
  122. package/dist/election/details.d.ts.map +1 -1
  123. package/dist/election/details.js +7 -3
  124. package/dist/election/details.js.map +1 -1
  125. package/dist/election/index.d.ts +3 -1
  126. package/dist/election/index.d.ts.map +1 -1
  127. package/dist/election/index.js +12 -1
  128. package/dist/election/index.js.map +1 -1
  129. package/dist/election/params.d.ts.map +1 -1
  130. package/dist/election/params.js +14 -28
  131. package/dist/election/params.js.map +1 -1
  132. package/dist/election/participants.d.ts.map +1 -1
  133. package/dist/election/participants.js +21 -26
  134. package/dist/election/participants.js.map +1 -1
  135. package/dist/election/proposal-ids.js +19 -22
  136. package/dist/election/proposal-ids.js.map +1 -1
  137. package/dist/election/status.d.ts +28 -1
  138. package/dist/election/status.d.ts.map +1 -1
  139. package/dist/election/status.js +116 -3
  140. package/dist/election/status.js.map +1 -1
  141. package/dist/election/write.d.ts +132 -0
  142. package/dist/election/write.d.ts.map +1 -0
  143. package/dist/election/write.js +184 -0
  144. package/dist/election/write.js.map +1 -0
  145. package/dist/governance/index.d.ts +5 -0
  146. package/dist/governance/index.d.ts.map +1 -0
  147. package/dist/governance/index.js +28 -0
  148. package/dist/governance/index.js.map +1 -0
  149. package/dist/governance/read.d.ts +50 -0
  150. package/dist/governance/read.d.ts.map +1 -0
  151. package/dist/governance/read.js +194 -0
  152. package/dist/governance/read.js.map +1 -0
  153. package/dist/governance/write.d.ts +54 -0
  154. package/dist/governance/write.d.ts.map +1 -0
  155. package/dist/governance/write.js +132 -0
  156. package/dist/governance/write.js.map +1 -0
  157. package/dist/index.d.ts +40 -21
  158. package/dist/index.d.ts.map +1 -1
  159. package/dist/index.js +149 -15
  160. package/dist/index.js.map +1 -1
  161. package/dist/simulation/index.d.ts +4 -1
  162. package/dist/simulation/index.d.ts.map +1 -1
  163. package/dist/simulation/index.js +5 -1
  164. package/dist/simulation/index.js.map +1 -1
  165. package/dist/simulation/simulation-data.d.ts +33 -2
  166. package/dist/simulation/simulation-data.d.ts.map +1 -1
  167. package/dist/simulation/simulation-data.js +68 -24
  168. package/dist/simulation/simulation-data.js.map +1 -1
  169. package/dist/simulation/tenderly-payloads.d.ts +107 -0
  170. package/dist/simulation/tenderly-payloads.d.ts.map +1 -0
  171. package/dist/simulation/tenderly-payloads.js +103 -0
  172. package/dist/simulation/tenderly-payloads.js.map +1 -0
  173. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  174. package/dist/stages/l2-to-l1-message.js +43 -63
  175. package/dist/stages/l2-to-l1-message.js.map +1 -1
  176. package/dist/stages/proposal-queued.js.map +1 -1
  177. package/dist/stages/retryables.d.ts.map +1 -1
  178. package/dist/stages/retryables.js +10 -9
  179. package/dist/stages/retryables.js.map +1 -1
  180. package/dist/stages/timelock.d.ts +43 -3
  181. package/dist/stages/timelock.d.ts.map +1 -1
  182. package/dist/stages/timelock.js +170 -53
  183. package/dist/stages/timelock.js.map +1 -1
  184. package/dist/stages/utils.d.ts +56 -1
  185. package/dist/stages/utils.d.ts.map +1 -1
  186. package/dist/stages/utils.js +146 -30
  187. package/dist/stages/utils.js.map +1 -1
  188. package/dist/tracker/bundled-cache.d.ts +136 -0
  189. package/dist/tracker/bundled-cache.d.ts.map +1 -0
  190. package/dist/tracker/bundled-cache.js +207 -0
  191. package/dist/tracker/bundled-cache.js.map +1 -0
  192. package/dist/tracker/checkpoint-helpers.d.ts +20 -1
  193. package/dist/tracker/checkpoint-helpers.d.ts.map +1 -1
  194. package/dist/tracker/checkpoint-helpers.js +41 -7
  195. package/dist/tracker/checkpoint-helpers.js.map +1 -1
  196. package/dist/tracker/discovery.d.ts +3 -0
  197. package/dist/tracker/discovery.d.ts.map +1 -1
  198. package/dist/tracker/discovery.js +59 -34
  199. package/dist/tracker/discovery.js.map +1 -1
  200. package/dist/tracker/pipeline.d.ts +3 -10
  201. package/dist/tracker/pipeline.d.ts.map +1 -1
  202. package/dist/tracker/pipeline.js +18 -32
  203. package/dist/tracker/pipeline.js.map +1 -1
  204. package/dist/tracker/query.d.ts +1 -0
  205. package/dist/tracker/query.d.ts.map +1 -1
  206. package/dist/tracker/query.js +28 -36
  207. package/dist/tracker/query.js.map +1 -1
  208. package/dist/tracker/state.d.ts +3 -2
  209. package/dist/tracker/state.d.ts.map +1 -1
  210. package/dist/tracker/state.js +5 -4
  211. package/dist/tracker/state.js.map +1 -1
  212. package/dist/tracker.d.ts +33 -11
  213. package/dist/tracker.d.ts.map +1 -1
  214. package/dist/tracker.js +76 -43
  215. package/dist/tracker.js.map +1 -1
  216. package/dist/types/config.d.ts +39 -3
  217. package/dist/types/config.d.ts.map +1 -1
  218. package/dist/types/delegates.d.ts +55 -0
  219. package/dist/types/delegates.d.ts.map +1 -0
  220. package/dist/types/delegates.js +9 -0
  221. package/dist/types/delegates.js.map +1 -0
  222. package/dist/types/election.d.ts +23 -0
  223. package/dist/types/election.d.ts.map +1 -1
  224. package/dist/types/index.d.ts +3 -2
  225. package/dist/types/index.d.ts.map +1 -1
  226. package/dist/types/index.js.map +1 -1
  227. package/dist/types/simulation.d.ts +2 -2
  228. package/dist/types/simulation.d.ts.map +1 -1
  229. package/dist/types/tracking.d.ts +2 -2
  230. package/dist/types/tracking.d.ts.map +1 -1
  231. package/dist/utils/chain.d.ts +5 -1
  232. package/dist/utils/chain.d.ts.map +1 -1
  233. package/dist/utils/chain.js +7 -0
  234. package/dist/utils/chain.js.map +1 -1
  235. package/dist/utils/formatters.d.ts +2 -6
  236. package/dist/utils/formatters.d.ts.map +1 -1
  237. package/dist/utils/formatters.js +9 -12
  238. package/dist/utils/formatters.js.map +1 -1
  239. package/dist/utils/log-filters.js +1 -1
  240. package/dist/utils/log-filters.js.map +1 -1
  241. package/dist/utils/logger.d.ts +2 -0
  242. package/dist/utils/logger.d.ts.map +1 -1
  243. package/dist/utils/logger.js +2 -0
  244. package/dist/utils/logger.js.map +1 -1
  245. package/dist/utils/multicall.d.ts +0 -1
  246. package/dist/utils/multicall.d.ts.map +1 -1
  247. package/dist/utils/rpc-utils.d.ts +5 -0
  248. package/dist/utils/rpc-utils.d.ts.map +1 -1
  249. package/dist/utils/rpc-utils.js +9 -1
  250. package/dist/utils/rpc-utils.js.map +1 -1
  251. package/dist/utils/stage-metadata.d.ts +19 -0
  252. package/dist/utils/stage-metadata.d.ts.map +1 -1
  253. package/dist/utils/stage-metadata.js +44 -0
  254. package/dist/utils/stage-metadata.js.map +1 -1
  255. package/dist/utils/timing.d.ts +3 -10
  256. package/dist/utils/timing.d.ts.map +1 -1
  257. package/dist/utils/timing.js +9 -22
  258. package/dist/utils/timing.js.map +1 -1
  259. package/package.json +7 -3
  260. package/dist/cli/tui/utils/calldata-formatter.d.ts +0 -7
  261. package/dist/cli/tui/utils/calldata-formatter.d.ts.map +0 -1
  262. package/dist/cli/tui/utils/calldata-formatter.js +0 -14
  263. package/dist/cli/tui/utils/calldata-formatter.js.map +0 -1
  264. package/dist/cli/tui/utils/stage-formatter.d.ts +0 -7
  265. package/dist/cli/tui/utils/stage-formatter.d.ts.map +0 -1
  266. package/dist/cli/tui/utils/stage-formatter.js +0 -13
  267. package/dist/cli/tui/utils/stage-formatter.js.map +0 -1
  268. package/dist/cli/tui/utils/text.d.ts +0 -7
  269. package/dist/cli/tui/utils/text.d.ts.map +0 -1
  270. package/dist/cli/tui/utils/text.js +0 -12
  271. package/dist/cli/tui/utils/text.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/stages/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/stages/utils.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ exports.getStagesForTrackingPath = getStagesForTrackingPath;
13
13
  exports.initializeStagesForTrackingPath = initializeStagesForTrackingPath;
14
14
  exports.isTimelockPathStage = isTimelockPathStage;
15
15
  exports.splitStages = splitStages;
16
+ exports.mergeStages = mergeStages;
17
+ exports.normalizeTimeline = normalizeTimeline;
16
18
  exports.hasTimelockProgress = hasTimelockProgress;
17
19
  exports.findStage = findStage;
18
20
  exports.updateStageInList = updateStageInList;
@@ -24,6 +26,7 @@ exports.findExecutableStage = findExecutableStage;
24
26
  exports.findAllExecutableStages = findAllExecutableStages;
25
27
  exports.needsAction = needsAction;
26
28
  exports.getTrackingStatusSummary = getTrackingStatusSummary;
29
+ exports.getLifecyclePhase = getLifecyclePhase;
27
30
  exports.extractOperationId = extractOperationId;
28
31
  exports.isConstitutional = isConstitutional;
29
32
  exports.isTimelockStage = isTimelockStage;
@@ -110,7 +113,7 @@ function createStage(type, chain, status = "NOT_STARTED") {
110
113
  executable: false,
111
114
  };
112
115
  }
113
- /** Common timelock stages shared by all paths */
116
+ /** Common timelock stages shared by all paths (single source of truth) */
114
117
  const COMMON_TIMELOCK_STAGES = [
115
118
  "L2_TIMELOCK",
116
119
  "L2_TO_L1_MESSAGE",
@@ -163,13 +166,8 @@ function initializeStagesForTrackingPath(path) {
163
166
  // ============================================================================
164
167
  // Modular Caching: Stage Splitting
165
168
  // ============================================================================
166
- /** All timelock path stages for modular caching (full path, not just executable) */
167
- const TIMELOCK_PATH_STAGES = new Set([
168
- "L2_TIMELOCK",
169
- "L2_TO_L1_MESSAGE",
170
- "L1_TIMELOCK",
171
- "RETRYABLE_EXECUTED",
172
- ]);
169
+ /** Timelock path stages as a Set (derived from COMMON_TIMELOCK_STAGES) */
170
+ const TIMELOCK_PATH_STAGES = new Set(COMMON_TIMELOCK_STAGES);
173
171
  /**
174
172
  * Check if a stage type is part of the timelock path (for modular caching).
175
173
  * Includes all stages after proposal/election execution: L2_TIMELOCK → RETRYABLE_EXECUTED
@@ -191,6 +189,84 @@ function splitStages(stages) {
191
189
  const timelockStages = stages.filter((s) => isTimelockPathStage(s.type));
192
190
  return { parentStages, timelockStages };
193
191
  }
192
+ /**
193
+ * Canonical stage ordering for normalization.
194
+ * Matches the natural flow: election/governor → timelock path.
195
+ */
196
+ const STAGE_ORDER = {
197
+ // Election path
198
+ CREATE_ELECTION: 0,
199
+ NOMINEE_ELECTION: 1,
200
+ NOMINEE_VETTING: 2,
201
+ MEMBER_ELECTION: 3,
202
+ // Governor path
203
+ PROPOSAL_CREATED: 10,
204
+ VOTING_ACTIVE: 11,
205
+ PROPOSAL_QUEUED: 12,
206
+ // Shared timelock path
207
+ L2_TIMELOCK: 20,
208
+ L2_TO_L1_MESSAGE: 21,
209
+ L1_TIMELOCK: 22,
210
+ RETRYABLE_EXECUTED: 23,
211
+ };
212
+ /**
213
+ * Merge stages from different sources into a single array.
214
+ *
215
+ * Useful for combining stages from a governor proposal checkpoint
216
+ * with its linked timelock checkpoint into a unified timeline.
217
+ *
218
+ * When duplicates exist (same type), prefers the stage with more progress:
219
+ * 1. Higher status priority (COMPLETED > READY > PENDING > NOT_STARTED)
220
+ * 2. More transactions recorded
221
+ *
222
+ * @param primaryStages - Primary stage array (typically from governor/election)
223
+ * @param secondaryStages - Secondary stages to merge (typically from timelock)
224
+ * @returns Merged array with duplicates resolved
225
+ */
226
+ function mergeStages(primaryStages, secondaryStages) {
227
+ const STATUS_PRIORITY = {
228
+ COMPLETED: 5,
229
+ FAILED: 4,
230
+ CANCELED: 4,
231
+ READY: 3,
232
+ PENDING: 2,
233
+ SKIPPED: 1,
234
+ NOT_STARTED: 0,
235
+ };
236
+ const stageMap = new Map();
237
+ // Add primary stages first
238
+ for (const stage of primaryStages) {
239
+ stageMap.set(stage.type, stage);
240
+ }
241
+ // Merge secondary stages, keeping the one with more progress
242
+ for (const stage of secondaryStages) {
243
+ const existing = stageMap.get(stage.type);
244
+ if (!existing) {
245
+ stageMap.set(stage.type, stage);
246
+ continue;
247
+ }
248
+ const existingPriority = STATUS_PRIORITY[existing.status];
249
+ const newPriority = STATUS_PRIORITY[stage.status];
250
+ // Prefer higher status, or more transactions if same status
251
+ if (newPriority > existingPriority ||
252
+ (newPriority === existingPriority && stage.transactions.length > existing.transactions.length)) {
253
+ stageMap.set(stage.type, stage);
254
+ }
255
+ }
256
+ return Array.from(stageMap.values());
257
+ }
258
+ /**
259
+ * Normalize stages into canonical pipeline order.
260
+ *
261
+ * Sorts stages by their natural execution order in the governance pipeline.
262
+ * Useful after merging stages from multiple sources.
263
+ *
264
+ * @param stages - Array of stages in any order
265
+ * @returns Stages sorted in canonical order
266
+ */
267
+ function normalizeTimeline(stages) {
268
+ return [...stages].sort((a, b) => STAGE_ORDER[a.type] - STAGE_ORDER[b.type]);
269
+ }
194
270
  /**
195
271
  * Check if stages have any timelock progress (for determining if we need linked checkpoint).
196
272
  * Returns true if any timelock path stage has been started.
@@ -270,27 +346,67 @@ function needsAction(stages) {
270
346
  * Get summary of stage statuses (single pass)
271
347
  */
272
348
  function getTrackingStatusSummary(stages) {
273
- let completed = 0, pending = 0, ready = 0, failed = 0, skipped = 0;
274
- for (const stage of stages) {
275
- switch (stage.status) {
276
- case "COMPLETED":
277
- completed++;
278
- break;
279
- case "PENDING":
280
- pending++;
281
- break;
282
- case "READY":
283
- ready++;
284
- break;
285
- case "FAILED":
286
- failed++;
287
- break;
288
- case "SKIPPED":
289
- skipped++;
290
- break;
291
- }
349
+ const counts = { completed: 0, pending: 0, ready: 0, failed: 0, skipped: 0 };
350
+ const statusKey = {
351
+ COMPLETED: "completed",
352
+ PENDING: "pending",
353
+ READY: "ready",
354
+ FAILED: "failed",
355
+ SKIPPED: "skipped",
356
+ };
357
+ for (const { status } of stages) {
358
+ const key = statusKey[status];
359
+ if (key)
360
+ counts[key]++;
361
+ }
362
+ return { total: stages.length, ...counts };
363
+ }
364
+ /**
365
+ * Get the current lifecycle phase from tracked stages.
366
+ *
367
+ * @param stages - Array of tracked stages
368
+ * @returns The current lifecycle phase
369
+ *
370
+ * @example
371
+ * ```typescript
372
+ * const phase = getLifecyclePhase(result.stages);
373
+ * if (phase === "l1_delay") {
374
+ * console.log("Waiting for L1 timelock delay...");
375
+ * }
376
+ * ```
377
+ */
378
+ function getLifecyclePhase(stages) {
379
+ if (stages.length === 0)
380
+ return "unknown";
381
+ if (stages.some((s) => s.status === "FAILED"))
382
+ return "failed";
383
+ if (areAllStagesComplete(stages))
384
+ return "executed";
385
+ const stageMap = new Map(stages.map((s) => [s.type, s]));
386
+ const isComplete = (type) => isStageSuccess(stageMap.get(type)?.status);
387
+ const isWaiting = (type) => {
388
+ const status = stageMap.get(type)?.status;
389
+ return status === "PENDING" || status === "READY" || status === "NOT_STARTED";
390
+ };
391
+ // Governor path
392
+ if (stageMap.has("VOTING_ACTIVE") && isWaiting("VOTING_ACTIVE"))
393
+ return "voting";
394
+ if (stageMap.has("PROPOSAL_QUEUED") && isWaiting("PROPOSAL_QUEUED"))
395
+ return "queued";
396
+ // Timelock path
397
+ if (stageMap.has("L2_TIMELOCK") && isWaiting("L2_TIMELOCK"))
398
+ return "l2_delay";
399
+ if (stageMap.has("L2_TO_L1_MESSAGE") && isWaiting("L2_TO_L1_MESSAGE"))
400
+ return "bridging";
401
+ if (stageMap.has("L1_TIMELOCK") && isWaiting("L1_TIMELOCK"))
402
+ return "l1_delay";
403
+ if (stageMap.has("RETRYABLE_EXECUTED") && isWaiting("RETRYABLE_EXECUTED"))
404
+ return "finalizing";
405
+ // L2-only path: L2 timelock complete, remaining stages skipped
406
+ if (isComplete("L2_TIMELOCK") && stageMap.get("L2_TO_L1_MESSAGE")?.status === "SKIPPED") {
407
+ return "executed";
292
408
  }
293
- return { total: stages.length, completed, pending, ready, failed, skipped };
409
+ return "unknown";
294
410
  }
295
411
  /**
296
412
  * Extract the operationId from tracked stages.
@@ -400,8 +516,8 @@ async function checkOperationReady(timelockAddress, operationId, provider) {
400
516
  (0, multicall_1.buildCallInput)(timelockAddress, abis_1.timelockInterface, "isOperationReady", [operationId]),
401
517
  (0, multicall_1.buildCallInput)(timelockAddress, abis_1.timelockInterface, "isOperationDone", [operationId]),
402
518
  ]);
403
- const isReady = results[0];
404
- const isDone = results[1];
519
+ const isReady = results[0] ?? false;
520
+ const isDone = results[1] ?? false;
405
521
  if (isReady)
406
522
  return null; // Ready - no error
407
523
  if (isDone) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/stages/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/stages/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Bundled Cache Extraction Utilities
3
+ *
4
+ * Type-safe utilities for extracting data from the bundled cache JSON.
5
+ * These eliminate the need for consumers to parse checkpoint internals.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
10
+ * import { extractProposals, getWatermarksFromCache } from "@gzeoneth/gov-tracker";
11
+ *
12
+ * const proposals = extractProposals(bundledCache);
13
+ * const watermarks = getWatermarksFromCache(bundledCache);
14
+ * ```
15
+ */
16
+ import type { TrackingCheckpoint, TrackedStage, TimelockLink, DiscoveryWatermarks, VotingActiveData, ProposalState } from "../types";
17
+ /**
18
+ * Type for the bundled cache JSON structure
19
+ */
20
+ export type BundledCache = Record<string, TrackingCheckpoint>;
21
+ /**
22
+ * Extracted proposal metadata from a checkpoint
23
+ */
24
+ export interface ExtractedProposal {
25
+ cacheKey: string;
26
+ proposalId: string;
27
+ governorAddress: string;
28
+ creationTxHash: string;
29
+ stages: TrackedStage[];
30
+ isComplete: boolean;
31
+ timelockLink?: TimelockLink;
32
+ currentState?: ProposalState;
33
+ operationId?: string;
34
+ }
35
+ /**
36
+ * Extracted timelock operation metadata from a checkpoint
37
+ */
38
+ export interface ExtractedTimelockOp {
39
+ cacheKey: string;
40
+ timelockAddress: string;
41
+ operationId: string;
42
+ scheduledTxHash: string;
43
+ stages: TrackedStage[];
44
+ isComplete: boolean;
45
+ }
46
+ /**
47
+ * Extracted election metadata from a checkpoint
48
+ */
49
+ export interface ExtractedElection {
50
+ cacheKey: string;
51
+ electionIndex: number;
52
+ stages: TrackedStage[];
53
+ phase?: string;
54
+ isComplete: boolean;
55
+ }
56
+ /**
57
+ * Extract proposal metadata from bundled cache
58
+ *
59
+ * Filters to governor-type checkpoints (excludes elections, timelocks, discovery).
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
64
+ * const proposals = extractProposals(bundledCache);
65
+ *
66
+ * for (const p of proposals) {
67
+ * console.log(`Proposal ${p.proposalId}: ${p.isComplete ? "done" : "active"}`);
68
+ * }
69
+ * ```
70
+ */
71
+ export declare function extractProposals(cache: BundledCache): ExtractedProposal[];
72
+ /**
73
+ * Extract timelock operation metadata from bundled cache
74
+ *
75
+ * Filters to timelock-type checkpoints only.
76
+ */
77
+ export declare function extractTimelockOps(cache: BundledCache): ExtractedTimelockOp[];
78
+ /**
79
+ * Extract election metadata from bundled cache
80
+ *
81
+ * Filters to election-type checkpoints only.
82
+ */
83
+ export declare function extractElections(cache: BundledCache): ExtractedElection[];
84
+ /**
85
+ * Get discovery watermarks from bundled cache
86
+ *
87
+ * Returns the watermarks stored in the discovery:watermarks checkpoint.
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
92
+ * const watermarks = getWatermarksFromCache(bundledCache);
93
+ *
94
+ * if (watermarks) {
95
+ * console.log("Core Governor scanned to block:", watermarks.constitutionalGovernor);
96
+ * }
97
+ * ```
98
+ */
99
+ export declare function getWatermarksFromCache(cache: BundledCache): DiscoveryWatermarks | null;
100
+ /**
101
+ * Extract all operation IDs from governor checkpoints
102
+ *
103
+ * Returns a Map of proposalId -> operationId for all proposals that have
104
+ * been queued in a timelock.
105
+ *
106
+ * @param cache - The bundled cache object to extract from
107
+ * @returns Map of proposalId to operationId for queued proposals
108
+ */
109
+ export declare function extractOperationIds(cache: BundledCache): Map<string, string>;
110
+ /**
111
+ * Extract TimelockLink from stages array
112
+ *
113
+ * Helper to get timelock link data from completed PROPOSAL_QUEUED stage.
114
+ *
115
+ * @param stages - Array of tracked stages from a proposal
116
+ * @returns TimelockLink if PROPOSAL_QUEUED stage is complete, undefined otherwise
117
+ */
118
+ export declare function extractTimelockLinkFromStages(stages: TrackedStage[]): TimelockLink | undefined;
119
+ /**
120
+ * Get voting data from stages array
121
+ *
122
+ * Extracts typed vote counts and proposal state from VOTING_ACTIVE stage.
123
+ *
124
+ * @param stages - Array of tracked stages from a proposal
125
+ * @returns VotingActiveData if VOTING_ACTIVE stage exists, null otherwise
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * const votingData = getVotingDataFromStages(result.stages);
130
+ * if (votingData) {
131
+ * console.log(`For: ${votingData.forVotesRaw}, Against: ${votingData.againstVotesRaw}`);
132
+ * }
133
+ * ```
134
+ */
135
+ export declare function getVotingDataFromStages(stages: TrackedStage[]): VotingActiveData | null;
136
+ //# sourceMappingURL=bundled-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundled-cache.d.ts","sourceRoot":"","sources":["../../src/tracker/bundled-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EAKnB,gBAAgB,EAChB,aAAa,EACd,MAAM,UAAU,CAAC;AAIlB;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,EAAE,CA+BzE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,mBAAmB,EAAE,CAoB7E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,EAAE,CAoBzE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,mBAAmB,GAAG,IAAI,CAKtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAiB5E;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,GAAG,SAAS,CAa9F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAgB,GAAG,IAAI,CAMvF"}
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ /**
3
+ * Bundled Cache Extraction Utilities
4
+ *
5
+ * Type-safe utilities for extracting data from the bundled cache JSON.
6
+ * These eliminate the need for consumers to parse checkpoint internals.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
11
+ * import { extractProposals, getWatermarksFromCache } from "@gzeoneth/gov-tracker";
12
+ *
13
+ * const proposals = extractProposals(bundledCache);
14
+ * const watermarks = getWatermarksFromCache(bundledCache);
15
+ * ```
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.extractProposals = extractProposals;
19
+ exports.extractTimelockOps = extractTimelockOps;
20
+ exports.extractElections = extractElections;
21
+ exports.getWatermarksFromCache = getWatermarksFromCache;
22
+ exports.extractOperationIds = extractOperationIds;
23
+ exports.extractTimelockLinkFromStages = extractTimelockLinkFromStages;
24
+ exports.getVotingDataFromStages = getVotingDataFromStages;
25
+ const utils_1 = require("../stages/utils");
26
+ const checkpoint_helpers_1 = require("./checkpoint-helpers");
27
+ /**
28
+ * Extract proposal metadata from bundled cache
29
+ *
30
+ * Filters to governor-type checkpoints (excludes elections, timelocks, discovery).
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
35
+ * const proposals = extractProposals(bundledCache);
36
+ *
37
+ * for (const p of proposals) {
38
+ * console.log(`Proposal ${p.proposalId}: ${p.isComplete ? "done" : "active"}`);
39
+ * }
40
+ * ```
41
+ */
42
+ function extractProposals(cache) {
43
+ const results = [];
44
+ for (const [key, checkpoint] of Object.entries(cache)) {
45
+ if (checkpoint.input.type !== "governor")
46
+ continue;
47
+ if ((0, checkpoint_helpers_1.isElectionKey)(key) || (0, checkpoint_helpers_1.isTimelockOpKey)(key) || (0, checkpoint_helpers_1.isDiscoveryKey)(key))
48
+ continue;
49
+ const input = checkpoint.input;
50
+ const stages = checkpoint.cachedData?.completedStages ?? [];
51
+ const queuedStage = (0, utils_1.findStage)(stages, "PROPOSAL_QUEUED");
52
+ const votingStage = (0, utils_1.findStage)(stages, "VOTING_ACTIVE");
53
+ const timelockLink = extractTimelockLinkFromStages(stages);
54
+ const votingData = votingStage?.data;
55
+ const currentState = votingData?.proposalState;
56
+ results.push({
57
+ cacheKey: key,
58
+ proposalId: input.proposalId,
59
+ governorAddress: input.governorAddress,
60
+ creationTxHash: input.creationTxHash,
61
+ stages,
62
+ isComplete: stages.length > 0 && stages.every((s) => isTerminal(s.status)),
63
+ timelockLink,
64
+ currentState,
65
+ operationId: queuedStage?.data?.operationId,
66
+ });
67
+ }
68
+ return results;
69
+ }
70
+ /**
71
+ * Extract timelock operation metadata from bundled cache
72
+ *
73
+ * Filters to timelock-type checkpoints only.
74
+ */
75
+ function extractTimelockOps(cache) {
76
+ const results = [];
77
+ for (const [key, checkpoint] of Object.entries(cache)) {
78
+ if (checkpoint.input.type !== "timelock")
79
+ continue;
80
+ const input = checkpoint.input;
81
+ const stages = checkpoint.cachedData?.completedStages ?? [];
82
+ results.push({
83
+ cacheKey: key,
84
+ timelockAddress: input.timelockAddress,
85
+ operationId: input.operationId,
86
+ scheduledTxHash: input.scheduledTxHash,
87
+ stages,
88
+ isComplete: stages.length > 0 && stages.every((s) => isTerminal(s.status)),
89
+ });
90
+ }
91
+ return results;
92
+ }
93
+ /**
94
+ * Extract election metadata from bundled cache
95
+ *
96
+ * Filters to election-type checkpoints only.
97
+ */
98
+ function extractElections(cache) {
99
+ const results = [];
100
+ for (const [key, checkpoint] of Object.entries(cache)) {
101
+ if (checkpoint.input.type !== "election")
102
+ continue;
103
+ const input = checkpoint.input;
104
+ const stages = checkpoint.cachedData?.completedStages ?? [];
105
+ const electionStatus = checkpoint.cachedData?.electionStatus;
106
+ results.push({
107
+ cacheKey: key,
108
+ electionIndex: input.electionIndex,
109
+ stages,
110
+ phase: electionStatus?.phase,
111
+ isComplete: electionStatus?.phase === "COMPLETED",
112
+ });
113
+ }
114
+ return results;
115
+ }
116
+ /**
117
+ * Get discovery watermarks from bundled cache
118
+ *
119
+ * Returns the watermarks stored in the discovery:watermarks checkpoint.
120
+ *
121
+ * @example
122
+ * ```typescript
123
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
124
+ * const watermarks = getWatermarksFromCache(bundledCache);
125
+ *
126
+ * if (watermarks) {
127
+ * console.log("Core Governor scanned to block:", watermarks.constitutionalGovernor);
128
+ * }
129
+ * ```
130
+ */
131
+ function getWatermarksFromCache(cache) {
132
+ const checkpoint = cache["discovery:watermarks"];
133
+ if (!checkpoint)
134
+ return null;
135
+ return checkpoint.cachedData?.discoveryWatermarks ?? null;
136
+ }
137
+ /**
138
+ * Extract all operation IDs from governor checkpoints
139
+ *
140
+ * Returns a Map of proposalId -> operationId for all proposals that have
141
+ * been queued in a timelock.
142
+ *
143
+ * @param cache - The bundled cache object to extract from
144
+ * @returns Map of proposalId to operationId for queued proposals
145
+ */
146
+ function extractOperationIds(cache) {
147
+ const result = new Map();
148
+ for (const [, checkpoint] of Object.entries(cache)) {
149
+ if (checkpoint.input.type !== "governor")
150
+ continue;
151
+ const input = checkpoint.input;
152
+ const stages = checkpoint.cachedData?.completedStages ?? [];
153
+ const queuedStage = (0, utils_1.findStage)(stages, "PROPOSAL_QUEUED");
154
+ const operationId = queuedStage?.data?.operationId;
155
+ if (operationId) {
156
+ result.set(input.proposalId, operationId);
157
+ }
158
+ }
159
+ return result;
160
+ }
161
+ /**
162
+ * Extract TimelockLink from stages array
163
+ *
164
+ * Helper to get timelock link data from completed PROPOSAL_QUEUED stage.
165
+ *
166
+ * @param stages - Array of tracked stages from a proposal
167
+ * @returns TimelockLink if PROPOSAL_QUEUED stage is complete, undefined otherwise
168
+ */
169
+ function extractTimelockLinkFromStages(stages) {
170
+ const queuedStage = (0, utils_1.findStage)(stages, "PROPOSAL_QUEUED");
171
+ if (queuedStage?.status !== "COMPLETED" || queuedStage.type !== "PROPOSAL_QUEUED") {
172
+ return undefined;
173
+ }
174
+ const tx = queuedStage.transactions[0];
175
+ const data = queuedStage.data;
176
+ const { operationId, timelockAddress } = data;
177
+ return tx?.hash && operationId && timelockAddress && tx.blockNumber
178
+ ? { txHash: tx.hash, operationId, timelockAddress, queueBlockNumber: tx.blockNumber }
179
+ : undefined;
180
+ }
181
+ /**
182
+ * Get voting data from stages array
183
+ *
184
+ * Extracts typed vote counts and proposal state from VOTING_ACTIVE stage.
185
+ *
186
+ * @param stages - Array of tracked stages from a proposal
187
+ * @returns VotingActiveData if VOTING_ACTIVE stage exists, null otherwise
188
+ *
189
+ * @example
190
+ * ```typescript
191
+ * const votingData = getVotingDataFromStages(result.stages);
192
+ * if (votingData) {
193
+ * console.log(`For: ${votingData.forVotesRaw}, Against: ${votingData.againstVotesRaw}`);
194
+ * }
195
+ * ```
196
+ */
197
+ function getVotingDataFromStages(stages) {
198
+ const votingStage = (0, utils_1.findStage)(stages, "VOTING_ACTIVE");
199
+ if (!votingStage || votingStage.type !== "VOTING_ACTIVE") {
200
+ return null;
201
+ }
202
+ return votingStage.data;
203
+ }
204
+ function isTerminal(status) {
205
+ return status === "COMPLETED" || status === "SKIPPED" || status === "FAILED";
206
+ }
207
+ //# sourceMappingURL=bundled-cache.js.map