@gzeoneth/gov-tracker 0.2.1-beta.c266765 → 0.2.1-beta.d575294

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 (172) hide show
  1. package/README.md +40 -0
  2. package/dist/abis.d.ts +3 -0
  3. package/dist/abis.d.ts.map +1 -1
  4. package/dist/abis.js +8 -1
  5. package/dist/abis.js.map +1 -1
  6. package/dist/cli/cli.js +88 -44
  7. package/dist/cli/cli.js.map +1 -1
  8. package/dist/cli/lib/cli.d.ts +41 -3
  9. package/dist/cli/lib/cli.d.ts.map +1 -1
  10. package/dist/cli/lib/cli.js +333 -116
  11. package/dist/cli/lib/cli.js.map +1 -1
  12. package/dist/cli/lib/json-state.d.ts +23 -0
  13. package/dist/cli/lib/json-state.d.ts.map +1 -1
  14. package/dist/cli/lib/json-state.js +51 -4
  15. package/dist/cli/lib/json-state.js.map +1 -1
  16. package/dist/constants.d.ts +39 -1
  17. package/dist/constants.d.ts.map +1 -1
  18. package/dist/constants.js +47 -2
  19. package/dist/constants.js.map +1 -1
  20. package/dist/data/bundled-cache.json +10988 -1580
  21. package/dist/discovery/governor-discovery.d.ts.map +1 -1
  22. package/dist/discovery/governor-discovery.js +50 -35
  23. package/dist/discovery/governor-discovery.js.map +1 -1
  24. package/dist/discovery/timelock-discovery.d.ts +15 -6
  25. package/dist/discovery/timelock-discovery.d.ts.map +1 -1
  26. package/dist/discovery/timelock-discovery.js +27 -11
  27. package/dist/discovery/timelock-discovery.js.map +1 -1
  28. package/dist/election/contracts.d.ts +8 -0
  29. package/dist/election/contracts.d.ts.map +1 -0
  30. package/dist/election/contracts.js +28 -0
  31. package/dist/election/contracts.js.map +1 -0
  32. package/dist/election/details.d.ts +15 -0
  33. package/dist/election/details.d.ts.map +1 -0
  34. package/dist/election/details.js +157 -0
  35. package/dist/election/details.js.map +1 -0
  36. package/dist/election/index.d.ts +11 -0
  37. package/dist/election/index.d.ts.map +1 -0
  38. package/dist/election/index.js +48 -0
  39. package/dist/election/index.js.map +1 -0
  40. package/dist/election/params.d.ts +13 -0
  41. package/dist/election/params.d.ts.map +1 -0
  42. package/dist/election/params.js +93 -0
  43. package/dist/election/params.js.map +1 -0
  44. package/dist/election/participants.d.ts +6 -0
  45. package/dist/election/participants.d.ts.map +1 -0
  46. package/dist/election/participants.js +104 -0
  47. package/dist/election/participants.js.map +1 -0
  48. package/dist/election/prepare.d.ts +10 -0
  49. package/dist/election/prepare.d.ts.map +1 -0
  50. package/dist/election/prepare.js +52 -0
  51. package/dist/election/prepare.js.map +1 -0
  52. package/dist/election/proposal-ids.d.ts +18 -0
  53. package/dist/election/proposal-ids.d.ts.map +1 -0
  54. package/dist/election/proposal-ids.js +77 -0
  55. package/dist/election/proposal-ids.js.map +1 -0
  56. package/dist/election/status.d.ts +15 -0
  57. package/dist/election/status.d.ts.map +1 -0
  58. package/dist/election/status.js +102 -0
  59. package/dist/election/status.js.map +1 -0
  60. package/dist/election/tracking.d.ts +28 -0
  61. package/dist/election/tracking.d.ts.map +1 -0
  62. package/dist/election/tracking.js +412 -0
  63. package/dist/election/tracking.js.map +1 -0
  64. package/dist/index.d.ts +6 -4
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +51 -11
  67. package/dist/index.js.map +1 -1
  68. package/dist/stages/l2-to-l1-message.d.ts +3 -1
  69. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  70. package/dist/stages/l2-to-l1-message.js +6 -6
  71. package/dist/stages/l2-to-l1-message.js.map +1 -1
  72. package/dist/stages/proposal-created.d.ts +1 -0
  73. package/dist/stages/proposal-created.d.ts.map +1 -1
  74. package/dist/stages/proposal-created.js +1 -0
  75. package/dist/stages/proposal-created.js.map +1 -1
  76. package/dist/stages/proposal-queued.d.ts +1 -0
  77. package/dist/stages/proposal-queued.d.ts.map +1 -1
  78. package/dist/stages/proposal-queued.js +3 -1
  79. package/dist/stages/proposal-queued.js.map +1 -1
  80. package/dist/stages/retryables.js +2 -2
  81. package/dist/stages/retryables.js.map +1 -1
  82. package/dist/stages/timelock.d.ts +3 -1
  83. package/dist/stages/timelock.d.ts.map +1 -1
  84. package/dist/stages/timelock.js +12 -12
  85. package/dist/stages/timelock.js.map +1 -1
  86. package/dist/stages/utils.d.ts +5 -9
  87. package/dist/stages/utils.d.ts.map +1 -1
  88. package/dist/stages/utils.js +34 -29
  89. package/dist/stages/utils.js.map +1 -1
  90. package/dist/tracker/cache.d.ts +10 -6
  91. package/dist/tracker/cache.d.ts.map +1 -1
  92. package/dist/tracker/cache.js +36 -13
  93. package/dist/tracker/cache.js.map +1 -1
  94. package/dist/tracker/checkpoint-helpers.d.ts +81 -0
  95. package/dist/tracker/checkpoint-helpers.d.ts.map +1 -0
  96. package/dist/tracker/checkpoint-helpers.js +201 -0
  97. package/dist/tracker/checkpoint-helpers.js.map +1 -0
  98. package/dist/tracker/discovery.d.ts +1 -1
  99. package/dist/tracker/discovery.d.ts.map +1 -1
  100. package/dist/tracker/discovery.js +11 -3
  101. package/dist/tracker/discovery.js.map +1 -1
  102. package/dist/tracker/execute.d.ts.map +1 -1
  103. package/dist/tracker/execute.js +1 -25
  104. package/dist/tracker/execute.js.map +1 -1
  105. package/dist/tracker/pipeline.d.ts.map +1 -1
  106. package/dist/tracker/pipeline.js +26 -11
  107. package/dist/tracker/pipeline.js.map +1 -1
  108. package/dist/tracker/query.d.ts +1 -0
  109. package/dist/tracker/query.d.ts.map +1 -1
  110. package/dist/tracker/query.js +14 -61
  111. package/dist/tracker/query.js.map +1 -1
  112. package/dist/tracker/state.d.ts +0 -10
  113. package/dist/tracker/state.d.ts.map +1 -1
  114. package/dist/tracker/state.js +1 -28
  115. package/dist/tracker/state.js.map +1 -1
  116. package/dist/tracker.d.ts +79 -7
  117. package/dist/tracker.d.ts.map +1 -1
  118. package/dist/tracker.js +357 -43
  119. package/dist/tracker.js.map +1 -1
  120. package/dist/types/config.d.ts +49 -0
  121. package/dist/types/config.d.ts.map +1 -1
  122. package/dist/types/core.d.ts +3 -1
  123. package/dist/types/core.d.ts.map +1 -1
  124. package/dist/types/election.d.ts +66 -11
  125. package/dist/types/election.d.ts.map +1 -1
  126. package/dist/types/index.d.ts +4 -6
  127. package/dist/types/index.d.ts.map +1 -1
  128. package/dist/types/index.js +2 -3
  129. package/dist/types/index.js.map +1 -1
  130. package/dist/types/stages.d.ts +66 -7
  131. package/dist/types/stages.d.ts.map +1 -1
  132. package/dist/types/stages.js.map +1 -1
  133. package/dist/types/tracking.d.ts +10 -10
  134. package/dist/types/tracking.d.ts.map +1 -1
  135. package/dist/utils/block-cache.d.ts +50 -0
  136. package/dist/utils/block-cache.d.ts.map +1 -0
  137. package/dist/utils/block-cache.js +80 -0
  138. package/dist/utils/block-cache.js.map +1 -0
  139. package/dist/utils/formatters.d.ts +91 -0
  140. package/dist/utils/formatters.d.ts.map +1 -0
  141. package/dist/utils/formatters.js +327 -0
  142. package/dist/utils/formatters.js.map +1 -0
  143. package/dist/utils/multicall.d.ts +52 -0
  144. package/dist/utils/multicall.d.ts.map +1 -0
  145. package/dist/utils/multicall.js +75 -0
  146. package/dist/utils/multicall.js.map +1 -0
  147. package/dist/utils/rpc-utils.d.ts +7 -1
  148. package/dist/utils/rpc-utils.d.ts.map +1 -1
  149. package/dist/utils/rpc-utils.js +42 -29
  150. package/dist/utils/rpc-utils.js.map +1 -1
  151. package/dist/utils/salt-computation.d.ts.map +1 -1
  152. package/dist/utils/salt-computation.js +33 -7
  153. package/dist/utils/salt-computation.js.map +1 -1
  154. package/dist/utils/sanitize.d.ts.map +1 -1
  155. package/dist/utils/sanitize.js +3 -0
  156. package/dist/utils/sanitize.js.map +1 -1
  157. package/dist/utils/stage-metadata.d.ts +0 -20
  158. package/dist/utils/stage-metadata.d.ts.map +1 -1
  159. package/dist/utils/stage-metadata.js +29 -44
  160. package/dist/utils/stage-metadata.js.map +1 -1
  161. package/dist/utils/timing.d.ts.map +1 -1
  162. package/dist/utils/timing.js +2 -1
  163. package/dist/utils/timing.js.map +1 -1
  164. package/package.json +3 -2
  165. package/dist/election.d.ts +0 -312
  166. package/dist/election.d.ts.map +0 -1
  167. package/dist/election.js +0 -884
  168. package/dist/election.js.map +0 -1
  169. package/dist/types/cross-chain.d.ts +0 -24
  170. package/dist/types/cross-chain.d.ts.map +0 -1
  171. package/dist/types/cross-chain.js +0 -6
  172. package/dist/types/cross-chain.js.map +0 -1
