Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/sweet-lions-hope.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@latticexyz/store-indexer": patch
"@latticexyz/store-sync": patch
---

Removed tRPC code paths and dependencies that were deprecated before 2.0 stable release.
2 changes: 1 addition & 1 deletion e2e/packages/sync-test/indexerSync.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ describe("Sync from indexer", async () => {
});

it("should log error if indexer is offline", async () => {
await openClientWithRootAccount(page, { indexerUrl: `http://127.0.0.1:9999/trpc` });
await openClientWithRootAccount(page, { indexerUrl: `http://127.0.0.1:9999` });
await waitForInitialSync(page);

const errors = asyncErrorHandler.getErrors();
Expand Down
2 changes: 1 addition & 1 deletion e2e/packages/sync-test/setup/startIndexer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ export async function startIndexer(opts: StartIndexerOptions) {
});

return {
url: `http://127.0.0.1:${opts.port}/trpc`,
url: `http://127.0.0.1:${opts.port}`,
doneSyncing,
process: proc,
kill: () =>
Expand Down
19 changes: 0 additions & 19 deletions examples/indexer-client/index.ts

This file was deleted.

14 changes: 0 additions & 14 deletions examples/indexer-client/package.json

This file was deleted.

1 change: 0 additions & 1 deletion examples/indexer-client/pnpm-workspace.yaml

This file was deleted.

6 changes: 0 additions & 6 deletions examples/indexer-client/tsconfig.json

This file was deleted.

3 changes: 0 additions & 3 deletions packages/store-indexer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,6 @@
"@sentry/node": "^7.86.0",
"@sentry/profiling-node": "^1.2.6",
"@sentry/utils": "^7.86.0",
"@trpc/client": "10.34.0",
"@trpc/server": "10.34.0",
"@types/koa-bodyparser": "^4.3.12",
"accepts": "^1.3.8",
"better-sqlite3": "^8.6.0",
Expand All @@ -75,7 +73,6 @@
"prom-client": "^15.1.2",
"rxjs": "7.5.5",
"superjson": "^1.12.4",
"trpc-koa-adapter": "^1.1.3",
"zod": "3.23.8"
},
"devDependencies": {
Expand Down
14 changes: 0 additions & 14 deletions packages/store-indexer/src/bin/postgres-frontend.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,8 @@ import "dotenv/config";
import { z } from "zod";
import Koa from "koa";
import cors from "@koa/cors";
import { createKoaMiddleware } from "trpc-koa-adapter";
import { createAppRouter } from "@latticexyz/store-sync/trpc-indexer";
import { drizzle } from "drizzle-orm/postgres-js";
import postgres from "postgres";
import { frontendEnvSchema, parseEnv } from "./parseEnv";
import { createQueryAdapter } from "../postgres/deprecated/createQueryAdapter";
import { apiRoutes } from "../postgres/apiRoutes";
import { sentry } from "../koa-middleware/sentry";
import { healthcheck } from "../koa-middleware/healthcheck";
Expand Down Expand Up @@ -44,15 +40,5 @@ server.use(
server.use(helloWorld());
server.use(apiRoutes(database));

server.use(
createKoaMiddleware({
prefix: "/trpc",
router: createAppRouter(),
createContext: async () => ({
queryAdapter: await createQueryAdapter(drizzle(database)),
}),
}),
);

server.listen({ host: env.HOST, port: env.PORT });
console.log(`postgres indexer frontend listening on http://${env.HOST}:${env.PORT}`);
13 changes: 0 additions & 13 deletions packages/store-indexer/src/bin/sqlite-indexer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,7 @@ import Database from "better-sqlite3";
import Koa from "koa";
import cors from "@koa/cors";
import bodyParser from "koa-bodyparser";
import { createKoaMiddleware } from "trpc-koa-adapter";
import { createAppRouter } from "@latticexyz/store-sync/trpc-indexer";
import { chainState, schemaVersion, syncToSqlite } from "@latticexyz/store-sync/sqlite";
import { createQueryAdapter } from "../sqlite/createQueryAdapter";
import { combineLatest, filter, first } from "rxjs";
import { frontendEnvSchema, indexerEnvSchema, parseEnv } from "./parseEnv";
import { healthcheck } from "../koa-middleware/healthcheck";
Expand Down Expand Up @@ -145,16 +142,6 @@ server.use(
server.use(helloWorld());
server.use(apiRoutes({ database, enableUnsafeQueryApi: env.ENABLE_UNSAFE_QUERY_API }));

server.use(
createKoaMiddleware({
prefix: "/trpc",
router: createAppRouter(),
createContext: async () => ({
queryAdapter: await createQueryAdapter(database),
}),
}),
);

server.listen({ host: env.HOST, port: env.PORT });
console.log(`sqlite indexer frontend listening on http://${env.HOST}:${env.PORT}`);

Expand Down

This file was deleted.

82 changes: 0 additions & 82 deletions packages/store-indexer/src/postgres/deprecated/getLogs.ts

This file was deleted.

25 changes: 0 additions & 25 deletions packages/store-indexer/src/sqlite/createQueryAdapter.ts

This file was deleted.

6 changes: 0 additions & 6 deletions packages/store-sync/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
"./postgres-decoded": "./dist/postgres-decoded/index.js",
"./recs": "./dist/recs/index.js",
"./sqlite": "./dist/sqlite/index.js",
"./trpc-indexer": "./dist/trpc-indexer/index.js",
"./world": "./dist/exports/world.js",
"./zustand": "./dist/zustand/index.js"
},
Expand Down Expand Up @@ -48,9 +47,6 @@
"sqlite": [
"./dist/sqlite/index.d.ts"
],
"trpc-indexer": [
"./dist/trpc-indexer/index.d.ts"
],
"world": [
"./dist/exports/world.d.ts"
],
Expand Down Expand Up @@ -85,8 +81,6 @@
"@latticexyz/store": "workspace:*",
"@latticexyz/world": "workspace:*",
"@latticexyz/world-module-metadata": "workspace:*",
"@trpc/client": "10.34.0",
"@trpc/server": "10.34.0",
"change-case": "^5.2.0",
"debug": "^4.3.4",
"drizzle-orm": "^0.28.5",
Expand Down
37 changes: 2 additions & 35 deletions packages/store-sync/src/getSnapshot.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import { StorageAdapterBlock, SyncOptions } from "./common";
import { debug as parentDebug } from "./debug";
import { TRPCClientError } from "@trpc/client";
import { tablesWithRecordsToLogs } from "./tablesWithRecordsToLogs";
import { createIndexerClient as createTrpcIndexerClient } from "./trpc-indexer";
import { createIndexerClient } from "./indexer-client";
import { isOk } from "@latticexyz/common";
import { unwrap } from "@latticexyz/common";

const debug = parentDebug.extend("getSnapshot");

Expand Down Expand Up @@ -43,38 +41,7 @@ export async function getSnapshot({

const indexerOrigin = new URL(indexerUrl).origin;
const indexer = createIndexerClient({ url: indexerOrigin });
const trpcIndexer = createTrpcIndexerClient({ url: `${indexerOrigin}/trpc` });

debug("fetching logs from indexer via get", indexerUrl);
const result = await indexer.getLogs({ chainId, address, filters });
if (isOk(result)) return result.ok;
console.warn(result.error);

try {
// Backwards compatibility with older indexers
// TODO: remove in the future
debug("fetching logs from indexer via trpc", indexerUrl);
return await trpcIndexer.getLogs.query({ chainId, address, filters });
} catch (error) {
if (error instanceof TRPCClientError) {
// Backwards compatibility with older indexers
// TODO: remove in the future
debug("failed to fetch logs, fetching table records instead", indexerUrl);
const result = await trpcIndexer.findAll.query({ chainId, address, filters });
// warn after we fetch from old endpoint so we know that the indexer is accessible
console.warn(
`The indexer at ${indexerUrl} appears to be outdated. Consider upgrading to a recent version for better performance.`,
);

// if the indexer returns no block number, it hasn't indexed this chain
if (result.blockNumber == null) {
return;
}
return {
blockNumber: result.blockNumber,
logs: tablesWithRecordsToLogs(result.tables),
};
}
throw error;
}
return unwrap(await indexer.getLogs({ chainId, address, filters }));
}
Loading
Loading