@gzeoneth/gov-tracker 0.3.0-beta.3e02aff → 0.3.0-beta.656d3ba

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +0 -1
  2. package/dist/calldata/decoder.d.ts.map +1 -1
  3. package/dist/calldata/decoder.js +10 -56
  4. package/dist/calldata/decoder.js.map +1 -1
  5. package/dist/calldata/parameter-decoder.d.ts +21 -1
  6. package/dist/calldata/parameter-decoder.d.ts.map +1 -1
  7. package/dist/calldata/parameter-decoder.js +30 -0
  8. package/dist/calldata/parameter-decoder.js.map +1 -1
  9. package/dist/cli/lib/cli.d.ts.map +1 -1
  10. package/dist/cli/lib/cli.js +30 -42
  11. package/dist/cli/lib/cli.js.map +1 -1
  12. package/dist/cli/tui/utils/index.d.ts +1 -1
  13. package/dist/cli/tui/utils/index.d.ts.map +1 -1
  14. package/dist/cli/tui/utils/index.js +1 -2
  15. package/dist/cli/tui/utils/index.js.map +1 -1
  16. package/dist/cli/tui/utils/stage-formatter.d.ts +1 -1
  17. package/dist/cli/tui/utils/stage-formatter.d.ts.map +1 -1
  18. package/dist/cli/tui/utils/stage-formatter.js +1 -2
  19. package/dist/cli/tui/utils/stage-formatter.js.map +1 -1
  20. package/dist/cli/tui/views/ElectionView.d.ts.map +1 -1
  21. package/dist/cli/tui/views/ElectionView.js +3 -3
  22. package/dist/cli/tui/views/ElectionView.js.map +1 -1
  23. package/dist/cli/tui/views/StageView.d.ts.map +1 -1
  24. package/dist/cli/tui/views/StageView.js +1 -1
  25. package/dist/cli/tui/views/StageView.js.map +1 -1
  26. package/dist/data/bundled-cache.json +21513 -22619
  27. package/dist/discovery/governor-discovery.d.ts.map +1 -1
  28. package/dist/discovery/governor-discovery.js +43 -48
  29. package/dist/discovery/governor-discovery.js.map +1 -1
  30. package/dist/discovery/security-council.d.ts.map +1 -1
  31. package/dist/discovery/security-council.js +15 -20
  32. package/dist/discovery/security-council.js.map +1 -1
  33. package/dist/discovery/timelock-discovery.d.ts.map +1 -1
  34. package/dist/discovery/timelock-discovery.js +34 -54
  35. package/dist/discovery/timelock-discovery.js.map +1 -1
  36. package/dist/election/details.d.ts.map +1 -1
  37. package/dist/election/details.js +28 -30
  38. package/dist/election/details.js.map +1 -1
  39. package/dist/election/index.d.ts +3 -6
  40. package/dist/election/index.d.ts.map +1 -1
  41. package/dist/election/index.js +7 -14
  42. package/dist/election/index.js.map +1 -1
  43. package/dist/election/params.d.ts +8 -1
  44. package/dist/election/params.d.ts.map +1 -1
  45. package/dist/election/params.js +45 -1
  46. package/dist/election/params.js.map +1 -1
  47. package/dist/election/participants.d.ts.map +1 -1
  48. package/dist/election/participants.js +21 -24
  49. package/dist/election/participants.js.map +1 -1
  50. package/dist/election/proposal-ids.d.ts +10 -0
  51. package/dist/election/proposal-ids.d.ts.map +1 -1
  52. package/dist/election/proposal-ids.js +45 -5
  53. package/dist/election/proposal-ids.js.map +1 -1
  54. package/dist/index.d.ts +2 -1
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +6 -6
  57. package/dist/index.js.map +1 -1
  58. package/dist/simulation/simulation-data.js +2 -2
  59. package/dist/simulation/simulation-data.js.map +1 -1
  60. package/dist/stages/builder.js +1 -1
  61. package/dist/stages/builder.js.map +1 -1
  62. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  63. package/dist/stages/l2-to-l1-message.js +2 -8
  64. package/dist/stages/l2-to-l1-message.js.map +1 -1
  65. package/dist/stages/proposal-queued.d.ts.map +1 -1
  66. package/dist/stages/proposal-queued.js +4 -1
  67. package/dist/stages/proposal-queued.js.map +1 -1
  68. package/dist/stages/retryables.d.ts +4 -3
  69. package/dist/stages/retryables.d.ts.map +1 -1
  70. package/dist/stages/retryables.js +25 -48
  71. package/dist/stages/retryables.js.map +1 -1
  72. package/dist/stages/timelock.d.ts +1 -0
  73. package/dist/stages/timelock.d.ts.map +1 -1
  74. package/dist/stages/timelock.js +44 -58
  75. package/dist/stages/timelock.js.map +1 -1
  76. package/dist/stages/utils.d.ts +39 -5
  77. package/dist/stages/utils.d.ts.map +1 -1
  78. package/dist/stages/utils.js +102 -40
  79. package/dist/stages/utils.js.map +1 -1
  80. package/dist/tracker/discovery.d.ts.map +1 -1
  81. package/dist/tracker/discovery.js +4 -9
  82. package/dist/tracker/discovery.js.map +1 -1
  83. package/dist/tracker/pipeline.d.ts +25 -6
  84. package/dist/tracker/pipeline.d.ts.map +1 -1
  85. package/dist/tracker/pipeline.js +428 -211
  86. package/dist/tracker/pipeline.js.map +1 -1
  87. package/dist/tracker/stage-runner.d.ts +62 -0
  88. package/dist/tracker/stage-runner.d.ts.map +1 -0
  89. package/dist/tracker/stage-runner.js +80 -0
  90. package/dist/tracker/stage-runner.js.map +1 -0
  91. package/dist/tracker/state.d.ts +64 -0
  92. package/dist/tracker/state.d.ts.map +1 -1
  93. package/dist/tracker/state.js +191 -12
  94. package/dist/tracker/state.js.map +1 -1
  95. package/dist/tracker.d.ts +21 -1
  96. package/dist/tracker.d.ts.map +1 -1
  97. package/dist/tracker.js +209 -167
  98. package/dist/tracker.js.map +1 -1
  99. package/dist/types/core.d.ts +3 -2
  100. package/dist/types/core.d.ts.map +1 -1
  101. package/dist/types/core.js +3 -2
  102. package/dist/types/core.js.map +1 -1
  103. package/dist/types/tracking.d.ts +11 -0
  104. package/dist/types/tracking.d.ts.map +1 -1
  105. package/dist/utils/log-filters.d.ts.map +1 -1
  106. package/dist/utils/log-filters.js +4 -8
  107. package/dist/utils/log-filters.js.map +1 -1
  108. package/dist/utils/timing.d.ts.map +1 -1
  109. package/dist/utils/timing.js +5 -7
  110. package/dist/utils/timing.js.map +1 -1
  111. package/package.json +7 -6
  112. package/dist/election/prepare.d.ts +0 -10
  113. package/dist/election/prepare.d.ts.map +0 -1
  114. package/dist/election/prepare.js +0 -52
  115. package/dist/election/prepare.js.map +0 -1
  116. package/dist/election/tracking.d.ts +0 -28
  117. package/dist/election/tracking.d.ts.map +0 -1
  118. package/dist/election/tracking.js +0 -412
  119. package/dist/election/tracking.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/tracker/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/tracker/pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Generic Stage Runner
