diff --git a/examples/cli/apibara.config.ts b/examples/cli/apibara.config.ts index c6c484f..72e839b 100644 --- a/examples/cli/apibara.config.ts +++ b/examples/cli/apibara.config.ts @@ -2,13 +2,16 @@ import { defineConfig } from "apibara/config"; export default defineConfig({ runtimeConfig: { - databasePath: ":memory:", + pgLiteDBPath: "memory://persistence", }, presets: { dev: { runtimeConfig: { - databasePath: "/tmp/my-db.sqlite", + pgLiteDBPath: "./.persistence", }, }, }, + // rollupConfig: { + // plugins: [tsConfigPaths()], + // }, }); diff --git a/examples/cli/docker-compose.yml b/examples/cli/docker-compose.yml new file mode 100644 index 0000000..7a584fc --- /dev/null +++ b/examples/cli/docker-compose.yml @@ -0,0 +1,14 @@ +version: "3" +services: + timescaledb: + image: timescale/timescaledb-ha:pg14-latest + restart: always + environment: + POSTGRES_PASSWORD: postgres + ports: + - "5432:5432" + volumes: + - postgres:/var/lib/postgresql/data + +volumes: + postgres: diff --git a/examples/cli/drizzle.config.ts b/examples/cli/drizzle.config.ts new file mode 100644 index 0000000..414e9b0 --- /dev/null +++ b/examples/cli/drizzle.config.ts @@ -0,0 +1,14 @@ +import type { Config } from "drizzle-kit"; + +const connectionString = + process.env.POSTGRES_CONNECTION_STRING ?? + "postgres://postgres:postgres@localhost:5432/postgres"; + +export default { + schema: "./lib/schema.ts", + out: "./drizzle", + dialect: "postgresql", + dbCredentials: { + url: connectionString, + }, +} satisfies Config; diff --git a/examples/cli/drizzle/0000_great_hobgoblin.sql b/examples/cli/drizzle/0000_great_hobgoblin.sql new file mode 100644 index 0000000..52762c1 --- /dev/null +++ b/examples/cli/drizzle/0000_great_hobgoblin.sql @@ -0,0 +1,25 @@ +CREATE TABLE IF NOT EXISTS "checkpoints" ( + "id" text PRIMARY KEY NOT NULL, + "order_key" integer NOT NULL, + "unique_key" text NOT NULL +); +--> statement-breakpoint +CREATE TABLE IF NOT EXISTS "ethereum_usdc_transfers" ( + "number" bigint, + "hash" text, + "_cursor" "int8range" NOT NULL +); +--> statement-breakpoint +CREATE TABLE IF NOT EXISTS "filters" ( + "id" text NOT NULL, + "filter" text NOT NULL, + "from_block" integer NOT NULL, + "to_block" integer, + CONSTRAINT "filters_id_from_block_pk" PRIMARY KEY("id","from_block") +); +--> statement-breakpoint +CREATE TABLE IF NOT EXISTS "starknet_usdc_transfers" ( + "number" bigint, + "hash" text, + "_cursor" "int8range" NOT NULL +); diff --git a/examples/cli/drizzle/meta/0000_snapshot.json b/examples/cli/drizzle/meta/0000_snapshot.json new file mode 100644 index 0000000..0f8f349 --- /dev/null +++ b/examples/cli/drizzle/meta/0000_snapshot.json @@ -0,0 +1,154 @@ +{ + "id": "f33ac3ed-f308-44cf-a4b1-64871d409835", + "prevId": "00000000-0000-0000-0000-000000000000", + "version": "7", + "dialect": "postgresql", + "tables": { + "public.checkpoints": { + "name": "checkpoints", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "order_key": { + "name": "order_key", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "unique_key": { + "name": "unique_key", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ethereum_usdc_transfers": { + "name": "ethereum_usdc_transfers", + "schema": "", + "columns": { + "number": { + "name": "number", + "type": "bigint", + "primaryKey": false, + "notNull": false + }, + "hash": { + "name": "hash", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "_cursor": { + "name": "_cursor", + "type": "int8range", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.filters": { + "name": "filters", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "filter": { + "name": "filter", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "from_block": { + "name": "from_block", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "to_block": { + "name": "to_block", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "filters_id_from_block_pk": { + "name": "filters_id_from_block_pk", + "columns": ["id", "from_block"] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.starknet_usdc_transfers": { + "name": "starknet_usdc_transfers", + "schema": "", + "columns": { + "number": { + "name": "number", + "type": "bigint", + "primaryKey": false, + "notNull": false + }, + "hash": { + "name": "hash", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "_cursor": { + "name": "_cursor", + "type": "int8range", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": {}, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} diff --git a/examples/cli/drizzle/meta/_journal.json b/examples/cli/drizzle/meta/_journal.json new file mode 100644 index 0000000..eaf7b7e --- /dev/null +++ b/examples/cli/drizzle/meta/_journal.json @@ -0,0 +1,13 @@ +{ + "version": "7", + "dialect": "postgresql", + "entries": [ + { + "idx": 0, + "version": "7", + "when": 1733315820544, + "tag": "0000_great_hobgoblin", + "breakpoints": true + } + ] +} diff --git a/examples/cli/indexers/1-evm.indexer.ts b/examples/cli/indexers/1-evm.indexer.ts index 85f247c..9af2070 100644 --- a/examples/cli/indexers/1-evm.indexer.ts +++ b/examples/cli/indexers/1-evm.indexer.ts @@ -1,19 +1,78 @@ import { EvmStream } from "@apibara/evm"; -import { defineIndexer } from "@apibara/indexer"; +import { defineIndexer, useSink } from "@apibara/indexer"; +import { drizzlePersistence } from "@apibara/indexer/plugins/drizzle-persistence"; import { useLogger } from "@apibara/indexer/plugins/logger"; +import { drizzle as drizzleSink } from "@apibara/indexer/sinks/drizzle"; +import type { ApibaraRuntimeConfig } from "apibara/types"; +import type { + ExtractTablesWithRelations, + TablesRelationalConfig, +} from "drizzle-orm"; +import type { PgDatabase, PgQueryResultHKT } from "drizzle-orm/pg-core"; +import { encodeEventTopics, parseAbi } from "viem"; +import { db } from "../lib/db"; +import { ethereumUsdcTransfers } from "../lib/schema"; -export default defineIndexer(EvmStream)({ - streamUrl: "https://ethereum.preview.apibara.org", - finality: "accepted", - startingCursor: { - orderKey: 10_000_000n, - }, - filter: { - header: "always", - transactions: [{}], - }, - async transform({ endCursor }) { - const logger = useLogger(); - logger.info("Transforming block ", endCursor?.orderKey); - }, -}); +const abi = parseAbi([ + "event Transfer(address indexed from, address indexed to, uint256 value)", +]); + +// USDC Transfers on Ethereum +export default function (runtimeConfig: ApibaraRuntimeConfig) { + return createIndexer({ + database: db, + }); +} + +export function createIndexer< + TQueryResult extends PgQueryResultHKT, + TFullSchema extends Record = Record, + TSchema extends + TablesRelationalConfig = ExtractTablesWithRelations, +>({ + database, +}: { + database: PgDatabase; +}) { + return defineIndexer(EvmStream)({ + streamUrl: "https://ethereum.preview.apibara.org", + finality: "accepted", + startingCursor: { + orderKey: 10_000_000n, + }, + filter: { + logs: [ + { + address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + topics: encodeEventTopics({ + abi, + eventName: "Transfer", + args: { from: null, to: null }, + }) as `0x${string}`[], + strict: true, + }, + ], + }, + plugins: [ + drizzlePersistence({ database, indexerName: "evm-usdc-transfers" }), + ], + sink: drizzleSink({ + database, + tables: [ethereumUsdcTransfers], + }), + async transform({ endCursor, context, block }) { + const logger = useLogger(); + const { db } = useSink({ context }); + const { logs } = block; + + logger.info("Transforming block ", endCursor?.orderKey); + + for (const log of logs) { + await db.insert(ethereumUsdcTransfers).values({ + number: Number(endCursor?.orderKey), + hash: log.transactionHash, + }); + } + }, + }); +} diff --git a/examples/cli/indexers/2-starknet.indexer.ts b/examples/cli/indexers/2-starknet.indexer.ts index 0557b15..1e7e8dd 100644 --- a/examples/cli/indexers/2-starknet.indexer.ts +++ b/examples/cli/indexers/2-starknet.indexer.ts @@ -1,27 +1,33 @@ -import { defineIndexer } from "@apibara/indexer"; +import { defineIndexer, useSink } from "@apibara/indexer"; import { drizzlePersistence } from "@apibara/indexer/plugins/drizzle-persistence"; import { useLogger } from "@apibara/indexer/plugins/logger"; -import { sqlite } from "@apibara/indexer/sinks/sqlite"; +import { drizzle as drizzleSink } from "@apibara/indexer/sinks/drizzle"; import { StarknetStream } from "@apibara/starknet"; import type { ApibaraRuntimeConfig } from "apibara/types"; -import Database from "better-sqlite3"; -import { sql } from "drizzle-orm"; -import { drizzle } from "drizzle-orm/pglite"; +import type { + ExtractTablesWithRelations, + TablesRelationalConfig, +} from "drizzle-orm"; +import type { PgDatabase, PgQueryResultHKT } from "drizzle-orm/pg-core"; import { hash } from "starknet"; +import { db } from "../lib/db"; +import { starknetUsdcTransfers } from "../lib/schema"; +// USDC Transfers on Starknet export default function (runtimeConfig: ApibaraRuntimeConfig) { - // Sink Database - const database = new Database(runtimeConfig.databasePath); - database.exec("DROP TABLE IF EXISTS test"); - database.exec( - "CREATE TABLE IF NOT EXISTS test (number TEXT, hash TEXT, _cursor BIGINT)", - ); - - // Persistence Database - const persistDatabase = drizzle("./.persistence", { - logger: true, - }); + return createIndexer({ database: db }); +} +export function createIndexer< + TQueryResult extends PgQueryResultHKT, + TFullSchema extends Record = Record, + TSchema extends + TablesRelationalConfig = ExtractTablesWithRelations, +>({ + database, +}: { + database: PgDatabase; +}) { return defineIndexer(StarknetStream)({ streamUrl: "https://starknet.preview.apibara.org", finality: "accepted", @@ -29,58 +35,39 @@ export default function (runtimeConfig: ApibaraRuntimeConfig) { orderKey: 800_000n, }, plugins: [ - drizzlePersistence({ - database: persistDatabase, - indexerName: "2-starknet", - }), + drizzlePersistence({ database, indexerName: "starknet-usdc-transfers" }), ], - sink: sqlite({ database, tableName: "test" }), + sink: drizzleSink({ database, tables: [starknetUsdcTransfers] }), filter: { events: [ { address: - "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7" as `0x${string}`, + "0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8" as `0x${string}`, keys: [hash.getSelectorFromName("Transfer") as `0x${string}`], - includeReceipt: true, }, ], }, - async transform({ endCursor, block: { header }, context }) { + async transform({ endCursor, block, context }) { const logger = useLogger(); + const { db } = useSink({ context }); + const { events } = block; + logger.info("Transforming block ", endCursor?.orderKey); - // const { writer } = useSink({ context }); - // writer.insert([{ - // number: header?.blockNumber.toString(), - // hash: header?.blockHash, - // }]) - }, - hooks: { - async "run:before"() { - // Normally user will do migrations of both tables, which are defined in - // ``` - // import { checkpoints, filters } from "@apibara/indexer/plugins/drizzle-persistence" - // ```, - // but just for quick testing and example we create them here directly + const transactionHashes = new Set(); - await persistDatabase.execute(sql` - CREATE TABLE IF NOT EXISTS checkpoints ( - id TEXT NOT NULL PRIMARY KEY, - order_key INTEGER NOT NULL, - unique_key TEXT - ); - `); + for (const event of events) { + if (event.transactionHash) { + transactionHashes.add(event.transactionHash); + } + } - await persistDatabase.execute(sql` - CREATE TABLE IF NOT EXISTS filters ( - id TEXT NOT NULL, - filter TEXT NOT NULL, - from_block INTEGER NOT NULL, - to_block INTEGER, - PRIMARY KEY (id, from_block) - ); - `); - }, + await db.insert(starknetUsdcTransfers).values( + Array.from(transactionHashes).map((transactionHash) => ({ + number: Number(endCursor?.orderKey), + hash: transactionHash, + })), + ); }, }); } diff --git a/examples/cli/lib/db.ts b/examples/cli/lib/db.ts new file mode 100644 index 0000000..803b6f5 --- /dev/null +++ b/examples/cli/lib/db.ts @@ -0,0 +1,13 @@ +import { type NodePgDatabase, drizzle } from "drizzle-orm/node-postgres"; +import pg from "pg"; +import * as schema from "./schema"; + +const connectionString = "postgres://postgres:postgres@localhost:5432/postgres"; + +const pool = new pg.Pool({ + connectionString, +}); + +export const db = drizzle(pool, { schema }); + +export type Database = NodePgDatabase; diff --git a/examples/cli/lib/schema.ts b/examples/cli/lib/schema.ts new file mode 100644 index 0000000..9603255 --- /dev/null +++ b/examples/cli/lib/schema.ts @@ -0,0 +1,17 @@ +import { pgIndexerTable } from "@apibara/indexer/sinks/drizzle"; +import { bigint, text } from "drizzle-orm/pg-core"; + +export const starknetUsdcTransfers = pgIndexerTable("starknet_usdc_transfers", { + number: bigint("number", { mode: "number" }), + hash: text("hash"), +}); + +export const ethereumUsdcTransfers = pgIndexerTable("ethereum_usdc_transfers", { + number: bigint("number", { mode: "number" }), + hash: text("hash"), +}); + +export { + checkpoints, + filters, +} from "@apibara/indexer/plugins/drizzle-persistence"; diff --git a/examples/cli/package.json b/examples/cli/package.json index 566df13..c08dcac 100644 --- a/examples/cli/package.json +++ b/examples/cli/package.json @@ -3,21 +3,25 @@ "private": true, "version": "1.0.0", "description": "", + "type": "module", "scripts": { "build": "apibara build", "dev": "apibara dev", "start": "apibara start", "lint": "biome check .", "lint:fix": "pnpm lint --write", - "test": "vitest" + "test": "vitest", + "drizzle:generate": "drizzle-kit generate", + "drizzle:migrate": "drizzle-kit migrate" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { - "@types/better-sqlite3": "^7.6.11", "@types/node": "^20.5.2", "@types/pg": "^8.11.10", + "drizzle-kit": "^0.29.0", + "rollup-plugin-tsconfig-paths": "^1.5.2", "typescript": "^5.6.2", "vitest": "^1.6.0" }, @@ -28,9 +32,9 @@ "@apibara/starknet": "workspace:*", "@electric-sql/pglite": "^0.2.14", "apibara": "workspace:*", - "better-sqlite3": "^11.5.0", - "drizzle-orm": "^0.35.2", - "pg": "^8.12.0", - "starknet": "^6.11.0" + "drizzle-orm": "^0.37.0", + "pg": "^8.13.1", + "starknet": "^6.11.0", + "viem": "^2.21.53" } } diff --git a/examples/cli/vitest.config.ts b/examples/cli/vitest.config.ts new file mode 100644 index 0000000..f12111d --- /dev/null +++ b/examples/cli/vitest.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + testTimeout: 10000, + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7f6d34e..515faf8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -66,28 +66,31 @@ importers: apibara: specifier: workspace:* version: link:../../packages/cli - better-sqlite3: - specifier: ^11.5.0 - version: 11.5.0 drizzle-orm: - specifier: ^0.35.2 - version: 0.35.2(@electric-sql/pglite@0.2.14)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.11)(@types/pg@8.11.10)(better-sqlite3@11.5.0)(pg@8.13.0)(postgres@3.4.4) + specifier: ^0.37.0 + version: 0.37.0(@electric-sql/pglite@0.2.14)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.11)(@types/pg@8.11.10)(better-sqlite3@11.5.0)(pg@8.13.1)(postgres@3.4.4) pg: - specifier: ^8.12.0 - version: 8.13.0 + specifier: ^8.13.1 + version: 8.13.1 starknet: specifier: ^6.11.0 version: 6.11.0 + viem: + specifier: ^2.21.53 + version: 2.21.53(typescript@5.6.2)(zod@3.23.8) devDependencies: - '@types/better-sqlite3': - specifier: ^7.6.11 - version: 7.6.11 '@types/node': specifier: ^20.5.2 version: 20.14.0 '@types/pg': specifier: ^8.11.10 version: 8.11.10 + drizzle-kit: + specifier: ^0.29.0 + version: 0.29.0 + rollup-plugin-tsconfig-paths: + specifier: ^1.5.2 + version: 1.5.2(rollup@4.18.1)(typescript@5.6.2) typescript: specifier: ^5.6.2 version: 5.6.2 @@ -139,7 +142,7 @@ importers: version: 2.1.8 viem: specifier: ^2.12.4 - version: 2.13.8(typescript@5.6.2) + version: 2.13.8(typescript@5.6.2)(zod@3.23.8) devDependencies: '@types/node': specifier: ^20.12.12 @@ -190,14 +193,14 @@ importers: specifier: ^6.5.0 version: 6.5.0 drizzle-orm: - specifier: ^0.35.0 - version: 0.35.2(@electric-sql/pglite@0.2.14)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.11)(@types/pg@8.11.10)(better-sqlite3@11.5.0)(pg@8.13.0)(postgres@3.4.4) + specifier: ^0.37.0 + version: 0.37.0(@electric-sql/pglite@0.2.14)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.11)(@types/pg@8.11.10)(better-sqlite3@11.5.0)(pg@8.13.1)(postgres@3.4.4) postgres: specifier: ^3.4.4 version: 3.4.4 viem: specifier: ^2.12.4 - version: 2.13.8(typescript@5.6.2) + version: 2.13.8(typescript@5.6.2)(zod@3.23.8) devDependencies: '@types/better-sqlite3': specifier: ^7.6.11 @@ -273,8 +276,8 @@ importers: specifier: ^6.5.0 version: 6.5.0 drizzle-orm: - specifier: ^0.35.0 - version: 0.35.2(@electric-sql/pglite@0.2.14)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.11)(@types/pg@8.11.10)(better-sqlite3@11.5.0)(pg@8.13.0)(postgres@3.4.4) + specifier: ^0.37.0 + version: 0.37.0(@electric-sql/pglite@0.2.14)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.11)(@types/pg@8.11.10)(better-sqlite3@11.5.0)(pg@8.13.1)(postgres@3.4.4) postgres: specifier: ^3.4.4 version: 3.4.4 @@ -283,7 +286,7 @@ importers: version: 5.1.1 viem: specifier: ^2.12.4 - version: 2.13.8(typescript@5.6.2) + version: 2.13.8(typescript@5.6.2)(zod@3.23.8) devDependencies: '@types/node': specifier: ^20.12.12 @@ -317,7 +320,7 @@ importers: version: 7.3.0 viem: specifier: ^2.13.8 - version: 2.13.8(typescript@5.6.2) + version: 2.13.8(typescript@5.6.2)(zod@3.23.8) devDependencies: '@bufbuild/buf': specifier: ^1.32.1 @@ -433,7 +436,7 @@ importers: version: 2.0.0(typescript@5.6.2) viem: specifier: ^2.12.4 - version: 2.13.8(typescript@5.6.2) + version: 2.13.8(typescript@5.6.2)(zod@3.23.8) vitest: specifier: ^1.6.0 version: 1.6.0(@types/node@20.14.0) @@ -460,7 +463,7 @@ importers: version: 7.2.5 viem: specifier: ^2.12.4 - version: 2.12.4(typescript@5.6.2) + version: 2.12.4(typescript@5.6.2)(zod@3.23.8) devDependencies: '@bufbuild/buf': specifier: ^1.32.1 @@ -524,11 +527,11 @@ importers: specifier: ^6.5.0 version: 6.5.0 drizzle-orm: - specifier: ^0.35.2 - version: 0.35.2(@electric-sql/pglite@0.2.14)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.11)(@types/pg@8.11.10)(better-sqlite3@11.5.0)(pg@8.13.0)(postgres@3.4.4) + specifier: ^0.37.0 + version: 0.37.0(@electric-sql/pglite@0.2.14)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.11)(@types/pg@8.11.10)(better-sqlite3@11.5.0)(pg@8.13.1)(postgres@3.4.4) pg: - specifier: ^8.12.0 - version: 8.13.0 + specifier: ^8.13.1 + version: 8.13.1 postgres-range: specifier: ^1.1.4 version: 1.1.4 @@ -561,7 +564,7 @@ importers: version: 7.3.0 viem: specifier: ^2.13.2 - version: 2.13.2(typescript@5.6.2) + version: 2.13.2(typescript@5.6.2)(zod@3.23.8) devDependencies: '@bufbuild/buf': specifier: ^1.32.2 @@ -614,7 +617,7 @@ importers: version: 2.0.0(typescript@5.6.2) viem: specifier: ^2.13.8 - version: 2.13.8(typescript@5.6.2) + version: 2.13.8(typescript@5.6.2)(zod@3.23.8) vitest: specifier: ^1.6.0 version: 1.6.0(@types/node@20.14.0) @@ -624,6 +627,9 @@ packages: '@adraffy/ens-normalize@1.10.0': resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} + '@adraffy/ens-normalize@1.11.0': + resolution: {integrity: sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg==} + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -866,6 +872,9 @@ packages: engines: {node: '>=12'} hasBin: true + '@drizzle-team/brocli@0.10.2': + resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} + '@effect/schema@0.67.15': resolution: {integrity: sha512-+AO29qX0GIDARbQE1TcnWz3cUBCOm3x8KP6SXpWUot1cfG4ccoWrrfzVBaaCl1FDT5egvAtwfQ26GPVMJEobEg==} peerDependencies: @@ -874,6 +883,14 @@ packages: '@electric-sql/pglite@0.2.14': resolution: {integrity: sha512-ZMYZL/yFu5sCewYecdX4OjyOPcrI2OmQ6598e/tyke4Rpgeekd4+pINf9jjzJNJk1Kq5dtuB6buqZsBQf0sx8A==} + '@esbuild-kit/core-utils@3.3.2': + resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} + deprecated: 'Merged into tsx: https://tsx.is' + + '@esbuild-kit/esm-loader@2.6.5': + resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} + deprecated: 'Merged into tsx: https://tsx.is' + '@esbuild/aix-ppc64@0.19.11': resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} engines: {node: '>=12'} @@ -892,6 +909,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/android-arm64@0.18.20': + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.19.11': resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} engines: {node: '>=12'} @@ -910,6 +933,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm@0.18.20': + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.19.11': resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} engines: {node: '>=12'} @@ -928,6 +957,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-x64@0.18.20': + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.19.11': resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} engines: {node: '>=12'} @@ -946,6 +981,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/darwin-arm64@0.18.20': + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.19.11': resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} engines: {node: '>=12'} @@ -964,6 +1005,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-x64@0.18.20': + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.19.11': resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} engines: {node: '>=12'} @@ -982,6 +1029,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/freebsd-arm64@0.18.20': + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.19.11': resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} engines: {node: '>=12'} @@ -1000,6 +1053,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-x64@0.18.20': + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.19.11': resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} engines: {node: '>=12'} @@ -1018,6 +1077,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/linux-arm64@0.18.20': + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.19.11': resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} engines: {node: '>=12'} @@ -1036,6 +1101,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm@0.18.20': + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.19.11': resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} engines: {node: '>=12'} @@ -1054,6 +1125,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-ia32@0.18.20': + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.19.11': resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} engines: {node: '>=12'} @@ -1072,6 +1149,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-loong64@0.18.20': + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.19.11': resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} engines: {node: '>=12'} @@ -1090,6 +1173,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-mips64el@0.18.20': + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.19.11': resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} engines: {node: '>=12'} @@ -1108,6 +1197,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-ppc64@0.18.20': + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.19.11': resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} engines: {node: '>=12'} @@ -1126,6 +1221,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-riscv64@0.18.20': + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.19.11': resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} engines: {node: '>=12'} @@ -1144,6 +1245,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-s390x@0.18.20': + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.19.11': resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} engines: {node: '>=12'} @@ -1162,6 +1269,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-x64@0.18.20': + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.19.11': resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} engines: {node: '>=12'} @@ -1180,6 +1293,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/netbsd-x64@0.18.20': + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.19.11': resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} engines: {node: '>=12'} @@ -1204,6 +1323,12 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-x64@0.18.20': + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.19.11': resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} engines: {node: '>=12'} @@ -1222,6 +1347,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/sunos-x64@0.18.20': + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.19.11': resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} engines: {node: '>=12'} @@ -1240,6 +1371,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/win32-arm64@0.18.20': + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.19.11': resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} engines: {node: '>=12'} @@ -1258,6 +1395,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-ia32@0.18.20': + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.19.11': resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} engines: {node: '>=12'} @@ -1276,6 +1419,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-x64@0.18.20': + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.19.11': resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} engines: {node: '>=12'} @@ -1341,6 +1490,10 @@ packages: '@noble/curves@1.4.2': resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} + '@noble/curves@1.6.0': + resolution: {integrity: sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==} + engines: {node: ^14.21.3 || >=16} + '@noble/hashes@1.3.2': resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} engines: {node: '>= 16'} @@ -1353,6 +1506,10 @@ packages: resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} + '@noble/hashes@1.5.0': + resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + engines: {node: ^14.21.3 || >=16} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1687,12 +1844,21 @@ packages: '@scure/base@1.1.5': resolution: {integrity: sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==} + '@scure/base@1.1.9': + resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} + '@scure/bip32@1.3.2': resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} + '@scure/bip32@1.5.0': + resolution: {integrity: sha512-8EnFYkqEQdnkuGBVpCzKxyIwDCBLDVj3oiX0EKUFre/tOjL/Hqba1D6n/8RcmaQy4f95qQFrO2A8Sr6ybh4NRw==} + '@scure/bip39@1.2.1': resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} + '@scure/bip39@1.4.0': + resolution: {integrity: sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw==} + '@scure/starknet@1.0.0': resolution: {integrity: sha512-o5J57zY0f+2IL/mq8+AYJJ4Xpc1fOtDhr+mFQKbHnYFmm3WQrC+8zj2HEgxak1a+x86mhmBC1Kq305KUpVf0wg==} @@ -1777,6 +1943,17 @@ packages: zod: optional: true + abitype@1.0.6: + resolution: {integrity: sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + abort-controller-x@0.4.3: resolution: {integrity: sha512-VtUwTNU8fpMwvWGn4xE93ywbogTYsuT+AUxAXOeelbXuQVIwNmC5YLeho9sH4vZ4ITW8414TTAOG1nW6uIVHCA==} @@ -1884,6 +2061,9 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -2117,14 +2297,19 @@ packages: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} - drizzle-orm@0.35.2: - resolution: {integrity: sha512-bLQtRchl8QvRo2MyG6kcZC90UDzR7Ubir4YwOHV3cZPdJbF+4jU/Yt0QOczsoXe25wLRt6CtCWLXtSDQKft3yg==} + drizzle-kit@0.29.0: + resolution: {integrity: sha512-WjH0eC7/WKl8hucZPl/H5Df6WbUs1KJdM/vfX6bCjn1lOePrbeeroc18dzAVXdZpvgYx0ywJcFOypoC5MfYAYg==} + hasBin: true + + drizzle-orm@0.37.0: + resolution: {integrity: sha512-AsCNACQ/T2CyZUkrBRUqFT2ibHJ9ZHz3+lzYJFFn3hnj7ylIeItMz5kacRG89uSE74nXYShqehr6u+6ks4JR1A==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' - '@cloudflare/workers-types': '>=3' - '@electric-sql/pglite': '>=0.1.1' + '@cloudflare/workers-types': '>=4' + '@electric-sql/pglite': '>=0.2.0' '@libsql/client': '>=0.10.0' - '@neondatabase/serverless': '>=0.1' + '@libsql/client-wasm': '>=0.10.0' + '@neondatabase/serverless': '>=0.10.0' '@op-engineering/op-sqlite': '>=2' '@opentelemetry/api': ^1.4.1 '@planetscale/database': '>=1' @@ -2138,7 +2323,7 @@ packages: '@xata.io/client': '*' better-sqlite3: '>=7' bun-types: '*' - expo-sqlite: '>=13.2.0' + expo-sqlite: '>=14.0.0' knex: '*' kysely: '*' mysql2: '>=2' @@ -2157,6 +2342,8 @@ packages: optional: true '@libsql/client': optional: true + '@libsql/client-wasm': + optional: true '@neondatabase/serverless': optional: true '@op-engineering/op-sqlite': @@ -2234,6 +2421,16 @@ packages: es-module-lexer@1.5.4: resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + esbuild-register@3.6.0: + resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} + peerDependencies: + esbuild: '>=0.12 <1' + + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + esbuild@0.19.11: resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} engines: {node: '>=12'} @@ -2272,6 +2469,9 @@ packages: estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -2509,6 +2709,11 @@ packages: peerDependencies: ws: '*' + isows@1.0.6: + resolution: {integrity: sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==} + peerDependencies: + ws: '*' + jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} @@ -2780,6 +2985,14 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} + ox@0.1.2: + resolution: {integrity: sha512-ak/8K0Rtphg9vnRJlbOdaX9R7cmxD2MiSthjWGaQdMk3D7hrAlDoM+6Lxn7hN52Za3vrXfZ7enfke/5WjolDww==} + peerDependencies: + typescript: '>=5.4.0' + peerDependenciesMeta: + typescript: + optional: true + p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -2870,8 +3083,8 @@ packages: resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} engines: {node: '>=10'} - pg@8.13.0: - resolution: {integrity: sha512-34wkUTh3SxTClfoHB3pQ7bIMvw9dpFU1audQQeZG837fmHfHpr14n/AELVDoOYVDW2h5RDWU78tFjkD+erSBsw==} + pg@8.13.1: + resolution: {integrity: sha512-OUir1A0rPNZlX//c7ksiu7crsGZTKSOXJPgtNiHGIlC9H0lO+NC6ZDYksSgBYY/thSWhnSRBv8w1lieNNGATNQ==} engines: {node: '>= 8.0.0'} peerDependencies: pg-native: '>=3.0.1' @@ -3221,6 +3434,11 @@ packages: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + rollup-plugin-tsconfig-paths@1.5.2: + resolution: {integrity: sha512-tyS7u2Md0eXKwbDfTuDDa1izciwqhOZsHzX7zYc5gKC1L7q5ozdSt+q1jjtD1dDqWyjrt8lZoiLtOQGhMHh1OQ==} + peerDependencies: + rollup: ^2 || ^3 || ^4 + rollup@3.29.4: resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} @@ -3298,6 +3516,13 @@ packages: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} @@ -3457,6 +3682,11 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} + typescript-paths@1.5.1: + resolution: {integrity: sha512-lYErSLCON2MSplVV5V/LBgD4UNjMgY3guATdFCZY2q1Nr6OZEu4q6zX/rYMsG1TaWqqQSszg6C9EU7AGWMDrIw==} + peerDependencies: + typescript: ^4.7.2 || ^5 + typescript@5.6.2: resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} engines: {node: '>=14.17'} @@ -3543,6 +3773,14 @@ packages: typescript: optional: true + viem@2.21.53: + resolution: {integrity: sha512-0pY8clBacAwzc59iV1vY4a6U4xvRlA5tAuhClJCKvqA6rXJzmNMMvxQ0EG79lkHr7WtBEruXz8nAmONXwnq4EQ==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + vite-node@1.6.0: resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -3601,6 +3839,9 @@ packages: jsdom: optional: true + webauthn-p256@0.0.10: + resolution: {integrity: sha512-EeYD+gmIT80YkSIDb2iWq0lq2zbHo1CxHlQTeJ+KkCILWpVy3zASH3ByD4bopzfk0uCwXxLqKGLqp2W4O28VFA==} + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -3653,6 +3894,18 @@ packages: utf-8-validate: optional: true + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -3683,10 +3936,15 @@ packages: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + snapshots: '@adraffy/ens-normalize@1.10.0': {} + '@adraffy/ens-normalize@1.11.0': {} + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -3920,6 +4178,8 @@ snapshots: '@bufbuild/buf-win32-arm64': 1.32.2 '@bufbuild/buf-win32-x64': 1.32.2 + '@drizzle-team/brocli@0.10.2': {} + '@effect/schema@0.67.15(effect@3.2.6)': dependencies: effect: 3.2.6 @@ -3927,6 +4187,16 @@ snapshots: '@electric-sql/pglite@0.2.14': {} + '@esbuild-kit/core-utils@3.3.2': + dependencies: + esbuild: 0.18.20 + source-map-support: 0.5.21 + + '@esbuild-kit/esm-loader@2.6.5': + dependencies: + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.8.1 + '@esbuild/aix-ppc64@0.19.11': optional: true @@ -3936,6 +4206,9 @@ snapshots: '@esbuild/aix-ppc64@0.23.0': optional: true + '@esbuild/android-arm64@0.18.20': + optional: true + '@esbuild/android-arm64@0.19.11': optional: true @@ -3945,6 +4218,9 @@ snapshots: '@esbuild/android-arm64@0.23.0': optional: true + '@esbuild/android-arm@0.18.20': + optional: true + '@esbuild/android-arm@0.19.11': optional: true @@ -3954,6 +4230,9 @@ snapshots: '@esbuild/android-arm@0.23.0': optional: true + '@esbuild/android-x64@0.18.20': + optional: true + '@esbuild/android-x64@0.19.11': optional: true @@ -3963,6 +4242,9 @@ snapshots: '@esbuild/android-x64@0.23.0': optional: true + '@esbuild/darwin-arm64@0.18.20': + optional: true + '@esbuild/darwin-arm64@0.19.11': optional: true @@ -3972,6 +4254,9 @@ snapshots: '@esbuild/darwin-arm64@0.23.0': optional: true + '@esbuild/darwin-x64@0.18.20': + optional: true + '@esbuild/darwin-x64@0.19.11': optional: true @@ -3981,6 +4266,9 @@ snapshots: '@esbuild/darwin-x64@0.23.0': optional: true + '@esbuild/freebsd-arm64@0.18.20': + optional: true + '@esbuild/freebsd-arm64@0.19.11': optional: true @@ -3990,6 +4278,9 @@ snapshots: '@esbuild/freebsd-arm64@0.23.0': optional: true + '@esbuild/freebsd-x64@0.18.20': + optional: true + '@esbuild/freebsd-x64@0.19.11': optional: true @@ -3999,6 +4290,9 @@ snapshots: '@esbuild/freebsd-x64@0.23.0': optional: true + '@esbuild/linux-arm64@0.18.20': + optional: true + '@esbuild/linux-arm64@0.19.11': optional: true @@ -4008,6 +4302,9 @@ snapshots: '@esbuild/linux-arm64@0.23.0': optional: true + '@esbuild/linux-arm@0.18.20': + optional: true + '@esbuild/linux-arm@0.19.11': optional: true @@ -4017,6 +4314,9 @@ snapshots: '@esbuild/linux-arm@0.23.0': optional: true + '@esbuild/linux-ia32@0.18.20': + optional: true + '@esbuild/linux-ia32@0.19.11': optional: true @@ -4026,6 +4326,9 @@ snapshots: '@esbuild/linux-ia32@0.23.0': optional: true + '@esbuild/linux-loong64@0.18.20': + optional: true + '@esbuild/linux-loong64@0.19.11': optional: true @@ -4035,6 +4338,9 @@ snapshots: '@esbuild/linux-loong64@0.23.0': optional: true + '@esbuild/linux-mips64el@0.18.20': + optional: true + '@esbuild/linux-mips64el@0.19.11': optional: true @@ -4044,6 +4350,9 @@ snapshots: '@esbuild/linux-mips64el@0.23.0': optional: true + '@esbuild/linux-ppc64@0.18.20': + optional: true + '@esbuild/linux-ppc64@0.19.11': optional: true @@ -4053,6 +4362,9 @@ snapshots: '@esbuild/linux-ppc64@0.23.0': optional: true + '@esbuild/linux-riscv64@0.18.20': + optional: true + '@esbuild/linux-riscv64@0.19.11': optional: true @@ -4062,6 +4374,9 @@ snapshots: '@esbuild/linux-riscv64@0.23.0': optional: true + '@esbuild/linux-s390x@0.18.20': + optional: true + '@esbuild/linux-s390x@0.19.11': optional: true @@ -4071,6 +4386,9 @@ snapshots: '@esbuild/linux-s390x@0.23.0': optional: true + '@esbuild/linux-x64@0.18.20': + optional: true + '@esbuild/linux-x64@0.19.11': optional: true @@ -4080,6 +4398,9 @@ snapshots: '@esbuild/linux-x64@0.23.0': optional: true + '@esbuild/netbsd-x64@0.18.20': + optional: true + '@esbuild/netbsd-x64@0.19.11': optional: true @@ -4092,6 +4413,9 @@ snapshots: '@esbuild/openbsd-arm64@0.23.0': optional: true + '@esbuild/openbsd-x64@0.18.20': + optional: true + '@esbuild/openbsd-x64@0.19.11': optional: true @@ -4101,6 +4425,9 @@ snapshots: '@esbuild/openbsd-x64@0.23.0': optional: true + '@esbuild/sunos-x64@0.18.20': + optional: true + '@esbuild/sunos-x64@0.19.11': optional: true @@ -4110,6 +4437,9 @@ snapshots: '@esbuild/sunos-x64@0.23.0': optional: true + '@esbuild/win32-arm64@0.18.20': + optional: true + '@esbuild/win32-arm64@0.19.11': optional: true @@ -4119,6 +4449,9 @@ snapshots: '@esbuild/win32-arm64@0.23.0': optional: true + '@esbuild/win32-ia32@0.18.20': + optional: true + '@esbuild/win32-ia32@0.19.11': optional: true @@ -4128,6 +4461,9 @@ snapshots: '@esbuild/win32-ia32@0.23.0': optional: true + '@esbuild/win32-x64@0.18.20': + optional: true + '@esbuild/win32-x64@0.19.11': optional: true @@ -4193,12 +4529,18 @@ snapshots: dependencies: '@noble/hashes': 1.4.0 + '@noble/curves@1.6.0': + dependencies: + '@noble/hashes': 1.5.0 + '@noble/hashes@1.3.2': {} '@noble/hashes@1.3.3': {} '@noble/hashes@1.4.0': {} + '@noble/hashes@1.5.0': {} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -4541,17 +4883,30 @@ snapshots: '@scure/base@1.1.5': {} + '@scure/base@1.1.9': {} + '@scure/bip32@1.3.2': dependencies: '@noble/curves': 1.2.0 '@noble/hashes': 1.3.3 '@scure/base': 1.1.5 + '@scure/bip32@1.5.0': + dependencies: + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 + '@scure/base': 1.1.9 + '@scure/bip39@1.2.1': dependencies: '@noble/hashes': 1.3.3 '@scure/base': 1.1.5 + '@scure/bip39@1.4.0': + dependencies: + '@noble/hashes': 1.5.0 + '@scure/base': 1.1.9 + '@scure/starknet@1.0.0': dependencies: '@noble/curves': 1.3.0 @@ -4644,9 +4999,15 @@ snapshots: fs-extra: 10.1.0 yargs: 17.7.2 - abitype@1.0.0(typescript@5.6.2): + abitype@1.0.0(typescript@5.6.2)(zod@3.23.8): optionalDependencies: typescript: 5.6.2 + zod: 3.23.8 + + abitype@1.0.6(typescript@5.6.2)(zod@3.23.8): + optionalDependencies: + typescript: 5.6.2 + zod: 3.23.8 abort-controller-x@0.4.3: {} @@ -4757,6 +5118,8 @@ snapshots: node-releases: 2.0.14 update-browserslist-db: 1.0.16(browserslist@4.23.0) + buffer-from@1.1.2: {} + buffer@5.7.1: dependencies: base64-js: 1.5.1 @@ -5014,14 +5377,23 @@ snapshots: dotenv@16.4.5: {} - drizzle-orm@0.35.2(@electric-sql/pglite@0.2.14)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.11)(@types/pg@8.11.10)(better-sqlite3@11.5.0)(pg@8.13.0)(postgres@3.4.4): + drizzle-kit@0.29.0: + dependencies: + '@drizzle-team/brocli': 0.10.2 + '@esbuild-kit/esm-loader': 2.6.5 + esbuild: 0.19.11 + esbuild-register: 3.6.0(esbuild@0.19.11) + transitivePeerDependencies: + - supports-color + + drizzle-orm@0.37.0(@electric-sql/pglite@0.2.14)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.11)(@types/pg@8.11.10)(better-sqlite3@11.5.0)(pg@8.13.1)(postgres@3.4.4): optionalDependencies: '@electric-sql/pglite': 0.2.14 '@opentelemetry/api': 1.9.0 '@types/better-sqlite3': 7.6.11 '@types/pg': 8.11.10 better-sqlite3: 11.5.0 - pg: 8.13.0 + pg: 8.13.1 postgres: 3.4.4 eastasianwidth@0.2.0: {} @@ -5046,6 +5418,38 @@ snapshots: es-module-lexer@1.5.4: {} + esbuild-register@3.6.0(esbuild@0.19.11): + dependencies: + debug: 4.3.4 + esbuild: 0.19.11 + transitivePeerDependencies: + - supports-color + + esbuild@0.18.20: + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + esbuild@0.19.11: optionalDependencies: '@esbuild/aix-ppc64': 0.19.11 @@ -5139,6 +5543,8 @@ snapshots: dependencies: '@types/estree': 1.0.5 + eventemitter3@5.0.1: {} + execa@5.1.1: dependencies: cross-spawn: 7.0.3 @@ -5403,6 +5809,10 @@ snapshots: dependencies: ws: 8.13.0 + isows@1.0.6(ws@8.18.0): + dependencies: + ws: 8.18.0 + jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 @@ -5641,6 +6051,20 @@ snapshots: dependencies: mimic-fn: 4.0.0 + ox@0.1.2(typescript@5.6.2)(zod@3.23.8): + dependencies: + '@adraffy/ens-normalize': 1.11.0 + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 + '@scure/bip32': 1.5.0 + '@scure/bip39': 1.4.0 + abitype: 1.0.6(typescript@5.6.2)(zod@3.23.8) + eventemitter3: 5.0.1 + optionalDependencies: + typescript: 5.6.2 + transitivePeerDependencies: + - zod + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 @@ -5702,9 +6126,9 @@ snapshots: pg-numeric@1.0.2: {} - pg-pool@3.7.0(pg@8.13.0): + pg-pool@3.7.0(pg@8.13.1): dependencies: - pg: 8.13.0 + pg: 8.13.1 pg-protocol@1.7.0: {} @@ -5726,10 +6150,10 @@ snapshots: postgres-interval: 3.0.0 postgres-range: 1.1.4 - pg@8.13.0: + pg@8.13.1: dependencies: pg-connection-string: 2.7.0 - pg-pool: 3.7.0(pg@8.13.0) + pg-pool: 3.7.0(pg@8.13.1) pg-protocol: 1.7.0 pg-types: 2.2.0 pgpass: 1.0.5 @@ -6087,6 +6511,13 @@ snapshots: transitivePeerDependencies: - supports-color + rollup-plugin-tsconfig-paths@1.5.2(rollup@4.18.1)(typescript@5.6.2): + dependencies: + rollup: 4.18.1 + typescript-paths: 1.5.1(typescript@5.6.2) + transitivePeerDependencies: + - typescript + rollup@3.29.4: optionalDependencies: fsevents: 2.3.3 @@ -6161,6 +6592,13 @@ snapshots: source-map-js@1.2.0: {} + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + split2@4.2.0: {} sqlite@5.1.1: {} @@ -6329,6 +6767,10 @@ snapshots: type-detect@4.0.8: {} + typescript-paths@1.5.1(typescript@5.6.2): + dependencies: + typescript: 5.6.2 + typescript@5.6.2: {} ufo@1.5.3: {} @@ -6417,14 +6859,14 @@ snapshots: uuid@9.0.1: {} - viem@2.12.4(typescript@5.6.2): + viem@2.12.4(typescript@5.6.2)(zod@3.23.8): dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.6.2) + abitype: 1.0.0(typescript@5.6.2)(zod@3.23.8) isows: 1.0.4(ws@8.13.0) ws: 8.13.0 optionalDependencies: @@ -6434,14 +6876,14 @@ snapshots: - utf-8-validate - zod - viem@2.13.2(typescript@5.6.2): + viem@2.13.2(typescript@5.6.2)(zod@3.23.8): dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.6.2) + abitype: 1.0.0(typescript@5.6.2)(zod@3.23.8) isows: 1.0.4(ws@8.13.0) ws: 8.13.0 optionalDependencies: @@ -6451,14 +6893,14 @@ snapshots: - utf-8-validate - zod - viem@2.13.8(typescript@5.6.2): + viem@2.13.8(typescript@5.6.2)(zod@3.23.8): dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.6.2) + abitype: 1.0.0(typescript@5.6.2)(zod@3.23.8) isows: 1.0.4(ws@8.13.0) ws: 8.13.0 optionalDependencies: @@ -6468,6 +6910,24 @@ snapshots: - utf-8-validate - zod + viem@2.21.53(typescript@5.6.2)(zod@3.23.8): + dependencies: + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 + '@scure/bip32': 1.5.0 + '@scure/bip39': 1.4.0 + abitype: 1.0.6(typescript@5.6.2)(zod@3.23.8) + isows: 1.0.6(ws@8.18.0) + ox: 0.1.2(typescript@5.6.2)(zod@3.23.8) + webauthn-p256: 0.0.10 + ws: 8.18.0 + optionalDependencies: + typescript: 5.6.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + vite-node@1.6.0(@types/node@20.12.12): dependencies: cac: 6.7.14 @@ -6645,6 +7105,11 @@ snapshots: - supports-color - terser + webauthn-p256@0.0.10: + dependencies: + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 + webidl-conversions@3.0.1: {} webpack-sources@3.2.3: {} @@ -6693,6 +7158,8 @@ snapshots: ws@8.13.0: {} + ws@8.18.0: {} + xtend@4.0.2: {} y18n@5.0.8: {} @@ -6716,3 +7183,6 @@ snapshots: yocto-queue@0.1.0: {} yocto-queue@1.0.0: {} + + zod@3.23.8: + optional: true