@ensnode/ensnode-sdk 0.0.0-next-20260106001025 → 0.0.0-next-20260108092445

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/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
1
  import z$1, { z } from 'zod/v4';
2
2
  import { ENSNamespaceId, DatasourceName } from '@ensnode/datasources';
3
3
  export { ENSNamespaceId, ENSNamespaceIds, getENSRootChainId } from '@ensnode/datasources';
4
- import { Hex, Address, ByteArray, Hash } from 'viem';
4
+ import { Address, Hex, ByteArray, Hash } from 'viem';
5
5
  import { CoinType, EvmCoinType } from '@ensdomains/address-encoder';
6
6
  export { CoinType, EvmCoinType } from '@ensdomains/address-encoder';
7
7
  import { UnixTimestamp as UnixTimestamp$1, EncodedReferrer, ReferrerLeaderboardPageParams, ReferrerLeaderboardPage, ReferrerDetail, AwardedReferrerMetrics, AggregatedReferrerMetrics, ReferrerDetailRanked, ReferrerDetailUnranked, UnrankedReferrerMetrics, ReferralProgramRules } from '@namehash/ens-referrals';
@@ -52,6 +52,138 @@ declare const evmChainIdToCoinType: (chainId: ChainId) => CoinType;
52
52
  */
53
53
  declare const bigintToCoinType: (value: bigint) => CoinType;
54
54
 
55
+ /**
56
+ * Serialized CAIP-10 Asset ID that uniquely identifies a Registry contract.
57
+ */
58
+ type RegistryId = string & {
59
+ __brand: "RegistryContractId";
60
+ };
61
+ /**
62
+ * A Domain's Canonical Id is uint256(labelHash) with lower (right-most) 32 bits zero'd.
63
+ */
64
+ type CanonicalId = bigint;
65
+ /**
66
+ * The node that uniquely identifies an ENSv1 name.
67
+ */
68
+ type ENSv1DomainId = Node & {
69
+ __brand: "ENSv1DomainId";
70
+ };
71
+ /**
72
+ * The Serialized CAIP-19 Asset ID that uniquely identifies an ENSv2 name.
73
+ */
74
+ type ENSv2DomainId = string & {
75
+ __brand: "ENSv2DomainId";
76
+ };
77
+ /**
78
+ * A DomainId is one of ENSv1DomainId or ENSv2DomainId.
79
+ */
80
+ type DomainId = ENSv1DomainId | ENSv2DomainId;
81
+ /**
82
+ * Uniquely identifies a Permissions entity.
83
+ */
84
+ type PermissionsId = AccountIdString & {
85
+ __brand: "PermissionsId";
86
+ };
87
+ /**
88
+ * Uniquely identifies a PermissionsResource entity.
89
+ */
90
+ type PermissionsResourceId = string & {
91
+ __brand: "PermissionsResourceId";
92
+ };
93
+ /**
94
+ * Uniquely identifies a PermissionsUser entity.
95
+ */
96
+ type PermissionsUserId = string & {
97
+ __brand: "PermissionsUserId";
98
+ };
99
+ /**
100
+ * Uniquely identifies a Resolver entity.
101
+ */
102
+ type ResolverId = AccountIdString & {
103
+ __brand: "ResolverId";
104
+ };
105
+ /**
106
+ * Uniquely identifies a ResolverRecords entity.
107
+ */
108
+ type ResolverRecordsId = string & {
109
+ __brand: "ResolverRecordsId";
110
+ };
111
+ /**
112
+ * Uniquely identifies a Registration entity.
113
+ */
114
+ type RegistrationId = string & {
115
+ __brand: "RegistrationId";
116
+ };
117
+ /**
118
+ * Uniquely identifies a Renewal entity.
119
+ */
120
+ type RenewalId = string & {
121
+ __brand: "RenewalId";
122
+ };
123
+
124
+ /**
125
+ * Formats and brands an AccountId as a RegistryId.
126
+ */
127
+ declare const makeRegistryId: (accountId: AccountId) => RegistryId;
128
+ /**
129
+ * Makes an ENSv1 Domain Id given the ENSv1 Domain's `node`
130
+ */
131
+ declare const makeENSv1DomainId: (node: Node) => ENSv1DomainId;
132
+ /**
133
+ * Makes an ENSv2 Domain Id given the parent `registry` and the domain's `canonicalId`.
134
+ */
135
+ declare const makeENSv2DomainId: (registry: AccountId, canonicalId: CanonicalId) => ENSv2DomainId;
136
+ /**
137
+ * Computes a Domain's {@link CanonicalId} given its tokenId or LabelHash as `input`.
138
+ */
139
+ declare const getCanonicalId: (input: bigint | LabelHash) => CanonicalId;
140
+ /**
141
+ * Formats and brands an AccountId as a PermissionsId.
142
+ */
143
+ declare const makePermissionsId: (contract: AccountId) => PermissionsId;
144
+ /**
145
+ * Constructs a PermissionsResourceId for a given `contract`'s `resource`.
146
+ */
147
+ declare const makePermissionsResourceId: (contract: AccountId, resource: bigint) => PermissionsResourceId;
148
+ /**
149
+ * Constructs a PermissionsUserId for a given `contract`'s `resource`'s `user`.
150
+ */
151
+ declare const makePermissionsUserId: (contract: AccountId, resource: bigint, user: Address) => PermissionsUserId;
152
+ /**
153
+ * Formats and brands an AccountId as a ResolverId.
154
+ */
155
+ declare const makeResolverId: (contract: AccountId) => ResolverId;
156
+ /**
157
+ * Constructs a ResolverRecordsId for a given `node` under `resolver`.
158
+ */
159
+ declare const makeResolverRecordsId: (resolver: AccountId, node: Node) => ResolverRecordsId;
160
+ /**
161
+ * Constructs a RegistrationId for a `domainId`'s latest Registration.
162
+ *
163
+ * @dev See apps/ensindexer/src/lib/ensv2/registration-db-helpers.ts for more info.
164
+ */
165
+ declare const makeLatestRegistrationId: (domainId: DomainId) => RegistrationId;
166
+ /**
167
+ * Constructs a RegistrationId for a `domainId`'s `index`'thd Registration.
168
+ *
169
+ * @dev See apps/ensindexer/src/lib/ensv2/registration-db-helpers.ts for more info.
170
+ */
171
+ declare const makeRegistrationId: (domainId: DomainId, index?: number) => RegistrationId;
172
+ /**
173
+ * Constructs a RenewalId for a `domainId`'s `registrationIndex`thd Registration's latest Renewal.
174
+ *
175
+ * @dev Forces usage of the 'pinned' RegistrationId to avoid collisions, see
176
+ * apps/ensindexer/src/lib/ensv2/registration-db-helpers.ts for more info.
177
+ */
178
+ declare const makeLatestRenewalId: (domainId: DomainId, registrationIndex: number) => RenewalId;
179
+ /**
180
+ * Constructs a RenewalId for a `domainId`'s `registrationIndex`thd Registration's `index`'thd Renewal.
181
+ *
182
+ * @dev Forces usage of the 'pinned' RegistrationId to avoid collisions, see
183
+ * apps/ensindexer/src/lib/ensv2/registration-db-helpers.ts for more info.
184
+ */
185
+ declare const makeRenewalId: (domainId: DomainId, registrationIndex: number, index?: number) => RenewalId;
186
+
55
187
  /**
56
188
  * A hash value that uniquely identifies a single ENS name.
57
189
  * Result of `namehash` function as specified in ENSIP-1.
@@ -95,6 +227,22 @@ type NormalizedName = Name & {
95
227
  * @see https://ensnode.io/docs/reference/terminology#labels-labelhashes-labelhash-function
96
228
  */