3
+ *
4
+ * Provides a declarative pipeline runner that:
5
+ * - Handles cache checks automatically
6
+ * - Runs stages in sequence
7
+ * - Stops on incomplete stages
8
+ * - Supports pipeline composition (governor → timelock, election → timelock)
9
+ */
10
+ import { StageType, TrackedStage } from "../types";
11
+ import { TrackingState, getCachedStage } from "./state";
12
+ /**
13
+ * Result from a stage tracker.
14
+ */
15
+ export interface StageResult {
16
+ /** Updated state with new stage */
17
+ state: TrackingState;
18
+ /** Whether to continue to next stage */
19
+ continue: boolean;
20
+ }
21
+ /**
22
+ * A stage tracker function.
23
+ * Returns updated state and whether to continue pipeline.
24
+ */
25
+ export type StageTracker = (state: TrackingState) => Promise<StageResult>;
26
+ /**
27
+ * Stage configuration for declarative pipeline.
28
+ */
29
+ export interface StageConfig {
30
+ /** Stage type for cache lookup */
31
+ type: StageType;
32
+ /** The tracking function */
33
+ track: StageTracker;
34
+ /**
35
+ * Optional: custom cache check.
36
+ * By default, uses getCompletedStage.
37
+ * Return undefined to fall through to track().
38
+ */
39
+ checkCache?: (state: TrackingState) => Promise<StageResult | undefined>;
40
+ }
41
+ /**
42
+ * Run a single stage with automatic cache check.
43
+ */
44
+ export declare function runStage(state: TrackingState, config: StageConfig): Promise<StageResult>;
45
+ /**
46
+ * Run a pipeline of stages.
47
+ * Stops when a stage returns continue=false.
48
+ */
49
+ export declare function runPipeline(state: TrackingState, stages: StageConfig[]): Promise<TrackingState>;
50
+ /**
51
+ * Helper: create placeholder stage for skipped/not-started stages.
52
+ */
53
+ export declare function placeholder(type: StageType, status: "NOT_STARTED" | "SKIPPED", reason: string): TrackedStage;
54
+ /**
55
+ * Helper: add placeholder stages for remaining pipeline stages.
56
+ */
57
+ export declare function addPlaceholders(state: TrackingState, types: StageType[], status: "NOT_STARTED" | "SKIPPED", reason: string): Promise<TrackingState>;
58
+ /**
59
+ * Helper: get cached stage with any status (for fast-path checks).
60
+ */
61
+ export { getCachedStage };
62
+ //# sourceMappingURL=stage-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stage-runner.d.ts","sourceRoot":"","sources":["../../src/tracker/stage-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAkB,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,aAAa,EAA+B,cAAc,EAAE,MAAM,SAAS,CAAC;AAKrF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,KAAK,EAAE,aAAa,CAAC;IACrB,wCAAwC;IACxC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,4BAA4B;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;CACzE;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAgB9F;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,WAAW,EAAE,GACpB,OAAO,CAAC,aAAa,CAAC,CAOxB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,MAAM,EAAE,MAAM,GACb,YAAY,CAUd;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,SAAS,EAAE,EAClB,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAKxB;AAED;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ /**
3
+ * Generic Stage Runner
4
+ *
5
+ * Provides a declarative pipeline runner that:
6
+ * - Handles cache checks automatically
7
+ * - Runs stages in sequence
8
+ * - Stops on incomplete stages
9
+ * - Supports pipeline composition (governor → timelock, election → timelock)
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getCachedStage = void 0;
13
+ exports.runStage = runStage;
14
+ exports.runPipeline = runPipeline;
15
+ exports.placeholder = placeholder;
16
+ exports.addPlaceholders = addPlaceholders;
17
+ const logger_1 = require("../utils/logger");
18
+ const types_1 = require("../types");
19
+ const state_1 = require("./state");
20
+ Object.defineProperty(exports, "getCachedStage", { enumerable: true, get: function () { return state_1.getCachedStage; } });
21
+ const utils_1 = require("../stages/utils");
22
+ const { pipeline: log } = logger_1.loggers;
23
+ /**
24
+ * Run a single stage with automatic cache check.
25
+ */
26
+ async function runStage(state, config) {
27
+ // Custom cache check
28
+ if (config.checkCache) {
29
+ const cached = await config.checkCache(state);
30
+ if (cached)
31
+ return cached;
32
+ }
33
+ else {
34
+ // Default cache check
35
+ const cached = (0, state_1.getCompletedStage)(state, config.type);
36
+ if (cached) {
37
+ log("%s: cached", config.type);
38
+ return { state: await (0, state_1.addStage)(state, cached), continue: true };
39
+ }
40
+ }
41
+ // Run tracker
42
+ return config.track(state);
43
+ }
44
+ /**
45
+ * Run a pipeline of stages.
46
+ * Stops when a stage returns continue=false.
47
+ */
48
+ async function runPipeline(state, stages) {
49
+ for (const config of stages) {
50
+ const result = await runStage(state, config);
51
+ state = result.state;
52
+ if (!result.continue)
53
+ break;
54
+ }
55
+ return state;
56
+ }
57
+ /**
58
+ * Helper: create placeholder stage for skipped/not-started stages.
59
+ */
60
+ function placeholder(type, status, reason) {
61
+ const chain = (0, utils_1.getChainForStage)(type);
62
+ return {
63
+ type,
64
+ status,
65
+ chain,
66
+ chainId: (0, types_1.chainToChainId)(chain),
67
+ transactions: [],
68
+ data: { reason },
69
+ };
70
+ }
71
+ /**
72
+ * Helper: add placeholder stages for remaining pipeline stages.
73
+ */
74
+ async function addPlaceholders(state, types, status, reason) {
75
+ for (const type of types) {
76
+ state = await (0, state_1.addStage)(state, placeholder(type, status, reason));
77
+ }
78
+ return state;
79
+ }
80
+ //# sourceMappingURL=stage-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stage-runner.js","sourceRoot":"","sources":["../../src/tracker/stage-runner.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA4CH,4BAgBC;AAMD,kCAUC;AAKD,kCAcC;AAKD,0CAUC;AA5GD,4CAA0C;AAC1C,oCAAmE;AACnE,mCAAqF;AA+G5E,+FA/G4C,sBAAc,OA+G5C;AA9GvB,2CAAmD;AAEnD,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,gBAAO,CAAC;AAkClC;;GAEG;AACI,KAAK,UAAU,QAAQ,CAAC,KAAoB,EAAE,MAAmB;IACtE,qBAAqB;IACrB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,sBAAsB;QACtB,MAAM,MAAM,GAAG,IAAA,yBAAiB,EAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,IAAA,gBAAQ,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAClE,CAAC;IACH,CAAC;IAED,cAAc;IACd,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,WAAW,CAC/B,KAAoB,EACpB,MAAqB;IAErB,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7C,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,MAAM;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CACzB,IAAe,EACf,MAAiC,EACjC,MAAc;IAEd,MAAM,KAAK,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC;IACrC,OAAO;QACL,IAAI;QACJ,MAAM;QACN,KAAK;QACL,OAAO,EAAE,IAAA,sBAAc,EAAC,KAAK,CAAC;QAC9B,YAAY,EAAE,EAAE;QAChB,IAAI,EAAE,EAAE,MAAM,EAAE;KACD,CAAC;AACpB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,eAAe,CACnC,KAAoB,EACpB,KAAkB,EAClB,MAAiC,EACjC,MAAc;IAEd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,GAAG,MAAM,IAAA,gBAAQ,EAAC,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -15,6 +15,8 @@
15
15
  */
