@gzeoneth/gov-tracker 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +15 -0
- package/dist/discovery/security-council.d.ts.map +1 -1
- package/dist/discovery/security-council.js +42 -19
- 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 +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -8
- 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/query.d.ts +20 -0
- package/dist/tracker/query.d.ts.map +1 -1
- package/dist/tracker/query.js +86 -1
- package/dist/tracker/query.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 +30 -1
- package/dist/tracker.d.ts.map +1 -1
- package/dist/tracker.js +220 -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 +10 -3
- package/dist/utils/timing.d.ts.map +1 -1
- package/dist/utils/timing.js +39 -13
- 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
package/dist/tracker/state.js
CHANGED
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
* - Debuggable: save/restore state snapshots
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.getFirstExecutableBlock = exports.getProposalState = exports.getIsElection = exports.getQueueBlockNumber = exports.getFirstCallScheduledData = exports.getProposalId = exports.getGovernorAddress = void 0;
|
|
18
|
+
exports.getElectionIndex = exports.getFirstExecutableBlock = exports.getProposalState = exports.getIsElection = exports.getQueueBlockNumber = exports.getFirstCallScheduledData = exports.getProposalId = exports.getGovernorAddress = void 0;
|
|
19
|
+
exports.getTrackingPathFromInput = getTrackingPathFromInput;
|
|
19
20
|
exports.createTrackingState = createTrackingState;
|
|
20
21
|
exports.addStage = addStage;
|
|
21
22
|
exports.isStageCompleted = isStageCompleted;
|
|
@@ -32,6 +33,15 @@ exports.getL2ExecutionTxHash = getL2ExecutionTxHash;
|
|
|
32
33
|
exports.getOutboxExecutionTx = getOutboxExecutionTx;
|
|
33
34
|
exports.getL1ExecutionTxHash = getL1ExecutionTxHash;
|
|
34
35
|
exports.createCheckpoint = createCheckpoint;
|
|
36
|
+
exports.createModularCheckpoints = createModularCheckpoints;
|
|
37
|
+
exports.setTimelockOpKey = setTimelockOpKey;
|
|
38
|
+
exports.getNomineeProposalId = getNomineeProposalId;
|
|
39
|
+
exports.getMemberProposalId = getMemberProposalId;
|
|
40
|
+
exports.getElectionCohort = getElectionCohort;
|
|
41
|
+
exports.getCompliantNomineeCount = getCompliantNomineeCount;
|
|
42
|
+
exports.getTargetNomineeCount = getTargetNomineeCount;
|
|
43
|
+
exports.getVettingDeadline = getVettingDeadline;
|
|
44
|
+
exports.getElectionTimelockOperationId = getElectionTimelockOperationId;
|
|
35
45
|
const ethers_1 = require("ethers");
|
|
36
46
|
const logger_1 = require("../utils/logger");
|
|
37
47
|
const utils_1 = require("../stages/utils");
|
|
@@ -39,10 +49,28 @@ const governor_discovery_1 = require("../discovery/governor-discovery");
|
|
|
39
49
|
const constants_1 = require("../constants");
|
|
40
50
|
const { tracker: logTracker } = logger_1.loggers;
|
|
41
51
|
// State Creation
|
|
52
|
+
/**
|
|
53
|
+
* Determine tracking path from input type
|
|
54
|
+
*/
|
|
55
|
+
function getTrackingPathFromInput(input) {
|
|
56
|
+
switch (input.type) {
|
|
57
|
+
case "governor":
|
|
58
|
+
return "governor";
|
|
59
|
+
case "timelock":
|
|
60
|
+
return "timelock";
|
|
61
|
+
case "election":
|
|
62
|
+
return "election";
|
|
63
|
+
case "discovery":
|
|
64
|
+
// Discovery inputs don't have stages, but default to timelock for safety
|
|
65
|
+
return "timelock";
|
|
66
|
+
}
|
|
67
|
+
}
|
|
42
68
|
function createTrackingState(options) {
|
|
43
69
|
// Initialize stages based on tracking path
|
|
44
|
-
const
|
|
45
|
-
const initialStages = (0, utils_1.
|
|
70
|
+
const path = getTrackingPathFromInput(options.input);
|
|
71
|
+
const initialStages = (0, utils_1.initializeStagesForTrackingPath)(path);
|
|
72
|
+
// Get timelockOpKey from parent checkpoint metadata if present
|
|
73
|
+
const timelockOpKey = options.checkpoint?.metadata?.timelockOpKey;
|
|
46
74
|
let ctx = {
|
|
47
75
|
providers: options.providers,
|
|
48
76
|
chunkingConfig: options.chunkingConfig ?? constants_1.DEFAULT_CHUNKING_CONFIG,
|
|
@@ -52,11 +80,17 @@ function createTrackingState(options) {
|
|
|
52
80
|
callScheduledData: options.callScheduledData,
|
|
53
81
|
stages: initialStages,
|
|
54
82
|
stageIndex: 0,
|
|
83
|
+
timelockOpKey,
|
|
55
84
|
};
|
|
56
|
-
// Load from checkpoint
|
|
85
|
+
// Load from parent checkpoint (non-timelock stages)
|
|
57
86
|
if (options.checkpoint?.cachedData.completedStages?.length) {
|
|
58
87
|
ctx = loadFromCheckpoint(ctx, options.checkpoint);
|
|
59
88
|
}
|
|
89
|
+
// Load from linked timelock checkpoint (timelock stages)
|
|
90
|
+
if (options.linkedTimelockCheckpoint?.cachedData.completedStages?.length) {
|
|
91
|
+
ctx = loadFromCheckpoint(ctx, options.linkedTimelockCheckpoint);
|
|
92
|
+
logTracker("RESUME: merged linked timelock checkpoint");
|
|
93
|
+
}
|
|
60
94
|
return ctx;
|
|
61
95
|
}
|
|
62
96
|
/**
|
|
@@ -91,13 +125,12 @@ async function addStage(ctx, stage) {
|
|
|
91
125
|
const findStage = (ctx, type) => ctx.stages.find((s) => s.type === type);
|
|
92
126
|
/** Check if a stage is completed (COMPLETED or SKIPPED). */
|
|
93
127
|
function isStageCompleted(ctx, type) {
|
|
94
|
-
|
|
95
|
-
return s?.status === "COMPLETED" || s?.status === "SKIPPED";
|
|
128
|
+
return (0, utils_1.isStageSuccess)(findStage(ctx, type)?.status);
|
|
96
129
|
}
|
|
97
130
|
/** Get a completed stage for zero-RPC resume. */
|
|
98
131
|
function getCompletedStage(ctx, type) {
|
|
99
132
|
const s = findStage(ctx, type);
|
|
100
|
-
return
|
|
133
|
+
return (0, utils_1.isStageSuccess)(s?.status) ? s : undefined;
|
|
101
134
|
}
|
|
102
135
|
/** Get a cached stage (any status). */
|
|
103
136
|
function getCachedStage(ctx, type) {
|
|
@@ -109,7 +142,7 @@ function getCachedStage(ctx, type) {
|
|
|
109
142
|
function isComplete(ctx) {
|
|
110
143
|
return (0, utils_1.areAllStagesComplete)(ctx.stages);
|
|
111
144
|
}
|
|
112
|
-
// Stage data helpers
|
|
145
|
+
// Stage data helpers - properly typed using StageDataMap
|
|
113
146
|
const stageData = (ctx, type) => findStage(ctx, type)?.data;
|
|
114
147
|
const execTx = (s) => s?.transactions?.find((tx) => tx.description === "executed");
|
|
115
148
|
const chainTx = (s, chain) => s?.transactions?.find((tx) => tx.chain === chain);
|
|
@@ -123,12 +156,14 @@ function getTimelockAddress(ctx) {
|
|
|
123
156
|
if (ctx.input.type === "timelock")
|
|
124
157
|
return ctx.input.timelockAddress;
|
|
125
158
|
return (stageData(ctx, "PROPOSAL_QUEUED")?.timelockAddress ??
|
|
159
|
+
stageData(ctx, "MEMBER_ELECTION")?.timelockAddress ??
|
|
126
160
|
stageData(ctx, "L2_TIMELOCK")?.timelockAddress);
|
|
127
161
|
}
|
|
128
162
|
function getOperationId(ctx) {
|
|
129
163
|
if (ctx.input.type === "timelock")
|
|
130
164
|
return ctx.input.operationId;
|
|
131
165
|
return (stageData(ctx, "PROPOSAL_QUEUED")?.operationId ??
|
|
166
|
+
stageData(ctx, "MEMBER_ELECTION")?.operationId ??
|
|
132
167
|
stageData(ctx, "L2_TIMELOCK")?.operationId);
|
|
133
168
|
}
|
|
134
169
|
function getCallScheduledData(ctx) {
|
|
@@ -193,9 +228,7 @@ function getVotingEndBlock(ctx) {
|
|
|
193
228
|
const data = stageData(ctx, "VOTING_ACTIVE");
|
|
194
229
|
if (!data?.deadline)
|
|
195
230
|
return undefined;
|
|
196
|
-
|
|
197
|
-
const extended = data.extendedDeadline ? parseInt(data.extendedDeadline, 10) : 0;
|
|
198
|
-
return extended > deadline ? extended : deadline;
|
|
231
|
+
return Math.max(parseInt(data.deadline, 10), parseInt(data.extendedDeadline ?? "0", 10));
|
|
199
232
|
}
|
|
200
233
|
function getL2ExecutionTxHash(ctx) {
|
|
201
234
|
const s = findStage(ctx, "L2_TIMELOCK");
|
|
@@ -215,6 +248,10 @@ function getL1ExecutionTxHash(ctx) {
|
|
|
215
248
|
return s?.status === "COMPLETED" ? execTx(s)?.hash : undefined;
|
|
216
249
|
}
|
|
217
250
|
// Checkpoint & Result
|
|
251
|
+
/**
|
|
252
|
+
* Create a full checkpoint with all stages (legacy behavior).
|
|
253
|
+
* For modular caching, use createModularCheckpoints instead.
|
|
254
|
+
*/
|
|
218
255
|
function createCheckpoint(ctx) {
|
|
219
256
|
const completedStages = ctx.stages.filter((s) => s.status !== "NOT_STARTED");
|
|
220
257
|
const lastProcessedStage = [...ctx.stages].reverse().find((s) => s.status !== "NOT_STARTED")?.type ?? null;
|
|
@@ -225,9 +262,99 @@ function createCheckpoint(ctx) {
|
|
|
225
262
|
lastProcessedStage,
|
|
226
263
|
lastProcessedBlock: { l1: 0, l2: 0, nova: 0 },
|
|
227
264
|
cachedData: { completedStages },
|
|
228
|
-
metadata: {
|
|
265
|
+
metadata: {
|
|
266
|
+
errorCount: 0,
|
|
267
|
+
lastTrackedAt: Date.now(),
|
|
268
|
+
timelockOpKey: ctx.timelockOpKey,
|
|
269
|
+
},
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Create modular checkpoints - splits parent and timelock stages.
|
|
274
|
+
*
|
|
275
|
+
* This enables:
|
|
276
|
+
* - Independent timelock tracking/resumption
|
|
277
|
+
* - Clear separation between proposal/election and timelock lifecycle
|
|
278
|
+
* - Efficient caching with minimal duplication
|
|
279
|
+
*
|
|
280
|
+
* @param ctx - The tracking state
|
|
281
|
+
* @param parentCacheKey - Cache key for the parent checkpoint (e.g., "election:0" or "tx:0x...")
|
|
282
|
+
*/
|
|
283
|
+
function createModularCheckpoints(ctx, parentCacheKey) {
|
|
284
|
+
const allCompletedStages = ctx.stages.filter((s) => s.status !== "NOT_STARTED");
|
|
285
|
+
const { parentStages, timelockStages } = (0, utils_1.splitStages)(allCompletedStages);
|
|
286
|
+
// Determine timelockOpKey from state or derive from data
|
|
287
|
+
const timelockOpKey = ctx.timelockOpKey ?? null;
|
|
288
|
+
// Helper to build checkpoint from stages
|
|
289
|
+
const buildCheckpoint = (input, stages, extraMetadata) => ({
|
|
290
|
+
version: 1,
|
|
291
|
+
createdAt: Date.now(),
|
|
292
|
+
input,
|
|
293
|
+
lastProcessedStage: [...stages].reverse().find((s) => s.status !== "NOT_STARTED")?.type ?? null,
|
|
294
|
+
lastProcessedBlock: { l1: 0, l2: 0, nova: 0 },
|
|
295
|
+
cachedData: { completedStages: stages },
|
|
296
|
+
metadata: { errorCount: 0, lastTrackedAt: Date.now(), ...extraMetadata },
|
|
297
|
+
});
|
|
298
|
+
const parentCheckpoint = buildCheckpoint(ctx.input, parentStages, {
|
|
299
|
+
timelockOpKey: timelockOpKey ?? undefined,
|
|
300
|
+
});
|
|
301
|
+
// Timelock checkpoint - only contains timelock stages
|
|
302
|
+
const timelockCheckpoint = timelockStages.length > 0 && (0, utils_1.hasTimelockProgress)(ctx.stages)
|
|
303
|
+
? buildCheckpoint(deriveTimelockInput(ctx), timelockStages, {
|
|
304
|
+
sourceCheckpoint: parentCacheKey,
|
|
305
|
+
})
|
|
306
|
+
: null;
|
|
307
|
+
return {
|
|
308
|
+
parentCheckpoint,
|
|
309
|
+
timelockCheckpoint,
|
|
310
|
+
timelockOpKey,
|
|
229
311
|
};
|
|
230
312
|
}
|
|
313
|
+
/**
|
|
314
|
+
* Derive timelock input from tracking state.
|
|
315
|
+
* Used when creating timelock checkpoints for modular caching.
|
|
316
|
+
*/
|
|
317
|
+
function deriveTimelockInput(ctx) {
|
|
318
|
+
const operationId = getOperationId(ctx);
|
|
319
|
+
const timelockAddress = getTimelockAddress(ctx);
|
|
320
|
+
const scheduledTxHash = deriveScheduledTxHash(ctx);
|
|
321
|
+
if (operationId && timelockAddress && scheduledTxHash) {
|
|
322
|
+
return {
|
|
323
|
+
type: "timelock",
|
|
324
|
+
timelockAddress,
|
|
325
|
+
operationId,
|
|
326
|
+
scheduledTxHash,
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
// Fallback to original input if we can't derive timelock input
|
|
330
|
+
return ctx.input;
|
|
331
|
+
}
|
|
332
|
+
/** Find tx hash from a completed stage by description */
|
|
333
|
+
function findTxHashFromStage(ctx, stageType, description, requireCompleted = true) {
|
|
334
|
+
const stage = findStage(ctx, stageType);
|
|
335
|
+
if (requireCompleted && stage?.status !== "COMPLETED")
|
|
336
|
+
return undefined;
|
|
337
|
+
if (!requireCompleted && !stage)
|
|
338
|
+
return undefined;
|
|
339
|
+
return stage?.transactions?.find((t) => t.description === description)?.hash;
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Derive the scheduled tx hash from tracking state.
|
|
343
|
+
* For proposals: queue tx hash from PROPOSAL_QUEUED
|
|
344
|
+
* For elections: member execute tx hash from MEMBER_ELECTION
|
|
345
|
+
*/
|
|
346
|
+
function deriveScheduledTxHash(ctx) {
|
|
347
|
+
return (findTxHashFromStage(ctx, "PROPOSAL_QUEUED", "queued") ??
|
|
348
|
+
findTxHashFromStage(ctx, "MEMBER_ELECTION", "executed") ??
|
|
349
|
+
findTxHashFromStage(ctx, "L2_TIMELOCK", "scheduled", false));
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Update timelockOpKey in tracking state.
|
|
353
|
+
* Called when timelock tracking begins (after PROPOSAL_QUEUED or MEMBER_ELECTION).
|
|
354
|
+
*/
|
|
355
|
+
function setTimelockOpKey(ctx, timelockOpKey) {
|
|
356
|
+
return { ...ctx, timelockOpKey };
|
|
357
|
+
}
|
|
231
358
|
async function emitProgress(ctx, s) {
|
|
232
359
|
if (!ctx.onProgress)
|
|
233
360
|
return;
|
|
@@ -240,4 +367,56 @@ async function emitProgress(ctx, s) {
|
|
|
240
367
|
isComplete: isComplete(ctx),
|
|
241
368
|
});
|
|
242
369
|
}
|
|
370
|
+
// Election-specific getters
|
|
371
|
+
/** Get election index from election input */
|
|
372
|
+
const getElectionIndex = (ctx) => ctx.input.type === "election" ? ctx.input.electionIndex : undefined;
|
|
373
|
+
exports.getElectionIndex = getElectionIndex;
|
|
374
|
+
/** Get nominee proposal ID from CREATE_ELECTION or NOMINEE_ELECTION stage */
|
|
375
|
+
function getNomineeProposalId(ctx) {
|
|
376
|
+
const createData = stageData(ctx, "CREATE_ELECTION");
|
|
377
|
+
if (createData?.nomineeProposalId)
|
|
378
|
+
return createData.nomineeProposalId;
|
|
379
|
+
const nomineeData = stageData(ctx, "NOMINEE_ELECTION");
|
|
380
|
+
return nomineeData?.nomineeProposalId;
|
|
381
|
+
}
|
|
382
|
+
/** Get member proposal ID from NOMINEE_VETTING or MEMBER_ELECTION stage */
|
|
383
|
+
function getMemberProposalId(ctx) {
|
|
384
|
+
const vettingData = stageData(ctx, "NOMINEE_VETTING");
|
|
385
|
+
if (vettingData?.memberProposalId)
|
|
386
|
+
return vettingData.memberProposalId;
|
|
387
|
+
const memberData = stageData(ctx, "MEMBER_ELECTION");
|
|
388
|
+
return memberData?.memberProposalId;
|
|
389
|
+
}
|
|
390
|
+
/** Get election cohort from CREATE_ELECTION stage */
|
|
391
|
+
function getElectionCohort(ctx) {
|
|
392
|
+
const createData = stageData(ctx, "CREATE_ELECTION");
|
|
393
|
+
return createData?.cohort;
|
|
394
|
+
}
|
|
395
|
+
/** Get compliant nominee count from NOMINEE_ELECTION or NOMINEE_VETTING stage */
|
|
396
|
+
function getCompliantNomineeCount(ctx) {
|
|
397
|
+
const nomineeData = stageData(ctx, "NOMINEE_ELECTION");
|
|
398
|
+
if (nomineeData?.compliantNomineeCount !== undefined)
|
|
399
|
+
return nomineeData.compliantNomineeCount;
|
|
400
|
+
const vettingData = stageData(ctx, "NOMINEE_VETTING");
|
|
401
|
+
return vettingData?.compliantNomineeCount;
|
|
402
|
+
}
|
|
403
|
+
/** Get target nominee count from NOMINEE_ELECTION stage */
|
|
404
|
+
function getTargetNomineeCount(ctx) {
|
|
405
|
+
const nomineeData = stageData(ctx, "NOMINEE_ELECTION");
|
|
406
|
+
return nomineeData?.targetNomineeCount;
|
|
407
|
+
}
|
|
408
|
+
/** Get vetting deadline from NOMINEE_VETTING stage */
|
|
409
|
+
function getVettingDeadline(ctx) {
|
|
410
|
+
const vettingData = stageData(ctx, "NOMINEE_VETTING");
|
|
411
|
+
return vettingData?.vettingDeadline;
|
|
412
|
+
}
|
|
413
|
+
/** Get timelock operation ID from election flow (MEMBER_ELECTION stage) */
|
|
414
|
+
function getElectionTimelockOperationId(ctx) {
|
|
415
|
+
// For elections, operation ID comes from MEMBER_ELECTION stage after execution
|
|
416
|
+
const memberData = stageData(ctx, "MEMBER_ELECTION");
|
|
417
|
+
if (memberData?.operationId)
|
|
418
|
+
return memberData.operationId;
|
|
419
|
+
// Fall back to timelock stages
|
|
420
|
+
return getOperationId(ctx);
|
|
421
|
+
}
|
|
243
422
|
//# sourceMappingURL=state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/tracker/state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/tracker/state.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AA6GH,4DAYC;AAED,kDAgCC;AAwBD,4BAUC;AAMD,4CAEC;AAGD,8CAGC;AAGD,wCAEC;AAKD,gCAEC;AAiBD,gDAOC;AAED,wCAOC;AAED,oDAMC;AAOD,0CA8BC;AAED,0CAKC;AAUD,8CAIC;AAED,oDAGC;AAKD,oDAOC;AAED,oDAGC;AAQD,4CAiBC;AAyBD,4DA0CC;AAsDD,4CAEC;AAqBD,oDAKC;AAGD,kDAKC;AAGD,8CAGC;AAGD,4DAKC;AAGD,sDAGC;AAGD,gDAGC;AAGD,wEAOC;AAxiBD,mCAA2C;AAC3C,4CAA0C;AAe1C,2CASyB;AACzB,wEAAyF;AACzF,4CAAuD;AAGvD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,gBAAO,CAAC;AAwExC,iBAAiB;AAEjB;;GAEG;AACH,SAAgB,wBAAwB,CAAC,KAAoB;IAC3D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,WAAW;YACd,yEAAyE;YACzE,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAmC;IACrE,2CAA2C;IAC3C,MAAM,IAAI,GAAG,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,IAAA,uCAA+B,EAAC,IAAI,CAAC,CAAC;IAE5D,+DAA+D;IAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC;IAElE,IAAI,GAAG,GAAkB;QACvB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,mCAAuB;QACjE,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,CAAC;QACb,aAAa;KACd,CAAC;IAEF,oDAAoD;IACpD,IAAI,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;QAC3D,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,yDAAyD;IACzD,IAAI,OAAO,CAAC,wBAAwB,EAAE,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;QACzE,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAChE,UAAU,CAAC,2CAA2C,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,GAAkB,EAAE,UAA8B;IAC5E,MAAM,eAAe,GAAG,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC;IAC9D,IAAI,CAAC,eAAe,EAAE,MAAM;QAAE,OAAO,GAAG,CAAC;IAEzC,UAAU,CAAC,qDAAqD,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAE1F,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IACxB,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,GAAG,IAAA,yBAAiB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC;AAChE,CAAC;AAED,mBAAmB;AAEnB;;GAEG;AACI,KAAK,UAAU,QAAQ,CAAC,GAAkB,EAAE,KAAmB;IACpE,MAAM,SAAS,GAAG,IAAA,yBAAiB,EAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvD,MAAM,MAAM,GAAkB;QAC5B,GAAG,GAAG;QACN,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,CAAC;KAC/B,CAAC;IAEF,MAAM,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4EAA4E;AAC5E,MAAM,SAAS,GAAG,CAAC,GAAkB,EAAE,IAAe,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAEnG,4DAA4D;AAC5D,SAAgB,gBAAgB,CAAC,GAAkB,EAAE,IAAe;IAClE,OAAO,IAAA,sBAAc,EAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,iDAAiD;AACjD,SAAgB,iBAAiB,CAAC,GAAkB,EAAE,IAAe;IACnE,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/B,OAAO,IAAA,sBAAc,EAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED,uCAAuC;AACvC,SAAgB,cAAc,CAAC,GAAkB,EAAE,IAAe;IAChE,OAAO,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,GAAkB;IAC3C,OAAO,IAAA,4BAAoB,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,yDAAyD;AACzD,MAAM,SAAS,GAAG,CAAsB,GAAkB,EAAE,IAAO,EAA+B,EAAE,CAClG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAmC,CAAC;AAC5D,MAAM,MAAM,GAAG,CAAC,CAA2B,EAAE,EAAE,CAC7C,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC;AAC/D,MAAM,OAAO,GAAG,CAAC,CAA2B,EAAE,KAAY,EAAE,EAAE,CAC5D,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAEpD,gCAAgC;AACzB,MAAM,kBAAkB,GAAG,CAAC,GAAkB,EAAE,EAAE,CACvD,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;AAD3D,QAAA,kBAAkB,sBACyC;AACjE,MAAM,aAAa,GAAG,CAAC,GAAkB,EAAE,EAAE,CAClD,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AADtD,QAAA,aAAa,iBACyC;AAEnE,yCAAyC;AACzC,SAAgB,kBAAkB,CAAC,GAAkB;IACnD,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC;IACpE,OAAO,CACL,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,eAAe;QAClD,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,eAAe;QAClD,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,eAAe,CAC/C,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAAC,GAAkB;IAC/C,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;IAChE,OAAO,CACL,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,WAAW;QAC9C,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,WAAW;QAC9C,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,WAAW,CAC3C,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAAC,GAAkB;IACrD,IAAI,GAAG,CAAC,iBAAiB;QAAE,OAAO,GAAG,CAAC,iBAAiB,CAAC;IACxD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACnE,IAAI,KAAK,EAAE,MAAM;QAAE,OAAO,IAAA,yCAAiC,EAAC,KAAK,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAChE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IAAA,yCAAiC,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChF,CAAC;AAEM,MAAM,yBAAyB,GAAG,CAAC,GAAkB,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAAnF,QAAA,yBAAyB,6BAA0D;AACzF,MAAM,mBAAmB,GAAG,CAAC,GAAkB,EAAE,EAAE,CACxD,IAAA,iCAAyB,EAAC,GAAG,CAAC,EAAE,WAAW,CAAC;AADjC,QAAA,mBAAmB,uBACc;AAE9C,gDAAgD;AAChD,SAAgB,eAAe,CAAC,GAAkB;IAChD,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,aAAa;QAAE,OAAO,SAAS,CAAC;IACvD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAwC,CAAC;IACxD,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/B,IACE,CAAC,IAAI,CAAC,UAAU;QAChB,CAAC,IAAI,CAAC,UAAU;QAChB,CAAC,IAAI,CAAC,QAAQ;QACd,CAAC,IAAI,CAAC,QAAQ;QACd,CAAC,IAAI,CAAC,OAAO;QACb,CAAC,IAAI,CAAC,MAAM;QACZ,CAAC,IAAI,CAAC,UAAU;QAChB,CAAC,IAAI,CAAC,SAAS;QACf,CAAC,EAAE;QAEH,OAAO,SAAS,CAAC;IACnB,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,UAAU,EAAE,kBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QAC3C,QAAQ,EAAE,kBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvC,aAAa,EAAE,EAAE,CAAC,WAAW;QAC7B,cAAc,EAAE,EAAE,CAAC,IAAI;KACxB,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAAC,GAAkB;IAChD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAChD,IAAI,IAAI,EAAE,YAAY;QAAE,OAAO,IAAI,CAAC,YAA4B,CAAC;IACjE,MAAM,IAAI,GAAG,IAAA,0BAAkB,EAAC,GAAG,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAA,uCAAkB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAEM,MAAM,aAAa,GAAG,CAAC,GAAkB,EAAE,EAAE;IAClD,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAA,uCAAkB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACjD,CAAC,CAAC;AAHW,QAAA,aAAa,iBAGxB;AAEK,MAAM,gBAAgB,GAAG,CAAC,GAAkB,EAAE,EAAE,CACrD,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,aAA0C,CAAC;AADjE,QAAA,gBAAgB,oBACiD;AAE9E,SAAgB,iBAAiB,CAAC,GAAkB;IAClD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI,EAAE,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,SAAgB,oBAAoB,CAAC,GAAkB;IACrD,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAEM,MAAM,uBAAuB,GAAG,CAAC,GAAkB,EAAE,EAAE,CAC5D,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;AAD9C,QAAA,uBAAuB,2BACuB;AAE3D,SAAgB,oBAAoB,CAClC,GAAkB;IAElB,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED,SAAgB,oBAAoB,CAAC,GAAkB;IACrD,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED,sBAAsB;AAEtB;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,GAAkB;IACjD,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;IAC7E,MAAM,kBAAkB,GACtB,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC;IAClF,OAAO;QACL,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,kBAAkB;QAClB,kBAAkB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;QAC7C,UAAU,EAAE,EAAE,eAAe,EAAE;QAC/B,QAAQ,EAAE;YACR,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE;YACzB,aAAa,EAAE,GAAG,CAAC,aAAa;SACjC;KACF,CAAC;AACJ,CAAC;AAcD;;;;;;;;;;GAUG;AACH,SAAgB,wBAAwB,CACtC,GAAkB,EAClB,cAAsB;IAEtB,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;IAChF,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,IAAA,mBAAW,EAAC,kBAAkB,CAAC,CAAC;IAEzE,yDAAyD;IACzD,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC;IAEhD,yCAAyC;IACzC,MAAM,eAAe,GAAG,CACtB,KAAoB,EACpB,MAAsB,EACtB,aAAuC,EACnB,EAAE,CAAC,CAAC;QACxB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,KAAK;QACL,kBAAkB,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,EAAE,IAAI,IAAI,IAAI;QAC/F,kBAAkB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;QAC7C,UAAU,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE;QACvC,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,aAAa,EAAE;KACzE,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE;QAChE,aAAa,EAAE,aAAa,IAAI,SAAS;KAC1C,CAAC,CAAC;IAEH,sDAAsD;IACtD,MAAM,kBAAkB,GACtB,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,IAAA,2BAAmB,EAAC,GAAG,CAAC,MAAM,CAAC;QAC1D,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE;YACxD,gBAAgB,EAAE,cAAc;SACjC,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO;QACL,gBAAgB;QAChB,kBAAkB;QAClB,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,GAAkB;IAC7C,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAEnD,IAAI,WAAW,IAAI,eAAe,IAAI,eAAe,EAAE,CAAC;QACtD,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,eAAe;YACf,WAAW;YACX,eAAe;SAChB,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,OAAO,GAAG,CAAC,KAAK,CAAC;AACnB,CAAC;AAED,yDAAyD;AACzD,SAAS,mBAAmB,CAC1B,GAAkB,EAClB,SAAoB,EACpB,WAAmB,EACnB,gBAAgB,GAAG,IAAI;IAEvB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACxC,IAAI,gBAAgB,IAAI,KAAK,EAAE,MAAM,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IACxE,IAAI,CAAC,gBAAgB,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAClD,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,EAAE,IAAI,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,GAAkB;IAC/C,OAAO,CACL,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,CAAC;QACrD,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,CAAC;QACvD,mBAAmB,CAAC,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,GAAkB,EAAE,aAAqB;IACxE,OAAO,EAAE,GAAG,GAAG,EAAE,aAAa,EAAE,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAkB,EAAE,CAAe;IAC7D,IAAI,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO;IAC5B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,GAAG,CAAC,UAAU,CAAC;QACnB,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU;QAC7C,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM;QAC9B,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC;KAC5B,CAAC,CAAC;AACL,CAAC;AAED,4BAA4B;AAE5B,6CAA6C;AACtC,MAAM,gBAAgB,GAAG,CAAC,GAAkB,EAAsB,EAAE,CACzE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AADzD,QAAA,gBAAgB,oBACyC;AAEtE,6EAA6E;AAC7E,SAAgB,oBAAoB,CAAC,GAAkB;IACrD,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACrD,IAAI,UAAU,EAAE,iBAAiB;QAAE,OAAO,UAAU,CAAC,iBAAiB,CAAC;IACvE,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACvD,OAAO,WAAW,EAAE,iBAAiB,CAAC;AACxC,CAAC;AAED,2EAA2E;AAC3E,SAAgB,mBAAmB,CAAC,GAAkB;IACpD,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACtD,IAAI,WAAW,EAAE,gBAAgB;QAAE,OAAO,WAAW,CAAC,gBAAgB,CAAC;IACvE,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACrD,OAAO,UAAU,EAAE,gBAAgB,CAAC;AACtC,CAAC;AAED,qDAAqD;AACrD,SAAgB,iBAAiB,CAAC,GAAkB;IAClD,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACrD,OAAO,UAAU,EAAE,MAAM,CAAC;AAC5B,CAAC;AAED,iFAAiF;AACjF,SAAgB,wBAAwB,CAAC,GAAkB;IACzD,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACvD,IAAI,WAAW,EAAE,qBAAqB,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,qBAAqB,CAAC;IAC/F,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACtD,OAAO,WAAW,EAAE,qBAAqB,CAAC;AAC5C,CAAC;AAED,2DAA2D;AAC3D,SAAgB,qBAAqB,CAAC,GAAkB;IACtD,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACvD,OAAO,WAAW,EAAE,kBAAkB,CAAC;AACzC,CAAC;AAED,sDAAsD;AACtD,SAAgB,kBAAkB,CAAC,GAAkB;IACnD,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACtD,OAAO,WAAW,EAAE,eAAe,CAAC;AACtC,CAAC;AAED,2EAA2E;AAC3E,SAAgB,8BAA8B,CAAC,GAAkB;IAC/D,+EAA+E;IAC/E,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACrD,IAAI,UAAU,EAAE,WAAW;QAAE,OAAO,UAAU,CAAC,WAAW,CAAC;IAE3D,+BAA+B;IAC/B,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC"}
|
package/dist/tracker.d.ts
CHANGED
|
@@ -194,6 +194,15 @@ export declare class ProposalStageTracker {
|
|
|
194
194
|
* @param maxErrorCount - Items with this many or more errors are counted as "errored" (default: 5)
|
|
195
195
|
*/
|
|
196
196
|
getStats(maxErrorCount?: number): Promise<TrackerStats>;
|
|
197
|
+
/**
|
|
198
|
+
* Get the highest Security Council nonce from incomplete checkpoints.
|
|
199
|
+
*
|
|
200
|
+
* Used to determine if lower-nonce SC operations should be skipped
|
|
201
|
+
* (superseded by higher nonce operations).
|
|
202
|
+
*
|
|
203
|
+
* @returns The highest SC nonce found, or null if no SC operations exist
|
|
204
|
+
*/
|
|
205
|
+
getHighestScNonce(): Promise<import("ethers").BigNumber | null>;
|
|
197
206
|
/**
|
|
198
207
|
* Track from transaction hash (primary tracking entry point)
|
|
199
208
|
*
|
|
@@ -226,14 +235,34 @@ export declare class ProposalStageTracker {
|
|
|
226
235
|
* Uses PipelineContext for stateful tracking - no parameter passing between stages.
|
|
227
236
|
*/
|
|
228
237
|
private trackByTxHashInternal;
|
|
238
|
+
/**
|
|
239
|
+
* Unified pipeline tracking method.
|
|
240
|
+
* Handles all common tracking patterns: state creation, pipeline execution,
|
|
241
|
+
* checkpoint management, and timelockOpKey derivation.
|
|
242
|
+
*/
|
|
243
|
+
private runTrackingPipeline;
|
|
229
244
|
/**
|
|
230
245
|
* Track governor proposal using TrackingState (stateful tracking)
|
|
246
|
+
* Uses modular caching: parent stages saved separately from timelock stages.
|
|
231
247
|
*/
|
|
232
248
|
private trackGovernorWithPipeline;
|
|
233
249
|
/**
|
|
234
250
|
* Track timelock operation using TrackingState (stateful tracking)
|
|
235
251
|
*/
|
|
236
252
|
private trackTimelockWithPipeline;
|
|
253
|
+
/**
|
|
254
|
+
* Track election using TrackingState (stateful tracking)
|
|
255
|
+
*
|
|
256
|
+
* This is the unified pipeline version that tracks elections through the
|
|
257
|
+
* same stage-based approach as proposals and timelock operations.
|
|
258
|
+
* Uses modular caching: election stages saved separately from timelock stages.
|
|
259
|
+
*/
|
|
260
|
+
private trackElectionWithPipeline;
|
|
261
|
+
/**
|
|
262
|
+
* Save checkpoints using modular caching.
|
|
263
|
+
* Saves parent stages and timelock stages in separate checkpoints.
|
|
264
|
+
*/
|
|
265
|
+
private saveModularCheckpoints;
|
|
237
266
|
/**
|
|
238
267
|
* Build TrackingResult from TrackingState
|
|
239
268
|
*/
|
|
@@ -300,7 +329,7 @@ export declare class ProposalStageTracker {
|
|
|
300
329
|
* Track election status for a given proposal ID.
|
|
301
330
|
*
|
|
302
331
|
* Searches through elections to find the one containing this proposal,
|
|
303
|
-
* then tracks the full election lifecycle.
|
|
332
|
+
* then tracks the full election lifecycle using the unified pipeline.
|
|
304
333
|
*/
|
|
305
334
|
private trackElectionStatus;
|
|
306
335
|
/**
|
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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"}
|