@gzeoneth/gov-tracker 0.4.0-beta.757932 → 0.4.0-beta.8ed5f35

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 (210) hide show
  1. package/README.md +18 -10
  2. package/dist/calldata/decoder.d.ts.map +1 -1
  3. package/dist/calldata/decoder.js +33 -28
  4. package/dist/calldata/decoder.js.map +1 -1
  5. package/dist/calldata/parameter-decoder.d.ts.map +1 -1
  6. package/dist/calldata/parameter-decoder.js +19 -25
  7. package/dist/calldata/parameter-decoder.js.map +1 -1
  8. package/dist/calldata/retryable-ticket.d.ts +2 -2
  9. package/dist/calldata/retryable-ticket.d.ts.map +1 -1
  10. package/dist/calldata/retryable-ticket.js +17 -12
  11. package/dist/calldata/retryable-ticket.js.map +1 -1
  12. package/dist/calldata/signature-lookup.js +5 -4
  13. package/dist/calldata/signature-lookup.js.map +1 -1
  14. package/dist/cli/cli.js +41 -20
  15. package/dist/cli/cli.js.map +1 -1
  16. package/dist/cli/lib/cli.d.ts +4 -2
  17. package/dist/cli/lib/cli.d.ts.map +1 -1
  18. package/dist/cli/lib/cli.js +34 -18
  19. package/dist/cli/lib/cli.js.map +1 -1
  20. package/dist/cli/lib/election-check.d.ts.map +1 -1
  21. package/dist/cli/lib/election-check.js +2 -1
  22. package/dist/cli/lib/election-check.js.map +1 -1
  23. package/dist/cli/lib/json-state.js +1 -1
  24. package/dist/cli/lib/json-state.js.map +1 -1
  25. package/dist/cli/tui/components/StageProgress.js +1 -1
  26. package/dist/cli/tui/components/StageProgress.js.map +1 -1
  27. package/dist/cli/tui/components/StageRow.d.ts.map +1 -1
  28. package/dist/cli/tui/components/StageRow.js +15 -20
  29. package/dist/cli/tui/components/StageRow.js.map +1 -1
  30. package/dist/cli/tui/components/VotingStats.d.ts.map +1 -1
  31. package/dist/cli/tui/components/VotingStats.js +2 -1
  32. package/dist/cli/tui/components/VotingStats.js.map +1 -1
  33. package/dist/cli/tui/hooks/useCache.d.ts.map +1 -1
  34. package/dist/cli/tui/hooks/useCache.js +2 -1
  35. package/dist/cli/tui/hooks/useCache.js.map +1 -1
  36. package/dist/cli/tui/hooks/useElectionData.d.ts.map +1 -1
  37. package/dist/cli/tui/hooks/useElectionData.js +3 -2
  38. package/dist/cli/tui/hooks/useElectionData.js.map +1 -1
  39. package/dist/cli/tui/hooks/useNavigation.d.ts.map +1 -1
  40. package/dist/cli/tui/hooks/useNavigation.js +2 -3
  41. package/dist/cli/tui/hooks/useNavigation.js.map +1 -1
  42. package/dist/cli/tui/hooks/useProposals.d.ts.map +1 -1
  43. package/dist/cli/tui/hooks/useProposals.js +26 -36
  44. package/dist/cli/tui/hooks/useProposals.js.map +1 -1
  45. package/dist/cli/tui/hooks/useStageCalldata.d.ts.map +1 -1
  46. package/dist/cli/tui/hooks/useStageCalldata.js +2 -1
  47. package/dist/cli/tui/hooks/useStageCalldata.js.map +1 -1
  48. package/dist/cli/tui/utils/index.d.ts +7 -7
  49. package/dist/cli/tui/utils/index.d.ts.map +1 -1
  50. package/dist/cli/tui/utils/index.js +18 -13
  51. package/dist/cli/tui/utils/index.js.map +1 -1
  52. package/dist/cli/tui/utils/markdown-parser.d.ts +5 -0
  53. package/dist/cli/tui/utils/markdown-parser.d.ts.map +1 -1
  54. package/dist/cli/tui/utils/markdown-parser.js +16 -0
  55. package/dist/cli/tui/utils/markdown-parser.js.map +1 -1
  56. package/dist/cli/tui/utils/navigation.d.ts +1 -0
  57. package/dist/cli/tui/utils/navigation.d.ts.map +1 -1
  58. package/dist/cli/tui/utils/navigation.js +9 -5
  59. package/dist/cli/tui/utils/navigation.js.map +1 -1
  60. package/dist/cli/tui/utils/proposal-detail-helpers.js +6 -6
  61. package/dist/cli/tui/utils/proposal-detail-helpers.js.map +1 -1
  62. package/dist/cli/tui/utils/stage-status.d.ts +4 -0
  63. package/dist/cli/tui/utils/stage-status.d.ts.map +1 -1
  64. package/dist/cli/tui/utils/stage-status.js +47 -1
  65. package/dist/cli/tui/utils/stage-status.js.map +1 -1
  66. package/dist/cli/tui/utils/time.d.ts +4 -4
  67. package/dist/cli/tui/utils/time.d.ts.map +1 -1
  68. package/dist/cli/tui/utils/time.js +13 -11
  69. package/dist/cli/tui/utils/time.js.map +1 -1
  70. package/dist/cli/tui/views/CalldataView.d.ts.map +1 -1
  71. package/dist/cli/tui/views/CalldataView.js +3 -2
  72. package/dist/cli/tui/views/CalldataView.js.map +1 -1
  73. package/dist/cli/tui/views/DescriptionView.d.ts.map +1 -1
  74. package/dist/cli/tui/views/DescriptionView.js +4 -2
  75. package/dist/cli/tui/views/DescriptionView.js.map +1 -1
  76. package/dist/cli/tui/views/ElectionView.d.ts.map +1 -1
  77. package/dist/cli/tui/views/ElectionView.js +4 -9
  78. package/dist/cli/tui/views/ElectionView.js.map +1 -1
  79. package/dist/constants.d.ts +11 -23
  80. package/dist/constants.d.ts.map +1 -1
  81. package/dist/constants.js +22 -20
  82. package/dist/constants.js.map +1 -1
  83. package/dist/deduplication.d.ts.map +1 -1
  84. package/dist/deduplication.js +34 -54
  85. package/dist/deduplication.js.map +1 -1
  86. package/dist/discovery/governor-discovery.d.ts.map +1 -1
  87. package/dist/discovery/governor-discovery.js +7 -10
  88. package/dist/discovery/governor-discovery.js.map +1 -1
  89. package/dist/discovery/timelock-discovery.d.ts.map +1 -1
  90. package/dist/discovery/timelock-discovery.js +27 -30
  91. package/dist/discovery/timelock-discovery.js.map +1 -1
  92. package/dist/election/contracts.d.ts.map +1 -1
  93. package/dist/election/contracts.js +4 -1
  94. package/dist/election/contracts.js.map +1 -1
  95. package/dist/election/details.d.ts.map +1 -1
  96. package/dist/election/details.js +7 -3
  97. package/dist/election/details.js.map +1 -1
  98. package/dist/election/params.d.ts.map +1 -1
  99. package/dist/election/params.js +3 -12
  100. package/dist/election/params.js.map +1 -1
  101. package/dist/election/participants.d.ts.map +1 -1
  102. package/dist/election/participants.js +21 -26
  103. package/dist/election/participants.js.map +1 -1
  104. package/dist/election/proposal-ids.js +17 -20
  105. package/dist/election/proposal-ids.js.map +1 -1
  106. package/dist/election/status.d.ts.map +1 -1
  107. package/dist/election/status.js +6 -0
  108. package/dist/election/status.js.map +1 -1
  109. package/dist/index.d.ts +23 -13
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +37 -13
  112. package/dist/index.js.map +1 -1
  113. package/dist/simulation/index.d.ts +4 -1
  114. package/dist/simulation/index.d.ts.map +1 -1
  115. package/dist/simulation/index.js +5 -1
  116. package/dist/simulation/index.js.map +1 -1
  117. package/dist/simulation/simulation-data.d.ts +33 -2
  118. package/dist/simulation/simulation-data.d.ts.map +1 -1
  119. package/dist/simulation/simulation-data.js +68 -24
  120. package/dist/simulation/simulation-data.js.map +1 -1
  121. package/dist/simulation/tenderly-payloads.d.ts +107 -0
  122. package/dist/simulation/tenderly-payloads.d.ts.map +1 -0
  123. package/dist/simulation/tenderly-payloads.js +103 -0
  124. package/dist/simulation/tenderly-payloads.js.map +1 -0
  125. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  126. package/dist/stages/l2-to-l1-message.js +43 -63
  127. package/dist/stages/l2-to-l1-message.js.map +1 -1
  128. package/dist/stages/retryables.d.ts.map +1 -1
  129. package/dist/stages/retryables.js +10 -9
  130. package/dist/stages/retryables.js.map +1 -1
  131. package/dist/stages/timelock.d.ts +4 -2
  132. package/dist/stages/timelock.d.ts.map +1 -1
  133. package/dist/stages/timelock.js +45 -53
  134. package/dist/stages/timelock.js.map +1 -1
  135. package/dist/stages/utils.d.ts +56 -1
  136. package/dist/stages/utils.d.ts.map +1 -1
  137. package/dist/stages/utils.js +146 -30
  138. package/dist/stages/utils.js.map +1 -1
  139. package/dist/tracker/bundled-cache.d.ts +136 -0
  140. package/dist/tracker/bundled-cache.d.ts.map +1 -0
  141. package/dist/tracker/bundled-cache.js +207 -0
  142. package/dist/tracker/bundled-cache.js.map +1 -0
  143. package/dist/tracker/checkpoint-helpers.d.ts +20 -1
  144. package/dist/tracker/checkpoint-helpers.d.ts.map +1 -1
  145. package/dist/tracker/checkpoint-helpers.js +41 -7
  146. package/dist/tracker/checkpoint-helpers.js.map +1 -1
  147. package/dist/tracker/discovery.d.ts +3 -0
  148. package/dist/tracker/discovery.d.ts.map +1 -1
  149. package/dist/tracker/discovery.js +59 -34
  150. package/dist/tracker/discovery.js.map +1 -1
  151. package/dist/tracker/pipeline.d.ts +3 -10
  152. package/dist/tracker/pipeline.d.ts.map +1 -1
  153. package/dist/tracker/pipeline.js +18 -32
  154. package/dist/tracker/pipeline.js.map +1 -1
  155. package/dist/tracker/query.d.ts +1 -0
  156. package/dist/tracker/query.d.ts.map +1 -1
  157. package/dist/tracker/query.js +28 -36
  158. package/dist/tracker/query.js.map +1 -1
  159. package/dist/tracker/state.d.ts +3 -2
  160. package/dist/tracker/state.d.ts.map +1 -1
  161. package/dist/tracker/state.js +5 -4
  162. package/dist/tracker/state.js.map +1 -1
  163. package/dist/tracker.d.ts +33 -11
  164. package/dist/tracker.d.ts.map +1 -1
  165. package/dist/tracker.js +76 -43
  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/index.d.ts +1 -1
  170. package/dist/types/index.d.ts.map +1 -1
  171. package/dist/types/index.js.map +1 -1
  172. package/dist/types/simulation.d.ts +2 -2
  173. package/dist/types/simulation.d.ts.map +1 -1
  174. package/dist/utils/chain.d.ts +5 -1
  175. package/dist/utils/chain.d.ts.map +1 -1
  176. package/dist/utils/chain.js +7 -0
  177. package/dist/utils/chain.js.map +1 -1
  178. package/dist/utils/formatters.d.ts +2 -6
  179. package/dist/utils/formatters.d.ts.map +1 -1
  180. package/dist/utils/formatters.js +9 -12
  181. package/dist/utils/formatters.js.map +1 -1
  182. package/dist/utils/log-filters.js +1 -1
  183. package/dist/utils/log-filters.js.map +1 -1
  184. package/dist/utils/multicall.d.ts +0 -1
  185. package/dist/utils/multicall.d.ts.map +1 -1
  186. package/dist/utils/rpc-utils.d.ts +5 -0
  187. package/dist/utils/rpc-utils.d.ts.map +1 -1
  188. package/dist/utils/rpc-utils.js +9 -1
  189. package/dist/utils/rpc-utils.js.map +1 -1
  190. package/dist/utils/stage-metadata.d.ts +19 -0
  191. package/dist/utils/stage-metadata.d.ts.map +1 -1
  192. package/dist/utils/stage-metadata.js +44 -0
  193. package/dist/utils/stage-metadata.js.map +1 -1
  194. package/dist/utils/timing.d.ts +3 -10
  195. package/dist/utils/timing.d.ts.map +1 -1
  196. package/dist/utils/timing.js +9 -22
  197. package/dist/utils/timing.js.map +1 -1
  198. package/package.json +1 -1
  199. package/dist/cli/tui/utils/calldata-formatter.d.ts +0 -7
  200. package/dist/cli/tui/utils/calldata-formatter.d.ts.map +0 -1
  201. package/dist/cli/tui/utils/calldata-formatter.js +0 -14
  202. package/dist/cli/tui/utils/calldata-formatter.js.map +0 -1
  203. package/dist/cli/tui/utils/stage-formatter.d.ts +0 -7
  204. package/dist/cli/tui/utils/stage-formatter.d.ts.map +0 -1
  205. package/dist/cli/tui/utils/stage-formatter.js +0 -13
  206. package/dist/cli/tui/utils/stage-formatter.js.map +0 -1
  207. package/dist/cli/tui/utils/text.d.ts +0 -7
  208. package/dist/cli/tui/utils/text.d.ts.map +0 -1
  209. package/dist/cli/tui/utils/text.js +0 -12
  210. package/dist/cli/tui/utils/text.js.map +0 -1
