@gzeoneth/gov-tracker 0.3.0 → 0.4.0-beta.18db0de

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
package/dist/tracker.js CHANGED
@@ -27,74 +27,85 @@ const governor_discovery_1 = require("./discovery/governor-discovery");
27
27
  const timelock_discovery_1 = require("./discovery/timelock-discovery");
28
28
  const utils_1 = require("./stages/utils");
29
29
  const { tracker: logTracker, discovery: logDiscovery } = logger_1.loggers;
30
- /**
31
- * Build a TrackingContext with current block numbers and timestamp.
32
- * Called once at the start of a tracking session for consistent state.
33
- */
34
- async function buildTrackingContext(options) {
35
- const { l2Provider, l1Provider, novaProvider, chunkSize, skipCache } = options;
36
- const l2BlockInfo = await (0, timing_1.getCurrentBlockInfo)(l2Provider);
37
- const context = {
38
- l2BlockNumber: l2BlockInfo.blockNumber,
39
- timestamp: l2BlockInfo.timestamp,
40
- chunkSize,
41
- skipCache,
42
- };
43
- logTracker("buildTrackingContext: l2Block=%d timestamp=%d", context.l2BlockNumber, context.timestamp);
44
- if (l1Provider) {
45
- try {
46
- const l1Block = await (0, timing_1.getL1BlockNumberFromL2)(l2Provider);
47
- context.l1BlockNumber = l1Block.toNumber();
48
- logTracker("buildTrackingContext: l1Block=%d", context.l1BlockNumber);
49
- }
50
- catch (err) {
51
- logTracker("buildTrackingContext: failed to get L1 block: %s", err.message);
52
- }
53
- }
54
- if (novaProvider) {
55
- try {
56
- const novaBlockInfo = await (0, timing_1.getCurrentBlockInfo)(novaProvider);
57
- context.novaBlockNumber = novaBlockInfo.blockNumber;
58
- logTracker("buildTrackingContext: novaBlock=%d", context.novaBlockNumber);
59
- }
60
- catch (err) {
61
- logTracker("buildTrackingContext: failed to get Nova block: %s", err.message);
62
- }
63
- }
64
- return context;
65
- }
66
30
  // Import context and pipeline from tracker modules
67
31
  const state_1 = require("./tracker/state");
68
32
  const pipeline_1 = require("./tracker/pipeline");
33
+ const status_1 = require("./election/status");
34
+ const constants_2 = require("./constants");
69
35
  // Import from focused modules
70
36
  const cache_1 = require("./tracker/cache");
71
37
  const discovery_1 = require("./tracker/discovery");
72
38
  const discovery_2 = require("./tracker/discovery");
73
39
  const query_1 = require("./tracker/query");
74
40
  const execute_1 = require("./tracker/execute");
