@ensnode/ensdb-sdk 1.15.0 → 1.15.2
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/LICENSE +1 -1
- package/dist/ensindexer-abstract/index.d.ts +1 -1
- package/dist/ensindexer-abstract/index.js +88 -22
- package/dist/ensindexer-abstract/index.js.map +1 -1
- package/dist/{index-1D8_3_7g.d.ts → index-DH9e7wPl.d.ts} +107 -8
- package/dist/index.d.ts +1 -1
- package/dist/index.js +88 -22
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as ponder from 'ponder';
|
|
2
2
|
import * as drizzle_orm from 'drizzle-orm';
|
|
3
3
|
import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
|
|
4
|
-
import { DomainId, ResolverId, ResolverRecordsId, InterpretedName, RegistryId, LabelHashPath, InterpretedLabel, PermissionsId, PermissionsResourceId, PermissionsUserId, RegistrationId, RenewalId } from 'enssdk';
|
|
4
|
+
import { DomainId, ResolverId, ResolverRecordsId, InterpretedName, RegistryId, LabelHashPath, InterpretedLabel, PermissionsId, PermissionsResourceId, PermissionsUserId, RegistrationId, RenewalId, Name } from 'enssdk';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Schema Definitions that track ENS Registry migration status for Protocol Acceleration.
|
|
@@ -361,6 +361,23 @@ declare const resolver: ponder.OnchainTable<{
|
|
|
361
361
|
}, {}, {
|
|
362
362
|
$type: `0x${string}`;
|
|
363
363
|
}>;
|
|
364
|
+
isExtended: ponder.PgColumn<{
|
|
365
|
+
name: "isExtended";
|
|
366
|
+
tableName: "resolvers";
|
|
367
|
+
dataType: "boolean";
|
|
368
|
+
columnType: "PgBoolean";
|
|
369
|
+
data: boolean;
|
|
370
|
+
driverParam: boolean;
|
|
371
|
+
notNull: true;
|
|
372
|
+
hasDefault: true;
|
|
373
|
+
isPrimaryKey: false;
|
|
374
|
+
isAutoincrement: false;
|
|
375
|
+
hasRuntimeDefault: false;
|
|
376
|
+
enumValues: undefined;
|
|
377
|
+
baseColumn: never;
|
|
378
|
+
identity: undefined;
|
|
379
|
+
generated: undefined;
|
|
380
|
+
}, {}, {}>;
|
|
364
381
|
};
|
|
365
382
|
extra: {
|
|
366
383
|
byId: drizzle_orm_pg_core.IndexBuilder;
|
|
@@ -670,15 +687,15 @@ declare const resolverAddressRecord: ponder.OnchainTable<{
|
|
|
670
687
|
name: "value";
|
|
671
688
|
tableName: "resolver_address_records";
|
|
672
689
|
dataType: "string";
|
|
673
|
-
columnType: "
|
|
674
|
-
data: string
|
|
690
|
+
columnType: "PgHex";
|
|
691
|
+
data: `0x${string}`;
|
|
675
692
|
driverParam: string;
|
|
676
693
|
notNull: true;
|
|
677
694
|
hasDefault: false;
|
|
678
695
|
isPrimaryKey: false;
|
|
679
696
|
isAutoincrement: false;
|
|
680
697
|
hasRuntimeDefault: false;
|
|
681
|
-
enumValues:
|
|
698
|
+
enumValues: undefined;
|
|
682
699
|
baseColumn: never;
|
|
683
700
|
identity: undefined;
|
|
684
701
|
generated: undefined;
|
|
@@ -6133,7 +6150,31 @@ declare const relations_registry: drizzle_orm.Relations<"registries", {
|
|
|
6133
6150
|
domainsAsSubregistry: drizzle_orm.Many<"domains">;
|
|
6134
6151
|
permissions: drizzle_orm.One<"permissions", true>;
|
|
6135
6152
|
}>;
|
|
6153
|
+
/**
|
|
6154
|
+
* Sentinel "+∞" sort value materialized into `Domain.__latestRegistrationStart` /
|
|
6155
|
+
* `__latestRegistrationExpiry` when the value is absent — a Domain with no Registration, or a
|
|
6156
|
+
* Registration that never expires. Holding those sort columns NOT NULL (absent → this sentinel)
|
|
6157
|
+
* lets REGISTRATION_*-ordered find-domains queries use a plain `(registry_id, col, id)` composite
|
|
6158
|
+
* index in both directions with a plain keyset tuple, with no NULL-placement special casing.
|
|
6159
|
+
*
|
|
6160
|
+
* @dev uint256 max — larger than every real timestamp/expiry, including the uint64-max ENSv2
|
|
6161
|
+
* "never expires" expiry. It sorts last for ASC ("oldest"/"expiring soonest") and first for DESC.
|
|
6162
|
+
*/
|
|
6163
|
+
declare const REGISTRATION_SORT_SENTINEL: bigint;
|
|
6136
6164
|
declare const domainType: ponder.OnchainEnum<["ENSv1Domain", "ENSv2Domain"]>;
|
|
6165
|
+
/**
|
|
6166
|
+
* Length cap (in code points) of the materialized `domain.__canonicalNamePrefix`. Sized for
|
|
6167
|
+
* typeahead and left-anchored search; longer (invariably spam) names truncate here and tie-break
|
|
6168
|
+
* by `id` in NAME ordering. Kept small to bound the prefix indexes.
|
|
6169
|
+
*/
|
|
6170
|
+
declare const CANONICAL_NAME_PREFIX_LENGTH = 64;
|
|
6171
|
+
/**
|
|
6172
|
+
* Truncate a Canonical Name to {@link CANONICAL_NAME_PREFIX_LENGTH} for `domain.__canonicalNamePrefix`.
|
|
6173
|
+
* Uses code-point iteration so the JS-side prefix is byte-identical to Postgres `left(text, N)`
|
|
6174
|
+
* (which counts code points), keeping the materialized column consistent across the JS and raw-SQL
|
|
6175
|
+
* write paths in `canonicality-db-helpers.ts`.
|
|
6176
|
+
*/
|
|
6177
|
+
declare function truncateCanonicalNamePrefix(name: Name | null): Name | null;
|
|
6137
6178
|
declare const domain: ponder.OnchainTable<{
|
|
6138
6179
|
name: "domains";
|
|
6139
6180
|
schema: undefined;
|
|
@@ -6343,6 +6384,25 @@ declare const domain: ponder.OnchainTable<{
|
|
|
6343
6384
|
}, {}, {
|
|
6344
6385
|
$type: InterpretedName;
|
|
6345
6386
|
}>;
|
|
6387
|
+
__canonicalNamePrefix: ponder.PgColumn<{
|
|
6388
|
+
name: "__canonical_name_prefix";
|
|
6389
|
+
tableName: "domains";
|
|
6390
|
+
dataType: "string";
|
|
6391
|
+
columnType: "PgText";
|
|
6392
|
+
data: string;
|
|
6393
|
+
driverParam: string;
|
|
6394
|
+
notNull: false;
|
|
6395
|
+
hasDefault: false;
|
|
6396
|
+
isPrimaryKey: false;
|
|
6397
|
+
isAutoincrement: false;
|
|
6398
|
+
hasRuntimeDefault: false;
|
|
6399
|
+
enumValues: [string, ...string[]];
|
|
6400
|
+
baseColumn: never;
|
|
6401
|
+
identity: undefined;
|
|
6402
|
+
generated: undefined;
|
|
6403
|
+
}, {}, {
|
|
6404
|
+
$type: string;
|
|
6405
|
+
}>;
|
|
6346
6406
|
canonicalLabelHashPath: ponder.PgColumn<{
|
|
6347
6407
|
name: "canonicalLabelHashPath";
|
|
6348
6408
|
tableName: "domains";
|
|
@@ -6470,6 +6530,40 @@ declare const domain: ponder.OnchainTable<{
|
|
|
6470
6530
|
}, {}, {
|
|
6471
6531
|
$type: `0x${string}`;
|
|
6472
6532
|
}>;
|
|
6533
|
+
__latestRegistrationStart: ponder.PgColumn<{
|
|
6534
|
+
name: "__latest_registration_start";
|
|
6535
|
+
tableName: "domains";
|
|
6536
|
+
dataType: "bigint";
|
|
6537
|
+
columnType: "PgEvmBigint";
|
|
6538
|
+
data: bigint;
|
|
6539
|
+
driverParam: string;
|
|
6540
|
+
notNull: true;
|
|
6541
|
+
hasDefault: true;
|
|
6542
|
+
isPrimaryKey: false;
|
|
6543
|
+
isAutoincrement: false;
|
|
6544
|
+
hasRuntimeDefault: false;
|
|
6545
|
+
enumValues: undefined;
|
|
6546
|
+
baseColumn: never;
|
|
6547
|
+
identity: undefined;
|
|
6548
|
+
generated: undefined;
|
|
6549
|
+
}, {}, {}>;
|
|
6550
|
+
__latestRegistrationExpiry: ponder.PgColumn<{
|
|
6551
|
+
name: "__latest_registration_expiry";
|
|
6552
|
+
tableName: "domains";
|
|
6553
|
+
dataType: "bigint";
|
|
6554
|
+
columnType: "PgEvmBigint";
|
|
6555
|
+
data: bigint;
|
|
6556
|
+
driverParam: string;
|
|
6557
|
+
notNull: true;
|
|
6558
|
+
hasDefault: true;
|
|
6559
|
+
isPrimaryKey: false;
|
|
6560
|
+
isAutoincrement: false;
|
|
6561
|
+
hasRuntimeDefault: false;
|
|
6562
|
+
enumValues: undefined;
|
|
6563
|
+
baseColumn: never;
|
|
6564
|
+
identity: undefined;
|
|
6565
|
+
generated: undefined;
|
|
6566
|
+
}, {}, {}>;
|
|
6473
6567
|
};
|
|
6474
6568
|
extra: {
|
|
6475
6569
|
byType: drizzle_orm_pg_core.IndexBuilder;
|
|
@@ -6477,12 +6571,14 @@ declare const domain: ponder.OnchainTable<{
|
|
|
6477
6571
|
byOwner: drizzle_orm_pg_core.IndexBuilder;
|
|
6478
6572
|
byLabelHash: drizzle_orm_pg_core.IndexBuilder;
|
|
6479
6573
|
byRegistryAndLabelHash: drizzle_orm_pg_core.IndexBuilder;
|
|
6480
|
-
|
|
6574
|
+
byRegistryAndCanonicalNamePrefix: drizzle_orm_pg_core.IndexBuilder;
|
|
6481
6575
|
byCanonicalNameExact: drizzle_orm_pg_core.IndexBuilder;
|
|
6482
|
-
|
|
6576
|
+
byCanonicalNamePrefixFuzzy: drizzle_orm_pg_core.IndexBuilder;
|
|
6483
6577
|
byCanonicalLabelHashPath: drizzle_orm_pg_core.IndexBuilder;
|
|
6484
6578
|
byCanonicalNode: drizzle_orm_pg_core.IndexBuilder;
|
|
6485
6579
|
byCanonicalDepth: drizzle_orm_pg_core.IndexBuilder;
|
|
6580
|
+
byRegistryAndLatestRegistrationStart: drizzle_orm_pg_core.IndexBuilder;
|
|
6581
|
+
byRegistryAndLatestRegistrationExpiry: drizzle_orm_pg_core.IndexBuilder;
|
|
6486
6582
|
};
|
|
6487
6583
|
dialect: "pg";
|
|
6488
6584
|
}>;
|
|
@@ -7445,6 +7541,8 @@ declare const label_relations: drizzle_orm.Relations<"labels", {
|
|
|
7445
7541
|
* for ENSDb, which is then used to build the ENSDb Schema for a Drizzle client for ENSDb.
|
|
7446
7542
|
*/
|
|
7447
7543
|
|
|
7544
|
+
declare const abstractEnsIndexerSchema_CANONICAL_NAME_PREFIX_LENGTH: typeof CANONICAL_NAME_PREFIX_LENGTH;
|
|
7545
|
+
declare const abstractEnsIndexerSchema_REGISTRATION_SORT_SENTINEL: typeof REGISTRATION_SORT_SENTINEL;
|
|
7448
7546
|
declare const abstractEnsIndexerSchema_account: typeof account;
|
|
7449
7547
|
declare const abstractEnsIndexerSchema_account_relations: typeof account_relations;
|
|
7450
7548
|
declare const abstractEnsIndexerSchema_domain: typeof domain;
|
|
@@ -7553,8 +7651,9 @@ declare const abstractEnsIndexerSchema_subgraph_wrappedTransfer: typeof subgraph
|
|
|
7553
7651
|
declare const abstractEnsIndexerSchema_subgraph_wrappedTransferRelations: typeof subgraph_wrappedTransferRelations;
|
|
7554
7652
|
declare const abstractEnsIndexerSchema_subregistries: typeof subregistries;
|
|
7555
7653
|
declare const abstractEnsIndexerSchema_subregistryRelations: typeof subregistryRelations;
|
|
7654
|
+
declare const abstractEnsIndexerSchema_truncateCanonicalNamePrefix: typeof truncateCanonicalNamePrefix;
|
|
7556
7655
|
declare namespace abstractEnsIndexerSchema {
|
|
7557
|
-
export { abstractEnsIndexerSchema_account as account, abstractEnsIndexerSchema_account_relations as account_relations, abstractEnsIndexerSchema_domain as domain, abstractEnsIndexerSchema_domainEvent as domainEvent, abstractEnsIndexerSchema_domainResolverRelation as domainResolverRelation, abstractEnsIndexerSchema_domainResolverRelation_relations as domainResolverRelation_relations, abstractEnsIndexerSchema_domainType as domainType, abstractEnsIndexerSchema_event as event, abstractEnsIndexerSchema_internal_registrarActionMetadata as internal_registrarActionMetadata, abstractEnsIndexerSchema_internal_registrarActionMetadataType as internal_registrarActionMetadataType, abstractEnsIndexerSchema_label as label, abstractEnsIndexerSchema_label_relations as label_relations, abstractEnsIndexerSchema_latestRegistrationIndex as latestRegistrationIndex, abstractEnsIndexerSchema_latestRegistrationIndex_relations as latestRegistrationIndex_relations, abstractEnsIndexerSchema_latestRenewalIndex as latestRenewalIndex, abstractEnsIndexerSchema_latestRenewalIndex_relations as latestRenewalIndex_relations, abstractEnsIndexerSchema_migratedNodeByNode as migratedNodeByNode, abstractEnsIndexerSchema_migratedNodeByParent as migratedNodeByParent, abstractEnsIndexerSchema_nameSales as nameSales, abstractEnsIndexerSchema_nameTokens as nameTokens, abstractEnsIndexerSchema_permissions as permissions, abstractEnsIndexerSchema_permissionsEvent as permissionsEvent, abstractEnsIndexerSchema_permissionsResource as permissionsResource, abstractEnsIndexerSchema_permissionsUser as permissionsUser, abstractEnsIndexerSchema_permissionsUserEvent as permissionsUserEvent, abstractEnsIndexerSchema_registrarActionRelations as registrarActionRelations, abstractEnsIndexerSchema_registrarActionType as registrarActionType, abstractEnsIndexerSchema_registrarActions as registrarActions, abstractEnsIndexerSchema_registration as registration, abstractEnsIndexerSchema_registrationLifecycleRelations as registrationLifecycleRelations, abstractEnsIndexerSchema_registrationLifecycles as registrationLifecycles, abstractEnsIndexerSchema_registrationType as registrationType, abstractEnsIndexerSchema_registration_relations as registration_relations, abstractEnsIndexerSchema_registry as registry, abstractEnsIndexerSchema_registryType as registryType, abstractEnsIndexerSchema_relations_domain as relations_domain, abstractEnsIndexerSchema_relations_permissions as relations_permissions, abstractEnsIndexerSchema_relations_permissionsResource as relations_permissionsResource, abstractEnsIndexerSchema_relations_permissionsUser as relations_permissionsUser, abstractEnsIndexerSchema_relations_registry as relations_registry, abstractEnsIndexerSchema_renewal as renewal, abstractEnsIndexerSchema_renewal_relations as renewal_relations, abstractEnsIndexerSchema_resolver as resolver, abstractEnsIndexerSchema_resolverAddressRecord as resolverAddressRecord, abstractEnsIndexerSchema_resolverAddressRecordRelations as resolverAddressRecordRelations, abstractEnsIndexerSchema_resolverEvent as resolverEvent, abstractEnsIndexerSchema_resolverRecords as resolverRecords, abstractEnsIndexerSchema_resolverRecords_relations as resolverRecords_relations, abstractEnsIndexerSchema_resolverTextRecord as resolverTextRecord, abstractEnsIndexerSchema_resolverTextRecordRelations as resolverTextRecordRelations, abstractEnsIndexerSchema_resolver_relations as resolver_relations, abstractEnsIndexerSchema_reverseNameRecord as reverseNameRecord, abstractEnsIndexerSchema_subgraph_abiChanged as subgraph_abiChanged, abstractEnsIndexerSchema_subgraph_abiChangedRelations as subgraph_abiChangedRelations, abstractEnsIndexerSchema_subgraph_account as subgraph_account, abstractEnsIndexerSchema_subgraph_accountRelations as subgraph_accountRelations, abstractEnsIndexerSchema_subgraph_addrChanged as subgraph_addrChanged, abstractEnsIndexerSchema_subgraph_addrChangedRelations as subgraph_addrChangedRelations, abstractEnsIndexerSchema_subgraph_authorisationChanged as subgraph_authorisationChanged, abstractEnsIndexerSchema_subgraph_authorisationChangedRelations as subgraph_authorisationChangedRelations, abstractEnsIndexerSchema_subgraph_contenthashChanged as subgraph_contenthashChanged, abstractEnsIndexerSchema_subgraph_contenthashChangedRelations as subgraph_contenthashChangedRelations, abstractEnsIndexerSchema_subgraph_domain as subgraph_domain, abstractEnsIndexerSchema_subgraph_domainRelations as subgraph_domainRelations, abstractEnsIndexerSchema_subgraph_expiryExtended as subgraph_expiryExtended, abstractEnsIndexerSchema_subgraph_expiryExtendedRelations as subgraph_expiryExtendedRelations, abstractEnsIndexerSchema_subgraph_fusesSet as subgraph_fusesSet, abstractEnsIndexerSchema_subgraph_fusesSetRelations as subgraph_fusesSetRelations, abstractEnsIndexerSchema_subgraph_interfaceChanged as subgraph_interfaceChanged, abstractEnsIndexerSchema_subgraph_interfaceChangedRelations as subgraph_interfaceChangedRelations, abstractEnsIndexerSchema_subgraph_multicoinAddrChanged as subgraph_multicoinAddrChanged, abstractEnsIndexerSchema_subgraph_multicoinAddrChangedRelations as subgraph_multicoinAddrChangedRelations, abstractEnsIndexerSchema_subgraph_nameChanged as subgraph_nameChanged, abstractEnsIndexerSchema_subgraph_nameChangedRelations as subgraph_nameChangedRelations, abstractEnsIndexerSchema_subgraph_nameRegistered as subgraph_nameRegistered, abstractEnsIndexerSchema_subgraph_nameRegisteredRelations as subgraph_nameRegisteredRelations, abstractEnsIndexerSchema_subgraph_nameRenewed as subgraph_nameRenewed, abstractEnsIndexerSchema_subgraph_nameRenewedRelations as subgraph_nameRenewedRelations, abstractEnsIndexerSchema_subgraph_nameTransferred as subgraph_nameTransferred, abstractEnsIndexerSchema_subgraph_nameTransferredRelations as subgraph_nameTransferredRelations, abstractEnsIndexerSchema_subgraph_nameUnwrapped as subgraph_nameUnwrapped, abstractEnsIndexerSchema_subgraph_nameUnwrappedRelations as subgraph_nameUnwrappedRelations, abstractEnsIndexerSchema_subgraph_nameWrapped as subgraph_nameWrapped, abstractEnsIndexerSchema_subgraph_nameWrappedRelations as subgraph_nameWrappedRelations, abstractEnsIndexerSchema_subgraph_newOwner as subgraph_newOwner, abstractEnsIndexerSchema_subgraph_newOwnerRelations as subgraph_newOwnerRelations, abstractEnsIndexerSchema_subgraph_newResolver as subgraph_newResolver, abstractEnsIndexerSchema_subgraph_newResolverRelations as subgraph_newResolverRelations, abstractEnsIndexerSchema_subgraph_newTTL as subgraph_newTTL, abstractEnsIndexerSchema_subgraph_newTTLRelations as subgraph_newTTLRelations, abstractEnsIndexerSchema_subgraph_pubkeyChanged as subgraph_pubkeyChanged, abstractEnsIndexerSchema_subgraph_pubkeyChangedRelations as subgraph_pubkeyChangedRelations, abstractEnsIndexerSchema_subgraph_registration as subgraph_registration, abstractEnsIndexerSchema_subgraph_registrationRelations as subgraph_registrationRelations, abstractEnsIndexerSchema_subgraph_resolver as subgraph_resolver, abstractEnsIndexerSchema_subgraph_resolverRelations as subgraph_resolverRelations, abstractEnsIndexerSchema_subgraph_textChanged as subgraph_textChanged, abstractEnsIndexerSchema_subgraph_textChangedRelations as subgraph_textChangedRelations, abstractEnsIndexerSchema_subgraph_transfer as subgraph_transfer, abstractEnsIndexerSchema_subgraph_transferRelations as subgraph_transferRelations, abstractEnsIndexerSchema_subgraph_versionChanged as subgraph_versionChanged, abstractEnsIndexerSchema_subgraph_versionChangedRelations as subgraph_versionChangedRelations, abstractEnsIndexerSchema_subgraph_wrappedDomain as subgraph_wrappedDomain, abstractEnsIndexerSchema_subgraph_wrappedDomainRelations as subgraph_wrappedDomainRelations, abstractEnsIndexerSchema_subgraph_wrappedTransfer as subgraph_wrappedTransfer, abstractEnsIndexerSchema_subgraph_wrappedTransferRelations as subgraph_wrappedTransferRelations, abstractEnsIndexerSchema_subregistries as subregistries, abstractEnsIndexerSchema_subregistryRelations as subregistryRelations };
|
|
7656
|
+
export { abstractEnsIndexerSchema_CANONICAL_NAME_PREFIX_LENGTH as CANONICAL_NAME_PREFIX_LENGTH, abstractEnsIndexerSchema_REGISTRATION_SORT_SENTINEL as REGISTRATION_SORT_SENTINEL, abstractEnsIndexerSchema_account as account, abstractEnsIndexerSchema_account_relations as account_relations, abstractEnsIndexerSchema_domain as domain, abstractEnsIndexerSchema_domainEvent as domainEvent, abstractEnsIndexerSchema_domainResolverRelation as domainResolverRelation, abstractEnsIndexerSchema_domainResolverRelation_relations as domainResolverRelation_relations, abstractEnsIndexerSchema_domainType as domainType, abstractEnsIndexerSchema_event as event, abstractEnsIndexerSchema_internal_registrarActionMetadata as internal_registrarActionMetadata, abstractEnsIndexerSchema_internal_registrarActionMetadataType as internal_registrarActionMetadataType, abstractEnsIndexerSchema_label as label, abstractEnsIndexerSchema_label_relations as label_relations, abstractEnsIndexerSchema_latestRegistrationIndex as latestRegistrationIndex, abstractEnsIndexerSchema_latestRegistrationIndex_relations as latestRegistrationIndex_relations, abstractEnsIndexerSchema_latestRenewalIndex as latestRenewalIndex, abstractEnsIndexerSchema_latestRenewalIndex_relations as latestRenewalIndex_relations, abstractEnsIndexerSchema_migratedNodeByNode as migratedNodeByNode, abstractEnsIndexerSchema_migratedNodeByParent as migratedNodeByParent, abstractEnsIndexerSchema_nameSales as nameSales, abstractEnsIndexerSchema_nameTokens as nameTokens, abstractEnsIndexerSchema_permissions as permissions, abstractEnsIndexerSchema_permissionsEvent as permissionsEvent, abstractEnsIndexerSchema_permissionsResource as permissionsResource, abstractEnsIndexerSchema_permissionsUser as permissionsUser, abstractEnsIndexerSchema_permissionsUserEvent as permissionsUserEvent, abstractEnsIndexerSchema_registrarActionRelations as registrarActionRelations, abstractEnsIndexerSchema_registrarActionType as registrarActionType, abstractEnsIndexerSchema_registrarActions as registrarActions, abstractEnsIndexerSchema_registration as registration, abstractEnsIndexerSchema_registrationLifecycleRelations as registrationLifecycleRelations, abstractEnsIndexerSchema_registrationLifecycles as registrationLifecycles, abstractEnsIndexerSchema_registrationType as registrationType, abstractEnsIndexerSchema_registration_relations as registration_relations, abstractEnsIndexerSchema_registry as registry, abstractEnsIndexerSchema_registryType as registryType, abstractEnsIndexerSchema_relations_domain as relations_domain, abstractEnsIndexerSchema_relations_permissions as relations_permissions, abstractEnsIndexerSchema_relations_permissionsResource as relations_permissionsResource, abstractEnsIndexerSchema_relations_permissionsUser as relations_permissionsUser, abstractEnsIndexerSchema_relations_registry as relations_registry, abstractEnsIndexerSchema_renewal as renewal, abstractEnsIndexerSchema_renewal_relations as renewal_relations, abstractEnsIndexerSchema_resolver as resolver, abstractEnsIndexerSchema_resolverAddressRecord as resolverAddressRecord, abstractEnsIndexerSchema_resolverAddressRecordRelations as resolverAddressRecordRelations, abstractEnsIndexerSchema_resolverEvent as resolverEvent, abstractEnsIndexerSchema_resolverRecords as resolverRecords, abstractEnsIndexerSchema_resolverRecords_relations as resolverRecords_relations, abstractEnsIndexerSchema_resolverTextRecord as resolverTextRecord, abstractEnsIndexerSchema_resolverTextRecordRelations as resolverTextRecordRelations, abstractEnsIndexerSchema_resolver_relations as resolver_relations, abstractEnsIndexerSchema_reverseNameRecord as reverseNameRecord, abstractEnsIndexerSchema_subgraph_abiChanged as subgraph_abiChanged, abstractEnsIndexerSchema_subgraph_abiChangedRelations as subgraph_abiChangedRelations, abstractEnsIndexerSchema_subgraph_account as subgraph_account, abstractEnsIndexerSchema_subgraph_accountRelations as subgraph_accountRelations, abstractEnsIndexerSchema_subgraph_addrChanged as subgraph_addrChanged, abstractEnsIndexerSchema_subgraph_addrChangedRelations as subgraph_addrChangedRelations, abstractEnsIndexerSchema_subgraph_authorisationChanged as subgraph_authorisationChanged, abstractEnsIndexerSchema_subgraph_authorisationChangedRelations as subgraph_authorisationChangedRelations, abstractEnsIndexerSchema_subgraph_contenthashChanged as subgraph_contenthashChanged, abstractEnsIndexerSchema_subgraph_contenthashChangedRelations as subgraph_contenthashChangedRelations, abstractEnsIndexerSchema_subgraph_domain as subgraph_domain, abstractEnsIndexerSchema_subgraph_domainRelations as subgraph_domainRelations, abstractEnsIndexerSchema_subgraph_expiryExtended as subgraph_expiryExtended, abstractEnsIndexerSchema_subgraph_expiryExtendedRelations as subgraph_expiryExtendedRelations, abstractEnsIndexerSchema_subgraph_fusesSet as subgraph_fusesSet, abstractEnsIndexerSchema_subgraph_fusesSetRelations as subgraph_fusesSetRelations, abstractEnsIndexerSchema_subgraph_interfaceChanged as subgraph_interfaceChanged, abstractEnsIndexerSchema_subgraph_interfaceChangedRelations as subgraph_interfaceChangedRelations, abstractEnsIndexerSchema_subgraph_multicoinAddrChanged as subgraph_multicoinAddrChanged, abstractEnsIndexerSchema_subgraph_multicoinAddrChangedRelations as subgraph_multicoinAddrChangedRelations, abstractEnsIndexerSchema_subgraph_nameChanged as subgraph_nameChanged, abstractEnsIndexerSchema_subgraph_nameChangedRelations as subgraph_nameChangedRelations, abstractEnsIndexerSchema_subgraph_nameRegistered as subgraph_nameRegistered, abstractEnsIndexerSchema_subgraph_nameRegisteredRelations as subgraph_nameRegisteredRelations, abstractEnsIndexerSchema_subgraph_nameRenewed as subgraph_nameRenewed, abstractEnsIndexerSchema_subgraph_nameRenewedRelations as subgraph_nameRenewedRelations, abstractEnsIndexerSchema_subgraph_nameTransferred as subgraph_nameTransferred, abstractEnsIndexerSchema_subgraph_nameTransferredRelations as subgraph_nameTransferredRelations, abstractEnsIndexerSchema_subgraph_nameUnwrapped as subgraph_nameUnwrapped, abstractEnsIndexerSchema_subgraph_nameUnwrappedRelations as subgraph_nameUnwrappedRelations, abstractEnsIndexerSchema_subgraph_nameWrapped as subgraph_nameWrapped, abstractEnsIndexerSchema_subgraph_nameWrappedRelations as subgraph_nameWrappedRelations, abstractEnsIndexerSchema_subgraph_newOwner as subgraph_newOwner, abstractEnsIndexerSchema_subgraph_newOwnerRelations as subgraph_newOwnerRelations, abstractEnsIndexerSchema_subgraph_newResolver as subgraph_newResolver, abstractEnsIndexerSchema_subgraph_newResolverRelations as subgraph_newResolverRelations, abstractEnsIndexerSchema_subgraph_newTTL as subgraph_newTTL, abstractEnsIndexerSchema_subgraph_newTTLRelations as subgraph_newTTLRelations, abstractEnsIndexerSchema_subgraph_pubkeyChanged as subgraph_pubkeyChanged, abstractEnsIndexerSchema_subgraph_pubkeyChangedRelations as subgraph_pubkeyChangedRelations, abstractEnsIndexerSchema_subgraph_registration as subgraph_registration, abstractEnsIndexerSchema_subgraph_registrationRelations as subgraph_registrationRelations, abstractEnsIndexerSchema_subgraph_resolver as subgraph_resolver, abstractEnsIndexerSchema_subgraph_resolverRelations as subgraph_resolverRelations, abstractEnsIndexerSchema_subgraph_textChanged as subgraph_textChanged, abstractEnsIndexerSchema_subgraph_textChangedRelations as subgraph_textChangedRelations, abstractEnsIndexerSchema_subgraph_transfer as subgraph_transfer, abstractEnsIndexerSchema_subgraph_transferRelations as subgraph_transferRelations, abstractEnsIndexerSchema_subgraph_versionChanged as subgraph_versionChanged, abstractEnsIndexerSchema_subgraph_versionChangedRelations as subgraph_versionChangedRelations, abstractEnsIndexerSchema_subgraph_wrappedDomain as subgraph_wrappedDomain, abstractEnsIndexerSchema_subgraph_wrappedDomainRelations as subgraph_wrappedDomainRelations, abstractEnsIndexerSchema_subgraph_wrappedTransfer as subgraph_wrappedTransfer, abstractEnsIndexerSchema_subgraph_wrappedTransferRelations as subgraph_wrappedTransferRelations, abstractEnsIndexerSchema_subregistries as subregistries, abstractEnsIndexerSchema_subregistryRelations as subregistryRelations, abstractEnsIndexerSchema_truncateCanonicalNamePrefix as truncateCanonicalNamePrefix };
|
|
7558
7657
|
}
|
|
7559
7658
|
|
|
7560
|
-
export {
|
|
7659
|
+
export { resolver_relations as $, registrarActionRelations as A, registrarActionType as B, CANONICAL_NAME_PREFIX_LENGTH as C, registrarActions as D, registration as E, registrationLifecycleRelations as F, registrationLifecycles as G, registrationType as H, registration_relations as I, registry as J, registryType as K, relations_domain as L, relations_permissions as M, relations_permissionsResource as N, relations_permissionsUser as O, relations_registry as P, renewal as Q, REGISTRATION_SORT_SENTINEL as R, renewal_relations as S, resolver as T, resolverAddressRecord as U, resolverAddressRecordRelations as V, resolverEvent as W, resolverRecords as X, resolverRecords_relations as Y, resolverTextRecord as Z, resolverTextRecordRelations as _, abstractEnsIndexerSchema as a, reverseNameRecord as a0, subgraph_abiChanged as a1, subgraph_abiChangedRelations as a2, subgraph_account as a3, subgraph_accountRelations as a4, subgraph_addrChanged as a5, subgraph_addrChangedRelations as a6, subgraph_authorisationChanged as a7, subgraph_authorisationChangedRelations as a8, subgraph_contenthashChanged as a9, subgraph_newResolverRelations as aA, subgraph_newTTL as aB, subgraph_newTTLRelations as aC, subgraph_pubkeyChanged as aD, subgraph_pubkeyChangedRelations as aE, subgraph_registration as aF, subgraph_registrationRelations as aG, subgraph_resolver as aH, subgraph_resolverRelations as aI, subgraph_textChanged as aJ, subgraph_textChangedRelations as aK, subgraph_transfer as aL, subgraph_transferRelations as aM, subgraph_versionChanged as aN, subgraph_versionChangedRelations as aO, subgraph_wrappedDomain as aP, subgraph_wrappedDomainRelations as aQ, subgraph_wrappedTransfer as aR, subgraph_wrappedTransferRelations as aS, subregistries as aT, subregistryRelations as aU, truncateCanonicalNamePrefix as aV, subgraph_contenthashChangedRelations as aa, subgraph_domain as ab, subgraph_domainRelations as ac, subgraph_expiryExtended as ad, subgraph_expiryExtendedRelations as ae, subgraph_fusesSet as af, subgraph_fusesSetRelations as ag, subgraph_interfaceChanged as ah, subgraph_interfaceChangedRelations as ai, subgraph_multicoinAddrChanged as aj, subgraph_multicoinAddrChangedRelations as ak, subgraph_nameChanged as al, subgraph_nameChangedRelations as am, subgraph_nameRegistered as an, subgraph_nameRegisteredRelations as ao, subgraph_nameRenewed as ap, subgraph_nameRenewedRelations as aq, subgraph_nameTransferred as ar, subgraph_nameTransferredRelations as as, subgraph_nameUnwrapped as at, subgraph_nameUnwrappedRelations as au, subgraph_nameWrapped as av, subgraph_nameWrappedRelations as aw, subgraph_newOwner as ax, subgraph_newOwnerRelations as ay, subgraph_newResolver as az, account as b, account_relations as c, domain as d, domainEvent as e, domainResolverRelation as f, domainResolverRelation_relations as g, domainType as h, event as i, internal_registrarActionMetadata as j, internal_registrarActionMetadataType as k, label as l, label_relations as m, latestRegistrationIndex as n, latestRegistrationIndex_relations as o, latestRenewalIndex as p, latestRenewalIndex_relations as q, migratedNodeByNode as r, migratedNodeByParent as s, nameSales as t, nameTokens as u, permissions as v, permissionsEvent as w, permissionsResource as x, permissionsUser as y, permissionsUserEvent as z };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EnsDbPublicConfig, IndexingMetadataContext, IndexingMetadataContextInitialized, Unvalidated } from '@ensnode/ensnode-sdk';
|
|
2
2
|
export { IndexingMetadataContext, IndexingMetadataContextInitialized, IndexingMetadataContextStatusCodes, IndexingMetadataContextUninitialized } from '@ensnode/ensnode-sdk';
|
|
3
3
|
import { NodePgDatabase } from 'drizzle-orm/node-postgres';
|
|
4
|
-
import { a as abstractEnsIndexerSchema } from './index-
|
|
4
|
+
import { a as abstractEnsIndexerSchema } from './index-DH9e7wPl.js';
|
|
5
5
|
import { e as ensNodeSchema } from './index-BHoa233Z.js';
|
|
6
6
|
import 'ponder';
|
|
7
7
|
import 'drizzle-orm';
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,8 @@ var __export = (target, all) => {
|
|
|
7
7
|
// src/ensindexer-abstract/index.ts
|
|
8
8
|
var ensindexer_abstract_exports = {};
|
|
9
9
|
__export(ensindexer_abstract_exports, {
|
|
10
|
+
CANONICAL_NAME_PREFIX_LENGTH: () => CANONICAL_NAME_PREFIX_LENGTH,
|
|
11
|
+
REGISTRATION_SORT_SENTINEL: () => REGISTRATION_SORT_SENTINEL,
|
|
10
12
|
account: () => account,
|
|
11
13
|
account_relations: () => account_relations,
|
|
12
14
|
domain: () => domain,
|
|
@@ -114,7 +116,8 @@ __export(ensindexer_abstract_exports, {
|
|
|
114
116
|
subgraph_wrappedTransfer: () => subgraph_wrappedTransfer,
|
|
115
117
|
subgraph_wrappedTransferRelations: () => subgraph_wrappedTransferRelations,
|
|
116
118
|
subregistries: () => subregistries,
|
|
117
|
-
subregistryRelations: () => subregistryRelations
|
|
119
|
+
subregistryRelations: () => subregistryRelations,
|
|
120
|
+
truncateCanonicalNamePrefix: () => truncateCanonicalNamePrefix
|
|
118
121
|
});
|
|
119
122
|
|
|
120
123
|
// src/ensindexer-abstract/migrated-nodes.schema.ts
|
|
@@ -181,7 +184,13 @@ var resolver = onchainTable2(
|
|
|
181
184
|
// keyed by (chainId, address)
|
|
182
185
|
id: t.text().primaryKey().$type(),
|
|
183
186
|
chainId: t.int8({ mode: "number" }).notNull().$type(),
|
|
184
|
-
address: t.hex().notNull().$type()
|
|
187
|
+
address: t.hex().notNull().$type(),
|
|
188
|
+
/**
|
|
189
|
+
* Whether this Resolver implements ENSIP-10 wildcard resolution (`IExtendedResolver`,
|
|
190
|
+
* interfaceId `0x9061b923`), determined via a single `supportsInterface` RPC the first
|
|
191
|
+
* time the Resolver is observed (see `upsertResolver`).
|
|
192
|
+
*/
|
|
193
|
+
isExtended: t.boolean().notNull().default(false)
|
|
185
194
|
}),
|
|
186
195
|
(t) => ({
|
|
187
196
|
byId: uniqueIndex().on(t.chainId, t.address)
|
|
@@ -252,12 +261,12 @@ var resolverAddressRecord = onchainTable2(
|
|
|
252
261
|
// stored as BigInt
|
|
253
262
|
coinType: t.bigint().notNull(),
|
|
254
263
|
/**
|
|
255
|
-
* Represents the value of the
|
|
264
|
+
* Represents the value of the Address Record specified by ((chainId, resolver, node), coinType).
|
|
256
265
|
*
|
|
257
266
|
* The value of this field is interpreted by `interpretAddressRecordValue` — see its implementation
|
|
258
267
|
* for additional context and specific guarantees.
|
|
259
268
|
*/
|
|
260
|
-
value: t.
|
|
269
|
+
value: t.hex().notNull()
|
|
261
270
|
}),
|
|
262
271
|
(t) => ({
|
|
263
272
|
pk: primaryKey2({ columns: [t.chainId, t.address, t.node, t.coinType] })
|
|
@@ -1688,7 +1697,19 @@ var relations_registry = relations4(registry, ({ one, many }) => ({
|
|
|
1688
1697
|
references: [permissions.chainId, permissions.address]
|
|
1689
1698
|
})
|
|
1690
1699
|
}));
|
|
1700
|
+
var REGISTRATION_SORT_SENTINEL = 2n ** 256n - 1n;
|
|
1691
1701
|
var domainType = onchainEnum2("DomainType", ["ENSv1Domain", "ENSv2Domain"]);
|
|
1702
|
+
var CANONICAL_NAME_PREFIX_LENGTH = 64;
|
|
1703
|
+
function truncateCanonicalNamePrefix(name) {
|
|
1704
|
+
if (name === null) return null;
|
|
1705
|
+
let prefix = "";
|
|
1706
|
+
let count = 0;
|
|
1707
|
+
for (const codePoint of name) {
|
|
1708
|
+
prefix += codePoint;
|
|
1709
|
+
if (++count >= CANONICAL_NAME_PREFIX_LENGTH) break;
|
|
1710
|
+
}
|
|
1711
|
+
return prefix;
|
|
1712
|
+
}
|
|
1692
1713
|
var domain = onchainTable6(
|
|
1693
1714
|
"domains",
|
|
1694
1715
|
(t) => ({
|
|
@@ -1720,6 +1741,18 @@ var domain = onchainTable6(
|
|
|
1720
1741
|
* @example "vitalik.eth"
|
|
1721
1742
|
*/
|
|
1722
1743
|
canonicalName: t.text().$type(),
|
|
1744
|
+
/**
|
|
1745
|
+
* Materialized prefix of `canonicalName` (first {@link CANONICAL_NAME_PREFIX_LENGTH} code
|
|
1746
|
+
* points), NULL iff `canonical = false`. Maintained by `canonicality-db-helpers.ts`.
|
|
1747
|
+
*
|
|
1748
|
+
* Powers left-anchored / substring search (`__canonical_name_prefix LIKE 'vit%'`) and NAME
|
|
1749
|
+
* ordering without `canonical_name`'s full-length btree size hazard. The `__` prefix marks it
|
|
1750
|
+
* an internal implementation detail (mirrors `Registry.__hasChildren`); query `canonical_name`
|
|
1751
|
+
* for exact matches and display.
|
|
1752
|
+
*
|
|
1753
|
+
* @example "vitalik.eth"
|
|
1754
|
+
*/
|
|
1755
|
+
__canonicalNamePrefix: t.text("__canonical_name_prefix").$type(),
|
|
1723
1756
|
/**
|
|
1724
1757
|
* Materialized Canonical LabelHashPath, NULL iff `canonical = false`.
|
|
1725
1758
|
* Maintained by `canonicality-db-helpers.ts`.
|
|
@@ -1748,7 +1781,29 @@ var domain = onchainTable6(
|
|
|
1748
1781
|
*
|
|
1749
1782
|
* @dev the computed Node (via `namehash`) of this Domain's Canonical Name.
|
|
1750
1783
|
*/
|
|
1751
|
-
canonicalNode: t.hex().$type()
|
|
1784
|
+
canonicalNode: t.hex().$type(),
|
|
1785
|
+
/**
|
|
1786
|
+
* Materialized `start` of this Domain's latest Registration, or {@link REGISTRATION_SORT_SENTINEL}
|
|
1787
|
+
* when the Domain has no Registration. Mirror of the latest `registration.start` (see
|
|
1788
|
+
* `latestRegistrationIndex`), maintained inline by `registration-db-helpers.ts`.
|
|
1789
|
+
*
|
|
1790
|
+
* @dev Exists purely so REGISTRATION_TIMESTAMP-ordered find-domains queries can use the
|
|
1791
|
+
* `(registry_id, __latest_registration_start, id)` composite index instead of joining through
|
|
1792
|
+
* `latest_registration_indexes` → `registrations` and sorting. Held NOT NULL (absent → sentinel)
|
|
1793
|
+
* so the keyset stays a plain tuple compare with no NULL-placement special casing; see
|
|
1794
|
+
* find-domains-resolver-helpers.ts. Double-underscore prefix marks it as an internal
|
|
1795
|
+
* materialized mirror, not part of the on-chain protocol surface; the canonical (possibly null)
|
|
1796
|
+
* value lives on the Registration entity.
|
|
1797
|
+
*/
|
|
1798
|
+
__latestRegistrationStart: t.bigint("__latest_registration_start").notNull().default(REGISTRATION_SORT_SENTINEL),
|
|
1799
|
+
/**
|
|
1800
|
+
* Materialized `expiry` of this Domain's latest Registration, or {@link REGISTRATION_SORT_SENTINEL}
|
|
1801
|
+
* when the Domain has no Registration or its latest Registration never expires (effectively +∞).
|
|
1802
|
+
* Mirror of the latest `registration.expiry`, maintained inline by `registration-db-helpers.ts`.
|
|
1803
|
+
*
|
|
1804
|
+
* @dev See `__latestRegistrationStart`. Backs REGISTRATION_EXPIRY-ordered queries.
|
|
1805
|
+
*/
|
|
1806
|
+
__latestRegistrationExpiry: t.bigint("__latest_registration_expiry").notNull().default(REGISTRATION_SORT_SENTINEL)
|
|
1752
1807
|
// NOTE: Domain-Resolver Relations tracked via Protocol Acceleration plugin
|
|
1753
1808
|
}),
|
|
1754
1809
|
(t) => ({
|
|
@@ -1760,29 +1815,40 @@ var domain = onchainTable6(
|
|
|
1760
1815
|
// get-domain-by-interpreted-name.ts). The leading `registry_id` column also serves
|
|
1761
1816
|
// `WHERE registry_id = X` lookups via prefix scan.
|
|
1762
1817
|
byRegistryAndLabelHash: index5().on(t.registryId, t.labelHash),
|
|
1763
|
-
// composite for `WHERE registry_id = X ORDER BY
|
|
1764
|
-
// and other find-domains queries when ordering by NAME).
|
|
1765
|
-
//
|
|
1766
|
-
//
|
|
1767
|
-
|
|
1768
|
-
// id; this is acceptable since such names are invariably spam. Callers MUST sort by the same
|
|
1769
|
-
// expression for the planner to use this index for ordered scan.
|
|
1770
|
-
byRegistryAndCanonicalNameLeft: index5().on(
|
|
1771
|
-
t.registryId,
|
|
1772
|
-
sql2`left(${t.canonicalName}, 256)`,
|
|
1773
|
-
t.id
|
|
1774
|
-
),
|
|
1818
|
+
// composite for `WHERE registry_id = X ORDER BY __canonical_name_prefix LIMIT N` (Domain.subdomains
|
|
1819
|
+
// and other find-domains queries when ordering by NAME). The length-capped prefix keeps the
|
|
1820
|
+
// index tuple under btree's per-tuple max (~2712 bytes); 64 code points × max 4-byte UTF-8 =
|
|
1821
|
+
// 256 bytes, leaving ample room for the registry_id and id columns.
|
|
1822
|
+
byRegistryAndCanonicalNamePrefix: index5().on(t.registryId, t.__canonicalNamePrefix, t.id),
|
|
1775
1823
|
// hash index avoids the btree 8191-byte row-size hazard for spam names
|
|
1776
1824
|
byCanonicalNameExact: index5().using("hash", t.canonicalName),
|
|
1777
|
-
// GIN trigram
|
|
1778
|
-
// because passing it through `.op()` gets dropped by
|
|
1779
|
-
|
|
1825
|
+
// GIN trigram on the length-capped prefix for left-anchored (`LIKE 'vit%'`) and substring
|
|
1826
|
+
// search (inline `gin_trgm_ops` via `sql` because passing it through `.op()` gets dropped by
|
|
1827
|
+
// Ponder)
|
|
1828
|
+
byCanonicalNamePrefixFuzzy: index5().using("gin", sql2`${t.__canonicalNamePrefix} gin_trgm_ops`),
|
|
1780
1829
|
// GIN containment for `cascadeLabelHeal`'s `canonical_label_hash_path @> ARRAY[lh]` lookup
|
|
1781
1830
|
byCanonicalLabelHashPath: index5().using("gin", t.canonicalLabelHashPath),
|
|
1782
1831
|
// hash index for resolver-record → canonical-domain joins
|
|
1783
1832
|
byCanonicalNode: index5().using("hash", t.canonicalNode),
|
|
1784
1833
|
// btree for ORDER BY canonical_depth (typeahead and DEPTH-ordered browse)
|
|
1785
|
-
byCanonicalDepth: index5().on(t.canonicalDepth)
|
|
1834
|
+
byCanonicalDepth: index5().on(t.canonicalDepth),
|
|
1835
|
+
// Composites for `WHERE registry_id = X ORDER BY <latest registration value> LIMIT N`
|
|
1836
|
+
// (REGISTRATION_TIMESTAMP / REGISTRATION_EXPIRY ordering in find-domains queries). The latest
|
|
1837
|
+
// registration's start/expiry is mirrored onto the Domain row (see `__latestRegistration*`) so
|
|
1838
|
+
// the order is an index-ordered scan, not a join through `latest_registration_indexes` →
|
|
1839
|
+
// `registrations` followed by a sort. The columns are NOT NULL (absent → `REGISTRATION_SORT_SENTINEL`),
|
|
1840
|
+
// so a single plain composite per column serves both ASC and DESC (forward / backward scan) with
|
|
1841
|
+
// a plain keyset tuple — see find-domains-resolver-helpers.ts.
|
|
1842
|
+
byRegistryAndLatestRegistrationStart: index5().on(
|
|
1843
|
+
t.registryId,
|
|
1844
|
+
t.__latestRegistrationStart,
|
|
1845
|
+
t.id
|
|
1846
|
+
),
|
|
1847
|
+
byRegistryAndLatestRegistrationExpiry: index5().on(
|
|
1848
|
+
t.registryId,
|
|
1849
|
+
t.__latestRegistrationExpiry,
|
|
1850
|
+
t.id
|
|
1851
|
+
)
|
|
1786
1852
|
})
|
|
1787
1853
|
);
|
|
1788
1854
|
var relations_domain = relations4(domain, ({ one, many }) => ({
|
|
@@ -1834,7 +1900,7 @@ var registration = onchainTable6(
|
|
|
1834
1900
|
start: t.bigint().notNull(),
|
|
1835
1901
|
// may have an expiry
|
|
1836
1902
|
expiry: t.bigint(),
|
|
1837
|
-
//
|
|
1903
|
+
// may have a grace period (BaseRegistrar)
|
|
1838
1904
|
gracePeriod: t.bigint(),
|
|
1839
1905
|
// registrar AccountId
|
|
1840
1906
|
registrarChainId: t.int8({ mode: "number" }).notNull().$type(),
|