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

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 (88) hide show
  1. package/README.md +3 -0
  2. package/dist/calldata/decoder.d.ts.map +1 -1
  3. package/dist/calldata/decoder.js +8 -2
  4. package/dist/calldata/decoder.js.map +1 -1
  5. package/dist/calldata/parameter-decoder.js +6 -6
  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/index.d.ts +3 -3
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +18 -18
  16. package/dist/index.js.map +1 -1
  17. package/dist/stages/{stage-builder.d.ts → builder.d.ts} +11 -7
  18. package/dist/stages/builder.d.ts.map +1 -0
  19. package/dist/stages/{stage-builder.js → builder.js} +12 -3
  20. package/dist/stages/builder.js.map +1 -0
  21. package/dist/stages/l2-to-l1-message.d.ts +3 -3
  22. package/dist/stages/l2-to-l1-message.d.ts.map +1 -1
  23. package/dist/stages/l2-to-l1-message.js +11 -12
  24. package/dist/stages/l2-to-l1-message.js.map +1 -1
  25. package/dist/stages/proposal-created.d.ts +2 -2
  26. package/dist/stages/proposal-created.d.ts.map +1 -1
  27. package/dist/stages/proposal-created.js +4 -4
  28. package/dist/stages/proposal-created.js.map +1 -1
  29. package/dist/stages/proposal-queued.d.ts +2 -2
  30. package/dist/stages/proposal-queued.d.ts.map +1 -1
  31. package/dist/stages/proposal-queued.js +8 -9
  32. package/dist/stages/proposal-queued.js.map +1 -1
  33. package/dist/stages/retryables.d.ts +3 -3
  34. package/dist/stages/retryables.d.ts.map +1 -1
  35. package/dist/stages/retryables.js +14 -15
  36. package/dist/stages/retryables.js.map +1 -1
  37. package/dist/stages/timelock.d.ts +3 -3
  38. package/dist/stages/timelock.d.ts.map +1 -1
  39. package/dist/stages/timelock.js +32 -32
  40. package/dist/stages/timelock.js.map +1 -1
  41. package/dist/stages/{base.d.ts → utils.d.ts} +78 -35
  42. package/dist/stages/utils.d.ts.map +1 -0
  43. package/dist/stages/{base.js → utils.js} +208 -63
  44. package/dist/stages/utils.js.map +1 -0
  45. package/dist/stages/voting.d.ts +2 -2
  46. package/dist/stages/voting.d.ts.map +1 -1
  47. package/dist/stages/voting.js +2 -2
  48. package/dist/stages/voting.js.map +1 -1
  49. package/dist/tracker/cache.d.ts +104 -0
  50. package/dist/tracker/cache.d.ts.map +1 -0
  51. package/dist/tracker/cache.js +287 -0
  52. package/dist/tracker/cache.js.map +1 -0
  53. package/dist/tracker/execute.js +8 -8
  54. package/dist/tracker/execute.js.map +1 -1
  55. package/dist/tracker/pipeline.d.ts +3 -3
  56. package/dist/tracker/pipeline.d.ts.map +1 -1
  57. package/dist/tracker/pipeline.js +38 -35
  58. package/dist/tracker/pipeline.js.map +1 -1
  59. package/dist/tracker/query.js +3 -3
  60. package/dist/tracker/query.js.map +1 -1
  61. package/dist/tracker/state.d.ts +88 -81
  62. package/dist/tracker/state.d.ts.map +1 -1
  63. package/dist/tracker/state.js +241 -264
  64. package/dist/tracker/state.js.map +1 -1
  65. package/dist/tracker.d.ts +4 -4
  66. package/dist/tracker.d.ts.map +1 -1
  67. package/dist/tracker.js +22 -20
  68. package/dist/tracker.js.map +1 -1
  69. package/dist/types/index.d.ts +1 -1
  70. package/dist/types/index.d.ts.map +1 -1
  71. package/dist/types/index.js.map +1 -1
  72. package/dist/types/stages.d.ts +32 -17
  73. package/dist/types/stages.d.ts.map +1 -1
  74. package/dist/types/stages.js +2 -0
  75. package/dist/types/stages.js.map +1 -1
  76. package/package.json +2 -1
  77. package/dist/stages/base.d.ts.map +0 -1
  78. package/dist/stages/base.js.map +0 -1
  79. package/dist/stages/stage-builder.d.ts.map +0 -1
  80. package/dist/stages/stage-builder.js.map +0 -1
  81. package/dist/tracker/context.d.ts +0 -111
  82. package/dist/tracker/context.d.ts.map +0 -1
  83. package/dist/tracker/context.js +0 -264
  84. package/dist/tracker/context.js.map +0 -1
  85. package/dist/utils/stage-helpers.d.ts +0 -50
  86. package/dist/utils/stage-helpers.d.ts.map +0 -1
  87. package/dist/utils/stage-helpers.js +0 -135
  88. package/dist/utils/stage-helpers.js.map +0 -1