41
+ /**
42
+ * Build ElectionProposalStatus from TrackingState.
43
+ * This bridges the unified pipeline approach with the existing election API.
44
+ */
45
+ function buildElectionStatusFromState(state) {
46
+ // Extract basic state with defaults
47
+ const electionIndex = (0, state_1.getElectionIndex)(state) ?? 0;
48
+ const nomineeProposalId = (0, state_1.getNomineeProposalId)(state) ?? null;
49
+ const memberProposalId = (0, state_1.getMemberProposalId)(state) ?? null;
50
+ const cohort = (0, state_1.getElectionCohort)(state) ?? 0;
51
+ const compliantNomineeCount = (0, state_1.getCompliantNomineeCount)(state) ?? 0;
52
+ const targetNomineeCount = (0, state_1.getTargetNomineeCount)(state) ?? constants_2.TIMING.SECURITY_COUNCIL_TARGET_NOMINEES;
53
+ const vettingDeadline = (0, state_1.getVettingDeadline)(state) ?? null;
54
+ // Stage lookups (typed for data access)
55
+ const createStage = (0, utils_1.findStage)(state.stages, "CREATE_ELECTION");
56
+ const nomineeStage = (0, utils_1.findStage)(state.stages, "NOMINEE_ELECTION");
57
+ const vettingStage = (0, utils_1.findStage)(state.stages, "NOMINEE_VETTING");
58
+ const memberStage = (0, utils_1.findStage)(state.stages, "MEMBER_ELECTION");
59
+ // Extract proposal states from typed stages
60
+ const nomineeProposalState = nomineeStage?.data
61
+ ?.proposalState ?? null;
62
+ const memberProposalState = memberStage?.data
63
+ ?.proposalState ?? null;
64
+ const isInVettingPeriod = vettingStage?.status === "PENDING";
65
+ // Determine failure from any failed stage using Map for O(1) lookup
66
+ const stageFailureReasons = new Map([
67
+ [nomineeStage, "Nominee election failed"],
68
+ [vettingStage, "Not enough compliant nominees"],
69
+ [memberStage, "Member election failed"],
70
+ ]);
71
+ const failedStage = [nomineeStage, vettingStage, memberStage].find((s) => s?.status === "FAILED");
72
+ const failureReason = failedStage ? stageFailureReasons.get(failedStage) : undefined;
73
+ return {
74
+ electionIndex,
75
+ phase: (0, status_1.determineElectionPhase)(nomineeProposalState, memberProposalId, memberProposalState, isInVettingPeriod),
76
+ cohort,
77
+ nomineeProposalId,
78
+ memberProposalId,
79
+ nomineeProposalState,
80
+ memberProposalState,
81
+ compliantNomineeCount,
82
+ targetNomineeCount,
83
+ vettingDeadline,
84
+ isInVettingPeriod,
85
+ canProceedToMemberPhase: vettingStage?.status === "READY",
86
+ canExecuteMember: memberStage?.status === "READY",
87
+ stages: state.stages,
88
+ isFailed: failedStage ? true : undefined,
89
+ failureReason,
90
+ timelockOperationId: (0, state_1.getElectionTimelockOperationId)(state),
91
+ creationTxHash: createStage?.transactions?.[0]?.hash,
92
+ nomineeExecuteTxHash: vettingStage?.transactions?.[0]?.hash,
93
+ memberExecuteTxHash: memberStage?.transactions?.find((t) => t.description === "executed")?.hash,
94
+ };
95
+ }
75
96
  /**
76
97
  * Extract TimelockLink from stages if PROPOSAL_QUEUED is completed
77
98
  */
