@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
@@ -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[];
32
+ /**
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
35
+ */
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
+ };
25
50
  /**
26
- * Initialize all stages for a path
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.
27
53
  */
28
- export declare function initializeStagesForPath(includeProposalStages?: boolean): TrackedStage[];
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,36 @@ export declare function getTrackingStatusSummary(stages: TrackedStage[]): {
71
105
  failed: number;
72
106
  skipped: number;
73
107
  };
108
+ /**
109
+ * Lifecycle phase representing where a proposal or timelock operation is now.
110
+ *
111
+ * Phases describe what's currently happening:
112
+ * - `voting` - Active voting period
113
+ * - `queued` - Passed voting, entering timelock execution
114
+ * - `l2_delay` - Waiting for L2 timelock delay
115
+ * - `bridging` - L2→L1 message in transit
116
+ * - `l1_delay` - Waiting for L1 timelock delay
117
+ * - `finalizing` - Retryable tickets pending execution
118
+ * - `executed` - Complete
119
+ * - `failed` - Failed at some stage
120
+ * - `unknown` - Cannot determine phase
121
+ */
122
+ export type LifecyclePhase = "voting" | "queued" | "l2_delay" | "bridging" | "l1_delay" | "finalizing" | "executed" | "failed" | "unknown";
123
+ /**
124
+ * Get the current lifecycle phase from tracked stages.
125
+ *
126
+ * @param stages - Array of tracked stages
127
+ * @returns The current lifecycle phase
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * const phase = getLifecyclePhase(result.stages);
132
+ * if (phase === "l1_delay") {
133
+ * console.log("Waiting for L1 timelock delay...");
134
+ * }
135
+ * ```
136
+ */
137
+ export declare function getLifecyclePhase(stages: TrackedStage[]): LifecyclePhase;
74
138
  /**
75
139
  * Extract the operationId from tracked stages.
76
140
  *
@@ -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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"}
@@ -6,19 +6,25 @@
6
6
  * Previously split between stages/base.ts and utils/stage-helpers.ts.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.TIMELOCK_STAGE_TYPES = exports.deserializeCallScheduledDataArray = exports.serializeCallScheduledDataArray = exports.deserializeCallScheduledData = exports.serializeCallScheduledData = void 0;
9
+ exports.TIMELOCK_STAGE_TYPES = exports.getChainForStage = exports.deserializeCallScheduledDataArray = exports.serializeCallScheduledDataArray = exports.deserializeCallScheduledData = exports.serializeCallScheduledData = void 0;
10
10
  exports.serialize = serialize;
11
11
  exports.deserialize = deserialize;
12
- exports.getStagesForPath = getStagesForPath;
13
- exports.initializeStagesForPath = initializeStagesForPath;
12
+ exports.getStagesForTrackingPath = getStagesForTrackingPath;
13
+ exports.initializeStagesForTrackingPath = initializeStagesForTrackingPath;
14
+ exports.isTimelockPathStage = isTimelockPathStage;
15
+ exports.splitStages = splitStages;
16
+ exports.hasTimelockProgress = hasTimelockProgress;
14
17
  exports.findStage = findStage;
15
18
  exports.updateStageInList = updateStageInList;
19
+ exports.isStageTerminal = isStageTerminal;
20
+ exports.isStageSuccess = isStageSuccess;
16
21
  exports.getCurrentStage = getCurrentStage;
17
22
  exports.areAllStagesComplete = areAllStagesComplete;
18
23
  exports.findExecutableStage = findExecutableStage;
19
24
  exports.findAllExecutableStages = findAllExecutableStages;
20
25
  exports.needsAction = needsAction;
21
26
  exports.getTrackingStatusSummary = getTrackingStatusSummary;
27
+ exports.getLifecyclePhase = getLifecyclePhase;
22
28
  exports.extractOperationId = extractOperationId;
23
29
  exports.isConstitutional = isConstitutional;
24
30
  exports.isTimelockStage = isTimelockStage;
@@ -92,7 +98,7 @@ exports.deserializeCallScheduledDataArray = deserializeCallScheduledDataArray;
92
98
  * Used for initializing placeholder stages that will be filled in later.
93
99
  */
