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

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 (204) hide show
  1. package/README.md +1 -5
  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 +9 -6
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +17 -10
  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 +67 -5
  133. package/dist/stages/utils.d.ts.map +1 -1
  134. package/dist/stages/utils.js +183 -42
  135. package/dist/stages/utils.js.map +1 -1
  136. package/dist/tracker/checkpoint-helpers.d.ts +2 -1
  137. package/dist/tracker/checkpoint-helpers.d.ts.map +1 -1
  138. package/dist/tracker/checkpoint-helpers.js +4 -7
  139. package/dist/tracker/checkpoint-helpers.js.map +1 -1
  140. package/dist/tracker/discovery.d.ts.map +1 -1
  141. package/dist/tracker/discovery.js +60 -43
  142. package/dist/tracker/discovery.js.map +1 -1
  143. package/dist/tracker/pipeline.d.ts +25 -6
  144. package/dist/tracker/pipeline.d.ts.map +1 -1
  145. package/dist/tracker/pipeline.js +428 -211
  146. package/dist/tracker/pipeline.js.map +1 -1
  147. package/dist/tracker/query.d.ts +21 -0
  148. package/dist/tracker/query.d.ts.map +1 -1
  149. package/dist/tracker/query.js +86 -9
  150. package/dist/tracker/query.js.map +1 -1
  151. package/dist/tracker/stage-runner.d.ts +62 -0
  152. package/dist/tracker/stage-runner.d.ts.map +1 -0
  153. package/dist/tracker/stage-runner.js +80 -0
  154. package/dist/tracker/stage-runner.js.map +1 -0
  155. package/dist/tracker/state.d.ts +65 -0
  156. package/dist/tracker/state.d.ts.map +1 -1
  157. package/dist/tracker/state.js +194 -14
  158. package/dist/tracker/state.js.map +1 -1
  159. package/dist/tracker.d.ts +36 -8
  160. package/dist/tracker.d.ts.map +1 -1
  161. package/dist/tracker.js +246 -193
  162. package/dist/tracker.js.map +1 -1
  163. package/dist/types/core.d.ts +3 -2
  164. package/dist/types/core.d.ts.map +1 -1
  165. package/dist/types/core.js +3 -2
  166. package/dist/types/core.js.map +1 -1
  167. package/dist/types/simulation.d.ts +2 -2
  168. package/dist/types/simulation.d.ts.map +1 -1
  169. package/dist/types/tracking.d.ts +11 -0
  170. package/dist/types/tracking.d.ts.map +1 -1
  171. package/dist/utils/log-filters.d.ts.map +1 -1
  172. package/dist/utils/log-filters.js +5 -9
  173. package/dist/utils/log-filters.js.map +1 -1
  174. package/dist/utils/multicall.d.ts +0 -1
  175. package/dist/utils/multicall.d.ts.map +1 -1
  176. package/dist/utils/rpc-utils.d.ts +11 -0
  177. package/dist/utils/rpc-utils.d.ts.map +1 -1
  178. package/dist/utils/rpc-utils.js +18 -1
  179. package/dist/utils/rpc-utils.js.map +1 -1
  180. package/dist/utils/timing.d.ts +11 -4
  181. package/dist/utils/timing.d.ts.map +1 -1
  182. package/dist/utils/timing.js +45 -15
  183. package/dist/utils/timing.js.map +1 -1
  184. package/package.json +7 -6
  185. package/dist/cli/tui/utils/calldata-formatter.d.ts +0 -7
  186. package/dist/cli/tui/utils/calldata-formatter.d.ts.map +0 -1
  187. package/dist/cli/tui/utils/calldata-formatter.js +0 -14
  188. package/dist/cli/tui/utils/calldata-formatter.js.map +0 -1
  189. package/dist/cli/tui/utils/stage-formatter.d.ts +0 -7
  190. package/dist/cli/tui/utils/stage-formatter.d.ts.map +0 -1
  191. package/dist/cli/tui/utils/stage-formatter.js +0 -14
  192. package/dist/cli/tui/utils/stage-formatter.js.map +0 -1
  193. package/dist/cli/tui/utils/text.d.ts +0 -7
  194. package/dist/cli/tui/utils/text.d.ts.map +0 -1
  195. package/dist/cli/tui/utils/text.js +0 -12
  196. package/dist/cli/tui/utils/text.js.map +0 -1
  197. package/dist/election/prepare.d.ts +0 -10
  198. package/dist/election/prepare.d.ts.map +0 -1
  199. package/dist/election/prepare.js +0 -52
  200. package/dist/election/prepare.js.map +0 -1
  201. package/dist/election/tracking.d.ts +0 -28
  202. package/dist/election/tracking.d.ts.map +0 -1
  203. package/dist/election/tracking.js +0 -412
  204. package/dist/election/tracking.js.map +0 -1