@@ -191,10 +191,11 @@ async function trackTimelock(config, timelockAddress, operationId, provider, fro
191
191
  }
192
192
  else {
193
193
  // Try single validation
194
+ const first = allData[0];
194
195
  const isSingle = (0, operation_id_1.validateSalt)(operationId, {
195
- target: allData[0].target,
196
- value: allData[0].value,
197
- data: allData[0].data,
196
+ target: first.target,
197
+ value: first.value,
198
+ data: first.data,
198
199
  predecessor,
199
200
  salt,
200
201
  });
@@ -368,10 +369,10 @@ async function trackL1Timelock(l1Provider, options = {}) {
368
369
  // ============================================================================
369
370
  /**
370
371
  * Calculate retryable execution value for L1 timelock operations.
372
+ * @param gasPrice - Optional pre-fetched gas price to avoid redundant RPC calls in batch
371
373
  */
372
- async function calculateRetryableExecutionValue(timelockAddress, target, data, provider) {
373
- void timelockAddress;
374
- if (target.toLowerCase() !== constants_1.ADDRESSES.RETRYABLE_TICKET_MAGIC.toLowerCase()) {
374
+ async function calculateRetryableExecutionValue(target, data, provider, gasPrice) {
375
+ if (!(0, chain_1.addressEquals)(target, constants_1.ADDRESSES.RETRYABLE_TICKET_MAGIC)) {
375
376
  return null;
376
377
  }
377
378
  let decoded;
@@ -387,43 +388,49 @@ async function calculateRetryableExecutionValue(timelockAddress, target, data, p
387
388
  const innerMaxFeePerGas = decoded[4];
388
389
  const innerData = decoded[5];
389
390
  const inbox = new ethers_1.ethers.Contract(inboxAddress, abis_1.INBOX_ABI, provider);
390
- const gasPrice = await (0, rpc_utils_1.queryWithRetry)(() => provider.getGasPrice());
391
+ const resolvedGasPrice = gasPrice ?? (await (0, rpc_utils_1.queryWithRetry)(() => provider.getGasPrice()));
391
392
  const dataLength = ethers_1.ethers.utils.hexDataLength(innerData);
392
- const submissionFee = await (0, rpc_utils_1.queryWithRetry)(() => inbox.callStatic.calculateRetryableSubmissionFee(dataLength, gasPrice));
393
+ const submissionFee = await (0, rpc_utils_1.queryWithRetry)(() => inbox.callStatic.calculateRetryableSubmissionFee(dataLength, resolvedGasPrice));
393
394
  return submissionFee.mul(2).add(innerGasLimit.mul(innerMaxFeePerGas)).add(innerValue);
394
395
  }
395
396
  /**
396
397
  * Calculate batch retryable values for L1 timelock.
398
+ * Fetches gas price once and reuses for all retryable calculations.
397
399
  */
398
- async function calculateBatchRetryableValues(timelockAddress, targets, values, payloads, provider) {
399
- const results = await Promise.all(targets.map((target, i) => calculateRetryableExecutionValue(timelockAddress, target, payloads[i], provider)));
400
+ async function calculateBatchRetryableValues(targets, values, payloads, provider) {
401
+ // Fetch gas price once for the entire batch
402
+ const gasPrice = await (0, rpc_utils_1.queryWithRetry)(() => provider.getGasPrice());
403
+ const results = await Promise.all(targets.map((target, i) => calculateRetryableExecutionValue(target, payloads[i], provider, gasPrice)));
400
404
  return results.map((retryableValue, i) => retryableValue ?? values[i]);
401
405
  }
402
406
  /**
403
- * Helper: Get salt from cached stage data or user override
407
+ * Shared pre-checks for timelock prepare functions.
408
+ * Returns salt, predecessor, and any early error result.
404
409
  */
405
- function getSalt(stageData, options) {
406
- return options.salt ?? stageData.salt ?? ethers_1.ethers.constants.HashZero;
410
+ async function timelockPreparePreChecks(timelockAddress, operationId, stageData, provider, options) {
411
+ const salt = options.salt ?? stageData.salt ?? ethers_1.ethers.constants.HashZero;
412
+ const predecessor = options.predecessor ?? stageData.predecessor ?? ethers_1.ethers.constants.HashZero;
413
+ if (!options.prepareCompleted) {
414
+ const stateError = await (0, utils_1.checkOperationReady)(timelockAddress, operationId, provider);
415
+ if (stateError)
416
+ return { salt, predecessor, error: stateError };
417
+ }
418
+ return { salt, predecessor };
407
419
  }
408
- /**
409
- * Helper: Get predecessor from cached stage data or user override
410
- */
411
- function getPredecessor(stageData, options) {
412
- return options.predecessor ?? stageData.predecessor ?? ethers_1.ethers.constants.HashZero;
420
+ function saltValidationError(operationId, salt, label = "operation") {
421
+ return (0, utils_1.failPrepare)(`Salt validation failed for ${label} ${operationId}. ` +
422
+ `Cached salt ${salt} does not produce the expected operation ID. ` +
423
+ `This may indicate incorrect salt computation during tracking. ` +
424
+ `Override with options.salt if needed.`);
413
425
  }
414
426
  /**
415
427
  * Prepare a single timelock operation for execution.
416
428
  */
417
429
  async function prepareTimelockOperation(timelockAddress, params, operationId, stageData, provider, options = {}) {
418
430
  logExecution("Preparing timelock operation %s", operationId);
419
- const salt = getSalt(stageData, options);
420
- const predecessor = getPredecessor(stageData, options);
421
- if (!options.prepareCompleted) {
422
- const stateError = await (0, utils_1.checkOperationReady)(timelockAddress, operationId, provider);
423
- if (stateError)
424
- return stateError;
425
- }
426
- // Validate the cached salt (unless skipped)
431
+ const { salt, predecessor, error } = await timelockPreparePreChecks(timelockAddress, operationId, stageData, provider, options);
432
+ if (error)
433
+ return error;
427
434
  if (!options.skipSaltValidation) {
428
435
  const isValid = (0, operation_id_1.validateSalt)(operationId, {
429
436
  target: params.target,
@@ -432,15 +439,11 @@ async function prepareTimelockOperation(timelockAddress, params, operationId, st
432
439
  predecessor,
433
440
  salt,
434
441
  });
435
- if (!isValid) {
436
- return (0, utils_1.failPrepare)(`Salt validation failed for operation ${operationId}. ` +
437
- `Cached salt ${salt} does not produce the expected operation ID. ` +
438
- `This may indicate incorrect salt computation during tracking. ` +
439
- `Override with options.salt if needed.`);
440
- }
442
+ if (!isValid)
443
+ return saltValidationError(operationId, salt);
441
444
  }
442
445
  const retryableValue = !options.skipRetryableValueCalculation
443
- ? await calculateRetryableExecutionValue(timelockAddress, params.target, params.data, provider)
446
+ ? await calculateRetryableExecutionValue(params.target, params.data, provider)
444
447
  : null;
445
448
  const executionValue = retryableValue ?? params.value;
446
449
  const chain = await (0, chain_1.getChain)(provider);
@@ -451,7 +454,6 @@ async function prepareTimelockOperation(timelockAddress, params, operationId, st
451
454
  predecessor,
452
455
  salt,
453
456
  ]);
454
- const chainId = (0, types_1.chainToChainId)(chain);
455
457
  return {
456
458
  success: true,
457
459
  prepared: {
@@ -459,7 +461,7 @@ async function prepareTimelockOperation(timelockAddress, params, operationId, st
459
461
  data: calldata,
460
462
  value: executionValue.toString(),
461
463
  chain,
462
- chainId,
464
+ chainId: (0, types_1.chainToChainId)(chain),
463
465
  description: `execute() on ${chain} timelock`,
464
466
  operationId,
465
467
  },
@@ -477,14 +479,9 @@ async function prepareTimelockBatch(timelockAddress, params, operationId, stageD
477
479
  params.targets.length !== params.payloads.length) {
478
480
  return (0, utils_1.failPrepare)("Array length mismatch in batch params");
479
481
  }
480
- const salt = getSalt(stageData, options);
481
- const predecessor = getPredecessor(stageData, options);
482
- if (!options.prepareCompleted) {
483
- const stateError = await (0, utils_1.checkOperationReady)(timelockAddress, operationId, provider);
484
- if (stateError)
485
- return stateError;
486
- }
487
- // Validate the cached salt (unless skipped)
482
+ const { salt, predecessor, error } = await timelockPreparePreChecks(timelockAddress, operationId, stageData, provider, options);
483
+ if (error)
484
+ return error;
488
485
  if (!options.skipSaltValidation) {
489
486
  const isValid = (0, operation_id_1.validateSaltBatch)(operationId, {
490
487
  targets: params.targets,
@@ -493,16 +490,12 @@ async function prepareTimelockBatch(timelockAddress, params, operationId, stageD
493
490
  predecessor,
494
491
  salt,
495
492
  });
496
- if (!isValid) {
497
- return (0, utils_1.failPrepare)(`Salt validation failed for batch operation ${operationId}. ` +
498
- `Cached salt ${salt} does not produce the expected operation ID. ` +
499
- `This may indicate incorrect salt computation during tracking. ` +
500
- `Override with options.salt if needed.`);
501
- }
493
+ if (!isValid)
494
+ return saltValidationError(operationId, salt, "batch operation");
502
495
  }
503
496
  let executionValues = params.values;
504
497
  if (!options.skipRetryableValueCalculation) {
505
- executionValues = await calculateBatchRetryableValues(timelockAddress, params.targets, params.values, params.payloads, provider);
498
+ executionValues = await calculateBatchRetryableValues(params.targets, params.values, params.payloads, provider);
506
499
  }
507
500
  const totalValue = executionValues.reduce((acc, v) => acc.add(v), ethers_1.BigNumber.from(0));
508
501
  const chain = await (0, chain_1.getChain)(provider);
@@ -513,7 +506,6 @@ async function prepareTimelockBatch(timelockAddress, params, operationId, stageD
513
506
  predecessor,
514
507
  salt,
515
508
  ]);
516
- const chainId = (0, types_1.chainToChainId)(chain);
517
509
  return {
518
510
  success: true,
519
511
  prepared: {
@@ -521,7 +513,7 @@ async function prepareTimelockBatch(timelockAddress, params, operationId, stageD
521
513
  data: calldata,
522
514
  value: totalValue.toString(),
523
515
  chain,
524
- chainId,
516
+ chainId: (0, types_1.chainToChainId)(chain),
525
517
  description: `executeBatch() on ${chain} timelock`,
526
518
  operationId,
527
519
  },
@@ -555,7 +547,7 @@ async function prepareTimelockStage(stage, provider, options = {}) {
555
547
  }
556
548
  // Get full stage data for salt/predecessor (cast - we verified it's a timelock stage)
557
549
  const timelockStageData = stage.data;
558
- const sortedData = [...callScheduledData].sort((a, b) => a.index.toNumber() - b.index.toNumber());
550
+ const sortedData = [...callScheduledData].sort((a, b) => (0, chain_1.compareBigNumbers)(a.index, b.index));
559
551
  const targets = sortedData.map((d) => d.target);
560
552
  const values = sortedData.map((d) => d.value.toString());
561
553
  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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"}
@@ -25,7 +25,7 @@ export type TrackingPath = "governor" | "timelock" | "election";
25
25
  * Get stage types for a tracking path.
26
26
  * @param path - The tracking path type: "governor", "timelock", or "election"
27
27
  */
28
- export declare function getStagesForTrackingPath(path: TrackingPath): StageType[];
28
+ export declare function getStagesForTrackingPath(path: TrackingPath): readonly StageType[];
29
29
  /** Get chain for a stage type (L1 stages run on ethereum, others on arb1) */
30
30
  export declare const getChainForStage: (type: StageType) => Chain;
31
31
  export declare function initializeStagesForTrackingPath(path: TrackingPath): TrackedStage[];
@@ -47,6 +47,31 @@ export declare function splitStages(stages: TrackedStage[]): {
47
47
  parentStages: TrackedStage[];
48
48
  timelockStages: TrackedStage[];
49
49
  };
50
+ /**
51
+ * Merge stages from different sources into a single array.
52
+ *
53
+ * Useful for combining stages from a governor proposal checkpoint
54
+ * with its linked timelock checkpoint into a unified timeline.
55
+ *
56
+ * When duplicates exist (same type), prefers the stage with more progress:
57
+ * 1. Higher status priority (COMPLETED > READY > PENDING > NOT_STARTED)
58
+ * 2. More transactions recorded
59
+ *
60
+ * @param primaryStages - Primary stage array (typically from governor/election)
61
+ * @param secondaryStages - Secondary stages to merge (typically from timelock)
62
+ * @returns Merged array with duplicates resolved
63
+ */
64
+ export declare function mergeStages(primaryStages: TrackedStage[], secondaryStages: TrackedStage[]): TrackedStage[];
65
+ /**
66
+ * Normalize stages into canonical pipeline order.
67
+ *
68
+ * Sorts stages by their natural execution order in the governance pipeline.
69
+ * Useful after merging stages from multiple sources.
70
+ *
71
+ * @param stages - Array of stages in any order
72
+ * @returns Stages sorted in canonical order
73
+ */
74
+ export declare function normalizeTimeline(stages: TrackedStage[]): TrackedStage[];
50
75
  /**
51
76
  * Check if stages have any timelock progress (for determining if we need linked checkpoint).
52
77
  * Returns true if any timelock path stage has been started.
@@ -105,6 +130,36 @@ export declare function getTrackingStatusSummary(stages: TrackedStage[]): {
105
130
  failed: number;
106
131
  skipped: number;
107
132
  };
133
+ /**
134
+ * Lifecycle phase representing where a proposal or timelock operation is now.
135
+ *
136
+ * Phases describe what's currently happening:
137
+ * - `voting` - Active voting period
138
+ * - `queued` - Passed voting, entering timelock execution
139
+ * - `l2_delay` - Waiting for L2 timelock delay
140
+ * - `bridging` - L2→L1 message in transit
141
+ * - `l1_delay` - Waiting for L1 timelock delay
142
+ * - `finalizing` - Retryable tickets pending execution
143
+ * - `executed` - Complete
144
+ * - `failed` - Failed at some stage
145
+ * - `unknown` - Cannot determine phase
146
+ */
147
+ export type LifecyclePhase = "voting" | "queued" | "l2_delay" | "bridging" | "l1_delay" | "finalizing" | "executed" | "failed" | "unknown";
148
+ /**
149
+ * Get the current lifecycle phase from tracked stages.
150
+ *
151
+ * @param stages - Array of tracked stages
152
+ * @returns The current lifecycle phase
153
+ *
154
+ * @example
155
+ * ```typescript
156
+ * const phase = getLifecyclePhase(result.stages);
157
+ * if (phase === "l1_delay") {
158
+ * console.log("Waiting for L1 timelock delay...");
159
+ * }
160
+ * ```
161
+ */
162
+ export declare function getLifecyclePhase(stages: TrackedStage[]): LifecyclePhase;
108
163
  /**
109
164
  * Extract the operationId from tracked stages.
110
165
  *
@@ -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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"}
@@ -13,6 +13,8 @@ exports.getStagesForTrackingPath = getStagesForTrackingPath;
13
13
  exports.initializeStagesForTrackingPath = initializeStagesForTrackingPath;
14
14
  exports.isTimelockPathStage = isTimelockPathStage;
15
15
  exports.splitStages = splitStages;
16
+ exports.mergeStages = mergeStages;
17
+ exports.normalizeTimeline = normalizeTimeline;
16
18
  exports.hasTimelockProgress = hasTimelockProgress;
17
19
  exports.findStage = findStage;
18
20
  exports.updateStageInList = updateStageInList;
@@ -24,6 +26,7 @@ exports.findExecutableStage = findExecutableStage;
24
26
  exports.findAllExecutableStages = findAllExecutableStages;
25
27
  exports.needsAction = needsAction;
26
28
  exports.getTrackingStatusSummary = getTrackingStatusSummary;
29
+ exports.getLifecyclePhase = getLifecyclePhase;
27
30
  exports.extractOperationId = extractOperationId;
28
31
  exports.isConstitutional = isConstitutional;
29
32
  exports.isTimelockStage = isTimelockStage;
@@ -110,7 +113,7 @@ function createStage(type, chain, status = "NOT_STARTED") {
110
113
  executable: false,
111
114
  };
112
115
  }
113
- /** Common timelock stages shared by all paths */
116
+ /** Common timelock stages shared by all paths (single source of truth) */
114
117
  const COMMON_TIMELOCK_STAGES = [
115
118
  "L2_TIMELOCK",
116
119
  "L2_TO_L1_MESSAGE",
@@ -163,13 +166,8 @@ function initializeStagesForTrackingPath(path) {
163
166
  // ============================================================================
164
167
  // Modular Caching: Stage Splitting
165
168
  // ============================================================================
166
- /** All timelock path stages for modular caching (full path, not just executable) */
167
- const TIMELOCK_PATH_STAGES = new Set([
168
- "L2_TIMELOCK",
169
- "L2_TO_L1_MESSAGE",
170
- "L1_TIMELOCK",
171
- "RETRYABLE_EXECUTED",
172
- ]);
169
+ /** Timelock path stages as a Set (derived from COMMON_TIMELOCK_STAGES) */
170
+ const TIMELOCK_PATH_STAGES = new Set(COMMON_TIMELOCK_STAGES);
173
171
  /**
174
172
  * Check if a stage type is part of the timelock path (for modular caching).
175
173
  * Includes all stages after proposal/election execution: L2_TIMELOCK → RETRYABLE_EXECUTED
@@ -191,6 +189,84 @@ function splitStages(stages) {
191
189
  const timelockStages = stages.filter((s) => isTimelockPathStage(s.type));
192
190
  return { parentStages, timelockStages };
193
191
  }
192
+ /**
193
+ * Canonical stage ordering for normalization.
194
+ * Matches the natural flow: election/governor → timelock path.
195
+ */
196
+ const STAGE_ORDER = {
197
+ // Election path
198
+ CREATE_ELECTION: 0,
199
+ NOMINEE_ELECTION: 1,
200
+ NOMINEE_VETTING: 2,
201
+ MEMBER_ELECTION: 3,
202
+ // Governor path
203
+ PROPOSAL_CREATED: 10,
204
+ VOTING_ACTIVE: 11,
205
+ PROPOSAL_QUEUED: 12,
206
+ // Shared timelock path
207
+ L2_TIMELOCK: 20,
208
+ L2_TO_L1_MESSAGE: 21,
209
+ L1_TIMELOCK: 22,
210
+ RETRYABLE_EXECUTED: 23,
211
+ };
212
+ /**
213
+ * Merge stages from different sources into a single array.
214
+ *
215
+ * Useful for combining stages from a governor proposal checkpoint
216
+ * with its linked timelock checkpoint into a unified timeline.
217
+ *
218
+ * When duplicates exist (same type), prefers the stage with more progress:
219
+ * 1. Higher status priority (COMPLETED > READY > PENDING > NOT_STARTED)
220
+ * 2. More transactions recorded
221
+ *
222
+ * @param primaryStages - Primary stage array (typically from governor/election)
223
+ * @param secondaryStages - Secondary stages to merge (typically from timelock)
224
+ * @returns Merged array with duplicates resolved
225
+ */
226
+ function mergeStages(primaryStages, secondaryStages) {
227
+ const STATUS_PRIORITY = {
228
+ COMPLETED: 5,
229
+ FAILED: 4,
230
+ CANCELED: 4,
231
+ READY: 3,
232
+ PENDING: 2,
233
+ SKIPPED: 1,
234
+ NOT_STARTED: 0,
235
+ };
236
+ const stageMap = new Map();
237
+ // Add primary stages first
238
+ for (const stage of primaryStages) {
239
+ stageMap.set(stage.type, stage);
240
+ }
241
+ // Merge secondary stages, keeping the one with more progress
242
+ for (const stage of secondaryStages) {
243
+ const existing = stageMap.get(stage.type);
244
+ if (!existing) {
245
+ stageMap.set(stage.type, stage);
246
+ continue;
247
+ }
248
+ const existingPriority = STATUS_PRIORITY[existing.status];
249
+ const newPriority = STATUS_PRIORITY[stage.status];
250
+ // Prefer higher status, or more transactions if same status
251
+ if (newPriority > existingPriority ||
252
+ (newPriority === existingPriority && stage.transactions.length > existing.transactions.length)) {
253
+ stageMap.set(stage.type, stage);
254
+ }
255
+ }
256
+ return Array.from(stageMap.values());
257
+ }
258
+ /**
259
+ * Normalize stages into canonical pipeline order.
260
+ *
261
+ * Sorts stages by their natural execution order in the governance pipeline.
262
+ * Useful after merging stages from multiple sources.
263
+ *
264
+ * @param stages - Array of stages in any order
265
+ * @returns Stages sorted in canonical order
266
+ */
267
+ function normalizeTimeline(stages) {
268
+ return [...stages].sort((a, b) => STAGE_ORDER[a.type] - STAGE_ORDER[b.type]);
269
+ }
194
270
  /**
195
271
  * Check if stages have any timelock progress (for determining if we need linked checkpoint).
196
272
  * Returns true if any timelock path stage has been started.
@@ -270,27 +346,67 @@ function needsAction(stages) {
270
346
  * Get summary of stage statuses (single pass)
271
347
  */
272
348
  function getTrackingStatusSummary(stages) {
273
- let completed = 0, pending = 0, ready = 0, failed = 0, skipped = 0;
274
- for (const stage of stages) {
275
- switch (stage.status) {
276
- case "COMPLETED":
277
- completed++;
278
- break;
279
- case "PENDING":
280
- pending++;
281
- break;
282
- case "READY":
283
- ready++;
284
- break;
285
- case "FAILED":
286
- failed++;
287
- break;
288
- case "SKIPPED":
289
- skipped++;
290
- break;
291
- }
349
+ const counts = { completed: 0, pending: 0, ready: 0, failed: 0, skipped: 0 };
350
+ const statusKey = {
351
+ COMPLETED: "completed",
352
+ PENDING: "pending",
353
+ READY: "ready",
354
+ FAILED: "failed",
355
+ SKIPPED: "skipped",
356
+ };
357
+ for (const { status } of stages) {
358
+ const key = statusKey[status];
359
+ if (key)
360
+ counts[key]++;
361
+ }
362
+ return { total: stages.length, ...counts };
363
+ }
364
+ /**
365
+ * Get the current lifecycle phase from tracked stages.
366
+ *
367
+ * @param stages - Array of tracked stages
368
+ * @returns The current lifecycle phase
369
+ *
370
+ * @example
371
+ * ```typescript
372
+ * const phase = getLifecyclePhase(result.stages);
373
+ * if (phase === "l1_delay") {
374
+ * console.log("Waiting for L1 timelock delay...");
375
+ * }
376
+ * ```
377
+ */
378
+ function getLifecyclePhase(stages) {
379
+ if (stages.length === 0)
380
+ return "unknown";
381
+ if (stages.some((s) => s.status === "FAILED"))
382
+ return "failed";
383
+ if (areAllStagesComplete(stages))
384
+ return "executed";
385
+ const stageMap = new Map(stages.map((s) => [s.type, s]));
386
+ const isComplete = (type) => isStageSuccess(stageMap.get(type)?.status);
387
+ const isWaiting = (type) => {
388
+ const status = stageMap.get(type)?.status;
389
+ return status === "PENDING" || status === "READY" || status === "NOT_STARTED";
390
+ };
391
+ // Governor path
392
+ if (stageMap.has("VOTING_ACTIVE") && isWaiting("VOTING_ACTIVE"))
393
+ return "voting";
394
+ if (stageMap.has("PROPOSAL_QUEUED") && isWaiting("PROPOSAL_QUEUED"))
395
+ return "queued";
396
+ // Timelock path
397
+ if (stageMap.has("L2_TIMELOCK") && isWaiting("L2_TIMELOCK"))
398
+ return "l2_delay";
399
+ if (stageMap.has("L2_TO_L1_MESSAGE") && isWaiting("L2_TO_L1_MESSAGE"))
400
+ return "bridging";
401
+ if (stageMap.has("L1_TIMELOCK") && isWaiting("L1_TIMELOCK"))
402
+ return "l1_delay";
403
+ if (stageMap.has("RETRYABLE_EXECUTED") && isWaiting("RETRYABLE_EXECUTED"))
404
+ return "finalizing";
405
+ // L2-only path: L2 timelock complete, remaining stages skipped
406
+ if (isComplete("L2_TIMELOCK") && stageMap.get("L2_TO_L1_MESSAGE")?.status === "SKIPPED") {
407
+ return "executed";
292
408
  }
293
- return { total: stages.length, completed, pending, ready, failed, skipped };
409
+ return "unknown";
294
410
  }
295
411
  /**
296
412
  * Extract the operationId from tracked stages.
@@ -400,8 +516,8 @@ async function checkOperationReady(timelockAddress, operationId, provider) {
400
516
  (0, multicall_1.buildCallInput)(timelockAddress, abis_1.timelockInterface, "isOperationReady", [operationId]),
401
517
  (0, multicall_1.buildCallInput)(timelockAddress, abis_1.timelockInterface, "isOperationDone", [operationId]),
402
518
  ]);
403
- const isReady = results[0];
404
- const isDone = results[1];
519
+ const isReady = results[0] ?? false;
520
+ const isDone = results[1] ?? false;
405
521
  if (isReady)
406
522
  return null; // Ready - no error
407
523
  if (isDone) {