@gzeoneth/gov-tracker 0.4.0-alpha.addr-feedback.e1dac80 → 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.
@@ -71,25 +71,61 @@ export interface RetryConfig {
71
71
  }
72
72
  /**
73
73
  * Progress callback for monitoring stage tracking
74
+ *
75
+ * Note: During active tracking, the `stage` field contains the stage being
76
+ * processed. This may be a partial/incomplete stage while tracking is in
77
+ * progress (e.g., status may be "PENDING" while data is still being fetched).
78
+ * Only treat stages as final when `isComplete` is true.
74
79
  */
75
80
  export interface TrackingProgress {
81
+ /** Current stage being processed (may be partial during tracking) */
76
82
  stage: TrackedStage;
83
+ /** All stages tracked so far */
77
84
  stages: TrackedStage[];
85
+ /** Index of current stage in the full pipeline */
78
86
  currentIndex: number;
87
+ /** Total number of stages in the pipeline */
79
88
  totalStages: number;
89
+ /** Whether tracking has completed (all stages processed) */
80
90
  isComplete: boolean;
81
91
  }
82
92
  /**
83
93
  * Progress callback function type
84
94
  */
85
95
  export type OnProgressCallback = (progress: TrackingProgress) => void | Promise<void>;
96
+ /**
97
+ * Provider or RPC URL. When a string URL is provided, a StaticJsonRpcProvider is created.
98
+ */
99
+ export type ProviderOrUrl = ethers.providers.Provider | string;
86
100
  /**
87
101
  * Main tracker options
102
+ *
103
+ * Providers can be specified either as ethers Provider objects or as RPC URL strings.
104
+ * When URL strings are provided, StaticJsonRpcProvider instances are created internally.
105
+ *
106
+ * @example Using RPC URLs (recommended for web apps)
107
+ * ```typescript
108
+ * const tracker = createTracker({
109
+ * l2Provider: "https://arb1.arbitrum.io/rpc",
110
+ * l1Provider: "https://eth.llamarpc.com",
111
+ * });
112
+ * ```
113
+ *
114
+ * @example Using providers
115
+ * ```typescript
116
+ * const tracker = createTracker({
117
+ * l2Provider: new ethers.providers.StaticJsonRpcProvider(ARB1_RPC),
118
+ * l1Provider: new ethers.providers.StaticJsonRpcProvider(ETH_RPC),
119
+ * });
120
+ * ```
88
121
  */
