@gzeoneth/gov-tracker 0.3.0 → 0.4.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 (125) hide show
  1. package/README.md +0 -1
  2. package/dist/calldata/decoder.d.ts.map +1 -1
  3. package/dist/calldata/decoder.js +10 -56
  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/cli/lib/cli.d.ts.map +1 -1
  10. package/dist/cli/lib/cli.js +30 -42
  11. package/dist/cli/lib/cli.js.map +1 -1
  12. package/dist/cli/tui/utils/index.d.ts +1 -1
  13. package/dist/cli/tui/utils/index.d.ts.map +1 -1
  14. package/dist/cli/tui/utils/index.js +1 -2
  15. package/dist/cli/tui/utils/index.js.map +1 -1
  16. package/dist/cli/tui/utils/stage-formatter.d.ts +1 -1
  17. package/dist/cli/tui/utils/stage-formatter.d.ts.map +1 -1
  18. package/dist/cli/tui/utils/stage-formatter.js +1 -2
  19. package/dist/cli/tui/utils/stage-formatter.js.map +1 -1
  20. package/dist/cli/tui/views/ElectionView.d.ts.map +1 -1
  21. package/dist/cli/tui/views/ElectionView.js +3 -3
  22. package/dist/cli/tui/views/ElectionView.js.map +1 -1
  23. package/dist/cli/tui/views/StageView.d.ts.map +1 -1
  24. package/dist/cli/tui/views/StageView.js +1 -1
  25. package/dist/cli/tui/views/StageView.js.map +1 -1
  26. package/dist/data/bundled-cache.json +21513 -22619
  27. package/dist/discovery/governor-discovery.d.ts.map +1 -1
  28. package/dist/discovery/governor-discovery.js +43 -48
  29. package/dist/discovery/governor-discovery.js.map +1 -1
  30. package/dist/discovery/security-council.d.ts +15 -0
  31. package/dist/discovery/security-council.d.ts.map +1 -1
  32. package/dist/discovery/security-council.js +42 -19
  33. package/dist/discovery/security-council.js.map +1 -1
  34. package/dist/discovery/timelock-discovery.d.ts.map +1 -1
  35. package/dist/discovery/timelock-discovery.js +34 -54
  36. package/dist/discovery/timelock-discovery.js.map +1 -1
  37. package/dist/election/details.d.ts.map +1 -1
  38. package/dist/election/details.js +28 -30
  39. package/dist/election/details.js.map +1 -1
  40. package/dist/election/index.d.ts +3 -6
  41. package/dist/election/index.d.ts.map +1 -1
  42. package/dist/election/index.js +7 -14
  43. package/dist/election/index.js.map +1 -1
  44. package/dist/election/params.d.ts +8 -1
  45. package/dist/election/params.d.ts.map +1 -1
  46. package/dist/election/params.js +45 -1
  47. package/dist/election/params.js.map +1 -1
  48. package/dist/election/participants.d.ts.map +1 -1
  49. package/dist/election/participants.js +21 -24
  50. package/dist/election/participants.js.map +1 -1
  51. package/dist/election/proposal-ids.d.ts +10 -0
  52. package/dist/election/proposal-ids.d.ts.map +1 -1
  53. package/dist/election/proposal-ids.js +45 -5
  54. package/dist/election/proposal-ids.js.map +1 -1
  55. package/dist/index.d.ts +4 -3
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +15 -8
  58. package/dist/index.js.map +1 -1
  59. package/dist/simulation/simulation-data.js +2 -2
  60. package/dist/simulation/simulation-data.js.map +1 -1
  61. package/dist/stages/builder.js +1 -1
  62. package/dist/stages/builder.js.map +1 -1
  63. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  64. package/dist/stages/l2-to-l1-message.js +2 -8
  65. package/dist/stages/l2-to-l1-message.js.map +1 -1
  66. package/dist/stages/proposal-queued.d.ts.map +1 -1
  67. package/dist/stages/proposal-queued.js +4 -1
  68. package/dist/stages/proposal-queued.js.map +1 -1
  69. package/dist/stages/retryables.d.ts +4 -3
  70. package/dist/stages/retryables.d.ts.map +1 -1
  71. package/dist/stages/retryables.js +25 -48
  72. package/dist/stages/retryables.js.map +1 -1
  73. package/dist/stages/timelock.d.ts +1 -0
  74. package/dist/stages/timelock.d.ts.map +1 -1
  75. package/dist/stages/timelock.js +44 -58
  76. package/dist/stages/timelock.js.map +1 -1
  77. package/dist/stages/utils.d.ts +39 -5
  78. package/dist/stages/utils.d.ts.map +1 -1
  79. package/dist/stages/utils.js +102 -40
  80. package/dist/stages/utils.js.map +1 -1
  81. package/dist/tracker/discovery.d.ts.map +1 -1
  82. package/dist/tracker/discovery.js +4 -9
  83. package/dist/tracker/discovery.js.map +1 -1
  84. package/dist/tracker/pipeline.d.ts +25 -6
  85. package/dist/tracker/pipeline.d.ts.map +1 -1
  86. package/dist/tracker/pipeline.js +428 -211
  87. package/dist/tracker/pipeline.js.map +1 -1
  88. package/dist/tracker/query.d.ts +20 -0
  89. package/dist/tracker/query.d.ts.map +1 -1
  90. package/dist/tracker/query.js +86 -1
  91. package/dist/tracker/query.js.map +1 -1
  92. package/dist/tracker/stage-runner.d.ts +62 -0
  93. package/dist/tracker/stage-runner.d.ts.map +1 -0
  94. package/dist/tracker/stage-runner.js +80 -0
  95. package/dist/tracker/stage-runner.js.map +1 -0
  96. package/dist/tracker/state.d.ts +64 -0
  97. package/dist/tracker/state.d.ts.map +1 -1
  98. package/dist/tracker/state.js +191 -12
  99. package/dist/tracker/state.js.map +1 -1
  100. package/dist/tracker.d.ts +30 -1
  101. package/dist/tracker.d.ts.map +1 -1
  102. package/dist/tracker.js +220 -167
  103. package/dist/tracker.js.map +1 -1
  104. package/dist/types/core.d.ts +3 -2
  105. package/dist/types/core.d.ts.map +1 -1
  106. package/dist/types/core.js +3 -2
  107. package/dist/types/core.js.map +1 -1
  108. package/dist/types/tracking.d.ts +11 -0
  109. package/dist/types/tracking.d.ts.map +1 -1
  110. package/dist/utils/log-filters.d.ts.map +1 -1
  111. package/dist/utils/log-filters.js +4 -8
  112. package/dist/utils/log-filters.js.map +1 -1
  113. package/dist/utils/timing.d.ts +10 -3
  114. package/dist/utils/timing.d.ts.map +1 -1
  115. package/dist/utils/timing.js +39 -13
  116. package/dist/utils/timing.js.map +1 -1
  117. package/package.json +7 -6
  118. package/dist/election/prepare.d.ts +0 -10
  119. package/dist/election/prepare.d.ts.map +0 -1
  120. package/dist/election/prepare.js +0 -52
  121. package/dist/election/prepare.js.map +0 -1
  122. package/dist/election/tracking.d.ts +0 -28
  123. package/dist/election/tracking.d.ts.map +0 -1
  124. package/dist/election/tracking.js +0 -412
  125. 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
  /**
@@ -91,13 +125,12 @@ async function addStage(ctx, stage) {
91
125
  const findStage = (ctx, type) => ctx.stages.find((s) => s.type === 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,10 @@ 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 (legacy behavior).
253
+ * For modular caching, use createModularCheckpoints instead.
254
+ */
218
255
  function createCheckpoint(ctx) {
219
256
  const completedStages = ctx.stages.filter((s) => s.status !== "NOT_STARTED");
220
257
  const lastProcessedStage = [...ctx.stages].reverse().find((s) => s.status !== "NOT_STARTED")?.type ?? null;
@@ -225,9 +262,99 @@ function createCheckpoint(ctx) {
225
262
  lastProcessedStage,
226
263
  lastProcessedBlock: { l1: 0, l2: 0, nova: 0 },
227
264
  cachedData: { completedStages },
228
- metadata: { errorCount: 0, lastTrackedAt: Date.now() },
265
+ metadata: {
266
+ errorCount: 0,
267
+ lastTrackedAt: Date.now(),
268
+ timelockOpKey: ctx.timelockOpKey,
269
+ },
270
+ };
271
+ }
272
+ /**
273
+ * Create modular checkpoints - splits parent and timelock stages.
274
+ *
275
+ * This enables:
276
+ * - Independent timelock tracking/resumption
277
+ * - Clear separation between proposal/election and timelock lifecycle
278
+ * - Efficient caching with minimal duplication
279
+ *
280
+ * @param ctx - The tracking state
281
+ * @param parentCacheKey - Cache key for the parent checkpoint (e.g., "election:0" or "tx:0x...")
282
+ */
283
+ function createModularCheckpoints(ctx, parentCacheKey) {
284
+ const allCompletedStages = ctx.stages.filter((s) => s.status !== "NOT_STARTED");
285
+ const { parentStages, timelockStages } = (0, utils_1.splitStages)(allCompletedStages);
286
+ // Determine timelockOpKey from state or derive from data
287
+ const timelockOpKey = ctx.timelockOpKey ?? null;
288
+ // Helper to build checkpoint from stages
289
+ const buildCheckpoint = (input, stages, extraMetadata) => ({
290
+ version: 1,
291
+ createdAt: Date.now(),
292
+ input,
293
+ lastProcessedStage: [...stages].reverse().find((s) => s.status !== "NOT_STARTED")?.type ?? null,
294
+ lastProcessedBlock: { l1: 0, l2: 0, nova: 0 },
295
+ cachedData: { completedStages: stages },
296
+ metadata: { errorCount: 0, lastTrackedAt: Date.now(), ...extraMetadata },
297
+ });
298
+ const parentCheckpoint = buildCheckpoint(ctx.input, parentStages, {
299
+ timelockOpKey: timelockOpKey ?? undefined,
300
+ });
301
+ // Timelock checkpoint - only contains timelock stages
302
+ const timelockCheckpoint = timelockStages.length > 0 && (0, utils_1.hasTimelockProgress)(ctx.stages)
303
+ ? buildCheckpoint(deriveTimelockInput(ctx), timelockStages, {
304
+ sourceCheckpoint: parentCacheKey,
305
+ })
306
+ : null;
307
+ return {
308
+ parentCheckpoint,
309
+ timelockCheckpoint,
310
+ timelockOpKey,
229
311
  };
230
312
  }
