@gzeoneth/gov-tracker 0.3.0 → 0.4.0-alpha.addr-feedback.36ae67e

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 (217) hide show
  1. package/README.md +6 -11
  2. package/dist/calldata/decoder.d.ts.map +1 -1
  3. package/dist/calldata/decoder.js +35 -76
  4. package/dist/calldata/decoder.js.map +1 -1
  5. package/dist/calldata/parameter-decoder.d.ts +21 -1
  6. package/dist/calldata/parameter-decoder.d.ts.map +1 -1
  7. package/dist/calldata/parameter-decoder.js +30 -0
  8. package/dist/calldata/parameter-decoder.js.map +1 -1
  9. package/dist/calldata/retryable-ticket.d.ts +2 -2
  10. package/dist/calldata/retryable-ticket.d.ts.map +1 -1
  11. package/dist/calldata/retryable-ticket.js +17 -12
  12. package/dist/calldata/retryable-ticket.js.map +1 -1
  13. package/dist/calldata/signature-lookup.js +5 -4
  14. package/dist/calldata/signature-lookup.js.map +1 -1
  15. package/dist/cli/cli.js +39 -19
  16. package/dist/cli/cli.js.map +1 -1
  17. package/dist/cli/lib/cli.d.ts +4 -2
  18. package/dist/cli/lib/cli.d.ts.map +1 -1
  19. package/dist/cli/lib/cli.js +61 -58
  20. package/dist/cli/lib/cli.js.map +1 -1
  21. package/dist/cli/lib/json-state.js +1 -1
  22. package/dist/cli/lib/json-state.js.map +1 -1
  23. package/dist/cli/tui/components/StageProgress.js +1 -1
  24. package/dist/cli/tui/components/StageProgress.js.map +1 -1
  25. package/dist/cli/tui/components/StageRow.d.ts.map +1 -1
  26. package/dist/cli/tui/components/StageRow.js +15 -20
  27. package/dist/cli/tui/components/StageRow.js.map +1 -1
  28. package/dist/cli/tui/hooks/useCache.d.ts.map +1 -1
  29. package/dist/cli/tui/hooks/useCache.js +2 -1
  30. package/dist/cli/tui/hooks/useCache.js.map +1 -1
  31. package/dist/cli/tui/hooks/useElectionData.d.ts.map +1 -1
  32. package/dist/cli/tui/hooks/useElectionData.js +3 -2
  33. package/dist/cli/tui/hooks/useElectionData.js.map +1 -1
  34. package/dist/cli/tui/hooks/useProposals.d.ts.map +1 -1
  35. package/dist/cli/tui/hooks/useProposals.js +24 -34
  36. package/dist/cli/tui/hooks/useProposals.js.map +1 -1
  37. package/dist/cli/tui/hooks/useStageCalldata.d.ts.map +1 -1
  38. package/dist/cli/tui/hooks/useStageCalldata.js +2 -1
  39. package/dist/cli/tui/hooks/useStageCalldata.js.map +1 -1
  40. package/dist/cli/tui/utils/index.d.ts +6 -6
  41. package/dist/cli/tui/utils/index.d.ts.map +1 -1
  42. package/dist/cli/tui/utils/index.js +14 -14
  43. package/dist/cli/tui/utils/index.js.map +1 -1
  44. package/dist/cli/tui/utils/markdown-parser.d.ts +5 -0
  45. package/dist/cli/tui/utils/markdown-parser.d.ts.map +1 -1
  46. package/dist/cli/tui/utils/markdown-parser.js +16 -0
  47. package/dist/cli/tui/utils/markdown-parser.js.map +1 -1
  48. package/dist/cli/tui/utils/navigation.d.ts.map +1 -1
  49. package/dist/cli/tui/utils/navigation.js +5 -1
  50. package/dist/cli/tui/utils/navigation.js.map +1 -1
  51. package/dist/cli/tui/utils/proposal-detail-helpers.js +6 -6
  52. package/dist/cli/tui/utils/proposal-detail-helpers.js.map +1 -1
  53. package/dist/cli/tui/utils/time.d.ts +4 -4
  54. package/dist/cli/tui/utils/time.d.ts.map +1 -1
  55. package/dist/cli/tui/utils/time.js +13 -11
  56. package/dist/cli/tui/utils/time.js.map +1 -1
  57. package/dist/cli/tui/views/DescriptionView.d.ts.map +1 -1
  58. package/dist/cli/tui/views/DescriptionView.js +4 -2
  59. package/dist/cli/tui/views/DescriptionView.js.map +1 -1
  60. package/dist/cli/tui/views/ElectionView.d.ts.map +1 -1
  61. package/dist/cli/tui/views/ElectionView.js +3 -3
  62. package/dist/cli/tui/views/ElectionView.js.map +1 -1
  63. package/dist/cli/tui/views/StageView.d.ts.map +1 -1
  64. package/dist/cli/tui/views/StageView.js +1 -1
  65. package/dist/cli/tui/views/StageView.js.map +1 -1
  66. package/dist/constants.d.ts +11 -1
  67. package/dist/constants.d.ts.map +1 -1
  68. package/dist/constants.js +16 -4
  69. package/dist/constants.js.map +1 -1
  70. package/dist/data/bundled-cache.json +21513 -22619
  71. package/dist/deduplication.d.ts.map +1 -1
  72. package/dist/deduplication.js +36 -33
  73. package/dist/deduplication.js.map +1 -1
  74. package/dist/discovery/governor-discovery.d.ts.map +1 -1
  75. package/dist/discovery/governor-discovery.js +44 -49
  76. package/dist/discovery/governor-discovery.js.map +1 -1
  77. package/dist/discovery/security-council.d.ts +15 -0
  78. package/dist/discovery/security-council.d.ts.map +1 -1
  79. package/dist/discovery/security-council.js +42 -19
  80. package/dist/discovery/security-council.js.map +1 -1
  81. package/dist/discovery/timelock-discovery.d.ts.map +1 -1
  82. package/dist/discovery/timelock-discovery.js +62 -84
  83. package/dist/discovery/timelock-discovery.js.map +1 -1
  84. package/dist/election/contracts.d.ts.map +1 -1
  85. package/dist/election/contracts.js +4 -1
  86. package/dist/election/contracts.js.map +1 -1
  87. package/dist/election/details.d.ts.map +1 -1
  88. package/dist/election/details.js +35 -33
  89. package/dist/election/details.js.map +1 -1
  90. package/dist/election/index.d.ts +3 -6
  91. package/dist/election/index.d.ts.map +1 -1
  92. package/dist/election/index.js +7 -14
  93. package/dist/election/index.js.map +1 -1
  94. package/dist/election/params.d.ts +8 -1
  95. package/dist/election/params.d.ts.map +1 -1
  96. package/dist/election/params.js +48 -13
  97. package/dist/election/params.js.map +1 -1
  98. package/dist/election/participants.d.ts.map +1 -1
  99. package/dist/election/participants.js +19 -27
  100. package/dist/election/participants.js.map +1 -1
  101. package/dist/election/proposal-ids.d.ts +10 -0
  102. package/dist/election/proposal-ids.d.ts.map +1 -1
  103. package/dist/election/proposal-ids.js +42 -5
  104. package/dist/election/proposal-ids.js.map +1 -1
  105. package/dist/election/status.d.ts.map +1 -1
  106. package/dist/election/status.js +6 -0
  107. package/dist/election/status.js.map +1 -1
  108. package/dist/index.d.ts +24 -14
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +40 -16
  111. package/dist/index.js.map +1 -1
  112. package/dist/simulation/simulation-data.d.ts +2 -2
  113. package/dist/simulation/simulation-data.d.ts.map +1 -1
  114. package/dist/simulation/simulation-data.js +36 -26
  115. package/dist/simulation/simulation-data.js.map +1 -1
  116. package/dist/stages/builder.js +1 -1
  117. package/dist/stages/builder.js.map +1 -1
  118. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  119. package/dist/stages/l2-to-l1-message.js +5 -11
  120. package/dist/stages/l2-to-l1-message.js.map +1 -1
  121. package/dist/stages/proposal-queued.d.ts.map +1 -1
  122. package/dist/stages/proposal-queued.js +4 -1
  123. package/dist/stages/proposal-queued.js.map +1 -1
  124. package/dist/stages/retryables.d.ts +4 -3
  125. package/dist/stages/retryables.d.ts.map +1 -1
  126. package/dist/stages/retryables.js +35 -57
  127. package/dist/stages/retryables.js.map +1 -1
  128. package/dist/stages/timelock.d.ts +4 -1
  129. package/dist/stages/timelock.d.ts.map +1 -1
  130. package/dist/stages/timelock.js +59 -67
  131. package/dist/stages/timelock.js.map +1 -1
  132. package/dist/stages/utils.d.ts +69 -5
  133. package/dist/stages/utils.d.ts.map +1 -1
  134. package/dist/stages/utils.js +152 -42
  135. package/dist/stages/utils.js.map +1 -1
  136. package/dist/tracker/bundled-cache.d.ts +127 -0
  137. package/dist/tracker/bundled-cache.d.ts.map +1 -0
  138. package/dist/tracker/bundled-cache.js +198 -0
  139. package/dist/tracker/bundled-cache.js.map +1 -0
  140. package/dist/tracker/checkpoint-helpers.d.ts +20 -1
  141. package/dist/tracker/checkpoint-helpers.d.ts.map +1 -1
  142. package/dist/tracker/checkpoint-helpers.js +41 -7
  143. package/dist/tracker/checkpoint-helpers.js.map +1 -1
  144. package/dist/tracker/discovery.d.ts.map +1 -1
  145. package/dist/tracker/discovery.js +60 -43
  146. package/dist/tracker/discovery.js.map +1 -1
  147. package/dist/tracker/pipeline.d.ts +25 -6
  148. package/dist/tracker/pipeline.d.ts.map +1 -1
  149. package/dist/tracker/pipeline.js +428 -211
  150. package/dist/tracker/pipeline.js.map +1 -1
  151. package/dist/tracker/query.d.ts +21 -0
  152. package/dist/tracker/query.d.ts.map +1 -1
  153. package/dist/tracker/query.js +86 -9
  154. package/dist/tracker/query.js.map +1 -1
  155. package/dist/tracker/stage-runner.d.ts +62 -0
  156. package/dist/tracker/stage-runner.d.ts.map +1 -0
  157. package/dist/tracker/stage-runner.js +80 -0
  158. package/dist/tracker/stage-runner.js.map +1 -0
  159. package/dist/tracker/state.d.ts +65 -0
  160. package/dist/tracker/state.d.ts.map +1 -1
  161. package/dist/tracker/state.js +194 -14
  162. package/dist/tracker/state.js.map +1 -1
  163. package/dist/tracker.d.ts +36 -8
  164. package/dist/tracker.d.ts.map +1 -1
  165. package/dist/tracker.js +264 -201
  166. package/dist/tracker.js.map +1 -1
  167. package/dist/types/config.d.ts +39 -3
  168. package/dist/types/config.d.ts.map +1 -1
  169. package/dist/types/core.d.ts +3 -2
  170. package/dist/types/core.d.ts.map +1 -1
  171. package/dist/types/core.js +3 -2
  172. package/dist/types/core.js.map +1 -1
  173. package/dist/types/index.d.ts +1 -1
  174. package/dist/types/index.d.ts.map +1 -1
  175. package/dist/types/index.js.map +1 -1
  176. package/dist/types/simulation.d.ts +2 -2
  177. package/dist/types/simulation.d.ts.map +1 -1
  178. package/dist/types/tracking.d.ts +11 -0
  179. package/dist/types/tracking.d.ts.map +1 -1
  180. package/dist/utils/log-filters.d.ts.map +1 -1
  181. package/dist/utils/log-filters.js +5 -9
  182. package/dist/utils/log-filters.js.map +1 -1
  183. package/dist/utils/multicall.d.ts +0 -1
  184. package/dist/utils/multicall.d.ts.map +1 -1
  185. package/dist/utils/rpc-utils.d.ts +11 -0
  186. package/dist/utils/rpc-utils.d.ts.map +1 -1
  187. package/dist/utils/rpc-utils.js +18 -1
  188. package/dist/utils/rpc-utils.js.map +1 -1
  189. package/dist/utils/stage-metadata.d.ts +19 -0
  190. package/dist/utils/stage-metadata.d.ts.map +1 -1
  191. package/dist/utils/stage-metadata.js +44 -0
  192. package/dist/utils/stage-metadata.js.map +1 -1
  193. package/dist/utils/timing.d.ts +11 -4
  194. package/dist/utils/timing.d.ts.map +1 -1
  195. package/dist/utils/timing.js +45 -15
  196. package/dist/utils/timing.js.map +1 -1
  197. package/package.json +7 -6
  198. package/dist/cli/tui/utils/calldata-formatter.d.ts +0 -7
  199. package/dist/cli/tui/utils/calldata-formatter.d.ts.map +0 -1
  200. package/dist/cli/tui/utils/calldata-formatter.js +0 -14
  201. package/dist/cli/tui/utils/calldata-formatter.js.map +0 -1
  202. package/dist/cli/tui/utils/stage-formatter.d.ts +0 -7
  203. package/dist/cli/tui/utils/stage-formatter.d.ts.map +0 -1
  204. package/dist/cli/tui/utils/stage-formatter.js +0 -14
  205. package/dist/cli/tui/utils/stage-formatter.js.map +0 -1
  206. package/dist/cli/tui/utils/text.d.ts +0 -7
  207. package/dist/cli/tui/utils/text.d.ts.map +0 -1
  208. package/dist/cli/tui/utils/text.js +0 -12
  209. package/dist/cli/tui/utils/text.js.map +0 -1
  210. package/dist/election/prepare.d.ts +0 -10
  211. package/dist/election/prepare.d.ts.map +0 -1
  212. package/dist/election/prepare.js +0 -52
  213. package/dist/election/prepare.js.map +0 -1
  214. package/dist/election/tracking.d.ts +0 -28
  215. package/dist/election/tracking.d.ts.map +0 -1
  216. package/dist/election/tracking.js +0 -412
  217. package/dist/election/tracking.js.map +0 -1
