@ensnode/ensdb-sdk 1.9.0 → 1.10.0

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.
@@ -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 '@ensnode/ensnode-sdk';
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", "ENSv2Registry"]>;
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
- index: ponder.PgColumn<{
906
- name: "index";
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" | "ENSv2Registry";
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", "ENSv2Registry"];
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
- index: ponder.PgColumn<{
1181
- name: "index";
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
- index: ponder.PgColumn<{
1268
- name: "index";
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
- index: ponder.PgColumn<{
1422
- name: "index";
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: string;
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<"address" | "chainId" | "domainId">;
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: string;
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<"address" | "node" | "coinType" | "chainId">;
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<"address" | "node" | "key" | "chainId">;
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,10 +1,44 @@
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-CUYtpVSw.js';
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';
9
+
10
+ /**
11
+ * ENSDb Config
12
+ */
13
+ interface EnsDbConfig {
14
+ /**
15
+ * PostgreSQL connection string for ENSDb.
16
+ *
17
+ * Guaranteed to be a valid PostgreSQL connection string with the format:
18
+ * `postgresql://username:password@host:port/database` or
19
+ * `postgres://username:password@host:port/database`
20
+ */
21
+ ensDbUrl: string;
22
+ /**
23
+ * The name of the ENSIndexer Schema in the ENSDb instance.
24
+ *
25
+ * Guaranteed to be a non-empty string that is
26
+ * a valid Postgres database schema identifier
27
+ */
28
+ ensIndexerSchemaName: string;
29
+ }
30
+ /**
31
+ * ENSDb Schema Checksum
32
+ *
33
+ * Checksum representing the ENSDb Schema definition, which is a combination of
34
+ * - the ENSIndexer Schema definition, and
35
+ * - the ENSNode Schema definition.
36
+ *
37
+ * This checksum can be used to verify compatibility between
38
+ * the ENSDb Schema definition expected by any client app connecting to ENSDb
39
+ * instance and the actual ENSDb Schema definition present in ENSDb SDK.
40
+ */
41
+ declare const ENSDB_SCHEMA_CHECKSUM: string;
8
42
 
9
43
  /**
10
44
  * Utilities for Drizzle ORM integration with ENSDb.
@@ -118,6 +152,10 @@ declare class EnsDbReader<ConcreteEnsIndexerSchema extends AbstractEnsIndexerSch
118
152
  * @returns the existing record, or `undefined`.
119
153
  */
120
154
  getEnsIndexerPublicConfig(): Promise<EnsIndexerPublicConfig | undefined>;
155
+ /**
156
+ * Build ENSDb Public Config
157
+ */
158
+ buildEnsDbPublicConfig(): Promise<EnsDbPublicConfig>;
121
159
  /**
122
160
  * Get Indexing Status Snapshot
123
161
  *
@@ -133,6 +171,19 @@ declare class EnsDbReader<ConcreteEnsIndexerSchema extends AbstractEnsIndexerSch
133
171
  * 'ensIndexerSchemaName' and 'key')
134
172
  */
135
173
  private getEnsNodeMetadata;
174
+ /**
175
+ * Get PostgreSQL version for the server hosting the ENSDb instance.
176
+ *
177
+ * @throws when the version cannot be retrieved or parsed from the query result.
178
+ */
179
+ private getPostgresVersion;
180
+ /**
181
+ * Build ENSDb version info.
182
+ *
183
+ * @throws when version info cannot be retrieved or parsed from
184
+ * the ENSDb instance.
185
+ */
186
+ private buildEnsDbVersionInfo;
136
187
  }
137
188
 
138
189
  /**
@@ -205,4 +256,13 @@ interface EnsNodeMetadataEnsIndexerIndexingStatus {
205
256
  */
206
257
  type EnsNodeMetadata = EnsNodeMetadataEnsDbVersion | EnsNodeMetadataEnsIndexerPublicConfig | EnsNodeMetadataEnsIndexerIndexingStatus;
207
258
 
208
- export { type EnsDbDrizzleClient, EnsDbReader, EnsDbWriter, type EnsNodeMetadata, type EnsNodeMetadataEnsDbVersion, type EnsNodeMetadataEnsIndexerIndexingStatus, type EnsNodeMetadataEnsIndexerPublicConfig, type EnsNodeMetadataKey, EnsNodeMetadataKeys };
259
+ /**
260
+ * Validate ENSDb config
261
+ *
262
+ * @param unvalidatedConfig - Unvalidated ENSDb config
263
+ * @returns Valid ENSDb config
264
+ * @throws Error if validation fails, with details about the validation errors
265
+ */
266
+ declare function validateEnsDbConfig(unvalidatedConfig: Unvalidated<EnsDbConfig>): EnsDbConfig;
267
+
268
+ export { ENSDB_SCHEMA_CHECKSUM, type EnsDbConfig, type EnsDbDrizzleClient, EnsDbReader, EnsDbWriter, type EnsNodeMetadata, type EnsNodeMetadataEnsDbVersion, type EnsNodeMetadataEnsIndexerIndexingStatus, type EnsNodeMetadataEnsIndexerPublicConfig, type EnsNodeMetadataKey, EnsNodeMetadataKeys, validateEnsDbConfig };