@gzeoneth/gov-tracker 0.2.0-0 → 0.2.0-2

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 (101) hide show
  1. package/README.md +3 -0
  2. package/dist/calldata/decoder.d.ts.map +1 -1
  3. package/dist/calldata/decoder.js +14 -8
  4. package/dist/calldata/decoder.js.map +1 -1
  5. package/dist/calldata/parameter-decoder.js +8 -8
  6. package/dist/calldata/parameter-decoder.js.map +1 -1
  7. package/dist/cli/lib/cli.d.ts.map +1 -1
  8. package/dist/cli/lib/cli.js +5 -6
  9. package/dist/cli/lib/cli.js.map +1 -1
  10. package/dist/cli/lib/json-state.d.ts.map +1 -1
  11. package/dist/cli/lib/json-state.js +12 -11
  12. package/dist/cli/lib/json-state.js.map +1 -1
  13. package/dist/cli/monitor.js +2 -2
  14. package/dist/cli/monitor.js.map +1 -1
  15. package/dist/index.d.ts +6 -6
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +24 -20
  18. package/dist/index.js.map +1 -1
  19. package/dist/simulation/simulation-data.js +2 -2
  20. package/dist/simulation/simulation-data.js.map +1 -1
  21. package/dist/stages/{stage-builder.d.ts → builder.d.ts} +11 -7
  22. package/dist/stages/builder.d.ts.map +1 -0
  23. package/dist/stages/{stage-builder.js → builder.js} +12 -3
  24. package/dist/stages/builder.js.map +1 -0
  25. package/dist/stages/l2-to-l1-message.d.ts +3 -3
  26. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  27. package/dist/stages/l2-to-l1-message.js +11 -12
  28. package/dist/stages/l2-to-l1-message.js.map +1 -1
  29. package/dist/stages/proposal-created.d.ts +2 -2
  30. package/dist/stages/proposal-created.d.ts.map +1 -1
  31. package/dist/stages/proposal-created.js +4 -4
  32. package/dist/stages/proposal-created.js.map +1 -1
  33. package/dist/stages/proposal-queued.d.ts +2 -2
  34. package/dist/stages/proposal-queued.d.ts.map +1 -1
  35. package/dist/stages/proposal-queued.js +8 -9
  36. package/dist/stages/proposal-queued.js.map +1 -1
  37. package/dist/stages/retryables.d.ts +3 -3
  38. package/dist/stages/retryables.d.ts.map +1 -1
  39. package/dist/stages/retryables.js +14 -15
  40. package/dist/stages/retryables.js.map +1 -1
  41. package/dist/stages/timelock.d.ts +3 -3
  42. package/dist/stages/timelock.d.ts.map +1 -1
  43. package/dist/stages/timelock.js +32 -32
  44. package/dist/stages/timelock.js.map +1 -1
  45. package/dist/stages/{base.d.ts → utils.d.ts} +78 -35
  46. package/dist/stages/utils.d.ts.map +1 -0
  47. package/dist/stages/{base.js → utils.js} +208 -63
  48. package/dist/stages/utils.js.map +1 -0
  49. package/dist/stages/voting.d.ts +2 -2
  50. package/dist/stages/voting.d.ts.map +1 -1
  51. package/dist/stages/voting.js +2 -2
  52. package/dist/stages/voting.js.map +1 -1
  53. package/dist/tracker/cache.d.ts +104 -0
  54. package/dist/tracker/cache.d.ts.map +1 -0
  55. package/dist/tracker/cache.js +287 -0
  56. package/dist/tracker/cache.js.map +1 -0
  57. package/dist/tracker/execute.js +8 -8
  58. package/dist/tracker/execute.js.map +1 -1
  59. package/dist/tracker/pipeline.d.ts +3 -3
  60. package/dist/tracker/pipeline.d.ts.map +1 -1
  61. package/dist/tracker/pipeline.js +38 -35
  62. package/dist/tracker/pipeline.js.map +1 -1
  63. package/dist/tracker/query.js +3 -3
  64. package/dist/tracker/query.js.map +1 -1
  65. package/dist/tracker/state.d.ts +88 -81
  66. package/dist/tracker/state.d.ts.map +1 -1
  67. package/dist/tracker/state.js +241 -264
  68. package/dist/tracker/state.js.map +1 -1
  69. package/dist/tracker.d.ts +4 -4
  70. package/dist/tracker.d.ts.map +1 -1
  71. package/dist/tracker.js +22 -20
  72. package/dist/tracker.js.map +1 -1
  73. package/dist/types/calldata.d.ts +15 -3
  74. package/dist/types/calldata.d.ts.map +1 -1
  75. package/dist/types/calldata.js +7 -0
  76. package/dist/types/calldata.js.map +1 -1
  77. package/dist/types/core.d.ts +12 -0
  78. package/dist/types/core.d.ts.map +1 -1
  79. package/dist/types/core.js +30 -0
  80. package/dist/types/core.js.map +1 -1
  81. package/dist/types/index.d.ts +3 -3
  82. package/dist/types/index.d.ts.map +1 -1
  83. package/dist/types/index.js +7 -1
  84. package/dist/types/index.js.map +1 -1
  85. package/dist/types/stages.d.ts +32 -17
  86. package/dist/types/stages.d.ts.map +1 -1
  87. package/dist/types/stages.js +2 -0
  88. package/dist/types/stages.js.map +1 -1
  89. package/package.json +2 -1
  90. package/dist/stages/base.d.ts.map +0 -1
  91. package/dist/stages/base.js.map +0 -1
  92. package/dist/stages/stage-builder.d.ts.map +0 -1
  93. package/dist/stages/stage-builder.js.map +0 -1
  94. package/dist/tracker/context.d.ts +0 -111
  95. package/dist/tracker/context.d.ts.map +0 -1
  96. package/dist/tracker/context.js +0 -264
  97. package/dist/tracker/context.js.map +0 -1
  98. package/dist/utils/stage-helpers.d.ts +0 -50
  99. package/dist/utils/stage-helpers.d.ts.map +0 -1
  100. package/dist/utils/stage-helpers.js +0 -135
  101. package/dist/utils/stage-helpers.js.map +0 -1
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Cache utilities for tracker state
3
+ *
4
+ * Provides cache implementations and utility functions.
5
+ * All other state management is handled directly in tracker.ts.
6
+ *
7
+ * Available cache adapters:
8
+ * - FileCache: File-based persistence (Node.js only)
9
+ * - LocalStorageCache: Browser localStorage (web only)
10
+ * - MemoryCache: In-memory, no persistence (universal)
11
+ */
12
+ import { TrackingCheckpoint, DiscoveryWatermarks, CacheAdapter } from "../types";
13
+ /**
14
+ * File-based cache that persists to JSON file.
15
+ * Synchronously loads on construction, persists on every write.
16
+ * Uses a write queue to prevent race conditions from concurrent writes.
17
+ */
18
+ export declare class FileCache implements CacheAdapter {
19
+ private readonly path;
20
+ private cache;
21
+ private writeQueue;
22
+ constructor(path: string);
23
+ private load;
24
+ private persistSync;
25
+ private persist;
26
+ get<T>(key: string): Promise<T | null>;
27
+ set<T>(key: string, value: T): Promise<void>;
28
+ delete(key: string): Promise<void>;
29
+ clear(): Promise<void>;
30
+ has(key: string): Promise<boolean>;
31
+ keys(): IterableIterator<string>;
32
+ }
33
+ /**
34
+ * Browser localStorage-based cache adapter.
35
+ * Persists to localStorage with a configurable key prefix.
36
+ *
37
+ * Limitations:
38
+ * - 5MB storage limit (varies by browser)
39
+ * - Synchronous API (blocks main thread, usually negligible)
40
+ * - String-only storage (JSON serialization handled internally)
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * import { createTracker, LocalStorageCache } from "@gzeoneth/gov-tracker";
45
+ *
46
+ * const tracker = createTracker({
47
+ * l2Provider,
48
+ * l1Provider,
49
+ * cache: new LocalStorageCache("arb-gov:"),
50
+ * });
51
+ * ```
52
+ */
53
+ export declare class LocalStorageCache implements CacheAdapter {
54
+ private readonly prefix;
55
+ constructor(prefix?: string);
56
+ private fullKey;
57
+ get<T>(key: string): Promise<T | null>;
58
+ set<T>(key: string, value: T): Promise<void>;
59
+ delete(key: string): Promise<void>;
60
+ clear(): Promise<void>;
61
+ has(key: string): Promise<boolean>;
62
+ keys(prefix?: string): Promise<string[]>;
63
+ }
64
+ /**
65
+ * In-memory cache adapter with no persistence.
66
+ * Useful for testing, short-lived sessions, or as a fallback.
67
+ *
68
+ * Data is lost when the page is refreshed or the process exits.
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * import { createTracker, MemoryCache } from "@gzeoneth/gov-tracker";
73
+ *
74
+ * const tracker = createTracker({
75
+ * l2Provider,
76
+ * l1Provider,
77
+ * cache: new MemoryCache(),
78
+ * });
79
+ * ```
80
+ */
81
+ export declare class MemoryCache implements CacheAdapter {
82
+ private cache;
83
+ get<T>(key: string): Promise<T | null>;
84
+ set<T>(key: string, value: T): Promise<void>;
85
+ delete(key: string): Promise<void>;
86
+ clear(): Promise<void>;
87
+ has(key: string): Promise<boolean>;
88
+ keys(): IterableIterator<string>;
89
+ }
90
+ /**
91
+ * Generate cache key from transaction hash (primary cache key format)
92
+ */
93
+ export declare function txHashCacheKey(txHash: string): string;
94
+ /**
95
+ * Read all cache data without requiring RPC providers.
96
+ * Use this for status/dashboard views that only need cached data.
97
+ *
98
+ * @param cachePath - Path to the cache file
99
+ */
100
+ export declare function readCacheStatus(cachePath: string): Promise<{
101
+ watermarks: DiscoveryWatermarks;
102
+ checkpoints: Map<string, TrackingCheckpoint>;
103
+ }>;
104
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/tracker/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGjF;;;;GAIG;AACH,qBAAa,SAAU,YAAW,YAAY;IAC5C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,UAAU,CAAoC;gBAE1C,IAAI,EAAE,MAAM;IAKxB,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,WAAW;YAKL,OAAO;IAiBf,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAItC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxC,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC;CAGjC;AA2BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,GAAE,MAAmB;IAIvC,OAAO,CAAC,OAAO;IAIT,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAYtC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMlC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAe/C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,KAAK,CAAmC;IAE1C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAItC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxC,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC;CAGjC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAChE,UAAU,EAAE,mBAAmB,CAAC;IAChC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC9C,CAAC,CAqBD"}
@@ -0,0 +1,287 @@
1
+ "use strict";
2
+ /**
3
+ * Cache utilities for tracker state
4
+ *
5
+ * Provides cache implementations and utility functions.
6
+ * All other state management is handled directly in tracker.ts.
7
+ *
8
+ * Available cache adapters:
9
+ * - FileCache: File-based persistence (Node.js only)
10
+ * - LocalStorageCache: Browser localStorage (web only)
11
+ * - MemoryCache: In-memory, no persistence (universal)
12
+ */
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || (function () {
30
+ var ownKeys = function(o) {
31
+ ownKeys = Object.getOwnPropertyNames || function (o) {
32
+ var ar = [];
33
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
34
+ return ar;
35
+ };
36
+ return ownKeys(o);
37
+ };
38
+ return function (mod) {
39
+ if (mod && mod.__esModule) return mod;
40
+ var result = {};
41
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
42
+ __setModuleDefault(result, mod);
43
+ return result;
44
+ };
45
+ })();
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.MemoryCache = exports.LocalStorageCache = exports.FileCache = void 0;
48
+ exports.txHashCacheKey = txHashCacheKey;
49
+ exports.readCacheStatus = readCacheStatus;
50
+ const fs = __importStar(require("fs"));
51
+ const discovery_1 = require("./discovery");
52
+ /**
53
+ * File-based cache that persists to JSON file.
54
+ * Synchronously loads on construction, persists on every write.
55
+ * Uses a write queue to prevent race conditions from concurrent writes.
56
+ */
57
+ class FileCache {
58
+ constructor(path) {
59
+ this.writeQueue = Promise.resolve();
60
+ this.path = path;
61
+ this.cache = this.load();
62
+ }
63
+ load() {
64
+ try {
65
+ const data = JSON.parse(fs.readFileSync(this.path, "utf8"));
66
+ return new Map(Object.entries(data));
67
+ }
68
+ catch {
69
+ return new Map();
70
+ }
71
+ }
72
+ persistSync() {
73
+ const obj = Object.fromEntries(this.cache);
74
+ fs.writeFileSync(this.path, JSON.stringify(obj, null, 2));
75
+ }
76
+ async persist() {
77
+ // Chain writes to prevent race conditions
78
+ // Create the write promise that may reject on error
79
+ const writePromise = this.writeQueue.then(() => {
80
+ this.persistSync();
81
+ });
82
+ // Update the queue with error recovery to prevent getting stuck
83
+ // This ensures future writes can proceed even if this one fails
84
+ this.writeQueue = writePromise.catch(() => {
85
+ // Silently recover the queue - error is propagated via writePromise
86
+ });
87
+ // Return the original promise so errors propagate to caller
88
+ return writePromise;
89
+ }
90
+ async get(key) {
91
+ return this.cache.get(key) ?? null;
92
+ }
93
+ async set(key, value) {
94
+ this.cache.set(key, value);
95
+ await this.persist();
96
+ }
97
+ async delete(key) {
98
+ this.cache.delete(key);
99
+ await this.persist();
100
+ }
101
+ async clear() {
102
+ this.cache.clear();
103
+ await this.persist();
104
+ }
105
+ async has(key) {
106
+ return this.cache.has(key);
107
+ }
108
+ keys() {
109
+ return this.cache.keys();
110
+ }
111
+ }
112
+ exports.FileCache = FileCache;
113
+ /**
114
+ * Get localStorage if available (browser environment)
115
+ */
116
+ function getLocalStorage() {
117
+ // Check for browser environment with localStorage
118
+ if (typeof globalThis !== "undefined") {
119
+ const global = globalThis;
120
+ if (typeof global.localStorage !== "undefined") {
121
+ return global.localStorage;
122
+ }
123
+ }
124
+ return null;
125
+ }
126
+ /**
127
+ * Browser localStorage-based cache adapter.
128
+ * Persists to localStorage with a configurable key prefix.
129
+ *
130
+ * Limitations:
131
+ * - 5MB storage limit (varies by browser)
132
+ * - Synchronous API (blocks main thread, usually negligible)
133
+ * - String-only storage (JSON serialization handled internally)
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * import { createTracker, LocalStorageCache } from "@gzeoneth/gov-tracker";
138
+ *
139
+ * const tracker = createTracker({
140
+ * l2Provider,
141
+ * l1Provider,
142
+ * cache: new LocalStorageCache("arb-gov:"),
143
+ * });
144
+ * ```
145
+ */
146
+ class LocalStorageCache {
147
+ constructor(prefix = "tracker:") {
148
+ this.prefix = prefix;
149
+ }
150
+ fullKey(key) {
151
+ return `${this.prefix}${key}`;
152
+ }
153
+ async get(key) {
154
+ const storage = getLocalStorage();
155
+ if (!storage)
156
+ return null;
157
+ const data = storage.getItem(this.fullKey(key));
158
+ if (data === null)
159
+ return null;
160
+ try {
161
+ return JSON.parse(data);
162
+ }
163
+ catch {
164
+ return null;
165
+ }
166
+ }
167
+ async set(key, value) {
168
+ const storage = getLocalStorage();
169
+ if (!storage)
170
+ return;
171
+ storage.setItem(this.fullKey(key), JSON.stringify(value));
172
+ }
173
+ async delete(key) {
174
+ const storage = getLocalStorage();
175
+ if (!storage)
176
+ return;
177
+ storage.removeItem(this.fullKey(key));
178
+ }
179
+ async clear() {
180
+ const storage = getLocalStorage();
181
+ if (!storage)
182
+ return;
183
+ const keysToRemove = [];
184
+ for (let i = 0; i < storage.length; i++) {
185
+ const key = storage.key(i);
186
+ if (key?.startsWith(this.prefix)) {
187
+ keysToRemove.push(key);
188
+ }
189
+ }
190
+ keysToRemove.forEach((k) => storage.removeItem(k));
191
+ }
192
+ async has(key) {
193
+ const storage = getLocalStorage();
194
+ if (!storage)
195
+ return false;
196
+ return storage.getItem(this.fullKey(key)) !== null;
197
+ }
198
+ async keys(prefix) {
199
+ const storage = getLocalStorage();
200
+ if (!storage)
201
+ return [];
202
+ const result = [];
203
+ for (let i = 0; i < storage.length; i++) {
204
+ const fullKey = storage.key(i);
205
+ if (fullKey?.startsWith(this.prefix)) {
206
+ const key = fullKey.slice(this.prefix.length);
207
+ if (!prefix || key.startsWith(prefix)) {
208
+ result.push(key);
209
+ }
210
+ }
211
+ }
212
+ return result;
213
+ }
214
+ }
215
+ exports.LocalStorageCache = LocalStorageCache;
216
+ /**
217
+ * In-memory cache adapter with no persistence.
218
+ * Useful for testing, short-lived sessions, or as a fallback.
219
+ *
220
+ * Data is lost when the page is refreshed or the process exits.
221
+ *
222
+ * @example
223
+ * ```typescript
224
+ * import { createTracker, MemoryCache } from "@gzeoneth/gov-tracker";
225
+ *
226
+ * const tracker = createTracker({
227
+ * l2Provider,
228
+ * l1Provider,
229
+ * cache: new MemoryCache(),
230
+ * });
231
+ * ```
232
+ */
233
+ class MemoryCache {
234
+ constructor() {
235
+ this.cache = new Map();
236
+ }
237
+ async get(key) {
238
+ return this.cache.get(key) ?? null;
239
+ }
240
+ async set(key, value) {
241
+ this.cache.set(key, value);
242
+ }
243
+ async delete(key) {
244
+ this.cache.delete(key);
245
+ }
246
+ async clear() {
247
+ this.cache.clear();
248
+ }
249
+ async has(key) {
250
+ return this.cache.has(key);
251
+ }
252
+ keys() {
253
+ return this.cache.keys();
254
+ }
255
+ }
256
+ exports.MemoryCache = MemoryCache;
257
+ /**
258
+ * Generate cache key from transaction hash (primary cache key format)
259
+ */
260
+ function txHashCacheKey(txHash) {
261
+ return `tx:${txHash.toLowerCase()}`;
262
+ }
263
+ /**
264
+ * Read all cache data without requiring RPC providers.
265
+ * Use this for status/dashboard views that only need cached data.
266
+ *
267
+ * @param cachePath - Path to the cache file
268
+ */
269
+ async function readCacheStatus(cachePath) {
270
+ const cache = new FileCache(cachePath);
271
+ // Load watermarks from discovery checkpoint (unified format)
272
+ const discoveryCheckpoint = await cache.get(discovery_1.WATERMARKS_KEY);
273
+ const watermarks = discoveryCheckpoint?.cachedData.discoveryWatermarks ?? {};
274
+ const checkpoints = new Map();
275
+ const allKeys = cache.keys();
276
+ const keys = Array.from(allKeys);
277
+ for (const key of keys) {
278
+ if (key.startsWith("tx:")) {
279
+ const checkpoint = await cache.get(key);
280
+ if (checkpoint) {
281
+ checkpoints.set(key, checkpoint);
282
+ }
283
+ }
284
+ }
285
+ return { watermarks, checkpoints };
286
+ }
287
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/tracker/cache.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ const proposal_queued_1 = require("../stages/proposal-queued");
13
13
  const timelock_1 = require("../stages/timelock");