@@ -15,7 +15,8 @@
15
15
  * - Debuggable: save/restore state snapshots
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.getFirstExecutableBlock = exports.getProposalState = exports.getIsElection = exports.getQueueBlockNumber = exports.getFirstCallScheduledData = exports.getProposalId = exports.getGovernorAddress = void 0;
18
+ exports.getElectionIndex = exports.getFirstExecutableBlock = exports.getProposalState = exports.getIsElection = exports.getQueueBlockNumber = exports.getFirstCallScheduledData = exports.getProposalId = exports.getGovernorAddress = void 0;
19
+ exports.getTrackingPathFromInput = getTrackingPathFromInput;
19
20
  exports.createTrackingState = createTrackingState;
20
21
  exports.addStage = addStage;
21
22
  exports.isStageCompleted = isStageCompleted;
@@ -32,6 +33,15 @@ exports.getL2ExecutionTxHash = getL2ExecutionTxHash;
32
33
  exports.getOutboxExecutionTx = getOutboxExecutionTx;
33
34
  exports.getL1ExecutionTxHash = getL1ExecutionTxHash;
34
35
  exports.createCheckpoint = createCheckpoint;
36
+ exports.createModularCheckpoints = createModularCheckpoints;
37
+ exports.setTimelockOpKey = setTimelockOpKey;
38
+ exports.getNomineeProposalId = getNomineeProposalId;
39
+ exports.getMemberProposalId = getMemberProposalId;
40
+ exports.getElectionCohort = getElectionCohort;
41
+ exports.getCompliantNomineeCount = getCompliantNomineeCount;
42
+ exports.getTargetNomineeCount = getTargetNomineeCount;
43
+ exports.getVettingDeadline = getVettingDeadline;
44
+ exports.getElectionTimelockOperationId = getElectionTimelockOperationId;
35
45
  const ethers_1 = require("ethers");