94
100
  function createStage(type, chain, status = "NOT_STARTED") {
95
- const chainId = (0, types_1.chainToChainId)(chain) ?? 0;
101
+ const chainId = (0, types_1.chainToChainId)(chain);
96
102
  // Assertion needed: we create placeholder stages with empty data that get
97
103
  // replaced by properly-built stages. TypeScript can't track this flow.
98
104
  return {
@@ -105,41 +111,93 @@ function createStage(type, chain, status = "NOT_STARTED") {
105
111
  executable: false,
106
112
  };
107
113
  }
114
+ /** Common timelock stages shared by all paths */
115
+ const COMMON_TIMELOCK_STAGES = [
116
+ "L2_TIMELOCK",
117
+ "L2_TO_L1_MESSAGE",
118
+ "L1_TIMELOCK",
119
+ "RETRYABLE_EXECUTED",
120
+ ];
108
121
  /** Full proposal stages (from governor proposal) */
109
122
  const FULL_PROPOSAL_STAGES = [
110
123
  "PROPOSAL_CREATED",
111
124
  "VOTING_ACTIVE",
112
125
  "PROPOSAL_QUEUED",
113
- "L2_TIMELOCK",
114
- "L2_TO_L1_MESSAGE",
115
- "L1_TIMELOCK",
116
- "RETRYABLE_EXECUTED",
126
+ ...COMMON_TIMELOCK_STAGES,
117
127
  ];
118
128
  /** Timelock-only stages (direct timelock entry) */
119
- const TIMELOCK_ONLY_STAGES = [
129
+ const TIMELOCK_ONLY_STAGES = COMMON_TIMELOCK_STAGES;
130
+ /** Election stages (full election lifecycle) */
131
+ const ELECTION_STAGES = [
132
+ "CREATE_ELECTION",
133
+ "NOMINEE_ELECTION",
134
+ "NOMINEE_VETTING",
135
+ "MEMBER_ELECTION",
136
+ ...COMMON_TIMELOCK_STAGES,
137
+ ];
138
+ /**
139
+ * Get stage types for a tracking path.
140
+ * @param path - The tracking path type: "governor", "timelock", or "election"
141
+ */
142
+ function getStagesForTrackingPath(path) {
143
+ switch (path) {
144
+ case "governor":
145
+ return FULL_PROPOSAL_STAGES;
146
+ case "timelock":
147
+ return TIMELOCK_ONLY_STAGES;
148
+ case "election":
149
+ return ELECTION_STAGES;
150
+ }
151
+ }
152
+ /**
153
+ * Initialize all stages for a tracking path
154
+ * @param path - The tracking path type: "governor", "timelock", or "election"
155
+ */
156
+ /** L1 stages (execute on Ethereum mainnet) */
157
+ const L1_STAGES = new Set(["L1_TIMELOCK", "RETRYABLE_EXECUTED"]);
158
+ /** Get chain for a stage type (L1 stages run on ethereum, others on arb1) */
159
+ const getChainForStage = (type) => L1_STAGES.has(type) ? "ethereum" : "arb1";
160
+ exports.getChainForStage = getChainForStage;
161
+ function initializeStagesForTrackingPath(path) {
162
+ return getStagesForTrackingPath(path).map((type) => createStage(type, (0, exports.getChainForStage)(type), "NOT_STARTED"));
163
+ }
164
+ // ============================================================================
165
+ // Modular Caching: Stage Splitting
166
+ // ============================================================================
167
+ /** All timelock path stages for modular caching (full path, not just executable) */
168
+ const TIMELOCK_PATH_STAGES = new Set([
120
169
  "L2_TIMELOCK",
121
170
  "L2_TO_L1_MESSAGE",
122
171
  "L1_TIMELOCK",
123
172
  "RETRYABLE_EXECUTED",
124
- ];
173
+ ]);
125
174
  /**
126
- * Get stage types for a tracking path.
127
- * @param includeProposalStages - Include proposal stages (default: true)
175
+ * Check if a stage type is part of the timelock path (for modular caching).
176
+ * Includes all stages after proposal/election execution: L2_TIMELOCK → RETRYABLE_EXECUTED
128
177
  */
129
- function getStagesForPath(includeProposalStages = true) {
130
- return includeProposalStages ? FULL_PROPOSAL_STAGES : TIMELOCK_ONLY_STAGES;
178
+ function isTimelockPathStage(type) {
179
+ return TIMELOCK_PATH_STAGES.has(type);
131
180
  }
132
181
  /**
133
- * Initialize all stages for a path
182
+ * Split stages into parent and timelock stages for modular caching.
183
+ *
184
+ * Parent stages:
185
+ * - Governor: PROPOSAL_CREATED, VOTING_ACTIVE, PROPOSAL_QUEUED
186
+ * - Election: CREATE_ELECTION, NOMINEE_ELECTION, NOMINEE_VETTING, MEMBER_ELECTION
187
+ *
188
+ * Timelock stages: L2_TIMELOCK, L2_TO_L1_MESSAGE, L1_TIMELOCK, RETRYABLE_EXECUTED
134
189
  */
135
- function initializeStagesForPath(includeProposalStages = true) {
136
- const stageTypes = getStagesForPath(includeProposalStages);
137
- return stageTypes.map((type) => {
138
- // L1_TIMELOCK and RETRYABLE_EXECUTED are L1 stages
139
- // L2_TO_L1_MESSAGE is cross-chain but logically completes on L1
140
- const chain = type === "L1_TIMELOCK" || type === "RETRYABLE_EXECUTED" ? "ethereum" : "arb1";
141
- return createStage(type, chain, "NOT_STARTED");
142
- });
190
+ function splitStages(stages) {
191
+ const parentStages = stages.filter((s) => !isTimelockPathStage(s.type));
192
+ const timelockStages = stages.filter((s) => isTimelockPathStage(s.type));
193
+ return { parentStages, timelockStages };
194
+ }
195
+ /**
196
+ * Check if stages have any timelock progress (for determining if we need linked checkpoint).
197
+ * Returns true if any timelock path stage has been started.
198
+ */
199
+ function hasTimelockProgress(stages) {
200
+ return stages.some((s) => isTimelockPathStage(s.type) && s.status !== "NOT_STARTED");
143
201
  }
144
202
  /**
145
203
  * Find a stage by type in a list of stages
@@ -156,12 +214,24 @@ function updateStageInList(stages, updatedStage) {
156
214
  // ============================================================================
157
215
  // Section 3: Stage Querying and Status
158
216
  // ============================================================================
217
+ /**
218
+ * Check if status is terminal (COMPLETED, SKIPPED, or FAILED)
219
+ */
220
+ function isStageTerminal(status) {
221
+ return status === "COMPLETED" || status === "SKIPPED" || status === "FAILED";
222
+ }
223
+ /**
224
+ * Check if status represents successful completion (COMPLETED or SKIPPED)
225
+ */
226
+ function isStageSuccess(status) {
227
+ return status === "COMPLETED" || status === "SKIPPED";
228
+ }
159
229
  /**
160
230
  * Get the current active stage (first non-completed stage)
161
231
  */
162
232
  function getCurrentStage(stages) {
163
233
  for (const stage of stages) {
164
- if (stage.status !== "COMPLETED" && stage.status !== "SKIPPED" && stage.status !== "FAILED") {
234
+ if (!isStageTerminal(stage.status)) {
165
235
  return stage;
166
236
  }
167
237
  }
@@ -171,7 +241,7 @@ function getCurrentStage(stages) {
171
241
  * Check if all stages are complete
172
242
  */
173
243
  function areAllStagesComplete(stages) {
174
- return stages.every((s) => s.status === "COMPLETED" || s.status === "SKIPPED" || s.status === "FAILED");
244
+ return stages.every((s) => isStageTerminal(s.status));
175
245
  }
176
246
  /**
177
247
  * Find first READY stage that's executable
@@ -223,6 +293,53 @@ function getTrackingStatusSummary(stages) {
223
293
  }
224
294
  return { total: stages.length, completed, pending, ready, failed, skipped };
225
295
  }
296
+ /**
297
+ * Get the current lifecycle phase from tracked stages.
298
+ *
299
+ * @param stages - Array of tracked stages
300
+ * @returns The current lifecycle phase
301
+ *
302
+ * @example
303
+ * ```typescript
304
+ * const phase = getLifecyclePhase(result.stages);
305
+ * if (phase === "l1_delay") {
306
+ * console.log("Waiting for L1 timelock delay...");
307
+ * }
308
+ * ```
309
+ */
310
+ function getLifecyclePhase(stages) {
311
+ if (stages.length === 0)
312
+ return "unknown";
313
+ if (stages.some((s) => s.status === "FAILED"))
314
+ return "failed";
315
+ if (areAllStagesComplete(stages))
316
+ return "executed";
317
+ const stageMap = new Map(stages.map((s) => [s.type, s]));
318
+ const isComplete = (type) => isStageSuccess(stageMap.get(type)?.status);
319
+ const isWaiting = (type) => {
320
+ const status = stageMap.get(type)?.status;
321
+ return status === "PENDING" || status === "READY" || status === "NOT_STARTED";
322
+ };
323
+ // Governor path
324
+ if (stageMap.has("VOTING_ACTIVE") && isWaiting("VOTING_ACTIVE"))
325
+ return "voting";
326
+ if (stageMap.has("PROPOSAL_QUEUED") && isWaiting("PROPOSAL_QUEUED"))
327
+ return "queued";
328
+ // Timelock path
329
+ if (stageMap.has("L2_TIMELOCK") && isWaiting("L2_TIMELOCK"))
330
+ return "l2_delay";
331
+ if (stageMap.has("L2_TO_L1_MESSAGE") && isWaiting("L2_TO_L1_MESSAGE"))
332
+ return "bridging";
333
+ if (stageMap.has("L1_TIMELOCK") && isWaiting("L1_TIMELOCK"))
334
+ return "l1_delay";
335
+ if (stageMap.has("RETRYABLE_EXECUTED") && isWaiting("RETRYABLE_EXECUTED"))
336
+ return "finalizing";
337
+ // L2-only path: L2 timelock complete, remaining stages skipped
338
+ if (isComplete("L2_TIMELOCK") && stageMap.get("L2_TO_L1_MESSAGE")?.status === "SKIPPED") {
339
+ return "executed";
340
+ }
341
+ return "unknown";
342
+ }
226
343
  /**
227
344
  * Extract the operationId from tracked stages.
228
345
  *
@@ -233,20 +350,13 @@ function getTrackingStatusSummary(stages) {
233
350
  * @returns The operationId if found, undefined otherwise
234
351
  */
235
352
  function extractOperationId(stages) {
236
- // Check PROPOSAL_QUEUED first (most common)
237
- const queuedStage = stages.find((s) => s.type === "PROPOSAL_QUEUED");
238
- if (queuedStage?.type === "PROPOSAL_QUEUED") {
239
- const opId = queuedStage.data.operationId;
240
- if (typeof opId === "string" && opId.length > 0) {
241
- return opId;
242
- }
243
- }
244
- // Fallback to L2_TIMELOCK
245
- const l2TimelockStage = stages.find((s) => s.type === "L2_TIMELOCK");
246
- if (l2TimelockStage?.type === "L2_TIMELOCK") {
247
- const opId = l2TimelockStage.data.operationId;
248
- if (typeof opId === "string" && opId.length > 0) {
249
- return opId;
353
+ // Check stages that contain operationId (PROPOSAL_QUEUED is most common)
354
+ for (const stage of stages) {
355
+ if (stage.type === "PROPOSAL_QUEUED" || stage.type === "L2_TIMELOCK") {
356
+ const opId = stage.data.operationId;
357
+ if (typeof opId === "string" && opId.length > 0) {
358
+ return opId;
359
+ }
250
360
  }
251
361
  }
252
362
  return undefined;
@@ -338,8 +448,8 @@ async function checkOperationReady(timelockAddress, operationId, provider) {
338
448
  (0, multicall_1.buildCallInput)(timelockAddress, abis_1.timelockInterface, "isOperationReady", [operationId]),
339
449
  (0, multicall_1.buildCallInput)(timelockAddress, abis_1.timelockInterface, "isOperationDone", [operationId]),
340
450
  ]);
341
- const isReady = results[0];
342
- const isDone = results[1];
451
+ const isReady = results[0] ?? false;
452
+ const isDone = results[1] ?? false;
343
453
  if (isReady)
344
454
  return null; // Ready - no error
345
455
  if (isDone) {
@@ -437,7 +547,7 @@ async function searchAndCompleteTimelockExecution(stage, timelockAddress, operat
437
547
  builder.timing(stage.timing);
438
548
  if (event) {
439
549
  const execTimestamp = await getBlockTimestamp(event.blockNumber, provider);
440
- const chainId = (0, types_1.chainToChainId)(chain) ?? 0;
550
+ const chainId = (0, types_1.chainToChainId)(chain);
441
551
  builder
442
552
  .status("COMPLETED")
443
553
  .tx(event.txHash, event.blockNumber, chain, chainId, {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/stages/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/stages/utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAgCH,8BAYC;AAGD,kCAQC;AAkFD,4DASC;AAaD,0EAIC;AAkBD,kDAEC;AAWD,kCAOC;AAMD,kDAEC;AAKD,8BAEC;AAKD,8CAKC;AASD,0CAEC;AAKD,wCAEC;AAKD,0CAOC;AAKD,oDAEC;AAKD,kDAEC;AAKD,0DAEC;AAWD,kCAEC;AAKD,4DAmCC;AAyCD,8CA6BC;AAWD,gDAWC;AAmBD,4CAKC;AAQD,0CAEC;AAcD,8CAsBC;AAQD,sEAOC;AAUD,kCAEC;AAMD,kDAmBC;AAmBD,0DA8BC;AAGD,0DAKC;AAGD,oDAcC;AAGD,8DAUC;AAYD,0DAaC;AAaD,4CAKC;AAED,0CAEC;AAED,kEAOC;AAED,gEAMC;AAOD,gFA+CC;AA3uBD,mCAA2C;AAC3C,oCAakB;AAClB,kCAA4C;AAC5C,4CAAyC;AACzC,0CAA6C;AAC7C,kDAAoD;AACpD,kDAA+D;AAC/D,uCAAyC;AACzC,wEAAwE;AAExE,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAE1E,iFAAiF;AACjF,SAAgB,SAAS,CAAI,IAAO,EAAE,YAA+B;IACnE,MAAM,MAAM,GAAG,EAAO,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAI,IAAgC,CAAC,GAAG,CAAC,CAAC;QAClD,MAAkC,CAAC,GAAG,CAAC;YACtC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC1B,GAAG;gBACH,OAAQ,GAA8B,CAAC,QAAQ,KAAK,UAAU;gBAC5D,CAAC,CAAE,GAAkC,CAAC,QAAQ,EAAE;gBAChD,CAAC,CAAC,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sEAAsE;AACtE,SAAgB,WAAW,CAAI,IAAO,EAAE,YAA+B;IACrE,MAAM,MAAM,GAAG,EAAO,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAI,IAAgC,CAAC,GAAG,CAAC,CAAC;QAClD,MAAkC,CAAC,GAAG,CAAC;YACtC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oDAAoD;AAC7C,MAAM,0BAA0B,GAAG,CAAC,IAAuB,EAA+B,EAAE,CACjG,SAAS,CAAC,IAAI,EAAE,4BAA4B,CAA2C,CAAC;AAD7E,QAAA,0BAA0B,8BACmD;AAE1F,uDAAuD;AAChD,MAAM,4BAA4B,GAAG,CAC1C,IAAiC,EACd,EAAE,CACrB,WAAW,CAAC,IAAI,EAAE,4BAA4B,CAAiC,CAAC;AAHrE,QAAA,4BAA4B,gCAGyC;AAElF,oCAAoC;AAC7B,MAAM,+BAA+B,GAAG,CAAC,IAAyB,EAAE,EAAE,CAC3E,IAAI,CAAC,GAAG,CAAC,kCAA0B,CAAC,CAAC;AAD1B,QAAA,+BAA+B,mCACL;AAChC,MAAM,iCAAiC,GAAG,CAAC,IAAmC,EAAE,EAAE,CACvF,IAAI,CAAC,GAAG,CAAC,oCAA4B,CAAC,CAAC;AAD5B,QAAA,iCAAiC,qCACL;AAEzC,+EAA+E;AAC/E,2CAA2C;AAC3C,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,WAAW,CAClB,IAAe,EACf,KAAY,EACZ,SAAsB,aAAa;IAEnC,MAAM,OAAO,GAAG,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC;IACtC,0EAA0E;IAC1E,uEAAuE;IACvE,OAAO;QACL,IAAI;QACJ,MAAM;QACN,KAAK;QACL,OAAO;QACP,YAAY,EAAE,EAAE;QAChB,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,KAAK;KACF,CAAC;AACpB,CAAC;AAED,iDAAiD;AACjD,MAAM,sBAAsB,GAAgB;IAC1C,aAAa;IACb,kBAAkB;IAClB,aAAa;IACb,oBAAoB;CACrB,CAAC;AAEF,oDAAoD;AACpD,MAAM,oBAAoB,GAAgB;IACxC,kBAAkB;IAClB,eAAe;IACf,iBAAiB;IACjB,GAAG,sBAAsB;CAC1B,CAAC;AAEF,mDAAmD;AACnD,MAAM,oBAAoB,GAAgB,sBAAsB,CAAC;AAEjE,gDAAgD;AAChD,MAAM,eAAe,GAAgB;IACnC,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;IACjB,GAAG,sBAAsB;CAC1B,CAAC;AAOF;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,IAAkB;IACzD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,OAAO,oBAAoB,CAAC;QAC9B,KAAK,UAAU;YACb,OAAO,oBAAoB,CAAC;QAC9B,KAAK,UAAU;YACb,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,8CAA8C;AAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAY,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAE5E,6EAA6E;AACtE,MAAM,gBAAgB,GAAG,CAAC,IAAe,EAAS,EAAE,CACzD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;AAD/B,QAAA,gBAAgB,oBACe;AAE5C,SAAgB,+BAA+B,CAAC,IAAkB;IAChE,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjD,WAAW,CAAC,IAAI,EAAE,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E,oFAAoF;AACpF,MAAM,oBAAoB,GAAmB,IAAI,GAAG,CAAC;IACnD,aAAa;IACb,kBAAkB;IAClB,aAAa;IACb,oBAAoB;CACrB,CAAC,CAAC;AAEH;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,IAAe;IACjD,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,WAAW,CAAC,MAAsB;IAIhD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,MAAsB;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;AACvF,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,MAAsB,EAAE,IAAe;IAC/D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,MAAsB,EACtB,YAA0B;IAE1B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,+EAA+E;AAC/E,uCAAuC;AACvC,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,eAAe,CAAC,MAA+B;IAC7D,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAA+B;IAC5D,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,SAAS,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAsB;IACpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,MAAsB;IACzD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,MAAsB;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,MAAsB;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,WAAW,CAAC,MAAsB;IAChD,OAAO,mBAAmB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,MAAsB;IAQ7D,IAAI,SAAS,GAAG,CAAC,EACf,OAAO,GAAG,CAAC,EACX,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,CAAC,CAAC;IAEd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,WAAW;gBACd,SAAS,EAAE,CAAC;gBACZ,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,EAAE,CAAC;gBACV,MAAM;YACR,KAAK,OAAO;gBACV,KAAK,EAAE,CAAC;gBACR,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,EAAE,CAAC;gBACT,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,EAAE,CAAC;gBACV,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC9E,CAAC;AA2BD;;;;;;;;;;;;;GAaG;AACH,SAAgB,iBAAiB,CAAC,MAAsB;IACtD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE1C,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/D,IAAI,oBAAoB,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC;IAEpD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,CAAC,IAAe,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IACnF,MAAM,SAAS,GAAG,CAAC,IAAe,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAC1C,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,aAAa,CAAC;IAChF,CAAC,CAAC;IAEF,gBAAgB;IAChB,IAAI,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,eAAe,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjF,IAAI,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,SAAS,CAAC,iBAAiB,CAAC;QAAE,OAAO,QAAQ,CAAC;IAErF,gBAAgB;IAChB,IAAI,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/E,IAAI,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC,kBAAkB,CAAC;QAAE,OAAO,UAAU,CAAC;IACzF,IAAI,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/E,IAAI,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,SAAS,CAAC,oBAAoB,CAAC;QAAE,OAAO,YAAY,CAAC;IAE/F,+DAA+D;IAC/D,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACxF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAAC,MAAsB;IACvD,yEAAyE;IACzE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACrE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;YACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,SAAgB,gBAAgB,CAAC,yBAAiC;IAChE,OAAO,IAAA,mBAAW,EAAC,yBAAyB,EAAE;QAC5C,qBAAS,CAAC,uBAAuB;QACjC,qBAAS,CAAC,0BAA0B;KACrC,CAAC,CAAC;AACL,CAAC;AAED,wEAAwE;AAC3D,QAAA,oBAAoB,GAAG,CAAC,aAAa,EAAE,aAAa,CAAU,CAAC;AAE5E;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAwB;IACtD,OAAQ,4BAA0C,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,+EAA+E;AAC/E,sCAAsC;AACtC,+EAA+E;AAE/E,yEAAyE;AACzE,gFAAgF;AAChF,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAkD,CAAC;AAE1F;;;GAGG;AACI,KAAK,UAAU,iBAAiB,CACrC,WAAmB,EACnB,QAAmC;IAEnC,IAAI,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAc,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,SAAS,WAAW,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,SAAS,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,6BAA6B,CACjD,WAAmB,EACnB,YAAoB,EACpB,QAAmC;IAEnC,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjE,OAAO,SAAS,GAAG,YAAY,CAAC;AAClC,CAAC;AAED,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAE/E;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,mBAAmB,CACvC,eAAuB,EACvB,WAAmB,EACnB,QAAmC;IAEnC,oDAAoD;IACpD,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAS,EAAC,QAAQ,EAAE;QACxC,IAAA,0BAAc,EAAU,eAAe,EAAE,wBAAiB,EAAE,kBAAkB,EAAE,CAAC,WAAW,CAAC,CAAC;QAC9F,IAAA,0BAAc,EAAU,eAAe,EAAE,wBAAiB,EAAE,iBAAiB,EAAE,CAAC,WAAW,CAAC,CAAC;KAC9F,CAAC,CAAC;IAEH,MAAM,OAAO,GAAI,OAAO,CAAC,CAAC,CAAyB,IAAI,KAAK,CAAC;IAC7D,MAAM,MAAM,GAAI,OAAO,CAAC,CAAC,CAAyB,IAAI,KAAK,CAAC;IAE5D,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,CAAC,mBAAmB;IAC7C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,WAAW,CAAC,4BAA4B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,WAAW,CAAC,sCAAsC,CAAC,CAAC;AAC7D,CAAC;AAgBD;;GAEG;AACH,SAAgB,uBAAuB,CAAC,KAAmB;IACzD,IAAI,SAAS,GAA6B,IAAI,CAAC;IAC/C,KAAK,MAAM,SAAS,IAAI,4BAAoB,EAAE,CAAC;QAC7C,SAAS,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,SAAS;YAAE,MAAM;IACvB,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,eAAe,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAA,yCAAiC,EAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAEzF,MAAM,OAAO,GAA6B;QACxC,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,iBAAiB;KAClB,CAAC;IAEF,IAAI,SAAS,CAAC,0BAA0B,EAAE,CAAC;QACzC,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;QAC1C,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,sBAAsB,CAAC;QAClE,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;IAChE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2DAA2D;AAC3D,SAAgB,uBAAuB,CAAC,aAA4B;IAClE,OAAO,CACL,aAAa,CAAC,gBAAgB;QAC9B,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACnE,CAAC;AACJ,CAAC;AAED,8CAA8C;AACvC,KAAK,UAAU,oBAAoB,CACxC,aAA4B,EAC5B,cAA8B,EAC9B,QAAmC;IAEnC,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;QAChC,OAAO,6BAA6B,CAClC,aAAa,CAAC,aAAa,CAAC,WAAW,EACvC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,EAC5C,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC9D,OAAO,CAAC,cAAc,CAAC,MAAM,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED,iEAAiE;AACjE,SAAgB,yBAAyB,CACvC,eAAuB,EACvB,WAAmB,EACnB,gBAAqC;IAErC,MAAM,OAAO,GAA4B,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;IAC1E,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,iBAAiB,GAAG,IAAA,uCAA+B,EAAC,gBAAgB,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAWD,sEAAsE;AACtE,SAAgB,uBAAuB,CACrC,KAAmB,EACnB,UAAoC,EAAE;IAEtC,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC1D,OAAO,WAAW,CAAC,uCAAuC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACjF,OAAO,WAAW,CAChB,0BAA0B,KAAK,CAAC,IAAI,eAAe,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAaD,SAAgB,gBAAgB,CAC9B,KAAa,EACb,WAAc;IAEd,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;AACzE,CAAC;AAED,SAAgB,eAAe,CAAC,KAAa;IAC3C,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,SAAgB,2BAA2B,CACzC,KAAmB,EACnB,WAAc,EACd,UAAoC,EAAE;IAEtC,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAED,SAAgB,0BAA0B,CACxC,KAAmB,EACnB,UAAoC,EAAE;IAEtC,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E,8DAA8D;AACvD,KAAK,UAAU,kCAAkC,CACtD,KAAmB,EACnB,eAAuB,EACvB,WAAmB,EACnB,QAAmC,EACnC,KAAY,EACZ,SAAiB,EACjB,OAAgB,EAChB,cAAuB;IAEvB,MAAM,KAAK,GAAG,MAAM,IAAA,0CAAqB,EAAC,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE;QAChF,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,sBAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;SACtD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;SAChB,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAEpC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE/C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC;QACtC,OAAO;aACJ,MAAM,CAAC,WAAW,CAAC;aACnB,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE;YACnD,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,UAAU;SACxB,CAAC;aACD,MAAM,CAAC,EAAE,SAAS,EAAE,cAAc,IAAI,aAAa,EAAE,CAAC;aACtD,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACzB,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;YACtB,eAAe,EAAE,KAAK,CAAC,MAAM;YAC7B,cAAc,EAAE,KAAK,CAAC,WAAW;SAClC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,OAAO;aACX,MAAM,CAAC,WAAW,CAAC;aACnB,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,+CAA+C,EAAE,CAAC;aAC5E,KAAK,EAAE;QACV,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Bundled Cache Extraction Utilities
3
+ *
4
+ * Type-safe utilities for extracting data from the bundled cache JSON.
5
+ * These eliminate the need for consumers to parse checkpoint internals.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
10
+ * import { extractProposals, getWatermarksFromCache } from "@gzeoneth/gov-tracker";
11
+ *
12
+ * const proposals = extractProposals(bundledCache);
13
+ * const watermarks = getWatermarksFromCache(bundledCache);
14
+ * ```
15
+ */
16
+ import type { TrackingCheckpoint, TrackedStage, TimelockLink, DiscoveryWatermarks, VotingActiveData, ProposalState } from "../types";
17
+ /**
18
+ * Type for the bundled cache JSON structure
19
+ */
20
+ export type BundledCache = Record<string, TrackingCheckpoint>;
21
+ /**
22
+ * Extracted proposal metadata from a checkpoint
23
+ */
24
+ export interface ExtractedProposal {
25
+ cacheKey: string;
26
+ proposalId: string;
27
+ governorAddress: string;
28
+ creationTxHash: string;
29
+ stages: TrackedStage[];
30
+ isComplete: boolean;
31
+ timelockLink?: TimelockLink;
32
+ currentState?: ProposalState;
33
+ operationId?: string;
34
+ }
35
+ /**
36
+ * Extracted timelock operation metadata from a checkpoint
37
+ */
38
+ export interface ExtractedTimelockOp {
39
+ cacheKey: string;
40
+ timelockAddress: string;
41
+ operationId: string;
42
+ scheduledTxHash: string;
43
+ stages: TrackedStage[];
44
+ isComplete: boolean;
45
+ }
46
+ /**
47
+ * Extracted election metadata from a checkpoint
48
+ */
49
+ export interface ExtractedElection {
50
+ cacheKey: string;
51
+ electionIndex: number;
52
+ stages: TrackedStage[];
53
+ phase?: string;
54
+ isComplete: boolean;
55
+ }
56
+ /**
57
+ * Extract proposal metadata from bundled cache
58
+ *
59
+ * Filters to governor-type checkpoints (excludes elections, timelocks, discovery).
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
64
+ * const proposals = extractProposals(bundledCache);
65
+ *
66
+ * for (const p of proposals) {
67
+ * console.log(`Proposal ${p.proposalId}: ${p.isComplete ? "done" : "active"}`);
68
+ * }
69
+ * ```
70
+ */
71
+ export declare function extractProposals(cache: BundledCache): ExtractedProposal[];
72
+ /**
73
+ * Extract timelock operation metadata from bundled cache
74
+ *
75
+ * Filters to timelock-type checkpoints only.
76
+ */
77
+ export declare function extractTimelockOps(cache: BundledCache): ExtractedTimelockOp[];
78
+ /**
79
+ * Extract election metadata from bundled cache
80
+ *
81
+ * Filters to election-type checkpoints only.
82
+ */
83
+ export declare function extractElections(cache: BundledCache): ExtractedElection[];
84
+ /**
85
+ * Get discovery watermarks from bundled cache
86
+ *
87
+ * Returns the watermarks stored in the discovery:watermarks checkpoint.
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * import bundledCache from "@gzeoneth/gov-tracker/bundled-cache.json";
92
+ * const watermarks = getWatermarksFromCache(bundledCache);
93
+ *
94
+ * if (watermarks) {
95
+ * console.log("Core Governor scanned to block:", watermarks.constitutionalGovernor);
96
+ * }
97
+ * ```
98
+ */
99
+ export declare function getWatermarksFromCache(cache: BundledCache): DiscoveryWatermarks | null;
100
+ /**
101
+ * Extract all operation IDs from governor checkpoints
102
+ *
103
+ * Returns a Map of proposalId -> operationId for all proposals that have
104
+ * been queued in a timelock.
105
+ */
106
+ export declare function extractOperationIds(cache: BundledCache): Map<string, string>;
107
+ /**
108
+ * Extract TimelockLink from stages array
109
+ *
110
+ * Helper to get timelock link data from completed PROPOSAL_QUEUED stage.
111
+ */
112
+ export declare function extractTimelockLinkFromStages(stages: TrackedStage[]): TimelockLink | undefined;
113
+ /**
114
+ * Get voting data from stages array
115
+ *
116
+ * Extracts typed vote counts and proposal state from VOTING_ACTIVE stage.
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * const votingData = getVotingDataFromStages(result.stages);
121
+ * if (votingData) {
122
+ * console.log(`For: ${votingData.forVotesRaw}, Against: ${votingData.againstVotesRaw}`);
123
+ * }
124
+ * ```
125
+ */
126
+ export declare function getVotingDataFromStages(stages: TrackedStage[]): VotingActiveData | null;
127
+ //# sourceMappingURL=bundled-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundled-cache.d.ts","sourceRoot":"","sources":["../../src/tracker/bundled-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EAKnB,gBAAgB,EAChB,aAAa,EACd,MAAM,UAAU,CAAC;AAIlB;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,EAAE,CA+BzE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,mBAAmB,EAAE,CAoB7E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,EAAE,CAoBzE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,mBAAmB,GAAG,IAAI,CAKtF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAiB5E;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,GAAG,SAAS,CAa9F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAgB,GAAG,IAAI,CAMvF"}