@@ -3,6 +3,54 @@
3
3
  */
4
4
  import { ethers } from "ethers";
5
5
  import { TrackedStage } from "./stages";
6
+ /**
7
+ * Tracking context for block-scoped caching and consistent state reads.
8
+ *
9
+ * When block numbers are provided:
10
+ * - RPC calls use these blocks for state queries (immutable historical state)
11
+ * - Results are cached keyed by block number
12
+ * - Consistent results across multiple function calls in the same tracking session
13
+ *
14
+ * When block numbers are not provided:
15
+ * - RPC calls query "latest" state (mutable)
16
+ * - Results are only cached if they are known to be immutable (via isImmutable predicate)
17
+ *
18
+ * The context should be created once at the start of a tracking session and passed
19
+ * through all function calls for consistency.
20
+ */
21
+ export interface TrackingContext {
22
+ /**
23
+ * L2 (Arbitrum One) block number for block-scoped caching.
24
+ * When provided, enables immutable historical state caching for L2 operations.
25
+ */
26
+ l2BlockNumber?: number;
27
+ /**
28
+ * L1 (Ethereum mainnet) block number for block-scoped caching.
29
+ * When provided, enables immutable historical state caching for L1 operations.
30
+ */
31
+ l1BlockNumber?: number;
32
+ /**
33
+ * Nova block number for block-scoped caching.
34
+ * When provided, enables immutable historical state caching for Nova operations.
35
+ */
36
+ novaBlockNumber?: number;
37
+ /**
38
+ * Unix timestamp (seconds) for consistent time-based calculations.
39
+ * Used for ETA calculations, delay checks, and timing displays.
40
+ * When provided, avoids repeated getBlock() calls to fetch current time.
41
+ */
42
+ timestamp?: number;
43
+ /**
44
+ * Override chunk size for log searches.
45
+ * When provided, overrides the default chunk sizes from ChunkingConfig.
46
+ */
47
+ chunkSize?: number;
48
+ /**
49
+ * Skip cache lookups and force fresh RPC queries.
50
+ * Useful for debugging or when cache might be stale.
51
+ */
52
+ skipCache?: boolean;
53
+ }
6
54
  /**
7
55
  * Chunking configuration for log searches
8
56
  */