97
229
  type LabelHash = Hex;
230
+ /**
231
+ * A LabelHashPath is an ordered list of LabelHashes that uniquely identify an ENS Name.
232
+ * It is ordered in namegraph TRAVERSAL order (i.e. the opposite order of an ENS Name's labels).
233
+ *
234
+ * ex: example.eth's LabelHashPath is
235
+ * [
236
+ * '0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0', // 'eth'
237
+ * '0x6fd43e7cffc31bb581d7421c8698e29aa2bd8e7186a394b85299908b4eb9b175', // 'example'
238
+ * ]
239
+ */
240
+ type LabelHashPath = LabelHash[];
241
+ /**
242
+ * CanonicalPath is an ordered list of DomainIds describing the canonical path to a Domain.
243
+ * It is ordered in namegraph TRAVERSAL order (i.e. the opposite order of an ENS Name's labels).
244
+ */
245
+ type CanonicalPath = DomainId[];
98
246
  /**
99
247
  * A Label is a single part of an ENS Name.
100
248
  *
@@ -303,6 +451,16 @@ declare const ETH_NODE: Node;
303
451
  declare const BASENAMES_NODE: Node;
304
452
  declare const LINEANAMES_NODE: Node;
305
453
  declare const ADDR_REVERSE_NODE: Node;
454
+ /**
455
+ * NODE_ANY is a placeholder Node used in the context of DedicatedResolvers — IResolver events are
456
+ * emitted with NODE_ANY as the `node` for which the records are issued, but the DedicatedResolver
457
+ * returns those records regardless of the name used for record resolution.
458
+ */
459
+ declare const NODE_ANY: Node;
460
+ /**
461
+ * ROOT_RESOURCE represents the 'root' resource in an EnhancedAccessControl contract.
462
+ */
463
+ declare const ROOT_RESOURCE = 0n;
306
464
 
307
465
  /**
308
466
  * Decodes a DNS-Encoded name consisting of Literal Labels into an ordered list of Literal Labels.
@@ -347,6 +505,11 @@ declare const encodeLabelHash: (labelHash: LabelHash) => EncodedLabelHash;
347
505
  */
348
506
  declare function isEncodedLabelHash(maybeEncodedLabelHash: string): maybeEncodedLabelHash is EncodedLabelHash;
349
507
 
508
+ /**
509
+ * Determines whether `fuses` has set ('burnt') the PARENT_CANNOT_CONTROL fuse.
510
+ */
511
+ declare const isPccFuseSet: (fuses: number) => boolean;
512
+
350
513
  /**
351
514
  * Determines whether the Name is normalized.
352
515
  *
@@ -495,6 +658,30 @@ interface AccountId {
495
658
  chainId: ChainId;
496
659
  address: Address;
497
660
  }
661
+ /**
662
+ * An enum representing the possible CAIP-19 Asset Namespace values.
663
+ *
664
+ * @see https://chainagnostic.org/CAIPs/caip-19
665
+ */
666
+ declare const AssetNamespaces: {
667
+ readonly ERC721: "erc721";
668
+ readonly ERC1155: "erc1155";
669
+ };
670
+ type AssetNamespace = (typeof AssetNamespaces)[keyof typeof AssetNamespaces];
671
+ /**
672
+ * A uint256 value that identifies a specific NFT within a NFT contract.
673
+ */
674
+ type TokenId = bigint;
675
+ /**
676
+ * Represents an Asset in `assetNamespace` by `tokenId` in `contract`.
677
+ *
678
+ * @see https://chainagnostic.org/CAIPs/caip-19
679
+ */
680
+ interface AssetId {
681
+ assetNamespace: AssetNamespace;
682
+ contract: AccountId;
683
+ tokenId: TokenId;
684
+ }
498
685
  /**
499
686
  * Block Number
500
687
  *
@@ -585,6 +772,12 @@ type Duration = number;
585
772
  type DeepPartial<T> = {
586
773
  [P in keyof T]?: T[P] extends (infer U)[] ? DeepPartial<U>[] : T[P] extends object ? DeepPartial<T[P]> : T[P];
587
774
  };
775
+ /**
776
+ * Marks keys in K as required (not undefined) and not null.
777
+ */
778
+ type RequiredAndNotNull<T, K extends keyof T> = T & {
779
+ [P in K]-?: NonNullable<T[P]>;
780
+ };
588
781
 
589
782
  /**
590
783
  * Determines where the provided AccountId values represent the same address on the same chain.
@@ -861,20 +1054,18 @@ declare function addPrices<const PriceType extends Price = Price>(...prices: [Pr
861
1054
  * This is useful when you want to retrieve the AccountId for a contract by its name
862
1055
  * where it may or may not actually be defined for the given namespace and datasource.
863
1056
  *
864
- * @param namespaceId - The ENSNamespace identifier (e.g. 'mainnet', 'sepolia', 'holesky',
865
- * 'ens-test-env')
1057
+ * @param namespaceId - The ENSNamespace identifier (e.g. 'mainnet', 'sepolia', 'ens-test-env')
866
1058
  * @param datasourceName - The name of the Datasource to search for contractName in
867
1059
  * @param contractName - The name of the contract to retrieve
868
1060
  * @returns The AccountId of the contract with the given namespace, datasource,
869
1061
  * and contract name, or undefined if it is not found or is not a single AccountId
870
1062
  */
871
- declare const maybeGetDatasourceContract: (namespaceId: ENSNamespaceId, datasourceName: DatasourceName, contractName: string) => AccountId | undefined;
1063
+ declare const maybeGetDatasourceContract: <N extends ENSNamespaceId, D extends DatasourceName, C extends string>(namespaceId: N, datasourceName: D, contractName: C) => AccountId | undefined;
872
1064
  /**
873
1065
  * Gets the AccountId for the contract in the specified namespace, datasource, and
874
1066
  * contract name, or throws an error if it is not defined or is not a single AccountId.
875
1067
  *
876
- * @param namespaceId - The ENSNamespace identifier (e.g. 'mainnet', 'sepolia', 'holesky',
877
- * 'ens-test-env')
1068
+ * @param namespaceId - The ENSNamespace identifier (e.g. 'mainnet', 'sepolia', 'ens-test-env')
878
1069
  * @param datasourceName - The name of the Datasource to search for contractName in
879
1070
  * @param contractName - The name of the contract to retrieve
880
1071
  * @returns The AccountId of the contract with the given namespace, datasource,
@@ -882,6 +1073,10 @@ declare const maybeGetDatasourceContract: (namespaceId: ENSNamespaceId, datasour
882
1073
  * @throws Error if the contract is not found or is not a single AccountId
883
1074
  */
884
1075
  declare const getDatasourceContract: (namespaceId: ENSNamespaceId, datasourceName: DatasourceName, contractName: string) => AccountId;
1076
+ /**
1077
+ * Makes a comparator fn for `b` against the contract described by `namespace`, `datasourceName`, and `contractName`.
1078
+ */
1079
+ declare const makeContractMatcher: (namespace: ENSNamespaceId, b: AccountId) => (datasourceName: DatasourceName, contractName: string) => boolean | undefined;
885
1080
 
886
1081
  /**
887
1082
  * Duration between two moments in time.
@@ -914,6 +1109,16 @@ type UrlString = string;
914
1109
  * @see https://chainagnostic.org/CAIPs/caip-10
915
1110
  */