@@ -39,6 +39,7 @@ export declare function findL1OperationIdFromTx(outboxTxHash: string, outboxTxBl
39
39
  export declare function trackL2Timelock(timelockAddress: string, operationId: string, provider: ethers.providers.Provider, fromBlock: number, callScheduledData: CallScheduledData, options?: {
40
40
  cachedExecutionTxHash?: string;
41
41
  allStages?: TrackedStage[];
42
+ proposalType?: string;
42
43
  chunkSize?: number;
43
44
  }): Promise<TimelockStageResult>;
44
45
  /**
@@ -56,10 +57,12 @@ export declare function trackL1Timelock(l1Provider: ethers.providers.Provider, o
56
57
  }): Promise<L1TimelockResult>;
57
58
  /**
58
59
  * Calculate retryable execution value for L1 timelock operations.
60
+ * @param gasPrice - Optional pre-fetched gas price to avoid redundant RPC calls in batch
59
61
  */
60
- export declare function calculateRetryableExecutionValue(timelockAddress: string, target: string, data: string, provider: ethers.providers.Provider): Promise<BigNumber | null>;
62
+ export declare function calculateRetryableExecutionValue(timelockAddress: string, target: string, data: string, provider: ethers.providers.Provider, gasPrice?: BigNumber): Promise<BigNumber | null>;
61
63
  /**
62
64
  * Calculate batch retryable values for L1 timelock.
65
+ * Fetches gas price once and reuses for all retryable calculations.
63
66
  */
64
67
  export declare function calculateBatchRetryableValues(timelockAddress: string, targets: string[], values: BigNumber[], payloads: string[], provider: ethers.providers.Provider): Promise<BigNumber[]>;
65
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"timelock.d.ts","sourceRoot":"","sources":["../../src/stages/timelock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timelock.d.ts","sourceRoot":"","sources":["../../src/stages/timelock.ts"],"names":[],"mappings":"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"}
@@ -48,26 +48,15 @@ const L1_TIMELOCK_CONFIG = {
48
48
  // ============================================================================
49
49
  // Proposal types from governor contracts (not Security Council operations)
50
50
  const GOVERNOR_PROPOSAL_TYPES = new Set(["CONSTITUTIONAL", "NON_CONSTITUTIONAL"]);
51
- /**
52
- * Check if proposal is from a known governor (not a Security Council operation).
53
- * Governor proposals have proposalType of CONSTITUTIONAL or NON_CONSTITUTIONAL.
54
- */
55
- function isKnownGovernorProposal(allStages) {
56
- if (!allStages)
57
- return false;
58
- const proposalStage = allStages.find((s) => s.type === "PROPOSAL_CREATED");
59
- const proposalType = proposalStage?.data.proposalType;
60
- return proposalType ? GOVERNOR_PROPOSAL_TYPES.has(proposalType) : false;
61
- }
62
51
  /**
63
52
  * Get Security Council enrichment data if applicable.
64
53
  * Returns data to merge into stage, or null if not a SC operation.
65
54
  *
66
55
  * Skips the check for known governor proposals to avoid unnecessary RPC call.
67
56
  */
68
- async function getSecurityCouncilData(timelockState, operationId, provider, allStages) {
57
+ async function getSecurityCouncilData(timelockState, operationId, provider, proposalType) {
69
58
  // Skip for known governor proposals - they are never SC operations
70
- if (isKnownGovernorProposal(allStages)) {
59
+ if (proposalType && GOVERNOR_PROPOSAL_TYPES.has(proposalType)) {
71
60
  return null;
72
61
  }
73
62
  const queueTxHash = timelockState.scheduledData?.txHash;
@@ -92,24 +81,22 @@ async function getSecurityCouncilData(timelockState, operationId, provider, allS
92
81
  * Find L1 operation ID from a known OutBox execution transaction.
93
82
  */
94
83
  async function findL1OperationIdFromTx(outboxTxHash, outboxTxBlock, l1Provider) {
84
+ const result = {
85
+ l1OperationId: null,
86
+ l1ScheduleTxHash: outboxTxHash,
87
+ l1ScheduleBlock: outboxTxBlock,
88
+ };
95
89
  const receipt = await (0, rpc_utils_1.queryWithRetry)(() => l1Provider.getTransactionReceipt(outboxTxHash));
96
- if (!receipt) {
97
- return { l1OperationId: null, l1ScheduleTxHash: outboxTxHash, l1ScheduleBlock: outboxTxBlock };
98
- }
99
- for (const logEntry of receipt.logs) {
100
- if ((0, chain_1.addressEquals)(logEntry.address, constants_1.ADDRESSES.L1_TIMELOCK) &&
101
- logEntry.topics[0] === constants_1.EVENT_TOPICS.CALL_SCHEDULED) {
102
- const parsed = (0, timelock_discovery_1.parseCallScheduledEvent)(logEntry);
103
- if (parsed) {
104
- return {
105
- l1OperationId: parsed.operationId,
106
- l1ScheduleTxHash: outboxTxHash,
107
- l1ScheduleBlock: outboxTxBlock,
108
- };
109
- }
110
- }
111
- }
112
- return { l1OperationId: null, l1ScheduleTxHash: outboxTxHash, l1ScheduleBlock: outboxTxBlock };
90
+ if (!receipt)
91
+ return result;
92
+ const callScheduledLog = receipt.logs.find((log) => (0, chain_1.addressEquals)(log.address, constants_1.ADDRESSES.L1_TIMELOCK) &&
93
+ log.topics[0] === constants_1.EVENT_TOPICS.CALL_SCHEDULED);
94
+ if (callScheduledLog) {
95
+ const parsed = (0, timelock_discovery_1.parseCallScheduledEvent)(callScheduledLog);
96
+ if (parsed)
97
+ result.l1OperationId = parsed.operationId;
98
+ }
99
+ return result;
113
100
  }
114
101
  // ============================================================================
115
102
  // Generic Tracking Function
@@ -163,35 +150,30 @@ async function trackTimelock(config, timelockAddress, operationId, provider, fro
163
150
  // Check for Security Council enrichment (L2 only)
164
151
  // Skip for known governor proposals to avoid unnecessary RPC call
165
152
  if (options.checkSecurityCouncil) {
166
- const scData = await getSecurityCouncilData(timelockState, operationId, provider, options.allStages);
153
+ const scData = await getSecurityCouncilData(timelockState, operationId, provider, options.proposalType);
167
154
  if (scData) {
168
155
  builder.data(scData);
169
156
  }
170
157
  }
171
- // Compute and cache salt and predecessor
158
+ // Compute salt and predecessor, then validate operation type
159
+ let salt = ethers_1.ethers.constants.HashZero;
160
+ let predecessor = ethers_1.ethers.constants.HashZero;
172
161
  if (config.stageType === "L2_TIMELOCK") {
173
- // Get current stage data for salt computation
174
162
  const currentData = builder.build().data;
175
- const salt = await (0, salt_computation_1.computeL2TimelockSalt)(currentData, options.allStages, provider);
176
- builder.data({ salt });
177
- // Cache predecessor from CallScheduled event (usually HashZero for governor proposals)
178
- if (allData.length > 0 && allData[0].predecessor) {
179
- builder.data({ predecessor: allData[0].predecessor });
180
- }
163
+ salt = await (0, salt_computation_1.computeL2TimelockSalt)(currentData, options.allStages, provider);
164
+ predecessor = allData[0]?.predecessor ?? ethers_1.ethers.constants.HashZero;
165
+ builder.data({ salt, predecessor });
181
166
  log("%s: Computed salt: %s", config.logPrefix, salt.slice(0, 10) + "...");
182
167
  }
183
168
  else if (config.stageType === "L1_TIMELOCK") {
184
- const { salt, predecessor } = (0, salt_computation_1.computeL1TimelockSalt)(options.allStages);
185
- builder.data({ salt });
186
- if (predecessor) {
187
- builder.data({ predecessor });
188
- }
169
+ const computed = (0, salt_computation_1.computeL1TimelockSalt)(options.allStages);
170
+ salt = computed.salt;
171
+ predecessor = computed.predecessor ?? ethers_1.ethers.constants.HashZero;
172
+ builder.data({ salt, predecessor });
189
173
  log("%s: Computed salt: %s", config.logPrefix, salt.slice(0, 10) + "...");
190
174
  }
191
175
  // Determine if operation uses scheduleBatch or schedule by trying both validations
192
176
  if (allData.length > 0) {
193
- const salt = builder.build().data.salt ?? ethers_1.ethers.constants.HashZero;
194
- const predecessor = builder.build().data.predecessor ?? ethers_1.ethers.constants.HashZero;
195
177
  // Try batch validation first (common for L2 timelock)
196
178
  const targets = allData.map((d) => d.target);
197
179
  const values = allData.map((d) => d.value);
@@ -209,10 +191,11 @@ async function trackTimelock(config, timelockAddress, operationId, provider, fro
209
191
  }
210
192
  else {
211
193
  // Try single validation
194
+ const first = allData[0];
212
195
  const isSingle = (0, operation_id_1.validateSalt)(operationId, {
213
- target: allData[0].target,
214
- value: allData[0].value,
215
- data: allData[0].data,
196
+ target: first.target,
197
+ value: first.value,
198
+ data: first.data,
216
199
  predecessor,
217
200
  salt,
218
201
  });
@@ -230,20 +213,23 @@ async function trackTimelock(config, timelockAddress, operationId, provider, fro
230
213
  }
231
214
  // Add queue transaction if available (for all statuses where scheduled)
232
215
  let queueTimestamp;
233
- if (timelockState.scheduledData?.txHash &&
234
- timelockState.scheduledData.blockNumber !== undefined) {
235
- queueTimestamp = await (0, utils_1.getBlockTimestamp)(timelockState.scheduledData.blockNumber, provider);
236
- const chainId = (0, types_1.chainToChainId)(config.chain) ?? 0;
237
- builder.tx(timelockState.scheduledData.txHash, timelockState.scheduledData.blockNumber, config.chain, chainId, { timestamp: queueTimestamp, description: "queued" });
216
+ const scheduled = timelockState.scheduledData;
217
+ if (scheduled?.txHash && scheduled.blockNumber !== undefined) {
218
+ queueTimestamp = await (0, utils_1.getBlockTimestamp)(scheduled.blockNumber, provider);
219
+ const chainId = (0, types_1.chainToChainId)(config.chain);
220
+ builder.tx(scheduled.txHash, scheduled.blockNumber, config.chain, chainId, {
221
+ timestamp: queueTimestamp,
222
+ description: "queued",
223
+ });
238
224
  }
239
225
  // Determine status based on operation state
240
226
  // Priority: COMPLETED (isDone) > READY (isReady) > PENDING (isPending) > NOT_STARTED
241
227
  if (operationState.isDone) {
242
- let executionSearchStart = timelockState?.scheduledData?.blockNumber ?? fromBlock;
243
- if (timelockState?.scheduledData) {
244
- const delaySeconds = timelockState.scheduledData.delay.toNumber();
228
+ let executionSearchStart = scheduled?.blockNumber ?? fromBlock;
229
+ if (scheduled) {
230
+ const delaySeconds = scheduled.delay.toNumber();
245
231
  if (delaySeconds > 0) {
246
- executionSearchStart = await (0, timing_1.blockAfterDelay)(provider, timelockState.scheduledData.blockNumber, delaySeconds, config.blockTimeSeconds);
232
+ executionSearchStart = await (0, timing_1.blockAfterDelay)(provider, scheduled.blockNumber, delaySeconds, config.blockTimeSeconds);
247
233
  log("%s execution search optimized: start=%d", config.logPrefix, executionSearchStart);
248
234
  }
249
235
  }
@@ -252,7 +238,7 @@ async function trackTimelock(config, timelockAddress, operationId, provider, fro
252
238
  const receipt = await (0, rpc_utils_1.queryWithRetry)(() => provider.getTransactionReceipt(cachedTxHash));
253
239
  if (receipt) {
254
240
  const execTimestamp = await (0, utils_1.getBlockTimestamp)(receipt.blockNumber, provider);
255
- const chainId = (0, types_1.chainToChainId)(config.chain) ?? 0;
241
+ const chainId = (0, types_1.chainToChainId)(config.chain);
256
242
  builder
257
243
  .status("COMPLETED")
258
244
  .tx(options.cachedExecutionTxHash, receipt.blockNumber, config.chain, chainId, {
@@ -335,6 +321,7 @@ async function trackL2Timelock(timelockAddress, operationId, provider, fromBlock
335
321
  cachedExecutionTxHash: options.cachedExecutionTxHash,
336
322
  checkSecurityCouncil: true,
337
323
  allStages: options.allStages,
324
+ proposalType: options.proposalType,
338
325
  chunkSize: options.chunkSize,
339
326
  });
340
327
  }
@@ -382,10 +369,11 @@ async function trackL1Timelock(l1Provider, options = {}) {
382
369
  // ============================================================================
383
370
  /**
384
371
  * Calculate retryable execution value for L1 timelock operations.
372
+ * @param gasPrice - Optional pre-fetched gas price to avoid redundant RPC calls in batch
385
373
  */
386
- async function calculateRetryableExecutionValue(timelockAddress, target, data, provider) {
374
+ async function calculateRetryableExecutionValue(timelockAddress, target, data, provider, gasPrice) {
387
375
  void timelockAddress;
388
- if (target.toLowerCase() !== constants_1.ADDRESSES.RETRYABLE_TICKET_MAGIC.toLowerCase()) {
376
+ if (!(0, chain_1.addressEquals)(target, constants_1.ADDRESSES.RETRYABLE_TICKET_MAGIC)) {
389
377
  return null;
390
378
  }
391
379
  let decoded;
@@ -401,16 +389,19 @@ async function calculateRetryableExecutionValue(timelockAddress, target, data, p
401
389
  const innerMaxFeePerGas = decoded[4];
402
390
  const innerData = decoded[5];
403
391
  const inbox = new ethers_1.ethers.Contract(inboxAddress, abis_1.INBOX_ABI, provider);
404
- const gasPrice = await (0, rpc_utils_1.queryWithRetry)(() => provider.getGasPrice());
392
+ const resolvedGasPrice = gasPrice ?? (await (0, rpc_utils_1.queryWithRetry)(() => provider.getGasPrice()));
405
393
  const dataLength = ethers_1.ethers.utils.hexDataLength(innerData);
406
- const submissionFee = await (0, rpc_utils_1.queryWithRetry)(() => inbox.callStatic.calculateRetryableSubmissionFee(dataLength, gasPrice));
394
+ const submissionFee = await (0, rpc_utils_1.queryWithRetry)(() => inbox.callStatic.calculateRetryableSubmissionFee(dataLength, resolvedGasPrice));
407
395
  return submissionFee.mul(2).add(innerGasLimit.mul(innerMaxFeePerGas)).add(innerValue);
408
396
  }
409
397
  /**
410
398
  * Calculate batch retryable values for L1 timelock.
399
+ * Fetches gas price once and reuses for all retryable calculations.
411
400
  */
412
401
  async function calculateBatchRetryableValues(timelockAddress, targets, values, payloads, provider) {
413
- const results = await Promise.all(targets.map((target, i) => calculateRetryableExecutionValue(timelockAddress, target, payloads[i], provider)));
402
+ // Fetch gas price once for the entire batch
403
+ const gasPrice = await (0, rpc_utils_1.queryWithRetry)(() => provider.getGasPrice());
404
+ const results = await Promise.all(targets.map((target, i) => calculateRetryableExecutionValue(timelockAddress, target, payloads[i], provider, gasPrice)));
414
405
  return results.map((retryableValue, i) => retryableValue ?? values[i]);
415
406
  }
416
407
  /**
@@ -465,7 +456,7 @@ async function prepareTimelockOperation(timelockAddress, params, operationId, st
465
456
  predecessor,
466
457
  salt,
467
458
  ]);
468
- const chainId = (0, types_1.chainToChainId)(chain) ?? 0;
459
+ const chainId = (0, types_1.chainToChainId)(chain);
469
460
  return {
470
461
  success: true,
471
462
  prepared: {
@@ -527,7 +518,7 @@ async function prepareTimelockBatch(timelockAddress, params, operationId, stageD
527
518
  predecessor,
528
519
  salt,
529
520
  ]);
530
- const chainId = (0, types_1.chainToChainId)(chain) ?? 0;
521
+ const chainId = (0, types_1.chainToChainId)(chain);
531
522
  return {
532
523
  success: true,
533
524
  prepared: {
@@ -569,7 +560,8 @@ async function prepareTimelockStage(stage, provider, options = {}) {
569
560
  }
570
561
  // Get full stage data for salt/predecessor (cast - we verified it's a timelock stage)
571
562
  const timelockStageData = stage.data;
572
- const sortedData = [...callScheduledData].sort((a, b) => a.index.toNumber() - b.index.toNumber());
563
+ // Sort by index (use BigNumber methods to avoid overflow)
564
+ const sortedData = [...callScheduledData].sort((a, b) => a.index.lt(b.index) ? -1 : a.index.gt(b.index) ? 1 : 0);
573
565
  const targets = sortedData.map((d) => d.target);
574
566
  const values = sortedData.map((d) => d.value.toString());
575
567
  const payloads = sortedData.map((d) => d.data);
@@ -1 +1 @@
1
- {"version":3,"file":"timelock.js","sourceRoot":"","sources":["../../src/stages/timelock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timelock.js","sourceRoot":"","sources":["../../src/stages/timelock.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Previously split between stages/base.ts and utils/stage-helpers.ts.
6
6
  */
7
7
  import { ethers } from "ethers";
8
- import { CallScheduledData, Chain, OperationState, PrepareResult, SerializedCallScheduledData, StageType, TimelockState, TrackedStage } from "../types";
8
+ import { CallScheduledData, Chain, OperationState, PrepareResult, SerializedCallScheduledData, StageStatus, StageType, TimelockState, TrackedStage } from "../types";
9
9
  /** Generic serializer: converts BigNumber fields to strings for JSON storage. */
10
10
  export declare function serialize<T>(data: T, bigNumFields: readonly string[]): T;
11
11
  /** Generic deserializer: converts string fields back to BigNumber. */
@@ -17,15 +17,41 @@ export declare const deserializeCallScheduledData: (data: SerializedCallSchedule
17
17
  /** Serialize/deserialize arrays. */
18
18
  export declare const serializeCallScheduledDataArray: (data: CallScheduledData[]) => SerializedCallScheduledData[];
19
19
  export declare const deserializeCallScheduledDataArray: (data: SerializedCallScheduledData[]) => CallScheduledData[];
20
+ /**
21
+ * Tracking path types for stage initialization
22
+ */
23
+ export type TrackingPath = "governor" | "timelock" | "election";
20
24
  /**
21
25
  * Get stage types for a tracking path.
22
- * @param includeProposalStages - Include proposal stages (default: true)
26
+ * @param path - The tracking path type: "governor", "timelock", or "election"
23
27
  */
24
- export declare function getStagesForPath(includeProposalStages?: boolean): StageType[];
28
+ export declare function getStagesForTrackingPath(path: TrackingPath): StageType[];
29
+ /** Get chain for a stage type (L1 stages run on ethereum, others on arb1) */
30
+ export declare const getChainForStage: (type: StageType) => Chain;
31
+ export declare function initializeStagesForTrackingPath(path: TrackingPath): TrackedStage[];
25
32
  /**
26
- * Initialize all stages for a path
33
+ * Check if a stage type is part of the timelock path (for modular caching).
34
+ * Includes all stages after proposal/election execution: L2_TIMELOCK → RETRYABLE_EXECUTED
27
35
  */
28
- export declare function initializeStagesForPath(includeProposalStages?: boolean): TrackedStage[];
36
+ export declare function isTimelockPathStage(type: StageType): boolean;
37
+ /**
38
+ * Split stages into parent and timelock stages for modular caching.
39
+ *
40
+ * Parent stages:
41
+ * - Governor: PROPOSAL_CREATED, VOTING_ACTIVE, PROPOSAL_QUEUED
42
+ * - Election: CREATE_ELECTION, NOMINEE_ELECTION, NOMINEE_VETTING, MEMBER_ELECTION
43
+ *
44
+ * Timelock stages: L2_TIMELOCK, L2_TO_L1_MESSAGE, L1_TIMELOCK, RETRYABLE_EXECUTED
45
+ */
46
+ export declare function splitStages(stages: TrackedStage[]): {
47
+ parentStages: TrackedStage[];
48
+ timelockStages: TrackedStage[];
49
+ };
50
+ /**
51
+ * Check if stages have any timelock progress (for determining if we need linked checkpoint).
52
+ * Returns true if any timelock path stage has been started.
53
+ */
54
+ export declare function hasTimelockProgress(stages: TrackedStage[]): boolean;
29
55
  /**
30
56
  * Find a stage by type in a list of stages
31
57
  */
@@ -34,6 +60,14 @@ export declare function findStage(stages: TrackedStage[], type: StageType): Trac
34
60
  * Update a stage in a list of stages
35
61
  */
36
62
  export declare function updateStageInList(stages: TrackedStage[], updatedStage: TrackedStage): TrackedStage[];
63
+ /**
64
+ * Check if status is terminal (COMPLETED, SKIPPED, or FAILED)
65
+ */
66
+ export declare function isStageTerminal(status: StageStatus | undefined): boolean;
67
+ /**
68
+ * Check if status represents successful completion (COMPLETED or SKIPPED)
69
+ */
70
+ export declare function isStageSuccess(status: StageStatus | undefined): boolean;
37
71
  /**
38
72
  * Get the current active stage (first non-completed stage)
39
73
  */
@@ -71,6 +105,34 @@ export declare function getTrackingStatusSummary(stages: TrackedStage[]): {
71
105
  failed: number;
72
106
  skipped: number;
73
107
  };
108
+ /**
109
+ * Lifecycle phase representing the current state of a proposal or timelock operation.
110
+ *
111
+ * Phases progress through the governance lifecycle:
112
+ * - Governor proposals: proposal_created → voting → queued → l2_timelock_pending → ...
113
+ * - Timelock operations: l2_timelock_pending → l2_timelock_executed → ...
114
+ * - Constitutional (L1 round-trip): ... → l2_to_l1_pending → l1_timelock_pending → retryables_pending → completed
115
+ * - Non-Constitutional (L2 only): ... → l2_timelock_executed → completed
116
+ */
117
+ export type LifecyclePhase = "proposal_created" | "voting" | "queued" | "l2_timelock_pending" | "l2_timelock_executed" | "l2_to_l1_pending" | "l1_timelock_pending" | "l1_timelock_executed" | "retryables_pending" | "completed" | "failed" | "unknown";
118
+ /**
119
+ * Get the current lifecycle phase from tracked stages.
120
+ *
121
+ * Returns a human-readable phase that represents where a proposal or timelock
122
+ * operation is in its lifecycle. Useful for UI display and status filtering.
123
+ *
124
+ * @param stages - Array of tracked stages
125
+ * @returns The current lifecycle phase
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * const phase = getLifecyclePhase(result.stages);
130
+ * if (phase === "l1_timelock_pending") {
131
+ * console.log("Waiting for L1 timelock delay...");
132
+ * }
133
+ * ```
134
+ */
135
+ export declare function getLifecyclePhase(stages: TrackedStage[]): LifecyclePhase;
74
136
  /**
75
137
  * Extract the operationId from tracked stages.
76
138
  *
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/stages/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/stages/utils.ts"],"names":[],"mappings":"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"}