@@ -77,5 +125,6 @@ export interface CacheAdapter {
77
125
  clear(): Promise<void>;
78
126
  has(key: string): Promise<boolean>;
79
127
  keys(prefix?: string): Promise<string[]> | string[] | IterableIterator<string>;
128
+ flush?(): Promise<void>;
80
129
  }
81
130
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;IACzC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACvC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;CAChF"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;IACzC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACvC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/E,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
@@ -47,7 +47,7 @@ export declare function isL2Chain(chain: Chain): chain is L2Chain;
47
47
  * Get human-readable display name for a chain
48
48
  */
49
49
  export declare function getChainDisplayName(chain: Chain): string;
50
- export type StageType = "PROPOSAL_CREATED" | "VOTING_ACTIVE" | "PROPOSAL_QUEUED" | "L2_TIMELOCK" | "L2_TO_L1_MESSAGE" | "L1_TIMELOCK" | "RETRYABLE_EXECUTED";
50
+ export type StageType = "PROPOSAL_CREATED" | "VOTING_ACTIVE" | "PROPOSAL_QUEUED" | "L2_TIMELOCK" | "L2_TO_L1_MESSAGE" | "L1_TIMELOCK" | "RETRYABLE_EXECUTED" | "CREATE_ELECTION" | "NOMINEE_ELECTION" | "NOMINEE_VETTING" | "MEMBER_ELECTION";
51
51
  export type StageStatus = "NOT_STARTED" | "PENDING" | "READY" | "COMPLETED" | "FAILED" | "SKIPPED" | "CANCELED";
