ponder-with-flashblocks 0.16.3 → 0.16.5

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.
@@ -60,25 +60,32 @@ export const createRealtimeSync = (args) => {
60
60
  factories.push(factory);
61
61
  }
62
62
  }
63
- const syncTransactionReceipts = async (block, transactionHashes, ethGetBlockMethod, context) => {
63
+ const syncTransactionReceipts = async (block, transactionHashes, ethGetBlockMethod, context, options) => {
64
64
  if (transactionHashes.size === 0) {
65
65
  return [];
66
66
  }
67
- if (isBlockReceipts === false) {
67
+ const isPendingBlock = options?.isPending ?? false;
68
+ // For pending/flashblocks, skip eth_getBlockReceipts (not supported)
69
+ // and go straight to eth_getTransactionReceipt (which is supported).
70
+ if (isPendingBlock || isBlockReceipts === false) {
68
71
  const transactionReceipts = await Promise.all(Array.from(transactionHashes).map(async (hash) => {
69
72
  const receipt = await eth_getTransactionReceipt(args.rpc, [hash], context);
70
- validateReceiptsAndBlock([receipt], block, {
71
- method: "eth_getTransactionReceipt",
72
- params: [hash],
73
- }, ethGetBlockMethod === "eth_getBlockByNumber"
74
- ? {
75
- method: "eth_getBlockByNumber",
76
- params: [block.number, true],
77
- }
78
- : {
79
- method: "eth_getBlockByHash",
80
- params: [block.hash, true],
81
- });
73
+ // Skip strict hash validation for pending blocks — the block hash
74
+ // may differ between the eth_getBlockByNumber and receipt calls.
75
+ if (!isPendingBlock) {
76
+ validateReceiptsAndBlock([receipt], block, {
77
+ method: "eth_getTransactionReceipt",
78
+ params: [hash],
79
+ }, ethGetBlockMethod === "eth_getBlockByNumber"
80
+ ? {
81
+ method: "eth_getBlockByNumber",
82
+ params: [block.number, true],
83
+ }
84
+ : {
85
+ method: "eth_getBlockByHash",
86
+ params: [block.hash, true],
87
+ });
88
+ }
82
89
  return receipt;
83
90
  }));
84
91
  return transactionReceipts;
@@ -97,7 +104,7 @@ export const createRealtimeSync = (args) => {
97
104
  error,
98
105
  });
99
106
  isBlockReceipts = false;
100
- return syncTransactionReceipts(block, transactionHashes, ethGetBlockMethod, context);
107
+ return syncTransactionReceipts(block, transactionHashes, ethGetBlockMethod, context, options);
101
108
  }
102
109
  validateReceiptsAndBlock(blockReceipts, block, {
103
110
  method: "eth_getBlockReceipts",
@@ -128,7 +135,8 @@ export const createRealtimeSync = (args) => {
128
135
  * is due to the fact that factory addresses are unknown and are always
129
136
  * treated as "matched".
130
137
  */
131
- const fetchBlockEventData = async (maybeBlockHeader) => {
138
+ const fetchBlockEventData = async (maybeBlockHeader, options) => {
139
+ const isPending = options?.isPending ?? false;
132
140
  const context = {
133
141
  logger: args.common.logger.child({ action: "fetch_block_data" }),
134
142
  };
@@ -150,7 +158,28 @@ export const createRealtimeSync = (args) => {
150
158
  logFilters.some((filter) => isFilterInBloom({ block: maybeBlockHeader, filter }));
151
159
  let logs = [];
152
160
  if (shouldRequestLogs) {
153
- if (block === undefined) {
161
+ if (isPending) {
162
+ // For pending/flashblocks, use fromBlock/toBlock with "pending" tag
163
+ // as recommended by flashblock-enabled RPCs (e.g. Alchemy).
164
+ // blockHash-based queries may not work for pending block hashes.
165
+ if (block === undefined) {
166
+ [block, logs] = await Promise.all([
167
+ eth_getBlockByHash(args.rpc, [maybeBlockHeader.hash, true], context),
168
+ eth_getLogs(args.rpc, [
169
+ {
170
+ fromBlock: maybeBlockHeader.number,
171
+ toBlock: "pending",
172
+ },
173
+ ], context),
174
+ ]);
175
+ }
176
+ else {
177
+ logs = await eth_getLogs(args.rpc, [{ fromBlock: block.number, toBlock: "pending" }], context);
178
+ }
179
+ // Skip strict hash validation for pending blocks — the block hash
180
+ // may change between the eth_getBlockByNumber and eth_getLogs calls.
181
+ }
182
+ else if (block === undefined) {
154
183
  [block, logs] = await Promise.all([
155
184
  eth_getBlockByHash(args.rpc, [maybeBlockHeader.hash, true], context),
156
185
  eth_getLogs(args.rpc, [{ blockHash: maybeBlockHeader.hash }], context),
@@ -159,18 +188,20 @@ export const createRealtimeSync = (args) => {
159
188
  else {
160
189
  logs = await eth_getLogs(args.rpc, [{ blockHash: block.hash }], context);
161
190
  }
162
- validateLogsAndBlock(logs, block, {
163
- method: "eth_getLogs",
164
- params: [{ blockHash: block.hash }],
165
- }, ethGetBlockMethod === "eth_getBlockByNumber"
166
- ? {
167
- method: "eth_getBlockByNumber",
168
- params: [block.number, true],
169
- }
170
- : {
171
- method: "eth_getBlockByHash",
172
- params: [block.hash, true],
173
- });
191
+ if (!isPending) {
192
+ validateLogsAndBlock(logs, block, {
193
+ method: "eth_getLogs",
194
+ params: [{ blockHash: block.hash }],
195
+ }, ethGetBlockMethod === "eth_getBlockByNumber"
196
+ ? {
197
+ method: "eth_getBlockByNumber",
198
+ params: [block.number, true],
199
+ }
200
+ : {
201
+ method: "eth_getBlockByHash",
202
+ params: [block.hash, true],
203
+ });
204
+ }
174
205
  // Note: Exact `logsBloom` validations were considered too strict to add to `validateLogsAndBlock`.
175
206
  let isInvalidLogsBloom = false;
176
207
  for (const log of logs) {
@@ -235,7 +266,9 @@ export const createRealtimeSync = (args) => {
235
266
  ////////
236
267
  const shouldRequestTraces = traceFilters.length > 0 || transferFilters.length > 0;
237
268
  let traces = [];
238
- if (shouldRequestTraces) {
269
+ // debug_traceBlockByHash is not supported for pending/flashblocks.
270
+ // Skip trace requests entirely for pending blocks.
271
+ if (shouldRequestTraces && !isPending) {
239
272
  if (block === undefined) {
240
273
  [block, traces] = await Promise.all([
241
274
  eth_getBlockByHash(args.rpc, [maybeBlockHeader.hash, true], context),
@@ -416,7 +449,7 @@ export const createRealtimeSync = (args) => {
416
449
  ////////
417
450
  // Transaction Receipts
418
451
  ////////
419
- const transactionReceipts = await syncTransactionReceipts(block, requiredTransactionReceipts, ethGetBlockMethod, context);
452
+ const transactionReceipts = await syncTransactionReceipts(block, requiredTransactionReceipts, ethGetBlockMethod, context, { isPending });
420
453
  let childAddressCount = 0;
421
454
  for (const childAddresses of blockChildAddresses.values()) {
422
455
  childAddressCount += childAddresses.size;
@@ -902,7 +935,9 @@ export const createRealtimeSync = (args) => {
902
935
  // currently being fetched but hasn't been fully reconciled. `latestFetchedBlock`
903
936
  // is used to handle this case.
904
937
  latestFetchedBlock = block;
905
- const blockWithEventData = await fetchBlockEventData(block);
938
+ const blockWithEventData = await fetchBlockEventData(block, {
939
+ isPending: args.chain.readPending,
940
+ });
906
941
  // Note: `reconcileBlock` must be called serially.
907
942
  await realtimeSyncLock.lock();
908
943
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sync-realtime/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sync-realtime/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sync-realtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAEV,KAAK,EACL,aAAa,EACb,OAAO,EACP,SAAS,EAET,UAAU,EAEV,SAAS,EACT,eAAe,EACf,OAAO,EACP,SAAS,EACT,eAAe,EACf,sBAAsB,EAIvB,MAAM,qBAAqB,CAAC;AAa7B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAa1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIvD,OAAO,EACL,KAAK,OAAO,EAKb,MAAM,MAAM,CAAC;AAGd,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,IAAI,CACF,KAAK,EAAE,SAAS,GAAG,eAAe,EAClC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,GAC5C,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B,0DAA0D;IAC1D,iBAAiB,EAAE,UAAU,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,SAAS,GAAG,eAAe,CAAC;IACnC,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,mBAAmB,EAAE,sBAAsB,EAAE,CAAC;IAC9C,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,cAAc,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,CAAC;IACC,IAAI,EAAE,OAAO,CAAC;IACd,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C,GAAG,kBAAkB,CAAC,GACvB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AAEtE,KAAK,4BAA4B,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC9C,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;CACtD,CAAC;AAKF,eAAO,MAAM,kBAAkB,SACvB,4BAA4B,KACjC,YAqrCF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sync-realtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAEV,KAAK,EACL,aAAa,EACb,OAAO,EACP,SAAS,EAET,UAAU,EAEV,SAAS,EACT,eAAe,EACf,OAAO,EACP,SAAS,EACT,eAAe,EACf,sBAAsB,EAIvB,MAAM,qBAAqB,CAAC;AAa7B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAa1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIvD,OAAO,EACL,KAAK,OAAO,EAKb,MAAM,MAAM,CAAC;AAGd,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,IAAI,CACF,KAAK,EAAE,SAAS,GAAG,eAAe,EAClC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,GAC5C,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B,0DAA0D;IAC1D,iBAAiB,EAAE,UAAU,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,SAAS,GAAG,eAAe,CAAC;IACnC,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,mBAAmB,EAAE,sBAAsB,EAAE,CAAC;IAC9C,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,cAAc,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,CAAC;IACC,IAAI,EAAE,OAAO,CAAC;IACd,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C,GAAG,kBAAkB,CAAC,GACvB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AAEtE,KAAK,4BAA4B,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC9C,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;CACtD,CAAC;AAKF,eAAO,MAAM,kBAAkB,SACvB,4BAA4B,KACjC,YAuuCF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ponder-with-flashblocks",
3
- "version": "0.16.3",
3
+ "version": "0.16.5",
4
4
  "description": "Ponder fork with Base flashblocks support via readPending config",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -171,12 +171,17 @@ export const createRealtimeSync = (
171
171
  transactionHashes: Set<Hash>,
172
172
  ethGetBlockMethod: "eth_getBlockByHash" | "eth_getBlockByNumber",
173
173
  context?: Parameters<Rpc["request"]>[1],
174
+ options?: { isPending?: boolean },
174
175
  ): Promise<SyncTransactionReceipt[]> => {
175
176
  if (transactionHashes.size === 0) {
176
177
  return [];
177
178
  }
178
179
 
179
- if (isBlockReceipts === false) {
180
+ const isPendingBlock = options?.isPending ?? false;
181
+
182
+ // For pending/flashblocks, skip eth_getBlockReceipts (not supported)
183
+ // and go straight to eth_getTransactionReceipt (which is supported).
184
+ if (isPendingBlock || isBlockReceipts === false) {
180
185
  const transactionReceipts = await Promise.all(
181
186
  Array.from(transactionHashes).map(async (hash) => {
182
187
  const receipt = await eth_getTransactionReceipt(
@@ -185,23 +190,27 @@ export const createRealtimeSync = (
185
190
  context,
186
191
  );
187
192
 
188
- validateReceiptsAndBlock(
189
- [receipt],
190
- block,
191
- {
192
- method: "eth_getTransactionReceipt",
193
- params: [hash],
194
- },
195
- ethGetBlockMethod === "eth_getBlockByNumber"
196
- ? {
197
- method: "eth_getBlockByNumber",
198
- params: [block.number, true],
199
- }
200
- : {
201
- method: "eth_getBlockByHash",
202
- params: [block.hash, true],
203
- },
204
- );
193
+ // Skip strict hash validation for pending blocks — the block hash
194
+ // may differ between the eth_getBlockByNumber and receipt calls.
195
+ if (!isPendingBlock) {
196
+ validateReceiptsAndBlock(
197
+ [receipt],
198
+ block,
199
+ {
200
+ method: "eth_getTransactionReceipt",
201
+ params: [hash],
202
+ },
203
+ ethGetBlockMethod === "eth_getBlockByNumber"
204
+ ? {
205
+ method: "eth_getBlockByNumber",
206
+ params: [block.number, true],
207
+ }
208
+ : {
209
+ method: "eth_getBlockByHash",
210
+ params: [block.hash, true],
211
+ },
212
+ );
213
+ }
205
214
 
206
215
  return receipt;
207
216
  }),
@@ -233,6 +242,7 @@ export const createRealtimeSync = (
233
242
  transactionHashes,
234
243
  ethGetBlockMethod,
235
244
  context,
245
+ options,
236
246
  );
237
247
  }
238
248
 
@@ -276,7 +286,9 @@ export const createRealtimeSync = (
276
286
  */
277
287
  const fetchBlockEventData = async (
278
288
  maybeBlockHeader: SyncBlock | SyncBlockHeader,
289
+ options?: { isPending?: boolean },
279
290
  ): Promise<BlockWithEventData> => {
291
+ const isPending = options?.isPending ?? false;
280
292
  const context = {
281
293
  logger: args.common.logger.child({ action: "fetch_block_data" }),
282
294
  };
@@ -305,7 +317,38 @@ export const createRealtimeSync = (
305
317
 
306
318
  let logs: SyncLog[] = [];
307
319
  if (shouldRequestLogs) {
308
- if (block === undefined) {
320
+ if (isPending) {
321
+ // For pending/flashblocks, use fromBlock/toBlock with "pending" tag
322
+ // as recommended by flashblock-enabled RPCs (e.g. Alchemy).
323
+ // blockHash-based queries may not work for pending block hashes.
324
+ if (block === undefined) {
325
+ [block, logs] = await Promise.all([
326
+ eth_getBlockByHash(
327
+ args.rpc,
328
+ [maybeBlockHeader.hash, true],
329
+ context,
330
+ ),
331
+ eth_getLogs(
332
+ args.rpc,
333
+ [
334
+ {
335
+ fromBlock: maybeBlockHeader.number,
336
+ toBlock: "pending",
337
+ },
338
+ ],
339
+ context,
340
+ ),
341
+ ]);
342
+ } else {
343
+ logs = await eth_getLogs(
344
+ args.rpc,
345
+ [{ fromBlock: block.number, toBlock: "pending" }],
346
+ context,
347
+ );
348
+ }
349
+ // Skip strict hash validation for pending blocks — the block hash
350
+ // may change between the eth_getBlockByNumber and eth_getLogs calls.
351
+ } else if (block === undefined) {
309
352
  [block, logs] = await Promise.all([
310
353
  eth_getBlockByHash(args.rpc, [maybeBlockHeader.hash, true], context),
311
354
  eth_getLogs(
@@ -322,23 +365,25 @@ export const createRealtimeSync = (
322
365
  );
323
366
  }
324
367
 
325
- validateLogsAndBlock(
326
- logs,
327
- block,
328
- {
329
- method: "eth_getLogs",
330
- params: [{ blockHash: block.hash }],
331
- },
332
- ethGetBlockMethod === "eth_getBlockByNumber"
333
- ? {
334
- method: "eth_getBlockByNumber",
335
- params: [block.number, true],
336
- }
337
- : {
338
- method: "eth_getBlockByHash",
339
- params: [block.hash, true],
340
- },
341
- );
368
+ if (!isPending) {
369
+ validateLogsAndBlock(
370
+ logs,
371
+ block,
372
+ {
373
+ method: "eth_getLogs",
374
+ params: [{ blockHash: block.hash }],
375
+ },
376
+ ethGetBlockMethod === "eth_getBlockByNumber"
377
+ ? {
378
+ method: "eth_getBlockByNumber",
379
+ params: [block.number, true],
380
+ }
381
+ : {
382
+ method: "eth_getBlockByHash",
383
+ params: [block.hash, true],
384
+ },
385
+ );
386
+ }
342
387
 
343
388
  // Note: Exact `logsBloom` validations were considered too strict to add to `validateLogsAndBlock`.
344
389
  let isInvalidLogsBloom = false;
@@ -423,7 +468,9 @@ export const createRealtimeSync = (
423
468
  traceFilters.length > 0 || transferFilters.length > 0;
424
469
 
425
470
  let traces: SyncTrace[] = [];
426
- if (shouldRequestTraces) {
471
+ // debug_traceBlockByHash is not supported for pending/flashblocks.
472
+ // Skip trace requests entirely for pending blocks.
473
+ if (shouldRequestTraces && !isPending) {
427
474
  if (block === undefined) {
428
475
  [block, traces] = await Promise.all([
429
476
  eth_getBlockByHash(args.rpc, [maybeBlockHeader.hash, true], context),
@@ -654,6 +701,7 @@ export const createRealtimeSync = (
654
701
  requiredTransactionReceipts,
655
702
  ethGetBlockMethod,
656
703
  context,
704
+ { isPending },
657
705
  );
658
706
 
659
707
  let childAddressCount = 0;
@@ -1284,7 +1332,9 @@ export const createRealtimeSync = (
1284
1332
 
1285
1333
  latestFetchedBlock = block;
1286
1334
 
1287
- const blockWithEventData = await fetchBlockEventData(block);
1335
+ const blockWithEventData = await fetchBlockEventData(block, {
1336
+ isPending: args.chain.readPending,
1337
+ });
1288
1338
 
1289
1339
  // Note: `reconcileBlock` must be called serially.
1290
1340