14
14
  const l2_to_l1_message_1 = require("../stages/l2-to-l1-message");
15
15
  const retryables_1 = require("../stages/retryables");
16
- const base_1 = require("../stages/base");
16
+ const utils_1 = require("../stages/utils");
17
17
  const logger_1 = require("../utils/logger");
18
18
  const log = logger_1.loggers.execution;
19
19
  /**
@@ -50,11 +50,11 @@ async function prepareTransaction(stage, context, options = {}) {
50
50
  // Queue a proposal on the governor (calls governor.queue())
51
51
  const queueData = (0, types_1.getStageData)(stage, "PROPOSAL_QUEUED");
52
52
  if (!queueData) {
53
- return (0, base_1.failPrepare)("Stage is not a PROPOSAL_QUEUED stage");
53
+ return (0, utils_1.failPrepare)("Stage is not a PROPOSAL_QUEUED stage");
54
54
  }
55
55
  const { governorAddress, proposalId, targets, values, calldatas, description } = queueData;
56
56
  if (!governorAddress || !proposalId || !targets || !values || !calldatas || !description) {
57
- return (0, base_1.failPrepare)("Missing proposal queue params in stage data");
57
+ return (0, utils_1.failPrepare)("Missing proposal queue params in stage data");
58
58
  }
59
59
  return (0, proposal_queued_1.prepareGovernorQueue)(governorAddress, proposalId, {
60
60
  targets,
@@ -74,7 +74,7 @@ async function prepareTransaction(stage, context, options = {}) {
74
74
  prepareCompleted: options.prepareCompleted,
75
75
  });
76
76
  if (results.length === 0) {
77
- return (0, base_1.failPrepare)("No messages to prepare");
77
+ return (0, utils_1.failPrepare)("No messages to prepare");
78
78
  }
79
79
  // Find first successful result
80
80
  const successResult = results.find((r) => r.success);
@@ -100,17 +100,17 @@ async function prepareTransaction(stage, context, options = {}) {
100
100
  const targetChain = retryableData?.targetChains?.[0];
101
101
  // Validate target chain exists before selecting provider
102
102
  if (!targetChain) {
103
- return (0, base_1.failPrepare)("No target chain found in retryable stage data");
103
+ return (0, utils_1.failPrepare)("No target chain found in retryable stage data");
104
104
  }
105
105
  const targetProvider = targetChain === "nova" ? novaProvider : l2Provider;
106
106
  if (!targetProvider) {
107
- return (0, base_1.failPrepare)("Target chain provider not available");
107
+ return (0, utils_1.failPrepare)("Target chain provider not available");
108
108
  }
109
109
  const { total, results } = await (0, retryables_1.prepareRetryableStage)(stage, l1Provider, targetProvider, {
110
110
  prepareCompleted: options.prepareCompleted,
111
111
  });
112
112
  if (results.length === 0) {
113
- return (0, base_1.failPrepare)("No tickets to prepare");
113
+ return (0, utils_1.failPrepare)("No tickets to prepare");
114
114
  }
115
115
  // Find first successful result
116
116
  const successResult = results.find((r) => r.success);
@@ -132,7 +132,7 @@ async function prepareTransaction(stage, context, options = {}) {
132
132
  return results[0];
133
133
  }
134
134
  default:
135
- return (0, base_1.failPrepare)(`Preparation not supported for stage type: ${stage.type}`);
135
+ return (0, utils_1.failPrepare)(`Preparation not supported for stage type: ${stage.type}`);
136
136
  }
137
137
  }
138
138
  //# sourceMappingURL=execute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/tracker/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/tracker/execute.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAgDH,gDAgHC;AA9JD,mCAAgC;AAChC,oCAAqF;AACrF,+DAAiE;AACjE,iDAA0D;AAC1D,iEAAuE;AACvE,qDAA6D;AAC7D,2CAA8C;AAC9C,4CAA0C;AAE1C,MAAM,GAAG,GAAG,gBAAO,CAAC,SAAS,CAAC;AAW9B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,KAAK,UAAU,kBAAkB,CACtC,KAAmB,EACnB,OAAuB,EACvB,UAA0B,EAAE;IAE5B,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IACzD,GAAG,CAAC,sCAAsC,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEtE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,4DAA4D;YAC5D,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;YACzD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,IAAA,mBAAW,EAAC,sCAAsC,CAAC,CAAC;YAC7D,CAAC;YAED,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;YAE3F,IAAI,CAAC,eAAe,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzF,OAAO,IAAA,mBAAW,EAAC,6CAA6C,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,IAAA,sCAAoB,EACzB,eAAe,EACf,UAAU,EACV;gBACE,OAAO;gBACP,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACnD,SAAS;gBACT,eAAe,EAAE,eAAM,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC;aAC9C,EACD,UAAU,CACX,CAAC;QACJ,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,OAAO,IAAA,+BAAoB,EAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,OAAO,IAAA,+BAAoB,EAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,4CAAyB,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE;gBACxF,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC3C,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAA,mBAAW,EAAC,wBAAwB,CAAC,CAAC;YAC/C,CAAC;YACD,+BAA+B;YAC/B,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,aAAa,EAAE,CAAC;gBAClB,4EAA4E;gBAC5E,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,OAAO;wBACL,GAAG,aAAa;wBAChB,QAAQ,EAAE;4BACR,GAAG,aAAa,CAAC,QAAQ;4BACzB,WAAW,EACT,aAAa,CAAC,QAAQ,CAAC,WAAW;gCAClC,OAAO,KAAK,sDAAsD;yBACrE;qBACF,CAAC;gBACJ,CAAC;gBACD,OAAO,aAAa,CAAC;YACvB,CAAC;YACD,kCAAkC;YAClC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,aAAa,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;YAChE,MAAM,WAAW,GAAG,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YACrD,yDAAyD;YACzD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,IAAA,mBAAW,EAAC,+CAA+C,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,cAAc,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;YAC1E,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO,IAAA,mBAAW,EAAC,qCAAqC,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,kCAAqB,EAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE;gBACxF,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC3C,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAA,mBAAW,EAAC,uBAAuB,CAAC,CAAC;YAC9C,CAAC;YACD,+BAA+B;YAC/B,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,aAAa,EAAE,CAAC;gBAClB,iDAAiD;gBACjD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,OAAO;wBACL,GAAG,aAAa;wBAChB,QAAQ,EAAE;4BACR,GAAG,aAAa,CAAC,QAAQ;4BACzB,WAAW,EACT,aAAa,CAAC,QAAQ,CAAC,WAAW;gCAClC,OAAO,KAAK,iDAAiD;yBAChE;qBACF,CAAC;gBACJ,CAAC;gBACD,OAAO,aAAa,CAAC;YACvB,CAAC;YACD,kCAAkC;YAClC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED;YACE,OAAO,IAAA,mBAAW,EAAC,6CAA6C,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAClF,CAAC;AACH,CAAC"}
@@ -4,15 +4,15 @@
4
4
  * Pure functions that track stages and return updated state.
5
5
  * Each function reads from state, performs tracking, and returns new state.
6
6
  */
7
- import { TrackingContext } from "./context";
7
+ import { TrackingState } from "./state";
8
8
  /**
9
9
  * Track full governor proposal pipeline.
10
10
  * Returns final state after tracking all stages.
11
11
  */
12
- export declare function trackGovernorPipeline(state: TrackingContext): Promise<TrackingContext>;
12
+ export declare function trackGovernorPipeline(state: TrackingState): Promise<TrackingState>;
13
13
  /**
14
14
  * Track timelock pipeline (stages 4-7).
15
15
  * Used by governor pipeline and direct timelock tracking.
16
16
  */
17
- export declare function trackTimelockPipeline(state: TrackingContext): Promise<TrackingContext>;
17
+ export declare function trackTimelockPipeline(state: TrackingState): Promise<TrackingState>;
18
18
  //# sourceMappingURL=pipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/tracker/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,eAAe,EAiBhB,MAAM,WAAW,CAAC;AAoWnB;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAwB5F;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CA8B5F"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/tracker/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,aAAa,EAiBd,MAAM,SAAS,CAAC;AAuWjB;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAwBxF;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CA8BxF"}