52
52
  export interface StageTransaction {
53
53
  hash: string;
@@ -72,5 +72,7 @@ export interface SearchHint {
72
72
  startBlock: number;
73
73
  endBlock?: number;
74
74
  direction?: "forward" | "backward";
75
+ /** Override chunk size for this search (uses chain-appropriate default if not specified) */
76
+ chunkSize?: number;
75
77
  }
76
78
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;;GAOG;AACH,MAAM,MAAM,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,GAAG,MAAM,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAI1C,CAAC;AAWX;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAEtD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAGhE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,UAAU,CAE9D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,OAAO,CAExD;AAYD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAExD;AAID,MAAM,MAAM,SAAS,GACjB,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,aAAa,GACb,kBAAkB,GAClB,aAAa,GACb,oBAAoB,CAAC;AAEzB,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,SAAS,GACT,OAAO,GACP,WAAW,GACX,QAAQ,GACR,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;CACpC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;;GAOG;AACH,MAAM,MAAM,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,GAAG,MAAM,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAI1C,CAAC;AAWX;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAEtD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAGhE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,UAAU,CAE9D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,OAAO,CAExD;AAYD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAExD;AAID,MAAM,MAAM,SAAS,GACjB,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,aAAa,GACb,kBAAkB,GAClB,aAAa,GACb,oBAAoB,GACpB,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,SAAS,GACT,OAAO,GACP,WAAW,GACX,QAAQ,GACR,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACnC,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -30,17 +30,6 @@ export interface ElectionNominee {
30
30
  /** Transaction hash of exclusion (if applicable) */
31
31
  exclusionTxHash?: string;
32
32
  }
33
- /**
34
- * Vote cast in the member election (with decreasing weight over time)
35
- */
36
- export interface MemberElectionVote {
37
- voter: string;
38
- nominee: string;
39
- votes: BigNumber;
40
- weight: BigNumber;
41
- blockNumber: number;
42
- txHash: string;
43
- }
44
33
  /**
45
34
  * Nominee's standing in the member election
46
35
  */
@@ -87,6 +76,58 @@ export interface MemberElectionDetails {
87
76
  /** Proposal deadline block */
88
77
  proposalDeadline: number;
89
78
  }
79
+ /**
80
+ * Serializable contender (for JSON caching)
81
+ */
82
+ export interface SerializableContender {
83
+ address: string;
84
+ registeredAtBlock: number;
85
+ registrationTxHash: string;
86
+ }
87
+ /**
88
+ * Serializable nominee (BigNumber converted to string for JSON caching)
89
+ */
90
+ export interface SerializableNominee {
91
+ address: string;
92
+ votesReceived: string;
93
+ isExcluded: boolean;
94
+ nominatedAtBlock?: number;
95
+ excludedAtBlock?: number;
96
+ exclusionTxHash?: string;
97
+ }
98
+ /**
99
+ * Serializable member election nominee (BigNumber converted to string for JSON caching)
100
+ */
101
+ export interface SerializableMemberNominee {
102
+ address: string;
103
+ weightReceived: string;
104
+ isWinner: boolean;
105
+ rank: number;
106
+ }
107
+ /**
108
+ * Serializable nominee election details (for JSON caching in bundled cache)
109
+ */
110
+ export interface SerializableNomineeDetails {
111
+ proposalId: string;
112
+ electionIndex: number;
113
+ contenders: SerializableContender[];
114
+ nominees: SerializableNominee[];
115
+ compliantNominees: SerializableNominee[];
116
+ excludedNominees: SerializableNominee[];
117
+ quorumThreshold: string;
118
+ targetNomineeCount: number;
119
+ }
120
+ /**
121
+ * Serializable member election details (for JSON caching in bundled cache)
122
+ */
123
+ export interface SerializableMemberDetails {
124
+ proposalId: string;
125
+ electionIndex: number;
126
+ nominees: SerializableMemberNominee[];
127
+ winners: string[];
128
+ fullWeightDeadline: number;
129
+ proposalDeadline: number;
130
+ }
90
131
  /**
91
132
  * Cohort identifier for Security Council elections
92
133
  */
@@ -113,6 +154,20 @@ export interface ElectionProposalStatus {
113
154
  canProceedToMemberPhase: boolean;
114
155
  /** True when member election succeeded and can be executed to install new council */
115
156
  canExecuteMember: boolean;
157
+ /** Stage tracking fields */
158
+ stages?: import("./stages").TrackedStage[];
159
+ isFailed?: boolean;
160
+ failureReason?: string;
161
+ /** L2 timelock operationId from member election execution */
162
+ timelockOperationId?: string;
163
+ /** Transaction hashes for each phase */
164
+ creationTxHash?: string;
165
+ nomineeExecuteTxHash?: string;
166
+ memberExecuteTxHash?: string;
167
+ /** Fields for next election (not yet created) - used for createElection preparation */
168
+ canCreateElection?: boolean;
169
+ secondsUntilElection?: number;
170
+ timeUntilElection?: string;
116
171
  }
117
172
  /**
118
173
  * Election status information
@@ -1 +1 @@
1
- {"version":3,"file":"election.d.ts","sourceRoot":"","sources":["../../src/types/election.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"election.d.ts","sourceRoot":"","sources":["../../src/types/election.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,7 @@
5
5
  * - core: Primitives (StageType, Chain, timing/ETA types)
6
6
  * - governor: Governor, proposal, voting types
7
7
  * - timelock: Timelock operations and state
8
- * - cross-chain: L2→L1 messages and retryables
9
- * - stages: Stage data types and TrackedStage
8
+ * - stages: Stage data types, TrackedStage, cross-chain types
10
9
  * - tracking: Context, results, checkpoints, execution
11
10
  * - config: TrackerOptions, ChunkingConfig
12
11
  * - election: Security Council election types
@@ -14,11 +13,10 @@
14
13
  export { StageType, StageStatus, Chain, KnownChain, L2Chain, ChainId, chainIdToChain, chainToChainId, isKnownChain, isL2Chain, getChainDisplayName, StageTransaction, StageTiming, SearchHint, } from "./core";
15
14
  export { ProposalType, GovernorCapability, ProposalState, ProposalData, VotingData, ProposalCreatedEventArgs, } from "./governor";
16
15
  export { TimelockOperationState, SerializedCallScheduledData, CallScheduledData, CallExecutedData, TimelockParams, TimelockBatchParams, TimelockState, OperationState, TimelockLink, } from "./timelock";
17
- export { RetryableCreationDetail, RetryableRedemptionDetail } from "./cross-chain";
18
- export { BaseStageData, ProposalCreatedData, VotingActiveData, ProposalQueuedData, BaseTimelockData, TimelockStageData, L2ToL1MessageStageData, RetryableStageData, StageDataMap, TrackedStage, TypedTrackedStage, isStageType, getStageData, } from "./stages";
16
+ export { BaseStageData, ProposalCreatedData, VotingActiveData, ProposalQueuedData, BaseTimelockData, TimelockStageData, L2ToL1MessageStageData, RetryableStageData, RetryableCreationDetail, RetryableRedemptionDetail, CreateElectionData, NomineeElectionData, NomineeVettingData, MemberElectionData, StageDataMap, TrackedStage, TypedTrackedStage, isStageType, getStageData, } from "./stages";
19
17
  export { PrepareOptions, PrepareResult, PreparedTransaction, GovernorTrackingInput, TimelockTrackingInput, DiscoveryTrackingInput, ElectionTrackingInput, TrackingInput, NextStageHints, StageTrackResult, DiscoveryKey, DiscoveryWatermarks, WatermarkHashes, DiscoveryTargets, TrackingCheckpoint, TrackerStats, TrackingResult, } from "./tracking";
20
- export { ChunkingConfig, RetryConfig, TrackingProgress, OnProgressCallback, TrackerOptions, CacheAdapter, } from "./config";
21
- export { CohortType, ElectionPhase, ElectionProposalStatus, ElectionStatus, ElectionCheckResult, ElectionContender, ElectionNominee, MemberElectionVote, MemberElectionNominee, NomineeElectionDetails, MemberElectionDetails, } from "./election";
18
+ export { TrackingContext, ChunkingConfig, RetryConfig, TrackingProgress, OnProgressCallback, TrackerOptions, CacheAdapter, } from "./config";
19
+ export { CohortType, ElectionPhase, ElectionProposalStatus, ElectionStatus, ElectionCheckResult, ElectionContender, ElectionNominee, MemberElectionNominee, NomineeElectionDetails, MemberElectionDetails, SerializableContender, SerializableNominee, SerializableMemberNominee, SerializableNomineeDetails, SerializableMemberDetails, } from "./election";
22
20
  export { DecodingSource, DecodedCalldata, DecodedParameter, isRetryable, RetryableTicketData, KnownAddress, SignatureEntry, ExtractedCalldata, } from "./calldata";
23
21
  export { SimulationType, BaseSimulationData, RetryableSimulationData, TimelockSimulationData, CallSimulationData, SimulationData, ExtractedSimulation, } from "./simulation";
24
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,SAAS,EACT,WAAW,EACX,KAAK,EACL,UAAU,EACV,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,UAAU,GACX,MAAM,QAAQ,CAAC;AAGhB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAGnF,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,YAAY,GACb,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EAEnB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EAErB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EACL,SAAS,EACT,WAAW,EACX,KAAK,EACL,UAAU,EACV,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,UAAU,GACX,MAAM,QAAQ,CAAC;AAGhB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,YAAY,GACb,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,eAAe,EACf,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EAEnB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EAErB,sBAAsB,EACtB,qBAAqB,EAErB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,cAAc,CAAC"}
@@ -6,8 +6,7 @@
6
6
  * - core: Primitives (StageType, Chain, timing/ETA types)
7
7
  * - governor: Governor, proposal, voting types
8
8
  * - timelock: Timelock operations and state
9
- * - cross-chain: L2→L1 messages and retryables
10
- * - stages: Stage data types and TrackedStage
9
+ * - stages: Stage data types, TrackedStage, cross-chain types
11
10
  * - tracking: Context, results, checkpoints, execution
12
11
  * - config: TrackerOptions, ChunkingConfig
13
12
  * - election: Security Council election types
@@ -21,7 +20,7 @@ Object.defineProperty(exports, "chainToChainId", { enumerable: true, get: functi
21
20
  Object.defineProperty(exports, "isKnownChain", { enumerable: true, get: function () { return core_1.isKnownChain; } });
22
21
  Object.defineProperty(exports, "isL2Chain", { enumerable: true, get: function () { return core_1.isL2Chain; } });
23
22
  Object.defineProperty(exports, "getChainDisplayName", { enumerable: true, get: function () { return core_1.getChainDisplayName; } });
24
- // Stage data types
23
+ // Stage data types (includes cross-chain types)
25
24
  var stages_1 = require("./stages");
26
25
  Object.defineProperty(exports, "isStageType", { enumerable: true, get: function () { return stages_1.isStageType; } });
27
26
  Object.defineProperty(exports, "getStageData", { enumerable: true, get: function () { return stages_1.getStageData; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAEH,2BAA2B;AAC3B,+BAegB;AARd,sGAAA,cAAc,OAAA;AACd,sGAAA,cAAc,OAAA;AACd,oGAAA,YAAY,OAAA;AACZ,iGAAA,SAAS,OAAA;AACT,2GAAA,mBAAmB,OAAA;AAgCrB,mBAAmB;AACnB,mCAckB;AAFhB,qGAAA,WAAW,OAAA;AACX,sGAAA,YAAY,OAAA;AAmDd,0BAA0B;AAC1B,uCASoB;AALlB,uGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,2BAA2B;AAC3B,+BAegB;AARd,sGAAA,cAAc,OAAA;AACd,sGAAA,cAAc,OAAA;AACd,oGAAA,YAAY,OAAA;AACZ,iGAAA,SAAS,OAAA;AACT,2GAAA,mBAAmB,OAAA;AA6BrB,gDAAgD;AAChD,mCAoBkB;AAFhB,qGAAA,WAAW,OAAA;AACX,sGAAA,YAAY,OAAA;AAyDd,0BAA0B;AAC1B,uCASoB;AALlB,uGAAA,WAAW,OAAA"}
@@ -3,7 +3,26 @@
3
3
  */
4
4
  import { Chain, ChainId, L2Chain, StageType, StageStatus, StageTransaction, StageTiming } from "./core";
5
5
  import { SerializedCallScheduledData } from "./timelock";
6
- import { RetryableCreationDetail, RetryableRedemptionDetail } from "./cross-chain";
6
+ import { CohortType } from "./election";
7
+ /**
8
+ * Retryable creation detail
9
+ */
10
+ export interface RetryableCreationDetail {
11
+ index: number;
12
+ targetChain: L2Chain;
13
+ targetChainId: ChainId;
14
+ l2TxHash: string;
15
+ }
16
+ /**
17
+ * Retryable redemption detail
18
+ */
19
+ export interface RetryableRedemptionDetail {
20
+ index: number;
21
+ targetChain: L2Chain;
22
+ targetChainId: ChainId;
23
+ status: string;
24
+ l2TxHash: string | null;
25
+ }
7
26
  /**
8
27
  * Base stage data with common fields
9
28
  */
@@ -75,16 +94,12 @@ export interface ProposalQueuedData extends BaseStageData {
75
94
  callScheduledData?: SerializedCallScheduledData[];
76
95
  }
77
96
  /**
78
- * Base for all timelock stages.
79
- *
80
- * Note: callScheduledData is optional because L2_TIMELOCK doesn't store it
81
- * to avoid duplication (it's already in PROPOSAL_QUEUED). L1_TIMELOCK always
82
- * has callScheduledData since its data differs from PROPOSAL_QUEUED.
97
+ * Base for all timelock stages
83
98
  */
84
99
  export interface BaseTimelockData extends BaseStageData {
85
100
  operationId: string;
86
101
  timelockAddress: string;
87
- callScheduledData?: SerializedCallScheduledData[];
102
+ callScheduledData: SerializedCallScheduledData[];
88
103
  eta?: number;
89
104
  state?: string;
90
105
  waitingForDelay?: boolean;
@@ -147,6 +162,46 @@ export interface RetryableStageData extends BaseStageData {
147
162
  pendingCount?: number;
148
163
  txNotIndexedYet?: boolean;
149
164
  }
165
+ /**
166
+ * Data for CREATE_ELECTION stage
167
+ */
168
+ export interface CreateElectionData extends BaseStageData {
169
+ electionIndex: number;
170
+ cohort: CohortType;
171
+ startTimestamp: number;
172
+ nomineeProposalId?: string;
173
+ }
174
+ /**
175
+ * Data for NOMINEE_ELECTION stage
176
+ */
177
+ export interface NomineeElectionData extends BaseStageData {
178
+ nomineeProposalId: string;
179
+ proposalState: string;
180
+ contenderCount: number;
181
+ compliantNomineeCount: number;
182
+ targetNomineeCount: number;
183
+ quorumThreshold?: string;
184
+ }
185
+ /**
186
+ * Data for NOMINEE_VETTING stage
187
+ */
188
+ export interface NomineeVettingData extends BaseStageData {
189
+ nomineeProposalId: string;
190
+ vettingDeadline: number;
191
+ currentL1Block: number;
192
+ compliantNomineeCount: number;
193
+ memberProposalId?: string;
194
+ }
195
+ /**
196
+ * Data for MEMBER_ELECTION stage
197
+ */
198
+ export interface MemberElectionData extends BaseStageData {
199
+ memberProposalId: string;
200
+ proposalState: string;
201
+ winnersCount: number;
202
+ operationId?: string;
203
+ timelockAddress?: string;
204
+ }
150
205
  /**
151
206
  * Maps each StageType to its corresponding data interface.
152
207
  *
@@ -162,6 +217,10 @@ export interface StageDataMap {
162
217
  L2_TO_L1_MESSAGE: L2ToL1MessageStageData;
163
218
  L1_TIMELOCK: TimelockStageData;
164
219
  RETRYABLE_EXECUTED: RetryableStageData;
220
+ CREATE_ELECTION: CreateElectionData;
221
+ NOMINEE_ELECTION: NomineeElectionData;
222
+ NOMINEE_VETTING: NomineeVettingData;
223
+ MEMBER_ELECTION: MemberElectionData;
165
224
  }
166
225
  /**
167
226
  * Common fields shared by all TrackedStage variants
@@ -1 +1 @@
1
- {"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../src/types/stages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../src/types/stages.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stages.js","sourceRoot":"","sources":["../../src/types/stages.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA+OH,kCAKC;AAKD,oCAUC;AA9BD;;;;;;;;;GASG;AACH,SAAgB,WAAW,CACzB,KAAmB,EACnB,IAAO;IAEP,OAAO,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAC1B,KAAmB,EACnB,YAAe;IAEf,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,wEAAwE;IACxE,0CAA0C;IAC1C,OAAO,KAAK,CAAC,IAAuB,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"stages.js","sourceRoot":"","sources":["../../src/types/stages.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAoTH,kCAKC;AAKD,oCAUC;AA9BD;;;;;;;;;GASG;AACH,SAAgB,WAAW,CACzB,KAAmB,EACnB,IAAO;IAEP,OAAO,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAC1B,KAAmB,EACnB,YAAe;IAEf,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,wEAAwE;IACxE,0CAA0C;IAC1C,OAAO,KAAK,CAAC,IAAuB,CAAC;AACvC,CAAC"}
@@ -3,10 +3,9 @@
3
3
  */
4
4
  import { Chain, ChainId, StageType } from "./core";
5
5
  import { TrackedStage } from "./stages";
6
- import { CallScheduledData } from "./timelock";
6
+ import { CallScheduledData, TimelockLink } from "./timelock";
7
7
  import { ProposalType, ProposalData, ProposalState } from "./governor";
8
- import { TimelockState, TimelockLink } from "./timelock";
9
- import { ElectionProposalStatus } from "./election";
8
+ import { ElectionProposalStatus, SerializableNomineeDetails, SerializableMemberDetails } from "./election";
10
9
  export interface PrepareOptions {
11
10
  salt?: string;
12
11
  predecessor?: string;
@@ -16,10 +15,6 @@ export interface PrepareOptions {
16
15
  prepareCompleted?: boolean;
17
16
  /** Proposal description (needed for salt derivation if not in stage data) */
18
17
  description?: string;
19
- /** CallScheduledData for L2_TIMELOCK preparation (auto-resolved from stages if omitted) */
20
- callScheduledData?: CallScheduledData[];
21
- /** All stages - used to resolve callScheduledData from PROPOSAL_QUEUED for L2_TIMELOCK */
22
- stages?: TrackedStage[];
23
18
  }
24
19
  export type PrepareResult = {
25
20
  success: true;
@@ -122,10 +117,14 @@ export interface TrackingCheckpoint {
122
117
  cachedData: {
123
118
  completedStages?: TrackedStage[];
124
119
  discoveryWatermarks?: DiscoveryWatermarks;
125
- /** Block hashes for reorg detection (v0.2.2+) */
120
+ /** Block hashes for reorg detection */
126
121
  watermarkHashes?: WatermarkHashes;
127
- /** Election status for election checkpoints (v0.2.2+) */
122
+ /** Election status for election checkpoints */
128
123
  electionStatus?: ElectionProposalStatus;
124
+ /** Nominee election details for completed elections */
125
+ nomineeDetails?: SerializableNomineeDetails;
126
+ /** Member election details for completed elections */
127
+ memberDetails?: SerializableMemberDetails;
129
128
  };
130
129
  metadata?: {
131
130
  errorCount: number;
@@ -176,9 +175,10 @@ export interface TrackingResult {
176
175
  isComplete: boolean;
177
176
  proposalType?: ProposalType;
178
177
  proposalData?: ProposalData;
179
- timelockState?: TimelockState;
180
178
  timelockLink?: TimelockLink;
181
179
  currentState?: ProposalState;
182
180
  isElection?: boolean;
181
+ /** Election status for election proposals - includes full lifecycle tracking */
182
+ electionStatus?: ElectionProposalStatus;
183
183
  }
184
184
  //# sourceMappingURL=tracking.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracking.d.ts","sourceRoot":"","sources":["../../src/types/tracking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracking.d.ts","sourceRoot":"","sources":["../../src/types/tracking.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Block-scoped cache for RPC results
3
+ *
4
+ * Caches results that are immutable at a specific block number.
5
+ * Does NOT cache results queried at "latest" (mutable).
6
+ */
7
+ export interface BlockCacheOptions<T> {
8
+ /** Optional predicate to determine if result should be cached even without blockNumber */
9
+ isImmutable?: (value: T) => boolean;
10
+ }
11
+ /**
12
+ * A cache that stores values scoped by block number.
13
+ * Only caches when blockNumber is provided (immutable historical state),
14
+ * OR when the value passes the isImmutable predicate.
15
+ */
16
+ export declare class BlockScopedCache<K, V> {
17
+ private cache;
18
+ private isImmutable?;
19
+ constructor(options?: BlockCacheOptions<V>);
20
+ private makeKey;
21
+ /**
22
+ * Get a cached value.
23
+ * @param key - The cache key
24
+ * @param blockNumber - If provided, looks up block-scoped entry. If not, looks up "latest" entry.
25
+ * @param options.skipCache - If true, always returns undefined (forces fresh fetch)
26
+ */
27
+ get(key: K, blockNumber?: number, options?: {
28
+ skipCache?: boolean;
29
+ }): V | undefined;
30
+ /**
31
+ * Set a cached value.
32
+ * @param key - The cache key
33
+ * @param value - The value to cache
34
+ * @param blockNumber - If provided, caches as immutable block-scoped entry
35
+ */
36
+ set(key: K, value: V, blockNumber?: number): void;
37
+ /**
38
+ * Check if a value exists in cache.
39
+ */
40
+ has(key: K, blockNumber?: number): boolean;
41
+ /**
42
+ * Clear all cached entries.
43
+ */
44
+ clear(): void;
45
+ /**
46
+ * Get the number of cached entries.
47
+ */
48
+ get size(): number;
49
+ }
50
+ //# sourceMappingURL=block-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-cache.d.ts","sourceRoot":"","sources":["../../src/utils/block-cache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,0FAA0F;IAC1F,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;CACrC;AAED;;;;GAIG;AACH,qBAAa,gBAAgB,CAAC,CAAC,EAAE,CAAC;IAChC,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,WAAW,CAAC,CAAwB;gBAEhC,OAAO,GAAE,iBAAiB,CAAC,CAAC,CAAM;IAI9C,OAAO,CAAC,OAAO;IAKf;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,CAAC,GAAG,SAAS;IAgBnF;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAWjD;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO;IAI1C;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ /**
3
+ * Block-scoped cache for RPC results
4
+ *
5
+ * Caches results that are immutable at a specific block number.
6
+ * Does NOT cache results queried at "latest" (mutable).
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.BlockScopedCache = void 0;
10
+ /**
11
+ * A cache that stores values scoped by block number.
12
+ * Only caches when blockNumber is provided (immutable historical state),
13
+ * OR when the value passes the isImmutable predicate.
14
+ */
15
+ class BlockScopedCache {
16
+ constructor(options = {}) {
17
+ this.cache = new Map();
18
+ this.isImmutable = options.isImmutable;
19
+ }
20
+ makeKey(key, blockNumber) {
21
+ const keyStr = typeof key === "string" ? key : JSON.stringify(key);
22
+ return blockNumber !== undefined ? `${keyStr}:${blockNumber}` : keyStr;
23
+ }
24
+ /**
25
+ * Get a cached value.
26
+ * @param key - The cache key
27
+ * @param blockNumber - If provided, looks up block-scoped entry. If not, looks up "latest" entry.
28
+ * @param options.skipCache - If true, always returns undefined (forces fresh fetch)
29
+ */
30
+ get(key, blockNumber, options) {
31
+ // Skip cache if requested
32
+ if (options?.skipCache) {
33
+ return undefined;
34
+ }
35
+ // When blockNumber is provided, only check block-scoped cache
36
+ if (blockNumber !== undefined) {
37
+ return this.cache.get(this.makeKey(key, blockNumber));
38
+ }
39
+ // When no blockNumber, check if we have an immutable "latest" entry
40
+ const latestKey = this.makeKey(key);
41
+ return this.cache.get(latestKey);
42
+ }
43
+ /**
44
+ * Set a cached value.
45
+ * @param key - The cache key
46
+ * @param value - The value to cache
47
+ * @param blockNumber - If provided, caches as immutable block-scoped entry
48
+ */
49
+ set(key, value, blockNumber) {
50
+ if (blockNumber !== undefined) {
51
+ // Block-scoped: always cache (immutable historical state)
52
+ this.cache.set(this.makeKey(key, blockNumber), value);
53
+ }
54
+ else if (this.isImmutable?.(value)) {
55
+ // No blockNumber but value is immutable: cache as "latest"
56
+ this.cache.set(this.makeKey(key), value);
57
+ }
58
+ // Otherwise: don't cache (mutable state queried at "latest")
59
+ }
60
+ /**
61
+ * Check if a value exists in cache.
62
+ */
63
+ has(key, blockNumber) {
64
+ return this.cache.has(this.makeKey(key, blockNumber));
65
+ }
66
+ /**
67
+ * Clear all cached entries.
68
+ */
69
+ clear() {
70
+ this.cache.clear();
71
+ }
72
+ /**
73
+ * Get the number of cached entries.
74
+ */
75
+ get size() {
76
+ return this.cache.size;
77
+ }
78
+ }
79
+ exports.BlockScopedCache = BlockScopedCache;
80
+ //# sourceMappingURL=block-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-cache.js","sourceRoot":"","sources":["../../src/utils/block-cache.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAOH;;;;GAIG;AACH,MAAa,gBAAgB;IAI3B,YAAY,UAAgC,EAAE;QAHtC,UAAK,GAAG,IAAI,GAAG,EAAa,CAAC;QAInC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACzC,CAAC;IAEO,OAAO,CAAC,GAAM,EAAE,WAAoB;QAC1C,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnE,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,GAAM,EAAE,WAAoB,EAAE,OAAiC;QACjE,0BAA0B;QAC1B,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,8DAA8D;QAC9D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,oEAAoE;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,GAAM,EAAE,KAAQ,EAAE,WAAoB;QACxC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,0DAA0D;YAC1D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,2DAA2D;YAC3D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,6DAA6D;IAC/D,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAM,EAAE,WAAoB;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF;AAxED,4CAwEC"}