313
+ /**
314
+ * Derive timelock input from tracking state.
315
+ * Used when creating timelock checkpoints for modular caching.
316
+ */
317
+ function deriveTimelockInput(ctx) {
318
+ const operationId = getOperationId(ctx);
319
+ const timelockAddress = getTimelockAddress(ctx);
320
+ const scheduledTxHash = deriveScheduledTxHash(ctx);
321
+ if (operationId && timelockAddress && scheduledTxHash) {
322
+ return {
323
+ type: "timelock",
324
+ timelockAddress,
325
+ operationId,
326
+ scheduledTxHash,
327
+ };
328
+ }
329
+ // Fallback to original input if we can't derive timelock input
330
+ return ctx.input;
331
+ }
332
+ /** Find tx hash from a completed stage by description */
333
+ function findTxHashFromStage(ctx, stageType, description, requireCompleted = true) {
334
+ const stage = findStage(ctx, stageType);
335
+ if (requireCompleted && stage?.status !== "COMPLETED")
336
+ return undefined;
337
+ if (!requireCompleted && !stage)
338
+ return undefined;
339
+ return stage?.transactions?.find((t) => t.description === description)?.hash;
340
+ }
341
+ /**
342
+ * Derive the scheduled tx hash from tracking state.
343
+ * For proposals: queue tx hash from PROPOSAL_QUEUED
344
+ * For elections: member execute tx hash from MEMBER_ELECTION
345
+ */
346
+ function deriveScheduledTxHash(ctx) {
347
+ return (findTxHashFromStage(ctx, "PROPOSAL_QUEUED", "queued") ??
348
+ findTxHashFromStage(ctx, "MEMBER_ELECTION", "executed") ??
349
+ findTxHashFromStage(ctx, "L2_TIMELOCK", "scheduled", false));
350
+ }
351
+ /**
352
+ * Update timelockOpKey in tracking state.
353
+ * Called when timelock tracking begins (after PROPOSAL_QUEUED or MEMBER_ELECTION).
354
+ */
355
+ function setTimelockOpKey(ctx, timelockOpKey) {
356
+ return { ...ctx, timelockOpKey };
357
+ }
231
358
  async function emitProgress(ctx, s) {
232
359
  if (!ctx.onProgress)
233
360
  return;
@@ -240,4 +367,56 @@ async function emitProgress(ctx, s) {
240
367
  isComplete: isComplete(ctx),
241
368
  });
