@gzeoneth/gov-tracker 0.2.1-beta.b2eeb41 → 0.2.1-beta.d575294
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 +81 -2
- package/dist/abis.d.ts +3 -0
- package/dist/abis.d.ts.map +1 -1
- package/dist/abis.js +30 -2
- package/dist/abis.js.map +1 -1
- package/dist/cli/cli.js +265 -27
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/lib/cli.d.ts +48 -2
- package/dist/cli/lib/cli.d.ts.map +1 -1
- package/dist/cli/lib/cli.js +356 -63
- package/dist/cli/lib/cli.js.map +1 -1
- package/dist/cli/lib/json-state.d.ts +23 -0
- package/dist/cli/lib/json-state.d.ts.map +1 -1
- package/dist/cli/lib/json-state.js +51 -4
- package/dist/cli/lib/json-state.js.map +1 -1
- package/dist/constants.d.ts +39 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +47 -2
- package/dist/constants.js.map +1 -1
- package/dist/data/bundled-cache.json +11061 -1460
- package/dist/deduplication.d.ts +132 -0
- package/dist/deduplication.d.ts.map +1 -0
- package/dist/deduplication.js +270 -0
- package/dist/deduplication.js.map +1 -0
- package/dist/discovery/governor-discovery.d.ts.map +1 -1
- package/dist/discovery/governor-discovery.js +50 -35
- package/dist/discovery/governor-discovery.js.map +1 -1
- package/dist/discovery/timelock-discovery.d.ts +15 -6
- package/dist/discovery/timelock-discovery.d.ts.map +1 -1
- package/dist/discovery/timelock-discovery.js +27 -11
- package/dist/discovery/timelock-discovery.js.map +1 -1
- package/dist/election/contracts.d.ts +8 -0
- package/dist/election/contracts.d.ts.map +1 -0
- package/dist/election/contracts.js +28 -0
- package/dist/election/contracts.js.map +1 -0
- package/dist/election/details.d.ts +15 -0
- package/dist/election/details.d.ts.map +1 -0
- package/dist/election/details.js +157 -0
- package/dist/election/details.js.map +1 -0
- package/dist/election/index.d.ts +11 -0
- package/dist/election/index.d.ts.map +1 -0
- package/dist/election/index.js +48 -0
- package/dist/election/index.js.map +1 -0
- package/dist/election/params.d.ts +13 -0
- package/dist/election/params.d.ts.map +1 -0
- package/dist/election/params.js +93 -0
- package/dist/election/params.js.map +1 -0
- package/dist/election/participants.d.ts +6 -0
- package/dist/election/participants.d.ts.map +1 -0
- package/dist/election/participants.js +104 -0
- package/dist/election/participants.js.map +1 -0
- package/dist/election/prepare.d.ts +10 -0
- package/dist/election/prepare.d.ts.map +1 -0
- package/dist/election/prepare.js +52 -0
- package/dist/election/prepare.js.map +1 -0
- package/dist/election/proposal-ids.d.ts +18 -0
- package/dist/election/proposal-ids.d.ts.map +1 -0
- package/dist/election/proposal-ids.js +77 -0
- package/dist/election/proposal-ids.js.map +1 -0
- package/dist/election/status.d.ts +15 -0
- package/dist/election/status.d.ts.map +1 -0
- package/dist/election/status.js +102 -0
- package/dist/election/status.js.map +1 -0
- package/dist/election/tracking.d.ts +28 -0
- package/dist/election/tracking.d.ts.map +1 -0
- package/dist/election/tracking.js +412 -0
- package/dist/election/tracking.js.map +1 -0
- package/dist/index.d.ts +9 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +72 -8
- package/dist/index.js.map +1 -1
- package/dist/stages/builder.d.ts +4 -0
- package/dist/stages/builder.d.ts.map +1 -1
- package/dist/stages/builder.js +7 -0
- package/dist/stages/builder.js.map +1 -1
- package/dist/stages/l2-to-l1-message.d.ts +3 -1
- package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
- package/dist/stages/l2-to-l1-message.js +6 -6
- package/dist/stages/l2-to-l1-message.js.map +1 -1
- package/dist/stages/proposal-created.d.ts +1 -0
- package/dist/stages/proposal-created.d.ts.map +1 -1
- package/dist/stages/proposal-created.js +1 -0
- package/dist/stages/proposal-created.js.map +1 -1
- package/dist/stages/proposal-queued.d.ts +1 -0
- package/dist/stages/proposal-queued.d.ts.map +1 -1
- package/dist/stages/proposal-queued.js +3 -1
- package/dist/stages/proposal-queued.js.map +1 -1
- package/dist/stages/retryables.js +2 -2
- package/dist/stages/retryables.js.map +1 -1
- package/dist/stages/timelock.d.ts +3 -1
- package/dist/stages/timelock.d.ts.map +1 -1
- package/dist/stages/timelock.js +12 -12
- package/dist/stages/timelock.js.map +1 -1
- package/dist/stages/utils.d.ts +5 -9
- package/dist/stages/utils.d.ts.map +1 -1
- package/dist/stages/utils.js +34 -29
- package/dist/stages/utils.js.map +1 -1
- package/dist/stages/voting.d.ts.map +1 -1
- package/dist/stages/voting.js +5 -4
- package/dist/stages/voting.js.map +1 -1
- package/dist/tracker/cache.d.ts +10 -6
- package/dist/tracker/cache.d.ts.map +1 -1
- package/dist/tracker/cache.js +36 -13
- package/dist/tracker/cache.js.map +1 -1
- package/dist/tracker/checkpoint-helpers.d.ts +81 -0
- package/dist/tracker/checkpoint-helpers.d.ts.map +1 -0
- package/dist/tracker/checkpoint-helpers.js +201 -0
- package/dist/tracker/checkpoint-helpers.js.map +1 -0
- package/dist/tracker/discovery.d.ts +40 -9
- package/dist/tracker/discovery.d.ts.map +1 -1
- package/dist/tracker/discovery.js +152 -15
- package/dist/tracker/discovery.js.map +1 -1
- package/dist/tracker/execute.d.ts.map +1 -1
- package/dist/tracker/execute.js +1 -25
- package/dist/tracker/execute.js.map +1 -1
- package/dist/tracker/pipeline.d.ts.map +1 -1
- package/dist/tracker/pipeline.js +26 -11
- package/dist/tracker/pipeline.js.map +1 -1
- package/dist/tracker/query.d.ts +1 -0
- package/dist/tracker/query.d.ts.map +1 -1
- package/dist/tracker/query.js +14 -61
- package/dist/tracker/query.js.map +1 -1
- package/dist/tracker/state.d.ts +0 -10
- package/dist/tracker/state.d.ts.map +1 -1
- package/dist/tracker/state.js +1 -28
- package/dist/tracker/state.js.map +1 -1
- package/dist/tracker.d.ts +100 -8
- package/dist/tracker.d.ts.map +1 -1
- package/dist/tracker.js +405 -42
- package/dist/tracker.js.map +1 -1
- package/dist/types/config.d.ts +49 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/core.d.ts +4 -2
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/election.d.ts +143 -0
- package/dist/types/election.d.ts.map +1 -1
- package/dist/types/index.d.ts +5 -7
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -3
- package/dist/types/index.js.map +1 -1
- package/dist/types/stages.d.ts +72 -7
- package/dist/types/stages.d.ts.map +1 -1
- package/dist/types/stages.js.map +1 -1
- package/dist/types/tracking.d.ts +34 -8
- package/dist/types/tracking.d.ts.map +1 -1
- package/dist/utils/block-cache.d.ts +50 -0
- package/dist/utils/block-cache.d.ts.map +1 -0
- package/dist/utils/block-cache.js +80 -0
- package/dist/utils/block-cache.js.map +1 -0
- package/dist/utils/formatters.d.ts +91 -0
- package/dist/utils/formatters.d.ts.map +1 -0
- package/dist/utils/formatters.js +327 -0
- package/dist/utils/formatters.js.map +1 -0
- package/dist/utils/multicall.d.ts +52 -0
- package/dist/utils/multicall.d.ts.map +1 -0
- package/dist/utils/multicall.js +75 -0
- package/dist/utils/multicall.js.map +1 -0
- package/dist/utils/rpc-utils.d.ts +7 -1
- package/dist/utils/rpc-utils.d.ts.map +1 -1
- package/dist/utils/rpc-utils.js +42 -29
- package/dist/utils/rpc-utils.js.map +1 -1
- package/dist/utils/salt-computation.d.ts.map +1 -1
- package/dist/utils/salt-computation.js +33 -7
- package/dist/utils/salt-computation.js.map +1 -1
- package/dist/utils/sanitize.d.ts.map +1 -1
- package/dist/utils/sanitize.js +3 -0
- package/dist/utils/sanitize.js.map +1 -1
- package/dist/utils/stage-metadata.d.ts +0 -20
- package/dist/utils/stage-metadata.d.ts.map +1 -1
- package/dist/utils/stage-metadata.js +29 -44
- package/dist/utils/stage-metadata.js.map +1 -1
- package/dist/utils/timing.d.ts +13 -0
- package/dist/utils/timing.d.ts.map +1 -1
- package/dist/utils/timing.js +37 -1
- package/dist/utils/timing.js.map +1 -1
- package/package.json +3 -2
- package/dist/election.d.ts +0 -172
- package/dist/election.d.ts.map +0 -1
- package/dist/election.js +0 -467
- package/dist/election.js.map +0 -1
- package/dist/types/cross-chain.d.ts +0 -24
- package/dist/types/cross-chain.d.ts.map +0 -1
- package/dist/types/cross-chain.js +0 -6
- package/dist/types/cross-chain.js.map +0 -1
package/dist/cli/lib/cli.js
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.loopOptions = exports.gasOptions = exports.chunkingOptions = exports.executionOptions = exports.cacheOptions = exports.verboseOption = exports.rpcOptions = exports.HEALTH_CHECK_TIMEOUT_MS = exports.DEFAULT_L2_GAS_SETTINGS = exports.MAX_CONSECUTIVE_ERRORS = exports.DEFAULT_MAX_AGE_DAYS = exports.DEFAULT_BLOCK_LAG = exports.isElectionGovernor = void 0;
|
|
16
16
|
exports.addOptions = addOptions;
|
|
17
|
+
exports.validateCliOptions = validateCliOptions;
|
|
17
18
|
exports.parseGasSettings = parseGasSettings;
|
|
18
19
|
exports.parseChunkingConfig = parseChunkingConfig;
|
|
19
20
|
exports.createProvidersFromOptions = createProvidersFromOptions;
|
|
@@ -24,8 +25,12 @@ exports.formatDryRun = formatDryRun;
|
|
|
24
25
|
exports.formatMultiplePreparedTransactions = formatMultiplePreparedTransactions;
|
|
25
26
|
exports.formatTrackingResult = formatTrackingResult;
|
|
26
27
|
exports.formatCacheStatus = formatCacheStatus;
|
|
28
|
+
exports.formatElectionResult = formatElectionResult;
|
|
29
|
+
exports.displayTrackingResult = displayTrackingResult;
|
|
27
30
|
exports.isShuttingDown = isShuttingDown;
|
|
28
31
|
exports.runWithLoop = runWithLoop;
|
|
32
|
+
exports.filterCheckpointsByTargets = filterCheckpointsByTargets;
|
|
33
|
+
exports.calculateFilteredStats = calculateFilteredStats;
|
|
29
34
|
exports.runMonitorCycle = runMonitorCycle;
|
|
30
35
|
exports.trackAndPrepare = trackAndPrepare;
|
|
31
36
|
const commander_1 = require("commander");
|
|
@@ -114,6 +119,59 @@ exports.loopOptions = [
|
|
|
114
119
|
function addOptions(cmd, opts) {
|
|
115
120
|
opts.forEach((o) => cmd.addOption(o));
|
|
116
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Validate CLI options for contradictions and conflicts.
|
|
124
|
+
* Throws an error if conflicting options are detected.
|
|
125
|
+
*/
|
|
126
|
+
function validateCliOptions(opts, command) {
|
|
127
|
+
const errors = [];
|
|
128
|
+
// Cache conflicts
|
|
129
|
+
if (opts.cache && opts.noCache) {
|
|
130
|
+
errors.push({
|
|
131
|
+
flags: ["--cache", "--no-cache"],
|
|
132
|
+
message: "--cache and --no-cache are mutually exclusive",
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
// --force overrides --start-block (warn, not error)
|
|
136
|
+
if (opts.force && opts.startBlock) {
|
|
137
|
+
errors.push({
|
|
138
|
+
flags: ["--force", "--start-block"],
|
|
139
|
+
message: "--force resets discovery to block 0, overriding --start-block",
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
// Track command specific validations
|
|
143
|
+
if (command === "track") {
|
|
144
|
+
// --inspect and --inspect-only are mutually exclusive
|
|
145
|
+
if (opts.inspect && opts.inspectOnly) {
|
|
146
|
+
errors.push({
|
|
147
|
+
flags: ["--inspect", "--inspect-only"],
|
|
148
|
+
message: "--inspect and --inspect-only are mutually exclusive",
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
// --inspect-only skips tracking, so execution options don't make sense
|
|
152
|
+
if (opts.inspectOnly) {
|
|
153
|
+
const conflictingFlags = [];
|
|
154
|
+
if (opts.prepare)
|
|
155
|
+
conflictingFlags.push("--prepare");
|
|
156
|
+
if (opts.write)
|
|
157
|
+
conflictingFlags.push("--write");
|
|
158
|
+
if (opts.prepareCompleted)
|
|
159
|
+
conflictingFlags.push("--prepare-completed");
|
|
160
|
+
if (opts.preparePending)
|
|
161
|
+
conflictingFlags.push("--prepare-pending");
|
|
162
|
+
if (conflictingFlags.length > 0) {
|
|
163
|
+
errors.push({
|
|
164
|
+
flags: ["--inspect-only", ...conflictingFlags],
|
|
165
|
+
message: `--inspect-only skips tracking; ${conflictingFlags.join(", ")} require tracking`,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
if (errors.length > 0) {
|
|
171
|
+
const messages = errors.map((e) => ` ${e.flags.join(" + ")}: ${e.message}`);
|
|
172
|
+
throw new Error(`Conflicting options detected:\n${messages.join("\n")}`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
117
175
|
/**
|
|
118
176
|
* Parse gas settings from CLI options
|
|
119
177
|
*/
|
|
@@ -340,57 +398,114 @@ function formatTrackingResult(result, label) {
|
|
|
340
398
|
}
|
|
341
399
|
return lines.join("\n").concat("\n");
|
|
342
400
|
}
|
|
343
|
-
function formatCacheStatus(checkpoints) {
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
401
|
+
function formatCacheStatus(checkpoints, elections) {
|
|
402
|
+
const stats = (0, index_1.computeCacheStats)(checkpoints, elections, exports.MAX_CONSECUTIVE_ERRORS);
|
|
403
|
+
const lines = [
|
|
404
|
+
`Total cached: ${stats.total}`,
|
|
405
|
+
``,
|
|
406
|
+
`Proposals: ${stats.proposals.total}`,
|
|
407
|
+
` Complete: ${stats.proposals.complete}`,
|
|
408
|
+
` Active: ${stats.proposals.active}`,
|
|
409
|
+
];
|
|
410
|
+
if (stats.proposals.errored > 0)
|
|
411
|
+
lines.push(` Failed: ${stats.proposals.errored}`);
|
|
412
|
+
lines.push(``, `Timelock Ops: ${stats.timelocks.total}`, ` Complete: ${stats.timelocks.complete}`, ` Active: ${stats.timelocks.active}`);
|
|
413
|
+
if (stats.timelocks.errored > 0)
|
|
414
|
+
lines.push(` Failed: ${stats.timelocks.errored}`);
|
|
415
|
+
if (stats.elections.total > 0) {
|
|
416
|
+
const active = stats.elections.total - stats.elections.complete;
|
|
417
|
+
lines.push(``, `Elections: ${stats.elections.total}`, ` Complete: ${stats.elections.complete}`, ` Active: ${active}`);
|
|
418
|
+
}
|
|
419
|
+
return lines.join("\n");
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Format an election status for CLI output
|
|
423
|
+
*/
|
|
424
|
+
function formatElectionResult(election) {
|
|
425
|
+
const lines = [];
|
|
426
|
+
const cohortName = election.cohort === 0 ? "First" : "Second";
|
|
427
|
+
const phaseName = election.phase.replace(/_/g, " ");
|
|
428
|
+
lines.push(`[Election #${election.electionIndex}]`);
|
|
429
|
+
lines.push(`Phase: ${phaseName}`);
|
|
430
|
+
lines.push(`Cohort: ${cohortName}`);
|
|
431
|
+
lines.push(`Complete: ${election.phase === "COMPLETED"}`);
|
|
432
|
+
lines.push(`Stages: ${election.stages?.length ?? 0}`);
|
|
433
|
+
lines.push("");
|
|
434
|
+
if (election.stages && election.stages.length > 0) {
|
|
435
|
+
for (let i = 0; i < election.stages.length; i++) {
|
|
436
|
+
const stage = election.stages[i];
|
|
437
|
+
const statusStr = stage.status;
|
|
438
|
+
const title = (0, index_1.formatStageTitle)(stage.type);
|
|
439
|
+
const eta = (0, index_1.calculateExpectedEta)(election.stages, i);
|
|
440
|
+
let line = ` ${title}: ${statusStr}`;
|
|
441
|
+
if (eta)
|
|
442
|
+
line += ` | ETA: ${new Date(eta * 1000).toISOString()}`;
|
|
443
|
+
lines.push(line);
|
|
444
|
+
for (const tx of stage.transactions) {
|
|
445
|
+
lines.push(` tx: ${tx.hash}`);
|
|
446
|
+
const url = (0, index_1.getStageTransactionUrl)(tx);
|
|
447
|
+
if (url)
|
|
448
|
+
lines.push(` ${url}`);
|
|
358
449
|
}
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
// Show timelock operation ID if tracked (useful for cross-referencing)
|
|
453
|
+
if (election.timelockOperationId) {
|
|
454
|
+
lines.push(` Timelock Op: ${election.timelockOperationId}`);
|
|
455
|
+
}
|
|
456
|
+
if (election.canProceedToMemberPhase) {
|
|
457
|
+
lines.push("");
|
|
458
|
+
lines.push(" → Ready to trigger member election");
|
|
459
|
+
}
|
|
460
|
+
if (election.canExecuteMember) {
|
|
461
|
+
lines.push("");
|
|
462
|
+
lines.push(" → Ready to execute member election");
|
|
463
|
+
}
|
|
464
|
+
if (election.canCreateElection) {
|
|
465
|
+
lines.push("");
|
|
466
|
+
lines.push(" → Ready to create election");
|
|
467
|
+
}
|
|
468
|
+
lines.push("");
|
|
469
|
+
return lines.join("\n");
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Display a tracking result, automatically switching to election display for election proposals.
|
|
473
|
+
* Handles the election auto-switch logic internally, falling back to formatTrackingResult for non-elections.
|
|
474
|
+
*
|
|
475
|
+
* @param result - Tracking result to display
|
|
476
|
+
* @param label - Optional label prefix
|
|
477
|
+
*/
|
|
478
|
+
function displayTrackingResult(result, label) {
|
|
479
|
+
if (result.isElection && result.electionStatus) {
|
|
480
|
+
const election = result.electionStatus;
|
|
481
|
+
const cohortName = election.cohort === 0 ? "First" : "Second";
|
|
482
|
+
console.log(`=== Election #${election.electionIndex} ===`);
|
|
483
|
+
console.log(`Phase: ${election.phase}`);
|
|
484
|
+
console.log(`Cohort: ${cohortName} (${election.cohort})`);
|
|
485
|
+
console.log(`Compliant Nominees: ${election.compliantNomineeCount}/${election.targetNomineeCount}`);
|
|
486
|
+
if (election.nomineeProposalId) {
|
|
487
|
+
console.log(`\nElection ID: ${election.nomineeProposalId}`);
|
|
488
|
+
console.log(`\nNominee Phase:`);
|
|
489
|
+
console.log(` State: ${election.nomineeProposalState}`);
|
|
490
|
+
if (election.vettingDeadline) {
|
|
491
|
+
console.log(` Vetting Deadline: block ${election.vettingDeadline}`);
|
|
367
492
|
}
|
|
493
|
+
console.log(` In Vetting Period: ${election.isInVettingPeriod ? "YES" : "NO"}`);
|
|
368
494
|
}
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
495
|
+
if (election.memberProposalId) {
|
|
496
|
+
console.log(`\nMember Phase:`);
|
|
497
|
+
console.log(` State: ${election.memberProposalState}`);
|
|
498
|
+
}
|
|
499
|
+
if (election.canProceedToMemberPhase) {
|
|
500
|
+
console.log(`\n→ Ready to trigger member election`);
|
|
501
|
+
}
|
|
502
|
+
if (election.canExecuteMember) {
|
|
503
|
+
console.log(`\n→ Ready to execute member election`);
|
|
377
504
|
}
|
|
505
|
+
console.log("");
|
|
506
|
+
return;
|
|
378
507
|
}
|
|
379
|
-
|
|
380
|
-
`Total cached: ${checkpoints.size}`,
|
|
381
|
-
``,
|
|
382
|
-
`Proposals: ${proposalTotal}`,
|
|
383
|
-
` Complete: ${proposalComplete}`,
|
|
384
|
-
` Active: ${proposalActive}`,
|
|
385
|
-
];
|
|
386
|
-
if (proposalFailed > 0)
|
|
387
|
-
lines.push(` Failed: ${proposalFailed}`);
|
|
388
|
-
lines.push(``, `Timelock Ops: ${timelockTotal}`, ` Complete: ${timelockComplete}`, ` Active: ${timelockActive}`);
|
|
389
|
-
if (timelockFailed > 0)
|
|
390
|
-
lines.push(` Failed: ${timelockFailed}`);
|
|
391
|
-
if (electionTotal > 0)
|
|
392
|
-
lines.push(``, `Elections: ${electionTotal} (${electionComplete} complete)`);
|
|
393
|
-
return lines.join("\n");
|
|
508
|
+
console.log(formatTrackingResult(result, label));
|
|
394
509
|
}
|
|
395
510
|
// ============================================================================
|
|
396
511
|
// Loop Runner
|
|
@@ -549,27 +664,193 @@ function shortScope(key) {
|
|
|
549
664
|
}
|
|
550
665
|
return key;
|
|
551
666
|
}
|
|
667
|
+
/**
|
|
668
|
+
* Check if a checkpoint matches the enabled discovery targets.
|
|
669
|
+
* Used to filter incomplete checkpoints to only re-track types that are enabled.
|
|
670
|
+
*/
|
|
671
|
+
function checkpointMatchesTargets(checkpoint, targets) {
|
|
672
|
+
if (checkpoint.input.type === "governor") {
|
|
673
|
+
const governorAddress = checkpoint.input.governorAddress;
|
|
674
|
+
// Skip election governors - they're handled separately
|
|
675
|
+
if ((0, index_1.isElectionGovernor)(governorAddress))
|
|
676
|
+
return false;
|
|
677
|
+
// Check if constitutional or non-constitutional governor is enabled
|
|
678
|
+
const isCore = (0, index_1.isConstitutional)(governorAddress);
|
|
679
|
+
return isCore ? !!targets.constitutionalGovernor : !!targets.nonConstitutionalGovernor;
|
|
680
|
+
}
|
|
681
|
+
if (checkpoint.input.type === "timelock") {
|
|
682
|
+
// Timelock operations: check if the corresponding timelock target is enabled
|
|
683
|
+
const timelockAddress = checkpoint.input.timelockAddress;
|
|
684
|
+
const isCore = (0, index_1.isConstitutional)(timelockAddress);
|
|
685
|
+
return isCore ? !!targets.l2ConstitutionalTimelock : !!targets.l2NonConstitutionalTimelock;
|
|
686
|
+
}
|
|
687
|
+
if (checkpoint.input.type === "election") {
|
|
688
|
+
return !!targets.electionNomineeGovernor || !!targets.electionMemberGovernor;
|
|
689
|
+
}
|
|
690
|
+
// Discovery checkpoints don't need re-tracking
|
|
691
|
+
return false;
|
|
692
|
+
}
|
|
693
|
+
/**
|
|
694
|
+
* Filter checkpoints to only include those matching enabled discovery targets.
|
|
695
|
+
* Used for JSON output and stats to ensure we only show tracked types.
|
|
696
|
+
*/
|
|
697
|
+
function filterCheckpointsByTargets(checkpoints, targets) {
|
|
698
|
+
const filtered = new Map();
|
|
699
|
+
for (const [key, checkpoint] of checkpoints) {
|
|
700
|
+
if (checkpointMatchesTargets(checkpoint, targets)) {
|
|
701
|
+
filtered.set(key, checkpoint);
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
return filtered;
|
|
705
|
+
}
|
|
706
|
+
/**
|
|
707
|
+
* Calculate stats filtered by enabled discovery targets.
|
|
708
|
+
* Only counts checkpoints that match the enabled governors/timelocks.
|
|
709
|
+
*/
|
|
710
|
+
function calculateFilteredStats(checkpoints, targets, maxErrorCount = 5) {
|
|
711
|
+
let proposalTotal = 0, proposalComplete = 0, proposalActive = 0, proposalErrored = 0;
|
|
712
|
+
let timelockTotal = 0, timelockComplete = 0, timelockActive = 0, timelockErrored = 0;
|
|
713
|
+
let electionTotal = 0, electionComplete = 0;
|
|
714
|
+
for (const [, checkpoint] of checkpoints) {
|
|
715
|
+
const complete = (0, index_1.isCheckpointComplete)(checkpoint);
|
|
716
|
+
const errored = (0, index_1.isCheckpointErrored)(checkpoint, maxErrorCount);
|
|
717
|
+
const inputType = checkpoint.input.type;
|
|
718
|
+
if (inputType === "governor") {
|
|
719
|
+
const governorAddress = checkpoint.input.governorAddress;
|
|
720
|
+
if ((0, index_1.isElectionGovernor)(governorAddress))
|
|
721
|
+
continue;
|
|
722
|
+
const isCore = (0, index_1.isConstitutional)(governorAddress);
|
|
723
|
+
const matchesTarget = isCore
|
|
724
|
+
? !!targets.constitutionalGovernor
|
|
725
|
+
: !!targets.nonConstitutionalGovernor;
|
|
726
|
+
if (!matchesTarget)
|
|
727
|
+
continue;
|
|
728
|
+
proposalTotal++;
|
|
729
|
+
if (complete)
|
|
730
|
+
proposalComplete++;
|
|
731
|
+
else if (errored)
|
|
732
|
+
proposalErrored++;
|
|
733
|
+
else
|
|
734
|
+
proposalActive++;
|
|
735
|
+
}
|
|
736
|
+
else if (inputType === "timelock") {
|
|
737
|
+
const timelockAddress = checkpoint.input.timelockAddress;
|
|
738
|
+
const isCore = (0, index_1.isConstitutional)(timelockAddress);
|
|
739
|
+
const matchesTarget = isCore
|
|
740
|
+
? !!targets.l2ConstitutionalTimelock
|
|
741
|
+
: !!targets.l2NonConstitutionalTimelock;
|
|
742
|
+
if (!matchesTarget)
|
|
743
|
+
continue;
|
|
744
|
+
timelockTotal++;
|
|
745
|
+
if (complete)
|
|
746
|
+
timelockComplete++;
|
|
747
|
+
else if (errored)
|
|
748
|
+
timelockErrored++;
|
|
749
|
+
else
|
|
750
|
+
timelockActive++;
|
|
751
|
+
}
|
|
752
|
+
else if (inputType === "election") {
|
|
753
|
+
// Only count elections if election tracking is enabled
|
|
754
|
+
if (!targets.electionNomineeGovernor && !targets.electionMemberGovernor)
|
|
755
|
+
continue;
|
|
756
|
+
electionTotal++;
|
|
757
|
+
if (complete)
|
|
758
|
+
electionComplete++;
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
return {
|
|
762
|
+
total: proposalTotal + timelockTotal + electionTotal,
|
|
763
|
+
proposals: {
|
|
764
|
+
total: proposalTotal,
|
|
765
|
+
complete: proposalComplete,
|
|
766
|
+
active: proposalActive,
|
|
767
|
+
errored: proposalErrored,
|
|
768
|
+
},
|
|
769
|
+
timelocks: {
|
|
770
|
+
total: timelockTotal,
|
|
771
|
+
complete: timelockComplete,
|
|
772
|
+
active: timelockActive,
|
|
773
|
+
errored: timelockErrored,
|
|
774
|
+
},
|
|
775
|
+
elections: { total: electionTotal, complete: electionComplete },
|
|
776
|
+
};
|
|
777
|
+
}
|
|
552
778
|
async function runMonitorCycle(tracker, providers, options = {}) {
|
|
779
|
+
const result = { tracked: 0, prepared: 0, errors: 0, retracked: 0 };
|
|
780
|
+
// Fast path: elections-only mode skips discovery entirely
|
|
781
|
+
if (options.electionsOnly) {
|
|
782
|
+
const elections = [];
|
|
783
|
+
if (!isShuttingDown()) {
|
|
784
|
+
try {
|
|
785
|
+
// Use tracker's cached method - completed elections use cache (0 RPC calls)
|
|
786
|
+
// Use forceElections to bypass cache when --force is specified
|
|
787
|
+
const allElections = await tracker.trackAllElections({ force: options.forceElections });
|
|
788
|
+
for (const electionStatus of allElections) {
|
|
789
|
+
elections.push(electionStatus);
|
|
790
|
+
// Print each election
|
|
791
|
+
console.log(formatElectionResult(electionStatus));
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
catch (err) {
|
|
795
|
+
console.error("Election tracking failed:", err);
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
return {
|
|
799
|
+
result,
|
|
800
|
+
proposals: [],
|
|
801
|
+
timelockOps: [],
|
|
802
|
+
watermarks: {},
|
|
803
|
+
elections,
|
|
804
|
+
};
|
|
805
|
+
}
|
|
553
806
|
const l2Provider = providers.l2Provider;
|
|
554
807
|
const tipBlock = await l2Provider.getBlockNumber();
|
|
555
808
|
const blockLag = options.blockLag ?? exports.DEFAULT_BLOCK_LAG;
|
|
556
809
|
const currentBlock = Math.max(0, tipBlock - blockLag);
|
|
557
810
|
const concurrency = options.concurrency ?? 1;
|
|
558
811
|
const limit = (0, concurrency_1.pLimit)(concurrency);
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
812
|
+
const maxAgeDays = options.maxAgeDays ?? exports.DEFAULT_MAX_AGE_DAYS;
|
|
813
|
+
// Calculate startBlock based on maxAgeDays if not explicitly provided
|
|
814
|
+
// ~7200 blocks per day on Arbitrum (12s block time on L1, ~250ms on L2)
|
|
815
|
+
const BLOCKS_PER_DAY = 86400 / 0.25; // ~345,600 blocks/day on Arbitrum One
|
|
816
|
+
let startBlockWatermarks;
|
|
817
|
+
// Load existing watermarks to determine scan range
|
|
818
|
+
const loadedWatermarks = await tracker.loadWatermarks();
|
|
819
|
+
const hasWatermarks = Object.values(loadedWatermarks.watermarks).some((v) => v !== undefined);
|
|
820
|
+
if (options.startBlock !== undefined) {
|
|
821
|
+
// Explicit startBlock override (watermarks are exclusive, so subtract 1)
|
|
822
|
+
startBlockWatermarks = {
|
|
562
823
|
constitutionalGovernor: options.startBlock - 1,
|
|
563
824
|
nonConstitutionalGovernor: options.startBlock - 1,
|
|
564
825
|
electionNomineeGovernor: options.startBlock - 1,
|
|
565
826
|
electionMemberGovernor: options.startBlock - 1,
|
|
566
827
|
l2ConstitutionalTimelock: options.startBlock - 1,
|
|
567
828
|
l2NonConstitutionalTimelock: options.startBlock - 1,
|
|
568
|
-
}
|
|
569
|
-
:
|
|
570
|
-
|
|
829
|
+
};
|
|
830
|
+
console.log(`Discovery: blocks ${options.startBlock} → ${currentBlock}`);
|
|
831
|
+
}
|
|
832
|
+
else if (!hasWatermarks) {
|
|
833
|
+
// No cache - calculate start block from maxAgeDays
|
|
834
|
+
const defaultStartBlock = Math.max(0, currentBlock - Math.floor(maxAgeDays * BLOCKS_PER_DAY));
|
|
835
|
+
startBlockWatermarks = {
|
|
836
|
+
constitutionalGovernor: defaultStartBlock,
|
|
837
|
+
nonConstitutionalGovernor: defaultStartBlock,
|
|
838
|
+
electionNomineeGovernor: defaultStartBlock,
|
|
839
|
+
electionMemberGovernor: defaultStartBlock,
|
|
840
|
+
l2ConstitutionalTimelock: defaultStartBlock,
|
|
841
|
+
l2NonConstitutionalTimelock: defaultStartBlock,
|
|
842
|
+
};
|
|
843
|
+
console.log(`No cached watermarks. Discovery: blocks ${defaultStartBlock} → ${currentBlock} (~${maxAgeDays} days)`);
|
|
844
|
+
}
|
|
845
|
+
else {
|
|
846
|
+
// Cached watermarks exist - calculate effective range from min watermark
|
|
847
|
+
const watermarkBlocks = Object.values(loadedWatermarks.watermarks).filter((v) => v !== undefined);
|
|
848
|
+
const minWatermark = Math.min(...watermarkBlocks);
|
|
849
|
+
const blockRange = currentBlock - minWatermark;
|
|
850
|
+
console.log(`Discovery: blocks ${minWatermark} → ${currentBlock} (${blockRange.toLocaleString()} blocks)`);
|
|
851
|
+
}
|
|
852
|
+
const targets = options.targets ?? (0, index_1.buildDefaultTargets)();
|
|
571
853
|
const discoveryResult = await tracker.discoverAll(targets, currentBlock, startBlockWatermarks);
|
|
572
|
-
const result = { tracked: 0, prepared: 0, errors: 0, retracked: 0 };
|
|
573
854
|
const trackedKeys = new Set();
|
|
574
855
|
const trackedOperationIds = new Set();
|
|
575
856
|
async function track(key, trackFn) {
|
|
@@ -623,7 +904,6 @@ async function runMonitorCycle(tracker, providers, options = {}) {
|
|
|
623
904
|
});
|
|
624
905
|
}
|
|
625
906
|
// Query incomplete checkpoints first to avoid duplicate tracking
|
|
626
|
-
const maxAgeDays = options.maxAgeDays ?? exports.DEFAULT_MAX_AGE_DAYS;
|
|
627
907
|
const incompleteCheckpoints = await tracker.queryIncompleteCheckpoints({
|
|
628
908
|
maxAgeDays,
|
|
629
909
|
maxErrorCount: exports.MAX_CONSECUTIVE_ERRORS,
|
|
@@ -654,14 +934,10 @@ async function runMonitorCycle(tracker, providers, options = {}) {
|
|
|
654
934
|
},
|
|
655
935
|
});
|
|
656
936
|
}
|
|
657
|
-
// 1b. Incomplete
|
|
658
|
-
const
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
return true;
|
|
662
|
-
});
|
|
663
|
-
result.retracked = nonElectionCheckpoints.length;
|
|
664
|
-
for (const { key, checkpoint } of nonElectionCheckpoints) {
|
|
937
|
+
// 1b. Incomplete checkpoints to re-track (filtered by enabled targets)
|
|
938
|
+
const targetMatchingCheckpoints = incompleteCheckpoints.filter(({ checkpoint }) => checkpointMatchesTargets(checkpoint, targets));
|
|
939
|
+
result.retracked = targetMatchingCheckpoints.length;
|
|
940
|
+
for (const { key, checkpoint } of targetMatchingCheckpoints) {
|
|
665
941
|
if (checkpoint.input.type === "governor") {
|
|
666
942
|
proposalTasks.push({
|
|
667
943
|
key,
|
|
@@ -699,7 +975,7 @@ async function runMonitorCycle(tracker, providers, options = {}) {
|
|
|
699
975
|
});
|
|
700
976
|
}
|
|
701
977
|
// 2b. Incomplete timelock checkpoints to re-track
|
|
702
|
-
for (const { key, checkpoint } of
|
|
978
|
+
for (const { key, checkpoint } of targetMatchingCheckpoints) {
|
|
703
979
|
if (checkpoint.input.type === "timelock") {
|
|
704
980
|
const operationId = checkpoint.input.operationId;
|
|
705
981
|
// Skip if already tracked via proposal
|
|
@@ -715,11 +991,28 @@ async function runMonitorCycle(tracker, providers, options = {}) {
|
|
|
715
991
|
}
|
|
716
992
|
// Run timelock tasks
|
|
717
993
|
await Promise.all(timelockTasks.map((task) => limit(() => track(task.key, task.fn))));
|
|
994
|
+
// Phase 3: Track elections (only if election targets are enabled)
|
|
995
|
+
const elections = [];
|
|
996
|
+
const shouldTrackElections = targets.electionNomineeGovernor || targets.electionMemberGovernor;
|
|
997
|
+
if (shouldTrackElections && !isShuttingDown()) {
|
|
998
|
+
try {
|
|
999
|
+
// Use tracker's cached method - completed elections use cache (0 RPC calls)
|
|
1000
|
+
const allElections = await tracker.trackAllElections({ force: options.forceElections });
|
|
1001
|
+
for (const electionStatus of allElections) {
|
|
1002
|
+
elections.push(electionStatus);
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
catch (err) {
|
|
1006
|
+
// Election tracking is non-critical, log and continue
|
|
1007
|
+
console.error("Election tracking failed:", err);
|
|
1008
|
+
}
|
|
1009
|
+
}
|
|
718
1010
|
return {
|
|
719
1011
|
result,
|
|
720
1012
|
proposals: discoveryResult.proposals,
|
|
721
1013
|
timelockOps: discoveryResult.timelockOps,
|
|
722
1014
|
watermarks: discoveryResult.watermarks,
|
|
1015
|
+
elections,
|
|
723
1016
|
};
|
|
724
1017
|
}
|
|
725
1018
|
// ============================================================================
|
package/dist/cli/lib/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli/lib/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli/lib/cli.ts"],"names":[],"mappings":"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"}
|