916
1111
  type AccountIdString = string;
1112
+ /**
1113
+ * String representation of {@link AssetId}.
1114
+ *
1115
+ * Formatted as a fully lowercase CAIP-19 AssetId.
1116
+ *
1117
+ * @see https://chainagnostic.org/CAIPs/caip-19
1118
+ * @example "eip155:1/erc721:0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85/0xaf2caa1c2ca1d027f1ac823b529d0a67cd144264b2789fa2ea4d63a67c7103cc"
1119
+ * for vitalik.eth in the eth base registrar on mainnet.
1120
+ */
1121
+ type AssetIdString = string;
917
1122
 
918
1123
  declare function deserializeChainId(maybeChainId: ChainIdString, valueLabel?: string): ChainId;
919
1124
  declare function deserializeDatetime(maybeDatetime: string, valueLabel?: string): Datetime;
@@ -928,6 +1133,104 @@ declare function deserializeBlockRef(maybeBlockRef: Partial<BlockRef>, valueLabe
928
1133
  declare function deserializeDuration(maybeDuration: unknown, valueLabel?: string): Duration;
929
1134
  declare function parseAccountId(maybeAccountId: unknown, valueLabel?: string): AccountId;
930
1135
 
1136
+ /**
1137
+ * Interprets a viem#Address. zeroAddress is interpreted as null, otherwise Address.
1138
+ */
1139
+ declare const interpretAddress: (owner: Address) => `0x${string}` | null;
1140
+
1141
+ /**
1142
+ * Interprets a name record value string and returns null if the value is interpreted as a deletion.
1143
+ *
1144
+ * The interpreted record value is either:
1145
+ * a) null, representing a non-existant or deletion of the record, or
1146
+ * b) a normalized, non-empty-string Name.
1147
+ *
1148
+ * @param value - The name record value string to interpret.
1149
+ * @returns The interpreted name string, or null if deleted.
1150
+ */
1151
+ declare function interpretNameRecordValue(value: string): NormalizedName | null;
1152
+ /**
1153
+ * Interprets an address record value string and returns null if the value is interpreted as a deletion.
1154
+ *
1155
+ * The interpreted record value is either:
1156
+ * a) null, representing a non-existant or deletion of the record, or
1157
+ * i. contains null bytes
1158
+ * ii. empty string
1159
+ * iii. empty hex (0x)
1160
+ * iv. zeroAddress
1161
+ * b) an address record value that
1162
+ * i. does not contain null bytes
1163
+ * ii. (if is an EVM address) is lowercase
1164
+ *
1165
+ * @param value - The address record value to interpret.
1166
+ * @returns The interpreted address string or null if deleted.
1167
+ */
1168
+ declare function interpretAddressRecordValue(value: string): string | null;
1169
+ /**
1170
+ * Interprets a text record key string and returns null if the key should be ignored.
1171
+ *
1172
+ * The interpreted text record key is either:
1173
+ * a) null, representing a text record key that should be ignored, or
1174
+ * i. contains null bytes
1175
+ * ii. empty string
1176
+ * b) a text record key that
1177
+ * i. does not contain null bytes
1178
+ *
1179
+ * @param value - The text record key to interpret.
1180
+ * @returns The interpreted text string or null if ignored.
1181
+ */
1182
+ declare function interpretTextRecordKey(key: string): string | null;
1183
+ /**
1184
+ * Interprets a text record value string and returns null if the value is interpreted as a deletion.
1185
+ *
1186
+ * The interpreted record value is either:
1187
+ * a) null, representing a non-existant or deletion of the record, or
1188
+ * i. contains null bytes
1189
+ * ii. empty string
1190
+ * b) a text record value that
1191
+ * i. does not contain null bytes
1192
+ *
1193
+ * @param value - The text record value to interpret.
1194
+ * @returns The interpreted text string or null if deleted.
1195
+ */
1196
+ declare function interpretTextRecordValue(value: string): string | null;
1197
+
1198
+ /**
1199
+ * Decodes a uint256-encoded-LabelHash (eg. from a tokenId) into a {@link LabelHash}.
1200
+ *
1201
+ * Remember that contracts that operate in the context of a Managed Name frequently store and operate
1202
+ * over _LabelHashes_ that represent a direct subname of a Managed Name. These contracts also frequently
1203
+ * implement ERC721 or ERC1155 to represent ownership of these Names. As such, to construct the
1204
+ * ERC721/ERC1155 tokenId, they may encode the direct subnames's LabelHash as a uint256.
1205
+ *
1206
+ * This is true for the ENSv1 BaseRegistrar, RegistrarControllers, as well as any
1207
+ * contracts forked from it (which includes Basenames' and Lineanames' implementations).
1208
+ *
1209
+ * So, in order to turn the tokenId into a LabelHash, we perform the opposite operation, decoding
1210
+ * from a uint256 into a Hex (of size 32) and cast it as our semantic {@link LabelHash} type.
1211
+ *
1212
+ * @see https://github.com/ensdomains/ens-contracts/blob/db613bc/contracts/ethregistrar/ETHRegistrarController.sol#L215
1213
+ * @see https://github.com/base/basenames/blob/1b5c1ad/src/L2/RegistrarController.sol#L488
1214
+ * @see https://github.com/Consensys/linea-ens/blob/3a4f02f/packages/linea-ens-contracts/contracts/ethregistrar/ETHRegistrarController.sol#L447
1215
+ */
1216
+ declare const interpretTokenIdAsLabelHash: (tokenId: bigint) => LabelHash;
1217
+ /**
1218
+ * Decodes a uint256-encoded-Node (eg. from a tokenId) into a {@link Node}.
1219
+ *
1220
+ * Contracts in the ENSv1 ecosystem frequently implement ERC721 or ERC1155 to represent
1221
+ * ownership of a Domain. As such, to construct the ERC721/ERC1155 tokenId, they may encode the
1222
+ * domain's {@link Node} as a uint256.
1223
+ *
1224
+ * This is true for the ENSv1 NameWrapper, as well as any contracts forked from it (which includes
1225
+ * Lineanames' implementation).
1226
+ *
1227
+ * So, in order to turn the tokenId into a Node, we perform the opposite operation, decoding
1228
+ * from a uint256 into a Hex (of size 32) and cast it as our semantic {@link Node} type.
1229
+ *
1230
+ * @see https://github.com/ensdomains/ens-contracts/blob/db613bc/contracts/wrapper/ERC1155Fuse.sol#L262
1231
+ */
1232
+ declare const interpretTokenIdAsNode: (tokenId: bigint) => Node;
1233
+
931
1234
  /**
932
1235
  * Interprets a Literal Label, producing an Interpreted Label.
933
1236
  *
@@ -970,6 +1273,17 @@ declare function interpretedLabelsToInterpretedName(labels: InterpretedLabel[]):
970
1273
  * @returns An LiteralName
971
1274
  */
972
1275
  declare function literalLabelsToLiteralName(labels: LiteralLabel[]): LiteralName;
1276
+ /**
1277
+ * Converts an Interpreted Name into a list of Interpreted Labels.
1278
+ */
1279
+ declare function interpretedNameToInterpretedLabels(name: InterpretedName): InterpretedLabel[];
1280
+ declare function encodedLabelToLabelhash(label: string): LabelHash | null;
1281
+ declare function isInterpetedLabel(label: Label): label is InterpretedLabel;
1282
+ declare function isInterpretedName(name: Name): name is InterpretedName;
1283
+ /**
1284
+ * Converts an InterpretedName into a LabelHashPath.
1285
+ */
1286
+ declare function interpretedNameToLabelHashPath(name: InterpretedName): LabelHashPath;
973
1287
 
974
1288
  /**
975
1289
  * Implements the ENS `labelhash` function for Literal Labels.
@@ -992,6 +1306,27 @@ declare const stripNullBytes: (value: string) => string;
992
1306
  */
993
1307
  declare function bigIntToNumber(n: bigint): number;
994
1308
 
1309
+ /**
1310
+ * Gets the AccountId representing the ENSv1 Registry in the selected `namespace`.
1311
+ */
1312
+ declare const getENSv1Registry: (namespace: ENSNamespaceId) => AccountId;
1313
+ /**
1314
+ * Determines whether `contract` is the ENSv1 Registry in `namespace`.
1315
+ */
1316
+ declare const isENSv1Registry: (namespace: ENSNamespaceId, contract: AccountId) => boolean;
1317
+ /**
1318
+ * Gets the AccountId representing the ENSv2 Root Registry in the selected `namespace`.
1319
+ */
1320
+ declare const getENSv2RootRegistry: (namespace: ENSNamespaceId) => AccountId;
1321
+ /**
1322
+ * Gets the RegistryId representing the ENSv2 Root Registry in the selected `namespace`.
1323
+ */
1324
+ declare const getENSv2RootRegistryId: (namespace: ENSNamespaceId) => RegistryId;
1325
+ /**
1326
+ * Determines whether `contract` is the ENSv2 Root Registry in `namespace`.
1327
+ */
1328
+ declare const isENSv2RootRegistry: (namespace: ENSNamespaceId, contract: AccountId) => boolean;
1329
+
995
1330
  /**
996
1331
  * Serializes a {@link ChainId} value into its string representation.
997
1332
  */
@@ -1020,6 +1355,14 @@ declare function serializePriceEth(price: PriceEth): SerializedPriceEth;
1020
1355
  * @see https://chainagnostic.org/CAIPs/caip-10
1021
1356
  */
1022
1357
  declare function formatAccountId(accountId: AccountId): AccountIdString;
1358
+ /**
1359
+ * Format {@link AssetId} object as a string.
1360
+ *
1361
+ * Formatted as a fully lowercase CAIP-19 AssetId.
1362
+ *
1363
+ * @see https://chainagnostic.org/CAIPs/caip-19
1364
+ */
1365
+ declare function formatAssetId({ assetNamespace, contract: { chainId, address }, tokenId, }: AssetId): AssetIdString;
1023
1366
 
1024
1367
  declare function isHttpProtocol(url: URL): boolean;
1025
1368
  declare function isWebSocketProtocol(url: URL): boolean;
@@ -1086,7 +1429,8 @@ declare enum PluginName {
1086
1429
  ThreeDNS = "threedns",
1087
1430
  ProtocolAcceleration = "protocol-acceleration",
1088
1431
  Registrars = "registrars",
1089
- TokenScope = "tokenscope"
1432
+ TokenScope = "tokenscope",
1433
+ ENSv2 = "ensv2"
1090
1434
  }
1091
1435
  /**
1092
1436
  * Version info about ENSIndexer and its dependencies.
@@ -2125,7 +2469,6 @@ declare function makeENSApiPublicConfigSchema(valueLabel?: string): z.ZodObject<
2125
2469
  namespace: z.ZodEnum<{
2126
2470
  readonly Mainnet: "mainnet";
2127
2471
  readonly Sepolia: "sepolia";
2128
- readonly Holesky: "holesky";
2129
2472
  readonly EnsTestEnv: "ens-test-env";
2130
2473
  }>;
2131
2474
  plugins: z.ZodArray<z.ZodString>;
@@ -2269,30 +2612,10 @@ interface NameTokensRequest {
2269
2612
  name?: Name;
2270
2613
  }
2271
2614
 
2272
- /**
2273
- * An enum representing the possible CAIP-19 Asset Namespace values.
2274
- */
2275
- declare const AssetNamespaces: {
2276
- readonly ERC721: "erc721";
2277
- readonly ERC1155: "erc1155";
2278
- };
2279
- type AssetNamespace = (typeof AssetNamespaces)[keyof typeof AssetNamespaces];
2280
- /**
2281
- * A uint256 value that identifies a specific NFT within a NFT contract.
2282
- */
2283
- type TokenId = bigint;
2284
2615
  /**
2285
2616
  * Serialized representation of {@link TokenId}.
2286
2617
  */
2287
2618
  type SerializedTokenId = string;
2288
- /**
2289
- * A globally unique reference to an NFT.
2290
- */
2291
- interface AssetId {
2292
- assetNamespace: AssetNamespace;
2293
- contract: AccountId;
2294
- tokenId: TokenId;
2295
- }
2296
2619
  /**
2297
2620
  * Serialized representation of {@link AssetId}.
2298
2621
  */
@@ -2300,27 +2623,13 @@ interface SerializedAssetId extends Omit<AssetId, "tokenId"> {
2300
2623
  tokenId: SerializedTokenId;
2301
2624
  }
2302
2625
  /**
2303
- * String representation of an {@link AssetId}.
2304
- *
2305
- * Formatted as a fully lowercase CAIP-19 AssetId.
2306
- *
2307
- * @see https://chainagnostic.org/CAIPs/caip-19
2308
- * @example "eip155:1/erc721:0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85/0xaf2caa1c2ca1d027f1ac823b529d0a67cd144264b2789fa2ea4d63a67c7103cc"
2309
- * for vitalik.eth in the eth base registrar on mainnet.
2310
- */
2311
- type AssetIdString = string;
2312
- /**
2313
- * Serializes {@link AssetId} object.
2626
+ * Serializes {@link AssetId} object to a structured form.
2314
2627
  */
2315
2628
  declare function serializeAssetId(assetId: AssetId): SerializedAssetId;
2316
2629
  /**
2317
2630
  * Deserialize a {@link AssetId} object.
2318
2631
  */
2319
2632
  declare function deserializeAssetId(maybeAssetId: unknown, valueLabel?: string): AssetId;
2320
- /**
2321
- * Format {@link AssetId} object as a string.
2322
- */
2323
- declare function formatAssetId(assetId: AssetId): AssetIdString;
2324
2633
  /**
2325
2634
  * Parse a stringified representation of {@link AssetId} object.
2326
2635
  */
@@ -3272,6 +3581,25 @@ interface SerializedRegistrarAction extends Omit<RegistrarAction, "pricing"> {
3272
3581
  declare function serializeRegistrarActionPricing(pricing: RegistrarActionPricing): SerializedRegistrarActionPricing;
3273
3582
  declare function serializeRegistrarAction(registrarAction: RegistrarAction): SerializedRegistrarAction;
3274
3583
 
3584
+ interface RegistrationExpiryInfo {
3585
+ expiry: bigint | null;
3586
+ gracePeriod: bigint | null;
3587
+ }
3588
+ /**
3589
+ * Returns whether Registration is expired. If the Registration includes a Grace Period, the
3590
+ * Grace Period window is considered expired.
3591
+ */
3592
+ declare function isRegistrationExpired(info: RegistrationExpiryInfo, now: bigint): boolean;
3593
+ /**
3594
+ * Returns whether Registration is fully expired. If the Registration includes a Grace Period, the
3595
+ * Grace Period window is considered NOT fully-expired.
3596
+ */
3597
+ declare function isRegistrationFullyExpired(info: RegistrationExpiryInfo, now: bigint): boolean;
3598
+ /**
3599
+ * Returns whether Registration is in grace period.
3600
+ */
3601
+ declare function isRegistrationInGracePeriod(info: RegistrationExpiryInfo, now: bigint): boolean;
3602
+
3275
3603
  declare const RECORDS_PER_PAGE_DEFAULT = 10;
3276
3604
  declare const RECORDS_PER_PAGE_MAX = 100;
3277
3605
  /**
@@ -4589,4 +4917,4 @@ declare class ClientError extends Error {
4589
4917
  static fromErrorResponse({ message, details }: ErrorResponse): ClientError;
4590
4918
  }
4591
4919
 
4592
- export { ADDR_REVERSE_NODE, ATTR_PROTOCOL_NAME, ATTR_PROTOCOL_STEP, ATTR_PROTOCOL_STEP_RESULT, type AcceleratableRequest, type AcceleratableResponse, type AccountId, type AccountIdString, type AssetId, type AssetIdString, type AssetNamespace, AssetNamespaces, BASENAMES_NODE, type BlockNumber, type BlockRef, type Blockrange, type Cache, type ChainId, type ChainIdString, type ChainIndexingConfig, type ChainIndexingConfigDefinite, type ChainIndexingConfigIndefinite, type ChainIndexingConfigTypeId, ChainIndexingConfigTypeIds, type ChainIndexingStatusId, ChainIndexingStatusIds, type ChainIndexingStatusSnapshot, type ChainIndexingStatusSnapshotBackfill, type ChainIndexingStatusSnapshotCompleted, type ChainIndexingStatusSnapshotFollowing, type ChainIndexingStatusSnapshotForOmnichainIndexingStatusSnapshotBackfill, type ChainIndexingStatusSnapshotQueued, ClientError, type ClientOptions, type ConfigResponse, type CrossChainIndexingStatusSnapshot, type CrossChainIndexingStatusSnapshotOmnichain, type CrossChainIndexingStrategyId, CrossChainIndexingStrategyIds, type CurrencyAmount, type CurrencyId, CurrencyIds, type CurrencyInfo, DEFAULT_EVM_CHAIN_ID, DEFAULT_EVM_COIN_TYPE, type DNSEncodedLiteralName, type DNSEncodedName, type DNSEncodedPartiallyInterpretedName, type Datetime, type DatetimeISO8601, type DeepPartial, type DefaultableChainId, type DomainAssetId, type Duration, type ENSApiPublicConfig, type ENSIndexerPublicConfig, type ENSIndexerVersionInfo, ENSNodeClient, ENS_ROOT, ETH_COIN_TYPE, ETH_NODE, type EncodedLabelHash, type EnsRainbowClientLabelSet, type EnsRainbowServerLabelSet, type ErrorResponse, type ForwardResolutionArgs, ForwardResolutionProtocolStep, type ForwardResolutionResult, type Identity, type IndexingStatusRequest, type IndexingStatusResponse, type IndexingStatusResponseCode, IndexingStatusResponseCodes, type IndexingStatusResponseError, type IndexingStatusResponseOk, type InterpretedLabel, type InterpretedName, LINEANAMES_NODE, type Label, type LabelHash, type LabelSetId, type LabelSetVersion, type LiteralLabel, type LiteralName, LruCache, type MultichainPrimaryNameResolutionArgs, type MultichainPrimaryNameResolutionResult, type NFTMintStatus, NFTMintStatuses, type NFTTransferEventMetadata, type NFTTransferType, NFTTransferTypes, type Name, type NameToken, type NameTokenOwnership, type NameTokenOwnershipBurned, type NameTokenOwnershipFullyOnchain, type NameTokenOwnershipNameWrapper, type NameTokenOwnershipType, NameTokenOwnershipTypes, type NameTokenOwnershipUnknown, type NameTokensRequest, type NameTokensResponse, type NameTokensResponseCode, NameTokensResponseCodes, type NameTokensResponseError, type NameTokensResponseErrorCode, NameTokensResponseErrorCodes, type NameTokensResponseErrorEnsIndexerConfigUnsupported, type NameTokensResponseErrorIndexingStatusUnsupported, type NameTokensResponseErrorNameTokensNotIndexed, type NameTokensResponseOk, type NamedIdentity, type NamedRegistrarAction, type Node, type NormalizedName, type OmnichainIndexingStatusId, OmnichainIndexingStatusIds, type OmnichainIndexingStatusSnapshot, type OmnichainIndexingStatusSnapshotBackfill, type OmnichainIndexingStatusSnapshotCompleted, type OmnichainIndexingStatusSnapshotFollowing, type OmnichainIndexingStatusSnapshotUnstarted, PROTOCOL_ATTRIBUTE_PREFIX, PluginName, type Price, type PriceDai, type PriceEth, type PriceUsdc, RECORDS_PER_PAGE_DEFAULT, RECORDS_PER_PAGE_MAX, ROOT_NODE, type RealtimeIndexingStatusProjection, type ReferrerDetailRequest, type ReferrerDetailResponse, type ReferrerDetailResponseCode, ReferrerDetailResponseCodes, type ReferrerDetailResponseError, type ReferrerDetailResponseOk, type ReferrerLeaderboardPageRequest, type ReferrerLeaderboardPageResponse, type ReferrerLeaderboardPageResponseCode, ReferrerLeaderboardPageResponseCodes, type ReferrerLeaderboardPageResponseError, type ReferrerLeaderboardPageResponseOk, type RegisteredNameTokens, type RegistrarAction, type RegistrarActionEventId, type RegistrarActionPricing, type RegistrarActionPricingAvailable, type RegistrarActionPricingUnknown, type RegistrarActionReferral, type RegistrarActionReferralAvailable, type RegistrarActionReferralNotApplicable, type RegistrarActionType, RegistrarActionTypes, type RegistrarActionsFilter, type RegistrarActionsFilterBeginTimestamp, type RegistrarActionsFilterByDecodedReferrer, type RegistrarActionsFilterBySubregistryNode, type RegistrarActionsFilterEndTimestamp, type RegistrarActionsFilterType, RegistrarActionsFilterTypes, type RegistrarActionsFilterWithEncodedReferral, type RegistrarActionsOrder, RegistrarActionsOrders, type RegistrarActionsRequest, type RegistrarActionsResponse, type RegistrarActionsResponseCode, RegistrarActionsResponseCodes, type RegistrarActionsResponseError, type RegistrarActionsResponseOk, type RegistrationLifecycle, type RegistrationLifecycleStage, type RequestPageParams, type ResolutionStatusId, ResolutionStatusIds, type ResolvePrimaryNameRequest, type ResolvePrimaryNameResponse, type ResolvePrimaryNamesRequest, type ResolvePrimaryNamesResponse, type ResolveRecordsRequest, type ResolveRecordsResponse, type ResolvedIdentity, type ResolverRecordsResponse, type ResolverRecordsResponseBase, type ResolverRecordsSelection, type ResponsePageContext, type ResponsePageContextWithNoRecords, type ResponsePageContextWithRecords, type ReverseResolutionArgs, ReverseResolutionProtocolStep, type ReverseResolutionResult, type RpcUrl, SWRCache, type SWRCacheOptions, type SerializedAggregatedReferrerMetrics, type SerializedAssetId, type SerializedAwardedReferrerMetrics, type SerializedChainIndexingStatusSnapshot, type SerializedChainIndexingStatusSnapshotBackfill, type SerializedChainIndexingStatusSnapshotCompleted, type SerializedChainIndexingStatusSnapshotFollowing, type SerializedChainIndexingStatusSnapshotQueued, type SerializedConfigResponse, type SerializedCrossChainIndexingStatusSnapshot, type SerializedCrossChainIndexingStatusSnapshotOmnichain, type SerializedCurrencyAmount, type SerializedCurrentIndexingProjectionOmnichain, type SerializedDomainAssetId, type SerializedENSApiPublicConfig, type SerializedENSIndexerPublicConfig, type SerializedENSIndexerVersionInfo, type SerializedIndexedChainIds, type SerializedIndexingStatusResponse, type SerializedIndexingStatusResponseError, type SerializedIndexingStatusResponseOk, type SerializedNameToken, type SerializedNameTokensResponse, type SerializedNameTokensResponseError, type SerializedNameTokensResponseOk, type SerializedNamedRegistrarAction, type SerializedOmnichainIndexingStatusSnapshot, type SerializedOmnichainIndexingStatusSnapshotBackfill, type SerializedOmnichainIndexingStatusSnapshotCompleted, type SerializedOmnichainIndexingStatusSnapshotFollowing, type SerializedOmnichainIndexingStatusSnapshotUnstarted, type SerializedPrice, type SerializedPriceDai, type SerializedPriceEth, type SerializedPriceUsdc, type SerializedRealtimeIndexingStatusProjection, type SerializedReferralProgramRules, type SerializedReferrerDetail, type SerializedReferrerDetailRanked, type SerializedReferrerDetailResponse, type SerializedReferrerDetailResponseError, type SerializedReferrerDetailResponseOk, type SerializedReferrerDetailUnranked, type SerializedReferrerLeaderboardPage, type SerializedReferrerLeaderboardPageResponse, type SerializedReferrerLeaderboardPageResponseError, type SerializedReferrerLeaderboardPageResponseOk, type SerializedRegisteredNameTokens, type SerializedRegistrarAction, type SerializedRegistrarActionPricing, type SerializedRegistrarActionPricingAvailable, type SerializedRegistrarActionPricingUnknown, type SerializedRegistrarActionsResponse, type SerializedRegistrarActionsResponseError, type SerializedRegistrarActionsResponseOk, type SerializedRevenueContribution, type SerializedTokenId, type SerializedUnrankedReferrerMetrics, type SubgraphInterpretedLabel, type SubgraphInterpretedName, type Subregistry, type TheGraphCannotFallbackReason, TheGraphCannotFallbackReasonSchema, type TheGraphFallback, TheGraphFallbackSchema, type TokenId, TraceableENSProtocol, type TraceableRequest, type TraceableResponse, type TracingNode, type TracingSpan, type TracingTrace, TtlCache, type UnixTimestamp, type UnknownIdentity, type UnnamedIdentity, type UnresolvedIdentity, type UrlString, accountIdEqual, addDuration, addPrices, addrReverseLabel, asLowerCaseAddress, beautifyName, bigIntToNumber, bigintToCoinType, buildAssetId, buildEnsRainbowClientLabelSet, buildLabelSetId, buildLabelSetVersion, buildPageContext, buildUnresolvedIdentity, checkChainIndexingStatusSnapshotsForOmnichainStatusSnapshotBackfill, checkChainIndexingStatusSnapshotsForOmnichainStatusSnapshotCompleted, checkChainIndexingStatusSnapshotsForOmnichainStatusSnapshotFollowing, checkChainIndexingStatusSnapshotsForOmnichainStatusSnapshotUnstarted, coinTypeReverseLabel, coinTypeToEvmChainId, createIndexingConfig, createRealtimeIndexingStatusProjection, decodeDNSEncodedLiteralName, decodeDNSEncodedName, deserializeAssetId, deserializeBlockNumber, deserializeBlockRef, deserializeBlockrange, deserializeChainId, deserializeChainIndexingStatusSnapshot, deserializeConfigResponse, deserializeCrossChainIndexingStatusSnapshot, deserializeDatetime, deserializeDuration, deserializeENSApiPublicConfig, deserializeENSIndexerPublicConfig, deserializeErrorResponse, deserializeIndexingStatusResponse, deserializeOmnichainIndexingStatusSnapshot, deserializeRealtimeIndexingStatusProjection, deserializeReferrerDetailResponse, deserializeReferrerLeaderboardPageResponse, deserializeRegistrarActionsResponse, deserializeUnixTimestamp, deserializeUrl, deserializedNameTokensResponse, durationBetween, encodeLabelHash, evmChainIdToCoinType, formatAccountId, formatAssetId, formatNFTTransferEventMetadata, getBasenamesSubregistryId, getBasenamesSubregistryManagedName, getCurrencyInfo, getDatasourceContract, getEthnamesSubregistryId, getEthnamesSubregistryManagedName, getLatestIndexedBlockRef, getLineanamesSubregistryId, getLineanamesSubregistryManagedName, getNFTTransferType, getNameHierarchy, getNameTokenOwnership, getNameWrapperAccounts, getOmnichainIndexingCursor, getOmnichainIndexingStatus, getParentNameFQDN, getResolvePrimaryNameChainIdParam, getTimestampForHighestOmnichainKnownBlock, getTimestampForLowestOmnichainStartBlock, hasNullByte, interpretedLabelsToInterpretedName, isEncodedLabelHash, isHttpProtocol, isLabelHash, isNormalizedLabel, isNormalizedName, isPriceCurrencyEqual, isPriceEqual, isRegistrarActionPricingAvailable, isRegistrarActionReferralAvailable, isResolvedIdentity, isSelectionEmpty, isSubgraphCompatible, isWebSocketProtocol, labelHashToBytes, labelhashLiteralLabel, literalLabelToInterpretedLabel, literalLabelsToInterpretedName, literalLabelsToLiteralName, makeENSApiPublicConfigSchema, makeSubdomainNode, maybeGetDatasourceContract, nameTokensPrerequisites, parseAccountId, parseAssetId, parseNonNegativeInteger, parseReverseName, priceDai, priceEth, priceUsdc, registrarActionsFilter, registrarActionsPrerequisites, reverseName, serializeAssetId, serializeChainId, serializeChainIndexingSnapshots, serializeConfigResponse, serializeCrossChainIndexingStatusSnapshotOmnichain, serializeDatetime, serializeDomainAssetId, serializeENSApiPublicConfig, serializeENSIndexerPublicConfig, serializeIndexedChainIds, serializeIndexingStatusResponse, serializeNameToken, serializeNameTokensResponse, serializeNamedRegistrarAction, serializeOmnichainIndexingStatusSnapshot, serializePrice, serializePriceEth, serializeRealtimeIndexingStatusProjection, serializeReferrerDetailResponse, serializeReferrerLeaderboardPageResponse, serializeRegisteredNameTokens, serializeRegistrarAction, serializeRegistrarActionPricing, serializeRegistrarActionsResponse, serializeUrl, sortChainStatusesByStartBlockAsc, stripNullBytes, translateDefaultableChainIdToChainId, uint256ToHex32, uniq, validateSupportedLabelSetAndVersion };
4920
+ export { ADDR_REVERSE_NODE, ATTR_PROTOCOL_NAME, ATTR_PROTOCOL_STEP, ATTR_PROTOCOL_STEP_RESULT, type AcceleratableRequest, type AcceleratableResponse, type AccountId, type AccountIdString, type AssetId, type AssetIdString, type AssetNamespace, AssetNamespaces, BASENAMES_NODE, type BlockNumber, type BlockRef, type Blockrange, type Cache, type CanonicalId, type CanonicalPath, type ChainId, type ChainIdString, type ChainIndexingConfig, type ChainIndexingConfigDefinite, type ChainIndexingConfigIndefinite, type ChainIndexingConfigTypeId, ChainIndexingConfigTypeIds, type ChainIndexingStatusId, ChainIndexingStatusIds, type ChainIndexingStatusSnapshot, type ChainIndexingStatusSnapshotBackfill, type ChainIndexingStatusSnapshotCompleted, type ChainIndexingStatusSnapshotFollowing, type ChainIndexingStatusSnapshotForOmnichainIndexingStatusSnapshotBackfill, type ChainIndexingStatusSnapshotQueued, ClientError, type ClientOptions, type ConfigResponse, type CrossChainIndexingStatusSnapshot, type CrossChainIndexingStatusSnapshotOmnichain, type CrossChainIndexingStrategyId, CrossChainIndexingStrategyIds, type CurrencyAmount, type CurrencyId, CurrencyIds, type CurrencyInfo, DEFAULT_EVM_CHAIN_ID, DEFAULT_EVM_COIN_TYPE, type DNSEncodedLiteralName, type DNSEncodedName, type DNSEncodedPartiallyInterpretedName, type Datetime, type DatetimeISO8601, type DeepPartial, type DefaultableChainId, type DomainAssetId, type DomainId, type Duration, type ENSApiPublicConfig, type ENSIndexerPublicConfig, type ENSIndexerVersionInfo, ENSNodeClient, ENS_ROOT, type ENSv1DomainId, type ENSv2DomainId, ETH_COIN_TYPE, ETH_NODE, type EncodedLabelHash, type EnsRainbowClientLabelSet, type EnsRainbowServerLabelSet, type ErrorResponse, type ForwardResolutionArgs, ForwardResolutionProtocolStep, type ForwardResolutionResult, type Identity, type IndexingStatusRequest, type IndexingStatusResponse, type IndexingStatusResponseCode, IndexingStatusResponseCodes, type IndexingStatusResponseError, type IndexingStatusResponseOk, type InterpretedLabel, type InterpretedName, LINEANAMES_NODE, type Label, type LabelHash, type LabelHashPath, type LabelSetId, type LabelSetVersion, type LiteralLabel, type LiteralName, LruCache, type MultichainPrimaryNameResolutionArgs, type MultichainPrimaryNameResolutionResult, type NFTMintStatus, NFTMintStatuses, type NFTTransferEventMetadata, type NFTTransferType, NFTTransferTypes, NODE_ANY, type Name, type NameToken, type NameTokenOwnership, type NameTokenOwnershipBurned, type NameTokenOwnershipFullyOnchain, type NameTokenOwnershipNameWrapper, type NameTokenOwnershipType, NameTokenOwnershipTypes, type NameTokenOwnershipUnknown, type NameTokensRequest, type NameTokensResponse, type NameTokensResponseCode, NameTokensResponseCodes, type NameTokensResponseError, type NameTokensResponseErrorCode, NameTokensResponseErrorCodes, type NameTokensResponseErrorEnsIndexerConfigUnsupported, type NameTokensResponseErrorIndexingStatusUnsupported, type NameTokensResponseErrorNameTokensNotIndexed, type NameTokensResponseOk, type NamedIdentity, type NamedRegistrarAction, type Node, type NormalizedName, type OmnichainIndexingStatusId, OmnichainIndexingStatusIds, type OmnichainIndexingStatusSnapshot, type OmnichainIndexingStatusSnapshotBackfill, type OmnichainIndexingStatusSnapshotCompleted, type OmnichainIndexingStatusSnapshotFollowing, type OmnichainIndexingStatusSnapshotUnstarted, PROTOCOL_ATTRIBUTE_PREFIX, type PermissionsId, type PermissionsResourceId, type PermissionsUserId, PluginName, type Price, type PriceDai, type PriceEth, type PriceUsdc, RECORDS_PER_PAGE_DEFAULT, RECORDS_PER_PAGE_MAX, ROOT_NODE, ROOT_RESOURCE, type RealtimeIndexingStatusProjection, type ReferrerDetailRequest, type ReferrerDetailResponse, type ReferrerDetailResponseCode, ReferrerDetailResponseCodes, type ReferrerDetailResponseError, type ReferrerDetailResponseOk, type ReferrerLeaderboardPageRequest, type ReferrerLeaderboardPageResponse, type ReferrerLeaderboardPageResponseCode, ReferrerLeaderboardPageResponseCodes, type ReferrerLeaderboardPageResponseError, type ReferrerLeaderboardPageResponseOk, type RegisteredNameTokens, type RegistrarAction, type RegistrarActionEventId, type RegistrarActionPricing, type RegistrarActionPricingAvailable, type RegistrarActionPricingUnknown, type RegistrarActionReferral, type RegistrarActionReferralAvailable, type RegistrarActionReferralNotApplicable, type RegistrarActionType, RegistrarActionTypes, type RegistrarActionsFilter, type RegistrarActionsFilterBeginTimestamp, type RegistrarActionsFilterByDecodedReferrer, type RegistrarActionsFilterBySubregistryNode, type RegistrarActionsFilterEndTimestamp, type RegistrarActionsFilterType, RegistrarActionsFilterTypes, type RegistrarActionsFilterWithEncodedReferral, type RegistrarActionsOrder, RegistrarActionsOrders, type RegistrarActionsRequest, type RegistrarActionsResponse, type RegistrarActionsResponseCode, RegistrarActionsResponseCodes, type RegistrarActionsResponseError, type RegistrarActionsResponseOk, type RegistrationExpiryInfo, type RegistrationId, type RegistrationLifecycle, type RegistrationLifecycleStage, type RegistryId, type RenewalId, type RequestPageParams, type RequiredAndNotNull, type ResolutionStatusId, ResolutionStatusIds, type ResolvePrimaryNameRequest, type ResolvePrimaryNameResponse, type ResolvePrimaryNamesRequest, type ResolvePrimaryNamesResponse, type ResolveRecordsRequest, type ResolveRecordsResponse, type ResolvedIdentity, type ResolverId, type ResolverRecordsId, type ResolverRecordsResponse, type ResolverRecordsResponseBase, type ResolverRecordsSelection, type ResponsePageContext, type ResponsePageContextWithNoRecords, type ResponsePageContextWithRecords, type ReverseResolutionArgs, ReverseResolutionProtocolStep, type ReverseResolutionResult, type RpcUrl, SWRCache, type SWRCacheOptions, type SerializedAggregatedReferrerMetrics, type SerializedAssetId, type SerializedAwardedReferrerMetrics, type SerializedChainIndexingStatusSnapshot, type SerializedChainIndexingStatusSnapshotBackfill, type SerializedChainIndexingStatusSnapshotCompleted, type SerializedChainIndexingStatusSnapshotFollowing, type SerializedChainIndexingStatusSnapshotQueued, type SerializedConfigResponse, type SerializedCrossChainIndexingStatusSnapshot, type SerializedCrossChainIndexingStatusSnapshotOmnichain, type SerializedCurrencyAmount, type SerializedCurrentIndexingProjectionOmnichain, type SerializedDomainAssetId, type SerializedENSApiPublicConfig, type SerializedENSIndexerPublicConfig, type SerializedENSIndexerVersionInfo, type SerializedIndexedChainIds, type SerializedIndexingStatusResponse, type SerializedIndexingStatusResponseError, type SerializedIndexingStatusResponseOk, type SerializedNameToken, type SerializedNameTokensResponse, type SerializedNameTokensResponseError, type SerializedNameTokensResponseOk, type SerializedNamedRegistrarAction, type SerializedOmnichainIndexingStatusSnapshot, type SerializedOmnichainIndexingStatusSnapshotBackfill, type SerializedOmnichainIndexingStatusSnapshotCompleted, type SerializedOmnichainIndexingStatusSnapshotFollowing, type SerializedOmnichainIndexingStatusSnapshotUnstarted, type SerializedPrice, type SerializedPriceDai, type SerializedPriceEth, type SerializedPriceUsdc, type SerializedRealtimeIndexingStatusProjection, type SerializedReferralProgramRules, type SerializedReferrerDetail, type SerializedReferrerDetailRanked, type SerializedReferrerDetailResponse, type SerializedReferrerDetailResponseError, type SerializedReferrerDetailResponseOk, type SerializedReferrerDetailUnranked, type SerializedReferrerLeaderboardPage, type SerializedReferrerLeaderboardPageResponse, type SerializedReferrerLeaderboardPageResponseError, type SerializedReferrerLeaderboardPageResponseOk, type SerializedRegisteredNameTokens, type SerializedRegistrarAction, type SerializedRegistrarActionPricing, type SerializedRegistrarActionPricingAvailable, type SerializedRegistrarActionPricingUnknown, type SerializedRegistrarActionsResponse, type SerializedRegistrarActionsResponseError, type SerializedRegistrarActionsResponseOk, type SerializedRevenueContribution, type SerializedTokenId, type SerializedUnrankedReferrerMetrics, type SubgraphInterpretedLabel, type SubgraphInterpretedName, type Subregistry, type TheGraphCannotFallbackReason, TheGraphCannotFallbackReasonSchema, type TheGraphFallback, TheGraphFallbackSchema, type TokenId, TraceableENSProtocol, type TraceableRequest, type TraceableResponse, type TracingNode, type TracingSpan, type TracingTrace, TtlCache, type UnixTimestamp, type UnknownIdentity, type UnnamedIdentity, type UnresolvedIdentity, type UrlString, accountIdEqual, addDuration, addPrices, addrReverseLabel, asLowerCaseAddress, beautifyName, bigIntToNumber, bigintToCoinType, buildAssetId, buildEnsRainbowClientLabelSet, buildLabelSetId, buildLabelSetVersion, buildPageContext, buildUnresolvedIdentity, checkChainIndexingStatusSnapshotsForOmnichainStatusSnapshotBackfill, checkChainIndexingStatusSnapshotsForOmnichainStatusSnapshotCompleted, checkChainIndexingStatusSnapshotsForOmnichainStatusSnapshotFollowing, checkChainIndexingStatusSnapshotsForOmnichainStatusSnapshotUnstarted, coinTypeReverseLabel, coinTypeToEvmChainId, createIndexingConfig, createRealtimeIndexingStatusProjection, decodeDNSEncodedLiteralName, decodeDNSEncodedName, deserializeAssetId, deserializeBlockNumber, deserializeBlockRef, deserializeBlockrange, deserializeChainId, deserializeChainIndexingStatusSnapshot, deserializeConfigResponse, deserializeCrossChainIndexingStatusSnapshot, deserializeDatetime, deserializeDuration, deserializeENSApiPublicConfig, deserializeENSIndexerPublicConfig, deserializeErrorResponse, deserializeIndexingStatusResponse, deserializeOmnichainIndexingStatusSnapshot, deserializeRealtimeIndexingStatusProjection, deserializeReferrerDetailResponse, deserializeReferrerLeaderboardPageResponse, deserializeRegistrarActionsResponse, deserializeUnixTimestamp, deserializeUrl, deserializedNameTokensResponse, durationBetween, encodeLabelHash, encodedLabelToLabelhash, evmChainIdToCoinType, formatAccountId, formatAssetId, formatNFTTransferEventMetadata, getBasenamesSubregistryId, getBasenamesSubregistryManagedName, getCanonicalId, getCurrencyInfo, getDatasourceContract, getENSv1Registry, getENSv2RootRegistry, getENSv2RootRegistryId, getEthnamesSubregistryId, getEthnamesSubregistryManagedName, getLatestIndexedBlockRef, getLineanamesSubregistryId, getLineanamesSubregistryManagedName, getNFTTransferType, getNameHierarchy, getNameTokenOwnership, getNameWrapperAccounts, getOmnichainIndexingCursor, getOmnichainIndexingStatus, getParentNameFQDN, getResolvePrimaryNameChainIdParam, getTimestampForHighestOmnichainKnownBlock, getTimestampForLowestOmnichainStartBlock, hasNullByte, interpretAddress, interpretAddressRecordValue, interpretNameRecordValue, interpretTextRecordKey, interpretTextRecordValue, interpretTokenIdAsLabelHash, interpretTokenIdAsNode, interpretedLabelsToInterpretedName, interpretedNameToInterpretedLabels, interpretedNameToLabelHashPath, isENSv1Registry, isENSv2RootRegistry, isEncodedLabelHash, isHttpProtocol, isInterpetedLabel, isInterpretedName, isLabelHash, isNormalizedLabel, isNormalizedName, isPccFuseSet, isPriceCurrencyEqual, isPriceEqual, isRegistrarActionPricingAvailable, isRegistrarActionReferralAvailable, isRegistrationExpired, isRegistrationFullyExpired, isRegistrationInGracePeriod, isResolvedIdentity, isSelectionEmpty, isSubgraphCompatible, isWebSocketProtocol, labelHashToBytes, labelhashLiteralLabel, literalLabelToInterpretedLabel, literalLabelsToInterpretedName, literalLabelsToLiteralName, makeContractMatcher, makeENSApiPublicConfigSchema, makeENSv1DomainId, makeENSv2DomainId, makeLatestRegistrationId, makeLatestRenewalId, makePermissionsId, makePermissionsResourceId, makePermissionsUserId, makeRegistrationId, makeRegistryId, makeRenewalId, makeResolverId, makeResolverRecordsId, makeSubdomainNode, maybeGetDatasourceContract, nameTokensPrerequisites, parseAccountId, parseAssetId, parseNonNegativeInteger, parseReverseName, priceDai, priceEth, priceUsdc, registrarActionsFilter, registrarActionsPrerequisites, reverseName, serializeAssetId, serializeChainId, serializeChainIndexingSnapshots, serializeConfigResponse, serializeCrossChainIndexingStatusSnapshotOmnichain, serializeDatetime, serializeDomainAssetId, serializeENSApiPublicConfig, serializeENSIndexerPublicConfig, serializeIndexedChainIds, serializeIndexingStatusResponse, serializeNameToken, serializeNameTokensResponse, serializeNamedRegistrarAction, serializeOmnichainIndexingStatusSnapshot, serializePrice, serializePriceEth, serializeRealtimeIndexingStatusProjection, serializeReferrerDetailResponse, serializeReferrerLeaderboardPageResponse, serializeRegisteredNameTokens, serializeRegistrarAction, serializeRegistrarActionPricing, serializeRegistrarActionsResponse, serializeUrl, sortChainStatusesByStartBlockAsc, stripNullBytes, translateDefaultableChainIdToChainId, uint256ToHex32, uniq, validateSupportedLabelSetAndVersion };