36
46
  const logger_1 = require("../utils/logger");
37
47
  const utils_1 = require("../stages/utils");
@@ -39,10 +49,28 @@ const governor_discovery_1 = require("../discovery/governor-discovery");
39
49
  const constants_1 = require("../constants");
40
50
  const { tracker: logTracker } = logger_1.loggers;
41
51
  // State Creation
52
+ /**
53
+ * Determine tracking path from input type
54
+ */
55
+ function getTrackingPathFromInput(input) {
56
+ switch (input.type) {
57
+ case "governor":
58
+ return "governor";
59
+ case "timelock":
60
+ return "timelock";
61
+ case "election":
62
+ return "election";
63
+ case "discovery":
64
+ // Discovery inputs don't have stages, but default to timelock for safety
65
+ return "timelock";
66
+ }
67
+ }
42
68
  function createTrackingState(options) {
43
69
  // Initialize stages based on tracking path
44
- const includeProposal = options.input.type === "governor";
45
- const initialStages = (0, utils_1.initializeStagesForPath)(includeProposal);
70
+ const path = getTrackingPathFromInput(options.input);
71
+ const initialStages = (0, utils_1.initializeStagesForTrackingPath)(path);
72
+ // Get timelockOpKey from parent checkpoint metadata if present
73
+ const timelockOpKey = options.checkpoint?.metadata?.timelockOpKey;
46
74
  let ctx = {
47
75
  providers: options.providers,
48
76
  chunkingConfig: options.chunkingConfig ?? constants_1.DEFAULT_CHUNKING_CONFIG,
@@ -52,11 +80,17 @@ function createTrackingState(options) {
52
80
  callScheduledData: options.callScheduledData,
53
81
  stages: initialStages,
54
82
  stageIndex: 0,
83
+ timelockOpKey,
55
84
  };
56
- // Load from checkpoint if provided
85
+ // Load from parent checkpoint (non-timelock stages)
57
86
  if (options.checkpoint?.cachedData.completedStages?.length) {
58
87
  ctx = loadFromCheckpoint(ctx, options.checkpoint);
59
88
  }
89
+ // Load from linked timelock checkpoint (timelock stages)
90
+ if (options.linkedTimelockCheckpoint?.cachedData.completedStages?.length) {
91
+ ctx = loadFromCheckpoint(ctx, options.linkedTimelockCheckpoint);
92
+ logTracker("RESUME: merged linked timelock checkpoint");
93
+ }
60
94
  return ctx;
61
95
  }
62
96
  /**
@@ -87,17 +121,16 @@ async function addStage(ctx, stage) {
87
121
  await emitProgress(newCtx, stage);
88
122
  return newCtx;
89
123
  }
90
- // Stage lookup helper (defined early for use in stage management functions)
91
- const findStage = (ctx, type) => ctx.stages.find((s) => s.type === type);
124
+ // Stage lookup helper wrapping the shared utility
125
+ const findStage = (ctx, type) => (0, utils_1.findStage)(ctx.stages, type);
92
126
  /** Check if a stage is completed (COMPLETED or SKIPPED). */
93
127
  function isStageCompleted(ctx, type) {
94
- const s = findStage(ctx, type);
95
- return s?.status === "COMPLETED" || s?.status === "SKIPPED";
128
+ return (0, utils_1.isStageSuccess)(findStage(ctx, type)?.status);
96
129
  }
97
130
  /** Get a completed stage for zero-RPC resume. */
98
131
  function getCompletedStage(ctx, type) {
99
132
  const s = findStage(ctx, type);
100
- return s?.status === "COMPLETED" || s?.status === "SKIPPED" ? s : undefined;
133
+ return (0, utils_1.isStageSuccess)(s?.status) ? s : undefined;
101
134
  }
102
135
  /** Get a cached stage (any status). */
103
136
  function getCachedStage(ctx, type) {
@@ -109,7 +142,7 @@ function getCachedStage(ctx, type) {
109
142
  function isComplete(ctx) {
110
143
  return (0, utils_1.areAllStagesComplete)(ctx.stages);
111
144
  }
112
- // Stage data helpers
145
+ // Stage data helpers - properly typed using StageDataMap
113
146
  const stageData = (ctx, type) => findStage(ctx, type)?.data;
114
147
  const execTx = (s) => s?.transactions?.find((tx) => tx.description === "executed");
115
148
  const chainTx = (s, chain) => s?.transactions?.find((tx) => tx.chain === chain);
@@ -123,12 +156,14 @@ function getTimelockAddress(ctx) {
123
156
  if (ctx.input.type === "timelock")
124
157
  return ctx.input.timelockAddress;
125
158
  return (stageData(ctx, "PROPOSAL_QUEUED")?.timelockAddress ??
159
+ stageData(ctx, "MEMBER_ELECTION")?.timelockAddress ??
126
160
  stageData(ctx, "L2_TIMELOCK")?.timelockAddress);
127
161
  }
128
162
  function getOperationId(ctx) {
129
163
  if (ctx.input.type === "timelock")
130
164
  return ctx.input.operationId;
131
165
  return (stageData(ctx, "PROPOSAL_QUEUED")?.operationId ??
166
+ stageData(ctx, "MEMBER_ELECTION")?.operationId ??
132
167
  stageData(ctx, "L2_TIMELOCK")?.operationId);
133
168
  }
134
169
  function getCallScheduledData(ctx) {
@@ -193,9 +228,7 @@ function getVotingEndBlock(ctx) {
193
228
  const data = stageData(ctx, "VOTING_ACTIVE");
194
229
  if (!data?.deadline)
195
230
  return undefined;
196
- const deadline = parseInt(data.deadline, 10);
197
- const extended = data.extendedDeadline ? parseInt(data.extendedDeadline, 10) : 0;
198
- return extended > deadline ? extended : deadline;
231
+ return Math.max(parseInt(data.deadline, 10), parseInt(data.extendedDeadline ?? "0", 10));
199
232
  }
200
233
  function getL2ExecutionTxHash(ctx) {
201
234
  const s = findStage(ctx, "L2_TIMELOCK");
@@ -215,6 +248,11 @@ function getL1ExecutionTxHash(ctx) {
215
248
  return s?.status === "COMPLETED" ? execTx(s)?.hash : undefined;
216
249
  }
217
250
  // Checkpoint & Result
251
+ /**
252
+ * Create a full checkpoint with all stages in a single cache entry.
253
+ * Prefer createModularCheckpoints() for new code - it splits parent
254
+ * and timelock stages for independent cache management.
255
+ */
218
256
  function createCheckpoint(ctx) {
219
257
  const completedStages = ctx.stages.filter((s) => s.status !== "NOT_STARTED");
220
258
  const lastProcessedStage = [...ctx.stages].reverse().find((s) => s.status !== "NOT_STARTED")?.type ?? null;
@@ -225,9 +263,99 @@ function createCheckpoint(ctx) {
225
263
  lastProcessedStage,
226
264
  lastProcessedBlock: { l1: 0, l2: 0, nova: 0 },
227
265
  cachedData: { completedStages },
228
- metadata: { errorCount: 0, lastTrackedAt: Date.now() },
266
+ metadata: {
267
+ errorCount: 0,
268
+ lastTrackedAt: Date.now(),
269
+ timelockOpKey: ctx.timelockOpKey,
270
+ },
271
+ };
272
+ }
273
+ /**
274
+ * Create modular checkpoints - splits parent and timelock stages.
275
+ *
276
+ * This enables:
277
+ * - Independent timelock tracking/resumption
278
+ * - Clear separation between proposal/election and timelock lifecycle
279
+ * - Efficient caching with minimal duplication
280
+ *
281
+ * @param ctx - The tracking state
282
+ * @param parentCacheKey - Cache key for the parent checkpoint (e.g., "election:0" or "tx:0x...")
283
+ */
284
+ function createModularCheckpoints(ctx, parentCacheKey) {
285
+ const allCompletedStages = ctx.stages.filter((s) => s.status !== "NOT_STARTED");
286
+ const { parentStages, timelockStages } = (0, utils_1.splitStages)(allCompletedStages);
287
+ // Determine timelockOpKey from state or derive from data
288
+ const timelockOpKey = ctx.timelockOpKey ?? null;
289
+ // Helper to build checkpoint from stages
290
+ const buildCheckpoint = (input, stages, extraMetadata) => ({
291
+ version: 1,
292
+ createdAt: Date.now(),
293
+ input,
294
+ lastProcessedStage: [...stages].reverse().find((s) => s.status !== "NOT_STARTED")?.type ?? null,
295
+ lastProcessedBlock: { l1: 0, l2: 0, nova: 0 },
296
+ cachedData: { completedStages: stages },
297
+ metadata: { errorCount: 0, lastTrackedAt: Date.now(), ...extraMetadata },
298
+ });
299
+ const parentCheckpoint = buildCheckpoint(ctx.input, parentStages, {
300
+ timelockOpKey: timelockOpKey ?? undefined,
301
+ });
302
+ // Timelock checkpoint - only contains timelock stages
303
+ const timelockCheckpoint = timelockStages.length > 0 && (0, utils_1.hasTimelockProgress)(ctx.stages)
304
+ ? buildCheckpoint(deriveTimelockInput(ctx), timelockStages, {
305
+ sourceCheckpoint: parentCacheKey,
306
+ })
307
+ : null;
308
+ return {
309
+ parentCheckpoint,
310
+ timelockCheckpoint,
311
+ timelockOpKey,
229
312
  };
230
313
  }
314
+ /**
315
+ * Derive timelock input from tracking state.
316
+ * Used when creating timelock checkpoints for modular caching.
317
+ */
318
+ function deriveTimelockInput(ctx) {
319
+ const operationId = getOperationId(ctx);
320
+ const timelockAddress = getTimelockAddress(ctx);
321
+ const scheduledTxHash = deriveScheduledTxHash(ctx);
322
+ if (operationId && timelockAddress && scheduledTxHash) {
323
+ return {
324
+ type: "timelock",
325
+ timelockAddress,
326
+ operationId,
327
+ scheduledTxHash,
328
+ };
329
+ }
330
+ // Fallback to original input if we can't derive timelock input
331
+ return ctx.input;
332
+ }
333
+ /** Find tx hash from a completed stage by description */
334
+ function findTxHashFromStage(ctx, stageType, description, requireCompleted = true) {
335
+ const stage = findStage(ctx, stageType);
336
+ if (requireCompleted && stage?.status !== "COMPLETED")
337
+ return undefined;
338
+ if (!requireCompleted && !stage)
339
+ return undefined;
340
+ return stage?.transactions?.find((t) => t.description === description)?.hash;
341
+ }
342
+ /**
343
+ * Derive the scheduled tx hash from tracking state.
344
+ * For proposals: queue tx hash from PROPOSAL_QUEUED
345
+ * For elections: member execute tx hash from MEMBER_ELECTION
346
+ */
347
+ function deriveScheduledTxHash(ctx) {
348
+ return (findTxHashFromStage(ctx, "PROPOSAL_QUEUED", "queued") ??
349
+ findTxHashFromStage(ctx, "MEMBER_ELECTION", "executed") ??
350
+ findTxHashFromStage(ctx, "L2_TIMELOCK", "scheduled", false));
351
+ }
352
+ /**
353
+ * Update timelockOpKey in tracking state.
354
+ * Called when timelock tracking begins (after PROPOSAL_QUEUED or MEMBER_ELECTION).
355
+ */
356
+ function setTimelockOpKey(ctx, timelockOpKey) {
357
+ return { ...ctx, timelockOpKey };
358
+ }
231
359
  async function emitProgress(ctx, s) {
232
360
  if (!ctx.onProgress)
233
361
  return;
@@ -240,4 +368,56 @@ async function emitProgress(ctx, s) {
240
368
  isComplete: isComplete(ctx),
241
369
  });
242
370
  }
371
+ // Election-specific getters
372
+ /** Get election index from election input */
373
+ const getElectionIndex = (ctx) => ctx.input.type === "election" ? ctx.input.electionIndex : undefined;
374
+ exports.getElectionIndex = getElectionIndex;
375
+ /** Get nominee proposal ID from CREATE_ELECTION or NOMINEE_ELECTION stage */
376
+ function getNomineeProposalId(ctx) {
377
+ const createData = stageData(ctx, "CREATE_ELECTION");
378
+ if (createData?.nomineeProposalId)
379
+ return createData.nomineeProposalId;
380
+ const nomineeData = stageData(ctx, "NOMINEE_ELECTION");
381
+ return nomineeData?.nomineeProposalId;
382
+ }
383
+ /** Get member proposal ID from NOMINEE_VETTING or MEMBER_ELECTION stage */
384
+ function getMemberProposalId(ctx) {
385
+ const vettingData = stageData(ctx, "NOMINEE_VETTING");
386
+ if (vettingData?.memberProposalId)
387
+ return vettingData.memberProposalId;
388
+ const memberData = stageData(ctx, "MEMBER_ELECTION");
389
+ return memberData?.memberProposalId;
390
+ }
391
+ /** Get election cohort from CREATE_ELECTION stage */
392
+ function getElectionCohort(ctx) {
393
+ const createData = stageData(ctx, "CREATE_ELECTION");
394
+ return createData?.cohort;
395
+ }
396
+ /** Get compliant nominee count from NOMINEE_ELECTION or NOMINEE_VETTING stage */
397
+ function getCompliantNomineeCount(ctx) {
398
+ const nomineeData = stageData(ctx, "NOMINEE_ELECTION");
399
+ if (nomineeData?.compliantNomineeCount !== undefined)
400
+ return nomineeData.compliantNomineeCount;
401
+ const vettingData = stageData(ctx, "NOMINEE_VETTING");
402
+ return vettingData?.compliantNomineeCount;
403
+ }
404
+ /** Get target nominee count from NOMINEE_ELECTION stage */
405
+ function getTargetNomineeCount(ctx) {
406
+ const nomineeData = stageData(ctx, "NOMINEE_ELECTION");
407
+ return nomineeData?.targetNomineeCount;
408
+ }
409
+ /** Get vetting deadline from NOMINEE_VETTING stage */
410
+ function getVettingDeadline(ctx) {
411
+ const vettingData = stageData(ctx, "NOMINEE_VETTING");
412
+ return vettingData?.vettingDeadline;
413
+ }
414
+ /** Get timelock operation ID from election flow (MEMBER_ELECTION stage) */
415
+ function getElectionTimelockOperationId(ctx) {
416
+ // For elections, operation ID comes from MEMBER_ELECTION stage after execution
417
+ const memberData = stageData(ctx, "MEMBER_ELECTION");
418
+ if (memberData?.operationId)
419
+ return memberData.operationId;
420
+ // Fall back to timelock stages
421
+ return getOperationId(ctx);
422
+ }
243
423
  //# sourceMappingURL=state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/tracker/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/tracker/state.ts"],"names":[],"mappings":"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"}
package/dist/tracker.d.ts CHANGED
@@ -103,7 +103,7 @@ export declare class ProposalStageTracker {
103
103
  * For COMPLETED elections, automatically fetches and caches nominee/member
104
104
  * election details to enable zero-RPC reads for historical elections.
105
105
  *
106
- * @param electionStatus - Election status from trackElectionProposal
106
+ * @param electionStatus - Election status from trackElection()
107
107
  * @param options.nomineeDetails - Pre-fetched nominee details (skips RPC fetch)
108
108
  * @param options.memberDetails - Pre-fetched member details (skips RPC fetch)
109
109
  */
@@ -194,6 +194,15 @@ export declare class ProposalStageTracker {
194
194
  * @param maxErrorCount - Items with this many or more errors are counted as "errored" (default: 5)
195
195
  */
196
196
  getStats(maxErrorCount?: number): Promise<TrackerStats>;
197
+ /**
198
+ * Get the highest Security Council nonce from incomplete checkpoints.
199
+ *
200
+ * Used to determine if lower-nonce SC operations should be skipped
201
+ * (superseded by higher nonce operations).
202
+ *
203
+ * @returns The highest SC nonce found, or null if no SC operations exist
204
+ */
205
+ getHighestScNonce(): Promise<import("ethers").BigNumber | null>;
197
206
  /**
198
207
  * Track from transaction hash (primary tracking entry point)
199
208
  *
@@ -226,14 +235,34 @@ export declare class ProposalStageTracker {
226
235
  * Uses PipelineContext for stateful tracking - no parameter passing between stages.
227
236
  */
228
237
  private trackByTxHashInternal;
238
+ /**
239
+ * Unified pipeline tracking method.
240
+ * Handles all common tracking patterns: state creation, pipeline execution,
241
+ * checkpoint management, and timelockOpKey derivation.
242
+ */
243
+ private runTrackingPipeline;
229
244
  /**
230
245
  * Track governor proposal using TrackingState (stateful tracking)
246
+ * Uses modular caching: parent stages saved separately from timelock stages.
231
247
  */
232
248
  private trackGovernorWithPipeline;
233
249
  /**
234
250
  * Track timelock operation using TrackingState (stateful tracking)
235
251
  */
236
252
  private trackTimelockWithPipeline;
253
+ /**
254
+ * Track election using TrackingState (stateful tracking)
255
+ *
256
+ * This is the unified pipeline version that tracks elections through the
257
+ * same stage-based approach as proposals and timelock operations.
258
+ * Uses modular caching: election stages saved separately from timelock stages.
259
+ */
260
+ private trackElectionWithPipeline;
261
+ /**
262
+ * Save checkpoints using modular caching.
263
+ * Saves parent stages and timelock stages in separate checkpoints.
264
+ */
265
+ private saveModularCheckpoints;
237
266
  /**
238
267
  * Build TrackingResult from TrackingState
239
268
  */
@@ -300,7 +329,7 @@ export declare class ProposalStageTracker {
300
329
  * Track election status for a given proposal ID.
301
330
  *
302
331
  * Searches through elections to find the one containing this proposal,
303
- * then tracks the full election lifecycle.
332
+ * then tracks the full election lifecycle using the unified pipeline.
304
333
  */
305
334
  private trackElectionStatus;
306
335
  /**
@@ -314,13 +343,12 @@ export declare class ProposalStageTracker {
314
343
  * - Incomplete elections: Makes fresh RPC calls and updates cache
315
344
  * - No cache: Always makes fresh RPC calls
316
345
  *
346
+ * To force fresh tracking, clear the cache before calling this method.
347
+ *
317
348
  * @param electionIndex - Election index (0-based)
318
- * @param options.force - Force fresh tracking even for completed elections
319
349
  * @returns Election status
320
350
  */
321
- trackElection(electionIndex: number, options?: {
322
- force?: boolean;
323
- }): Promise<ElectionProposalStatus>;
351
+ trackElection(electionIndex: number): Promise<ElectionProposalStatus>;
324
352
  /**
325
353
  * Track all elections with caching.
326
354
  *
@@ -328,13 +356,13 @@ export declare class ProposalStageTracker {
328
356
  * - COMPLETED elections: Returns cached data immediately (0 RPC calls)
329
357
  * - Incomplete elections: Makes fresh RPC calls and updates cache
330
358
  *
359
+ * To force fresh tracking, clear the cache before calling this method.
360
+ *
331
361
  * @param options.includeNext - Include the "next" election slot (default: true)
332
- * @param options.force - Force fresh tracking for all elections
333
362
  * @returns Array of election statuses
334
363
  */
335
364
  trackAllElections(options?: {
336
365
  includeNext?: boolean;
337
- force?: boolean;
338
366
  }): Promise<ElectionProposalStatus[]>;
339
367
  /**
340
368
  * Check Security Council election status and prepare available actions
@@ -1 +1 @@
1
- {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"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"}