@gzeoneth/gov-tracker 0.3.0-beta.3e02aff → 0.3.0-beta.656d3ba
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.
- package/README.md +0 -1
- package/dist/calldata/decoder.d.ts.map +1 -1
- package/dist/calldata/decoder.js +10 -56
- package/dist/calldata/decoder.js.map +1 -1
- package/dist/calldata/parameter-decoder.d.ts +21 -1
- package/dist/calldata/parameter-decoder.d.ts.map +1 -1
- package/dist/calldata/parameter-decoder.js +30 -0
- package/dist/calldata/parameter-decoder.js.map +1 -1
- package/dist/cli/lib/cli.d.ts.map +1 -1
- package/dist/cli/lib/cli.js +30 -42
- package/dist/cli/lib/cli.js.map +1 -1
- package/dist/cli/tui/utils/index.d.ts +1 -1
- package/dist/cli/tui/utils/index.d.ts.map +1 -1
- package/dist/cli/tui/utils/index.js +1 -2
- package/dist/cli/tui/utils/index.js.map +1 -1
- package/dist/cli/tui/utils/stage-formatter.d.ts +1 -1
- package/dist/cli/tui/utils/stage-formatter.d.ts.map +1 -1
- package/dist/cli/tui/utils/stage-formatter.js +1 -2
- package/dist/cli/tui/utils/stage-formatter.js.map +1 -1
- package/dist/cli/tui/views/ElectionView.d.ts.map +1 -1
- package/dist/cli/tui/views/ElectionView.js +3 -3
- package/dist/cli/tui/views/ElectionView.js.map +1 -1
- package/dist/cli/tui/views/StageView.d.ts.map +1 -1
- package/dist/cli/tui/views/StageView.js +1 -1
- package/dist/cli/tui/views/StageView.js.map +1 -1
- package/dist/data/bundled-cache.json +21513 -22619
- package/dist/discovery/governor-discovery.d.ts.map +1 -1
- package/dist/discovery/governor-discovery.js +43 -48
- package/dist/discovery/governor-discovery.js.map +1 -1
- package/dist/discovery/security-council.d.ts.map +1 -1
- package/dist/discovery/security-council.js +15 -20
- package/dist/discovery/security-council.js.map +1 -1
- package/dist/discovery/timelock-discovery.d.ts.map +1 -1
- package/dist/discovery/timelock-discovery.js +34 -54
- package/dist/discovery/timelock-discovery.js.map +1 -1
- package/dist/election/details.d.ts.map +1 -1
- package/dist/election/details.js +28 -30
- package/dist/election/details.js.map +1 -1
- package/dist/election/index.d.ts +3 -6
- package/dist/election/index.d.ts.map +1 -1
- package/dist/election/index.js +7 -14
- package/dist/election/index.js.map +1 -1
- package/dist/election/params.d.ts +8 -1
- package/dist/election/params.d.ts.map +1 -1
- package/dist/election/params.js +45 -1
- package/dist/election/params.js.map +1 -1
- package/dist/election/participants.d.ts.map +1 -1
- package/dist/election/participants.js +21 -24
- package/dist/election/participants.js.map +1 -1
- package/dist/election/proposal-ids.d.ts +10 -0
- package/dist/election/proposal-ids.d.ts.map +1 -1
- package/dist/election/proposal-ids.js +45 -5
- package/dist/election/proposal-ids.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/simulation/simulation-data.js +2 -2
- package/dist/simulation/simulation-data.js.map +1 -1
- package/dist/stages/builder.js +1 -1
- package/dist/stages/builder.js.map +1 -1
- package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
- package/dist/stages/l2-to-l1-message.js +2 -8
- package/dist/stages/l2-to-l1-message.js.map +1 -1
- package/dist/stages/proposal-queued.d.ts.map +1 -1
- package/dist/stages/proposal-queued.js +4 -1
- package/dist/stages/proposal-queued.js.map +1 -1
- package/dist/stages/retryables.d.ts +4 -3
- package/dist/stages/retryables.d.ts.map +1 -1
- package/dist/stages/retryables.js +25 -48
- package/dist/stages/retryables.js.map +1 -1
- package/dist/stages/timelock.d.ts +1 -0
- package/dist/stages/timelock.d.ts.map +1 -1
- package/dist/stages/timelock.js +44 -58
- package/dist/stages/timelock.js.map +1 -1
- package/dist/stages/utils.d.ts +39 -5
- package/dist/stages/utils.d.ts.map +1 -1
- package/dist/stages/utils.js +102 -40
- package/dist/stages/utils.js.map +1 -1
- package/dist/tracker/discovery.d.ts.map +1 -1
- package/dist/tracker/discovery.js +4 -9
- package/dist/tracker/discovery.js.map +1 -1
- package/dist/tracker/pipeline.d.ts +25 -6
- package/dist/tracker/pipeline.d.ts.map +1 -1
- package/dist/tracker/pipeline.js +428 -211
- package/dist/tracker/pipeline.js.map +1 -1
- package/dist/tracker/stage-runner.d.ts +62 -0
- package/dist/tracker/stage-runner.d.ts.map +1 -0
- package/dist/tracker/stage-runner.js +80 -0
- package/dist/tracker/stage-runner.js.map +1 -0
- package/dist/tracker/state.d.ts +64 -0
- package/dist/tracker/state.d.ts.map +1 -1
- package/dist/tracker/state.js +191 -12
- package/dist/tracker/state.js.map +1 -1
- package/dist/tracker.d.ts +21 -1
- package/dist/tracker.d.ts.map +1 -1
- package/dist/tracker.js +209 -167
- package/dist/tracker.js.map +1 -1
- package/dist/types/core.d.ts +3 -2
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js +3 -2
- package/dist/types/core.js.map +1 -1
- package/dist/types/tracking.d.ts +11 -0
- package/dist/types/tracking.d.ts.map +1 -1
- package/dist/utils/log-filters.d.ts.map +1 -1
- package/dist/utils/log-filters.js +4 -8
- package/dist/utils/log-filters.js.map +1 -1
- package/dist/utils/timing.d.ts.map +1 -1
- package/dist/utils/timing.js +5 -7
- package/dist/utils/timing.js.map +1 -1
- package/package.json +7 -6
- package/dist/election/prepare.d.ts +0 -10
- package/dist/election/prepare.d.ts.map +0 -1
- package/dist/election/prepare.js +0 -52
- package/dist/election/prepare.js.map +0 -1
- package/dist/election/tracking.d.ts +0 -28
- package/dist/election/tracking.d.ts.map +0 -1
- package/dist/election/tracking.js +0 -412
- package/dist/election/tracking.js.map +0 -1
|
@@ -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
|
@@ -226,14 +226,34 @@ export declare class ProposalStageTracker {
|
|
|
226
226
|
* Uses PipelineContext for stateful tracking - no parameter passing between stages.
|
|
227
227
|
*/
|
|
228
228
|
private trackByTxHashInternal;
|
|
229
|
+
/**
|
|
230
|
+
* Unified pipeline tracking method.
|
|
231
|
+
* Handles all common tracking patterns: state creation, pipeline execution,
|
|
232
|
+
* checkpoint management, and timelockOpKey derivation.
|
|
233
|
+
*/
|
|
234
|
+
private runTrackingPipeline;
|
|
229
235
|
/**
|
|
230
236
|
* Track governor proposal using TrackingState (stateful tracking)
|
|
237
|
+
* Uses modular caching: parent stages saved separately from timelock stages.
|
|
231
238
|
*/
|
|
232
239
|
private trackGovernorWithPipeline;
|
|
233
240
|
/**
|
|
234
241
|
* Track timelock operation using TrackingState (stateful tracking)
|
|
235
242
|
*/
|
|
236
243
|
private trackTimelockWithPipeline;
|
|
244
|
+
/**
|
|
245
|
+
* Track election using TrackingState (stateful tracking)
|
|
246
|
+
*
|
|
247
|
+
* This is the unified pipeline version that tracks elections through the
|
|
248
|
+
* same stage-based approach as proposals and timelock operations.
|
|
249
|
+
* Uses modular caching: election stages saved separately from timelock stages.
|
|
250
|
+
*/
|
|
251
|
+
private trackElectionWithPipeline;
|
|
252
|
+
/**
|
|
253
|
+
* Save checkpoints using modular caching.
|
|
254
|
+
* Saves parent stages and timelock stages in separate checkpoints.
|
|
255
|
+
*/
|
|
256
|
+
private saveModularCheckpoints;
|
|
237
257
|
/**
|
|
238
258
|
* Build TrackingResult from TrackingState
|
|
239
259
|
*/
|
|
@@ -300,7 +320,7 @@ export declare class ProposalStageTracker {
|
|
|
300
320
|
* Track election status for a given proposal ID.
|
|
301
321
|
*
|
|
302
322
|
* Searches through elections to find the one containing this proposal,
|
|
303
|
-
* then tracks the full election lifecycle.
|
|
323
|
+
* then tracks the full election lifecycle using the unified pipeline.
|
|
304
324
|
*/
|
|
305
325
|
private trackElectionStatus;
|
|
306
326
|
/**
|
package/dist/tracker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAUhC,OAAO,EACL,cAAc,EACd,cAAc,
|
|
1
|
+
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"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"}
|
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 (
|
|
81
|
-
queuedStage.type !== "PROPOSAL_QUEUED" ||
|
|
82
|
-
queuedStage.status !== "COMPLETED") {
|
|
83
|
-
return undefined;
|
|
84
|
-
}
|
|
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) {
|
|
101
|
+
if (queuedStage?.status !== "COMPLETED" || queuedStage.type !== "PROPOSAL_QUEUED") {
|
|
90
102
|
return undefined;
|
|
91
103
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
timelockAddress,
|
|
96
|
-
|
|
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
|
|
@@ -516,31 +527,85 @@ class ProposalStageTracker {
|
|
|
516
527
|
logTracker("no proposal or timelock operations found in tx");
|
|
517
528
|
return [];
|
|
518
529
|
}
|
|
530
|
+
// ============================================================================
|
|
531
|
+
// Unified Pipeline Tracking
|
|
532
|
+
// ============================================================================
|
|
519
533
|
/**
|
|
520
|
-
*
|
|
534
|
+
* Unified pipeline tracking method.
|
|
535
|
+
* Handles all common tracking patterns: state creation, pipeline execution,
|
|
536
|
+
* checkpoint management, and timelockOpKey derivation.
|
|
521
537
|
*/
|
|
522
|
-
async
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
538
|
+
async runTrackingPipeline(config) {
|
|
539
|
+
// Load linked timelock checkpoint if configured and available
|
|
540
|
+
let linkedTimelockCheckpoint;
|
|
541
|
+
if (config.loadLinkedTimelock && this.cache && config.checkpoint?.metadata?.timelockOpKey) {
|
|
542
|
+
linkedTimelockCheckpoint =
|
|
543
|
+
(await this.cache.get(config.checkpoint.metadata.timelockOpKey)) ??
|
|
544
|
+
undefined;
|
|
545
|
+
if (linkedTimelockCheckpoint) {
|
|
546
|
+
logTracker("loaded linked timelock checkpoint: %s", config.checkpoint.metadata.timelockOpKey);
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
// Create tracking state
|
|
530
550
|
const initialState = (0, state_1.createTrackingState)({
|
|
531
551
|
providers: {
|
|
532
552
|
l2: this.l2Provider,
|
|
533
553
|
l1: this.l1Provider,
|
|
534
554
|
nova: this.novaProvider,
|
|
535
555
|
},
|
|
536
|
-
input,
|
|
556
|
+
input: config.input,
|
|
537
557
|
onProgress: this.onProgress,
|
|
538
558
|
chunkingConfig: this.chunkingConfig,
|
|
559
|
+
checkpoint: config.checkpoint,
|
|
560
|
+
linkedTimelockCheckpoint,
|
|
561
|
+
cacheKey: config.cacheKey,
|
|
562
|
+
callScheduledData: config.callScheduledData,
|
|
563
|
+
});
|
|
564
|
+
// Run the pipeline
|
|
565
|
+
let finalState = await config.pipeline(initialState);
|
|
566
|
+
// Derive and set timelockOpKey if configured
|
|
567
|
+
if (config.timelockKeySource && !finalState.timelockOpKey) {
|
|
568
|
+
const { stageType, txDescription } = config.timelockKeySource;
|
|
569
|
+
const operationId = stageType === "MEMBER_ELECTION"
|
|
570
|
+
? (0, state_1.getElectionTimelockOperationId)(finalState)
|
|
571
|
+
: (0, state_1.getOperationId)(finalState);
|
|
572
|
+
const stage = finalState.stages.find((s) => s.type === stageType);
|
|
573
|
+
const txHash = stage?.transactions?.find((t) => t.description === txDescription)?.hash;
|
|
574
|
+
if (operationId && txHash) {
|
|
575
|
+
const timelockOpKey = (0, checkpoint_helpers_1.timelockOpCacheKey)(txHash, operationId);
|
|
576
|
+
finalState = (0, state_1.setTimelockOpKey)(finalState, timelockOpKey);
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
// Save checkpoints (unless caller handles caching)
|
|
580
|
+
if (!config.skipCaching && this.cache && config.cacheKey) {
|
|
581
|
+
if (config.modularCaching) {
|
|
582
|
+
await this.saveModularCheckpoints(finalState, config.cacheKey);
|
|
583
|
+
}
|
|
584
|
+
else {
|
|
585
|
+
const checkpoint = (0, state_1.createCheckpoint)(finalState);
|
|
586
|
+
checkpoint.metadata = { errorCount: 0, lastTrackedAt: Date.now() };
|
|
587
|
+
await this.cache.set(config.cacheKey, checkpoint);
|
|
588
|
+
logTracker("saved checkpoint to cache: %s", config.cacheKey);
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
return finalState;
|
|
592
|
+
}
|
|
593
|
+
/**
|
|
594
|
+
* Track governor proposal using TrackingState (stateful tracking)
|
|
595
|
+
* Uses modular caching: parent stages saved separately from timelock stages.
|
|
596
|
+
*/
|
|
597
|
+
async trackGovernorWithPipeline(governorAddress, proposalId, creationTxHash, checkpoint, cacheKey) {
|
|
598
|
+
// Run unified pipeline (with skipCaching - we handle election case specially)
|
|
599
|
+
const finalState = await this.runTrackingPipeline({
|
|
600
|
+
input: { type: "governor", governorAddress, proposalId, creationTxHash },
|
|
539
601
|
checkpoint,
|
|
540
602
|
cacheKey,
|
|
603
|
+
pipeline: pipeline_1.trackGovernorPipeline,
|
|
604
|
+
loadLinkedTimelock: true,
|
|
605
|
+
modularCaching: true,
|
|
606
|
+
skipCaching: true,
|
|
607
|
+
timelockKeySource: { stageType: "PROPOSAL_QUEUED", txDescription: "queued" },
|
|
541
608
|
});
|
|
542
|
-
// Run the governor pipeline (stages 1-7)
|
|
543
|
-
const finalState = await (0, pipeline_1.trackGovernorPipeline)(initialState);
|
|
544
609
|
// Build result from state
|
|
545
610
|
const result = this.buildResultFromState(finalState);
|
|
546
611
|
// Track election status if this is an election governor proposal
|
|
@@ -556,14 +621,11 @@ class ProposalStageTracker {
|
|
|
556
621
|
}
|
|
557
622
|
return result;
|
|
558
623
|
}
|
|
559
|
-
// If election tracking failed, fall through to save tx:* checkpoint for retry
|
|
560
624
|
logTracker("election tracking failed, saving tx:* checkpoint for retry");
|
|
561
625
|
}
|
|
562
|
-
// Save
|
|
626
|
+
// Save checkpoints using modular caching
|
|
563
627
|
if (this.cache && cacheKey) {
|
|
564
|
-
|
|
565
|
-
await this.cache.set(cacheKey, result.checkpoint);
|
|
566
|
-
logTracker("saved checkpoint to cache: %s", cacheKey);
|
|
628
|
+
await this.saveModularCheckpoints(finalState, cacheKey);
|
|
567
629
|
}
|
|
568
630
|
return result;
|
|
569
631
|
}
|
|
@@ -571,37 +633,55 @@ class ProposalStageTracker {
|
|
|
571
633
|
* Track timelock operation using TrackingState (stateful tracking)
|
|
572
634
|
*/
|
|
573
635
|
async trackTimelockWithPipeline(timelockAddress, operationId, scheduledTxHash, checkpoint, cacheKey, callScheduledEvent) {
|
|
574
|
-
|
|
575
|
-
|
|
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,
|
|
636
|
+
// Run unified pipeline
|
|
637
|
+
const finalState = await this.runTrackingPipeline({
|
|
638
|
+
input: { type: "timelock", timelockAddress, operationId, scheduledTxHash },
|
|
590
639
|
checkpoint,
|
|
591
640
|
cacheKey,
|
|
641
|
+
pipeline: pipeline_1.trackTimelockPipeline,
|
|
642
|
+
loadLinkedTimelock: false,
|
|
643
|
+
modularCaching: false,
|
|
592
644
|
callScheduledData: callScheduledEvent ? [callScheduledEvent] : undefined,
|
|
593
645
|
});
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
646
|
+
return this.buildResultFromState(finalState);
|
|
647
|
+
}
|
|
648
|
+
/**
|
|
649
|
+
* Track election using TrackingState (stateful tracking)
|
|
650
|
+
*
|
|
651
|
+
* This is the unified pipeline version that tracks elections through the
|
|
652
|
+
* same stage-based approach as proposals and timelock operations.
|
|
653
|
+
* Uses modular caching: election stages saved separately from timelock stages.
|
|
654
|
+
*/
|
|
655
|
+
async trackElectionWithPipeline(electionIndex, checkpoint, cacheKey) {
|
|
656
|
+
// Run unified pipeline (caller handles caching)
|
|
657
|
+
const finalState = await this.runTrackingPipeline({
|
|
658
|
+
input: { type: "election", electionIndex },
|
|
659
|
+
checkpoint,
|
|
660
|
+
cacheKey,
|
|
661
|
+
pipeline: pipeline_1.trackElectionPipeline,
|
|
662
|
+
loadLinkedTimelock: true,
|
|
663
|
+
modularCaching: true,
|
|
664
|
+
skipCaching: true,
|
|
665
|
+
timelockKeySource: { stageType: "MEMBER_ELECTION", txDescription: "executed" },
|
|
666
|
+
});
|
|
667
|
+
return { status: buildElectionStatusFromState(finalState), finalState };
|
|
668
|
+
}
|
|
669
|
+
/**
|
|
670
|
+
* Save checkpoints using modular caching.
|
|
671
|
+
* Saves parent stages and timelock stages in separate checkpoints.
|
|
672
|
+
*/
|
|
673
|
+
async saveModularCheckpoints(state, parentCacheKey) {
|
|
674
|
+
if (!this.cache)
|
|
675
|
+
return;
|
|
676
|
+
const { parentCheckpoint, timelockCheckpoint, timelockOpKey } = (0, state_1.createModularCheckpoints)(state, parentCacheKey);
|
|
677
|
+
// Save parent checkpoint
|
|
678
|
+
await this.cache.set(parentCacheKey, parentCheckpoint);
|
|
679
|
+
logTracker("saved parent checkpoint: %s", parentCacheKey);
|
|
680
|
+
// Save timelock checkpoint if we have one
|
|
681
|
+
if (timelockCheckpoint && timelockOpKey) {
|
|
682
|
+
await this.cache.set(timelockOpKey, timelockCheckpoint);
|
|
683
|
+
logTracker("saved linked timelock checkpoint: %s", timelockOpKey);
|
|
603
684
|
}
|
|
604
|
-
return result;
|
|
605
685
|
}
|
|
606
686
|
/**
|
|
607
687
|
* Build TrackingResult from TrackingState
|
|
@@ -639,38 +719,29 @@ class ProposalStageTracker {
|
|
|
639
719
|
* ```
|
|
640
720
|
*/
|
|
641
721
|
async trackFromCheckpoint(checkpoint) {
|
|
642
|
-
const input = checkpoint
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
throw new Error("Governor checkpoint missing creationTxHash");
|
|
646
|
-
}
|
|
647
|
-
const results = await this.trackByTxHash(input.creationTxHash);
|
|
722
|
+
const { input } = checkpoint;
|
|
723
|
+
const trackAndWarn = async (txHash, entityType) => {
|
|
724
|
+
const results = await this.trackByTxHash(txHash);
|
|
648
725
|
if (results.length === 0) {
|
|
649
|
-
throw new Error(`No
|
|
726
|
+
throw new Error(`No ${entityType} found in tx ${txHash}`);
|
|
650
727
|
}
|
|
651
728
|
if (results.length > 1) {
|
|
652
729
|
logTracker("WARNING: trackFromCheckpoint found %d results in tx %s, returning first only. " +
|
|
653
|
-
"Use trackByTxHash() to get all results.", results.length,
|
|
730
|
+
"Use trackByTxHash() to get all results.", results.length, txHash);
|
|
654
731
|
}
|
|
655
732
|
return results[0];
|
|
733
|
+
};
|
|
734
|
+
if (input.type === "governor") {
|
|
735
|
+
if (!input.creationTxHash)
|
|
736
|
+
throw new Error("Governor checkpoint missing creationTxHash");
|
|
737
|
+
return trackAndWarn(input.creationTxHash, "proposal");
|
|
656
738
|
}
|
|
657
|
-
|
|
658
|
-
if (!input.scheduledTxHash)
|
|
739
|
+
if (input.type === "timelock") {
|
|
740
|
+
if (!input.scheduledTxHash)
|
|
659
741
|
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}`);
|
|
742
|
+
return trackAndWarn(input.scheduledTxHash, "timelock operation");
|
|
673
743
|
}
|
|
744
|
+
throw new Error(`Unsupported checkpoint input type: ${input.type}`);
|
|
674
745
|
}
|
|
675
746
|
// Transaction Preparation
|
|
676
747
|
/**
|
|
@@ -728,7 +799,7 @@ class ProposalStageTracker {
|
|
|
728
799
|
* Track election status for a given proposal ID.
|
|
729
800
|
*
|
|
730
801
|
* Searches through elections to find the one containing this proposal,
|
|
731
|
-
* then tracks the full election lifecycle.
|
|
802
|
+
* then tracks the full election lifecycle using the unified pipeline.
|
|
732
803
|
*/
|
|
733
804
|
async trackElectionStatus(proposalId) {
|
|
734
805
|
logTracker("trackElectionStatus for proposal %s", proposalId);
|
|
@@ -741,9 +812,8 @@ class ProposalStageTracker {
|
|
|
741
812
|
return null;
|
|
742
813
|
}
|
|
743
814
|
logTracker("found election index %d for proposal %s", electionIndex, proposalId);
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
});
|
|
815
|
+
// Use unified pipeline via trackElection
|
|
816
|
+
return this.trackElection(electionIndex);
|
|
747
817
|
}
|
|
748
818
|
catch (error) {
|
|
749
819
|
// Election tracking is non-critical - log and return null
|
|
@@ -769,6 +839,7 @@ class ProposalStageTracker {
|
|
|
769
839
|
*/
|
|
770
840
|
async trackElection(electionIndex, options = {}) {
|
|
771
841
|
logTracker("trackElection for index %d (force=%s)", electionIndex, options.force ?? false);
|
|
842
|
+
const cacheKey = `election:${electionIndex}`;
|
|
772
843
|
// Check cache first for completed elections (skip RPC calls)
|
|
773
844
|
if (this.cache && !options.force) {
|
|
774
845
|
const cached = await this.getElectionCheckpoint(electionIndex);
|
|
@@ -777,21 +848,20 @@ class ProposalStageTracker {
|
|
|
777
848
|
return cached.status;
|
|
778
849
|
}
|
|
779
850
|
}
|
|
780
|
-
//
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
timestamp: context.timestamp,
|
|
792
|
-
skipCache: context.skipCache,
|
|
793
|
-
});
|
|
851
|
+
// Load checkpoint from cache for resume
|
|
852
|
+
let checkpoint;
|
|
853
|
+
if (this.cache && !options.force) {
|
|
854
|
+
checkpoint = (await this.cache.get(cacheKey)) ?? undefined;
|
|
855
|
+
if (checkpoint) {
|
|
856
|
+
logTracker("loaded election checkpoint from cache: %s", cacheKey);
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
// Track using the unified pipeline
|
|
860
|
+
const { status, finalState } = await this.trackElectionWithPipeline(electionIndex, checkpoint, cacheKey);
|
|
861
|
+
// Save checkpoints using modular caching
|
|
794
862
|
if (this.cache) {
|
|
863
|
+
await this.saveModularCheckpoints(finalState, cacheKey);
|
|
864
|
+
// Also save election-specific data
|
|
795
865
|
await this.saveElectionCheckpoint(status);
|
|
796
866
|
}
|
|
797
867
|
return status;
|
|
@@ -809,39 +879,15 @@ class ProposalStageTracker {
|
|
|
809
879
|
*/
|
|
810
880
|
async trackAllElections(options = {}) {
|
|
811
881
|
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
882
|
const status = await (0, election_1.checkElectionStatus)(this.l2Provider, this.l1Provider);
|
|
820
883
|
const electionCount = status.electionCount;
|
|
821
884
|
const results = [];
|
|
822
885
|
// Track existing elections (indices 0 to electionCount-1)
|
|
823
886
|
for (let i = 0; i < electionCount; i++) {
|
|
824
887
|
try {
|
|
825
|
-
//
|
|
826
|
-
|
|
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
|
-
});
|
|
888
|
+
// Use unified pipeline via trackElection
|
|
889
|
+
const electionStatus = await this.trackElection(i, { force: options.force });
|
|
841
890
|
results.push(electionStatus);
|
|
842
|
-
if (this.cache) {
|
|
843
|
-
await this.saveElectionCheckpoint(electionStatus);
|
|
844
|
-
}
|
|
845
891
|
}
|
|
846
892
|
catch (err) {
|
|
847
893
|
logTracker("Failed to track election %d: %s", i, err);
|
|
@@ -851,11 +897,7 @@ class ProposalStageTracker {
|
|
|
851
897
|
if (options.includeNext ?? true) {
|
|
852
898
|
try {
|
|
853
899
|
// Next election always needs fresh RPC calls since it doesn't exist yet
|
|
854
|
-
const nextElectionStatus = await
|
|
855
|
-
novaProvider: this.novaProvider,
|
|
856
|
-
l2BlockNumber: context.l2BlockNumber,
|
|
857
|
-
timestamp: context.timestamp,
|
|
858
|
-
});
|
|
900
|
+
const nextElectionStatus = await this.trackElection(electionCount, { force: true });
|
|
859
901
|
results.push({
|
|
860
902
|
...nextElectionStatus,
|
|
861
903
|
canCreateElection: status.canCreateElection,
|