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
|
-
|
|
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
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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 (
|
|
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
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
@@ -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
|
-
|
|
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
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
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 (
|
|
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
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
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
|
-
|
|
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
|
|