@@ -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":";AAAA;;;;;GAKG;;AAgDH,gDAgHC;AA9JD,mCAAgC;AAChC,oCAAqF;AACrF,+DAAiE;AACjE,iDAA0D;AAC1D,iEAAuE;AACvE,qDAA6D;AAC7D,yCAA6C;AAC7C,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,kBAAW,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,kBAAW,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,kBAAW,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,kBAAW,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,kBAAW,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,kBAAW,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,kBAAW,EAAC,6CAA6C,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAClF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/tracker/execute.ts"],"names":[],"mappings":"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"}
@@ -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"}
@@ -9,8 +9,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.trackGovernorPipeline = trackGovernorPipeline;
10
10
  exports.trackTimelockPipeline = trackTimelockPipeline;
11
11
  const logger_1 = require("../utils/logger");
12
- const context_1 = require("./context");
13
- const base_1 = require("../stages/base");
12
+ const state_1 = require("./state");
13
+ const utils_1 = require("../stages/utils");
14
14
  const proposal_created_1 = require("../stages/proposal-created");
15
15
  const voting_1 = require("../stages/voting");
16
16
  const proposal_queued_1 = require("../stages/proposal-queued");
@@ -26,7 +26,9 @@ const { pipeline: log, tracker: logTracker } = logger_1.loggers;
26
26
  // L1_TIMELOCK is the only L1 stage; RETRYABLE_EXECUTED runs on L2 (Arb1/Nova)
27
27
  const L1_STAGES = new Set(["L1_TIMELOCK"]);
28
28
  // Helper: create placeholder stage
