enssdk 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.
@@ -1,9 +1,20 @@
1
+ """Execution status metadata for a resolver strategy."""
2
+ type AccelerationStatus {
3
+ """Whether protocol acceleration was attempted at runtime."""
4
+ attempted: Boolean!
5
+
6
+ """Whether protocol acceleration was requested by the caller."""
7
+ requested: Boolean!
8
+ }
9
+
1
10
  """Represents an individual Account, keyed by its Address."""
2
11
  type Account {
3
12
  """An EVM Address that uniquely identifies this Account on-chain."""
4
13
  address: Address!
5
14
 
6
- """The Domains that are owned by the Account."""
15
+ """
16
+ The Domains that are owned by the Account. Ordered by the `order` argument (default: NAME, ASC). When ordering by REGISTRATION_TIMESTAMP or REGISTRATION_EXPIRY, Domains lacking that value — no Registration for REGISTRATION_TIMESTAMP; no Registration or a never-expiring one (treated as +∞) for REGISTRATION_EXPIRY — sort last when `dir: ASC` and first when `dir: DESC`.
17
+ """
7
18
  domains(after: String, before: String, first: Int, last: Int, order: DomainsOrderInput, where: AccountDomainsWhereInput): AccountDomainsConnection
8
19
 
9
20
  """
@@ -22,6 +33,15 @@ type Account {
22
33
  """The Permissions on Registries granted to this Account."""
23
34
  registryPermissions(after: String, before: String, first: Int, last: Int): AccountRegistryPermissionsConnection
24
35
 
36
+ """Resolve primary names for this Account."""
37
+ resolve(
38
+ """
39
+ When true (default), Protocol Acceleration will be conditionally used by the server to perform resolution when it is relevant. If false, Protocol Acceleration will be disabled.
40
+ @see https://ensnode.io/docs/integrate/omnigraph/protocol-acceleration
41
+ """
42
+ accelerate: Boolean = true
43
+ ): ReverseResolve!
44
+
25
45
  """The Permissions on Resolvers granted to this Account."""
26
46
  resolverPermissions(after: String, before: String, first: Int, last: Int): AccountResolverPermissionsConnection
27
47
  }
@@ -195,6 +215,11 @@ type BaseRegistrarRegistration implements Registration {
195
215
  """A UnixTimestamp indicating when this Registration was created."""
196
216
  start: BigInt!
197
217
 
218
+ """
219
+ The TokenId for this Domain in the BaseRegistrar. This is the bigint encoding of the Domain's LabelHash.
220
+ """
221
+ tokenId: BigInt!
222
+
198
223
  """
199
224
  The Unregistrant of a Registration, if exists. For ENSv2 Registrations, the protocol-emitted unregistrant address (the HCA account address if used).
200
225
  """
@@ -219,6 +244,21 @@ scalar BeautifiedName
219
244
  """BigInt represents non-fractional signed whole numeric values."""
220
245
  scalar BigInt
221
246
 
247
+ """
248
+ BinanceAddress represents a Bech32-encoded Binance Chain (BNB) address (coin type 714).
249
+ """
250
+ scalar BinanceAddress
251
+
252
+ """
253
+ BitcoinAddress represents a Base58Check-encoded Bitcoin address (coin type 0).
254
+ """
255
+ scalar BitcoinAddress
256
+
257
+ """
258
+ BitcoinCashAddress represents a CashAddr-encoded Bitcoin Cash address (coin type 145).
259
+ """
260
+ scalar BitcoinCashAddress
261
+
222
262
  """A Canonical Name, exposed in each representation we support."""
223
263
  type CanonicalName {
224
264
  """
@@ -235,9 +275,26 @@ type CanonicalName {
235
275
  """ChainId represents an enssdk#ChainId."""
236
276
  scalar ChainId
237
277
 
278
+ """
279
+ The names of chains that the Omnigraph API supports identifying by name as a syntactic convenience. The Omnigraph API supports identification of additional chains beyond this list, but those chains must be identified through other mechanisms such as `coinType` or `chainId`.
280
+ """
281
+ enum ChainName {
282
+ ARBITRUM_ONE
283
+ BASE
284
+ ETHEREUM
285
+ LINEA
286
+ OPTIMISM
287
+ SCROLL
288
+ }
289
+
238
290
  """CoinType represents an enssdk#CoinType."""
239
291
  scalar CoinType
240
292
 
293
+ """
294
+ DogecoinAddress represents a Base58Check-encoded Dogecoin address (coin type 3).
295
+ """
296
+ scalar DogecoinAddress
297
+
241
298
  """
242
299
  Represents a Domain, i.e. an individual Label within the ENS namegraph. It may or may not be Canonical. It may be an ENSv1Domain or an ENSv2Domain.
243
300
  """
@@ -257,12 +314,12 @@ interface Domain {
257
314
  label: Label!
258
315
 
259
316
  """
260
- If this is an ENSv1Domain, this is the effective owner of the Domain. If this is an ENSv2Domain, this is the on-chain owner address (the HCA account address if used).
317
+ If this is an ENSv1Domain, this is the effective owner of the Domain (derived from the Registry, the Registrar, or the NameWrapper, in that order). If this is an ENSv2Domain, this is the on-chain owner address (the HCA account address if used).
261
318
  """
262
319
  owner: Account
263
320
 
264
321
  """
265
- The Domain that this Domain's parent Registry declares as its Canonical Domain, if any. Follows a single unidirectional pointer (`Registry.canonicalDomainId`) and does NOT enforce bidirectional canonical-edge agreement: a non-canonical Domain may have a non-null `parent`, and a canonical Domain's `parent` may itself be non-canonical. Null when the parent Registry does not declare a Canonical Domain.
322
+ The Domain that this Domain's parent Registry declares as its Canonical Domain, if any. Follows a single unidirectional pointer (`Registry.canonicalDomainId`) and does NOT enforce bidirectional canonical-edge agreement: a non-canonical Domain may have a non-null `parent`, and a canonical Domain's `parent` may itself be non-canonical. Null when the parent Registry does not declare a Canonical Domain. For an UnindexedDomain (which has no Registry of its own), this reflects the wildcard-bearing ancestor's Registry — see `Domain.registry`.
266
323
  """
267
324
  parent: Domain
268
325
 
@@ -272,14 +329,25 @@ interface Domain {
272
329
  """All Registrations for a Domain, including the latest Registration."""
273
330
  registrations(after: String, before: String, first: Int, last: Int): DomainRegistrationsConnection
274
331
 
275
- """The Registry under which this Domain exists."""
332
+ """
333
+ The Registry under which this Domain exists. For an UnindexedDomain — a resolvable-but-unindexed Domain that has no Registry of its own — this is instead the Registry that manages the ancestor Domain bearing the wildcard Resolver (the same Registry encoded in its `id`).
334
+ """
276
335
  registry: Registry!
277
336
 
337
+ """Resolve protocol-level data for this Domain."""
338
+ resolve(
339
+ """
340
+ When true (default), Protocol Acceleration will be conditionally used by the server to perform resolution when it is relevant. If false, Protocol Acceleration will be disabled.
341
+ @see https://ensnode.io/docs/integrate/omnigraph/protocol-acceleration
342
+ """
343
+ accelerate: Boolean = true
344
+ ): ForwardResolve!
345
+
278
346
  """Resolver relationship metadata for this Domain."""
279
347
  resolver: DomainResolver!
280
348
 
281
349
  """
282
- All Domains that are direct descendents of this Domain in the namegraph.
350
+ All Domains that are direct descendants of this Domain in the namegraph. Ordered by the `order` argument (default: NAME, ASC). When ordering by REGISTRATION_TIMESTAMP or REGISTRATION_EXPIRY, Domains lacking that value — no Registration for REGISTRATION_TIMESTAMP; no Registration or a never-expiring one (treated as +∞) for REGISTRATION_EXPIRY — sort last when `dir: ASC` and first when `dir: DESC`.
283
351
  """
284
352
  subdomains(after: String, before: String, first: Int, last: Int, order: DomainsOrderInput, where: SubdomainsWhereInput): DomainSubdomainsConnection
285
353
 
@@ -349,6 +417,38 @@ input DomainPermissionsWhereInput {
349
417
  user: DomainPermissionsUserFilter
350
418
  }
351
419
 
420
+ """The interpreted profile of an ENS name."""
421
+ type DomainProfile {
422
+ """The interpreted addresses on the profile of an ENS name."""
423
+ addresses: ProfileAddresses
424
+
425
+ """
426
+ Interpreted avatar metadata. Returns null when the raw avatar record is unset or empty.
427
+ """
428
+ avatar: ProfileAvatar
429
+
430
+ """
431
+ The interpreted description on the profile of an ENS name, or null when unset.
432
+ """
433
+ description: String
434
+
435
+ """
436
+ The interpreted email address on the profile of an ENS name, or null when unset or invalid.
437
+ """
438
+ email: Email
439
+
440
+ """
441
+ Interpreted header metadata. Returns null when the raw header record is unset or empty.
442
+ """
443
+ header: ProfileHeader
444
+
445
+ """The interpreted social accounts on the profile of an ENS name."""
446
+ socials: ProfileSocials
447
+
448
+ """The interpreted website on the profile of an ENS name."""
449
+ website: ProfileWebsite
450
+ }
451
+
352
452
  type DomainRegistrationsConnection {
353
453
  edges: [DomainRegistrationsConnectionEdge!]!
354
454
  pageInfo: PageInfo!
@@ -366,6 +466,11 @@ type DomainResolver {
366
466
  The Resolver that this Domain has assigned, if any. NOTE that this is the Domain's _assigned_ Resolver, _not_ its _effective_ Resolver, which can only be determined by following ENS Forward Resolution and ENSIP-10. Do NOT use this Domain-Resolver relationship in isolation to resolve records, that operation is NOT ENS Forward Resolution.
367
467
  """
368
468
  assigned: Resolver
469
+
470
+ """
471
+ The Resolver that ENS Forward Resolution (ENSIP-10) lands on for this Domain — i.e. its _effective_ Resolver. Null when no active Resolver exists or the Domain is not in the Canonical Nametree.
472
+ """
473
+ effective: Resolver
369
474
  }
370
475
 
371
476
  type DomainSubdomainsConnection {
@@ -394,16 +499,29 @@ input DomainsNameFilter @oneOf {
394
499
  in: [InterpretedName!]
395
500
 
396
501
  """
397
- Prefix-match on Interpreted Name for typeahead. ex: 'vit', 'vitalik.et'. Case-insensitive (InterpretedName labels are normalized).
502
+ Prefix-match on Interpreted Name for typeahead. ex: 'vit', 'vitalik.et'. Case-insensitive (InterpretedName labels are normalized). Matched against the first 64 code points of the name; prefixes longer than 64 code points never match.
398
503
  """
399
504
  starts_with: String
400
505
  }
401
506
 
402
- """Fields by which domains can be ordered"""
507
+ """Fields by which domains can be ordered."""
403
508
  enum DomainsOrderBy {
509
+ """
510
+ Order by Canonical Name depth (number of labels); e.g. `eth` < `vitalik.eth`.
511
+ """
404
512
  DEPTH
513
+
514
+ """Order by the Domain's Canonical Name, alphabetically."""
405
515
  NAME
516
+
517
+ """
518
+ Order by the expiry of the Domain's latest Registration. A Domain that never expires (or has no Registration) is treated as +∞: it sorts last when `dir: ASC` (“expiring soonest first”) and first when `dir: DESC` (“expiring latest first”).
519
+ """
406
520
  REGISTRATION_EXPIRY
521
+
522
+ """
523
+ Order by the start time of the Domain's latest Registration. A Domain with no Registration has no timestamp and sorts last when `dir: ASC` (“oldest registered first”) and first when `dir: DESC` (“most recently registered first”).
524
+ """
407
525
  REGISTRATION_TIMESTAMP
408
526
  }
409
527
 
@@ -452,12 +570,12 @@ type ENSv1Domain implements Domain {
452
570
  node: Node!
453
571
 
454
572
  """
455
- If this is an ENSv1Domain, this is the effective owner of the Domain. If this is an ENSv2Domain, this is the on-chain owner address (the HCA account address if used).
573
+ If this is an ENSv1Domain, this is the effective owner of the Domain (derived from the Registry, the Registrar, or the NameWrapper, in that order). If this is an ENSv2Domain, this is the on-chain owner address (the HCA account address if used).
456
574
  """
457
575
  owner: Account
458
576
 
459
577
  """
460
- The Domain that this Domain's parent Registry declares as its Canonical Domain, if any. Follows a single unidirectional pointer (`Registry.canonicalDomainId`) and does NOT enforce bidirectional canonical-edge agreement: a non-canonical Domain may have a non-null `parent`, and a canonical Domain's `parent` may itself be non-canonical. Null when the parent Registry does not declare a Canonical Domain.
578
+ The Domain that this Domain's parent Registry declares as its Canonical Domain, if any. Follows a single unidirectional pointer (`Registry.canonicalDomainId`) and does NOT enforce bidirectional canonical-edge agreement: a non-canonical Domain may have a non-null `parent`, and a canonical Domain's `parent` may itself be non-canonical. Null when the parent Registry does not declare a Canonical Domain. For an UnindexedDomain (which has no Registry of its own), this reflects the wildcard-bearing ancestor's Registry — see `Domain.registry`.
461
579
  """
462
580
  parent: Domain
463
581
 
@@ -467,9 +585,20 @@ type ENSv1Domain implements Domain {
467
585
  """All Registrations for a Domain, including the latest Registration."""
468
586
  registrations(after: String, before: String, first: Int, last: Int): DomainRegistrationsConnection
469
587
 
470
- """The Registry under which this Domain exists."""
588
+ """
589
+ The Registry under which this Domain exists. For an UnindexedDomain — a resolvable-but-unindexed Domain that has no Registry of its own — this is instead the Registry that manages the ancestor Domain bearing the wildcard Resolver (the same Registry encoded in its `id`).
590
+ """
471
591
  registry: Registry!
472
592
 
593
+ """Resolve protocol-level data for this Domain."""
594
+ resolve(
595
+ """
596
+ When true (default), Protocol Acceleration will be conditionally used by the server to perform resolution when it is relevant. If false, Protocol Acceleration will be disabled.
597
+ @see https://ensnode.io/docs/integrate/omnigraph/protocol-acceleration
598
+ """
599
+ accelerate: Boolean = true
600
+ ): ForwardResolve!
601
+
473
602
  """Resolver relationship metadata for this Domain."""
474
603
  resolver: DomainResolver!
475
604
 
@@ -479,7 +608,7 @@ type ENSv1Domain implements Domain {
479
608
  rootRegistryOwner: Account
480
609
 
481
610
  """
482
- All Domains that are direct descendents of this Domain in the namegraph.
611
+ All Domains that are direct descendants of this Domain in the namegraph. Ordered by the `order` argument (default: NAME, ASC). When ordering by REGISTRATION_TIMESTAMP or REGISTRATION_EXPIRY, Domains lacking that value — no Registration for REGISTRATION_TIMESTAMP; no Registration or a never-expiring one (treated as +∞) for REGISTRATION_EXPIRY — sort last when `dir: ASC` and first when `dir: DESC`.
483
612
  """
484
613
  subdomains(after: String, before: String, first: Int, last: Int, order: DomainsOrderInput, where: SubdomainsWhereInput): DomainSubdomainsConnection
485
614
 
@@ -499,7 +628,9 @@ type ENSv1Registry implements Registry {
499
628
  """
500
629
  contract: AccountId!
501
630
 
502
- """The Domains managed by this Registry."""
631
+ """
632
+ The Domains managed by this Registry. Ordered by the `order` argument (default: NAME, ASC). When ordering by REGISTRATION_TIMESTAMP or REGISTRATION_EXPIRY, Domains lacking that value — no Registration for REGISTRATION_TIMESTAMP; no Registration or a never-expiring one (treated as +∞) for REGISTRATION_EXPIRY — sort last when `dir: ASC` and first when `dir: DESC`.
633
+ """
503
634
  domains(after: String, before: String, first: Int, last: Int, order: DomainsOrderInput, where: RegistryDomainsWhereInput): RegistryDomainsConnection
504
635
 
505
636
  """A unique reference to this Registry."""
@@ -524,7 +655,9 @@ type ENSv1VirtualRegistry implements Registry {
524
655
  """
525
656
  contract: AccountId!
526
657
 
527
- """The Domains managed by this Registry."""
658
+ """
659
+ The Domains managed by this Registry. Ordered by the `order` argument (default: NAME, ASC). When ordering by REGISTRATION_TIMESTAMP or REGISTRATION_EXPIRY, Domains lacking that value — no Registration for REGISTRATION_TIMESTAMP; no Registration or a never-expiring one (treated as +∞) for REGISTRATION_EXPIRY — sort last when `dir: ASC` and first when `dir: DESC`.
660
+ """
528
661
  domains(after: String, before: String, first: Int, last: Int, order: DomainsOrderInput, where: RegistryDomainsWhereInput): RegistryDomainsConnection
529
662
 
530
663
  """A unique reference to this Registry."""
@@ -559,12 +692,12 @@ type ENSv2Domain implements Domain {
559
692
  label: Label!
560
693
 
561
694
  """
562
- If this is an ENSv1Domain, this is the effective owner of the Domain. If this is an ENSv2Domain, this is the on-chain owner address (the HCA account address if used).
695
+ If this is an ENSv1Domain, this is the effective owner of the Domain (derived from the Registry, the Registrar, or the NameWrapper, in that order). If this is an ENSv2Domain, this is the on-chain owner address (the HCA account address if used).
563
696
  """
564
697
  owner: Account
565
698
 
566
699
  """
567
- The Domain that this Domain's parent Registry declares as its Canonical Domain, if any. Follows a single unidirectional pointer (`Registry.canonicalDomainId`) and does NOT enforce bidirectional canonical-edge agreement: a non-canonical Domain may have a non-null `parent`, and a canonical Domain's `parent` may itself be non-canonical. Null when the parent Registry does not declare a Canonical Domain.
700
+ The Domain that this Domain's parent Registry declares as its Canonical Domain, if any. Follows a single unidirectional pointer (`Registry.canonicalDomainId`) and does NOT enforce bidirectional canonical-edge agreement: a non-canonical Domain may have a non-null `parent`, and a canonical Domain's `parent` may itself be non-canonical. Null when the parent Registry does not declare a Canonical Domain. For an UnindexedDomain (which has no Registry of its own), this reflects the wildcard-bearing ancestor's Registry — see `Domain.registry`.
568
701
  """
569
702
  parent: Domain
570
703
 
@@ -579,14 +712,25 @@ type ENSv2Domain implements Domain {
579
712
  """All Registrations for a Domain, including the latest Registration."""
580
713
  registrations(after: String, before: String, first: Int, last: Int): DomainRegistrationsConnection
581
714
 
582
- """The Registry under which this Domain exists."""
715
+ """
716
+ The Registry under which this Domain exists. For an UnindexedDomain — a resolvable-but-unindexed Domain that has no Registry of its own — this is instead the Registry that manages the ancestor Domain bearing the wildcard Resolver (the same Registry encoded in its `id`).
717
+ """
583
718
  registry: Registry!
584
719
 
720
+ """Resolve protocol-level data for this Domain."""
721
+ resolve(
722
+ """
723
+ When true (default), Protocol Acceleration will be conditionally used by the server to perform resolution when it is relevant. If false, Protocol Acceleration will be disabled.
724
+ @see https://ensnode.io/docs/integrate/omnigraph/protocol-acceleration
725
+ """
726
+ accelerate: Boolean = true
727
+ ): ForwardResolve!
728
+
585
729
  """Resolver relationship metadata for this Domain."""
586
730
  resolver: DomainResolver!
587
731
 
588
732
  """
589
- All Domains that are direct descendents of this Domain in the namegraph.
733
+ All Domains that are direct descendants of this Domain in the namegraph. Ordered by the `order` argument (default: NAME, ASC). When ordering by REGISTRATION_TIMESTAMP or REGISTRATION_EXPIRY, Domains lacking that value — no Registration for REGISTRATION_TIMESTAMP; no Registration or a never-expiring one (treated as +∞) for REGISTRATION_EXPIRY — sort last when `dir: ASC` and first when `dir: DESC`.
590
734
  """
591
735
  subdomains(after: String, before: String, first: Int, last: Int, order: DomainsOrderInput, where: SubdomainsWhereInput): DomainSubdomainsConnection
592
736
 
@@ -618,7 +762,9 @@ type ENSv2Registry implements Registry {
618
762
  """
619
763
  contract: AccountId!
620
764
 
621
- """The Domains managed by this Registry."""
765
+ """
766
+ The Domains managed by this Registry. Ordered by the `order` argument (default: NAME, ASC). When ordering by REGISTRATION_TIMESTAMP or REGISTRATION_EXPIRY, Domains lacking that value — no Registration for REGISTRATION_TIMESTAMP; no Registration or a never-expiring one (treated as +∞) for REGISTRATION_EXPIRY — sort last when `dir: ASC` and first when `dir: DESC`.
767
+ """
622
768
  domains(after: String, before: String, first: Int, last: Int, order: DomainsOrderInput, where: RegistryDomainsWhereInput): RegistryDomainsConnection
623
769
 
624
770
  """A unique reference to this Registry."""
@@ -723,6 +869,9 @@ type ENSv2RegistryReservation implements Registration {
723
869
  unregistrant: Account
724
870
  }
725
871
 
872
+ """Email represents a validated contact email address."""
873
+ scalar Email
874
+
726
875
  """
727
876
  An Event represents a discrete Log Event that was emitted on an EVM chain, including associated metadata.
728
877
  """
@@ -853,15 +1002,46 @@ input EventsWhereInput {
853
1002
  timestamp: EventsTimestampFilter
854
1003
  }
855
1004
 
1005
+ """
1006
+ Nested domain resolution container exposing resolved data for the domain.
1007
+ """
1008
+ type ForwardResolve {
1009
+ """
1010
+ Whether protocol acceleration was requested and attempted for this resolution.
1011
+ """
1012
+ acceleration: AccelerationStatus!
1013
+
1014
+ """
1015
+ The interpreted profile of an ENS name. Returns null when the name is not resolvable (non-canonical, unnormalized, or no profile records were selected).
1016
+ """
1017
+ profile: DomainProfile
1018
+
1019
+ """
1020
+ Resolved ENS records via the ENS protocol. Null when the name is not resolvable (non-canonical, unnormalized, or no records field was selected).
1021
+ """
1022
+ records: ResolvedRecords
1023
+
1024
+ """
1025
+ Protocol trace tree emitted by resolution, represented as untyped JSON for schema stability. This data model should be expected to experience breaking changes.
1026
+ """
1027
+ trace: JSON
1028
+ }
1029
+
856
1030
  """Hex represents viem#Hex."""
857
1031
  scalar Hex
858
1032
 
1033
+ """InterfaceId represents an ERC-165 interface id (4-byte hex selector)."""
1034
+ scalar InterfaceId
1035
+
859
1036
  """InterpretedLabel represents an enssdk#InterpretedLabel."""
860
1037
  scalar InterpretedLabel
861
1038
 
862
1039
  """InterpretedName represents an enssdk#InterpretedName."""
863
1040
  scalar InterpretedName
864
1041
 
1042
+ """JSON represents arbitrary JSON-serializable data."""
1043
+ scalar JSON
1044
+
865
1045
  """
866
1046
  Represents a Label within ENS, providing its hash and interpreted representation.
867
1047
  """
@@ -885,6 +1065,16 @@ type Label {
885
1065
  interpreted: InterpretedLabel!
886
1066
  }
887
1067
 
1068
+ """
1069
+ LitecoinAddress represents a Base58Check-encoded Litecoin address (coin type 2).
1070
+ """
1071
+ scalar LitecoinAddress
1072
+
1073
+ """
1074
+ MonacoinAddress represents a Base58Check-encoded Monacoin address (coin type 22).
1075
+ """
1076
+ scalar MonacoinAddress
1077
+
888
1078
  """Constructs a reference to a specific Node via one of `name` or `node`."""
889
1079
  input NameOrNodeInput @oneOf {
890
1080
  name: InterpretedName
@@ -1074,6 +1264,166 @@ type PermissionsUserEventsConnectionEdge {
1074
1264
  """PermissionsUserId represents an enssdk#PermissionsUserId."""
1075
1265
  scalar PermissionsUserId
1076
1266
 
1267
+ """
1268
+ Select a primary name lookup target. Exactly one of `coinType` or `chainName` must be provided.
1269
+ """
1270
+ input PrimaryNameByInput @oneOf {
1271
+ """A `ChainName` to resolve the primary name for."""
1272
+ chainName: ChainName
1273
+
1274
+ """The ENSIP-9 coin type to resolve the primary name for."""
1275
+ coinType: CoinType
1276
+ }
1277
+
1278
+ """An ENSIP-19 primary name for an Account on a specific coin type."""
1279
+ type PrimaryNameRecord {
1280
+ """
1281
+ The chain corresponding to `coinType`, or null when `coinType` is not represented in `ChainName`.
1282
+ """
1283
+ chainName: ChainName
1284
+
1285
+ """The canonical ENSIP-9 coin type for this primary name lookup."""
1286
+ coinType: CoinType!
1287
+
1288
+ """
1289
+ The validated primary name for this Account on this coin type, or null if none is set.
1290
+ """
1291
+ name: CanonicalName
1292
+
1293
+ """Forward resolve data for this primary name."""
1294
+ resolve: ForwardResolve!
1295
+ }
1296
+
1297
+ """
1298
+ Filter primary name lookups. Exactly one of `coinTypes` or `chainNames` must be provided.
1299
+ """
1300
+ input PrimaryNamesWhereInput @oneOf {
1301
+ """`ChainName` values to resolve primary names for."""
1302
+ chainNames: [ChainName!]
1303
+
1304
+ """Coin types to resolve primary names for."""
1305
+ coinTypes: [CoinType!]
1306
+ }
1307
+
1308
+ """The interpreted addresses on the profile of an ENS name."""
1309
+ type ProfileAddresses {
1310
+ """
1311
+ The interpreted Base address. Returns null when the raw address record is unset, empty (`0x`), all-zero, not valid hex, or cannot be decoded and encoded for this coin type per ENSIP-9.
1312
+ """
1313
+ base: Address
1314
+
1315
+ """
1316
+ The interpreted Binance Chain (BNB) address. Returns null when the raw address record is unset, empty (`0x`), all-zero, not valid hex, or cannot be decoded and encoded for this coin type per ENSIP-9.
1317
+ """
1318
+ binance: BinanceAddress
1319
+
1320
+ """
1321
+ The interpreted Bitcoin address. Returns null when the raw address record is unset, empty (`0x`), all-zero, not valid hex, or cannot be decoded and encoded for this coin type per ENSIP-9.
1322
+ """
1323
+ bitcoin: BitcoinAddress
1324
+
1325
+ """
1326
+ The interpreted Bitcoin Cash address. Returns null when the raw address record is unset, empty (`0x`), all-zero, not valid hex, or cannot be decoded and encoded for this coin type per ENSIP-9.
1327
+ """
1328
+ bitcoincash: BitcoinCashAddress
1329
+
1330
+ """
1331
+ The interpreted Dogecoin address. Returns null when the raw address record is unset, empty (`0x`), all-zero, not valid hex, or cannot be decoded and encoded for this coin type per ENSIP-9.
1332
+ """
1333
+ dogecoin: DogecoinAddress
1334
+
1335
+ """
1336
+ The interpreted Ethereum address. Returns null when the raw address record is unset, empty (`0x`), all-zero, not valid hex, or cannot be decoded and encoded for this coin type per ENSIP-9.
1337
+ """
1338
+ ethereum: Address
1339
+
1340
+ """
1341
+ The interpreted Litecoin address. Returns null when the raw address record is unset, empty (`0x`), all-zero, not valid hex, or cannot be decoded and encoded for this coin type per ENSIP-9.
1342
+ """
1343
+ litecoin: LitecoinAddress
1344
+
1345
+ """
1346
+ The interpreted Monacoin address. Returns null when the raw address record is unset, empty (`0x`), all-zero, not valid hex, or cannot be decoded and encoded for this coin type per ENSIP-9.
1347
+ """
1348
+ monacoin: MonacoinAddress
1349
+
1350
+ """
1351
+ The interpreted Ripple (XRP) address. Returns null when the raw address record is unset, empty (`0x`), all-zero, not valid hex, or cannot be decoded and encoded for this coin type per ENSIP-9.
1352
+ """
1353
+ ripple: RippleAddress
1354
+
1355
+ """
1356
+ The interpreted Rootstock (RBTC) address. Returns null when the raw address record is unset, empty (`0x`), all-zero, not valid hex, or cannot be decoded and encoded for this coin type per ENSIP-9.
1357
+ """
1358
+ rootstock: RootstockAddress
1359
+
1360
+ """
1361
+ The interpreted Solana address. Returns null when the raw address record is unset, empty (`0x`), all-zero, not valid hex, or cannot be decoded and encoded for this coin type per ENSIP-9.
1362
+ """
1363
+ solana: SolanaAddress
1364
+ }
1365
+
1366
+ """The interpreted avatar image on the profile of an ENS name."""
1367
+ type ProfileAvatar {
1368
+ """
1369
+ HTTP-compatible URL for fetching the avatar image in web browsers. Abstraction over the raw avatar record (IPFS, CAIP NFT references, etc.). Returns null when the raw value is not a direct http(s) URL and no fallback URL can be derived (including when the ENS Metadata Service is unavailable for this namespace). See https://docs.ens.domains/ensip/12.
1370
+ """
1371
+ httpUrl: String
1372
+ }
1373
+
1374
+ """The interpreted header image on the profile of an ENS name."""
1375
+ type ProfileHeader {
1376
+ """
1377
+ HTTP-compatible URL for fetching the header image in web browsers. Abstraction over the raw header record (IPFS, CAIP NFT references, etc.). Returns null when the raw value is not a direct http(s) URL and no fallback URL can be derived (including when the ENS Metadata Service is unavailable for this namespace). See https://docs.ens.domains/ensip/12.
1378
+ """
1379
+ httpUrl: String
1380
+ }
1381
+
1382
+ """An interpreted social account on the profile of an ENS name."""
1383
+ type ProfileSocialAccount {
1384
+ """The handle of the social account."""
1385
+ handle: String!
1386
+
1387
+ """The HTTP-compatible url to the social account."""
1388
+ httpUrl: String!
1389
+ }
1390
+
1391
+ """The interpreted social accounts on the profile of an ENS name."""
1392
+ type ProfileSocials {
1393
+ """
1394
+ The interpreted GitHub account. Returns null when the raw record is unset, empty, or cannot be parsed as a GitHub handle or profile URL.
1395
+ """
1396
+ github: ProfileSocialAccount
1397
+
1398
+ """
1399
+ The interpreted Keybase account. Returns null when the raw record is unset, empty, or cannot be parsed as a Keybase handle or profile URL.
1400
+ """
1401
+ keybase: ProfileSocialAccount
1402
+
1403
+ """
1404
+ The interpreted LinkedIn account. Returns null when the raw record is unset, empty, or cannot be parsed as a LinkedIn handle or profile URL.
1405
+ """
1406
+ linkedin: ProfileSocialAccount
1407
+
1408
+ """
1409
+ The interpreted Telegram account. Returns null when the raw record is unset, empty, or cannot be parsed as a Telegram handle or profile URL.
1410
+ """
1411
+ telegram: ProfileSocialAccount
1412
+
1413
+ """
1414
+ The interpreted X (Twitter) account. Returns null when the raw record is unset, empty, or cannot be parsed as a X (Twitter) handle or profile URL.
1415
+ """
1416
+ twitter: ProfileSocialAccount
1417
+ }
1418
+
1419
+ """The interpreted website on the profile of an ENS name."""
1420
+ type ProfileWebsite {
1421
+ """
1422
+ The HTTP-compatible website URL. Returns null when the raw url record is unset, empty, not an http(s) URL, or cannot be parsed as a valid URL.
1423
+ """
1424
+ httpUrl: String
1425
+ }
1426
+
1077
1427
  type Query {
1078
1428
  """Identify an Account by ID or Address."""
1079
1429
  account(by: AccountByInput!): Account
@@ -1081,7 +1431,9 @@ type Query {
1081
1431
  """Identify a Domain by Name or DomainId"""
1082
1432
  domain(by: DomainIdInput!): Domain
1083
1433
 
1084
- """Find Canonical Domains by Name."""
1434
+ """
1435
+ Find Canonical Domains by Name. Ordered by the `order` argument (default: NAME, ASC). When ordering by REGISTRATION_TIMESTAMP or REGISTRATION_EXPIRY, Domains lacking that value — no Registration for REGISTRATION_TIMESTAMP; no Registration or a never-expiring one (treated as +∞) for REGISTRATION_EXPIRY — sort last when `dir: ASC` and first when `dir: DESC`.
1436
+ """
1085
1437
  domains(after: String, before: String, first: Int, last: Int, order: DomainsOrderInput, where: DomainsWhereInput!): QueryDomainsConnection
1086
1438
 
1087
1439
  """Identify Permissions by ID or AccountId."""
@@ -1184,7 +1536,9 @@ interface Registry {
1184
1536
  """
1185
1537
  contract: AccountId!
1186
1538
 
1187
- """The Domains managed by this Registry."""
1539
+ """
1540
+ The Domains managed by this Registry. Ordered by the `order` argument (default: NAME, ASC). When ordering by REGISTRATION_TIMESTAMP or REGISTRATION_EXPIRY, Domains lacking that value — no Registration for REGISTRATION_TIMESTAMP; no Registration or a never-expiring one (treated as +∞) for REGISTRATION_EXPIRY — sort last when `dir: ASC` and first when `dir: DESC`.
1541
+ """
1188
1542
  domains(after: String, before: String, first: Int, last: Int, order: DomainsOrderInput, where: RegistryDomainsWhereInput): RegistryDomainsConnection
1189
1543
 
1190
1544
  """A unique reference to this Registry."""
@@ -1277,6 +1631,96 @@ type Renewal {
1277
1631
  """RenewalId represents an enssdk#RenewalId."""
1278
1632
  scalar RenewalId
1279
1633
 
1634
+ """A resolved ABI record for an ENS name."""
1635
+ type ResolvedAbiRecord {
1636
+ contentType: BigInt!
1637
+ data: Hex!
1638
+ }
1639
+
1640
+ """A resolved address record for an ENS name."""
1641
+ type ResolvedAddressRecord {
1642
+ """
1643
+ The "raw" resolved address record as hex, or null if not set, empty ("0x"), or zeroAddress. Decode with ENSIP-9 (https://docs.ens.domains/ensip/9) and address-encoder (https://github.com/ensdomains/address-encoder) for the associated coin type. Guaranteed to be at least one byte of hex data. There is no guarantee that an EVM CoinType returns an address value of any particular byte length.
1644
+ """
1645
+ address: Hex
1646
+
1647
+ """The coin type for this address record."""
1648
+ coinType: CoinType!
1649
+ }
1650
+
1651
+ """A resolved ERC-165 interface implementer record for an ENS name."""
1652
+ type ResolvedInterfaceRecord {
1653
+ implementer: Address
1654
+ interfaceId: InterfaceId!
1655
+ }
1656
+
1657
+ """A resolved PubkeyResolver (x, y) pair for an ENS name."""
1658
+ type ResolvedPubkeyRecord {
1659
+ x: Hex!
1660
+ y: Hex!
1661
+ }
1662
+
1663
+ """
1664
+ A resolved 'raw' text record for an ENS name. Value is any possible string and may require additional validation or preprocessing before use.
1665
+ """
1666
+ type ResolvedRawTextRecord {
1667
+ """The text record key."""
1668
+ key: String!
1669
+
1670
+ """
1671
+ The 'raw' text record value, or null if not set. Value is any possible string and may require additional validation or preprocessing before use.
1672
+ """
1673
+ value: String
1674
+ }
1675
+
1676
+ """Records resolved for a specific ENS name via the ENS protocol."""
1677
+ type ResolvedRecords {
1678
+ """
1679
+ The first stored ABI matching the requested content-type bitmask, or null if not set.
1680
+ """
1681
+ abi(
1682
+ """
1683
+ Content-type bitmask; the resolver returns the first stored ABI whose bit is set (lowest bit first).
1684
+ """
1685
+ contentTypeMask: BigInt!
1686
+ ): ResolvedAbiRecord
1687
+
1688
+ """Resolved address records for the requested coin types."""
1689
+ addresses(
1690
+ """Coin types to resolve (e.g. `60` for ETH)."""
1691
+ coinTypes: [CoinType!]!
1692
+ ): [ResolvedAddressRecord!]!
1693
+
1694
+ """The ENSIP-7 contenthash record raw bytes, or null if not set."""
1695
+ contenthash: Hex
1696
+
1697
+ """The IDNSZoneResolver zonehash raw bytes, or null if not set."""
1698
+ dnszonehash: Hex
1699
+
1700
+ """Resolved ERC-165 interface implementer records for the requested ids."""
1701
+ interfaces(
1702
+ """ERC-165 interface ids to resolve (4-byte hex selectors)."""
1703
+ ids: [InterfaceId!]!
1704
+ ): [ResolvedInterfaceRecord!]!
1705
+
1706
+ """The PubkeyResolver (x, y) pair, or null if not set."""
1707
+ pubkey: ResolvedPubkeyRecord
1708
+
1709
+ """
1710
+ The `name` record value used in Reverse Resolution (ENSIP-19), or null if not set. To reduce a common point of developer confusion the Omnigraph API represents this as the `reverseName` rather than the `name` record which is what this field actually resolves to onchain.
1711
+ """
1712
+ reverseName: String
1713
+
1714
+ """Resolved text records for the requested keys."""
1715
+ texts(
1716
+ """Text record keys to resolve (e.g. `avatar`, `description`)."""
1717
+ keys: [String!]!
1718
+ ): [ResolvedRawTextRecord!]!
1719
+
1720
+ """The IVersionableResolver version, or null if not set or unavailable."""
1721
+ version: BigInt
1722
+ }
1723
+
1280
1724
  """A Resolver represents a Resolver contract on-chain."""
1281
1725
  type Resolver {
1282
1726
  """
@@ -1290,6 +1734,11 @@ type Resolver {
1290
1734
  """All Events associated with this Resolver."""
1291
1735
  events(after: String, before: String, first: Int, last: Int, where: EventsWhereInput): ResolverEventsConnection
1292
1736
 
1737
+ """
1738
+ Whether this Resolver implements ENSIP-10 wildcard resolution (`IExtendedResolver`, interfaceId `0x9061b923`), determined via a single cached `supportsInterface` RPC the first time the Resolver is observed.
1739
+ """
1740
+ extended: Boolean!
1741
+
1293
1742
  """A unique reference to this Resolver."""
1294
1743
  id: ResolverId!
1295
1744
 
@@ -1374,6 +1823,50 @@ type ResolverRecordsConnectionEdge {
1374
1823
  """ResolverRecordsId represents an enssdk#ResolverRecordsId."""
1375
1824
  scalar ResolverRecordsId
1376
1825
 
1826
+ """Nested account resolution container exposing primary name resolution."""
1827
+ type ReverseResolve {
1828
+ """
1829
+ Whether protocol acceleration was requested and attempted for this reverse resolution.
1830
+ """
1831
+ acceleration: AccelerationStatus!
1832
+
1833
+ """
1834
+ The primary name for this Account on a specific coin type or chain name.
1835
+ """
1836
+ primaryName(
1837
+ """Select a coin type or chain name to resolve a primary name for."""
1838
+ by: PrimaryNameByInput!
1839
+ ): PrimaryNameRecord!
1840
+
1841
+ """
1842
+ Primary names for this Account on the requested coin types or chain names.
1843
+ """
1844
+ primaryNames(
1845
+ """Select coin types or chain names to resolve primary names for."""
1846
+ where: PrimaryNamesWhereInput!
1847
+ ): [PrimaryNameRecord!]!
1848
+
1849
+ """
1850
+ Protocol trace tree emitted by reverse resolution, represented as JSON for schema stability. This data model should be expected to experience breaking changes.
1851
+ """
1852
+ trace: JSON!
1853
+ }
1854
+
1855
+ """
1856
+ RippleAddress represents a Base58Check-encoded Ripple (XRP) address (coin type 144).
1857
+ """
1858
+ scalar RippleAddress
1859
+
1860
+ """
1861
+ RootstockAddress represents an EIP-55 checksummed Rootstock (RBTC) address (coin type 137).
1862
+ """
1863
+ scalar RootstockAddress
1864
+
1865
+ """
1866
+ SolanaAddress represents a Base58-encoded Solana address (coin type 501).
1867
+ """
1868
+ scalar SolanaAddress
1869
+
1377
1870
  """Filter for Domain.subdomains query."""
1378
1871
  input SubdomainsWhereInput {
1379
1872
  """If set, filters the set of subdomains by name."""
@@ -1424,6 +1917,66 @@ type ThreeDNSRegistration implements Registration {
1424
1917
  unregistrant: Account
1425
1918
  }
1426
1919
 
1920
+ """
1921
+ A resolvable-but-unindexed Domain: not present in the index, but resolvable because an ancestor in its namegraph path has an ENSIP-10 wildcard Resolver (e.g. off-chain / CCIP-Read names, unindexed 3DNS names, wildcard subnames).
1922
+ """
1923
+ type UnindexedDomain implements Domain {
1924
+ """
1925
+ Metadata (name, path, and node) related to the Domain's canonicality, if known. Null when the Domain is not in the canonical nametree.
1926
+ """
1927
+ canonical: DomainCanonical
1928
+
1929
+ """All Events associated with this Domain."""
1930
+ events(after: String, before: String, first: Int, last: Int, where: EventsWhereInput): DomainEventsConnection
1931
+
1932
+ """A unique and stable reference to this Domain."""
1933
+ id: DomainId!
1934
+
1935
+ """The Label associated with this Domain in the ENS Namegraph."""
1936
+ label: Label!
1937
+
1938
+ """
1939
+ If this is an ENSv1Domain, this is the effective owner of the Domain (derived from the Registry, the Registrar, or the NameWrapper, in that order). If this is an ENSv2Domain, this is the on-chain owner address (the HCA account address if used).
1940
+ """
1941
+ owner: Account
1942
+
1943
+ """
1944
+ The Domain that this Domain's parent Registry declares as its Canonical Domain, if any. Follows a single unidirectional pointer (`Registry.canonicalDomainId`) and does NOT enforce bidirectional canonical-edge agreement: a non-canonical Domain may have a non-null `parent`, and a canonical Domain's `parent` may itself be non-canonical. Null when the parent Registry does not declare a Canonical Domain. For an UnindexedDomain (which has no Registry of its own), this reflects the wildcard-bearing ancestor's Registry — see `Domain.registry`.
1945
+ """
1946
+ parent: Domain
1947
+
1948
+ """The latest Registration for this Domain, if exists."""
1949
+ registration: Registration
1950
+
1951
+ """All Registrations for a Domain, including the latest Registration."""
1952
+ registrations(after: String, before: String, first: Int, last: Int): DomainRegistrationsConnection
1953
+
1954
+ """
1955
+ The Registry under which this Domain exists. For an UnindexedDomain — a resolvable-but-unindexed Domain that has no Registry of its own — this is instead the Registry that manages the ancestor Domain bearing the wildcard Resolver (the same Registry encoded in its `id`).
1956
+ """
1957
+ registry: Registry!
1958
+
1959
+ """Resolve protocol-level data for this Domain."""
1960
+ resolve(
1961
+ """
1962
+ When true (default), Protocol Acceleration will be conditionally used by the server to perform resolution when it is relevant. If false, Protocol Acceleration will be disabled.
1963
+ @see https://ensnode.io/docs/integrate/omnigraph/protocol-acceleration
1964
+ """
1965
+ accelerate: Boolean = true
1966
+ ): ForwardResolve!
1967
+
1968
+ """Resolver relationship metadata for this Domain."""
1969
+ resolver: DomainResolver!
1970
+
1971
+ """
1972
+ All Domains that are direct descendants of this Domain in the namegraph. Ordered by the `order` argument (default: NAME, ASC). When ordering by REGISTRATION_TIMESTAMP or REGISTRATION_EXPIRY, Domains lacking that value — no Registration for REGISTRATION_TIMESTAMP; no Registration or a never-expiring one (treated as +∞) for REGISTRATION_EXPIRY — sort last when `dir: ASC` and first when `dir: DESC`.
1973
+ """
1974
+ subdomains(after: String, before: String, first: Int, last: Int, order: DomainsOrderInput, where: SubdomainsWhereInput): DomainSubdomainsConnection
1975
+
1976
+ """The Registry this Domain declares as its Subregistry, if exists."""
1977
+ subregistry: Registry
1978
+ }
1979
+
1427
1980
  """
1428
1981
  Additional metadata for BaseRegistrar Registrations wrapped by the NameWrapper (i.e. in the case of a wrapped .eth name)
1429
1982
  """
@@ -1431,6 +1984,8 @@ type WrappedBaseRegistrarRegistration {
1431
1984
  """The Fuses for this Registration's Domain in the NameWrapper."""
1432
1985
  fuses: Int!
1433
1986
 
1434
- """The TokenID for this Domain in the NameWrapper."""
1987
+ """
1988
+ The TokenId for this Domain in the NameWrapper. This is the bigint encoding of the Domain's Node.
1989
+ """
1435
1990
  tokenId: BigInt!
1436
1991
  }