@hugomrdias/foxer 0.1.3 → 0.1.11
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 +71 -17
- package/README.md +77 -10
- package/dist/{src/api/runner.d.ts → api/create-api.d.ts} +2 -2
- package/dist/api/create-api.d.ts.map +1 -0
- package/dist/{src/api/runner.js → api/create-api.js} +2 -2
- package/dist/api/create-api.js.map +1 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/server.d.ts.map +1 -0
- package/dist/api/server.js.map +1 -0
- package/dist/api/sql-middleware.d.ts.map +1 -0
- package/dist/{src/api → api}/sql-middleware.js +3 -3
- package/dist/api/sql-middleware.js.map +1 -0
- package/dist/api/sql.d.ts.map +1 -0
- package/dist/api/sql.js.map +1 -0
- package/dist/api/sse.d.ts.map +1 -0
- package/dist/api/sse.js.map +1 -0
- package/dist/bin/create.d.ts.map +1 -0
- package/dist/{src/bin → bin}/create.js +4 -4
- package/dist/bin/create.js.map +1 -0
- package/dist/bin/dev.d.ts.map +1 -0
- package/dist/{src/bin → bin}/dev.js +9 -11
- package/dist/bin/dev.js.map +1 -0
- package/dist/bin/flags.d.ts.map +1 -0
- package/dist/{src/bin → bin}/flags.js +1 -1
- package/dist/bin/flags.js.map +1 -0
- package/dist/{src/bin → bin}/index.d.ts.map +1 -1
- package/dist/{src/bin → bin}/index.js +4 -2
- package/dist/bin/index.js.map +1 -0
- package/dist/bin/serve.d.ts +3 -0
- package/dist/bin/serve.d.ts.map +1 -0
- package/dist/bin/serve.js +53 -0
- package/dist/bin/serve.js.map +1 -0
- package/dist/bin/start.d.ts +3 -0
- package/dist/bin/start.d.ts.map +1 -0
- package/dist/bin/start.js +72 -0
- package/dist/bin/start.js.map +1 -0
- package/dist/bin/utils.d.ts.map +1 -0
- package/dist/bin/utils.js +39 -0
- package/dist/bin/utils.js.map +1 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/config.js.map +1 -0
- package/dist/{src/config → config}/env.d.ts +1 -1
- package/dist/config/env.d.ts.map +1 -0
- package/dist/{src/config → config}/env.js +4 -3
- package/dist/config/env.js.map +1 -0
- package/dist/contants.d.ts.map +1 -0
- package/dist/contants.js.map +1 -0
- package/dist/{src/db → db}/actions/blocks.d.ts +9 -6
- package/dist/db/actions/blocks.d.ts.map +1 -0
- package/dist/{src/db → db}/actions/blocks.js +40 -44
- package/dist/db/actions/blocks.js.map +1 -0
- package/dist/db/actions/index.d.ts.map +1 -0
- package/dist/db/actions/index.js.map +1 -0
- package/dist/db/actions/transactions.d.ts.map +1 -0
- package/dist/db/actions/transactions.js.map +1 -0
- package/dist/{src/db → db}/client.d.ts +3 -3
- package/dist/db/client.d.ts.map +1 -0
- package/dist/{src/db → db}/client.js +9 -3
- package/dist/db/client.js.map +1 -0
- package/dist/{src/db → db}/column-types.d.ts +2 -2
- package/dist/db/column-types.d.ts.map +1 -0
- package/dist/{src/db → db}/column-types.js +11 -3
- package/dist/db/column-types.js.map +1 -0
- package/dist/db/encode.d.ts.map +1 -0
- package/dist/db/encode.js.map +1 -0
- package/dist/db/migrate.d.ts.map +1 -0
- package/dist/db/migrate.js.map +1 -0
- package/dist/{src/db → db}/schema/blocks.d.ts +16 -16
- package/dist/{src/db → db}/schema/blocks.d.ts.map +1 -1
- package/dist/db/schema/blocks.js.map +1 -0
- package/dist/{src/db → db}/schema/index.d.ts +44 -44
- package/dist/{src/db → db}/schema/index.d.ts.map +1 -1
- package/dist/db/schema/index.js.map +1 -0
- package/dist/{src/db → db}/schema/transactions.d.ts +6 -6
- package/dist/{src/db → db}/schema/transactions.d.ts.map +1 -1
- package/dist/{src/db → db}/schema/transactions.js +3 -1
- package/dist/db/schema/transactions.js.map +1 -0
- package/dist/db/transaction.d.ts.map +1 -0
- package/dist/db/transaction.js.map +1 -0
- package/dist/{src/hooks → hooks}/registry.d.ts +7 -3
- package/dist/hooks/registry.d.ts.map +1 -0
- package/dist/{src/hooks → hooks}/registry.js +5 -0
- package/dist/hooks/registry.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/indexer/backfill.d.ts.map +1 -0
- package/dist/{src/indexer → indexer}/backfill.js +22 -19
- package/dist/indexer/backfill.js.map +1 -0
- package/dist/{src/indexer/runner.d.ts → indexer/create-indexer.d.ts} +2 -2
- package/dist/indexer/create-indexer.d.ts.map +1 -0
- package/dist/{src/indexer/runner.js → indexer/create-indexer.js} +2 -2
- package/dist/indexer/create-indexer.js.map +1 -0
- package/dist/indexer/live.d.ts.map +1 -0
- package/dist/{src/indexer → indexer}/live.js +3 -3
- package/dist/indexer/live.js.map +1 -0
- package/dist/{src/indexer → indexer}/process-block.d.ts +4 -4
- package/dist/indexer/process-block.d.ts.map +1 -0
- package/dist/{src/indexer → indexer}/process-block.js +6 -31
- package/dist/indexer/process-block.js.map +1 -0
- package/dist/indexer/queue-block.d.ts.map +1 -0
- package/dist/{src/indexer → indexer}/queue-block.js +19 -1
- package/dist/indexer/queue-block.js.map +1 -0
- package/dist/{src/indexer → indexer}/reorg.d.ts +2 -2
- package/dist/indexer/reorg.d.ts.map +1 -0
- package/dist/indexer/reorg.js.map +1 -0
- package/dist/rpc/client.d.ts.map +1 -0
- package/dist/rpc/client.js.map +1 -0
- package/dist/rpc/get-block.d.ts.map +1 -0
- package/dist/rpc/get-block.js.map +1 -0
- package/dist/rpc/get-logs.d.ts.map +1 -0
- package/dist/{src/rpc → rpc}/get-logs.js +2 -2
- package/dist/rpc/get-logs.js.map +1 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js.map +1 -0
- package/dist/{src/types.d.ts → types.d.ts} +2 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/bloom.d.ts.map +1 -0
- package/dist/utils/bloom.js.map +1 -0
- package/dist/utils/build-conflict-columns.d.ts.map +1 -0
- package/dist/utils/build-conflict-columns.js.map +1 -0
- package/dist/utils/common.d.ts.map +1 -0
- package/dist/utils/common.js.map +1 -0
- package/dist/utils/cursor.d.ts.map +1 -0
- package/dist/utils/cursor.js.map +1 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/{src/utils → utils}/logger.js +0 -3
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/shutdown.d.ts.map +1 -0
- package/dist/{src/utils → utils}/shutdown.js +3 -2
- package/dist/utils/shutdown.js.map +1 -0
- package/dist/utils/timer.d.ts.map +1 -0
- package/dist/utils/timer.js.map +1 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/{src → utils}/types.js.map +1 -1
- package/package.json +45 -41
- package/src/api/{runner.ts → create-api.ts} +2 -1
- package/src/api/server.ts +1 -0
- package/src/api/sql-middleware.ts +4 -3
- package/src/api/sql.ts +2 -1
- package/src/bin/create.ts +7 -8
- package/src/bin/dev.ts +11 -13
- package/src/bin/flags.ts +1 -1
- package/src/bin/index.ts +6 -2
- package/src/bin/serve.ts +65 -0
- package/src/bin/start.ts +87 -0
- package/src/bin/utils.ts +22 -25
- package/src/config/config.ts +1 -0
- package/src/config/env.ts +5 -3
- package/src/db/actions/blocks.ts +53 -52
- package/src/db/actions/transactions.ts +1 -0
- package/src/db/client.ts +12 -5
- package/src/db/column-types.ts +17 -6
- package/src/db/encode.ts +1 -0
- package/src/db/migrate.ts +1 -0
- package/src/db/schema/blocks.ts +1 -0
- package/src/db/schema/transactions.ts +4 -1
- package/src/hooks/registry.ts +15 -3
- package/src/indexer/backfill.ts +31 -20
- package/src/indexer/{runner.ts → create-indexer.ts} +1 -1
- package/src/indexer/live.ts +4 -3
- package/src/indexer/process-block.ts +13 -41
- package/src/indexer/queue-block.ts +25 -1
- package/src/indexer/reorg.ts +3 -2
- package/src/rpc/client.ts +1 -0
- package/src/rpc/get-block.ts +1 -0
- package/src/rpc/get-logs.ts +3 -2
- package/src/types.ts +3 -0
- package/src/utils/logger.ts +1 -3
- package/src/utils/shutdown.ts +3 -2
- package/src/utils/types.ts +1 -0
- package/template/{package.json → package.json.tpl} +10 -8
- package/template/{pnpm-workspace.yaml → pnpm-workspace.yaml.tpl} +1 -1
- package/template/{tsconfig.json → tsconfig.json.tpl} +1 -2
- package/template/turbo.json.tpl +22 -0
- package/tsconfig.json +3 -1
- package/dist/src/api/index.d.ts.map +0 -1
- package/dist/src/api/index.js.map +0 -1
- package/dist/src/api/runner.d.ts.map +0 -1
- package/dist/src/api/runner.js.map +0 -1
- package/dist/src/api/server.d.ts.map +0 -1
- package/dist/src/api/server.js.map +0 -1
- package/dist/src/api/sql-middleware.d.ts.map +0 -1
- package/dist/src/api/sql-middleware.js.map +0 -1
- package/dist/src/api/sql.d.ts.map +0 -1
- package/dist/src/api/sql.js.map +0 -1
- package/dist/src/api/sse.d.ts.map +0 -1
- package/dist/src/api/sse.js.map +0 -1
- package/dist/src/bin/create.d.ts.map +0 -1
- package/dist/src/bin/create.js.map +0 -1
- package/dist/src/bin/dev.d.ts.map +0 -1
- package/dist/src/bin/dev.js.map +0 -1
- package/dist/src/bin/flags.d.ts.map +0 -1
- package/dist/src/bin/flags.js.map +0 -1
- package/dist/src/bin/index.js.map +0 -1
- package/dist/src/bin/utils.d.ts.map +0 -1
- package/dist/src/bin/utils.js +0 -52
- package/dist/src/bin/utils.js.map +0 -1
- package/dist/src/config/config.d.ts.map +0 -1
- package/dist/src/config/config.js.map +0 -1
- package/dist/src/config/env.d.ts.map +0 -1
- package/dist/src/config/env.js.map +0 -1
- package/dist/src/contants.d.ts.map +0 -1
- package/dist/src/contants.js.map +0 -1
- package/dist/src/db/actions/blocks.d.ts.map +0 -1
- package/dist/src/db/actions/blocks.js.map +0 -1
- package/dist/src/db/actions/index.d.ts.map +0 -1
- package/dist/src/db/actions/index.js.map +0 -1
- package/dist/src/db/actions/transactions.d.ts.map +0 -1
- package/dist/src/db/actions/transactions.js.map +0 -1
- package/dist/src/db/client.d.ts.map +0 -1
- package/dist/src/db/client.js.map +0 -1
- package/dist/src/db/column-types.d.ts.map +0 -1
- package/dist/src/db/column-types.js.map +0 -1
- package/dist/src/db/encode.d.ts.map +0 -1
- package/dist/src/db/encode.js.map +0 -1
- package/dist/src/db/migrate.d.ts.map +0 -1
- package/dist/src/db/migrate.js.map +0 -1
- package/dist/src/db/schema/blocks.js.map +0 -1
- package/dist/src/db/schema/index.js.map +0 -1
- package/dist/src/db/schema/transactions.js.map +0 -1
- package/dist/src/db/transaction.d.ts.map +0 -1
- package/dist/src/db/transaction.js.map +0 -1
- package/dist/src/hooks/registry.d.ts.map +0 -1
- package/dist/src/hooks/registry.js.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/indexer/backfill.d.ts.map +0 -1
- package/dist/src/indexer/backfill.js.map +0 -1
- package/dist/src/indexer/live.d.ts.map +0 -1
- package/dist/src/indexer/live.js.map +0 -1
- package/dist/src/indexer/process-block.d.ts.map +0 -1
- package/dist/src/indexer/process-block.js.map +0 -1
- package/dist/src/indexer/queue-block.d.ts.map +0 -1
- package/dist/src/indexer/queue-block.js.map +0 -1
- package/dist/src/indexer/reorg.d.ts.map +0 -1
- package/dist/src/indexer/reorg.js.map +0 -1
- package/dist/src/indexer/runner.d.ts.map +0 -1
- package/dist/src/indexer/runner.js.map +0 -1
- package/dist/src/rpc/client.d.ts.map +0 -1
- package/dist/src/rpc/client.js.map +0 -1
- package/dist/src/rpc/get-block.d.ts.map +0 -1
- package/dist/src/rpc/get-block.js.map +0 -1
- package/dist/src/rpc/get-logs.d.ts.map +0 -1
- package/dist/src/rpc/get-logs.js.map +0 -1
- package/dist/src/schema.d.ts.map +0 -1
- package/dist/src/schema.js.map +0 -1
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/utils/bloom.d.ts.map +0 -1
- package/dist/src/utils/bloom.js.map +0 -1
- package/dist/src/utils/build-conflict-columns.d.ts.map +0 -1
- package/dist/src/utils/build-conflict-columns.js.map +0 -1
- package/dist/src/utils/common.d.ts.map +0 -1
- package/dist/src/utils/common.js.map +0 -1
- package/dist/src/utils/cursor.d.ts.map +0 -1
- package/dist/src/utils/cursor.js.map +0 -1
- package/dist/src/utils/format.d.ts.map +0 -1
- package/dist/src/utils/format.js.map +0 -1
- package/dist/src/utils/hash.d.ts.map +0 -1
- package/dist/src/utils/hash.js.map +0 -1
- package/dist/src/utils/json.d.ts.map +0 -1
- package/dist/src/utils/json.js.map +0 -1
- package/dist/src/utils/logger.d.ts.map +0 -1
- package/dist/src/utils/logger.js.map +0 -1
- package/dist/src/utils/shutdown.d.ts.map +0 -1
- package/dist/src/utils/shutdown.js.map +0 -1
- package/dist/src/utils/timer.d.ts.map +0 -1
- package/dist/src/utils/timer.js.map +0 -1
- package/dist/src/utils/types.d.ts.map +0 -1
- package/dist/src/utils/types.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/template/biome.template.json +0 -50
- /package/dist/{src/api → api}/index.d.ts +0 -0
- /package/dist/{src/api → api}/index.js +0 -0
- /package/dist/{src/api → api}/server.d.ts +0 -0
- /package/dist/{src/api → api}/server.js +0 -0
- /package/dist/{src/api → api}/sql-middleware.d.ts +0 -0
- /package/dist/{src/api → api}/sql.d.ts +0 -0
- /package/dist/{src/api → api}/sql.js +0 -0
- /package/dist/{src/api → api}/sse.d.ts +0 -0
- /package/dist/{src/api → api}/sse.js +0 -0
- /package/dist/{src/bin → bin}/create.d.ts +0 -0
- /package/dist/{src/bin → bin}/dev.d.ts +0 -0
- /package/dist/{src/bin → bin}/flags.d.ts +0 -0
- /package/dist/{src/bin → bin}/index.d.ts +0 -0
- /package/dist/{src/bin → bin}/utils.d.ts +0 -0
- /package/dist/{src/config → config}/config.d.ts +0 -0
- /package/dist/{src/config → config}/config.js +0 -0
- /package/dist/{src/contants.d.ts → contants.d.ts} +0 -0
- /package/dist/{src/contants.js → contants.js} +0 -0
- /package/dist/{src/db → db}/actions/index.d.ts +0 -0
- /package/dist/{src/db → db}/actions/index.js +0 -0
- /package/dist/{src/db → db}/actions/transactions.d.ts +0 -0
- /package/dist/{src/db → db}/actions/transactions.js +0 -0
- /package/dist/{src/db → db}/encode.d.ts +0 -0
- /package/dist/{src/db → db}/encode.js +0 -0
- /package/dist/{src/db → db}/migrate.d.ts +0 -0
- /package/dist/{src/db → db}/migrate.js +0 -0
- /package/dist/{src/db → db}/schema/blocks.js +0 -0
- /package/dist/{src/db → db}/schema/index.js +0 -0
- /package/dist/{src/db → db}/transaction.d.ts +0 -0
- /package/dist/{src/db → db}/transaction.js +0 -0
- /package/dist/{src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{src/index.js → index.js} +0 -0
- /package/dist/{src/indexer → indexer}/backfill.d.ts +0 -0
- /package/dist/{src/indexer → indexer}/live.d.ts +0 -0
- /package/dist/{src/indexer → indexer}/queue-block.d.ts +0 -0
- /package/dist/{src/indexer → indexer}/reorg.js +0 -0
- /package/dist/{src/rpc → rpc}/client.d.ts +0 -0
- /package/dist/{src/rpc → rpc}/client.js +0 -0
- /package/dist/{src/rpc → rpc}/get-block.d.ts +0 -0
- /package/dist/{src/rpc → rpc}/get-block.js +0 -0
- /package/dist/{src/rpc → rpc}/get-logs.d.ts +0 -0
- /package/dist/{src/schema.d.ts → schema.d.ts} +0 -0
- /package/dist/{src/schema.js → schema.js} +0 -0
- /package/dist/{src/types.js → types.js} +0 -0
- /package/dist/{src/utils → utils}/bloom.d.ts +0 -0
- /package/dist/{src/utils → utils}/bloom.js +0 -0
- /package/dist/{src/utils → utils}/build-conflict-columns.d.ts +0 -0
- /package/dist/{src/utils → utils}/build-conflict-columns.js +0 -0
- /package/dist/{src/utils → utils}/common.d.ts +0 -0
- /package/dist/{src/utils → utils}/common.js +0 -0
- /package/dist/{src/utils → utils}/cursor.d.ts +0 -0
- /package/dist/{src/utils → utils}/cursor.js +0 -0
- /package/dist/{src/utils → utils}/format.d.ts +0 -0
- /package/dist/{src/utils → utils}/format.js +0 -0
- /package/dist/{src/utils → utils}/hash.d.ts +0 -0
- /package/dist/{src/utils → utils}/hash.js +0 -0
- /package/dist/{src/utils → utils}/json.d.ts +0 -0
- /package/dist/{src/utils → utils}/json.js +0 -0
- /package/dist/{src/utils → utils}/logger.d.ts +0 -0
- /package/dist/{src/utils → utils}/shutdown.d.ts +0 -0
- /package/dist/{src/utils → utils}/timer.d.ts +0 -0
- /package/dist/{src/utils → utils}/timer.js +0 -0
- /package/dist/{src/utils → utils}/types.d.ts +0 -0
- /package/dist/{src/utils → utils}/types.js +0 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { command } from 'cleye';
|
|
3
|
+
import { gracefulExit } from 'exit-hook';
|
|
4
|
+
import { createApi } from "../api/create-api.js";
|
|
5
|
+
import { createEnv } from "../config/env.js";
|
|
6
|
+
import { createDatabase } from "../db/client.js";
|
|
7
|
+
import { runMigrations } from "../db/migrate.js";
|
|
8
|
+
import * as InternalSchema from "../db/schema/index.js";
|
|
9
|
+
import { createRegistry } from "../hooks/registry.js";
|
|
10
|
+
import { createIndexer } from "../indexer/create-indexer.js";
|
|
11
|
+
import { createLogger } from "../utils/logger.js";
|
|
12
|
+
import { createExit } from "../utils/shutdown.js";
|
|
13
|
+
import { globalFlags } from "./flags.js";
|
|
14
|
+
import { loadConfig } from "./utils.js";
|
|
15
|
+
export const start = command({
|
|
16
|
+
name: 'start',
|
|
17
|
+
flags: { ...globalFlags },
|
|
18
|
+
help: {
|
|
19
|
+
description: 'Start the production server',
|
|
20
|
+
},
|
|
21
|
+
}, async (argv) => {
|
|
22
|
+
const logger = createLogger({
|
|
23
|
+
level: argv.flags.logLevel,
|
|
24
|
+
mode: 'json',
|
|
25
|
+
});
|
|
26
|
+
if (process.env.DATABASE_URL == null) {
|
|
27
|
+
logger.error('DATABASE_URL environment variable is not set');
|
|
28
|
+
gracefulExit(1);
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
const env = createEnv(logger);
|
|
32
|
+
const config = await loadConfig(logger, argv.flags.root, argv.flags.config);
|
|
33
|
+
const dbContext = createDatabase({
|
|
34
|
+
env,
|
|
35
|
+
schema: { ...config.schema, ...InternalSchema.schema },
|
|
36
|
+
relations: { ...config.relations, ...InternalSchema.relations },
|
|
37
|
+
});
|
|
38
|
+
await runMigrations({
|
|
39
|
+
dbContext,
|
|
40
|
+
folder: path.resolve(argv.flags.root, config.drizzleFolder),
|
|
41
|
+
logger,
|
|
42
|
+
});
|
|
43
|
+
const registry = createRegistry({ config });
|
|
44
|
+
const [api, indexer] = await Promise.all([
|
|
45
|
+
createApi({
|
|
46
|
+
db: dbContext.db,
|
|
47
|
+
config,
|
|
48
|
+
logger,
|
|
49
|
+
port: argv.flags.port,
|
|
50
|
+
}),
|
|
51
|
+
createIndexer({
|
|
52
|
+
logger,
|
|
53
|
+
db: dbContext.db,
|
|
54
|
+
registry,
|
|
55
|
+
config,
|
|
56
|
+
}),
|
|
57
|
+
]);
|
|
58
|
+
createExit({
|
|
59
|
+
logger,
|
|
60
|
+
stop: async () => {
|
|
61
|
+
indexer.stop();
|
|
62
|
+
api.stop();
|
|
63
|
+
await dbContext.stop();
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
logger.error({ error }, 'start server failed');
|
|
69
|
+
gracefulExit(1);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
//# sourceMappingURL=start.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/bin/start.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAgB,OAAO,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,CAAC,MAAM,KAAK,GAAY,OAAO,CACnC;IACE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,EAAE,GAAG,WAAW,EAAE;IACzB,IAAI,EAAE;QACJ,WAAW,EAAE,6BAA6B;KAC3C;CACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;QAC1B,IAAI,EAAE,MAAM;KACb,CAAC,CAAA;IAEF,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAA;QAC5D,YAAY,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,MAAM,EACN,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAClB,CAAA;QAED,MAAM,SAAS,GAAG,cAAc,CAAC;YAC/B,GAAG;YACH,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE;YACtD,SAAS,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,cAAc,CAAC,SAAS,EAAE;SAChE,CAAC,CAAA;QAEF,MAAM,aAAa,CAAC;YAClB,SAAS;YACT,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC;YAC3D,MAAM;SACP,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QAE3C,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvC,SAAS,CAAC;gBACR,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,MAAM;gBACN,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;aACtB,CAAC;YACF,aAAa,CAAC;gBACZ,MAAM;gBACN,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,QAAQ;gBACR,MAAM;aACP,CAAC;SACH,CAAC,CAAA;QAEF,UAAU,CAAC;YACT,MAAM;YACN,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,OAAO,CAAC,IAAI,EAAE,CAAA;gBACd,GAAG,CAAC,IAAI,EAAE,CAAA;gBACV,MAAM,SAAS,CAAC,IAAI,EAAE,CAAA;YACxB,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,qBAAqB,CAAC,CAAA;QAC9C,YAAY,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bin/utils.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAI7C,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,2BAqClB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { loadConfig as unconfigLoadConfig, } from 'unconfig';
|
|
3
|
+
const CLI_NAME = 'foxer';
|
|
4
|
+
export async function loadConfig(logger, root, filePath) {
|
|
5
|
+
let configFile;
|
|
6
|
+
try {
|
|
7
|
+
if (filePath) {
|
|
8
|
+
const configPath = path.resolve(root, filePath);
|
|
9
|
+
configFile = await unconfigLoadConfig({
|
|
10
|
+
sources: [
|
|
11
|
+
{
|
|
12
|
+
files: configPath,
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
configFile = await unconfigLoadConfig({
|
|
19
|
+
sources: [
|
|
20
|
+
{
|
|
21
|
+
files: `${CLI_NAME}.config`,
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
logger.error({ error }, 'config evaluation failed');
|
|
29
|
+
// ignore
|
|
30
|
+
}
|
|
31
|
+
if (!configFile) {
|
|
32
|
+
logger.error({
|
|
33
|
+
msg: 'Config file not found',
|
|
34
|
+
});
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
return configFile.config.config;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/bin/utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAEL,UAAU,IAAI,kBAAkB,GACjC,MAAM,UAAU,CAAA;AAKjB,MAAM,QAAQ,GAAG,OAAO,CAAA;AAExB,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAc,EACd,IAAY,EACZ,QAAiB;IAEjB,IAAI,UAAoE,CAAA;IAExE,IAAI,CAAC;QACH,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YAE/C,UAAU,GAAG,MAAM,kBAAkB,CAAC;gBACpC,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,UAAU;qBAClB;iBACF;aACF,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,MAAM,kBAAkB,CAAC;gBACpC,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,GAAG,QAAQ,SAAS;qBAC5B;iBACF;aACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,0BAA0B,CAAC,CAAA;QACnD,SAAS;IACX,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC;YACX,GAAG,EAAE,uBAAuB;SAC7B,CAAC,CAAA;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,CAAC,MAAwB,CAAA;AACnD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ declare const envSchema: z.ZodObject<{
|
|
|
16
16
|
json: "json";
|
|
17
17
|
}>>;
|
|
18
18
|
}, z.core.$strip>;
|
|
19
|
-
export declare function createEnv(
|
|
19
|
+
export declare function createEnv(_logger: Logger): {
|
|
20
20
|
LOG_LEVEL: "fatal" | "error" | "warn" | "info" | "debug" | "trace";
|
|
21
21
|
LOG_MODE: "pretty" | "json";
|
|
22
22
|
DATABASE_URL?: string | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAO7C,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAA;AAC3C,QAAA,MAAM,SAAS;;;;;;;;;;;;;;iBAMb,CAAA;AAEF,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM;;;;EAUxC"}
|
|
@@ -2,6 +2,7 @@ import dotenv from 'dotenv';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
dotenv.config({
|
|
4
4
|
path: '.env.local',
|
|
5
|
+
quiet: true,
|
|
5
6
|
});
|
|
6
7
|
const envSchema = z.object({
|
|
7
8
|
DATABASE_URL: z.url().optional(),
|
|
@@ -10,12 +11,12 @@ const envSchema = z.object({
|
|
|
10
11
|
.default('info'),
|
|
11
12
|
LOG_MODE: z.enum(['pretty', 'json']).default('pretty'),
|
|
12
13
|
});
|
|
13
|
-
export function createEnv(
|
|
14
|
+
export function createEnv(_logger) {
|
|
14
15
|
const parsed = envSchema.safeParse(process.env);
|
|
15
16
|
if (!parsed.success) {
|
|
16
|
-
throw new Error(`Failed to parse environment variables: \n ${z.
|
|
17
|
+
throw new Error(`Failed to parse environment variables: \n ${z.prettifyError(parsed.error)}`);
|
|
17
18
|
}
|
|
18
|
-
logger.debug({ env: parsed.data }, 'env parsed')
|
|
19
|
+
// logger.debug({ env: parsed.data }, 'env parsed')
|
|
19
20
|
return parsed.data;
|
|
20
21
|
}
|
|
21
22
|
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,MAAM,CAAC,MAAM,CAAC;IACZ,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,IAAI;CACZ,CAAC,CAAA;AAGF,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC;SACT,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC1D,OAAO,CAAC,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;CACvD,CAAC,CAAA;AAEF,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAE/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,6CAA6C,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC7E,CAAA;IACH,CAAC;IACD,mDAAmD;IACnD,OAAO,MAAM,CAAC,IAAI,CAAA;AACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contants.d.ts","sourceRoot":"","sources":["../src/contants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,sBAAsB,CAAA;AACnD,eAAO,MAAM,YAAY,UAA6B,CAAA;AACtD,eAAO,MAAM,gBAAgB,QAAQ,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contants.js","sourceRoot":"","sources":["../src/contants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAA;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAA"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/** biome-ignore-all lint/style/noNonNullAssertion: its ok */
|
|
2
2
|
import { type PgAsyncTransaction, type PgQueryResultHKT } from 'drizzle-orm/pg-core';
|
|
3
|
-
import type { PublicClient } from 'viem';
|
|
4
|
-
import type {
|
|
5
|
-
import type { EncodedBlockWithTransactions } from '../../types.ts';
|
|
3
|
+
import type { Hash, PublicClient } from 'viem';
|
|
4
|
+
import type { BlocksMap, EncodedBlock, EncodedTransaction, TransactionsMap } from '../../types.ts';
|
|
6
5
|
import type { Logger } from '../../utils/logger.ts';
|
|
7
6
|
import type { Database } from '../client.ts';
|
|
8
7
|
import { type relations, schema } from '../schema/index.ts';
|
|
@@ -20,7 +19,8 @@ export declare function deleteBlocksFrom(db: Database, fromBlock: bigint): Promi
|
|
|
20
19
|
*/
|
|
21
20
|
export declare function cacheBlockAndTransactions(args: {
|
|
22
21
|
db: Database<typeof schema, typeof relations>;
|
|
23
|
-
|
|
22
|
+
blocks: EncodedBlock[];
|
|
23
|
+
transactions: EncodedTransaction[];
|
|
24
24
|
logger: Logger;
|
|
25
25
|
}): Promise<void>;
|
|
26
26
|
/**
|
|
@@ -33,12 +33,15 @@ export declare function cacheBlockAndTransactions(args: {
|
|
|
33
33
|
* @param args.client - The client instance
|
|
34
34
|
* @returns The blocks and their transactions
|
|
35
35
|
*/
|
|
36
|
-
export declare function getBlocksInRange(logger: Logger, db: Database<typeof schema, typeof relations>, blockNumbers: bigint[], client: PublicClient,
|
|
36
|
+
export declare function getBlocksInRange(logger: Logger, db: Database<typeof schema, typeof relations>, blockNumbers: bigint[], client: PublicClient, logsTxs: Hash[]): Promise<{
|
|
37
|
+
blocks: BlocksMap;
|
|
38
|
+
transactions: TransactionsMap;
|
|
39
|
+
}>;
|
|
37
40
|
/**
|
|
38
41
|
* Inserts blocks in chunks to avoid query parameter limit.
|
|
39
42
|
*/
|
|
40
43
|
export declare function insertBlocksInChunks(args: {
|
|
41
44
|
db: PgAsyncTransaction<PgQueryResultHKT, typeof schema>;
|
|
42
|
-
blocks:
|
|
45
|
+
blocks: EncodedBlock[];
|
|
43
46
|
}): Promise<void>;
|
|
44
47
|
//# sourceMappingURL=blocks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/db/actions/blocks.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAG7D,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAI9C,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,eAAe,EAChB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAG3D;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAef;AAmBD;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,EAAE,EAAE,QAAQ,CAAC,OAAO,MAAM,EAAE,OAAO,SAAS,CAAC,CAAA;IAC7C,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,YAAY,EAAE,kBAAkB,EAAE,CAAA;IAClC,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,OAAO,CAAC,IAAI,CAAC,CAahB;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,QAAQ,CAAC,OAAO,MAAM,EAAE,OAAO,SAAS,CAAC,EAC7C,YAAY,EAAE,MAAM,EAAE,EACtB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,IAAI,EAAE,GACd,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,eAAe,CAAA;CAAE,CAAC,CA6E/D;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,EAAE,EAAE,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,MAAM,CAAC,CAAA;IACvD,MAAM,EAAE,YAAY,EAAE,CAAA;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAchB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** biome-ignore-all lint/style/noNonNullAssertion: its ok */
|
|
2
|
-
import { gte } from 'drizzle-orm';
|
|
2
|
+
import { and, gte, inArray } from 'drizzle-orm';
|
|
3
3
|
import { getTableConfig, } from 'drizzle-orm/pg-core';
|
|
4
4
|
import { MAX_QUERY_PARAMS } from "../../contants.js";
|
|
5
5
|
import { safeGetBlock } from "../../rpc/get-block.js";
|
|
@@ -42,15 +42,15 @@ function getTablesWithBlockNumberColumn(fullSchema) {
|
|
|
42
42
|
* @returns The cached block and transactions
|
|
43
43
|
*/
|
|
44
44
|
export async function cacheBlockAndTransactions(args) {
|
|
45
|
-
const { db,
|
|
45
|
+
const { db, blocks, transactions } = args;
|
|
46
46
|
await db.transaction(async (tx) => {
|
|
47
47
|
await insertBlocksInChunks({
|
|
48
48
|
db: tx,
|
|
49
|
-
blocks
|
|
49
|
+
blocks,
|
|
50
50
|
});
|
|
51
51
|
await insertTransactionsInChunks({
|
|
52
52
|
db: tx,
|
|
53
|
-
transactions
|
|
53
|
+
transactions,
|
|
54
54
|
});
|
|
55
55
|
});
|
|
56
56
|
}
|
|
@@ -64,7 +64,7 @@ export async function cacheBlockAndTransactions(args) {
|
|
|
64
64
|
* @param args.client - The client instance
|
|
65
65
|
* @returns The blocks and their transactions
|
|
66
66
|
*/
|
|
67
|
-
export async function getBlocksInRange(logger, db, blockNumbers, client,
|
|
67
|
+
export async function getBlocksInRange(logger, db, blockNumbers, client, logsTxs) {
|
|
68
68
|
const endClock = startClock();
|
|
69
69
|
const firstBlockNumber = blockNumbers[0];
|
|
70
70
|
const lastBlockNumber = blockNumbers[blockNumbers.length - 1];
|
|
@@ -73,32 +73,27 @@ export async function getBlocksInRange(logger, db, blockNumbers, client, contrac
|
|
|
73
73
|
// lastBlockNumber,
|
|
74
74
|
// contractAddresses: contracts.addresses,
|
|
75
75
|
// })
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
{
|
|
84
|
-
to: {
|
|
85
|
-
in: contracts.addresses,
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
],
|
|
89
|
-
},
|
|
76
|
+
const [blocks, txs] = await Promise.all([
|
|
77
|
+
db.query.blocks.findMany({
|
|
78
|
+
where: {
|
|
79
|
+
AND: [
|
|
80
|
+
{ number: { gte: firstBlockNumber } },
|
|
81
|
+
{ number: { lte: lastBlockNumber } },
|
|
82
|
+
],
|
|
90
83
|
},
|
|
91
|
-
},
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
84
|
+
}),
|
|
85
|
+
db
|
|
86
|
+
.select()
|
|
87
|
+
.from(schema.transactions)
|
|
88
|
+
.where(and(inArray(schema.transactions.hash, logsTxs))),
|
|
89
|
+
]);
|
|
90
|
+
const transactionByHash = new Map();
|
|
91
|
+
for (const tx of txs) {
|
|
92
|
+
transactionByHash.set(tx.hash, tx);
|
|
93
|
+
}
|
|
99
94
|
const blocksByNumber = new Map();
|
|
100
95
|
const missing = new Set(blockNumbers);
|
|
101
|
-
for (const block of
|
|
96
|
+
for (const block of blocks) {
|
|
102
97
|
blocksByNumber.set(block.number, block);
|
|
103
98
|
missing.delete(block.number);
|
|
104
99
|
}
|
|
@@ -107,29 +102,30 @@ export async function getBlocksInRange(logger, db, blockNumbers, client, contrac
|
|
|
107
102
|
const newTransactions = [];
|
|
108
103
|
await Promise.all(missingBlockNumbers.map(async (blockNumber) => {
|
|
109
104
|
const block = await safeGetBlock({ client, blockNumber, db });
|
|
110
|
-
const transactions = block.transactions;
|
|
111
105
|
blocksByNumber.set(blockNumber, block);
|
|
112
|
-
|
|
106
|
+
const { transactions, ..._block } = block;
|
|
107
|
+
newBlocks.push(_block);
|
|
113
108
|
if (transactions.length > 0) {
|
|
114
109
|
newTransactions.push(...transactions);
|
|
115
110
|
}
|
|
111
|
+
for (const tx of transactions) {
|
|
112
|
+
transactionByHash.set(tx.hash, tx);
|
|
113
|
+
}
|
|
116
114
|
}));
|
|
117
|
-
await
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
await insertTransactionsInChunks({
|
|
123
|
-
db: tx,
|
|
124
|
-
transactions: newTransactions,
|
|
125
|
-
});
|
|
115
|
+
await cacheBlockAndTransactions({
|
|
116
|
+
db,
|
|
117
|
+
blocks: newBlocks,
|
|
118
|
+
transactions: newTransactions,
|
|
119
|
+
logger,
|
|
126
120
|
});
|
|
127
|
-
logger.
|
|
128
|
-
blocks:
|
|
129
|
-
|
|
121
|
+
logger.trace({
|
|
122
|
+
blocks: blocks.length,
|
|
123
|
+
txs: txs.length,
|
|
124
|
+
newBlocks: newBlocks.length,
|
|
125
|
+
newTxs: newTransactions.length,
|
|
130
126
|
duration: endClock(),
|
|
131
|
-
}, 'get blocks');
|
|
132
|
-
return blocksByNumber;
|
|
127
|
+
}, 'get blocks and txs');
|
|
128
|
+
return { blocks: blocksByNumber, transactions: transactionByHash };
|
|
133
129
|
}
|
|
134
130
|
/**
|
|
135
131
|
* Inserts blocks in chunks to avoid query parameter limit.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../../src/db/actions/blocks.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EACL,cAAc,GAKf,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAQrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAkB,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAE9D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAY,EACZ,SAAiB;IAEjB,MAAM,aAAa,GAAG,8BAA8B,CAClD,EAAE,CAAC,CAAC,CAAC,UAAqC,CAC3C,CAAA;IAED,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QAChC,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,EAAE;iBACL,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;iBACpB,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAA;QACpD,CAAC;QAED,8CAA8C;QAC9C,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;IAC5E,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,UAAmC;IACzE,MAAM,OAAO,GAA2D,EAAE,CAAA;IAE1E,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAgB,CAAA;QAChC,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACvD,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CACtD,CAAA;QACD,IAAI,CAAC,iBAAiB;YAAE,SAAQ;QAEhC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAA;IACrD,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAK/C;IACC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;IAEzC,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QAChC,MAAM,oBAAoB,CAAC;YACzB,EAAE,EAAE,EAAE;YACN,MAAM;SACP,CAAC,CAAA;QACF,MAAM,0BAA0B,CAAC;YAC/B,EAAE,EAAE,EAAE;YACN,YAAY;SACb,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,EAA6C,EAC7C,YAAsB,EACtB,MAAoB,EACpB,OAAe;IAEf,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAA;IAC7B,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAE,CAAA;IACzC,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;IAE9D,0DAA0D;IAC1D,sBAAsB;IACtB,qBAAqB;IACrB,4CAA4C;IAC5C,KAAK;IAEL,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;YACvB,KAAK,EAAE;gBACL,GAAG,EAAE;oBACH,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,EAAE;oBACrC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE;iBACrC;aACF;SACF,CAAC;QACF,EAAE;aACC,MAAM,EAAE;aACR,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;aACzB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;KAC1D,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAqC,CAAA;IACtE,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAAwB,CAAA;IACtD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAA;IAErC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,mBAAmB,GAAG,CAAC,GAAG,OAAO,CAAC,CAAA;IACxC,MAAM,SAAS,GAAmB,EAAE,CAAA;IACpC,MAAM,eAAe,GAAyB,EAAE,CAAA;IAEhD,MAAM,OAAO,CAAC,GAAG,CACf,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QAC5C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAA;QAC7D,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;QACtC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,CAAA;QACzC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEtB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,eAAe,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;QACvC,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;YAC9B,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACpC,CAAC;IACH,CAAC,CAAC,CACH,CAAA;IAED,MAAM,yBAAyB,CAAC;QAC9B,EAAE;QACF,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,eAAe;QAC7B,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,CAAC,KAAK,CACV;QACE,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,GAAG,CAAC,MAAM;QACf,SAAS,EAAE,SAAS,CAAC,MAAM;QAC3B,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,QAAQ,EAAE,QAAQ,EAAE;KACrB,EACD,oBAAoB,CACrB,CAAA;IACD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAA;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAG1C;IACC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAA;QAC5C,MAAM,EAAE;aACL,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;aACrB,MAAM,CAAC,KAAK,CAAC;aACb,mBAAmB,CAAC;YACnB,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;SAC/B,CAAC,CAAA;IACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/db/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../src/db/actions/transactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAG/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,EAAE,EAAE,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,MAAM,CAAC,CAAA;IACvD,YAAY,EAAE,kBAAkB,EAAE,CAAA;CACnC,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../../src/db/actions/transactions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAGhD;IACC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;IACjC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAM;IACR,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CACvD,CAAA;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAA;QAElD,MAAM,EAAE;aACL,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;aAC3B,MAAM,CAAC,KAAK,CAAC;aACb,mBAAmB,CAAC;YACnB,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC;SACnC,CAAC,CAAA;IACN,CAAC;AACH,CAAC"}
|
|
@@ -20,14 +20,14 @@ export type DatabaseContext<TSchema extends Record<string, unknown> = Record<str
|
|
|
20
20
|
$prepared: ReturnType<typeof generatePrepared>;
|
|
21
21
|
};
|
|
22
22
|
driver: 'postgres';
|
|
23
|
-
|
|
23
|
+
stop: () => Promise<void>;
|
|
24
24
|
} | {
|
|
25
25
|
db: PgliteDatabase<TSchema, TRelations> & {
|
|
26
26
|
$client: PGlite;
|
|
27
27
|
$prepared: ReturnType<typeof generatePrepared>;
|
|
28
28
|
};
|
|
29
29
|
driver: 'pglite';
|
|
30
|
-
|
|
30
|
+
stop: () => Promise<void>;
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
33
|
* Creates a typed Drizzle database context for either Postgres or PGlite.
|
|
@@ -304,7 +304,6 @@ declare function generatePrepared(db: Omit<Database<typeof schema, typeof relati
|
|
|
304
304
|
extraData: `0x${string}`;
|
|
305
305
|
transactions: {
|
|
306
306
|
input: `0x${string}`;
|
|
307
|
-
s: `0x${string}`;
|
|
308
307
|
hash: `0x${string}`;
|
|
309
308
|
nonce: number;
|
|
310
309
|
blockNumber: bigint;
|
|
@@ -314,6 +313,7 @@ declare function generatePrepared(db: Omit<Database<typeof schema, typeof relati
|
|
|
314
313
|
to: `0x${string}` | null;
|
|
315
314
|
value: bigint;
|
|
316
315
|
r: `0x${string}`;
|
|
316
|
+
s: `0x${string}`;
|
|
317
317
|
v: bigint;
|
|
318
318
|
type: "legacy" | "eip1559" | "eip2930" | "eip4844" | "eip7702";
|
|
319
319
|
gas: bigint;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,10 +20,15 @@ export function createDatabase({ env, config, schema, relations, }) {
|
|
|
20
20
|
url = config.url;
|
|
21
21
|
options = config.options;
|
|
22
22
|
}
|
|
23
|
+
// Postgres
|
|
23
24
|
if (driver === 'postgres' && url) {
|
|
24
25
|
const pool = new Pool({
|
|
25
|
-
|
|
26
|
+
application_name: 'foxer',
|
|
27
|
+
connectionTimeoutMillis: 5_000,
|
|
28
|
+
idleTimeoutMillis: 30_000,
|
|
29
|
+
max: 10,
|
|
26
30
|
connectionString: url,
|
|
31
|
+
...options,
|
|
27
32
|
});
|
|
28
33
|
const db = drizzleNodePostgres({
|
|
29
34
|
client: pool,
|
|
@@ -36,11 +41,12 @@ export function createDatabase({ env, config, schema, relations, }) {
|
|
|
36
41
|
return {
|
|
37
42
|
db,
|
|
38
43
|
driver: 'postgres',
|
|
39
|
-
|
|
44
|
+
stop: async () => {
|
|
40
45
|
await pool.end();
|
|
41
46
|
},
|
|
42
47
|
};
|
|
43
48
|
}
|
|
49
|
+
// PGlite
|
|
44
50
|
const client = new PGlite(config?.driver === 'pglite' && config.directory
|
|
45
51
|
? config.directory
|
|
46
52
|
: '.pglite');
|
|
@@ -55,7 +61,7 @@ export function createDatabase({ env, config, schema, relations, }) {
|
|
|
55
61
|
return {
|
|
56
62
|
db,
|
|
57
63
|
driver: 'pglite',
|
|
58
|
-
|
|
64
|
+
stop: async () => {
|
|
59
65
|
await client.close();
|
|
60
66
|
},
|
|
61
67
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -121,12 +121,12 @@ export declare const bytea: {
|
|
|
121
121
|
<TConfig extends Record<string, any>>(fieldConfig?: TConfig | undefined): import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
|
|
122
122
|
dataType: "custom";
|
|
123
123
|
data: `0x${string}`;
|
|
124
|
-
driverParam:
|
|
124
|
+
driverParam: Uint8Array<ArrayBufferLike>;
|
|
125
125
|
}>;
|
|
126
126
|
(dbName: string, fieldConfig?: unknown): import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
|
|
127
127
|
dataType: "custom";
|
|
128
128
|
data: `0x${string}`;
|
|
129
|
-
driverParam:
|
|
129
|
+
driverParam: Uint8Array<ArrayBufferLike>;
|
|
130
130
|
}>;
|
|
131
131
|
};
|
|
132
132
|
//# sourceMappingURL=column-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-types.d.ts","sourceRoot":"","sources":["../../src/db/column-types.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS;;;;;;;;;;;CAOpB,CAAA;AAEF,eAAO,MAAM,GAAG;;gBAGK,MAAM,GAAG,SAAS;;;;;;;gBAAlB,MAAM,GAAG,SAAS;;;;;;CAWrC,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;gBAGI,MAAM,GAAG,SAAS;;;;;;;gBAAlB,MAAM,GAAG,SAAS;;;;;;CAWrC,CAAA;AAEF,eAAO,MAAM,OAAO;;gBAGC,MAAM,GAAG,SAAS;;;;;;;gBAAlB,MAAM,GAAG,SAAS;;;;;;CAWrC,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;CAOjB,CAAA;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;CAAY,CAAA;AAChC,eAAO,MAAM,MAAM;;;;;;;;;;;CAAY,CAAA;AAE/B,eAAO,MAAM,KAAK;;;;;;;;;;;CAOhB,CAAA;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;;CAsBhB,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { customType } from 'drizzle-orm/pg-core';
|
|
2
|
+
import { hex as hexCodec } from 'iso-base/rfc4648';
|
|
2
3
|
import { stringify } from 'viem';
|
|
3
4
|
export const numeric78 = customType({
|
|
4
5
|
dataType() {
|
|
@@ -78,9 +79,16 @@ export const bytea = customType({
|
|
|
78
79
|
return Buffer.from(value.slice(2), 'hex');
|
|
79
80
|
},
|
|
80
81
|
fromDriver(value) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
if (typeof value === 'string') {
|
|
83
|
+
return `0x${value.slice(2)}`;
|
|
84
|
+
}
|
|
85
|
+
if (value instanceof Buffer) {
|
|
86
|
+
return `0x${value.toString('hex')}`;
|
|
87
|
+
}
|
|
88
|
+
if (value instanceof Uint8Array) {
|
|
89
|
+
return `0x${hexCodec.encode(value)}`;
|
|
90
|
+
}
|
|
91
|
+
throw new Error('Invalid value');
|
|
84
92
|
},
|
|
85
93
|
});
|
|
86
94
|
//# sourceMappingURL=column-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-types.js","sourceRoot":"","sources":["../../src/db/column-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../src/db/encode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,4BAA4B,EAC5B,kBAAkB,EACnB,MAAM,UAAU,CAAA;AAEjB,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,GAAG,kBAAkB,CAqB1E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAsB3D;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,UAAU,GAChB,4BAA4B,CAK9B;AAMD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,IAAI,CAAA;CACX,GAAG,4BAA4B,CA0B/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode.js","sourceRoot":"","sources":["../../src/db/encode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/db/migrate.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE5D;;GAEG;AACH,wBAAsB,aAAa,CAAC,EAClC,SAAS,EACT,MAAM,EACN,MAAM,GACP,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,eAAe,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BhB;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,iBA2BtE;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,UAAU,EAAE,MAAM,EAAE,QAsGrB;AAeD;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,QAAQ,oBAS9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/db/migrate.ts"],"names":[],"mappings":"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"}
|