29
- const placeholder = (type, status, reason) => ({
29
+ const placeholder = (type, status, reason) =>
30
+ // Assertion needed: placeholder stages have partial data that gets filled later
31
+ ({
30
32
  type,
31
33
  status,
32
34
  chain: L1_STAGES.has(type) ? "ethereum" : "arb1",
@@ -36,10 +38,10 @@ const placeholder = (type, status, reason) => ({
36
38
  });
37
39
  // Helper: track with cache check
38
40
  async function withCache(state, stageType, key, onCached, onTrack) {
39
- const cached = (0, context_1.getCompletedStage)(state, stageType);
41
+ const cached = (0, state_1.getCompletedStage)(state, stageType);
40
42
  if (cached) {
41
43
  log("%s: using cached stage", stageType);
42
- return { state: await (0, context_1.addStage)(state, cached), [key]: onCached(cached) };
44
+ return { state: await (0, state_1.addStage)(state, cached), [key]: onCached(cached) };
43
45
  }
44
46
  return onTrack();
45
47
  }
@@ -47,7 +49,7 @@ async function withCache(state, stageType, key, onCached, onTrack) {
47
49
  async function track(state, stageType, key, tracker) {
48
50
  try {
49
51
  const { stage, result } = await tracker();
50
- return { state: await (0, context_1.addStage)(state, stage), [key]: result };
52
+ return { state: await (0, state_1.addStage)(state, stage), [key]: result };
51
53
  }
52
54
  catch (error) {
53
55
  throw new Error(`Failed to track ${stageType}: ${error instanceof Error ? error.message : String(error)}`);
@@ -55,11 +57,11 @@ async function track(state, stageType, key, tracker) {
55
57
  }
56
58
  // Governor Stages (1-3)
57
59
  async function pipelineTrackProposalCreated(state) {
58
- const governorAddress = (0, context_1.getGovernorAddress)(state);
59
- const proposalId = (0, context_1.getProposalId)(state);
60
+ const governorAddress = (0, state_1.getGovernorAddress)(state);
61
+ const proposalId = (0, state_1.getProposalId)(state);
60
62
  if (!governorAddress || !proposalId)
61
63
  return { state, found: false };
62
- if ((0, context_1.getIsElection)(state))
64
+ if ((0, state_1.getIsElection)(state))
63
65
  return { state, found: false };
64
66
  return withCache(state, "PROPOSAL_CREATED", "found", () => true, async () => {
65
67
  log("PROPOSAL_CREATED: tracking");
@@ -73,9 +75,9 @@ async function pipelineTrackProposalCreated(state) {
73
75
  });
74
76
  }
75
77
  async function pipelineTrackVoting(state) {
76
- const governorAddress = (0, context_1.getGovernorAddress)(state);
77
- const proposalId = (0, context_1.getProposalId)(state);
78
- const proposalData = (0, context_1.getProposalData)(state);
78
+ const governorAddress = (0, state_1.getGovernorAddress)(state);
79
+ const proposalId = (0, state_1.getProposalId)(state);
80
+ const proposalData = (0, state_1.getProposalData)(state);
79
81
  if (!governorAddress || !proposalId || !proposalData)
80
82
  return { state, complete: false };
81
83
  return withCache(state, "VOTING_ACTIVE", "complete", (c) => c.status === "COMPLETED", async () => {
@@ -87,9 +89,9 @@ async function pipelineTrackVoting(state) {
87
89
  });
88
90
  }
89
91
  async function pipelineTrackProposalQueued(state) {
90
- const governorAddress = (0, context_1.getGovernorAddress)(state);
91
- const proposalId = (0, context_1.getProposalId)(state);
92
- const proposalData = (0, context_1.getProposalData)(state);
92
+ const governorAddress = (0, state_1.getGovernorAddress)(state);
93
+ const proposalId = (0, state_1.getProposalId)(state);
94
+ const proposalData = (0, state_1.getProposalData)(state);
93
95
  if (!governorAddress || !proposalId)
94
96
  return { state, queued: false };
95
97
  return withCache(state, "PROPOSAL_QUEUED", "queued", () => true, async () => {
@@ -97,7 +99,7 @@ async function pipelineTrackProposalQueued(state) {
97
99
  return track(state, "PROPOSAL_QUEUED", "queued", async () => {
98
100
  // Voting deadline is L1 block number - convert to L2 for searching
99
101
  // Use bounds to speed up binary search: min=creation block, max=creation+7M (~20 days)
100
- const votingDeadlineL1 = (0, context_1.getVotingEndBlock)(state);
102
+ const votingDeadlineL1 = (0, state_1.getVotingEndBlock)(state);
101
103
  let votingEndBlock;
102
104
  if (votingDeadlineL1) {
103
105
  const creationBlock = proposalData?.creationBlock ?? 0;
@@ -110,7 +112,8 @@ async function pipelineTrackProposalQueued(state) {
110
112
  }
111
113
  const r = await (0, proposal_queued_1.trackProposalQueued)(governorAddress, proposalId, state.providers.l2, proposalData?.creationBlock ?? 0, { votingEndBlock });
112
114
  let stage = r.stage;
113
- if (stage.status === "READY" && proposalData) {
115
+ if (stage.type === "PROPOSAL_QUEUED" && stage.status === "READY" && proposalData) {
116
+ // Enrich stage data with proposal info for READY state
114
117
  stage = {
115
118
  ...stage,
116
119
  data: {
@@ -128,16 +131,16 @@ async function pipelineTrackProposalQueued(state) {
128
131
  }
129
132
  // Timelock Stage (4)
130
133
  async function pipelineTrackL2Timelock(state) {
131
- const timelockAddress = (0, context_1.getTimelockAddress)(state);
132
- const operationId = (0, context_1.getOperationId)(state);
133
- const firstCallScheduledData = (0, context_1.getFirstCallScheduledData)(state);
134
+ const timelockAddress = (0, state_1.getTimelockAddress)(state);
135
+ const operationId = (0, state_1.getOperationId)(state);
136
+ const firstCallScheduledData = (0, state_1.getFirstCallScheduledData)(state);
134
137
  if (!timelockAddress || !operationId || !firstCallScheduledData)
135
138
  return { state, executed: false };
136
139
  return withCache(state, "L2_TIMELOCK", "executed", (c) => c.status === "COMPLETED", async () => {
137
140
  log("L2_TIMELOCK: tracking");
138
141
  return track(state, "L2_TIMELOCK", "executed", async () => {
139
- const r = await (0, timelock_1.trackL2Timelock)(timelockAddress, operationId, state.providers.l2, (0, context_1.getQueueBlockNumber)(state) ?? 0, firstCallScheduledData, {
140
- cachedExecutionTxHash: (0, context_1.getL2ExecutionTxHash)(state),
142
+ const r = await (0, timelock_1.trackL2Timelock)(timelockAddress, operationId, state.providers.l2, (0, state_1.getQueueBlockNumber)(state) ?? 0, firstCallScheduledData, {
143
+ cachedExecutionTxHash: (0, state_1.getL2ExecutionTxHash)(state),
141
144
  allStages: state.stages,
142
145
  });
143
146
  return { stage: r.stage, result: r.executionTxHash !== null };
@@ -149,13 +152,13 @@ const L1_ROUNDTRIP_STAGES = ["L2_TO_L1_MESSAGE", "L1_TIMELOCK", "RETRYABLE_EXECU
149
152
  async function addSkippedL1Stages(state) {
150
153
  let s = state;
151
154
  for (const type of L1_ROUNDTRIP_STAGES)
152
- s = await (0, context_1.addStage)(s, placeholder(type, "SKIPPED", "L2-only path"));
155
+ s = await (0, state_1.addStage)(s, placeholder(type, "SKIPPED", "L2-only path"));
153
156
  return s;
154
157
  }
155
158
  async function pipelineTrackL2ToL1Message(state) {
156
- const l2ExecutionTxHash = (0, context_1.getL2ExecutionTxHash)(state);
157
- const addressForPath = (0, context_1.getGovernorAddress)(state) ?? (0, context_1.getTimelockAddress)(state);
158
- const needsL1 = addressForPath ? (0, base_1.isConstitutional)(addressForPath) : true;
159
+ const l2ExecutionTxHash = (0, state_1.getL2ExecutionTxHash)(state);
160
+ const addressForPath = (0, state_1.getGovernorAddress)(state) ?? (0, state_1.getTimelockAddress)(state);
161
+ const needsL1 = addressForPath ? (0, utils_1.isConstitutional)(addressForPath) : true;
159
162
  if (!needsL1) {
160
163
  log("L2_TO_L1_MESSAGE: L2-only path, skipping L1 stages");
161
164
  return { state: await addSkippedL1Stages(state), executed: false, needsL1: false };
@@ -163,14 +166,14 @@ async function pipelineTrackL2ToL1Message(state) {
163
166
  if (!l2ExecutionTxHash)
164
167
  return { state, executed: false, needsL1: true };
165
168
  // Check completed cache
166
- const cached = (0, context_1.getCompletedStage)(state, "L2_TO_L1_MESSAGE");
169
+ const cached = (0, state_1.getCompletedStage)(state, "L2_TO_L1_MESSAGE");
167
170
  if (cached) {
168
171
  log("L2_TO_L1_MESSAGE: using cached stage");
169
- return { state: await (0, context_1.addStage)(state, cached), executed: true, needsL1: true };
172
+ return { state: await (0, state_1.addStage)(state, cached), executed: true, needsL1: true };
170
173
  }
171
174
  // Fast-path for pending (still in challenge period)
172
- const pending = (0, context_1.getCachedStage)(state, "L2_TO_L1_MESSAGE");
173
- if (pending?.status === "PENDING") {
175
+ const pending = (0, state_1.getCachedStage)(state, "L2_TO_L1_MESSAGE");
176
+ if (pending?.type === "L2_TO_L1_MESSAGE" && pending.status === "PENDING") {
174
177
  const firstExec = pending.data.firstExecutableBlock;
175
178
  if (firstExec) {
176
179
  const { blockNumber: currentL1Block, timestamp } = await (0, timing_2.getCurrentBlockInfo)(state.providers.l1);
@@ -185,7 +188,7 @@ async function pipelineTrackL2ToL1Message(state) {
185
188
  delaySeconds: remainingSeconds,
186
189
  },
187
190
  };
188
- return { state: await (0, context_1.addStage)(state, updated), executed: false, needsL1: true };
191
+ return { state: await (0, state_1.addStage)(state, updated), executed: false, needsL1: true };
189
192
  }
190
193
  }
191
194
  }
@@ -203,8 +206,8 @@ async function pipelineTrackL1Timelock(state) {
203
206
  log("L1_TIMELOCK: tracking");
204
207
  return track(state, "L1_TIMELOCK", "executed", async () => {
205
208
  const r = await (0, timelock_1.trackL1Timelock)(state.providers.l1, {
206
- outboxExecutionTx: (0, context_1.getOutboxExecutionTx)(state),
207
- fromBlock: (0, context_1.getFirstExecutableBlock)(state),
209
+ outboxExecutionTx: (0, state_1.getOutboxExecutionTx)(state),
210
+ fromBlock: (0, state_1.getFirstExecutableBlock)(state),
208
211
  allStages: state.stages,
209
212
  });
210
213
  return { stage: r.stage, result: r.executionTxHash !== null };
@@ -213,7 +216,7 @@ async function pipelineTrackL1Timelock(state) {
213
216
  }
214
217
  // Retryable Stage (7)
215
218
  async function pipelineTrackRetryables(state) {
216
- const l1ExecutionTxHash = (0, context_1.getL1ExecutionTxHash)(state);
219
+ const l1ExecutionTxHash = (0, state_1.getL1ExecutionTxHash)(state);
217
220
  if (!l1ExecutionTxHash)
218
221
  return { state, redeemed: false };
219
222
  return withCache(state, "RETRYABLE_EXECUTED", "redeemed", (c) => c.status === "COMPLETED", async () => {
@@ -231,7 +234,7 @@ async function pipelineTrackRetryables(state) {
231
234
  async function addPlaceholders(state, types, reason) {
232
235
  let s = state;
233
236
  for (const type of types)
234
- s = await (0, context_1.addStage)(s, placeholder(type, "NOT_STARTED", reason));
237
+ s = await (0, state_1.addStage)(s, placeholder(type, "NOT_STARTED", reason));
235
238
  return s;
236
239
  }
237
240
  const RETRYABLE_STAGES = ["RETRYABLE_EXECUTED"];
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/tracker/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/tracker/pipeline.ts"],"names":[],"mappings":"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"}