16
16
  import { ethers } from "ethers";
17
17
  import { TrackedStage, TrackingCheckpoint, TrackingInput, StageType, CallScheduledData, ProposalData, ProposalType, ProposalState, OnProgressCallback, ChunkingConfig } from "../types";
18
+ import { TrackingPath } from "../stages/utils";
19
+ import { CohortType } from "../types";
18
20
  /**
19
21
  * Providers for multi-chain operations
20
22
  */
@@ -31,7 +33,10 @@ export interface CreateTrackingStateOptions {
31
33
  input: TrackingInput;
32
34
  onProgress?: OnProgressCallback;
33
35
  chunkingConfig?: ChunkingConfig;
36
+ /** Parent checkpoint (proposal/election stages) */
34
37
  checkpoint?: TrackingCheckpoint;
38
+ /** Linked timelock checkpoint for modular caching */
39
+ linkedTimelockCheckpoint?: TrackingCheckpoint;
35
40
  cacheKey?: string;
36
41
  /** Bootstrap data for timelock-only tracking */
37
42
  callScheduledData?: CallScheduledData[];
@@ -58,7 +63,18 @@ export interface TrackingState {
58
63
  readonly callScheduledData?: CallScheduledData[];
59
64
  readonly stages: TrackedStage[];
60
65
  readonly stageIndex: number;
66
+ /**
67
+ * Key to the linked timelock operation checkpoint.
68
+ * For elections: link to tx:{memberExecuteTxHash}:op:{operationId}
69
+ * For proposals: link to tx:{queueTxHash}:op:{operationId}
70
+ * This enables modular caching where timelock stages are stored separately.
71
+ */
72
+ readonly timelockOpKey?: string;
61
73
  }
74
+ /**
75
+ * Determine tracking path from input type
76
+ */
77
+ export declare function getTrackingPathFromInput(input: TrackingInput): TrackingPath;
62
78
  export declare function createTrackingState(options: CreateTrackingStateOptions): TrackingState;
63
79
  /**
64
80
  * Add or update a stage. Returns new context.
@@ -94,5 +110,53 @@ export declare function getOutboxExecutionTx(ctx: TrackingState): {
94
110
  blockNumber: number;
95
111
  } | undefined;
96
112
  export declare function getL1ExecutionTxHash(ctx: TrackingState): string | undefined;
113
+ /**
114
+ * Create a full checkpoint with all stages (legacy behavior).
115
+ * For modular caching, use createModularCheckpoints instead.
116
+ */
97
117
  export declare function createCheckpoint(ctx: TrackingState): TrackingCheckpoint;
118
+ /**
119
+ * Result of modular checkpoint creation.
120
+ */
121
+ export interface ModularCheckpoints {
122
+ /** Parent checkpoint (proposal/election stages only) */
123
+ parentCheckpoint: TrackingCheckpoint;
124
+ /** Timelock checkpoint (timelock stages only), null if no timelock progress */
125
+ timelockCheckpoint: TrackingCheckpoint | null;
126
+ /** Cache key for the timelock checkpoint */
127
+ timelockOpKey: string | null;
128
+ }
129
+ /**
130
+ * Create modular checkpoints - splits parent and timelock stages.
131
+ *
132
+ * This enables:
133
+ * - Independent timelock tracking/resumption
134
+ * - Clear separation between proposal/election and timelock lifecycle
135
+ * - Efficient caching with minimal duplication
136
+ *
137
+ * @param ctx - The tracking state
138
+ * @param parentCacheKey - Cache key for the parent checkpoint (e.g., "election:0" or "tx:0x...")
139
+ */
140
+ export declare function createModularCheckpoints(ctx: TrackingState, parentCacheKey: string): ModularCheckpoints;
141
+ /**
142
+ * Update timelockOpKey in tracking state.
143
+ * Called when timelock tracking begins (after PROPOSAL_QUEUED or MEMBER_ELECTION).
144
+ */
145
+ export declare function setTimelockOpKey(ctx: TrackingState, timelockOpKey: string): TrackingState;
146
+ /** Get election index from election input */
147
+ export declare const getElectionIndex: (ctx: TrackingState) => number | undefined;
148
+ /** Get nominee proposal ID from CREATE_ELECTION or NOMINEE_ELECTION stage */
149
+ export declare function getNomineeProposalId(ctx: TrackingState): string | undefined;
150
+ /** Get member proposal ID from NOMINEE_VETTING or MEMBER_ELECTION stage */
151
+ export declare function getMemberProposalId(ctx: TrackingState): string | undefined;
152
+ /** Get election cohort from CREATE_ELECTION stage */
153
+ export declare function getElectionCohort(ctx: TrackingState): CohortType | undefined;
154
+ /** Get compliant nominee count from NOMINEE_ELECTION or NOMINEE_VETTING stage */
155
+ export declare function getCompliantNomineeCount(ctx: TrackingState): number | undefined;
156
+ /** Get target nominee count from NOMINEE_ELECTION stage */
157
+ export declare function getTargetNomineeCount(ctx: TrackingState): number | undefined;
158
+ /** Get vetting deadline from NOMINEE_VETTING stage */
159
+ export declare function getVettingDeadline(ctx: TrackingState): number | undefined;
160
+ /** Get timelock operation ID from election flow (MEMBER_ELECTION stage) */
161
+ export declare function getElectionTimelockOperationId(ctx: TrackingState): string | undefined;
98
162
  //# sourceMappingURL=state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/tracker/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/tracker/state.ts"],"names":[],"mappings":"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"}
@@ -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 includeProposal = options.input.type === "governor";
45
- const initialStages = (0, utils_1.initializeStagesForPath)(includeProposal);
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 if provided
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
- const s = findStage(ctx, type);
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 s?.status === "COMPLETED" || s?.status === "SKIPPED" ? s : undefined;
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
- const deadline = parseInt(data.deadline, 10);
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: { errorCount: 0, lastTrackedAt: Date.now() },
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