242
369
  }
370
+ // Election-specific getters
371
+ /** Get election index from election input */
372
+ const getElectionIndex = (ctx) => ctx.input.type === "election" ? ctx.input.electionIndex : undefined;
373
+ exports.getElectionIndex = getElectionIndex;
374
+ /** Get nominee proposal ID from CREATE_ELECTION or NOMINEE_ELECTION stage */
375
+ function getNomineeProposalId(ctx) {
376
+ const createData = stageData(ctx, "CREATE_ELECTION");
377
+ if (createData?.nomineeProposalId)
378
+ return createData.nomineeProposalId;
379
+ const nomineeData = stageData(ctx, "NOMINEE_ELECTION");
380
+ return nomineeData?.nomineeProposalId;
381
+ }
382
+ /** Get member proposal ID from NOMINEE_VETTING or MEMBER_ELECTION stage */
383
+ function getMemberProposalId(ctx) {
384
+ const vettingData = stageData(ctx, "NOMINEE_VETTING");
385
+ if (vettingData?.memberProposalId)
386
+ return vettingData.memberProposalId;
387
+ const memberData = stageData(ctx, "MEMBER_ELECTION");
388
+ return memberData?.memberProposalId;
389
+ }
390
+ /** Get election cohort from CREATE_ELECTION stage */
391
+ function getElectionCohort(ctx) {
392
+ const createData = stageData(ctx, "CREATE_ELECTION");
393
+ return createData?.cohort;
394
+ }
395
+ /** Get compliant nominee count from NOMINEE_ELECTION or NOMINEE_VETTING stage */
396
+ function getCompliantNomineeCount(ctx) {
397
+ const nomineeData = stageData(ctx, "NOMINEE_ELECTION");
398
+ if (nomineeData?.compliantNomineeCount !== undefined)
399
+ return nomineeData.compliantNomineeCount;
400
+ const vettingData = stageData(ctx, "NOMINEE_VETTING");
401
+ return vettingData?.compliantNomineeCount;
402
+ }
403
+ /** Get target nominee count from NOMINEE_ELECTION stage */
404
+ function getTargetNomineeCount(ctx) {
405
+ const nomineeData = stageData(ctx, "NOMINEE_ELECTION");
406
+ return nomineeData?.targetNomineeCount;
407
+ }
408
+ /** Get vetting deadline from NOMINEE_VETTING stage */
409
+ function getVettingDeadline(ctx) {
410
+ const vettingData = stageData(ctx, "NOMINEE_VETTING");
411
+ return vettingData?.vettingDeadline;
412
+ }
413
+ /** Get timelock operation ID from election flow (MEMBER_ELECTION stage) */
414
+ function getElectionTimelockOperationId(ctx) {
415
+ // For elections, operation ID comes from MEMBER_ELECTION stage after execution
416
+ const memberData = stageData(ctx, "MEMBER_ELECTION");
417
+ if (memberData?.operationId)
418
+ return memberData.operationId;
419
+ // Fall back to timelock stages
420
+ return getOperationId(ctx);
421
+ }
243
422
  //# 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
@@ -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
  /**
@@ -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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"}