78
99
  function extractTimelockLink(stages) {
79
100
  const queuedStage = (0, utils_1.findStage)(stages, "PROPOSAL_QUEUED");
80
- if (!queuedStage ||
81
- queuedStage.type !== "PROPOSAL_QUEUED" ||
82
- queuedStage.status !== "COMPLETED") {
101
+ if (queuedStage?.status !== "COMPLETED" || queuedStage.type !== "PROPOSAL_QUEUED") {
83
102
  return undefined;
84
103
  }
85
- const txHash = queuedStage.transactions[0]?.hash;
86
- const operationId = queuedStage.data.operationId;
87
- const timelockAddress = queuedStage.data.timelockAddress;
88
- const queueBlockNumber = queuedStage.transactions[0]?.blockNumber;
89
- if (!txHash || !operationId || !timelockAddress || !queueBlockNumber) {
90
- return undefined;
91
- }
92
- return {
93
- txHash,
94
- operationId,
95
- timelockAddress,
96
- queueBlockNumber,
97
- };
104
+ const tx = queuedStage.transactions[0];
105
+ const { operationId, timelockAddress } = queuedStage.data;
106
+ return tx?.hash && operationId && timelockAddress && tx.blockNumber
107
+ ? { txHash: tx.hash, operationId, timelockAddress, queueBlockNumber: tx.blockNumber }
108
+ : undefined;
98
109
  }
99
110
  /**
100
111
  * Main proposal stage tracker class
@@ -369,6 +380,17 @@ class ProposalStageTracker {
369
380
  async getStats(maxErrorCount = 5) {
370
381
  return (0, query_1.getStats)(this.cache, maxErrorCount);
371
382
  }
383
+ /**
384
+ * Get the highest Security Council nonce from incomplete checkpoints.
385
+ *
386
+ * Used to determine if lower-nonce SC operations should be skipped
387
+ * (superseded by higher nonce operations).
388
+ *
389
+ * @returns The highest SC nonce found, or null if no SC operations exist
390
+ */
391
+ async getHighestScNonce() {
392
+ return (0, query_1.getHighestScNonceFromCheckpoints)(this.cache);
393
+ }
372
394
  // Main Tracking Entry Points
373
395
  /**
374
396
  * Track from transaction hash (primary tracking entry point)
@@ -516,31 +538,85 @@ class ProposalStageTracker {
516
538
  logTracker("no proposal or timelock operations found in tx");
517
539
  return [];
518
540
  }
541
+ // ============================================================================
542
+ // Unified Pipeline Tracking
543
+ // ============================================================================
519
544
  /**
520
- * Track governor proposal using TrackingState (stateful tracking)
545
+ * Unified pipeline tracking method.
546
+ * Handles all common tracking patterns: state creation, pipeline execution,
547
+ * checkpoint management, and timelockOpKey derivation.
521
548
  */
522
- async trackGovernorWithPipeline(governorAddress, proposalId, creationTxHash, checkpoint, cacheKey) {
523
- const input = {
524
- type: "governor",
525
- governorAddress,
526
- proposalId,
527
- creationTxHash,
528
- };
529
- // Create tracking context
549
+ async runTrackingPipeline(config) {
550
+ // Load linked timelock checkpoint if configured and available
551
+ let linkedTimelockCheckpoint;
552
+ if (config.loadLinkedTimelock && this.cache && config.checkpoint?.metadata?.timelockOpKey) {
553
+ linkedTimelockCheckpoint =
554
+ (await this.cache.get(config.checkpoint.metadata.timelockOpKey)) ??
555
+ undefined;
556
+ if (linkedTimelockCheckpoint) {
557
+ logTracker("loaded linked timelock checkpoint: %s", config.checkpoint.metadata.timelockOpKey);
558
+ }
559
+ }
560
+ // Create tracking state
530
561
  const initialState = (0, state_1.createTrackingState)({
531
562
  providers: {
532
563
  l2: this.l2Provider,
533
564
  l1: this.l1Provider,
534
565
  nova: this.novaProvider,
535
566
  },
536
- input,
567
+ input: config.input,
537
568
  onProgress: this.onProgress,
538
569
  chunkingConfig: this.chunkingConfig,
570
+ checkpoint: config.checkpoint,
571
+ linkedTimelockCheckpoint,
572
+ cacheKey: config.cacheKey,
573
+ callScheduledData: config.callScheduledData,
574
+ });
575
+ // Run the pipeline
576
+ let finalState = await config.pipeline(initialState);
577
+ // Derive and set timelockOpKey if configured
578
+ if (config.timelockKeySource && !finalState.timelockOpKey) {
579
+ const { stageType, txDescription } = config.timelockKeySource;
580
+ const operationId = stageType === "MEMBER_ELECTION"
581
+ ? (0, state_1.getElectionTimelockOperationId)(finalState)
582
+ : (0, state_1.getOperationId)(finalState);
583
+ const stage = finalState.stages.find((s) => s.type === stageType);
584
+ const txHash = stage?.transactions?.find((t) => t.description === txDescription)?.hash;
585
+ if (operationId && txHash) {
586
+ const timelockOpKey = (0, checkpoint_helpers_1.timelockOpCacheKey)(txHash, operationId);
587
+ finalState = (0, state_1.setTimelockOpKey)(finalState, timelockOpKey);
588
+ }
589
+ }
590
+ // Save checkpoints (unless caller handles caching)
591
+ if (!config.skipCaching && this.cache && config.cacheKey) {
592
+ if (config.modularCaching) {
593
+ await this.saveModularCheckpoints(finalState, config.cacheKey);
594
+ }
595
+ else {
596
+ const checkpoint = (0, state_1.createCheckpoint)(finalState);
597
+ checkpoint.metadata = { errorCount: 0, lastTrackedAt: Date.now() };
598
+ await this.cache.set(config.cacheKey, checkpoint);
599
+ logTracker("saved checkpoint to cache: %s", config.cacheKey);
600
+ }
601
+ }
602
+ return finalState;
603
+ }
604
+ /**
605
+ * Track governor proposal using TrackingState (stateful tracking)
606
+ * Uses modular caching: parent stages saved separately from timelock stages.
607
+ */
608
+ async trackGovernorWithPipeline(governorAddress, proposalId, creationTxHash, checkpoint, cacheKey) {
609
+ // Run unified pipeline (with skipCaching - we handle election case specially)
610
+ const finalState = await this.runTrackingPipeline({
611
+ input: { type: "governor", governorAddress, proposalId, creationTxHash },
539
612
  checkpoint,
540
613
  cacheKey,
614
+ pipeline: pipeline_1.trackGovernorPipeline,
615
+ loadLinkedTimelock: true,
616
+ modularCaching: true,
617
+ skipCaching: true,
618
+ timelockKeySource: { stageType: "PROPOSAL_QUEUED", txDescription: "queued" },
541
619
  });
542
- // Run the governor pipeline (stages 1-7)
543
- const finalState = await (0, pipeline_1.trackGovernorPipeline)(initialState);
544
620
  // Build result from state
545
621
  const result = this.buildResultFromState(finalState);
546
622
  // Track election status if this is an election governor proposal
@@ -556,14 +632,11 @@ class ProposalStageTracker {
556
632
  }
557
633
  return result;
558
634
  }
559
- // If election tracking failed, fall through to save tx:* checkpoint for retry
560
635
  logTracker("election tracking failed, saving tx:* checkpoint for retry");
561
636
  }
562
- // Save checkpoint to cache (non-elections and failed election tracking)
637
+ // Save checkpoints using modular caching
563
638
  if (this.cache && cacheKey) {
564
- result.checkpoint.metadata = { errorCount: 0, lastTrackedAt: Date.now() };
565
- await this.cache.set(cacheKey, result.checkpoint);
566
- logTracker("saved checkpoint to cache: %s", cacheKey);
639
+ await this.saveModularCheckpoints(finalState, cacheKey);
567
640
  }
568
641
  return result;
569
642
  }
