ponder 0.8.6 → 0.8.7

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.
@@ -4241,8 +4241,8 @@ var createDatabase = ({
4241
4241
  for (const log of reversed) {
4242
4242
  if (log.operation === 0) {
4243
4243
  await tx.deleteFrom(tableName.sql).$call((qb2) => {
4244
- for (const { sql: sql6 } of primaryKeyColumns) {
4245
- qb2 = qb2.where(sql6, "=", log[sql6]);
4244
+ for (const { sql: sql5 } of primaryKeyColumns) {
4245
+ qb2 = qb2.where(sql5, "=", log[sql5]);
4246
4246
  }
4247
4247
  return qb2;
4248
4248
  }).execute();
@@ -4251,8 +4251,8 @@ var createDatabase = ({
4251
4251
  log.checkpoint = void 0;
4252
4252
  log.operation = void 0;
4253
4253
  await tx.updateTable(tableName.sql).set(log).$call((qb2) => {
4254
- for (const { sql: sql6 } of primaryKeyColumns) {
4255
- qb2 = qb2.where(sql6, "=", log[sql6]);
4254
+ for (const { sql: sql5 } of primaryKeyColumns) {
4255
+ qb2 = qb2.where(sql5, "=", log[sql5]);
4256
4256
  }
4257
4257
  return qb2;
4258
4258
  }).execute();
@@ -4261,7 +4261,7 @@ var createDatabase = ({
4261
4261
  log.checkpoint = void 0;
4262
4262
  log.operation = void 0;
4263
4263
  await tx.insertInto(tableName.sql).values(log).onConflict(
4264
- (oc) => oc.columns(primaryKeyColumns.map(({ sql: sql6 }) => sql6)).doNothing()
4264
+ (oc) => oc.columns(primaryKeyColumns.map(({ sql: sql5 }) => sql5)).doNothing()
4265
4265
  ).execute();
4266
4266
  }
4267
4267
  }
@@ -6563,7 +6563,7 @@ function intervalRange(interval) {
6563
6563
  }
6564
6564
 
6565
6565
  // src/sync-store/index.ts
6566
- import { sql as ksql, sql as sql4 } from "kysely";
6566
+ import { sql as ksql } from "kysely";
6567
6567
  import {
6568
6568
  checksumAddress as checksumAddress2,
6569
6569
  hexToBigInt as hexToBigInt2
@@ -6756,20 +6756,32 @@ var createSyncStore = ({
6756
6756
  common,
6757
6757
  db
6758
6758
  }) => ({
6759
- insertIntervals: async ({ intervals }) => {
6759
+ insertIntervals: async ({ intervals, chainId }) => {
6760
6760
  if (intervals.length === 0)
6761
6761
  return;
6762
6762
  await db.wrap({ method: "insertIntervals" }, async () => {
6763
+ const perFragmentIntervals = /* @__PURE__ */ new Map();
6763
6764
  const values = [];
6764
- for (const { interval, filter } of intervals) {
6765
+ for (const { filter, interval } of intervals) {
6765
6766
  for (const fragment of getFragmentIds(filter)) {
6766
- values.push({
6767
- fragment_id: fragment.id,
6768
- chain_id: filter.chainId,
6769
- blocks: ksql`nummultirange(numrange(${interval[0]}, ${interval[1] + 1}, '[]'))`
6770
- });
6767
+ if (perFragmentIntervals.has(fragment.id) === false) {
6768
+ perFragmentIntervals.set(fragment.id, []);
6769
+ }
6770
+ perFragmentIntervals.get(fragment.id).push(interval);
6771
6771
  }
6772
6772
  }
6773
+ for (const [fragmentId, intervals2] of perFragmentIntervals) {
6774
+ const numranges = intervals2.map((interval) => {
6775
+ const start2 = interval[0];
6776
+ const end = interval[1] + 1;
6777
+ return `numrange(${start2}, ${end}, '[]')`;
6778
+ }).join(", ");
6779
+ values.push({
6780
+ fragment_id: fragmentId,
6781
+ chain_id: chainId,
6782
+ blocks: ksql.raw(`nummultirange(${numranges})`)
6783
+ });
6784
+ }
6773
6785
  await db.insertInto("intervals").values(values).onConflict(
6774
6786
  (oc) => oc.column("fragment_id").doUpdateSet({
6775
6787
  blocks: ksql`intervals.blocks + excluded.blocks`
@@ -6784,10 +6796,10 @@ var createSyncStore = ({
6784
6796
  const fragments = getFragmentIds(filter);
6785
6797
  for (const fragment of fragments) {
6786
6798
  const _query = db.selectFrom(
6787
- db.selectFrom("intervals").select(sql4`unnest(blocks)`.as("blocks")).where("fragment_id", "in", fragment.adjacent).as("unnested")
6799
+ db.selectFrom("intervals").select(ksql`unnest(blocks)`.as("blocks")).where("fragment_id", "in", fragment.adjacent).as("unnested")
6788
6800
  ).select([
6789
- sql4`range_agg(unnested.blocks)`.as("merged_blocks"),
6790
- sql4.raw(`${i}`).as("filter")
6801
+ ksql`range_agg(unnested.blocks)`.as("merged_blocks"),
6802
+ ksql.raw(`'${i}'`).as("filter")
6791
6803
  ]);
6792
6804
  query2 = query2 === void 0 ? _query : query2.unionAll(_query);
6793
6805
  }
@@ -7020,7 +7032,7 @@ var createSyncStore = ({
7020
7032
  db2.selectFrom("transactionReceipts").select("status").where(
7021
7033
  "transactionReceipts.transactionHash",
7022
7034
  "=",
7023
- sql4.ref("transactions.hash")
7035
+ ksql.ref("transactions.hash")
7024
7036
  ),
7025
7037
  "=",
7026
7038
  "0x1"
@@ -7299,7 +7311,7 @@ var createSyncStore = ({
7299
7311
  ).execute();
7300
7312
  }),
7301
7313
  getRpcRequestResult: async ({ request, chainId }) => db.wrap({ method: "getRpcRequestResult" }, async () => {
7302
- const result = await db.selectFrom("rpc_request_results").select("result").where("request_hash", "=", sql4`MD5(${request})`).where("chain_id", "=", chainId).executeTakeFirst();
7314
+ const result = await db.selectFrom("rpc_request_results").select("result").where("request_hash", "=", ksql`MD5(${request})`).where("chain_id", "=", chainId).executeTakeFirst();
7303
7315
  return result?.result;
7304
7316
  }),
7305
7317
  pruneRpcRequestResult: async ({ blocks, chainId }) => db.wrap({ method: "pruneRpcRequestResult" }, async () => {
@@ -8660,7 +8672,8 @@ var createHistoricalSync = async (args) => {
8660
8672
  ]);
8661
8673
  if (args.network.disableCache === false) {
8662
8674
  await args.syncStore.insertIntervals({
8663
- intervals: syncedIntervals
8675
+ intervals: syncedIntervals,
8676
+ chainId: args.network.chainId
8664
8677
  });
8665
8678
  }
8666
8679
  blockCache.clear();
@@ -10119,7 +10132,8 @@ var createSync = async (args) => {
10119
10132
  ]);
10120
10133
  if (network.disableCache === false) {
10121
10134
  await args.syncStore.insertIntervals({
10122
- intervals: args.sources.filter(({ filter }) => filter.chainId === network.chainId).map(({ filter }) => ({ filter, interval }))
10135
+ intervals: args.sources.filter(({ filter }) => filter.chainId === network.chainId).map(({ filter }) => ({ filter, interval })),
10136
+ chainId: network.chainId
10123
10137
  });
10124
10138
  }
10125
10139
  if (isSyncEnd(syncProgress)) {
@@ -11006,7 +11020,7 @@ async function dev({ cliOptions }) {
11006
11020
  }
11007
11021
 
11008
11022
  // src/bin/commands/list.ts
11009
- import { sql as sql5 } from "kysely";
11023
+ import { sql as sql4 } from "kysely";
11010
11024
  var emptySchemaBuild = {
11011
11025
  schema: {},
11012
11026
  statements: {
@@ -11053,7 +11067,7 @@ async function list({ cliOptions }) {
11053
11067
  ).execute();
11054
11068
  let union;
11055
11069
  for (const row of ponderSchemas) {
11056
- const query2 = database.qb.internal.selectFrom(`${row.table_schema}._ponder_meta`).select(["value", sql5`${row.table_schema}`.as("schema")]).where("key", "=", "app");
11070
+ const query2 = database.qb.internal.selectFrom(`${row.table_schema}._ponder_meta`).select(["value", sql4`${row.table_schema}`.as("schema")]).where("key", "=", "app");
11057
11071
  if (union === void 0) {
11058
11072
  union = query2;
11059
11073
  } else {