ponder 0.17.6 → 0.17.8

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # ponder
2
2
 
3
+ ## 0.17.8
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2366](https://github.com/ponder-sh/ponder/pull/2366) [`bbcaa43`](https://github.com/ponder-sh/ponder/commit/bbcaa43982b92cbfd1d4b91f66a0b4ae824c3d43) Thanks [@kyscott18](https://github.com/kyscott18)! - Improved backfill sync performance by merging more compatible JSON-RPC `eth_getLogs` requests.
8
+
9
+ ## 0.17.7
10
+
11
+ ### Patch Changes
12
+
13
+ - [#2370](https://github.com/ponder-sh/ponder/pull/2370) [`e60a608`](https://github.com/ponder-sh/ponder/commit/e60a608b8a001511a6d62e825db73269a2ee669e) Thanks [@kyscott18](https://github.com/kyscott18)! - Fixed the error `TypeError: Cannot read properties of undefined (reading 'getSelectedFields')` that occurred during startup.
14
+
3
15
  ## 0.17.6
4
16
 
5
17
  ### Patch Changes
@@ -132,7 +132,7 @@ export const client = ({ db, schema, }) => {
132
132
  if (driver.dialect === "pglite") {
133
133
  const channel = getLiveQueryChannelName(globalThis.PONDER_NAMESPACE_BUILD.schema);
134
134
  driver.instance.query(`LISTEN "${channel}"`);
135
- driver.instance.onNotification((_, payload) => {
135
+ const unsubscribe = driver.instance.onNotification((_, payload) => {
136
136
  const tables = JSON.parse(payload);
137
137
  tables.push("_ponder_checkpoint");
138
138
  let invalidQueryCount = 0;
@@ -165,6 +165,7 @@ export const client = ({ db, schema, }) => {
165
165
  });
166
166
  }
167
167
  });
168
+ globalThis.PONDER_COMMON.apiShutdown.add(unsubscribe);
168
169
  }
169
170
  else {
170
171
  (async () => {
@@ -177,6 +178,7 @@ export const client = ({ db, schema, }) => {
177
178
  client = await driver.admin.connect();
178
179
  if (hasRegisteredShutdown === false) {
179
180
  globalThis.PONDER_COMMON.apiShutdown.add(() => {
181
+ client?.removeAllListeners("notification");
180
182
  client?.release();
181
183
  client = undefined;
182
184
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { hexToNumber } from "viem";
1
+ import { hexToNumber, numberToHex } from "viem";
2
+ import { sanitizeLogTopics } from '../rpc/index.js';
2
3
  import { toLowerCase } from '../utils/lowercase.js';
3
4
  /** Returns true if `address` is an address filter. */
4
5
  export const isAddressFactory = (address) => {
@@ -9,6 +10,125 @@ export const isAddressFactory = (address) => {
9
10
  }
10
11
  return Array.isArray(address) ? isAddressFactory(address[0]) : true;
11
12
  };
13
+ const logRequestKeys = [
14
+ "address",
15
+ "topic0",
16
+ "topic1",
17
+ "topic2",
18
+ "topic3",
19
+ ];
20
+ const getLogRequestValue = (request, key) => {
21
+ if (key === "address")
22
+ return request.params[0].address;
23
+ const topic = request.params[0].topics?.[Number(key.slice(-1))];
24
+ return topic === null ? undefined : topic;
25
+ };
26
+ /** Returns `true` if `left` and `right` overlap by at least 80% of the smaller interval's length. */
27
+ const hasSufficientLogIntervalOverlap = (left, right) => {
28
+ const overlapStart = Math.max(left[0], right[0]);
29
+ const overlapEnd = Math.min(left[1], right[1]);
30
+ if (overlapStart > overlapEnd)
31
+ return false;
32
+ const overlapLength = overlapEnd - overlapStart + 1;
33
+ const smallerIntervalLength = Math.min(left[1] - left[0] + 1, right[1] - right[0] + 1);
34
+ return overlapLength / smallerIntervalLength >= 0.8;
35
+ };
36
+ const mergeLogFilterValue = (left, right) => left === undefined || right === undefined
37
+ ? undefined
38
+ : [
39
+ ...new Set([
40
+ ...(Array.isArray(left) ? left : [left]),
41
+ ...(Array.isArray(right) ? right : [right]),
42
+ ]),
43
+ ];
44
+ /**
45
+ * Merge `LogFilter`s into the smallest possible set of "eth_getLogs" requests.
46
+ *
47
+ * @dev Two filters are merged into a single request when:
48
+ * 1. their required intervals overlap by at least 80% (of the smaller
49
+ * interval's length), and
50
+ * 2. at most one of `address`, `topic0`, `topic1`, `topic2`, or `topic3`
51
+ * differs between them.
52
+ * The one differing dimension (if any) is unioned into an array.
53
+ *
54
+ * @dev Factory addresses are resolved into concrete child addresses (or
55
+ * `undefined`, above `factoryAddressCountThreshold`) before merging, so
56
+ * requests originating from different factories can still be merged.
57
+ */
58
+ export const mergeLogFiltersToRequests = (filters, childAddresses, factoryAddressCountThreshold) => {
59
+ const requests = [];
60
+ for (const { filter, interval } of filters) {
61
+ if (filter.type !== "log")
62
+ continue;
63
+ let address;
64
+ if (isAddressFactory(filter.address)) {
65
+ const addresses = childAddresses.get(filter.address.id);
66
+ if (addresses.size === 0)
67
+ continue;
68
+ address =
69
+ addresses.size >= factoryAddressCountThreshold
70
+ ? undefined
71
+ : Array.from(addresses.keys());
72
+ }
73
+ else {
74
+ address = filter.address;
75
+ }
76
+ const candidate = {
77
+ method: "eth_getLogs",
78
+ params: [
79
+ {
80
+ address,
81
+ topics: sanitizeLogTopics([
82
+ filter.topic0,
83
+ filter.topic1 ?? null,
84
+ filter.topic2 ?? null,
85
+ filter.topic3 ?? null,
86
+ ]),
87
+ fromBlock: numberToHex(interval[0]),
88
+ toBlock: numberToHex(interval[1]),
89
+ },
90
+ ],
91
+ };
92
+ let isMerged = false;
93
+ for (const request of requests) {
94
+ if (hasSufficientLogIntervalOverlap([
95
+ hexToNumber(request.params[0].fromBlock),
96
+ hexToNumber(request.params[0].toBlock),
97
+ ], interval) === false) {
98
+ continue;
99
+ }
100
+ const numberOfDifferences = logRequestKeys.filter((key) => JSON.stringify(getLogRequestValue(request, key)) !==
101
+ JSON.stringify(getLogRequestValue(candidate, key))).length;
102
+ if (numberOfDifferences > 1)
103
+ continue;
104
+ const requestParams = request.params[0];
105
+ for (const key of logRequestKeys) {
106
+ const requestValue = getLogRequestValue(request, key);
107
+ const candidateValue = getLogRequestValue(candidate, key);
108
+ if (JSON.stringify(requestValue) === JSON.stringify(candidateValue)) {
109
+ continue;
110
+ }
111
+ const mergedValue = mergeLogFilterValue(requestValue, candidateValue);
112
+ if (key === "address") {
113
+ requestParams.address = mergedValue;
114
+ }
115
+ else {
116
+ const topics = [...(requestParams.topics ?? [])];
117
+ topics[Number(key.slice(-1))] = mergedValue ?? null;
118
+ requestParams.topics = sanitizeLogTopics(topics);
119
+ }
120
+ }
121
+ requestParams.fromBlock = numberToHex(Math.min(hexToNumber(requestParams.fromBlock), interval[0]));
122
+ requestParams.toBlock = numberToHex(Math.max(hexToNumber(requestParams.toBlock), interval[1]));
123
+ isMerged = true;
124
+ break;
125
+ }
126
+ if (isMerged === false) {
127
+ requests.push(candidate);
128
+ }
129
+ }
130
+ return requests;
131
+ };
12
132
  export const getChildAddress = ({ log, factory, }) => {
13
133
  if (factory.childAddressLocation.startsWith("offset")) {
14
134
  const childAddressOffset = Number(factory.childAddressLocation.substring(6));
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/runtime/filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/runtime/filter.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import { getLogsRetryHelper } from "@ponder/utils";
2
2
  import { hexToNumber, numberToHex, toHex, zeroHash, } from "viem";
3
3
  import { debug_traceBlockByNumber, eth_getBlockByNumber, eth_getBlockReceipts, eth_getLogs, eth_getTransactionReceipt, validateLogsAndBlock, validateReceiptsAndBlock, validateTracesAndBlock, validateTransactionsAndBlock, } from '../rpc/actions.js';
4
- import { sanitizeLogTopics } from '../rpc/index.js';
5
- import { getChildAddress, isAddressFactory, isAddressMatched, isBlockFilterMatched, isBlockInFilter, isLogFactoryMatched, isLogFilterMatched, isTraceFilterMatched, isTransactionFilterMatched, isTransferFilterMatched, } from '../runtime/filter.js';
4
+ import { getChildAddress, isAddressFactory, isAddressMatched, isBlockFilterMatched, isBlockInFilter, isLogFactoryMatched, isLogFilterMatched, isTraceFilterMatched, isTransactionFilterMatched, isTransferFilterMatched, mergeLogFiltersToRequests, } from '../runtime/filter.js';
6
5
  import { dedupe } from '../utils/dedupe.js';
7
6
  import { getChunks, intervalBounds, intervalRange, } from '../utils/interval.js';
8
7
  import { promiseAllSettledWithThrow } from '../utils/promiseAllSettledWithThrow.js';
@@ -20,29 +19,30 @@ export const createHistoricalSync = (args) => {
20
19
  let logsRequestMetadata = {
21
20
  estimatedRange: 500,
22
21
  };
22
+ ////////
23
+ // Helper functions for sync tasks
24
+ ////////
23
25
  /**
24
26
  * Split "eth_getLogs" requests into ranges inferred from errors
25
27
  * and batch requests.
26
28
  */
27
- const syncLogsDynamic = async ({ address, topic0, topic1, topic2, topic3, interval }, context) => {
29
+ const syncLogsDynamic = async (params, context) => {
30
+ const { address, topics } = params;
28
31
  const intervals = getChunks({
29
- interval,
32
+ interval: [
33
+ hexToNumber(params.fromBlock),
34
+ hexToNumber(params.toBlock),
35
+ ],
30
36
  maxChunkSize: args.chain.ethGetLogsBlockRange ??
31
37
  logsRequestMetadata.confirmedRange ??
32
38
  logsRequestMetadata.estimatedRange,
33
39
  });
34
- const topics = sanitizeLogTopics([
35
- topic0 ?? null,
36
- topic1 ?? null,
37
- topic2 ?? null,
38
- topic3 ?? null,
39
- ]);
40
- const logs = await Promise.all(intervals.map((interval) => eth_getLogs(args.rpc, [
40
+ const logs = await Promise.all(intervals.map(([fromBlock, toBlock]) => eth_getLogs(args.rpc, [
41
41
  {
42
42
  address,
43
43
  topics,
44
- fromBlock: numberToHex(interval[0]),
45
- toBlock: numberToHex(interval[1]),
44
+ fromBlock: numberToHex(fromBlock),
45
+ toBlock: numberToHex(toBlock),
46
46
  },
47
47
  ], context).catch((error) => {
48
48
  // Note: skip eth_getLogs range retry logic if the chain
@@ -55,8 +55,8 @@ export const createHistoricalSync = (args) => {
55
55
  {
56
56
  address,
57
57
  topics,
58
- fromBlock: toHex(interval[0]),
59
- toBlock: toHex(interval[1]),
58
+ fromBlock: toHex(fromBlock),
59
+ toBlock: toHex(toBlock),
60
60
  },
61
61
  ],
62
62
  error: error,
@@ -77,7 +77,12 @@ export const createHistoricalSync = (args) => {
77
77
  ? range
78
78
  : undefined,
79
79
  };
80
- return syncLogsDynamic({ address, topic0, topic1, topic2, topic3, interval }, context);
80
+ return syncLogsDynamic({
81
+ address,
82
+ topics,
83
+ fromBlock: numberToHex(fromBlock),
84
+ toBlock: numberToHex(toBlock),
85
+ }, context);
81
86
  }))).then((logs) => logs.flat());
82
87
  /**
83
88
  * Dynamically increase the range used in "eth_getLogs" if an
@@ -140,11 +145,12 @@ export const createHistoricalSync = (args) => {
140
145
  const syncAddressFactory = async (factory, interval, context) => {
141
146
  const logs = await syncLogsDynamic({
142
147
  address: factory.address,
143
- topic0: factory.eventSelector,
144
- interval,
148
+ topics: [factory.eventSelector],
149
+ fromBlock: numberToHex(interval[0]),
150
+ toBlock: numberToHex(interval[1]),
145
151
  }, context);
146
152
  const childAddresses = new Map();
147
- const childAddressesRecord = args.childAddresses.get(factory.id);
153
+ const factoryChildAddresses = args.childAddresses.get(factory.id);
148
154
  const childAddressDecodeFailureIds = new Set();
149
155
  let childAddressDecodeFailureCount = 0;
150
156
  let childAddressDecodeSuccessCount = 0;
@@ -177,12 +183,12 @@ export const createHistoricalSync = (args) => {
177
183
  throw error;
178
184
  }
179
185
  }
180
- const existingBlockNumber = childAddressesRecord.get(address);
186
+ const existingBlockNumber = factoryChildAddresses.get(address);
181
187
  const newBlockNumber = hexToNumber(log.blockNumber);
182
188
  if (existingBlockNumber === undefined ||
183
189
  existingBlockNumber > newBlockNumber) {
184
190
  childAddresses.set(address, newBlockNumber);
185
- childAddressesRecord.set(address, newBlockNumber);
191
+ factoryChildAddresses.set(address, newBlockNumber);
186
192
  }
187
193
  }
188
194
  }
@@ -220,117 +226,10 @@ export const createHistoricalSync = (args) => {
220
226
  await Promise.all(requiredFactoryIntervals.map(async ({ factory, interval }) => {
221
227
  childAddresses.set(factory.id, await syncAddressFactory(factory, interval, context));
222
228
  }));
223
- const mergedEthGetLogsParams = new Map();
224
- const singleEthGetLogsParams = [];
225
- for (const { filter, interval } of requiredIntervals) {
226
- if (filter.type !== "log")
227
- continue;
228
- const hasAddress = filter.address !== undefined;
229
- const hasTopic1 = filter.topic1 !== undefined && filter.topic1 !== null;
230
- const hasTopic2 = filter.topic2 !== undefined && filter.topic2 !== null;
231
- const hasTopic3 = filter.topic3 !== undefined && filter.topic3 !== null;
232
- if (hasAddress === false || hasTopic1 || hasTopic2 || hasTopic3) {
233
- if (isAddressFactory(filter.address)) {
234
- const childAddresses = args.childAddresses.get(filter.address.id);
235
- if (childAddresses.size === 0) {
236
- continue;
237
- }
238
- singleEthGetLogsParams.push({
239
- address: childAddresses.size >=
240
- args.common.options.factoryAddressCountThreshold
241
- ? undefined
242
- : Array.from(childAddresses.keys()),
243
- topic0: filter.topic0,
244
- topic1: filter.topic1,
245
- topic2: filter.topic2,
246
- topic3: filter.topic3,
247
- interval,
248
- });
249
- }
250
- else {
251
- singleEthGetLogsParams.push({
252
- address: filter.address,
253
- topic0: filter.topic0,
254
- topic1: filter.topic1,
255
- topic2: filter.topic2,
256
- topic3: filter.topic3,
257
- interval,
258
- });
259
- }
260
- continue;
261
- }
262
- let addressKey;
263
- if (isAddressFactory(filter.address)) {
264
- addressKey = filter.address.id;
265
- }
266
- else if (Array.isArray(filter.address)) {
267
- addressKey = filter.address.join("_");
268
- }
269
- else {
270
- addressKey = filter.address;
271
- }
272
- if (mergedEthGetLogsParams.has(addressKey) === false) {
273
- if (isAddressFactory(filter.address)) {
274
- const childAddresses = args.childAddresses.get(filter.address.id);
275
- if (childAddresses.size === 0) {
276
- continue;
277
- }
278
- mergedEthGetLogsParams.set(addressKey, {
279
- address: childAddresses.size >=
280
- args.common.options.factoryAddressCountThreshold
281
- ? undefined
282
- : Array.from(childAddresses.keys()),
283
- topic0: filter.topic0,
284
- topic1: filter.topic1,
285
- topic2: filter.topic2,
286
- topic3: filter.topic3,
287
- interval,
288
- });
289
- }
290
- else {
291
- mergedEthGetLogsParams.set(addressKey, {
292
- address: filter.address,
293
- topic0: filter.topic0,
294
- topic1: filter.topic1,
295
- topic2: filter.topic2,
296
- topic3: filter.topic3,
297
- interval,
298
- });
299
- }
300
- }
301
- else {
302
- const existingInterval = mergedEthGetLogsParams.get(addressKey).interval;
303
- const existingTopic0 = mergedEthGetLogsParams.get(addressKey)
304
- .topic0;
305
- if (Array.isArray(existingTopic0)) {
306
- if (existingTopic0.includes(filter.topic0) === false) {
307
- mergedEthGetLogsParams.get(addressKey).topic0 = [
308
- ...existingTopic0,
309
- filter.topic0,
310
- ];
311
- }
312
- }
313
- else {
314
- if (existingTopic0 !== filter.topic0) {
315
- mergedEthGetLogsParams.get(addressKey).topic0 = [
316
- existingTopic0,
317
- filter.topic0,
318
- ];
319
- }
320
- }
321
- mergedEthGetLogsParams.get(addressKey).interval = intervalBounds([
322
- existingInterval,
323
- interval,
324
- ]);
325
- }
326
- }
327
- const ethGetLogsParams = dedupe([
328
- ...singleEthGetLogsParams,
329
- ...Array.from(mergedEthGetLogsParams.values()),
330
- ], (params) => JSON.stringify(params));
229
+ const ethGetLogsRequests = mergeLogFiltersToRequests(requiredIntervals, args.childAddresses, args.common.options.factoryAddressCountThreshold);
331
230
  let logs = [];
332
- await Promise.all(ethGetLogsParams.map(async (params) => {
333
- const _logs = await syncLogsDynamic(params, context);
231
+ await Promise.all(ethGetLogsRequests.map(async (request) => {
232
+ const _logs = await syncLogsDynamic(request.params[0], context);
334
233
  for (const log of _logs) {
335
234
  logs.push(log);
336
235
  }