89
122
  export interface TrackerOptions {
90
- l2Provider: ethers.providers.Provider;
91
- l1Provider: ethers.providers.Provider;
92
- novaProvider?: ethers.providers.Provider;
123
+ /** Arbitrum One provider or RPC URL (required) */
124
+ l2Provider?: ProviderOrUrl;
125
+ /** Ethereum mainnet provider or RPC URL (required) */
126
+ l1Provider: ProviderOrUrl;
127
+ /** Arbitrum Nova provider or RPC URL (optional, defaults to public RPC) */
128
+ novaProvider?: ProviderOrUrl;
93
129
  chunkingConfig?: ChunkingConfig;
94
130
  onProgress?: OnProgressCallback;
95
131
  /**
@@ -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;;;;;;;;;;;;;;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"}
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;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,KAAK,EAAE,YAAY,CAAC;IACpB,gCAAgC;IAChC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,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,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,sDAAsD;IACtD,UAAU,EAAE,aAAa,CAAC;IAC1B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,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"}
@@ -15,7 +15,7 @@ export { ProposalType, GovernorCapability, ProposalState, ProposalData, VotingDa
15
15
  export { TimelockOperationState, SerializedCallScheduledData, CallScheduledData, CallExecutedData, TimelockParams, TimelockBatchParams, TimelockState, OperationState, TimelockLink, } from "./timelock";
16
16
  export { BaseStageData, ProposalCreatedData, VotingActiveData, ProposalQueuedData, BaseTimelockData, TimelockStageData, L2ToL1MessageStageData, RetryableStageData, RetryableCreationDetail, RetryableRedemptionDetail, CreateElectionData, NomineeElectionData, NomineeVettingData, MemberElectionData, StageDataMap, TrackedStage, TypedTrackedStage, isStageType, getStageData, } from "./stages";
17
17
  export { PrepareOptions, PrepareResult, PreparedTransaction, GovernorTrackingInput, TimelockTrackingInput, DiscoveryTrackingInput, ElectionTrackingInput, TrackingInput, NextStageHints, StageTrackResult, DiscoveryKey, DiscoveryWatermarks, WatermarkHashes, DiscoveryTargets, TrackingCheckpoint, TrackerStats, TrackingResult, } from "./tracking";
18
- export { TrackingContext, ChunkingConfig, RetryConfig, TrackingProgress, OnProgressCallback, TrackerOptions, CacheAdapter, } from "./config";
18
+ export { TrackingContext, ChunkingConfig, RetryConfig, TrackingProgress, OnProgressCallback, TrackerOptions, ProviderOrUrl, CacheAdapter, } from "./config";
19
19
  export { CohortType, ElectionPhase, ElectionProposalStatus, ElectionStatus, ElectionCheckResult, ElectionContender, ElectionNominee, MemberElectionNominee, NomineeElectionDetails, MemberElectionDetails, SerializableContender, SerializableNominee, SerializableMemberNominee, SerializableNomineeDetails, SerializableMemberDetails, } from "./election";
20
20
  export { DecodingSource, DecodedCalldata, DecodedParameter, isRetryable, RetryableTicketData, KnownAddress, SignatureEntry, ExtractedCalldata, } from "./calldata";
21
21
  export { SimulationType, BaseSimulationData, RetryableSimulationData, TimelockSimulationData, CallSimulationData, SimulationData, ExtractedSimulation, } from "./simulation";
@@ -1 +1 @@
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"}
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,aAAa,EACb,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"}
@@ -1 +1 @@
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"}
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;AA0Dd,0BAA0B;AAC1B,uCASoB;AALlB,uGAAA,WAAW,OAAA"}
@@ -4,6 +4,10 @@
4
4
  * Provides titles, descriptions, and timing info for governance stages.
5
5
  */
6
6
  import type { StageType, ProposalType, Chain } from "../types";
7
+ /**
8
+ * All stage types in order (governor path followed by election path)
9
+ */
10
+ export declare const ALL_STAGE_TYPES: readonly StageType[];
7
11
  /**
8
12
  * Metadata for a governance stage
9
13
  */
@@ -39,4 +43,19 @@ export declare function getStageMetadata(stageType: StageType, _proposalType?: P
39
43
  * ```
40
44
  */
41
45
  export declare function formatStageTitle(stageType: StageType): string;
46
+ /**
47
+ * Get metadata for all stage types (memoized)
48
+ *
49
+ * Returns a Record mapping each StageType to its StageMetadata.
50
+ * The result is cached after first call.
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * const allMeta = getAllStageMetadata();
55
+ * for (const [type, meta] of Object.entries(allMeta)) {
56
+ * console.log(`${meta.title}: ${meta.estimatedDays} days`);
57
+ * }
58
+ * ```
59
+ */
60
+ export declare function getAllStageMetadata(): Record<StageType, StageMetadata>;
42
61
  //# sourceMappingURL=stage-metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stage-metadata.d.ts","sourceRoot":"","sources":["../../src/utils/stage-metadata.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAG/D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,KAAK,EAAE,KAAK,GAAG,aAAa,CAAC;IAC7B,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,cAAc,EAAE,OAAO,CAAC;CACzB;AA4FD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,aAAa,CAAC,EAAE,YAAY,GAC3B,aAAa,CAQf;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAE7D"}
1
+ {"version":3,"file":"stage-metadata.d.ts","sourceRoot":"","sources":["../../src/utils/stage-metadata.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAG/D;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,SAAS,EAYtC,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,KAAK,EAAE,KAAK,GAAG,aAAa,CAAC;IAC7B,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,cAAc,EAAE,OAAO,CAAC;CACzB;AA4FD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,aAAa,CAAC,EAAE,YAAY,GAC3B,aAAa,CAQf;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAE7D;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAYtE"}
@@ -5,9 +5,27 @@
5
5
  * Provides titles, descriptions, and timing info for governance stages.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ALL_STAGE_TYPES = void 0;
8
9
  exports.getStageMetadata = getStageMetadata;
9
10
  exports.formatStageTitle = formatStageTitle;
11
+ exports.getAllStageMetadata = getAllStageMetadata;
10
12
  const constants_1 = require("../constants");
13
+ /**
14
+ * All stage types in order (governor path followed by election path)
15
+ */
16
+ exports.ALL_STAGE_TYPES = [
17
+ "PROPOSAL_CREATED",
18
+ "VOTING_ACTIVE",
19
+ "PROPOSAL_QUEUED",
20
+ "L2_TIMELOCK",
21
+ "L2_TO_L1_MESSAGE",
22
+ "L1_TIMELOCK",
23
+ "RETRYABLE_EXECUTED",
24
+ "CREATE_ELECTION",
25
+ "NOMINEE_ELECTION",
26
+ "NOMINEE_VETTING",
27
+ "MEMBER_ELECTION",
28
+ ];
11
29
  const BASE_METADATA = {
12
30
  PROPOSAL_CREATED: {
13
31
  title: "Proposal Created",
@@ -122,4 +140,30 @@ function getStageMetadata(stageType, _proposalType) {
122
140
  function formatStageTitle(stageType) {
123
141
  return BASE_METADATA[stageType].title;
124
142
  }
143
+ let cachedAllMetadata = null;
144
+ /**
145
+ * Get metadata for all stage types (memoized)
146
+ *
147
+ * Returns a Record mapping each StageType to its StageMetadata.
148
+ * The result is cached after first call.
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * const allMeta = getAllStageMetadata();
153
+ * for (const [type, meta] of Object.entries(allMeta)) {
154
+ * console.log(`${meta.title}: ${meta.estimatedDays} days`);
155
+ * }
156
+ * ```
157
+ */
158
+ function getAllStageMetadata() {
159
+ if (cachedAllMetadata) {
160
+ return cachedAllMetadata;
161
+ }
162
+ const result = {};
163
+ for (const stageType of exports.ALL_STAGE_TYPES) {
164
+ result[stageType] = getStageMetadata(stageType);
165
+ }
166
+ cachedAllMetadata = result;
167
+ return cachedAllMetadata;
168
+ }
125
169
  //# sourceMappingURL=stage-metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stage-metadata.js","sourceRoot":"","sources":["../../src/utils/stage-metadata.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAyHH,4CAWC;AAUD,4CAEC;AA7ID,4CAA8D;AAkB9D,MAAM,aAAa,GAA4D;IAC7E,gBAAgB,EAAE;QAChB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,iEAAiE;QAC9E,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,KAAK;KACtB;IACD,aAAa,EAAE;QACb,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,0CAA0C;QACvD,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,KAAK;KACtB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,kDAAkD;QAC/D,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,KAAK;KACtB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,iHAAiH;QACnH,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,IAAI;KACrB;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,2IAA2I;QAC7I,KAAK,EAAE,aAAa;QACpB,cAAc,EAAE,IAAI;KACrB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,iHAAiH;QACnH,KAAK,EAAE,UAAU;QACjB,cAAc,EAAE,IAAI;KACrB;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,8CAA8C;QAC3D,KAAK,EAAE,aAAa;QACpB,cAAc,EAAE,IAAI;KACrB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,4CAA4C;QACzD,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,IAAI;KACrB;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,4CAA4C;QACzD,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,KAAK;KACtB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,gEAAgE;QAC7E,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,IAAI;KACrB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,wDAAwD;QACrE,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,IAAI;KACrB;CACF,CAAC;AAEF,MAAM,iBAAiB,GAA8B;IACnD,gBAAgB,EAAE,CAAC;IACnB,aAAa,EAAE,0CAA8B,CAAC,MAAM;IACpD,eAAe,EAAE,CAAC;IAClB,oFAAoF;IACpF,WAAW,EAAE,0CAA8B,CAAC,0BAA0B;IACtE,wEAAwE;IACxE,gBAAgB,EAAE,0CAA8B,CAAC,gBAAgB;IACjE,2DAA2D;IAC3D,WAAW,EAAE,0CAA8B,CAAC,WAAW;IACvD,kBAAkB,EAAE,CAAC;IACrB,kBAAkB;IAClB,eAAe,EAAE,CAAC;IAClB,gBAAgB,EAAE,CAAC,EAAE,iBAAiB;IACtC,eAAe,EAAE,CAAC,EAAE,kBAAkB;IACtC,eAAe,EAAE,EAAE,EAAE,kBAAkB;CACxC,CAAC;AAEF;;;;;;;;;GASG;AACH,SAAgB,gBAAgB,CAC9B,SAAoB,EACpB,aAA4B;IAE5B,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAEnD,OAAO;QACL,GAAG,IAAI;QACP,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAAC,SAAoB;IACnD,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"stage-metadata.js","sourceRoot":"","sources":["../../src/utils/stage-metadata.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gzeoneth/gov-tracker",
3
- "version": "0.4.0-alpha.addr-feedback.e1dac80",
3
+ "version": "0.4.0-alpha.addr-feedback.36ae67e",
4
4
  "description": "Lightweight, high-performance library for tracking Arbitrum DAO governance proposal lifecycle stages",
5
5
  "license": "Apache-2.0",
6
6
  "author": "gzeoneth",