@ensnode/ensdb-sdk 1.9.0 → 1.10.1
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/dist/ensindexer-abstract/index.d.ts +2 -2
- package/dist/ensindexer-abstract/index.js +53 -29
- package/dist/ensindexer-abstract/index.js.map +1 -1
- package/dist/{index-CUYtpVSw.d.ts → index-DN0SGSyd.d.ts} +137 -20
- package/dist/index.d.ts +74 -3
- package/dist/index.js +193 -43
- package/dist/index.js.map +1 -1
- package/migrations/0001_enable_ext_pg_trgm.sql +5 -0
- package/migrations/meta/0001_snapshot.json +55 -0
- package/migrations/meta/_journal.json +7 -0
- package/package.json +11 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
|
|
2
2
|
import * as drizzle_orm from 'drizzle-orm';
|
|
3
3
|
import * as ponder from 'ponder';
|
|
4
|
-
import { DomainId, InterpretedLabel, PermissionsId, PermissionsResourceId, PermissionsUserId, RegistrationId, RegistryId, ENSv2DomainId, RenewalId, ResolverId, ENSv1DomainId, ResolverRecordsId } from '
|
|
4
|
+
import { DomainId, InterpretedLabel, PermissionsId, PermissionsResourceId, PermissionsUserId, RegistrationId, RegistryId, ENSv2DomainId, RenewalId, ResolverId, ENSv1DomainId, ResolverRecordsId, InterpretedName } from 'enssdk';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* The ENSv2 Schema
|
|
@@ -859,7 +859,7 @@ declare const relations_v2Domain: drizzle_orm.Relations<"v2_domains", {
|
|
|
859
859
|
label: drizzle_orm.One<"labels", true>;
|
|
860
860
|
registrations: drizzle_orm.Many<"registrations">;
|
|
861
861
|
}>;
|
|
862
|
-
declare const registrationType: ponder.OnchainEnum<["NameWrapper", "BaseRegistrar", "ThreeDNS", "
|
|
862
|
+
declare const registrationType: ponder.OnchainEnum<["NameWrapper", "BaseRegistrar", "ThreeDNS", "ENSv2RegistryRegistration", "ENSv2RegistryReservation"]>;
|
|
863
863
|
declare const registration: ponder.OnchainTable<{
|
|
864
864
|
name: "registrations";
|
|
865
865
|
schema: undefined;
|
|
@@ -902,8 +902,8 @@ declare const registration: ponder.OnchainTable<{
|
|
|
902
902
|
}, {}, {
|
|
903
903
|
$type: DomainId;
|
|
904
904
|
}>;
|
|
905
|
-
|
|
906
|
-
name: "
|
|
905
|
+
registrationIndex: ponder.PgColumn<{
|
|
906
|
+
name: "registrationIndex";
|
|
907
907
|
tableName: "registrations";
|
|
908
908
|
dataType: "number";
|
|
909
909
|
columnType: "PgInteger";
|
|
@@ -924,14 +924,14 @@ declare const registration: ponder.OnchainTable<{
|
|
|
924
924
|
tableName: "registrations";
|
|
925
925
|
dataType: "string";
|
|
926
926
|
columnType: "PgEnumColumn";
|
|
927
|
-
data: "BaseRegistrar" | "NameWrapper" | "ThreeDNS" | "
|
|
927
|
+
data: "BaseRegistrar" | "NameWrapper" | "ThreeDNS" | "ENSv2RegistryRegistration" | "ENSv2RegistryReservation";
|
|
928
928
|
driverParam: string;
|
|
929
929
|
notNull: true;
|
|
930
930
|
hasDefault: false;
|
|
931
931
|
isPrimaryKey: false;
|
|
932
932
|
isAutoincrement: false;
|
|
933
933
|
hasRuntimeDefault: false;
|
|
934
|
-
enumValues: ["NameWrapper", "BaseRegistrar", "ThreeDNS", "
|
|
934
|
+
enumValues: ["NameWrapper", "BaseRegistrar", "ThreeDNS", "ENSv2RegistryRegistration", "ENSv2RegistryReservation"];
|
|
935
935
|
baseColumn: never;
|
|
936
936
|
identity: undefined;
|
|
937
937
|
generated: undefined;
|
|
@@ -1044,6 +1044,25 @@ declare const registration: ponder.OnchainTable<{
|
|
|
1044
1044
|
}, {}, {
|
|
1045
1045
|
$type: `0x${string}`;
|
|
1046
1046
|
}>;
|
|
1047
|
+
unregistrantId: ponder.PgColumn<{
|
|
1048
|
+
name: "unregistrantId";
|
|
1049
|
+
tableName: "registrations";
|
|
1050
|
+
dataType: "string";
|
|
1051
|
+
columnType: "PgHex";
|
|
1052
|
+
data: `0x${string}`;
|
|
1053
|
+
driverParam: string;
|
|
1054
|
+
notNull: false;
|
|
1055
|
+
hasDefault: false;
|
|
1056
|
+
isPrimaryKey: false;
|
|
1057
|
+
isAutoincrement: false;
|
|
1058
|
+
hasRuntimeDefault: false;
|
|
1059
|
+
enumValues: undefined;
|
|
1060
|
+
baseColumn: never;
|
|
1061
|
+
identity: undefined;
|
|
1062
|
+
generated: undefined;
|
|
1063
|
+
}, {}, {
|
|
1064
|
+
$type: `0x${string}`;
|
|
1065
|
+
}>;
|
|
1047
1066
|
referrer: ponder.PgColumn<{
|
|
1048
1067
|
name: "referrer";
|
|
1049
1068
|
tableName: "registrations";
|
|
@@ -1177,8 +1196,8 @@ declare const latestRegistrationIndex: ponder.OnchainTable<{
|
|
|
1177
1196
|
}, {}, {
|
|
1178
1197
|
$type: DomainId;
|
|
1179
1198
|
}>;
|
|
1180
|
-
|
|
1181
|
-
name: "
|
|
1199
|
+
registrationIndex: ponder.PgColumn<{
|
|
1200
|
+
name: "registrationIndex";
|
|
1182
1201
|
tableName: "latest_registration_indexes";
|
|
1183
1202
|
dataType: "number";
|
|
1184
1203
|
columnType: "PgInteger";
|
|
@@ -1202,6 +1221,7 @@ declare const registration_relations: drizzle_orm.Relations<"registrations", {
|
|
|
1202
1221
|
v1Domain: drizzle_orm.One<"v1_domains", true>;
|
|
1203
1222
|
v2Domain: drizzle_orm.One<"v2_domains", true>;
|
|
1204
1223
|
registrant: drizzle_orm.One<"accounts", false>;
|
|
1224
|
+
unregistrant: drizzle_orm.One<"accounts", false>;
|
|
1205
1225
|
renewals: drizzle_orm.Many<"renewals">;
|
|
1206
1226
|
event: drizzle_orm.One<"events", true>;
|
|
1207
1227
|
}>;
|
|
@@ -1264,8 +1284,8 @@ declare const renewal: ponder.OnchainTable<{
|
|
|
1264
1284
|
identity: undefined;
|
|
1265
1285
|
generated: undefined;
|
|
1266
1286
|
}, {}, {}>;
|
|
1267
|
-
|
|
1268
|
-
name: "
|
|
1287
|
+
renewalIndex: ponder.PgColumn<{
|
|
1288
|
+
name: "renewalIndex";
|
|
1269
1289
|
tableName: "renewals";
|
|
1270
1290
|
dataType: "number";
|
|
1271
1291
|
columnType: "PgInteger";
|
|
@@ -1418,8 +1438,8 @@ declare const latestRenewalIndex: ponder.OnchainTable<{
|
|
|
1418
1438
|
identity: undefined;
|
|
1419
1439
|
generated: undefined;
|
|
1420
1440
|
}, {}, {}>;
|
|
1421
|
-
|
|
1422
|
-
name: "
|
|
1441
|
+
renewalIndex: ponder.PgColumn<{
|
|
1442
|
+
name: "renewalIndex";
|
|
1423
1443
|
tableName: "latest_renewal_indexes";
|
|
1424
1444
|
dataType: "number";
|
|
1425
1445
|
columnType: "PgInteger";
|
|
@@ -1880,7 +1900,7 @@ declare const reverseNameRecord: ponder.OnchainTable<{
|
|
|
1880
1900
|
tableName: "reverse_name_records";
|
|
1881
1901
|
dataType: "string";
|
|
1882
1902
|
columnType: "PgText";
|
|
1883
|
-
data:
|
|
1903
|
+
data: InterpretedName;
|
|
1884
1904
|
driverParam: string;
|
|
1885
1905
|
notNull: true;
|
|
1886
1906
|
hasDefault: false;
|
|
@@ -1891,7 +1911,9 @@ declare const reverseNameRecord: ponder.OnchainTable<{
|
|
|
1891
1911
|
baseColumn: never;
|
|
1892
1912
|
identity: undefined;
|
|
1893
1913
|
generated: undefined;
|
|
1894
|
-
}, {}, {
|
|
1914
|
+
}, {}, {
|
|
1915
|
+
$type: InterpretedName;
|
|
1916
|
+
}>;
|
|
1895
1917
|
};
|
|
1896
1918
|
extra: {
|
|
1897
1919
|
pk: ponder.PrimaryKeyBuilder<"address" | "coinType">;
|
|
@@ -1988,7 +2010,7 @@ declare const domainResolverRelation: ponder.OnchainTable<{
|
|
|
1988
2010
|
}>;
|
|
1989
2011
|
};
|
|
1990
2012
|
extra: {
|
|
1991
|
-
pk: ponder.PrimaryKeyBuilder<"
|
|
2013
|
+
pk: ponder.PrimaryKeyBuilder<"chainId" | "address" | "domainId">;
|
|
1992
2014
|
};
|
|
1993
2015
|
dialect: "pg";
|
|
1994
2016
|
}>;
|
|
@@ -2169,7 +2191,7 @@ declare const resolverRecords: ponder.OnchainTable<{
|
|
|
2169
2191
|
tableName: "resolver_records";
|
|
2170
2192
|
dataType: "string";
|
|
2171
2193
|
columnType: "PgText";
|
|
2172
|
-
data:
|
|
2194
|
+
data: InterpretedName;
|
|
2173
2195
|
driverParam: string;
|
|
2174
2196
|
notNull: false;
|
|
2175
2197
|
hasDefault: false;
|
|
@@ -2180,7 +2202,96 @@ declare const resolverRecords: ponder.OnchainTable<{
|
|
|
2180
2202
|
baseColumn: never;
|
|
2181
2203
|
identity: undefined;
|
|
2182
2204
|
generated: undefined;
|
|
2205
|
+
}, {}, {
|
|
2206
|
+
$type: InterpretedName;
|
|
2207
|
+
}>;
|
|
2208
|
+
contenthash: ponder.PgColumn<{
|
|
2209
|
+
name: "contenthash";
|
|
2210
|
+
tableName: "resolver_records";
|
|
2211
|
+
dataType: "string";
|
|
2212
|
+
columnType: "PgHex";
|
|
2213
|
+
data: `0x${string}`;
|
|
2214
|
+
driverParam: string;
|
|
2215
|
+
notNull: false;
|
|
2216
|
+
hasDefault: false;
|
|
2217
|
+
isPrimaryKey: false;
|
|
2218
|
+
isAutoincrement: false;
|
|
2219
|
+
hasRuntimeDefault: false;
|
|
2220
|
+
enumValues: undefined;
|
|
2221
|
+
baseColumn: never;
|
|
2222
|
+
identity: undefined;
|
|
2223
|
+
generated: undefined;
|
|
2224
|
+
}, {}, {}>;
|
|
2225
|
+
pubkeyX: ponder.PgColumn<{
|
|
2226
|
+
name: "pubkeyX";
|
|
2227
|
+
tableName: "resolver_records";
|
|
2228
|
+
dataType: "string";
|
|
2229
|
+
columnType: "PgHex";
|
|
2230
|
+
data: `0x${string}`;
|
|
2231
|
+
driverParam: string;
|
|
2232
|
+
notNull: false;
|
|
2233
|
+
hasDefault: false;
|
|
2234
|
+
isPrimaryKey: false;
|
|
2235
|
+
isAutoincrement: false;
|
|
2236
|
+
hasRuntimeDefault: false;
|
|
2237
|
+
enumValues: undefined;
|
|
2238
|
+
baseColumn: never;
|
|
2239
|
+
identity: undefined;
|
|
2240
|
+
generated: undefined;
|
|
2183
2241
|
}, {}, {}>;
|
|
2242
|
+
pubkeyY: ponder.PgColumn<{
|
|
2243
|
+
name: "pubkeyY";
|
|
2244
|
+
tableName: "resolver_records";
|
|
2245
|
+
dataType: "string";
|
|
2246
|
+
columnType: "PgHex";
|
|
2247
|
+
data: `0x${string}`;
|
|
2248
|
+
driverParam: string;
|
|
2249
|
+
notNull: false;
|
|
2250
|
+
hasDefault: false;
|
|
2251
|
+
isPrimaryKey: false;
|
|
2252
|
+
isAutoincrement: false;
|
|
2253
|
+
hasRuntimeDefault: false;
|
|
2254
|
+
enumValues: undefined;
|
|
2255
|
+
baseColumn: never;
|
|
2256
|
+
identity: undefined;
|
|
2257
|
+
generated: undefined;
|
|
2258
|
+
}, {}, {}>;
|
|
2259
|
+
dnszonehash: ponder.PgColumn<{
|
|
2260
|
+
name: "dnszonehash";
|
|
2261
|
+
tableName: "resolver_records";
|
|
2262
|
+
dataType: "string";
|
|
2263
|
+
columnType: "PgHex";
|
|
2264
|
+
data: `0x${string}`;
|
|
2265
|
+
driverParam: string;
|
|
2266
|
+
notNull: false;
|
|
2267
|
+
hasDefault: false;
|
|
2268
|
+
isPrimaryKey: false;
|
|
2269
|
+
isAutoincrement: false;
|
|
2270
|
+
hasRuntimeDefault: false;
|
|
2271
|
+
enumValues: undefined;
|
|
2272
|
+
baseColumn: never;
|
|
2273
|
+
identity: undefined;
|
|
2274
|
+
generated: undefined;
|
|
2275
|
+
}, {}, {}>;
|
|
2276
|
+
version: ponder.PgColumn<{
|
|
2277
|
+
name: "version";
|
|
2278
|
+
tableName: "resolver_records";
|
|
2279
|
+
dataType: "bigint";
|
|
2280
|
+
columnType: "PgEvmBigint";
|
|
2281
|
+
data: bigint;
|
|
2282
|
+
driverParam: string;
|
|
2283
|
+
notNull: false;
|
|
2284
|
+
hasDefault: false;
|
|
2285
|
+
isPrimaryKey: false;
|
|
2286
|
+
isAutoincrement: false;
|
|
2287
|
+
hasRuntimeDefault: false;
|
|
2288
|
+
enumValues: undefined;
|
|
2289
|
+
baseColumn: never;
|
|
2290
|
+
identity: undefined;
|
|
2291
|
+
generated: undefined;
|
|
2292
|
+
}, {}, {
|
|
2293
|
+
$type: bigint;
|
|
2294
|
+
}>;
|
|
2184
2295
|
};
|
|
2185
2296
|
extra: {
|
|
2186
2297
|
byId: drizzle_orm_pg_core.IndexBuilder;
|
|
@@ -2296,7 +2407,7 @@ declare const resolverAddressRecord: ponder.OnchainTable<{
|
|
|
2296
2407
|
}, {}, {}>;
|
|
2297
2408
|
};
|
|
2298
2409
|
extra: {
|
|
2299
|
-
pk: ponder.PrimaryKeyBuilder<"
|
|
2410
|
+
pk: ponder.PrimaryKeyBuilder<"chainId" | "address" | "node" | "coinType">;
|
|
2300
2411
|
};
|
|
2301
2412
|
dialect: "pg";
|
|
2302
2413
|
}>;
|
|
@@ -2407,7 +2518,7 @@ declare const resolverTextRecord: ponder.OnchainTable<{
|
|
|
2407
2518
|
}, {}, {}>;
|
|
2408
2519
|
};
|
|
2409
2520
|
extra: {
|
|
2410
|
-
pk: ponder.PrimaryKeyBuilder<"
|
|
2521
|
+
pk: ponder.PrimaryKeyBuilder<"chainId" | "address" | "node" | "key">;
|
|
2411
2522
|
};
|
|
2412
2523
|
dialect: "pg";
|
|
2413
2524
|
}>;
|
|
@@ -2458,7 +2569,9 @@ declare const migratedNode: ponder.OnchainTable<{
|
|
|
2458
2569
|
baseColumn: never;
|
|
2459
2570
|
identity: undefined;
|
|
2460
2571
|
generated: undefined;
|
|
2461
|
-
}, {}, {
|
|
2572
|
+
}, {}, {
|
|
2573
|
+
$type: `0x${string}`;
|
|
2574
|
+
}>;
|
|
2462
2575
|
};
|
|
2463
2576
|
extra: undefined;
|
|
2464
2577
|
dialect: "pg";
|
|
@@ -2834,7 +2947,9 @@ declare const registrarActions: ponder.OnchainTable<{
|
|
|
2834
2947
|
baseColumn: never;
|
|
2835
2948
|
identity: undefined;
|
|
2836
2949
|
generated: undefined;
|
|
2837
|
-
}, {}, {
|
|
2950
|
+
}, {}, {
|
|
2951
|
+
$type: `0x${string}`;
|
|
2952
|
+
}>;
|
|
2838
2953
|
blockNumber: ponder.PgColumn<{
|
|
2839
2954
|
name: "blockNumber";
|
|
2840
2955
|
tableName: "registrar_actions";
|
|
@@ -3325,6 +3440,8 @@ declare const subgraph_domain: ponder.OnchainTable<{
|
|
|
3325
3440
|
}, {}, {}>;
|
|
3326
3441
|
};
|
|
3327
3442
|
extra: {
|
|
3443
|
+
byExactName: drizzle_orm_pg_core.IndexBuilder;
|
|
3444
|
+
byFuzzyName: drizzle_orm_pg_core.IndexBuilder;
|
|
3328
3445
|
byLabelhash: drizzle_orm_pg_core.IndexBuilder;
|
|
3329
3446
|
byParentId: drizzle_orm_pg_core.IndexBuilder;
|
|
3330
3447
|
byOwnerId: drizzle_orm_pg_core.IndexBuilder;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,27 @@
|
|
|
1
|
-
import { EnsIndexerPublicConfig, CrossChainIndexingStatusSnapshot } from '@ensnode/ensnode-sdk';
|
|
1
|
+
import { EnsIndexerPublicConfig, EnsDbPublicConfig, CrossChainIndexingStatusSnapshot, Unvalidated } from '@ensnode/ensnode-sdk';
|
|
2
2
|
import { NodePgDatabase } from 'drizzle-orm/node-postgres';
|
|
3
|
-
import { a as abstractEnsIndexerSchema } from './index-
|
|
3
|
+
import { a as abstractEnsIndexerSchema } from './index-DN0SGSyd.js';
|
|
4
4
|
import { e as ensNodeSchema } from './index-BHoa233Z.js';
|
|
5
5
|
import 'drizzle-orm/pg-core';
|
|
6
6
|
import 'drizzle-orm';
|
|
7
7
|
import 'ponder';
|
|
8
|
+
import 'enssdk';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Utilities for Drizzle ORM integration with ENSDb.
|
|
11
12
|
*/
|
|
12
13
|
|
|
14
|
+
/**
|
|
15
|
+
* PostgreSQL startup `options` string for ENSDb connections.
|
|
16
|
+
*
|
|
17
|
+
* Sets `search_path` so unqualified references (notably the `gin_trgm_ops`
|
|
18
|
+
* opclass from the pg_trgm extension, installed in the `ensnode` schema by
|
|
19
|
+
* migration 0001) resolve correctly at query and index-creation time.
|
|
20
|
+
*
|
|
21
|
+
* Pass via node-postgres `PoolConfig.options` (e.g. Ponder's
|
|
22
|
+
* `database.poolConfig.options`) or Drizzle's connection config.
|
|
23
|
+
*/
|
|
24
|
+
declare const ENSDB_CONNECTION_OPTIONS = "-c search_path=ensnode,public";
|
|
13
25
|
/**
|
|
14
26
|
* Abstract ENSIndexer Schema
|
|
15
27
|
*
|
|
@@ -39,6 +51,39 @@ type EnsDbSchema<ConcreteEnsIndexerSchema extends AbstractEnsIndexerSchema> = Co
|
|
|
39
51
|
*/
|
|
40
52
|
type EnsDbDrizzleClient<ConcreteEnsIndexerSchema extends AbstractEnsIndexerSchema> = NodePgDatabase<EnsDbSchema<ConcreteEnsIndexerSchema>>;
|
|
41
53
|
|
|
54
|
+
/**
|
|
55
|
+
* ENSDb Config
|
|
56
|
+
*/
|
|
57
|
+
interface EnsDbConfig {
|
|
58
|
+
/**
|
|
59
|
+
* PostgreSQL connection string for ENSDb.
|
|
60
|
+
*
|
|
61
|
+
* Guaranteed to be a valid PostgreSQL connection string with the format:
|
|
62
|
+
* `postgresql://username:password@host:port/database` or
|
|
63
|
+
* `postgres://username:password@host:port/database`
|
|
64
|
+
*/
|
|
65
|
+
ensDbUrl: string;
|
|
66
|
+
/**
|
|
67
|
+
* The name of the ENSIndexer Schema in the ENSDb instance.
|
|
68
|
+
*
|
|
69
|
+
* Guaranteed to be a non-empty string that is
|
|
70
|
+
* a valid Postgres database schema identifier
|
|
71
|
+
*/
|
|
72
|
+
ensIndexerSchemaName: string;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* ENSDb Schema Checksum
|
|
76
|
+
*
|
|
77
|
+
* Checksum representing the ENSDb Schema definition, which is a combination of
|
|
78
|
+
* - the ENSIndexer Schema definition, and
|
|
79
|
+
* - the ENSNode Schema definition.
|
|
80
|
+
*
|
|
81
|
+
* This checksum can be used to verify compatibility between
|
|
82
|
+
* the ENSDb Schema definition expected by any client app connecting to ENSDb
|
|
83
|
+
* instance and the actual ENSDb Schema definition present in ENSDb SDK.
|
|
84
|
+
*/
|
|
85
|
+
declare const ENSDB_SCHEMA_CHECKSUM: string;
|
|
86
|
+
|
|
42
87
|
/**
|
|
43
88
|
* ENSDb Reader
|
|
44
89
|
*
|
|
@@ -118,6 +163,10 @@ declare class EnsDbReader<ConcreteEnsIndexerSchema extends AbstractEnsIndexerSch
|
|
|
118
163
|
* @returns the existing record, or `undefined`.
|
|
119
164
|
*/
|
|
120
165
|
getEnsIndexerPublicConfig(): Promise<EnsIndexerPublicConfig | undefined>;
|
|
166
|
+
/**
|
|
167
|
+
* Build ENSDb Public Config
|
|
168
|
+
*/
|
|
169
|
+
buildEnsDbPublicConfig(): Promise<EnsDbPublicConfig>;
|
|
121
170
|
/**
|
|
122
171
|
* Get Indexing Status Snapshot
|
|
123
172
|
*
|
|
@@ -133,6 +182,19 @@ declare class EnsDbReader<ConcreteEnsIndexerSchema extends AbstractEnsIndexerSch
|
|
|
133
182
|
* 'ensIndexerSchemaName' and 'key')
|
|
134
183
|
*/
|
|
135
184
|
private getEnsNodeMetadata;
|
|
185
|
+
/**
|
|
186
|
+
* Get PostgreSQL version for the server hosting the ENSDb instance.
|
|
187
|
+
*
|
|
188
|
+
* @throws when the version cannot be retrieved or parsed from the query result.
|
|
189
|
+
*/
|
|
190
|
+
private getPostgresVersion;
|
|
191
|
+
/**
|
|
192
|
+
* Build ENSDb version info.
|
|
193
|
+
*
|
|
194
|
+
* @throws when version info cannot be retrieved or parsed from
|
|
195
|
+
* the ENSDb instance.
|
|
196
|
+
*/
|
|
197
|
+
private buildEnsDbVersionInfo;
|
|
136
198
|
}
|
|
137
199
|
|
|
138
200
|
/**
|
|
@@ -205,4 +267,13 @@ interface EnsNodeMetadataEnsIndexerIndexingStatus {
|
|
|
205
267
|
*/
|
|
206
268
|
type EnsNodeMetadata = EnsNodeMetadataEnsDbVersion | EnsNodeMetadataEnsIndexerPublicConfig | EnsNodeMetadataEnsIndexerIndexingStatus;
|
|
207
269
|
|
|
208
|
-
|
|
270
|
+
/**
|
|
271
|
+
* Validate ENSDb config
|
|
272
|
+
*
|
|
273
|
+
* @param unvalidatedConfig - Unvalidated ENSDb config
|
|
274
|
+
* @returns Valid ENSDb config
|
|
275
|
+
* @throws Error if validation fails, with details about the validation errors
|
|
276
|
+
*/
|
|
277
|
+
declare function validateEnsDbConfig(unvalidatedConfig: Unvalidated<EnsDbConfig>): EnsDbConfig;
|
|
278
|
+
|
|
279
|
+
export { ENSDB_CONNECTION_OPTIONS, ENSDB_SCHEMA_CHECKSUM, type EnsDbConfig, type EnsDbDrizzleClient, EnsDbReader, EnsDbWriter, type EnsNodeMetadata, type EnsNodeMetadataEnsDbVersion, type EnsNodeMetadataEnsIndexerIndexingStatus, type EnsNodeMetadataEnsIndexerPublicConfig, type EnsNodeMetadataKey, EnsNodeMetadataKeys, validateEnsDbConfig };
|