@gzeoneth/gov-tracker 0.2.1-alpha.perf-sendroot.fa5e981 → 0.2.1-beta.03fa52b
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 +126 -80
- 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/calldata/index.d.ts +1 -1
- package/dist/calldata/index.d.ts.map +1 -1
- package/dist/calldata/index.js.map +1 -1
- package/dist/calldata/parameter-decoder.d.ts.map +1 -1
- package/dist/calldata/parameter-decoder.js +8 -1
- package/dist/calldata/parameter-decoder.js.map +1 -1
- package/dist/calldata/signature-lookup.d.ts +17 -2
- package/dist/calldata/signature-lookup.d.ts.map +1 -1
- package/dist/calldata/signature-lookup.js +20 -2
- package/dist/calldata/signature-lookup.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 +50 -2
- package/dist/cli/lib/cli.d.ts.map +1 -1
- package/dist/cli/lib/cli.js +378 -66
- 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 +16408 -2561
- 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 +52 -36
- 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 +30 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +97 -9
- 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 +10 -4
- package/dist/stages/timelock.js.map +1 -1
- package/dist/stages/utils.d.ts +7 -8
- package/dist/stages/utils.d.ts.map +1 -1
- package/dist/stages/utils.js +40 -27
- 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 +39 -15
- 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/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 +70 -1
- package/dist/types/stages.d.ts.map +1 -1
- package/dist/types/stages.js.map +1 -1
- package/dist/types/tracking.d.ts +34 -4
- 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 +28 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/sanitize.js +55 -0
- package/dist/utils/sanitize.js.map +1 -0
- 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 +10 -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/cli.js
CHANGED
|
@@ -76,12 +76,10 @@ const fs = __importStar(require("fs"));
|
|
|
76
76
|
const debug_1 = __importDefault(require("debug"));
|
|
77
77
|
// Check for required CLI dependencies (optional in package.json)
|
|
78
78
|
let Command;
|
|
79
|
-
let Option;
|
|
80
79
|
try {
|
|
81
80
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
82
81
|
const commander = require("commander");
|
|
83
82
|
Command = commander.Command;
|
|
84
|
-
Option = commander.Option;
|
|
85
83
|
}
|
|
86
84
|
catch {
|
|
87
85
|
console.error("Error: CLI requires 'commander' package.");
|
|
@@ -273,17 +271,23 @@ runCmd
|
|
|
273
271
|
.option("--json-output <path>", "Write JSON state for dashboard integration")
|
|
274
272
|
.option("--election", "Also check for Security Council elections each cycle")
|
|
275
273
|
.option("--concurrency <n>", "Number of concurrent tracking operations", "1")
|
|
274
|
+
.option("--track-core", "Track constitutional (core) governor proposals")
|
|
275
|
+
.option("--track-treasury", "Track non-constitutional (treasury) governor proposals")
|
|
276
|
+
.option("--track-timelocks", "Track L2 timelock operations (direct schedules)")
|
|
277
|
+
.option("--track-elections", "Track election governor proposals")
|
|
276
278
|
.action(async (opts) => {
|
|
277
279
|
if (opts.verbose)
|
|
278
280
|
debug_1.default.enable("gov-tracker:*");
|
|
281
|
+
(0, cli_1.validateCliOptions)(opts, "run");
|
|
279
282
|
(0, cli_1.requirePrivateKeyForWrite)(opts);
|
|
280
283
|
const providers = (0, cli_1.createProvidersFromOptions)(opts);
|
|
281
284
|
const chunkingConfig = (0, cli_1.parseChunkingConfig)(opts, index_1.CHUNK_SIZES.DELAY_MS);
|
|
282
|
-
// --no-cache disables cache entirely
|
|
285
|
+
// --no-cache disables cache entirely; use autoFlush: false for batch writes
|
|
283
286
|
const cachePath = opts.noCache ? undefined : opts.cache;
|
|
287
|
+
const cache = cachePath ? new index_1.FileCache(cachePath, { autoFlush: false }) : undefined;
|
|
284
288
|
const tracker = (0, index_1.createTracker)({
|
|
285
289
|
...providers,
|
|
286
|
-
|
|
290
|
+
cache,
|
|
287
291
|
chunkingConfig,
|
|
288
292
|
onProgress: createProgressCallback(),
|
|
289
293
|
});
|
|
@@ -299,6 +303,25 @@ runCmd
|
|
|
299
303
|
const intervalMs = parseInt(opts.interval, 10) * 1000;
|
|
300
304
|
const concurrency = parseInt(opts.concurrency, 10);
|
|
301
305
|
const gasSettings = (0, cli_1.parseGasSettings)(opts);
|
|
306
|
+
// Build discovery targets from --track-* flags
|
|
307
|
+
// If any --track-* flag is specified, only track those; otherwise track all
|
|
308
|
+
const hasTrackFlags = opts.trackCore || opts.trackTreasury || opts.trackTimelocks || opts.trackElections;
|
|
309
|
+
// Detect what types are being tracked
|
|
310
|
+
const trackingProposals = !hasTrackFlags || opts.trackCore || opts.trackTreasury;
|
|
311
|
+
const trackingTimelocks = !hasTrackFlags || opts.trackTimelocks;
|
|
312
|
+
const trackingElections = !hasTrackFlags || opts.trackElections;
|
|
313
|
+
// Detect elections-only mode (only --track-elections, no other --track-* flags)
|
|
314
|
+
const electionsOnly = opts.trackElections && !opts.trackCore && !opts.trackTreasury && !opts.trackTimelocks;
|
|
315
|
+
const discoveryTargets = hasTrackFlags
|
|
316
|
+
? {
|
|
317
|
+
constitutionalGovernor: opts.trackCore,
|
|
318
|
+
nonConstitutionalGovernor: opts.trackTreasury,
|
|
319
|
+
l2ConstitutionalTimelock: opts.trackTimelocks,
|
|
320
|
+
l2NonConstitutionalTimelock: opts.trackTimelocks,
|
|
321
|
+
electionNomineeGovernor: opts.trackElections,
|
|
322
|
+
electionMemberGovernor: opts.trackElections,
|
|
323
|
+
}
|
|
324
|
+
: (0, index_1.buildDefaultTargets)();
|
|
302
325
|
if (opts.verbose) {
|
|
303
326
|
if (startBlock !== undefined)
|
|
304
327
|
console.log(`Starting discovery from block ${startBlock}`);
|
|
@@ -307,6 +330,12 @@ runCmd
|
|
|
307
330
|
console.log(`Max consecutive errors before skip: ${cli_1.MAX_CONSECUTIVE_ERRORS}`);
|
|
308
331
|
if (concurrency > 1)
|
|
309
332
|
console.log(`Concurrency: ${concurrency}`);
|
|
333
|
+
if (hasTrackFlags) {
|
|
334
|
+
const enabled = Object.entries(discoveryTargets)
|
|
335
|
+
.filter(([, v]) => v)
|
|
336
|
+
.map(([k]) => k);
|
|
337
|
+
console.log(`Tracking targets: ${enabled.join(", ")}`);
|
|
338
|
+
}
|
|
310
339
|
console.log(`L2 gas: ${gasSettings.maxFeePerGas} gwei maxFee, ${gasSettings.maxPriorityFeePerGas} gwei priority`);
|
|
311
340
|
}
|
|
312
341
|
if (signer)
|
|
@@ -314,12 +343,17 @@ runCmd
|
|
|
314
343
|
// Track whether this is the first cycle (for startBlock override)
|
|
315
344
|
let isFirstCycle = true;
|
|
316
345
|
async function runCycle() {
|
|
317
|
-
|
|
346
|
+
if (electionsOnly) {
|
|
347
|
+
console.log("Tracking elections...\n");
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
console.log("Discovering proposals and operations...\n");
|
|
351
|
+
}
|
|
318
352
|
let electionsSkipped = 0;
|
|
319
353
|
// Only use startBlock on the first cycle; subsequent cycles resume from watermarks
|
|
320
354
|
const cycleStartBlock = isFirstCycle ? startBlock : undefined;
|
|
321
355
|
isFirstCycle = false;
|
|
322
|
-
const { result, proposals, timelockOps } = await (0, cli_1.runMonitorCycle)(tracker, providers, {
|
|
356
|
+
const { result, proposals, timelockOps, elections } = await (0, cli_1.runMonitorCycle)(tracker, providers, {
|
|
323
357
|
prepare: opts.prepare || opts.write || opts.prepareCompleted || opts.preparePending,
|
|
324
358
|
prepareCompleted: opts.prepareCompleted,
|
|
325
359
|
preparePending: opts.preparePending,
|
|
@@ -327,6 +361,9 @@ runCmd
|
|
|
327
361
|
blockLag,
|
|
328
362
|
maxAgeDays,
|
|
329
363
|
concurrency,
|
|
364
|
+
targets: discoveryTargets,
|
|
365
|
+
electionsOnly,
|
|
366
|
+
forceElections: opts.force,
|
|
330
367
|
onTrack: async (r) => {
|
|
331
368
|
// Skip showing complete elections
|
|
332
369
|
if (r.result?.isElection && r.result?.isComplete) {
|
|
@@ -335,7 +372,7 @@ runCmd
|
|
|
335
372
|
}
|
|
336
373
|
if (r.result) {
|
|
337
374
|
console.log(`\n[${r.key}]`);
|
|
338
|
-
|
|
375
|
+
(0, cli_1.displayTrackingResult)(r.result);
|
|
339
376
|
}
|
|
340
377
|
else if (r.error) {
|
|
341
378
|
console.log(`\n[${r.key}] ERROR: ${r.error}`);
|
|
@@ -367,14 +404,36 @@ runCmd
|
|
|
367
404
|
// Skip output if shutting down
|
|
368
405
|
if ((0, cli_1.isShuttingDown)())
|
|
369
406
|
return;
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
407
|
+
// Get checkpoints and calculate filtered stats based on enabled targets
|
|
408
|
+
const checkpoints = await tracker.getAllCheckpoints();
|
|
409
|
+
const stats = (0, cli_1.calculateFilteredStats)(checkpoints, discoveryTargets);
|
|
410
|
+
// Build summary based on what was tracked this run
|
|
411
|
+
if (electionsOnly) {
|
|
412
|
+
// Elections-only mode: count from tracked elections, not cache
|
|
413
|
+
const electionComplete = elections.filter((e) => e.phase === "COMPLETED").length;
|
|
414
|
+
console.log(`\nTracked ${elections.length} elections (${electionComplete}/${elections.length} complete)`);
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
// Discovery mode: show stats for tracked types only
|
|
418
|
+
const electionSummary = trackingElections && elections.length > 0
|
|
419
|
+
? `, ${elections.length} elections (${stats.elections.complete}/${stats.elections.total} complete)`
|
|
420
|
+
: "";
|
|
421
|
+
// Build incomplete stats for tracked types
|
|
422
|
+
const incompleteParts = [];
|
|
423
|
+
if (trackingProposals && stats.proposals.active > 0) {
|
|
424
|
+
incompleteParts.push(`${stats.proposals.active} proposals`);
|
|
425
|
+
}
|
|
426
|
+
if (trackingTimelocks && stats.timelocks.active > 0) {
|
|
427
|
+
incompleteParts.push(`${stats.timelocks.active} timelocks`);
|
|
428
|
+
}
|
|
429
|
+
const incompleteSummary = incompleteParts.length > 0 ? ` | Incomplete: ${incompleteParts.join(", ")}` : "";
|
|
430
|
+
console.log(`\nFound ${proposals.length} new proposals, ${timelockOps.length} new ops${electionSummary}${incompleteSummary} | ` +
|
|
431
|
+
`Tracked: ${result.tracked}, Prepared: ${result.prepared}` +
|
|
432
|
+
(electionsSkipped > 0 ? ` (${electionsSkipped} elections skipped)` : ""));
|
|
433
|
+
}
|
|
375
434
|
if (opts.jsonOutput) {
|
|
376
|
-
const
|
|
377
|
-
(0, json_state_1.writeDashboardState)((0, json_state_1.buildDashboardState)(
|
|
435
|
+
const filteredCheckpoints = (0, cli_1.filterCheckpointsByTargets)(checkpoints, discoveryTargets);
|
|
436
|
+
(0, json_state_1.writeDashboardState)((0, json_state_1.buildDashboardState)(filteredCheckpoints), opts.jsonOutput);
|
|
378
437
|
if (opts.verbose)
|
|
379
438
|
console.log(`JSON state written to ${opts.jsonOutput}`);
|
|
380
439
|
}
|
|
@@ -407,6 +466,8 @@ runCmd
|
|
|
407
466
|
intervalMs,
|
|
408
467
|
healthCheckUrl: opts.healthCheckUrl,
|
|
409
468
|
});
|
|
469
|
+
// Flush cache at end (single write instead of per-item)
|
|
470
|
+
await cache?.flush();
|
|
410
471
|
});
|
|
411
472
|
// ============================================================================
|
|
412
473
|
// Track Command
|
|
@@ -430,6 +491,7 @@ trackCmd
|
|
|
430
491
|
.action(async (txHash, opts) => {
|
|
431
492
|
if (opts.verbose)
|
|
432
493
|
debug_1.default.enable("gov-tracker:*");
|
|
494
|
+
(0, cli_1.validateCliOptions)(opts, "track");
|
|
433
495
|
(0, cli_1.requirePrivateKeyForWrite)(opts);
|
|
434
496
|
try {
|
|
435
497
|
const providers = (0, cli_1.createProvidersFromOptions)(opts);
|
|
@@ -443,14 +505,19 @@ trackCmd
|
|
|
443
505
|
if (opts.force)
|
|
444
506
|
console.log(`Force: ignoring cached data`);
|
|
445
507
|
}
|
|
446
|
-
// Use cache unless --
|
|
447
|
-
|
|
508
|
+
// Use cache unless --no-cache is specified
|
|
509
|
+
// --force clears the cache entry before tracking but still writes results
|
|
510
|
+
const cachePath = opts.noCache ? undefined : opts.cache;
|
|
448
511
|
const tracker = (0, index_1.createTracker)({
|
|
449
512
|
...providers,
|
|
450
513
|
cachePath,
|
|
451
514
|
chunkingConfig,
|
|
452
515
|
onProgress: opts.verbose ? createProgressCallback() : undefined,
|
|
453
516
|
});
|
|
517
|
+
// Clear all cache entries for this tx if --force to ensure fresh tracking
|
|
518
|
+
if (opts.force && cachePath) {
|
|
519
|
+
await tracker.clearTxCacheEntries(txHash);
|
|
520
|
+
}
|
|
454
521
|
let calldatas = [];
|
|
455
522
|
let targets = [];
|
|
456
523
|
let values = [];
|
|
@@ -483,11 +550,16 @@ trackCmd
|
|
|
483
550
|
prepareCompleted: opts.prepareCompleted,
|
|
484
551
|
preparePending: opts.preparePending,
|
|
485
552
|
}, providers);
|
|
553
|
+
if (results.length === 0) {
|
|
554
|
+
console.error("No proposal or timelock operation found in transaction");
|
|
555
|
+
process.exit(1);
|
|
556
|
+
}
|
|
486
557
|
// Format tracking output
|
|
487
|
-
results.
|
|
558
|
+
for (let i = 0; i < results.length; i++) {
|
|
559
|
+
const r = results[i];
|
|
488
560
|
const label = results.length > 1 ? `Operation ${i + 1}/${results.length}` : undefined;
|
|
489
|
-
|
|
490
|
-
}
|
|
561
|
+
(0, cli_1.displayTrackingResult)(r, label);
|
|
562
|
+
}
|
|
491
563
|
// Show all prepared transactions
|
|
492
564
|
if (preparedTransactions.length > 0) {
|
|
493
565
|
console.log(`\n${(0, cli_1.formatMultiplePreparedTransactions)(preparedTransactions)}`);
|
|
@@ -529,12 +601,13 @@ trackCmd
|
|
|
529
601
|
break;
|
|
530
602
|
console.log(`\nRe-tracking to find next stages...`);
|
|
531
603
|
const retracked = await (0, cli_1.trackAndPrepare)(tracker, txHash, { prepare: true }, providers);
|
|
532
|
-
retracked.results.
|
|
604
|
+
for (let i = 0; i < retracked.results.length; i++) {
|
|
605
|
+
const r = retracked.results[i];
|
|
533
606
|
const label = retracked.results.length > 1
|
|
534
607
|
? `Operation ${i + 1}/${retracked.results.length}`
|
|
535
608
|
: undefined;
|
|
536
|
-
|
|
537
|
-
}
|
|
609
|
+
(0, cli_1.displayTrackingResult)(r, label);
|
|
610
|
+
}
|
|
538
611
|
if (retracked.preparedTransactions.length > 0) {
|
|
539
612
|
console.log(`\n${(0, cli_1.formatMultiplePreparedTransactions)(retracked.preparedTransactions)}`);
|
|
540
613
|
}
|
|
@@ -590,16 +663,19 @@ program
|
|
|
590
663
|
.addOption(cli_1.cacheOptions.cache(DEFAULT_CACHE_PATH))
|
|
591
664
|
.option("--json", "Output as JSON")
|
|
592
665
|
.action(async (opts) => {
|
|
593
|
-
const { watermarks, checkpoints } = await index_1.ProposalStageTracker.readCacheStatus(opts.cache);
|
|
666
|
+
const { watermarks, checkpoints, elections } = await index_1.ProposalStageTracker.readCacheStatus(opts.cache);
|
|
594
667
|
if (opts.json) {
|
|
595
668
|
const checkpointsObj = {};
|
|
596
669
|
for (const [key, checkpoint] of checkpoints) {
|
|
597
670
|
checkpointsObj[key] = checkpoint;
|
|
598
671
|
}
|
|
672
|
+
for (const [index, checkpoint] of elections) {
|
|
673
|
+
checkpointsObj[`election:${index}`] = checkpoint;
|
|
674
|
+
}
|
|
599
675
|
console.log(JSON.stringify({ watermarks, checkpoints: checkpointsObj }, null, 2));
|
|
600
676
|
}
|
|
601
677
|
else {
|
|
602
|
-
console.log((0, cli_1.formatCacheStatus)(checkpoints));
|
|
678
|
+
console.log((0, cli_1.formatCacheStatus)(checkpoints, elections));
|
|
603
679
|
}
|
|
604
680
|
});
|
|
605
681
|
// ============================================================================
|
|
@@ -607,19 +683,181 @@ program
|
|
|
607
683
|
// ============================================================================
|
|
608
684
|
const electionCmd = program
|
|
609
685
|
.command("election")
|
|
610
|
-
.description("Check Security Council election status");
|
|
686
|
+
.description("Check Security Council election status and track elections");
|
|
611
687
|
(0, cli_1.addOptions)(electionCmd, cli_1.rpcOptions);
|
|
612
688
|
(0, cli_1.addOptions)(electionCmd, cli_1.loopOptions);
|
|
689
|
+
(0, cli_1.addOptions)(electionCmd, cli_1.executionOptions);
|
|
613
690
|
electionCmd
|
|
691
|
+
.addOption(cli_1.cacheOptions.cache(DEFAULT_CACHE_PATH))
|
|
692
|
+
.addOption(cli_1.cacheOptions.noCache)
|
|
693
|
+
.addOption(cli_1.cacheOptions.force)
|
|
614
694
|
.addOption(cli_1.verboseOption)
|
|
615
|
-
.option("--
|
|
616
|
-
.
|
|
695
|
+
.option("--list", "List all elections with their statuses")
|
|
696
|
+
.option("--track <index>", "Track a specific election by index")
|
|
697
|
+
.option("--details", "Show detailed nominee/member info (use with --track)")
|
|
617
698
|
.action(async (opts) => {
|
|
618
699
|
if (opts.verbose)
|
|
619
700
|
debug_1.default.enable("gov-tracker:*");
|
|
620
701
|
(0, cli_1.requirePrivateKeyForWrite)(opts);
|
|
621
702
|
const providers = (0, cli_1.createProvidersFromOptions)(opts);
|
|
622
703
|
const signer = opts.write ? (0, cli_1.createSigner)(opts.privateKey) : null;
|
|
704
|
+
// Create tracker with cache (unless --no-cache)
|
|
705
|
+
const cachePath = opts.noCache ? undefined : opts.cache;
|
|
706
|
+
const tracker = (0, index_1.createTracker)({
|
|
707
|
+
...providers,
|
|
708
|
+
cachePath,
|
|
709
|
+
});
|
|
710
|
+
// Import election tracking functions for detailed queries
|
|
711
|
+
const { getNomineeElectionDetails, getMemberElectionDetails, prepareMemberElectionTrigger, prepareMemberElectionExecution, } = await Promise.resolve().then(() => __importStar(require("../index")));
|
|
712
|
+
// --list: Show all elections (uses cached data for completed elections)
|
|
713
|
+
if (opts.list) {
|
|
714
|
+
console.log("Fetching all elections...\n");
|
|
715
|
+
// Use --force to bypass cache and re-track all elections
|
|
716
|
+
const elections = await tracker.trackAllElections({ force: opts.force });
|
|
717
|
+
if (elections.length === 0) {
|
|
718
|
+
console.log("No elections found.");
|
|
719
|
+
return;
|
|
720
|
+
}
|
|
721
|
+
console.log(`=== Security Council Elections (${elections.length} total) ===\n`);
|
|
722
|
+
for (const election of elections) {
|
|
723
|
+
const cohortName = election.cohort === 0 ? "First" : "Second";
|
|
724
|
+
console.log(`Election #${election.electionIndex}`);
|
|
725
|
+
console.log(` Phase: ${election.phase}`);
|
|
726
|
+
console.log(` Cohort: ${cohortName} (${election.cohort})`);
|
|
727
|
+
console.log(` Compliant Nominees: ${election.compliantNomineeCount}/${election.targetNomineeCount}`);
|
|
728
|
+
if (election.nomineeProposalId) {
|
|
729
|
+
console.log(` Nominee Proposal: ${election.nomineeProposalState}`);
|
|
730
|
+
}
|
|
731
|
+
if (election.memberProposalId) {
|
|
732
|
+
console.log(` Member Proposal: ${election.memberProposalState}`);
|
|
733
|
+
}
|
|
734
|
+
if (election.canProceedToMemberPhase) {
|
|
735
|
+
console.log(` → Ready to trigger member election`);
|
|
736
|
+
}
|
|
737
|
+
if (election.canExecuteMember) {
|
|
738
|
+
console.log(` → Ready to execute member election`);
|
|
739
|
+
}
|
|
740
|
+
console.log("");
|
|
741
|
+
}
|
|
742
|
+
return;
|
|
743
|
+
}
|
|
744
|
+
// --track <index>: Track specific election (uses cache unless --force)
|
|
745
|
+
if (opts.track !== undefined) {
|
|
746
|
+
const electionIndex = parseInt(opts.track, 10);
|
|
747
|
+
console.log(`Tracking election #${electionIndex}...\n`);
|
|
748
|
+
const election = await tracker.trackElection(electionIndex, { force: opts.force });
|
|
749
|
+
// Use shared formatter for consistent output with stages
|
|
750
|
+
console.log((0, cli_1.formatElectionResult)(election));
|
|
751
|
+
// Show detailed info if requested
|
|
752
|
+
if (opts.details) {
|
|
753
|
+
console.log(`\n--- Detailed Information ---`);
|
|
754
|
+
if (election.nomineeProposalId) {
|
|
755
|
+
const nomineeDetails = await getNomineeElectionDetails(electionIndex, providers.l2Provider);
|
|
756
|
+
if (nomineeDetails) {
|
|
757
|
+
console.log(`\nNominee Election Details:`);
|
|
758
|
+
console.log(` Contenders: ${nomineeDetails.contenders.length}`);
|
|
759
|
+
console.log(` Total Nominees: ${nomineeDetails.nominees.length}`);
|
|
760
|
+
console.log(` Compliant: ${nomineeDetails.compliantNominees.length}`);
|
|
761
|
+
console.log(` Excluded: ${nomineeDetails.excludedNominees.length}`);
|
|
762
|
+
console.log(` Quorum Threshold: ${nomineeDetails.quorumThreshold.toString()} votes`);
|
|
763
|
+
if (nomineeDetails.contenders.length > 0) {
|
|
764
|
+
console.log(`\n Registered Contenders (${nomineeDetails.contenders.length}):`);
|
|
765
|
+
for (const contender of nomineeDetails.contenders) {
|
|
766
|
+
const extra = opts.verbose ? ` (block ${contender.registeredAtBlock})` : "";
|
|
767
|
+
console.log(` ${contender.address}${extra}`);
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
if (nomineeDetails.compliantNominees.length > 0) {
|
|
771
|
+
console.log(`\n Qualified Nominees (${nomineeDetails.compliantNominees.length}):`);
|
|
772
|
+
for (const nominee of nomineeDetails.compliantNominees) {
|
|
773
|
+
const extra = opts.verbose && nominee.nominatedAtBlock
|
|
774
|
+
? ` (block ${nominee.nominatedAtBlock})`
|
|
775
|
+
: "";
|
|
776
|
+
console.log(` ${nominee.address}: ${nominee.votesReceived.toString()} votes${extra}`);
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
if (nomineeDetails.excludedNominees.length > 0) {
|
|
780
|
+
console.log(`\n Excluded Nominees (${nomineeDetails.excludedNominees.length}):`);
|
|
781
|
+
for (const nominee of nomineeDetails.excludedNominees) {
|
|
782
|
+
const extra = opts.verbose && nominee.excludedAtBlock
|
|
783
|
+
? ` (block ${nominee.excludedAtBlock})`
|
|
784
|
+
: "";
|
|
785
|
+
console.log(` ${nominee.address}: excluded${extra}`);
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
if (election.memberProposalId) {
|
|
791
|
+
const memberDetails = await getMemberElectionDetails(electionIndex, providers.l2Provider);
|
|
792
|
+
if (memberDetails) {
|
|
793
|
+
console.log(`\nMember Election Details:`);
|
|
794
|
+
console.log(` Full Weight Deadline: block ${memberDetails.fullWeightDeadline}`);
|
|
795
|
+
console.log(` Proposal Deadline: block ${memberDetails.proposalDeadline}`);
|
|
796
|
+
if (memberDetails.nominees.length > 0) {
|
|
797
|
+
console.log(`\n Candidates by Weight (${memberDetails.nominees.length}):`);
|
|
798
|
+
for (const nominee of memberDetails.nominees) {
|
|
799
|
+
const winnerTag = nominee.isWinner ? " [WINNER]" : "";
|
|
800
|
+
console.log(` #${nominee.rank} ${nominee.address}: ${nominee.weightReceived.toString()}${winnerTag}`);
|
|
801
|
+
}
|
|
802
|
+
}
|
|
803
|
+
if (memberDetails.winners.length > 0) {
|
|
804
|
+
console.log(`\n Elected Members (${memberDetails.winners.length}):`);
|
|
805
|
+
for (const winner of memberDetails.winners) {
|
|
806
|
+
console.log(` ${winner}`);
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
function getActionStatus(isReady, isPending, isCompleted) {
|
|
813
|
+
if (isReady)
|
|
814
|
+
return "READY";
|
|
815
|
+
if (isCompleted)
|
|
816
|
+
return "COMPLETED";
|
|
817
|
+
if (isPending)
|
|
818
|
+
return "PENDING";
|
|
819
|
+
return "PENDING";
|
|
820
|
+
}
|
|
821
|
+
// Should we show/prepare this action based on flags?
|
|
822
|
+
function shouldShowAction(status) {
|
|
823
|
+
// Always show READY actions
|
|
824
|
+
if (status === "READY")
|
|
825
|
+
return true;
|
|
826
|
+
// Otherwise, only if --prepare* flags match the status
|
|
827
|
+
if (opts.preparePending && status === "PENDING")
|
|
828
|
+
return true;
|
|
829
|
+
if (opts.prepareCompleted && status === "COMPLETED")
|
|
830
|
+
return true;
|
|
831
|
+
return false;
|
|
832
|
+
}
|
|
833
|
+
// Helper to prepare and optionally execute an election action
|
|
834
|
+
async function handleElectionAction(actionName, prepareFunc, status) {
|
|
835
|
+
if (!shouldShowAction(status))
|
|
836
|
+
return;
|
|
837
|
+
console.log(`\n[ACTION] ${actionName} (${status})`);
|
|
838
|
+
const prepared = await prepareFunc();
|
|
839
|
+
if (!prepared)
|
|
840
|
+
return;
|
|
841
|
+
console.log((0, cli_1.formatDryRun)(prepared));
|
|
842
|
+
if (signer && opts.write && status === "READY") {
|
|
843
|
+
const execResult = await (0, cli_1.executeTransaction)(prepared, signer, providers);
|
|
844
|
+
if (execResult.success) {
|
|
845
|
+
console.log(`\n[EXECUTED] ${actionName} succeeded! Tx: ${execResult.txHash}`);
|
|
846
|
+
}
|
|
847
|
+
else {
|
|
848
|
+
console.error(`\n[ERROR] Execution failed: ${execResult.error}`);
|
|
849
|
+
}
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
// Trigger member election
|
|
853
|
+
const triggerStatus = getActionStatus(election.canProceedToMemberPhase, election.phase === "VETTING_PERIOD" && !election.canProceedToMemberPhase, election.memberProposalId !== null);
|
|
854
|
+
await handleElectionAction("Trigger member election", () => prepareMemberElectionTrigger(election, providers.l2Provider), triggerStatus);
|
|
855
|
+
// Execute member election
|
|
856
|
+
const executeStatus = getActionStatus(election.canExecuteMember, election.phase === "MEMBER_ELECTION" && !election.canExecuteMember, election.phase === "COMPLETED");
|
|
857
|
+
await handleElectionAction("Execute member election - install new council", () => prepareMemberElectionExecution(election, providers.l2Provider), executeStatus);
|
|
858
|
+
return;
|
|
859
|
+
}
|
|
860
|
+
// Default: Check election status (original behavior)
|
|
623
861
|
async function checkElection() {
|
|
624
862
|
try {
|
|
625
863
|
const result = await (0, election_check_1.checkAndExecuteElection)(providers, signer, {
|
package/dist/cli/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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"}
|