ponder 0.17.12 → 0.18.0
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.
- package/CHANGELOG.md +20 -0
- package/dist/esm/bin/commands/codegen.js +3 -3
- package/dist/esm/bin/commands/codegen.js.map +1 -1
- package/dist/esm/bin/commands/dev.js +3 -3
- package/dist/esm/bin/commands/dev.js.map +1 -1
- package/dist/esm/bin/commands/serve.js +3 -3
- package/dist/esm/bin/commands/serve.js.map +1 -1
- package/dist/esm/bin/commands/start.js +3 -3
- package/dist/esm/bin/commands/start.js.map +1 -1
- package/dist/esm/build/config.js +19 -20
- package/dist/esm/build/config.js.map +1 -1
- package/dist/esm/build/index.js +79 -65
- package/dist/esm/build/index.js.map +1 -1
- package/dist/esm/build/plugin.js +9 -0
- package/dist/esm/build/plugin.js.map +1 -1
- package/dist/esm/build/stacktrace.js +25 -68
- package/dist/esm/build/stacktrace.js.map +1 -1
- package/dist/esm/database/index.js +83 -67
- package/dist/esm/database/index.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/indexing/client.js +35 -23
- package/dist/esm/indexing/client.js.map +1 -1
- package/dist/esm/indexing/index.js +3 -1
- package/dist/esm/indexing/index.js.map +1 -1
- package/dist/esm/rpc/actions.js +143 -67
- package/dist/esm/rpc/actions.js.map +1 -1
- package/dist/esm/runtime/events.js +33 -19
- package/dist/esm/runtime/events.js.map +1 -1
- package/dist/esm/runtime/filter.js +10 -9
- package/dist/esm/runtime/filter.js.map +1 -1
- package/dist/esm/runtime/fragments.js +50 -24
- package/dist/esm/runtime/fragments.js.map +1 -1
- package/dist/esm/runtime/historical.js +212 -68
- package/dist/esm/runtime/historical.js.map +1 -1
- package/dist/esm/runtime/index.js +11 -15
- package/dist/esm/runtime/index.js.map +1 -1
- package/dist/esm/runtime/isolated.js +1 -0
- package/dist/esm/runtime/isolated.js.map +1 -1
- package/dist/esm/runtime/multichain.js +1 -0
- package/dist/esm/runtime/multichain.js.map +1 -1
- package/dist/esm/runtime/omnichain.js +1 -0
- package/dist/esm/runtime/omnichain.js.map +1 -1
- package/dist/esm/runtime/realtime.js +17 -16
- package/dist/esm/runtime/realtime.js.map +1 -1
- package/dist/esm/server/index.js +8 -6
- package/dist/esm/server/index.js.map +1 -1
- package/dist/esm/sync-historical/in-memory.js +539 -0
- package/dist/esm/sync-historical/in-memory.js.map +1 -0
- package/dist/esm/sync-historical/index.js +46 -63
- package/dist/esm/sync-historical/index.js.map +1 -1
- package/dist/esm/sync-realtime/index.js +56 -83
- package/dist/esm/sync-realtime/index.js.map +1 -1
- package/dist/esm/sync-store/encode.js +1 -6
- package/dist/esm/sync-store/encode.js.map +1 -1
- package/dist/esm/sync-store/index.js +58 -62
- package/dist/esm/sync-store/index.js.map +1 -1
- package/dist/esm/sync-store/schema.js +23 -15
- package/dist/esm/sync-store/schema.js.map +1 -1
- package/dist/esm/sync-store/sql/ponder_rpc_cache_1/copy.sql +23 -0
- package/dist/esm/sync-store/sql/ponder_rpc_cache_1/create.sql +130 -0
- package/dist/esm/utils/finality.js +41 -32
- package/dist/esm/utils/finality.js.map +1 -1
- package/dist/esm/utils/pglite.js +0 -65
- package/dist/esm/utils/pglite.js.map +1 -1
- package/dist/types/bin/commands/codegen.d.ts.map +1 -1
- package/dist/types/bin/commands/dev.d.ts.map +1 -1
- package/dist/types/bin/commands/serve.d.ts.map +1 -1
- package/dist/types/bin/commands/start.d.ts.map +1 -1
- package/dist/types/build/config.d.ts.map +1 -1
- package/dist/types/build/index.d.ts.map +1 -1
- package/dist/types/build/plugin.d.ts.map +1 -1
- package/dist/types/build/stacktrace.d.ts +1 -12
- package/dist/types/build/stacktrace.d.ts.map +1 -1
- package/dist/types/config/index.d.ts +12 -2
- package/dist/types/config/index.d.ts.map +1 -1
- package/dist/types/database/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/indexing/client.d.ts.map +1 -1
- package/dist/types/internal/types.d.ts +8 -13
- package/dist/types/internal/types.d.ts.map +1 -1
- package/dist/types/rpc/actions.d.ts +30 -0
- package/dist/types/rpc/actions.d.ts.map +1 -1
- package/dist/types/runtime/events.d.ts.map +1 -1
- package/dist/types/runtime/filter.d.ts.map +1 -1
- package/dist/types/runtime/fragments.d.ts +9 -1
- package/dist/types/runtime/fragments.d.ts.map +1 -1
- package/dist/types/runtime/historical.d.ts +18 -1
- package/dist/types/runtime/historical.d.ts.map +1 -1
- package/dist/types/runtime/index.d.ts +1 -0
- package/dist/types/runtime/index.d.ts.map +1 -1
- package/dist/types/runtime/isolated.d.ts.map +1 -1
- package/dist/types/runtime/multichain.d.ts.map +1 -1
- package/dist/types/runtime/omnichain.d.ts.map +1 -1
- package/dist/types/runtime/realtime.d.ts.map +1 -1
- package/dist/types/server/index.d.ts.map +1 -1
- package/dist/types/sync-historical/in-memory.d.ts +24 -0
- package/dist/types/sync-historical/in-memory.d.ts.map +1 -0
- package/dist/types/sync-historical/index.d.ts.map +1 -1
- package/dist/types/sync-realtime/index.d.ts +3 -2
- package/dist/types/sync-realtime/index.d.ts.map +1 -1
- package/dist/types/sync-store/encode.d.ts.map +1 -1
- package/dist/types/sync-store/index.d.ts +3 -3
- package/dist/types/sync-store/index.d.ts.map +1 -1
- package/dist/types/sync-store/schema.d.ts +63 -98
- package/dist/types/sync-store/schema.d.ts.map +1 -1
- package/dist/types/types/eth.d.ts +2 -8
- package/dist/types/types/eth.d.ts.map +1 -1
- package/dist/types/utils/finality.d.ts +12 -9
- package/dist/types/utils/finality.d.ts.map +1 -1
- package/dist/types/utils/pglite.d.ts +0 -18
- package/dist/types/utils/pglite.d.ts.map +1 -1
- package/package.json +5 -11
- package/src/bin/commands/codegen.ts +3 -3
- package/src/bin/commands/dev.ts +3 -3
- package/src/bin/commands/serve.ts +3 -3
- package/src/bin/commands/start.ts +3 -3
- package/src/build/config.ts +29 -28
- package/src/build/index.ts +88 -71
- package/src/build/plugin.ts +6 -0
- package/src/build/stacktrace.ts +38 -65
- package/src/config/index.ts +12 -2
- package/src/database/index.ts +132 -89
- package/src/index.ts +5 -0
- package/src/indexing/client.ts +56 -40
- package/src/indexing/index.ts +4 -1
- package/src/internal/types.ts +10 -13
- package/src/rpc/actions.ts +211 -77
- package/src/runtime/events.ts +40 -19
- package/src/runtime/filter.ts +11 -11
- package/src/runtime/fragments.ts +70 -26
- package/src/runtime/historical.ts +314 -97
- package/src/runtime/index.ts +27 -14
- package/src/runtime/isolated.ts +1 -0
- package/src/runtime/multichain.ts +1 -0
- package/src/runtime/omnichain.ts +1 -0
- package/src/runtime/realtime.ts +24 -25
- package/src/server/index.ts +14 -7
- package/src/sync-historical/in-memory.ts +834 -0
- package/src/sync-historical/index.ts +76 -120
- package/src/sync-realtime/index.ts +73 -133
- package/src/sync-store/encode.ts +1 -6
- package/src/sync-store/index.ts +90 -95
- package/src/sync-store/schema.ts +24 -27
- package/src/types/eth.ts +2 -8
- package/src/utils/finality.ts +67 -34
- package/src/utils/pglite.ts +0 -79
- package/dist/esm/sync-store/migrations.js +0 -1595
- package/dist/esm/sync-store/migrations.js.map +0 -1
- package/dist/types/sync-store/migrations.d.ts +0 -8
- package/dist/types/sync-store/migrations.d.ts.map +0 -1
- package/src/sync-store/migrations.ts +0 -1801
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragments.js","sourceRoot":"","sources":["../../../src/runtime/fragments.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fragments.js","sourceRoot":"","sources":["../../../src/runtime/fragments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { hexToNumber
|
|
1
|
+
import { hexToNumber } from "viem";
|
|
2
2
|
import { ShutdownError } from '../internal/errors.js';
|
|
3
3
|
import { eth_getBlockByNumber } from '../rpc/actions.js';
|
|
4
4
|
import { buildEvents, decodeEvents } from './events.js';
|
|
5
|
+
import { createInMemoryHistoricalSync } from '../sync-historical/in-memory.js';
|
|
5
6
|
import { createHistoricalSync } from '../sync-historical/index.js';
|
|
6
7
|
import { createSyncStore } from '../sync-store/index.js';
|
|
7
8
|
import { decodeCheckpoint, encodeCheckpoint, MAX_CHECKPOINT, min, ZERO_CHECKPOINT, } from '../utils/checkpoint.js';
|
|
8
9
|
import { estimate } from '../utils/estimate.js';
|
|
10
|
+
import { getFinalizedBlock } from '../utils/finality.js';
|
|
9
11
|
import { formatPercentage } from '../utils/format.js';
|
|
10
12
|
import { bufferAsyncGenerator, createCallbackGenerator, mergeAsyncGenerators, } from '../utils/generators.js';
|
|
11
13
|
import { intervalSum } from '../utils/interval.js';
|
|
@@ -17,6 +19,7 @@ import { getOmnichainCheckpoint } from "./omnichain.js";
|
|
|
17
19
|
export async function* getHistoricalEventsOmnichain(params) {
|
|
18
20
|
let pendingEvents = [];
|
|
19
21
|
let isCatchup = false;
|
|
22
|
+
let lastUnfinalizedRefetch = Date.now();
|
|
20
23
|
const perChainCursor = new Map();
|
|
21
24
|
while (true) {
|
|
22
25
|
const eventGenerators = Array.from(params.perChainSync.entries()).map(async function* ([chain, { syncProgress, childAddresses, cachedIntervals },]) {
|
|
@@ -43,6 +46,10 @@ export async function* getHistoricalEventsOmnichain(params) {
|
|
|
43
46
|
chain.id) {
|
|
44
47
|
from = crashRecoveryCheckpoint;
|
|
45
48
|
}
|
|
49
|
+
else if (chain.cacheRpcRequests === false) {
|
|
50
|
+
// Note: When the rpc cache is disabled, blocks in the sync-store can be stale.
|
|
51
|
+
from = syncProgress.getCheckpoint({ tag: "start" });
|
|
52
|
+
}
|
|
46
53
|
else {
|
|
47
54
|
const fromBlock = await createSyncStore({
|
|
48
55
|
common: params.common,
|
|
@@ -107,7 +114,7 @@ export async function* getHistoricalEventsOmnichain(params) {
|
|
|
107
114
|
Number(decodeCheckpoint(to).blockNumber),
|
|
108
115
|
]),
|
|
109
116
|
});
|
|
110
|
-
const
|
|
117
|
+
const eventGeneratorParams = {
|
|
111
118
|
common: params.common,
|
|
112
119
|
chain,
|
|
113
120
|
rpc,
|
|
@@ -121,7 +128,10 @@ export async function* getHistoricalEventsOmnichain(params) {
|
|
|
121
128
|
(params.indexingBuild.chains.length + 1)) + 6,
|
|
122
129
|
database: params.database,
|
|
123
130
|
isCatchup,
|
|
124
|
-
}
|
|
131
|
+
};
|
|
132
|
+
const eventGenerator = chain.cacheRpcRequests
|
|
133
|
+
? getLocalEventGenerator(eventGeneratorParams)
|
|
134
|
+
: getLocalInMemoryEventGenerator(eventGeneratorParams);
|
|
125
135
|
for await (let { events: rawEvents, checkpoint, blockRange, } of eventGenerator) {
|
|
126
136
|
const endClock = startClock();
|
|
127
137
|
let events = decodeEvents(params.common, chain, eventCallbacks, rawEvents);
|
|
@@ -179,6 +189,11 @@ export async function* getHistoricalEventsOmnichain(params) {
|
|
|
179
189
|
for await (const mergeResults of eventGenerator) {
|
|
180
190
|
yield { type: "events", result: mergeResults };
|
|
181
191
|
}
|
|
192
|
+
if (params.indexingBuild.chains.every((chain) => Date.now() - lastUnfinalizedRefetch <
|
|
193
|
+
Math.max(chain.reorgWindow * 1_000, 30_000))) {
|
|
194
|
+
break;
|
|
195
|
+
}
|
|
196
|
+
lastUnfinalizedRefetch = Date.now();
|
|
182
197
|
const context = {
|
|
183
198
|
logger: params.common.logger.child({ action: "refetch_finalized_block" }),
|
|
184
199
|
retryNullBlockRequest: true,
|
|
@@ -187,10 +202,12 @@ export async function* getHistoricalEventsOmnichain(params) {
|
|
|
187
202
|
const finalizedBlocks = await Promise.all(params.indexingBuild.chains.map((chain, i) => {
|
|
188
203
|
const rpc = params.indexingBuild.rpcs[i];
|
|
189
204
|
return eth_getBlockByNumber(rpc, ["latest", false], context)
|
|
190
|
-
.then((latest) =>
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
205
|
+
.then((latest) => getFinalizedBlock({
|
|
206
|
+
chain,
|
|
207
|
+
rpc,
|
|
208
|
+
latestBlock: latest,
|
|
209
|
+
lowerBound: params.perChainSync.get(chain).syncProgress.finalized,
|
|
210
|
+
}))
|
|
194
211
|
.then((finalizedBlock) => {
|
|
195
212
|
const finalizedBlockNumber = hexToNumber(finalizedBlock.number);
|
|
196
213
|
params.common.logger.debug({
|
|
@@ -203,23 +220,14 @@ export async function* getHistoricalEventsOmnichain(params) {
|
|
|
203
220
|
return finalizedBlock;
|
|
204
221
|
});
|
|
205
222
|
}));
|
|
206
|
-
let shouldCatchup = false;
|
|
207
223
|
for (let i = 0; i < params.indexingBuild.chains.length; i++) {
|
|
208
224
|
const chain = params.indexingBuild.chains[i];
|
|
209
225
|
const oldFinalizedBlock = params.perChainSync.get(chain).syncProgress.finalized;
|
|
210
|
-
const newFinalizedBlock = finalizedBlocks[i];
|
|
211
|
-
if (hexToNumber(newFinalizedBlock.number) -
|
|
212
|
-
hexToNumber(oldFinalizedBlock.number) >
|
|
213
|
-
chain.finalityBlockCount) {
|
|
214
|
-
shouldCatchup = true;
|
|
215
|
-
break;
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
if (shouldCatchup === false)
|
|
219
|
-
break;
|
|
220
|
-
for (let i = 0; i < params.indexingBuild.chains.length; i++) {
|
|
221
|
-
const chain = params.indexingBuild.chains[i];
|
|
222
226
|
const finalizedBlock = finalizedBlocks[i];
|
|
227
|
+
if (hexToNumber(finalizedBlock.number) <
|
|
228
|
+
hexToNumber(oldFinalizedBlock.number)) {
|
|
229
|
+
throw new Error(`Finalized block for chain "${chain.name}" cannot move backwards`);
|
|
230
|
+
}
|
|
223
231
|
params.perChainSync.get(chain).syncProgress.finalized = finalizedBlock;
|
|
224
232
|
}
|
|
225
233
|
isCatchup = true;
|
|
@@ -248,6 +256,10 @@ export async function* getHistoricalEventsMultichain(params) {
|
|
|
248
256
|
chain.id) {
|
|
249
257
|
from = crashRecoveryCheckpoint;
|
|
250
258
|
}
|
|
259
|
+
else if (chain.cacheRpcRequests === false) {
|
|
260
|
+
// Note: When the rpc cache is disabled, blocks in the sync-store can be stale.
|
|
261
|
+
from = syncProgress.getCheckpoint({ tag: "start" });
|
|
262
|
+
}
|
|
251
263
|
else {
|
|
252
264
|
const fromBlock = await createSyncStore({
|
|
253
265
|
common: params.common,
|
|
@@ -289,7 +301,7 @@ export async function* getHistoricalEventsMultichain(params) {
|
|
|
289
301
|
Number(decodeCheckpoint(to).blockNumber),
|
|
290
302
|
]),
|
|
291
303
|
});
|
|
292
|
-
const
|
|
304
|
+
const eventGeneratorParams = {
|
|
293
305
|
common: params.common,
|
|
294
306
|
chain,
|
|
295
307
|
rpc,
|
|
@@ -303,7 +315,10 @@ export async function* getHistoricalEventsMultichain(params) {
|
|
|
303
315
|
(params.indexingBuild.chains.length + 1)) + 6,
|
|
304
316
|
database: params.database,
|
|
305
317
|
isCatchup,
|
|
306
|
-
}
|
|
318
|
+
};
|
|
319
|
+
const eventGenerator = chain.cacheRpcRequests
|
|
320
|
+
? getLocalEventGenerator(eventGeneratorParams)
|
|
321
|
+
: getLocalInMemoryEventGenerator(eventGeneratorParams);
|
|
307
322
|
for await (const { events: rawEvents, checkpoint, blockRange, } of eventGenerator) {
|
|
308
323
|
const endClock = startClock();
|
|
309
324
|
let events = decodeEvents(params.common, chain, eventCallbacks, rawEvents);
|
|
@@ -335,7 +350,8 @@ export async function* getHistoricalEventsMultichain(params) {
|
|
|
335
350
|
perChainCursor.set(chain, to);
|
|
336
351
|
});
|
|
337
352
|
yield* mergeAsyncGenerators(eventGenerators);
|
|
338
|
-
if (Date.now() - lastUnfinalizedRefetch <
|
|
353
|
+
if (params.indexingBuild.chains.every((chain) => Date.now() - lastUnfinalizedRefetch <
|
|
354
|
+
Math.max(chain.reorgWindow * 1_000, 30_000))) {
|
|
339
355
|
break;
|
|
340
356
|
}
|
|
341
357
|
lastUnfinalizedRefetch = Date.now();
|
|
@@ -347,10 +363,12 @@ export async function* getHistoricalEventsMultichain(params) {
|
|
|
347
363
|
const finalizedBlocks = await Promise.all(params.indexingBuild.chains.map((chain, i) => {
|
|
348
364
|
const rpc = params.indexingBuild.rpcs[i];
|
|
349
365
|
return eth_getBlockByNumber(rpc, ["latest", false], context)
|
|
350
|
-
.then((
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
366
|
+
.then((latestBlock) => getFinalizedBlock({
|
|
367
|
+
chain,
|
|
368
|
+
rpc,
|
|
369
|
+
latestBlock,
|
|
370
|
+
lowerBound: params.perChainSync.get(chain).syncProgress.finalized,
|
|
371
|
+
}))
|
|
354
372
|
.then((finalizedBlock) => {
|
|
355
373
|
const finalizedBlockNumber = hexToNumber(finalizedBlock.number);
|
|
356
374
|
params.common.logger.debug({
|
|
@@ -363,23 +381,14 @@ export async function* getHistoricalEventsMultichain(params) {
|
|
|
363
381
|
return finalizedBlock;
|
|
364
382
|
});
|
|
365
383
|
}));
|
|
366
|
-
let shouldCatchup = false;
|
|
367
384
|
for (let i = 0; i < params.indexingBuild.chains.length; i++) {
|
|
368
385
|
const chain = params.indexingBuild.chains[i];
|
|
386
|
+
const finalizedBlock = finalizedBlocks[i];
|
|
369
387
|
const oldFinalizedBlock = params.perChainSync.get(chain).syncProgress.finalized;
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
chain.finalityBlockCount) {
|
|
374
|
-
shouldCatchup = true;
|
|
375
|
-
break;
|
|
388
|
+
if (hexToNumber(finalizedBlock.number) <
|
|
389
|
+
hexToNumber(oldFinalizedBlock.number)) {
|
|
390
|
+
continue;
|
|
376
391
|
}
|
|
377
|
-
}
|
|
378
|
-
if (shouldCatchup === false)
|
|
379
|
-
break;
|
|
380
|
-
for (let i = 0; i < params.indexingBuild.chains.length; i++) {
|
|
381
|
-
const chain = params.indexingBuild.chains[i];
|
|
382
|
-
const finalizedBlock = finalizedBlocks[i];
|
|
383
392
|
params.perChainSync.get(chain).syncProgress.finalized = finalizedBlock;
|
|
384
393
|
}
|
|
385
394
|
isCatchup = true;
|
|
@@ -429,7 +438,7 @@ export async function* getHistoricalEventsIsolated(params) {
|
|
|
429
438
|
Number(decodeCheckpoint(to).blockNumber),
|
|
430
439
|
]),
|
|
431
440
|
});
|
|
432
|
-
const
|
|
441
|
+
const eventGeneratorParams = {
|
|
433
442
|
common: params.common,
|
|
434
443
|
chain: params.chain,
|
|
435
444
|
rpc,
|
|
@@ -443,7 +452,10 @@ export async function* getHistoricalEventsIsolated(params) {
|
|
|
443
452
|
(params.indexingBuild.chains.length + 1)) + 6,
|
|
444
453
|
database: params.database,
|
|
445
454
|
isCatchup,
|
|
446
|
-
}
|
|
455
|
+
};
|
|
456
|
+
const eventGenerator = params.chain.cacheRpcRequests
|
|
457
|
+
? getLocalEventGenerator(eventGeneratorParams)
|
|
458
|
+
: getLocalInMemoryEventGenerator(eventGeneratorParams);
|
|
447
459
|
for await (const { events: rawEvents, checkpoint, blockRange, } of eventGenerator) {
|
|
448
460
|
const endClock = startClock();
|
|
449
461
|
let events = decodeEvents(params.common, params.chain, eventCallbacks, rawEvents);
|
|
@@ -473,7 +485,8 @@ export async function* getHistoricalEventsIsolated(params) {
|
|
|
473
485
|
yield { chainId: params.chain.id, events, checkpoint, blockRange };
|
|
474
486
|
}
|
|
475
487
|
cursor = to;
|
|
476
|
-
if (Date.now() - lastUnfinalizedRefetch <
|
|
488
|
+
if (params.indexingBuild.chains.every((chain) => Date.now() - lastUnfinalizedRefetch <
|
|
489
|
+
Math.max(chain.reorgWindow * 1_000, 30_000))) {
|
|
477
490
|
break;
|
|
478
491
|
}
|
|
479
492
|
lastUnfinalizedRefetch = Date.now();
|
|
@@ -481,10 +494,12 @@ export async function* getHistoricalEventsIsolated(params) {
|
|
|
481
494
|
logger: params.common.logger.child({ action: "refetch_finalized_block" }),
|
|
482
495
|
};
|
|
483
496
|
const endClock = startClock();
|
|
484
|
-
const finalizedBlock = await eth_getBlockByNumber(rpc, ["latest", false], context).then((latest) =>
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
497
|
+
const finalizedBlock = await eth_getBlockByNumber(rpc, ["latest", false], context).then((latest) => getFinalizedBlock({
|
|
498
|
+
chain: params.chain,
|
|
499
|
+
rpc,
|
|
500
|
+
latestBlock: latest,
|
|
501
|
+
lowerBound: params.syncProgress.finalized,
|
|
502
|
+
}));
|
|
488
503
|
const finalizedBlockNumber = hexToNumber(finalizedBlock.number);
|
|
489
504
|
params.common.logger.debug({
|
|
490
505
|
msg: "Refetched finalized block for backfill cutover",
|
|
@@ -493,9 +508,7 @@ export async function* getHistoricalEventsIsolated(params) {
|
|
|
493
508
|
finalized_block: finalizedBlockNumber,
|
|
494
509
|
duration: endClock(),
|
|
495
510
|
});
|
|
496
|
-
if (hexToNumber(
|
|
497
|
-
hexToNumber(params.syncProgress.finalized.number) <=
|
|
498
|
-
params.chain.finalityBlockCount) {
|
|
511
|
+
if (finalizedBlockNumber < hexToNumber(params.syncProgress.finalized.number)) {
|
|
499
512
|
break;
|
|
500
513
|
}
|
|
501
514
|
params.syncProgress.finalized = finalizedBlock;
|
|
@@ -649,7 +662,7 @@ export async function* getLocalEventGenerator(params) {
|
|
|
649
662
|
await new Promise(setImmediate);
|
|
650
663
|
const blockRange = [cursor, queryCursor];
|
|
651
664
|
cursor = queryCursor + 1;
|
|
652
|
-
if (cursor
|
|
665
|
+
if (cursor > toBlock) {
|
|
653
666
|
yield { events, checkpoint: params.to, blockRange };
|
|
654
667
|
}
|
|
655
668
|
else if (blocks.length > 0) {
|
|
@@ -664,6 +677,137 @@ export async function* getLocalEventGenerator(params) {
|
|
|
664
677
|
}
|
|
665
678
|
}
|
|
666
679
|
}
|
|
680
|
+
export async function* getLocalInMemoryEventGenerator(params) {
|
|
681
|
+
const backfillEndClock = startClock();
|
|
682
|
+
const label = { chain: params.chain.name };
|
|
683
|
+
let first = hexToNumber(params.syncProgress.start.number);
|
|
684
|
+
const last = params.syncProgress.end === undefined
|
|
685
|
+
? params.syncProgress.finalized
|
|
686
|
+
: hexToNumber(params.syncProgress.end.number) >
|
|
687
|
+
hexToNumber(params.syncProgress.finalized.number)
|
|
688
|
+
? params.syncProgress.finalized
|
|
689
|
+
: params.syncProgress.end;
|
|
690
|
+
if (hexToNumber(params.syncProgress.start.number) >
|
|
691
|
+
hexToNumber(params.syncProgress.finalized.number)) {
|
|
692
|
+
params.syncProgress.current = params.syncProgress.finalized;
|
|
693
|
+
params.common.logger.info({
|
|
694
|
+
msg: "Skipped fetching backfill JSON-RPC data (chain only requires live indexing)",
|
|
695
|
+
chain: params.chain.name,
|
|
696
|
+
chain_id: params.chain.id,
|
|
697
|
+
finalized_block: hexToNumber(params.syncProgress.finalized.number),
|
|
698
|
+
start_block: hexToNumber(params.syncProgress.start.number),
|
|
699
|
+
});
|
|
700
|
+
params.common.metrics.ponder_sync_block.set(label, hexToNumber(params.syncProgress.current.number));
|
|
701
|
+
params.common.metrics.ponder_sync_block_timestamp.set(label, hexToNumber(params.syncProgress.current.timestamp));
|
|
702
|
+
params.common.metrics.ponder_historical_total_blocks.set(label, 0);
|
|
703
|
+
params.common.metrics.ponder_historical_cached_blocks.set(label, 0);
|
|
704
|
+
params.common.metrics.ponder_historical_completed_blocks.set(label, 0);
|
|
705
|
+
return;
|
|
706
|
+
}
|
|
707
|
+
const totalInterval = [
|
|
708
|
+
hexToNumber(params.syncProgress.start.number),
|
|
709
|
+
hexToNumber(last.number),
|
|
710
|
+
];
|
|
711
|
+
const total = totalInterval[1] - totalInterval[0] + 1;
|
|
712
|
+
params.common.metrics.ponder_historical_total_blocks.set(label, total);
|
|
713
|
+
params.common.metrics.ponder_historical_cached_blocks.set(label, 0);
|
|
714
|
+
if (params.syncProgress.current === undefined) {
|
|
715
|
+
if (params.isCatchup === false) {
|
|
716
|
+
params.common.logger.info({
|
|
717
|
+
msg: "Started fetching backfill JSON-RPC data",
|
|
718
|
+
chain: params.chain.name,
|
|
719
|
+
chain_id: params.chain.id,
|
|
720
|
+
});
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
else {
|
|
724
|
+
params.common.metrics.ponder_sync_block.set(label, hexToNumber(params.syncProgress.current.number));
|
|
725
|
+
params.common.metrics.ponder_sync_block_timestamp.set(label, hexToNumber(params.syncProgress.current.timestamp));
|
|
726
|
+
if (params.isCatchup === false) {
|
|
727
|
+
params.common.logger.info({
|
|
728
|
+
msg: "Started fetching backfill JSON-RPC data",
|
|
729
|
+
chain: params.chain.name,
|
|
730
|
+
chain_id: params.chain.id,
|
|
731
|
+
});
|
|
732
|
+
}
|
|
733
|
+
first = Math.max(first, hexToNumber(params.syncProgress.current.number) + 1);
|
|
734
|
+
}
|
|
735
|
+
const fromBlock = Number(decodeCheckpoint(params.from).blockNumber);
|
|
736
|
+
const { intervals: requiredIntervals } = getRequiredIntervalsWithFilters({
|
|
737
|
+
interval: [fromBlock, hexToNumber(last.number)],
|
|
738
|
+
filters: params.eventCallbacks.map(({ filter }) => filter),
|
|
739
|
+
cachedIntervals: params.cachedIntervals,
|
|
740
|
+
});
|
|
741
|
+
const { factoryIntervals: requiredFactoryIntervals } = getRequiredIntervalsWithFilters({
|
|
742
|
+
interval: [first, hexToNumber(last.number)],
|
|
743
|
+
filters: params.eventCallbacks.map(({ filter }) => filter),
|
|
744
|
+
cachedIntervals: params.cachedIntervals,
|
|
745
|
+
});
|
|
746
|
+
const historicalSync = createInMemoryHistoricalSync({
|
|
747
|
+
common: params.common,
|
|
748
|
+
chain: params.chain,
|
|
749
|
+
rpc: params.rpc,
|
|
750
|
+
childAddress: params.childAddresses,
|
|
751
|
+
});
|
|
752
|
+
params.common.metrics.ponder_historical_completed_blocks.inc(label, Math.max(0, Math.min(fromBlock, hexToNumber(last.number) + 1) - first));
|
|
753
|
+
let cursor = fromBlock;
|
|
754
|
+
for await (const blockData of historicalSync.syncBlockData({
|
|
755
|
+
requiredIntervals,
|
|
756
|
+
requiredFactoryIntervals,
|
|
757
|
+
})) {
|
|
758
|
+
const endClock = startClock();
|
|
759
|
+
const rawEvents = buildEvents({
|
|
760
|
+
eventCallbacks: params.eventCallbacks,
|
|
761
|
+
blocks: blockData.blocks,
|
|
762
|
+
logs: blockData.logs,
|
|
763
|
+
transactions: blockData.transactions,
|
|
764
|
+
transactionReceipts: blockData.transactionReceipts,
|
|
765
|
+
traces: blockData.traces,
|
|
766
|
+
childAddresses: params.childAddresses,
|
|
767
|
+
chainId: params.chain.id,
|
|
768
|
+
});
|
|
769
|
+
params.common.logger.trace({
|
|
770
|
+
msg: "Constructed events from block data",
|
|
771
|
+
chain: params.chain.name,
|
|
772
|
+
chain_id: params.chain.id,
|
|
773
|
+
block_range: JSON.stringify([cursor, blockData.cursor]),
|
|
774
|
+
event_count: rawEvents.length,
|
|
775
|
+
duration: endClock(),
|
|
776
|
+
});
|
|
777
|
+
params.common.metrics.ponder_historical_extract_duration.inc({ step: "build" }, endClock());
|
|
778
|
+
params.common.metrics.ponder_historical_completed_blocks.inc(label, blockData.cursor - cursor + 1);
|
|
779
|
+
const blockRange = [cursor, blockData.cursor];
|
|
780
|
+
cursor = blockData.cursor + 1;
|
|
781
|
+
const lastBlock = blockData.blocks[blockData.blocks.length - 1];
|
|
782
|
+
params.common.metrics.ponder_sync_block.set(label, Number(lastBlock.number));
|
|
783
|
+
params.common.metrics.ponder_sync_block_timestamp.set(label, Number(lastBlock.timestamp));
|
|
784
|
+
const checkpoint = encodeCheckpoint({
|
|
785
|
+
...MAX_CHECKPOINT,
|
|
786
|
+
blockTimestamp: lastBlock.timestamp,
|
|
787
|
+
chainId: BigInt(params.chain.id),
|
|
788
|
+
blockNumber: lastBlock.number,
|
|
789
|
+
});
|
|
790
|
+
yield { events: rawEvents, checkpoint, blockRange };
|
|
791
|
+
}
|
|
792
|
+
// Advance through the entire scanned range, including blocks without events.
|
|
793
|
+
params.syncProgress.current = last;
|
|
794
|
+
params.common.metrics.ponder_historical_completed_blocks.inc(label, Math.max(0, hexToNumber(last.number) - cursor + 1));
|
|
795
|
+
params.common.metrics.ponder_sync_block.set(label, hexToNumber(last.number));
|
|
796
|
+
params.common.metrics.ponder_sync_block_timestamp.set(label, hexToNumber(last.timestamp));
|
|
797
|
+
if (cursor <= hexToNumber(last.number)) {
|
|
798
|
+
yield {
|
|
799
|
+
events: [],
|
|
800
|
+
checkpoint: params.to,
|
|
801
|
+
blockRange: [cursor, hexToNumber(last.number)],
|
|
802
|
+
};
|
|
803
|
+
}
|
|
804
|
+
params.common.logger.info({
|
|
805
|
+
msg: "Finished fetching backfill JSON-RPC data",
|
|
806
|
+
chain: params.chain.name,
|
|
807
|
+
chain_id: params.chain.id,
|
|
808
|
+
duration: backfillEndClock(),
|
|
809
|
+
});
|
|
810
|
+
}
|
|
667
811
|
export async function* getLocalSyncGenerator(params) {
|
|
668
812
|
const backfillEndClock = startClock();
|
|
669
813
|
const label = { chain: params.chain.name };
|
|
@@ -694,6 +838,7 @@ export async function* getLocalSyncGenerator(params) {
|
|
|
694
838
|
params.common.metrics.ponder_sync_block_timestamp.set(label, hexToNumber(params.syncProgress.current.timestamp));
|
|
695
839
|
params.common.metrics.ponder_historical_total_blocks.set(label, 0);
|
|
696
840
|
params.common.metrics.ponder_historical_cached_blocks.set(label, 0);
|
|
841
|
+
params.common.metrics.ponder_historical_completed_blocks.set(label, 0);
|
|
697
842
|
return;
|
|
698
843
|
}
|
|
699
844
|
const totalInterval = [
|
|
@@ -709,8 +854,17 @@ export async function* getLocalSyncGenerator(params) {
|
|
|
709
854
|
const total = totalInterval[1] - totalInterval[0] + 1;
|
|
710
855
|
params.common.metrics.ponder_historical_total_blocks.set(label, total);
|
|
711
856
|
params.common.metrics.ponder_historical_cached_blocks.set(label, total - required);
|
|
712
|
-
|
|
713
|
-
|
|
857
|
+
if (params.syncProgress.current === undefined) {
|
|
858
|
+
if (params.isCatchup === false) {
|
|
859
|
+
params.common.logger.info({
|
|
860
|
+
msg: "Started fetching backfill JSON-RPC data",
|
|
861
|
+
chain: params.chain.name,
|
|
862
|
+
chain_id: params.chain.id,
|
|
863
|
+
cache_rate: "0%",
|
|
864
|
+
});
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
else {
|
|
714
868
|
params.common.metrics.ponder_sync_block.set(label, hexToNumber(params.syncProgress.current.number));
|
|
715
869
|
params.common.metrics.ponder_sync_block_timestamp.set(label, hexToNumber(params.syncProgress.current.timestamp));
|
|
716
870
|
// `getEvents` can make progress without calling `sync`, so immediately "yield"
|
|
@@ -739,14 +893,6 @@ export async function* getLocalSyncGenerator(params) {
|
|
|
739
893
|
}
|
|
740
894
|
first = Math.max(first, hexToNumber(params.syncProgress.current.number) + 1);
|
|
741
895
|
}
|
|
742
|
-
else {
|
|
743
|
-
params.common.logger.info({
|
|
744
|
-
msg: "Started fetching backfill JSON-RPC data",
|
|
745
|
-
chain: params.chain.name,
|
|
746
|
-
chain_id: params.chain.id,
|
|
747
|
-
cache_rate: "0%",
|
|
748
|
-
});
|
|
749
|
-
}
|
|
750
896
|
const historicalSync = createHistoricalSync(params);
|
|
751
897
|
const { callback: intervalCallback, generator: intervalGenerator } = createCallbackGenerator();
|
|
752
898
|
intervalCallback({
|
|
@@ -806,13 +952,11 @@ export async function* getLocalSyncGenerator(params) {
|
|
|
806
952
|
logs,
|
|
807
953
|
syncStore,
|
|
808
954
|
});
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
});
|
|
815
|
-
}
|
|
955
|
+
await syncStore.insertIntervals({
|
|
956
|
+
intervals: requiredIntervals,
|
|
957
|
+
factoryIntervals: requiredFactoryIntervals,
|
|
958
|
+
chainId: params.chain.id,
|
|
959
|
+
});
|
|
816
960
|
return closestToTipBlock;
|
|
817
961
|
})
|
|
818
962
|
.catch((error) => {
|