@gzeoneth/gov-tracker 0.3.0 → 0.4.0-alpha.addr-feedback.36ae67e

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 (217) hide show
  1. package/README.md +6 -11
  2. package/dist/calldata/decoder.d.ts.map +1 -1
  3. package/dist/calldata/decoder.js +35 -76
  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/calldata/retryable-ticket.d.ts +2 -2
  10. package/dist/calldata/retryable-ticket.d.ts.map +1 -1
  11. package/dist/calldata/retryable-ticket.js +17 -12
  12. package/dist/calldata/retryable-ticket.js.map +1 -1
  13. package/dist/calldata/signature-lookup.js +5 -4
  14. package/dist/calldata/signature-lookup.js.map +1 -1
  15. package/dist/cli/cli.js +39 -19
  16. package/dist/cli/cli.js.map +1 -1
  17. package/dist/cli/lib/cli.d.ts +4 -2
  18. package/dist/cli/lib/cli.d.ts.map +1 -1
  19. package/dist/cli/lib/cli.js +61 -58
  20. package/dist/cli/lib/cli.js.map +1 -1
  21. package/dist/cli/lib/json-state.js +1 -1
  22. package/dist/cli/lib/json-state.js.map +1 -1
  23. package/dist/cli/tui/components/StageProgress.js +1 -1
  24. package/dist/cli/tui/components/StageProgress.js.map +1 -1
  25. package/dist/cli/tui/components/StageRow.d.ts.map +1 -1
  26. package/dist/cli/tui/components/StageRow.js +15 -20
  27. package/dist/cli/tui/components/StageRow.js.map +1 -1
  28. package/dist/cli/tui/hooks/useCache.d.ts.map +1 -1
  29. package/dist/cli/tui/hooks/useCache.js +2 -1
  30. package/dist/cli/tui/hooks/useCache.js.map +1 -1
  31. package/dist/cli/tui/hooks/useElectionData.d.ts.map +1 -1
  32. package/dist/cli/tui/hooks/useElectionData.js +3 -2
  33. package/dist/cli/tui/hooks/useElectionData.js.map +1 -1
  34. package/dist/cli/tui/hooks/useProposals.d.ts.map +1 -1
  35. package/dist/cli/tui/hooks/useProposals.js +24 -34
  36. package/dist/cli/tui/hooks/useProposals.js.map +1 -1
  37. package/dist/cli/tui/hooks/useStageCalldata.d.ts.map +1 -1
  38. package/dist/cli/tui/hooks/useStageCalldata.js +2 -1
  39. package/dist/cli/tui/hooks/useStageCalldata.js.map +1 -1
  40. package/dist/cli/tui/utils/index.d.ts +6 -6
  41. package/dist/cli/tui/utils/index.d.ts.map +1 -1
  42. package/dist/cli/tui/utils/index.js +14 -14
  43. package/dist/cli/tui/utils/index.js.map +1 -1
  44. package/dist/cli/tui/utils/markdown-parser.d.ts +5 -0
  45. package/dist/cli/tui/utils/markdown-parser.d.ts.map +1 -1
  46. package/dist/cli/tui/utils/markdown-parser.js +16 -0
  47. package/dist/cli/tui/utils/markdown-parser.js.map +1 -1
  48. package/dist/cli/tui/utils/navigation.d.ts.map +1 -1
  49. package/dist/cli/tui/utils/navigation.js +5 -1
  50. package/dist/cli/tui/utils/navigation.js.map +1 -1
  51. package/dist/cli/tui/utils/proposal-detail-helpers.js +6 -6
  52. package/dist/cli/tui/utils/proposal-detail-helpers.js.map +1 -1
  53. package/dist/cli/tui/utils/time.d.ts +4 -4
  54. package/dist/cli/tui/utils/time.d.ts.map +1 -1
  55. package/dist/cli/tui/utils/time.js +13 -11
  56. package/dist/cli/tui/utils/time.js.map +1 -1
  57. package/dist/cli/tui/views/DescriptionView.d.ts.map +1 -1
  58. package/dist/cli/tui/views/DescriptionView.js +4 -2
  59. package/dist/cli/tui/views/DescriptionView.js.map +1 -1
  60. package/dist/cli/tui/views/ElectionView.d.ts.map +1 -1
  61. package/dist/cli/tui/views/ElectionView.js +3 -3
  62. package/dist/cli/tui/views/ElectionView.js.map +1 -1
  63. package/dist/cli/tui/views/StageView.d.ts.map +1 -1
  64. package/dist/cli/tui/views/StageView.js +1 -1
  65. package/dist/cli/tui/views/StageView.js.map +1 -1
  66. package/dist/constants.d.ts +11 -1
  67. package/dist/constants.d.ts.map +1 -1
  68. package/dist/constants.js +16 -4
  69. package/dist/constants.js.map +1 -1
  70. package/dist/data/bundled-cache.json +21513 -22619
  71. package/dist/deduplication.d.ts.map +1 -1
  72. package/dist/deduplication.js +36 -33
  73. package/dist/deduplication.js.map +1 -1
  74. package/dist/discovery/governor-discovery.d.ts.map +1 -1
  75. package/dist/discovery/governor-discovery.js +44 -49
  76. package/dist/discovery/governor-discovery.js.map +1 -1
  77. package/dist/discovery/security-council.d.ts +15 -0
  78. package/dist/discovery/security-council.d.ts.map +1 -1
  79. package/dist/discovery/security-council.js +42 -19
  80. package/dist/discovery/security-council.js.map +1 -1
  81. package/dist/discovery/timelock-discovery.d.ts.map +1 -1
  82. package/dist/discovery/timelock-discovery.js +62 -84
  83. package/dist/discovery/timelock-discovery.js.map +1 -1
  84. package/dist/election/contracts.d.ts.map +1 -1
  85. package/dist/election/contracts.js +4 -1
  86. package/dist/election/contracts.js.map +1 -1
  87. package/dist/election/details.d.ts.map +1 -1
  88. package/dist/election/details.js +35 -33
  89. package/dist/election/details.js.map +1 -1
  90. package/dist/election/index.d.ts +3 -6
  91. package/dist/election/index.d.ts.map +1 -1
  92. package/dist/election/index.js +7 -14
  93. package/dist/election/index.js.map +1 -1
  94. package/dist/election/params.d.ts +8 -1
  95. package/dist/election/params.d.ts.map +1 -1
  96. package/dist/election/params.js +48 -13
  97. package/dist/election/params.js.map +1 -1
  98. package/dist/election/participants.d.ts.map +1 -1
  99. package/dist/election/participants.js +19 -27
  100. package/dist/election/participants.js.map +1 -1
  101. package/dist/election/proposal-ids.d.ts +10 -0
  102. package/dist/election/proposal-ids.d.ts.map +1 -1
  103. package/dist/election/proposal-ids.js +42 -5
  104. package/dist/election/proposal-ids.js.map +1 -1
  105. package/dist/election/status.d.ts.map +1 -1
  106. package/dist/election/status.js +6 -0
  107. package/dist/election/status.js.map +1 -1
  108. package/dist/index.d.ts +24 -14
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +40 -16
  111. package/dist/index.js.map +1 -1
  112. package/dist/simulation/simulation-data.d.ts +2 -2
  113. package/dist/simulation/simulation-data.d.ts.map +1 -1
  114. package/dist/simulation/simulation-data.js +36 -26
  115. package/dist/simulation/simulation-data.js.map +1 -1
  116. package/dist/stages/builder.js +1 -1
  117. package/dist/stages/builder.js.map +1 -1
  118. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  119. package/dist/stages/l2-to-l1-message.js +5 -11
  120. package/dist/stages/l2-to-l1-message.js.map +1 -1
  121. package/dist/stages/proposal-queued.d.ts.map +1 -1
  122. package/dist/stages/proposal-queued.js +4 -1
  123. package/dist/stages/proposal-queued.js.map +1 -1
  124. package/dist/stages/retryables.d.ts +4 -3
  125. package/dist/stages/retryables.d.ts.map +1 -1
  126. package/dist/stages/retryables.js +35 -57
  127. package/dist/stages/retryables.js.map +1 -1
  128. package/dist/stages/timelock.d.ts +4 -1
  129. package/dist/stages/timelock.d.ts.map +1 -1
  130. package/dist/stages/timelock.js +59 -67
  131. package/dist/stages/timelock.js.map +1 -1
  132. package/dist/stages/utils.d.ts +69 -5
  133. package/dist/stages/utils.d.ts.map +1 -1
  134. package/dist/stages/utils.js +152 -42
  135. package/dist/stages/utils.js.map +1 -1
  136. package/dist/tracker/bundled-cache.d.ts +127 -0
  137. package/dist/tracker/bundled-cache.d.ts.map +1 -0
  138. package/dist/tracker/bundled-cache.js +198 -0
  139. package/dist/tracker/bundled-cache.js.map +1 -0
  140. package/dist/tracker/checkpoint-helpers.d.ts +20 -1
  141. package/dist/tracker/checkpoint-helpers.d.ts.map +1 -1
  142. package/dist/tracker/checkpoint-helpers.js +41 -7
  143. package/dist/tracker/checkpoint-helpers.js.map +1 -1
  144. package/dist/tracker/discovery.d.ts.map +1 -1
  145. package/dist/tracker/discovery.js +60 -43
  146. package/dist/tracker/discovery.js.map +1 -1
  147. package/dist/tracker/pipeline.d.ts +25 -6
  148. package/dist/tracker/pipeline.d.ts.map +1 -1
  149. package/dist/tracker/pipeline.js +428 -211
  150. package/dist/tracker/pipeline.js.map +1 -1
  151. package/dist/tracker/query.d.ts +21 -0
  152. package/dist/tracker/query.d.ts.map +1 -1
  153. package/dist/tracker/query.js +86 -9
  154. package/dist/tracker/query.js.map +1 -1
  155. package/dist/tracker/stage-runner.d.ts +62 -0
  156. package/dist/tracker/stage-runner.d.ts.map +1 -0
  157. package/dist/tracker/stage-runner.js +80 -0
  158. package/dist/tracker/stage-runner.js.map +1 -0
  159. package/dist/tracker/state.d.ts +65 -0
  160. package/dist/tracker/state.d.ts.map +1 -1
  161. package/dist/tracker/state.js +194 -14
  162. package/dist/tracker/state.js.map +1 -1
  163. package/dist/tracker.d.ts +36 -8
  164. package/dist/tracker.d.ts.map +1 -1
  165. package/dist/tracker.js +264 -201
  166. package/dist/tracker.js.map +1 -1
  167. package/dist/types/config.d.ts +39 -3
  168. package/dist/types/config.d.ts.map +1 -1
  169. package/dist/types/core.d.ts +3 -2
  170. package/dist/types/core.d.ts.map +1 -1
  171. package/dist/types/core.js +3 -2
  172. package/dist/types/core.js.map +1 -1
  173. package/dist/types/index.d.ts +1 -1
  174. package/dist/types/index.d.ts.map +1 -1
  175. package/dist/types/index.js.map +1 -1
  176. package/dist/types/simulation.d.ts +2 -2
  177. package/dist/types/simulation.d.ts.map +1 -1
  178. package/dist/types/tracking.d.ts +11 -0
  179. package/dist/types/tracking.d.ts.map +1 -1
  180. package/dist/utils/log-filters.d.ts.map +1 -1
  181. package/dist/utils/log-filters.js +5 -9
  182. package/dist/utils/log-filters.js.map +1 -1
  183. package/dist/utils/multicall.d.ts +0 -1
  184. package/dist/utils/multicall.d.ts.map +1 -1
  185. package/dist/utils/rpc-utils.d.ts +11 -0
  186. package/dist/utils/rpc-utils.d.ts.map +1 -1
  187. package/dist/utils/rpc-utils.js +18 -1
  188. package/dist/utils/rpc-utils.js.map +1 -1
  189. package/dist/utils/stage-metadata.d.ts +19 -0
  190. package/dist/utils/stage-metadata.d.ts.map +1 -1
  191. package/dist/utils/stage-metadata.js +44 -0
  192. package/dist/utils/stage-metadata.js.map +1 -1
  193. package/dist/utils/timing.d.ts +11 -4
  194. package/dist/utils/timing.d.ts.map +1 -1
  195. package/dist/utils/timing.js +45 -15
  196. package/dist/utils/timing.js.map +1 -1
  197. package/package.json +7 -6
  198. package/dist/cli/tui/utils/calldata-formatter.d.ts +0 -7
  199. package/dist/cli/tui/utils/calldata-formatter.d.ts.map +0 -1
  200. package/dist/cli/tui/utils/calldata-formatter.js +0 -14
  201. package/dist/cli/tui/utils/calldata-formatter.js.map +0 -1
  202. package/dist/cli/tui/utils/stage-formatter.d.ts +0 -7
  203. package/dist/cli/tui/utils/stage-formatter.d.ts.map +0 -1
  204. package/dist/cli/tui/utils/stage-formatter.js +0 -14
  205. package/dist/cli/tui/utils/stage-formatter.js.map +0 -1
  206. package/dist/cli/tui/utils/text.d.ts +0 -7
  207. package/dist/cli/tui/utils/text.d.ts.map +0 -1
  208. package/dist/cli/tui/utils/text.js +0 -12
  209. package/dist/cli/tui/utils/text.js.map +0 -1
  210. package/dist/election/prepare.d.ts +0 -10
  211. package/dist/election/prepare.d.ts.map +0 -1
  212. package/dist/election/prepare.js +0 -52
  213. package/dist/election/prepare.js.map +0 -1
  214. package/dist/election/tracking.d.ts +0 -28
  215. package/dist/election/tracking.d.ts.map +0 -1
  216. package/dist/election/tracking.js +0 -412
  217. package/dist/election/tracking.js.map +0 -1
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ /**
3
+ * Bundled Cache Extraction Utilities
4
+ *
5
+ * Type-safe utilities for extracting data from the bundled cache JSON.
6
+ * These eliminate the need for consumers to parse checkpoint internals.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
11
+ * import { extractProposals, getWatermarksFromCache } from "@gzeoneth/gov-tracker";
12
+ *
13
+ * const proposals = extractProposals(bundledCache);
14
+ * const watermarks = getWatermarksFromCache(bundledCache);
15
+ * ```
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.extractProposals = extractProposals;
19
+ exports.extractTimelockOps = extractTimelockOps;
20
+ exports.extractElections = extractElections;
21
+ exports.getWatermarksFromCache = getWatermarksFromCache;
22
+ exports.extractOperationIds = extractOperationIds;
23
+ exports.extractTimelockLinkFromStages = extractTimelockLinkFromStages;
24
+ exports.getVotingDataFromStages = getVotingDataFromStages;
25
+ const utils_1 = require("../stages/utils");
26
+ const checkpoint_helpers_1 = require("./checkpoint-helpers");
27
+ /**
28
+ * Extract proposal metadata from bundled cache
29
+ *
30
+ * Filters to governor-type checkpoints (excludes elections, timelocks, discovery).
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
35
+ * const proposals = extractProposals(bundledCache);
36
+ *
37
+ * for (const p of proposals) {
38
+ * console.log(`Proposal ${p.proposalId}: ${p.isComplete ? "done" : "active"}`);
39
+ * }
40
+ * ```
41
+ */
42
+ function extractProposals(cache) {
43
+ const results = [];
44
+ for (const [key, checkpoint] of Object.entries(cache)) {
45
+ if (checkpoint.input.type !== "governor")
46
+ continue;
47
+ if ((0, checkpoint_helpers_1.isElectionKey)(key) || (0, checkpoint_helpers_1.isTimelockOpKey)(key) || (0, checkpoint_helpers_1.isDiscoveryKey)(key))
48
+ continue;
49
+ const input = checkpoint.input;
50
+ const stages = checkpoint.cachedData?.completedStages ?? [];
51
+ const queuedStage = (0, utils_1.findStage)(stages, "PROPOSAL_QUEUED");
52
+ const votingStage = (0, utils_1.findStage)(stages, "VOTING_ACTIVE");
53
+ const timelockLink = extractTimelockLinkFromStages(stages);
54
+ const votingData = votingStage?.data;
55
+ const currentState = votingData?.proposalState;
56
+ results.push({
57
+ cacheKey: key,
58
+ proposalId: input.proposalId,
59
+ governorAddress: input.governorAddress,
60
+ creationTxHash: input.creationTxHash,
61
+ stages,
62
+ isComplete: stages.length > 0 && stages.every((s) => isTerminal(s.status)),
63
+ timelockLink,
64
+ currentState,
65
+ operationId: queuedStage?.data?.operationId,
66
+ });
67
+ }
68
+ return results;
69
+ }
70
+ /**
71
+ * Extract timelock operation metadata from bundled cache
72
+ *
73
+ * Filters to timelock-type checkpoints only.
74
+ */
75
+ function extractTimelockOps(cache) {
76
+ const results = [];
77
+ for (const [key, checkpoint] of Object.entries(cache)) {
78
+ if (checkpoint.input.type !== "timelock")
79
+ continue;
80
+ const input = checkpoint.input;
81
+ const stages = checkpoint.cachedData?.completedStages ?? [];
82
+ results.push({
83
+ cacheKey: key,
84
+ timelockAddress: input.timelockAddress,
85
+ operationId: input.operationId,
86
+ scheduledTxHash: input.scheduledTxHash,
87
+ stages,
88
+ isComplete: stages.length > 0 && stages.every((s) => isTerminal(s.status)),
89
+ });
90
+ }
91
+ return results;
92
+ }
93
+ /**
94
+ * Extract election metadata from bundled cache
95
+ *
96
+ * Filters to election-type checkpoints only.
97
+ */
98
+ function extractElections(cache) {
99
+ const results = [];
100
+ for (const [key, checkpoint] of Object.entries(cache)) {
101
+ if (checkpoint.input.type !== "election")
102
+ continue;
103
+ const input = checkpoint.input;
104
+ const stages = checkpoint.cachedData?.completedStages ?? [];
105
+ const electionStatus = checkpoint.cachedData?.electionStatus;
106
+ results.push({
107
+ cacheKey: key,
108
+ electionIndex: input.electionIndex,
109
+ stages,
110
+ phase: electionStatus?.phase,
111
+ isComplete: electionStatus?.phase === "COMPLETED",
112
+ });
113
+ }
114
+ return results;
115
+ }
116
+ /**
117
+ * Get discovery watermarks from bundled cache
118
+ *
119
+ * Returns the watermarks stored in the discovery:watermarks checkpoint.
120
+ *
121
+ * @example
122
+ * ```typescript
123
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
124
+ * const watermarks = getWatermarksFromCache(bundledCache);
125
+ *
126
+ * if (watermarks) {
127
+ * console.log("Core Governor scanned to block:", watermarks.constitutionalGovernor);
128
+ * }
129
+ * ```
130
+ */
131
+ function getWatermarksFromCache(cache) {
132
+ const checkpoint = cache["discovery:watermarks"];
133
+ if (!checkpoint)
134
+ return null;
135
+ return checkpoint.cachedData?.discoveryWatermarks ?? null;
136
+ }
137
+ /**
138
+ * Extract all operation IDs from governor checkpoints
139
+ *
140
+ * Returns a Map of proposalId -> operationId for all proposals that have
141
+ * been queued in a timelock.
142
+ */
143
+ function extractOperationIds(cache) {
144
+ const result = new Map();
145
+ for (const [, checkpoint] of Object.entries(cache)) {
146
+ if (checkpoint.input.type !== "governor")
147
+ continue;
148
+ const input = checkpoint.input;
149
+ const stages = checkpoint.cachedData?.completedStages ?? [];
150
+ const queuedStage = (0, utils_1.findStage)(stages, "PROPOSAL_QUEUED");
151
+ const operationId = queuedStage?.data?.operationId;
152
+ if (operationId) {
153
+ result.set(input.proposalId, operationId);
154
+ }
155
+ }
156
+ return result;
157
+ }
158
+ /**
159
+ * Extract TimelockLink from stages array
160
+ *
161
+ * Helper to get timelock link data from completed PROPOSAL_QUEUED stage.
162
+ */
163
+ function extractTimelockLinkFromStages(stages) {
164
+ const queuedStage = (0, utils_1.findStage)(stages, "PROPOSAL_QUEUED");
165
+ if (queuedStage?.status !== "COMPLETED" || queuedStage.type !== "PROPOSAL_QUEUED") {
166
+ return undefined;
167
+ }
168
+ const tx = queuedStage.transactions[0];
169
+ const data = queuedStage.data;
170
+ const { operationId, timelockAddress } = data;
171
+ return tx?.hash && operationId && timelockAddress && tx.blockNumber
172
+ ? { txHash: tx.hash, operationId, timelockAddress, queueBlockNumber: tx.blockNumber }
173
+ : undefined;
174
+ }
175
+ /**
176
+ * Get voting data from stages array
177
+ *
178
+ * Extracts typed vote counts and proposal state from VOTING_ACTIVE stage.
179
+ *
180
+ * @example
181
+ * ```typescript
182
+ * const votingData = getVotingDataFromStages(result.stages);
183
+ * if (votingData) {
184
+ * console.log(`For: ${votingData.forVotesRaw}, Against: ${votingData.againstVotesRaw}`);
185
+ * }
186
+ * ```
187
+ */
188
+ function getVotingDataFromStages(stages) {
189
+ const votingStage = (0, utils_1.findStage)(stages, "VOTING_ACTIVE");
190
+ if (!votingStage || votingStage.type !== "VOTING_ACTIVE") {
191
+ return null;
192
+ }
193
+ return votingStage.data;
194
+ }
195
+ function isTerminal(status) {
196
+ return status === "COMPLETED" || status === "SKIPPED" || status === "FAILED";
197
+ }
198
+ //# sourceMappingURL=bundled-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundled-cache.js","sourceRoot":"","sources":["../../src/tracker/bundled-cache.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AA2EH,4CA+BC;AAOD,gDAoBC;AAOD,4CAoBC;AAiBD,wDAKC;AAQD,kDAiBC;AAOD,sEAaC;AAeD,0DAMC;AA1OD,2CAA4C;AAC5C,6DAAsF;AA6CtF;;;;;;;;;;;;;;GAcG;AACH,SAAgB,gBAAgB,CAAC,KAAmB;IAClD,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QACnD,IAAI,IAAA,kCAAa,EAAC,GAAG,CAAC,IAAI,IAAA,oCAAe,EAAC,GAAG,CAAC,IAAI,IAAA,mCAAc,EAAC,GAAG,CAAC;YAAE,SAAS;QAEhF,MAAM,KAAK,GAAG,UAAU,CAAC,KAA8B,CAAC;QACxD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,eAAe,IAAI,EAAE,CAAC;QAE5D,MAAM,WAAW,GAAG,IAAA,iBAAS,EAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,IAAA,iBAAS,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAEvD,MAAM,YAAY,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,WAAW,EAAE,IAAoC,CAAC;QACrE,MAAM,YAAY,GAAG,UAAU,EAAE,aAA0C,CAAC;QAE5E,OAAO,CAAC,IAAI,CAAC;YACX,QAAQ,EAAE,GAAG;YACb,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,MAAM;YACN,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1E,YAAY;YACZ,YAAY;YACZ,WAAW,EAAG,WAAW,EAAE,IAAuC,EAAE,WAAW;SAChF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,KAAmB;IACpD,MAAM,OAAO,GAA0B,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QAEnD,MAAM,KAAK,GAAG,UAAU,CAAC,KAA8B,CAAC;QACxD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,eAAe,IAAI,EAAE,CAAC;QAE5D,OAAO,CAAC,IAAI,CAAC;YACX,QAAQ,EAAE,GAAG;YACb,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,MAAM;YACN,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC3E,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,KAAmB;IAClD,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QAEnD,MAAM,KAAK,GAAG,UAAU,CAAC,KAA8B,CAAC;QACxD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,eAAe,IAAI,EAAE,CAAC;QAC5D,MAAM,cAAc,GAAG,UAAU,CAAC,UAAU,EAAE,cAAgD,CAAC;QAE/F,OAAO,CAAC,IAAI,CAAC;YACX,QAAQ,EAAE,GAAG;YACb,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,MAAM;YACN,KAAK,EAAE,cAAc,EAAE,KAAK;YAC5B,UAAU,EAAE,cAAc,EAAE,KAAK,KAAK,WAAW;SAClD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,sBAAsB,CAAC,KAAmB;IACxD,MAAM,UAAU,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,OAAO,UAAU,CAAC,UAAU,EAAE,mBAAmB,IAAI,IAAI,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,KAAmB;IACrD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzC,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QAEnD,MAAM,KAAK,GAAG,UAAU,CAAC,KAA8B,CAAC;QACxD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,eAAe,IAAI,EAAE,CAAC;QAC5D,MAAM,WAAW,GAAG,IAAA,iBAAS,EAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACzD,MAAM,WAAW,GAAI,WAAW,EAAE,IAAuC,EAAE,WAAW,CAAC;QAEvF,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAgB,6BAA6B,CAAC,MAAsB;IAClE,MAAM,WAAW,GAAG,IAAA,iBAAS,EAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACzD,IAAI,WAAW,EAAE,MAAM,KAAK,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAClF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,WAAW,CAAC,IAA0B,CAAC;IACpD,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAE9C,OAAO,EAAE,EAAE,IAAI,IAAI,WAAW,IAAI,eAAe,IAAI,EAAE,CAAC,WAAW;QACjE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,EAAE,CAAC,WAAW,EAAE;QACrF,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,uBAAuB,CAAC,MAAsB;IAC5D,MAAM,WAAW,GAAG,IAAA,iBAAS,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,WAAW,CAAC,IAAwB,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CAAC,MAA0B;IAC5C,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,CAAC;AAC/E,CAAC"}
@@ -19,7 +19,8 @@ export interface CheckpointMetadata {
19
19
  export declare function createCheckpointMetadata(errorCount?: number): CheckpointMetadata;
20
20
  /**
21
21
  * Increment error count for retry logic
22
- * Gas errors don't increment the count (transient)
22
+ * Gas estimation errors don't increment the count (transient)
23
+ * Uses centralized isGasEstimationError from rpc-utils for consistency
23
24
  */
24
25
  export declare function incrementErrorCount(currentCount: number, error: Error | string): number;
25
26
  /**
@@ -68,6 +69,24 @@ export declare function parseTimelockOpKey(key: string): {
68
69
  txHash: string;
69
70
  operationId: string;
70
71
  } | null;
72
+ /**
73
+ * Trim checkpoint stages from a specific index for re-tracking.
74
+ *
75
+ * Creates a new checkpoint with stages truncated at stageIndex, resetting
76
+ * the tracking position to allow re-processing from that point.
77
+ *
78
+ * @param checkpoint - The checkpoint to trim
79
+ * @param stageIndex - Index to trim from (0 = keep no stages, 1 = keep first stage, etc.)
80
+ * @returns New checkpoint with trimmed stages and updated metadata
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * // Re-track from PROPOSAL_QUEUED (index 2)
85
+ * const trimmed = trimFromStage(checkpoint, 2);
86
+ * const results = await tracker.trackByTxHash(txHash, { checkpoint: trimmed });
87
+ * ```
88
+ */
89
+ export declare function trimFromStage(checkpoint: TrackingCheckpoint, stageIndex: number): TrackingCheckpoint;
71
90
  /**
72
91
  * Compute aggregated stats from loaded checkpoints.
73
92
  *
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-helpers.d.ts","sourceRoot":"","sources":["../../src/tracker/checkpoint-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIjE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,SAAI,GAAG,kBAAkB,CAK3E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CASvF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,kBAAkB,EAC9B,SAAS,SAA0B,GAClC,OAAO,CAGT;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAc5E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,aAAa,QAAQ,CAAC;AACnC,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE5C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI3D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG9F;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC5C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC1C,aAAa,GAAE,MAAgC,GAC9C,YAAY,CAiEd"}
1
+ {"version":3,"file":"checkpoint-helpers.d.ts","sourceRoot":"","sources":["../../src/tracker/checkpoint-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKjE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,SAAI,GAAG,kBAAkB,CAK3E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAEvF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,kBAAkB,EAC9B,SAAS,SAA0B,GAClC,OAAO,CAGT;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAc5E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,aAAa,QAAQ,CAAC;AACnC,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE5C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI3D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG9F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,MAAM,GACjB,kBAAkB,CAmBpB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC5C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC1C,aAAa,GAAE,MAAgC,GAC9C,YAAY,CAiEd"}
@@ -21,9 +21,11 @@ exports.parseElectionKey = parseElectionKey;
21
21
  exports.timelockOpCacheKey = timelockOpCacheKey;
22
22
  exports.isTimelockOpKey = isTimelockOpKey;
23
23
  exports.parseTimelockOpKey = parseTimelockOpKey;
24
+ exports.trimFromStage = trimFromStage;
24
25
  exports.computeCacheStats = computeCacheStats;
25
26
  const utils_1 = require("../stages/utils");
26
27
  const constants_1 = require("../constants");
28
+ const rpc_utils_1 = require("../utils/rpc-utils");
27
29
  exports.DEFAULT_ERROR_THRESHOLD = 5;
28
30
  /**
29
31
  * Create standard checkpoint metadata
@@ -36,15 +38,11 @@ function createCheckpointMetadata(errorCount = 0) {
36
38
  }
37
39
  /**
38
40
  * Increment error count for retry logic
39
- * Gas errors don't increment the count (transient)
41
+ * Gas estimation errors don't increment the count (transient)
42
+ * Uses centralized isGasEstimationError from rpc-utils for consistency
40
43
  */
41
44
  function incrementErrorCount(currentCount, error) {
42
- const isGasError = error instanceof Error
43
- ? error.message.includes("insufficient funds") ||
44
- error.message.includes("gas required exceeds allowance")
45
- : typeof error === "string" &&
46
- (error.includes("insufficient funds") || error.includes("gas required exceeds allowance"));
47
- return isGasError ? currentCount : currentCount + 1;
45
+ return (0, rpc_utils_1.isGasEstimationError)(error) ? currentCount : currentCount + 1;
48
46
  }
49
47
  /**
50
48
  * Check if checkpoint has too many errors to continue tracking
@@ -127,6 +125,42 @@ function parseTimelockOpKey(key) {
127
125
  const match = key.match(/^tx:([^:]+):op:(.+)$/);
128
126
  return match ? { txHash: match[1], operationId: match[2] } : null;
129
127
  }
128
+ /**
129
+ * Trim checkpoint stages from a specific index for re-tracking.
130
+ *
131
+ * Creates a new checkpoint with stages truncated at stageIndex, resetting
132
+ * the tracking position to allow re-processing from that point.
133
+ *
134
+ * @param checkpoint - The checkpoint to trim
135
+ * @param stageIndex - Index to trim from (0 = keep no stages, 1 = keep first stage, etc.)
136
+ * @returns New checkpoint with trimmed stages and updated metadata
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * // Re-track from PROPOSAL_QUEUED (index 2)
141
+ * const trimmed = trimFromStage(checkpoint, 2);
142
+ * const results = await tracker.trackByTxHash(txHash, { checkpoint: trimmed });
143
+ * ```
144
+ */
145
+ function trimFromStage(checkpoint, stageIndex) {
146
+ const stages = checkpoint.cachedData?.completedStages ?? [];
147
+ const trimmedStages = stages.slice(0, stageIndex);
148
+ const lastStage = trimmedStages[trimmedStages.length - 1];
149
+ return {
150
+ ...checkpoint,
151
+ lastProcessedStage: lastStage?.type ?? null,
152
+ cachedData: {
153
+ ...checkpoint.cachedData,
154
+ completedStages: trimmedStages,
155
+ },
156
+ metadata: {
157
+ ...checkpoint.metadata,
158
+ errorCount: 0,
159
+ lastTrackedAt: Date.now(),
160
+ timelockOpKey: stageIndex <= 2 ? undefined : checkpoint.metadata?.timelockOpKey,
161
+ },
162
+ };
163
+ }
130
164
  /**
131
165
  * Compute aggregated stats from loaded checkpoints.
132
166
  *
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-helpers.js","sourceRoot":"","sources":["../../src/tracker/checkpoint-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint-helpers.js","sourceRoot":"","sources":["../../src/tracker/checkpoint-helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/tracker/discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAEL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACb,MAAM,UAAU,CAAC;AAElB,OAAO,EAEL,kBAAkB,EAGnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,cAAc,yBAAyB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,mBAAmB,CAAC;IAChC,MAAM,EAAE,eAAe,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAO/F;AAQD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,YAAY,EACjB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAClC,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsDtE;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,mBAAmB,EAC/B,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,YAAY,GAAG,SAAS,GAC9B,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAG/B;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAGjC;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,kBAAkB,EAAE,EAC/B,WAAW,EAAE,oBAAoB,EAAE,EACnC,KAAK,EAAE,YAAY,GAAG,SAAS,GAC9B,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,KAAK,EAAE,YAAY,GAAG,SAAS,EAC/B,cAAc,EAAE,mBAAmB,EACnC,UAAU,GAAE,eAAoB,EAChC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7D,OAAO,CAAC;IACT,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,UAAU,EAAE,mBAAmB,CAAC;IAChC,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC,CAgMD"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/tracker/discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAEL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACb,MAAM,UAAU,CAAC;AAElB,OAAO,EAEL,kBAAkB,EAGnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,cAAc,yBAAyB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,mBAAmB,CAAC;IAChC,MAAM,EAAE,eAAe,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAO/F;AAQD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,YAAY,EACjB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAClC,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2DtE;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,mBAAmB,EAC/B,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,YAAY,GAAG,SAAS,GAC9B,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAG/B;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAGjC;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,kBAAkB,EAAE,EAC/B,WAAW,EAAE,oBAAoB,EAAE,EACnC,KAAK,EAAE,YAAY,GAAG,SAAS,GAC9B,OAAO,CAAC,IAAI,CAAC,CAuDf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACrC,KAAK,EAAE,YAAY,GAAG,SAAS,EAC/B,cAAc,EAAE,mBAAmB,EACnC,UAAU,GAAE,eAAoB,EAChC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7D,OAAO,CAAC;IACT,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,UAAU,EAAE,mBAAmB,CAAC;IAChC,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC,CA0MD"}
@@ -67,11 +67,16 @@ async function verifyWatermark(key, blockNumber, expectedHash, provider) {
67
67
  logDiscovery("%s: no stored hash, establishing hash at block %d", key, blockNumber);
68
68
  return { blockNumber, isValid: true, newHash: block.hash };
69
69
  }
70
+ // Block not found - could indicate reorg or future block
71
+ logDiscovery("%s: block %d not found when establishing hash", key, blockNumber);
70
72
  }
71
- catch {
72
- // Block might not exist yet or provider error - continue without hash
73
+ catch (error) {
74
+ logDiscovery("%s: provider error establishing hash at block %d: %s", key, blockNumber, error);
75
+ // Provider error during hash establishment - return invalid to trigger retry on next cycle
76
+ return { blockNumber, isValid: false };
73
77
  }
74
- return { blockNumber, isValid: true };
78
+ // Block not found but no error - treat as invalid (may be future block or transient issue)
79
+ return { blockNumber, isValid: false };
75
80
  }
76
81
  // Verify stored hash against chain
77
82
  try {
@@ -177,38 +182,43 @@ async function createPendingCheckpoints(proposals, timelockOps, cache) {
177
182
  void timelockOps;
178
183
  if (!cache)
179
184
  return;
180
- let created = 0;
181
- let skippedElections = 0;
182
- // Create pending checkpoints for proposals (if not already tracked)
183
- // Use tx: key format to match trackByTxHash cache keys
184
- // Skip election proposals - they use election:* checkpoints
185
- for (const p of proposals) {
185
+ // Filter out election proposals first (they use election:* checkpoints)
186
+ const governorProposals = proposals.filter((p) => {
186
187
  const proposalType = (0, governor_discovery_1.detectProposalType)(p.governorAddress);
187
- if ((0, governor_discovery_1.isElectionProposal)(proposalType)) {
188
- skippedElections++;
189
- continue;
190
- }
191
- const key = `tx:${p.creationTxHash.toLowerCase()}`;
192
- const existing = await cache.get(key);
193
- if (existing)
188
+ return !(0, governor_discovery_1.isElectionProposal)(proposalType);
189
+ });
190
+ const skippedElections = proposals.length - governorProposals.length;
191
+ // Build cache keys and check existing checkpoints in parallel
192
+ const keys = governorProposals.map((p) => `tx:${p.creationTxHash.toLowerCase()}`);
193
+ const existingCheckpoints = await Promise.all(keys.map((key) => cache.get(key)));
194
+ // Create checkpoints only for proposals that don't exist yet
195
+ const now = Date.now();
196
+ const toCreate = [];
197
+ for (let i = 0; i < governorProposals.length; i++) {
198
+ if (existingCheckpoints[i])
194
199
  continue; // Already has a checkpoint
195
- const checkpoint = {
196
- version: 1,
197
- createdAt: Date.now(),
198
- input: {
199
- type: "governor",
200
- governorAddress: p.governorAddress,
201
- proposalId: p.proposalId,
202
- creationTxHash: p.creationTxHash,
200
+ const p = governorProposals[i];
201
+ toCreate.push({
202
+ key: keys[i],
203
+ checkpoint: {
204
+ version: 1,
205
+ createdAt: now,
206
+ input: {
207
+ type: "governor",
208
+ governorAddress: p.governorAddress,
209
+ proposalId: p.proposalId,
210
+ creationTxHash: p.creationTxHash,
211
+ },
212
+ lastProcessedStage: null,
213
+ lastProcessedBlock: { l1: 0, l2: p.creationBlock },
214
+ cachedData: {},
215
+ metadata: { errorCount: 0, lastTrackedAt: 0 },
203
216
  },
204
- lastProcessedStage: null,
205
- lastProcessedBlock: { l1: 0, l2: p.creationBlock },
206
- cachedData: {},
207
- metadata: { errorCount: 0, lastTrackedAt: 0 }, // lastTrackedAt=0 means never tracked
208
- };
209
- await cache.set(key, checkpoint);
210
- created++;
217
+ });
211
218
  }
219
+ // Write all new checkpoints in parallel
220
+ await Promise.all(toCreate.map(({ key, checkpoint }) => cache.set(key, checkpoint)));
221
+ const created = toCreate.length;
212
222
  if (created > 0 || skippedElections > 0) {
213
223
  logDiscovery("created pending checkpoints: %d proposals (skipped %d elections)", created, skippedElections);
214
224
  }
@@ -262,9 +272,21 @@ async function discoverAll(targets, toBlock, l2Provider, cache, fromWatermarks,
262
272
  }
263
273
  return { key, blockNumber: result.blockNumber };
264
274
  });
265
- const verificationResults = await Promise.all(verificationPromises);
266
- for (const { key, blockNumber } of verificationResults) {
267
- verifiedWatermarks[key] = blockNumber;
275
+ const verificationResults = await Promise.allSettled(verificationPromises);
276
+ for (const result of verificationResults) {
277
+ if (result.status === "fulfilled") {
278
+ const { key, blockNumber } = result.value;
279
+ verifiedWatermarks[key] = blockNumber;
280
+ }
281
+ else {
282
+ logDiscovery("Watermark verification failed, using fallback: %s", (0, rpc_utils_1.getErrorMessage)(result.reason));
283
+ }
284
+ }
285
+ // Ensure all active keys have a watermark (fallback for rejected verifications)
286
+ for (const key of activeKeys) {
287
+ if (verifiedWatermarks[key] === undefined) {
288
+ verifiedWatermarks[key] = defaultStartBlock;
289
+ }
268
290
  }
269
291
  }
270
292
  else {
@@ -334,16 +356,11 @@ async function discoverAll(targets, toBlock, l2Provider, cache, fromWatermarks,
334
356
  // Only need to fetch once since all keys use the same toBlock
335
357
  let toBlockHash;
336
358
  if (activeKeys.length > 0) {
337
- try {
338
- const block = await (0, rpc_utils_1.queryWithRetry)(() => l2Provider.getBlock(toBlock));
339
- if (block) {
340
- toBlockHash = block.hash;
341
- }
342
- }
343
- catch {
344
- // Failed to get block hash - continue without it
359
+ const block = await (0, rpc_utils_1.queryWithRetry)(() => l2Provider.getBlock(toBlock)).catch(() => {
345
360
  logDiscovery("failed to fetch toBlock hash for reorg detection");
346
- }
361
+ return null;
362
+ });
363
+ toBlockHash = block?.hash;
347
364
  }
348
365
  // Update hashes for all active keys with toBlock hash
349
366
  const newHashes = { ...updatedHashes };
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/tracker/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/tracker/discovery.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,37 @@
1
1
  /**
2
- * Pipeline Stage Functions
2
+ * Pipeline Stage Tracking
3
3
  *
4
- * Pure functions that track stages and return updated state.
5
- * Each function reads from state, performs tracking, and returns new state.
4
+ * Declarative pipelines for tracking governance proposals and elections.
5
+ * Each stage is a config object with type and track function.
6
+ * The stage runner handles caching automatically.
7
+ *
8
+ * Three tracking paths:
9
+ * - Governor: PROPOSAL_CREATED → VOTING_ACTIVE → PROPOSAL_QUEUED → timelock
10
+ * - Timelock: L2_TIMELOCK → L2_TO_L1_MESSAGE → L1_TIMELOCK → RETRYABLE_EXECUTED
11
+ * - Election: CREATE_ELECTION → NOMINEE_ELECTION → NOMINEE_VETTING → MEMBER_ELECTION → timelock
6
12
  */
7
13
  import { TrackingState } from "./state";
14
+ /** Guard for election stages - returns election index and nominee proposal ID if available */
15
+ export declare function getElectionContext(state: TrackingState): {
16
+ electionIndex: number;
17
+ nomineeProposalId: string;
18
+ } | null;
19
+ /** Map proposal state string to stage status */
20
+ export declare function proposalStateToStageStatus(proposalState: string): {
21
+ status: "PENDING" | "COMPLETED" | "FAILED";
22
+ complete: boolean;
23
+ };
8
24
  /**
9
- * Track full governor proposal pipeline.
10
- * Returns final state after tracking all stages.
25
+ * Track governor proposal pipeline (stages 1-7).
11
26
  */
12
27
  export declare function trackGovernorPipeline(state: TrackingState): Promise<TrackingState>;
13
28
  /**
14
29
  * Track timelock pipeline (stages 4-7).
15
- * Used by governor pipeline and direct timelock tracking.
30
+ * Used by governor pipeline, election pipeline, and direct timelock tracking.
16
31
  */
17
32
  export declare function trackTimelockPipeline(state: TrackingState): Promise<TrackingState>;
33
+ /**
34
+ * Track election pipeline (stages 1-8).
35
+ */
36
+ export declare function trackElectionPipeline(state: TrackingState): Promise<TrackingState>;
18
37
  //# sourceMappingURL=pipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/tracker/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,aAAa,EAiBd,MAAM,SAAS,CAAC;AAsXjB;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAwBxF;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CA8BxF"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/tracker/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EACL,aAAa,EAmBd,MAAM,SAAS,CAAC;AA8BjB,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,GACnB;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAM7D;AAED,gDAAgD;AAChD,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG;IACjE,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,QAAQ,EAAE,OAAO,CAAC;CACnB,CAQA;AAikBD;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAWxF;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAGxF;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAWxF"}