@@ -571,37 +644,55 @@ class ProposalStageTracker {
571
644
  * Track timelock operation using TrackingState (stateful tracking)
572
645
  */
573
646
  async trackTimelockWithPipeline(timelockAddress, operationId, scheduledTxHash, checkpoint, cacheKey, callScheduledEvent) {
574
- const input = {
575
- type: "timelock",
576
- timelockAddress,
577
- operationId,
578
- scheduledTxHash,
579
- };
580
- // Create tracking context with bootstrap data
581
- const initialState = (0, state_1.createTrackingState)({
582
- providers: {
583
- l2: this.l2Provider,
584
- l1: this.l1Provider,
585
- nova: this.novaProvider,
586
- },
587
- input,
588
- onProgress: this.onProgress,
589
- chunkingConfig: this.chunkingConfig,
647
+ // Run unified pipeline
648
+ const finalState = await this.runTrackingPipeline({
649
+ input: { type: "timelock", timelockAddress, operationId, scheduledTxHash },
590
650
  checkpoint,
591
651
  cacheKey,
652
+ pipeline: pipeline_1.trackTimelockPipeline,
653
+ loadLinkedTimelock: false,
654
+ modularCaching: false,
592
655
  callScheduledData: callScheduledEvent ? [callScheduledEvent] : undefined,
593
656
  });
594
- // Run the timelock pipeline (stages 4-7)
595
- const finalState = await (0, pipeline_1.trackTimelockPipeline)(initialState);
596
- // Build result from state
597
- const result = this.buildResultFromState(finalState);
598
- // Save checkpoint to cache
599
- if (this.cache && cacheKey) {
600
- result.checkpoint.metadata = { errorCount: 0, lastTrackedAt: Date.now() };
601
- await this.cache.set(cacheKey, result.checkpoint);
602
- logTracker("saved checkpoint to cache: %s", cacheKey);
657
+ return this.buildResultFromState(finalState);
658
+ }
659
+ /**
660
+ * Track election using TrackingState (stateful tracking)
661
+ *
662
+ * This is the unified pipeline version that tracks elections through the
663
+ * same stage-based approach as proposals and timelock operations.
664
+ * Uses modular caching: election stages saved separately from timelock stages.
665
+ */
666
+ async trackElectionWithPipeline(electionIndex, checkpoint, cacheKey) {
667
+ // Run unified pipeline (caller handles caching)
668
+ const finalState = await this.runTrackingPipeline({
669
+ input: { type: "election", electionIndex },
670
+ checkpoint,
671
+ cacheKey,
672
+ pipeline: pipeline_1.trackElectionPipeline,
673
+ loadLinkedTimelock: true,
674
+ modularCaching: true,
675
+ skipCaching: true,
676
+ timelockKeySource: { stageType: "MEMBER_ELECTION", txDescription: "executed" },
677
+ });
678
+ return { status: buildElectionStatusFromState(finalState), finalState };
679
+ }
680
+ /**
681
+ * Save checkpoints using modular caching.
682
+ * Saves parent stages and timelock stages in separate checkpoints.
683
+ */
684
+ async saveModularCheckpoints(state, parentCacheKey) {
685
+ if (!this.cache)
686
+ return;
687
+ const { parentCheckpoint, timelockCheckpoint, timelockOpKey } = (0, state_1.createModularCheckpoints)(state, parentCacheKey);
688
+ // Save parent checkpoint
689
+ await this.cache.set(parentCacheKey, parentCheckpoint);
690
+ logTracker("saved parent checkpoint: %s", parentCacheKey);
691
+ // Save timelock checkpoint if we have one
692
+ if (timelockCheckpoint && timelockOpKey) {
693
+ await this.cache.set(timelockOpKey, timelockCheckpoint);
694
+ logTracker("saved linked timelock checkpoint: %s", timelockOpKey);
603
695
  }
604
- return result;
605
696
  }
606
697
  /**
607
698
  * Build TrackingResult from TrackingState
@@ -639,38 +730,29 @@ class ProposalStageTracker {
639
730
  * ```
640
731
  */
641
732
  async trackFromCheckpoint(checkpoint) {
642
- const input = checkpoint.input;
643
- if (input.type === "governor") {
644
- if (!input.creationTxHash) {
645
- throw new Error("Governor checkpoint missing creationTxHash");
646
- }
647
- const results = await this.trackByTxHash(input.creationTxHash);
733
+ const { input } = checkpoint;
734
+ const trackAndWarn = async (txHash, entityType) => {
735
+ const results = await this.trackByTxHash(txHash);
648
736
  if (results.length === 0) {
649
- throw new Error(`No proposal found in tx ${input.creationTxHash}`);
737
+ throw new Error(`No ${entityType} found in tx ${txHash}`);
650
738
  }
651
739
  if (results.length > 1) {
652
740
  logTracker("WARNING: trackFromCheckpoint found %d results in tx %s, returning first only. " +
653
- "Use trackByTxHash() to get all results.", results.length, input.creationTxHash);
741
+ "Use trackByTxHash() to get all results.", results.length, txHash);
654
742
  }
655
743
  return results[0];
744
+ };
745
+ if (input.type === "governor") {
746
+ if (!input.creationTxHash)
747
+ throw new Error("Governor checkpoint missing creationTxHash");
748
+ return trackAndWarn(input.creationTxHash, "proposal");
656
749
  }
657
- else if (input.type === "timelock") {
658
- if (!input.scheduledTxHash) {
750
+ if (input.type === "timelock") {
751
+ if (!input.scheduledTxHash)
659
752
  throw new Error("Timelock checkpoint missing scheduledTxHash");
660
- }
661
- const results = await this.trackByTxHash(input.scheduledTxHash);
662
- if (results.length === 0) {
663
- throw new Error(`No timelock operation found in tx ${input.scheduledTxHash}`);
664
- }
665
- if (results.length > 1) {
666
- logTracker("WARNING: trackFromCheckpoint found %d results in tx %s, returning first only. " +
667
- "Use trackByTxHash() to get all results.", results.length, input.scheduledTxHash);
668
- }
669
- return results[0];
670
- }
671
- else {
672
- throw new Error(`Unsupported checkpoint input type: ${input.type}`);
753
+ return trackAndWarn(input.scheduledTxHash, "timelock operation");
673
754
  }
755
+ throw new Error(`Unsupported checkpoint input type: ${input.type}`);
674
756
  }
675
757
  // Transaction Preparation
676
758
  /**
@@ -728,7 +810,7 @@ class ProposalStageTracker {
728
810
  * Track election status for a given proposal ID.
729
811
  *
730
812
  * Searches through elections to find the one containing this proposal,
731
- * then tracks the full election lifecycle.
813
+ * then tracks the full election lifecycle using the unified pipeline.
732
814
  */
733
815
  async trackElectionStatus(proposalId) {
734
816
  logTracker("trackElectionStatus for proposal %s", proposalId);
@@ -741,9 +823,8 @@ class ProposalStageTracker {
741
823
  return null;
742
824
  }
743
825
  logTracker("found election index %d for proposal %s", electionIndex, proposalId);
744
- return (0, election_1.trackElectionProposal)(electionIndex, this.l2Provider, this.l1Provider, {
745
- novaProvider: this.novaProvider,
746
- });
826
+ // Use unified pipeline via trackElection
827
+ return this.trackElection(electionIndex);
747
828
  }
748
829
  catch (error) {
749
830
  // Election tracking is non-critical - log and return null
@@ -769,6 +850,7 @@ class ProposalStageTracker {
769
850
  */
770
851
  async trackElection(electionIndex, options = {}) {
771
852
  logTracker("trackElection for index %d (force=%s)", electionIndex, options.force ?? false);
853
+ const cacheKey = `election:${electionIndex}`;
772
854
  // Check cache first for completed elections (skip RPC calls)
773
855
  if (this.cache && !options.force) {
774
856
  const cached = await this.getElectionCheckpoint(electionIndex);
@@ -777,21 +859,20 @@ class ProposalStageTracker {
777
859
  return cached.status;
778
860
  }
779
861
  }
780
- // Build full tracking context for consistent state across all calls
781
- const context = await buildTrackingContext({
782
- l2Provider: this.l2Provider,
783
- l1Provider: this.l1Provider,
784
- novaProvider: this.novaProvider,
785
- skipCache: options.force,
786
- });
787
- // Track fresh for incomplete elections or cache miss
788
- const status = await (0, election_1.trackElectionProposal)(electionIndex, this.l2Provider, this.l1Provider, {
789
- novaProvider: this.novaProvider,
790
- l2BlockNumber: context.l2BlockNumber,
791
- timestamp: context.timestamp,
792
- skipCache: context.skipCache,
793
- });
862
+ // Load checkpoint from cache for resume
863
+ let checkpoint;
864
+ if (this.cache && !options.force) {
865
+ checkpoint = (await this.cache.get(cacheKey)) ?? undefined;
866
+ if (checkpoint) {
867
+ logTracker("loaded election checkpoint from cache: %s", cacheKey);
868
+ }
869
+ }
870
+ // Track using the unified pipeline
871
+ const { status, finalState } = await this.trackElectionWithPipeline(electionIndex, checkpoint, cacheKey);
872
+ // Save checkpoints using modular caching
794
873
  if (this.cache) {
874
+ await this.saveModularCheckpoints(finalState, cacheKey);
875
+ // Also save election-specific data
795
876
  await this.saveElectionCheckpoint(status);
796
877
  }
797
878
  return status;
@@ -809,39 +890,15 @@ class ProposalStageTracker {
809
890
  */
810
891
  async trackAllElections(options = {}) {
811
892
  logTracker("trackAllElections (includeNext=%s, force=%s)", options.includeNext ?? true, options.force ?? false);
812
- // Build context once at the start for consistent state across all elections
813
- const context = await buildTrackingContext({
814
- l2Provider: this.l2Provider,
815
- l1Provider: this.l1Provider,
816
- novaProvider: this.novaProvider,
817
- skipCache: options.force,
818
- });
819
893
  const status = await (0, election_1.checkElectionStatus)(this.l2Provider, this.l1Provider);
820
894
  const electionCount = status.electionCount;
821
895
  const results = [];
822
896
  // Track existing elections (indices 0 to electionCount-1)
823
897
  for (let i = 0; i < electionCount; i++) {
824
898
  try {
825
- // Check cache first for completed elections (skip RPC calls)
826
- if (this.cache && !options.force) {
827
- const cached = await this.getElectionCheckpoint(i);
828
- if (cached && cached.status.phase === "COMPLETED") {
829
- logTracker("returning cached COMPLETED election %d (0 RPC calls)", i);
830
- results.push(cached.status);
831
- continue;
832
- }
833
- }
834
- // Track with shared context
835
- const electionStatus = await (0, election_1.trackElectionProposal)(i, this.l2Provider, this.l1Provider, {
836
- novaProvider: this.novaProvider,
837
- l2BlockNumber: context.l2BlockNumber,
838
- timestamp: context.timestamp,
839
- skipCache: context.skipCache,
840
- });
899
+ // Use unified pipeline via trackElection
900
+ const electionStatus = await this.trackElection(i, { force: options.force });
841
901
  results.push(electionStatus);
842
- if (this.cache) {
843
- await this.saveElectionCheckpoint(electionStatus);
844
- }
845
902
  }
846
903
  catch (err) {
847
904
  logTracker("Failed to track election %d: %s", i, err);
@@ -851,11 +908,7 @@ class ProposalStageTracker {
851
908
  if (options.includeNext ?? true) {
852
909
  try {
853
910
  // Next election always needs fresh RPC calls since it doesn't exist yet
854
- const nextElectionStatus = await (0, election_1.trackElectionProposal)(electionCount, this.l2Provider, this.l1Provider, {
855
- novaProvider: this.novaProvider,
856
- l2BlockNumber: context.l2BlockNumber,
857
- timestamp: context.timestamp,
858
- });
911
+ const nextElectionStatus = await this.trackElection(electionCount, { force: true });
859
912
  results.push({
860
913
  ...nextElectionStatus,
861
914
  canCreateElection: status.canCreateElection,
@@ -1 +1 @@
1
- {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"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"}
@@ -32,9 +32,10 @@ export declare const CHAIN_ID_MAP: Record<KnownChain, number>;
32
32
  */
33
33
  export declare function chainIdToChain(chainId: ChainId): Chain;
34
34
  /**
35
- * Convert chain name to chainId
35
+ * Convert chain name to chainId.
36
+ * Returns 0 for unknown chains (safe sentinel value).
36
37
  */
37
- export declare function chainToChainId(chain: Chain): ChainId | undefined;
38
+ export declare function chainToChainId(chain: Chain): ChainId;
38
39
  /**
39
40
  * Type guard for known chains (ethereum, arb1, nova)
40
41
  */