Skip to content

Releases: namehash/ensnode

v1.16.0

Choose a tag to compare

@github-actions github-actions released this 18 Jun 16:38
24e7f34

@ensnode/ensdb-sdk@1.16.0

Minor Changes

  • #2292 09b4aa5 Thanks @shrugs! - Add a (value, coinType) index on resolver_address_records to support reverse lookups of the Names whose addr() record points at a given address. Powers Account.nameReferences in the Omnigraph API.

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.16.0
    • enssdk@1.16.0

ensskills@1.16.0

Minor Changes

  • #2287 7f7627a Thanks @shrugs! - The enssdk and enskit skills are now fully authored (previously stubs): enssdk covers the typed ENS Omnigraph client (gql.tada), hashing, normalization, and interpretation primitives for TypeScript integrations; enskit covers building ENS React UIs (provider setup, typed Omnigraph hooks, caching, Relay pagination). The ens-protocol skill also gained the Subgraph-Interpreted Label concept (why subgraph-compatible APIs may return an Encoded LabelHash where the Omnigraph returns the literal label).

Patch Changes

  • #2287 7f7627a Thanks @shrugs! - The omnigraph skill now explains Protocol Acceleration (resolve is accelerated by default, transparent protocol-compliant fallback, the acceleration { requested attempted } introspection) and the indexing-status/503 contract (when an instance responds 503 and how to check progress with enscli ensnode indexing-status). The ens-protocol skill now defines the ENS Namespace concept (a logically-isolated set of names spanning many chains, not 1:1 with an L1 chain).

@ensnode/datasources@1.16.0

Patch Changes

  • Updated dependencies []:
    • enssdk@1.16.0

@namehash/ens-referrals@1.16.0

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.16.0
    • enssdk@1.16.0

enscli@1.16.0

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.16.0
    • enssdk@1.16.0
    • @ensnode/datasources@1.16.0
    • @ensnode/ensrainbow-sdk@1.16.0

enskit@1.16.0

Patch Changes

  • Updated dependencies []:
    • enssdk@1.16.0

@ensnode/ensnode-sdk@1.16.0

Patch Changes

  • Updated dependencies []:
    • enssdk@1.16.0
    • @ensnode/datasources@1.16.0

@ensnode/ensrainbow-sdk@1.16.0

Patch Changes

  • Updated dependencies []:
    • enssdk@1.16.0

@namehash/namehash-ui@1.16.0

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.16.0
    • enssdk@1.16.0
    • @ensnode/datasources@1.16.0

enssdk@1.16.0

@ensnode/ponder-sdk@1.16.0

@ensnode/ponder-subgraph@1.16.0

ensapi@1.16.0

Minor Changes

  • #2292 09b4aa5 Thanks @shrugs! - Omnigraph API: Adds Account.nameReferences, surfacing the Names whose indexed addr() record points at the Account, optionally scoped to a single CoinType via where: { coinType }. Reflects literally-indexed, Canonical Domains only: records whose node has no canonical Domain are omitted, and Forward Resolution / CCIP-Read and ENSIP-19 address record defaulting are not applied.

Patch Changes

  • #2285 ba68bbe Thanks @sevenzing! - - Add Domain.resolve.profile.contenthash interpretation

  • Updated dependencies [09b4aa5]:

    • @ensnode/ensdb-sdk@1.16.0
    • @ensnode/ensnode-sdk@1.16.0
    • enssdk@1.16.0
    • @ensnode/datasources@1.16.0
    • @ensnode/ponder-subgraph@1.16.0
    • @namehash/ens-referrals@1.16.0

ensadmin@1.16.0

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.16.0
    • enssdk@1.16.0
    • @ensnode/datasources@1.16.0
    • @namehash/namehash-ui@1.16.0
    • @ensnode/scalar-react@0.0.0

ensindexer@1.16.0

Patch Changes

  • #2280 dff338c Thanks @shrugs! - ENSIndexer now re-derives a Resolver's ENSIP-10 IExtendedResolver support when a known proxy Resolver emits an EIP-1967 Upgraded event, instead of fixing the value once at first visibility. Proxy Resolvers that activate IExtendedResolver via a post-assignment upgrade (e.g. the 3DNS Resolver behind .box) were stuck extended = false forever, silently breaking wildcard resolution for affected names.

  • Updated dependencies [09b4aa5]:

    • @ensnode/ensdb-sdk@1.16.0
    • @ensnode/ensnode-sdk@1.16.0
    • enssdk@1.16.0
    • @ensnode/datasources@1.16.0
    • @ensnode/ensrainbow-sdk@1.16.0
    • @ensnode/ponder-sdk@1.16.0

ensrainbow@1.16.0

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.16.0
    • enssdk@1.16.0
    • @ensnode/ensrainbow-sdk@1.16.0

fallback-ensapi@1.16.0

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.16.0
    • @ensnode/datasources@1.16.0

@docs/ensnode@1.16.0

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.16.0
    • @namehash/namehash-ui@1.16.0

@docs/ensrainbow@1.16.0

Patch Changes

  • Updated dependencies []:
    • @namehash/namehash-ui@1.16.0

@ensnode/enskit-react-example@0.0.11

Patch Changes

  • Updated dependencies []:
    • enssdk@1.16.0
    • enskit@1.16.0

@ensnode/enssdk-example@0.0.5

Patch Changes

  • Updated dependencies []:
    • enssdk@1.16.0

@ensnode/integration-test-env@1.16.0

Patch Changes

  • Updated dependencies [09b4aa5]:
    • @ensnode/ensdb-sdk@1.16.0
    • @ensnode/ensnode-sdk@1.16.0
    • enssdk@1.16.0
    • @ensnode/datasources@1.16.0
    • @ensnode/shared-configs@1.16.0

@ensnode/ensindexer-perf-testing@1.16.0

📦 NPM packages

🐳 Docker images

v1.15.2

Choose a tag to compare

@github-actions github-actions released this 09 Jun 16:38
a83c910

@ensnode/datasources@1.15.2

Patch Changes

  • #2242 0eec193 Thanks @shrugs! - Add contract identification by address. @ensnode/datasources exports identifyDatasourceContracts(namespaceId, query), which finds every well-known contract in a namespace's datasources whose address matches a given address, optionally scoped to a chain.

  • #2191 39cb445 Thanks @tk-o! - Updates the sepolia-v2 ENS Namespace to support the latest ENSv1+ENSv2 test deployment on Sepolia.

  • #2267 6165f50 Thanks @shrugs! - Consolidate UniversalResolver onto the IUniversalResolver proxy. Each ENSRoot Datasource now exposes a single UniversalResolver contract pointing at the proxy address (0xeeeeeeee14d718c2b47d9923deab1335e144eeee on mainnet/sepolia), replacing the separate UniversalResolver (V1) and UniversalResolverV2 contracts. The exported UniversalResolverABI is now IUniversalResolver merged with IMulticallable.

  • Updated dependencies [83ed372]:

    • enssdk@1.15.2

@namehash/ens-referrals@1.15.2

Patch Changes

enscli@1.15.2

Patch Changes

  • #2242 0eec193 Thanks @shrugs! - enscli gains datasources identify <address>: an offline command that reports which well-known ENS contract an address corresponds to. It accepts a bare address, a chain-scoped chainId:address, or full CAIP-10 eip155:chainId:address, and --namespace (default mainnet) selects which namespace to search. A miss returns { matches: [] } with exit code 0.

  • #2242 0eec193 Thanks @shrugs! - Introduce enscli, a new agent- and human-friendly CLI for ENS that wraps enssdk and the ENS Omnigraph. It supports raw Omnigraph queries (enscli ensnode omnigraph "<query>" --variables …), offline schema exploration (enscli ensnode omnigraph schema [Type[.field]]), indexing status, ENSRainbow healing, and namehash/labelhash. It defaults to NameHash-hosted instances per --namespace (mainnet, sepolia, sepolia-v2), resolves config from flags/env/.env, outputs JSON when piped and a pretty form in a TTY, and hardens inputs against agent hallucinations.

  • Updated dependencies [0eec193, 83ed372, 0eec193, 83ed372, 39cb445, 04388d2, 6165f50]:

    • @ensnode/datasources@1.15.2
    • @ensnode/ensnode-sdk@1.15.2
    • enssdk@1.15.2
    • @ensnode/ensrainbow-sdk@1.15.2

@ensnode/ensdb-sdk@1.15.2

Patch Changes

  • #2259 5f929d8 Thanks @shrugs! - Index-accelerate REGISTRATION_TIMESTAMP / REGISTRATION_EXPIRY-ordered domain queries (e.g. Domain.subdomains(order: { by: REGISTRATION_TIMESTAMP, dir: DESC })). Previously these joined domains → latest_registration_indexes → registrations and sorted the full registry partition — ~55s for .eth's subdomains. The latest registration's start/expiry is now mirrored onto the Domain row (__latestRegistrationStart / __latestRegistrationExpiry) with composite indexes (registry_id, <col>, id), turning the query into an index-ordered scan. The sort columns are NOT NULL — an absent value (no registration, or a never-expiring registration) is materialized as a +∞ sentinel — so a single plain composite per column serves both directions with a plain keyset tuple, and the sentinel sorts last for ASC and first for DESC.

  • #2271 83ed372 Thanks @shrugs! - The resolvers table gains an is_extended column — whether the Resolver implements ENSIP-10 wildcard resolution (IExtendedResolver, interfaceId 0x9061b923) — populated at index time via a single cached supportsInterface RPC. The Omnigraph API exposes it as a new Resolver.extended: Boolean! field.

  • #2255 c8267e4 Thanks @shrugs! - Add a materialized domains.__canonical_name_prefix column — the first 64 code points of canonical_name — to back left-anchored / substring search and NAME ordering. Direct-SQL consumers can now WHERE __canonical_name_prefix LIKE 'vit%' ORDER BY __canonical_name_prefix instead of replicating the previous left(canonical_name, 256) expression index. canonical_name is unchanged and remains the column for exact (= / IN) matches and display; the Omnigraph name.starts_with filter now targets the prefix column while continuing to return canonical_name.

  • Updated dependencies [83ed372, 0eec193, 83ed372]:

    • @ensnode/ensnode-sdk@1.15.2
    • enssdk@1.15.2

enskit@1.15.2

Patch Changes

  • Updated dependencies [83ed372]:
    • enssdk@1.15.2

@ensnode/ensnode-sdk@1.15.2

Patch Changes

  • #2271 83ed372 Thanks @shrugs! - The EIP-165 supportsInterface probe (used to classify a Resolver's ENSIP-10 extended support at index time) now opts out of Ponder's empty-response retry. A 0x ("returned no data") response from a pre-EIP-165 Resolver is a definitive "not supported", never transient — but Ponder's context.client previously retried it 9× with exponential backoff (~64s each), making a full index pathologically slow. The probe now fails fast (still resolving to extended = false).

  • #2242 0eec193 Thanks @shrugs! - getDefaultEnsNodeUrl now returns the hosted default for the sepolia-v2 namespace (https://api.v2-sepolia.ensnode.io).

  • Updated dependencies [0eec193, 83ed372, 39cb445, 6165f50]:

    • @ensnode/datasources@1.15.2
    • enssdk@1.15.2

@ensnode/ensrainbow-sdk@1.15.2

Patch Changes

  • #2186 04388d2 Thanks @djstrong! - Labelhash verification for heal responses now runs in ensrainbow (server) instead of @ensnode/ensrainbow-sdk (client). Malformed rainbow records — where the stored label does not hash back to the requested labelHash — are rejected as NotFound.

  • Updated dependencies [83ed372]:

    • enssdk@1.15.2

enssdk@1.15.2

Patch Changes

  • #2271 83ed372 Thanks @shrugs! - Adds the ResolvableName branded type with isResolvableName/asResolvableName guards — an InterpretedName that can be DNS-encoded and resolved (no Encoded LabelHash segments, every label under 256 bytes). Also adds the UnindexedDomainId type and makeUnindexedDomainId; `DomainId...
Read more

v1.15.1

Choose a tag to compare

@github-actions github-actions released this 23 May 16:05
cb78570

@ensnode/datasources@1.15.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.15.1

@namehash/ens-referrals@1.15.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.15.1
    • @ensnode/ensnode-sdk@1.15.1

@ensnode/ensdb-sdk@1.15.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.15.1
    • @ensnode/ensnode-sdk@1.15.1

enskit@1.15.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.15.1

@ensnode/ensnode-sdk@1.15.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.15.1
    • @ensnode/datasources@1.15.1

@ensnode/ensrainbow-sdk@1.15.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.15.1

@namehash/namehash-ui@1.15.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.15.1
    • @ensnode/datasources@1.15.1
    • @ensnode/ensnode-sdk@1.15.1

enscli@1.15.1

enssdk@1.15.1

ensskills@1.15.1

@ensnode/ponder-sdk@1.15.1

@ensnode/ponder-subgraph@1.15.1

ensadmin@1.15.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.15.1
    • @ensnode/datasources@1.15.1
    • @ensnode/ensnode-sdk@1.15.1
    • @namehash/namehash-ui@1.15.1
    • @ensnode/scalar-react@0.0.0

ensapi@1.15.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.15.1
    • @ensnode/datasources@1.15.1
    • @ensnode/ensdb-sdk@1.15.1
    • @ensnode/ensnode-sdk@1.15.1
    • @ensnode/ponder-subgraph@1.15.1
    • @namehash/ens-referrals@1.15.1

ensindexer@1.15.1

Patch Changes

  • #2184 2a7b0de Thanks @shrugs! - ENSIndexer no longer crashes at Basenames/Lineanames L1 Resolver update block.

  • Updated dependencies []:

    • enssdk@1.15.1
    • @ensnode/datasources@1.15.1
    • @ensnode/ensrainbow-sdk@1.15.1
    • @ensnode/ensdb-sdk@1.15.1
    • @ensnode/ensnode-sdk@1.15.1
    • @ensnode/ponder-sdk@1.15.1

ensrainbow@1.15.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.15.1
    • @ensnode/ensrainbow-sdk@1.15.1
    • @ensnode/ensnode-sdk@1.15.1

fallback-ensapi@1.15.1

Patch Changes

  • Updated dependencies []:
    • @ensnode/datasources@1.15.1
    • @ensnode/ensnode-sdk@1.15.1

@docs/ensnode@1.15.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.15.1
    • @ensnode/ensnode-sdk@1.15.1
    • @namehash/namehash-ui@1.15.1

@docs/ensrainbow@1.15.1

Patch Changes

  • Updated dependencies []:
    • @namehash/namehash-ui@1.15.1

@ensnode/enskit-react-example@0.0.9

Patch Changes

  • Updated dependencies []:
    • enssdk@1.15.1
    • enskit@1.15.1

@ensnode/enssdk-example@0.0.3

Patch Changes

  • Updated dependencies []:
    • enssdk@1.15.1

@ensnode/integration-test-env@1.15.1

Patch Changes

  • Updated dependencies []:
    • @ensnode/datasources@1.15.1
    • @ensnode/ensdb-sdk@1.15.1
    • @ensnode/ensnode-sdk@1.15.1
    • @ensnode/shared-configs@1.15.1

@ensnode/ensindexer-perf-testing@1.15.1

📦 NPM packages

🐳 Docker images

v1.15.0

Choose a tag to compare

@github-actions github-actions released this 22 May 22:06
e770d83

@ensnode/ensdb-sdk@1.15.0

Minor Changes

  • #2174 bb0b244 Thanks @tk-o! - Added destroy() method to EnsDbReader class that allows cleaning up database connection resources when the connection is no longer needed.

Patch Changes

  • #2155 addfba6 Thanks @shrugs! - Add three btree indexes to the indexer schema to fix slow Domain.subdomains, get-domain-by-interpreted-name, and Query.domains paths:

    • domain_resolver_relations(domain_id) — secondary lookup off the PK so the namegraph-walk CTE can left-join by domain_id alone.
    • domains(registry_id, label_hash) — composite (replaces the standalone registry_id index, which it subsumes via leading-column prefix).
    • domains(registry_id, left(canonical_name, 256), id) — expression composite for registry-scoped WHERE registry_id = X ORDER BY canonical_name LIMIT N (the Domain.subdomains shape). The 256-char prefix bounds the index tuple under btree's per-tuple max; NAME-ordered queries must sort by the same left(...) expression for the planner to use this index for ordered scan.
  • Updated dependencies [9c40ef1, 335f072]:

    • enssdk@1.15.0
    • @ensnode/ensnode-sdk@1.15.0

@ensnode/ensnode-sdk@1.15.0

Minor Changes

Patch Changes

  • Updated dependencies [9c40ef1]:
    • enssdk@1.15.0
    • @ensnode/datasources@1.15.0

enssdk@1.15.0

Minor Changes

  • #2161 9c40ef1 Thanks @shrugs! - Add beautifyInterpretedLabel, which beautifies a single InterpretedLabel per ENSIP-15, preserving Encoded LabelHashes verbatim, and returns the new BeautifiedLabel branded type. beautifyInterpretedName is now defined in terms of beautifyInterpretedLabel.

@ensnode/datasources@1.15.0

Patch Changes

  • Updated dependencies [9c40ef1]:
    • enssdk@1.15.0

@namehash/ens-referrals@1.15.0

Patch Changes

  • Updated dependencies [9c40ef1, 335f072]:
    • enssdk@1.15.0
    • @ensnode/ensnode-sdk@1.15.0

enskit@1.15.0

Patch Changes

  • Updated dependencies [9c40ef1]:
    • enssdk@1.15.0

@ensnode/ensrainbow-sdk@1.15.0

Patch Changes

  • #2181 55a6f23 Thanks @shrugs! - @ensnode/ensrainbow-sdk now rejects malformed rainbow records: a healed label whose labelHash does not match the requested labelHash is considered NotFound.

  • Updated dependencies [9c40ef1]:

    • enssdk@1.15.0

@namehash/namehash-ui@1.15.0

Patch Changes

  • Updated dependencies [9c40ef1, 335f072]:
    • enssdk@1.15.0
    • @ensnode/ensnode-sdk@1.15.0
    • @ensnode/datasources@1.15.0

enscli@1.15.0

ensskills@1.15.0

@ensnode/ponder-sdk@1.15.0

@ensnode/ponder-subgraph@1.15.0

ensapi@1.15.0

Minor Changes

  • #2161 9c40ef1 Thanks @shrugs! - Omnigraph: add BeautifiedName and BeautifiedLabel scalars, a CanonicalName.beautified: BeautifiedName! field, and a Label.beautified: BeautifiedLabel! field. These expose the Name/Label beautified per ENSIP-15 for display — continue using interpreted for navigation targets and lookup keys.

Patch Changes

  • #2155 addfba6 Thanks @shrugs! - Omnigraph: AccountDomainsWhereInput.canonical now filters on both true and false (previously false was a no-op). The defaultValue: false is dropped — clients omitting canonical will receive all Domains owned by the Account regardless of canonicality. Pass canonical: true for canonical-only or canonical: false for non-canonical-only. The underlying DomainsWhere.canonical in resolveFindDomains was generalized so typeof === "boolean" triggers the filter; null/undefined is "no filter".

  • Updated dependencies [bb0b244, 9c40ef1, addfba6, 335f072]:

    • @ensnode/ensdb-sdk@1.15.0
    • enssdk@1.15.0
    • @ensnode/ensnode-sdk@1.15.0
    • @ensnode/datasources@1.15.0
    • @namehash/ens-referrals@1.15.0
    • @ensnode/ponder-subgraph@1.15.0

ensadmin@1.15.0

Patch Changes

  • Updated dependencies [9c40ef1, 335f072]:
    • enssdk@1.15.0
    • @ensnode/ensnode-sdk@1.15.0
    • @ensnode/datasources@1.15.0
    • @namehash/namehash-ui@1.15.0
    • @ensnode/scalar-react@0.0.0

ensindexer@1.15.0

Patch Changes

  • #2155 addfba6 Thanks @shrugs! - Basenames and Lineanames are now correctly canonicalized in the unigraph plugin.

  • Updated dependencies [bb0b244, 9c40ef1, addfba6, 55a6f23, 335f072]:

    • @ensnode/ensdb-sdk@1.15.0
    • enssdk@1.15.0
    • @ensnode/ensrainbow-sdk@1.15.0
    • @ensnode/ensnode-sdk@1.15.0
    • @ensnode/datasources@1.15.0
    • @ensnode/ponder-sdk@1.15.0

ensrainbow@1.15.0

Patch Changes

  • Updated dependencies [9c40ef1, 55a6f23, 335f072]:
    • enssdk@1.15.0
    • @ensnode/ensrainbow-sdk@1.15.0
    • @ensnode/ensnode-sdk@1.15.0

fallback-ensapi@1.15.0

Patch Changes

  • Updated dependencies [335f072]:
    • @ensnode/ensnode-sdk@1.15.0
    • @ensnode/datasources@1.15.0

@docs/ensnode@1.15.0

Patch Changes

  • Updated dependencies [9c40ef1, 335f072]:
    • enssdk@1.15.0
    • @ensnode/ensnode-sdk@1.15.0
    • @namehash/namehash-ui@1.15.0

@docs/ensrainbow@1.15.0

Patch Changes

  • Updated dependencies []:
    • @namehash/namehash-ui@1.15.0

@ensnode/enskit-react-example@0.0.8

Patch Changes

  • Updated dependencies [9c40ef1]:
    • enssdk@1.15.0
    • enskit@1.15.0

@ensnode/enssdk-example@0.0.2

Patch Changes

  • Updated dependencies [9c40ef1]:
    • enssdk@1.15.0

@ensnode/integration-test-env@1.15.0

Patch Changes

Read more

v1.14.0

Choose a tag to compare

@github-actions github-actions released this 19 May 09:26
4d0de63

@ensnode/ensdb-sdk@1.14.0

Minor Changes

  • #2101 7dd0d3f Thanks @shrugs! - Materialize Domain.canonicalName, canonicalLabelHashPath, and canonicalNode on every Canonical Domain. Indexes: hash on canonicalName (exact lookup), GIN trigram on canonicalName (substring), GIN on canonicalLabelHashPath (heal cascade), hash on canonicalNode (resolver-record joins).

  • #2125 f6ef397 Thanks @shrugs! - Materialize Domain.canonicalPath and canonicalDepth on every Canonical Domain, alongside the existing canonicalName / canonicalLabelHashPath / canonicalNode. canonicalPath is the head-first array of ancestor DomainIds (parallel to canonicalLabelHashPath); canonicalDepth is the label count. Adds a byCanonicalDepth btree index for ORDER BY canonical_depth (typeahead, depth-ordered browse).

Patch Changes

  • #2096 75e8aac Thanks @shrugs! - Replace the default btree index on label.interpreted with a hash index (for exact-match lookups) and a GIN trigram index (for substring / prefix LIKE queries). Avoids the btree 8191-byte leaf-size hazard that surfaces when a single label exceeds the limit (e.g. spam names), which previously crashed create_indexes at the historical→realtime boundary.

  • Updated dependencies [3132a77, 1b6abb0, 65cf37c]:

    • @ensnode/ensnode-sdk@1.14.0
    • enssdk@1.14.0

@ensnode/ensnode-sdk@1.14.0

Minor Changes

  • #2090 3132a77 Thanks @tk-o! - Added indexing status based functions for checking Omnigraph API and Subgraph API availability.

  • #2102 1b6abb0 Thanks @tk-o! - Added globalBlockrangeEndBlock param to buildIndexedBlockranges.

  • #2128 65cf37c Thanks @tk-o! - Renamed the ensv2 plugin to unigraph. It better conveys the idea of a single unified data model used for indexing both ENSv1 and ENSv2.

Patch Changes

  • Updated dependencies []:
    • enssdk@1.14.0
    • @ensnode/datasources@1.14.0

@ensnode/datasources@1.14.0

Patch Changes

  • Updated dependencies []:
    • enssdk@1.14.0

@namehash/ens-referrals@1.14.0

Patch Changes

enskit@1.14.0

Patch Changes

  • Updated dependencies []:
    • enssdk@1.14.0

@ensnode/ensrainbow-sdk@1.14.0

Patch Changes

  • Updated dependencies []:
    • enssdk@1.14.0

@namehash/namehash-ui@1.14.0

Patch Changes

  • #2113 010cd0c Thanks @notrab! - Eliminate the @ensnode/ensnode-react package; All developers building on ENSNode from a React-level should use the enskit package which specializes for this.

  • Updated dependencies [3132a77, 1b6abb0, 65cf37c]:

    • @ensnode/ensnode-sdk@1.14.0
    • enssdk@1.14.0
    • @ensnode/datasources@1.14.0

enssdk@1.14.0

ensskills@1.14.0

@ensnode/ponder-sdk@1.14.0

@ensnode/ponder-subgraph@1.14.0

ensadmin@1.14.0

Minor Changes

  • #2090 3132a77 Thanks @tk-o! - Added indexing status based guard for Omnigraph API and Subgraph API views.

Patch Changes

  • #2118 bb7ad4a Thanks @tk-o! - Refined information presented on the "Connection" view.

  • #2113 010cd0c Thanks @notrab! - Eliminate the @ensnode/ensnode-react package; All developers building on ENSNode from a React-level should use the enskit package which specializes for this.

  • Updated dependencies [3132a77, 1b6abb0, 65cf37c, 010cd0c]:

    • @ensnode/ensnode-sdk@1.14.0
    • @namehash/namehash-ui@1.14.0
    • enssdk@1.14.0
    • @ensnode/datasources@1.14.0
    • @ensnode/scalar-react@0.0.0

ensapi@1.14.0

Minor Changes

  • #2101 7dd0d3f Thanks @shrugs! - Omnigraph (breaking): Domain.resolver is now a non-null DomainResolver wrapper exposing Domain.resolver.assigned: Resolver (replacing the previous flat Domain.resolver: Resolver). The wrapper leaves room for future fields (e.g. effective) describing the Domain's resolution graph. Semantics of assigned are unchanged — it remains the Domain's assigned Resolver, not its effective Resolver.

    Omnigraph (breaking): DomainCanonical.name is now a non-null CanonicalName wrapper exposing DomainCanonical.name.interpreted: InterpretedName (replacing the previous flat DomainCanonical.name: InterpretedName). The wrapper leaves room for additional representations (e.g. a future beautified field).

  • #2125 f6ef397 Thanks @shrugs! - Omnigraph (breaking): where: { name } on Query.domains, Account.domains, Registry.domains, and Domain.subdomains now takes a DomainsNameFilter @oneOf input with three modes: starts_with (prefix autocomplete, the previous behavior), eq (exact InterpretedName match — sugar for in: [eq]), and in (exact match against a set of up to 100 InterpretedNames). The old shape where: { name: "examp" } becomes where: { name: { starts_with: "examp" } }; for exact lookups use where: { name: { eq: "vitalik.eth" } } or where: { name: { in: ["alice.eth", "bob.eth"] } }. Combine with version to disambiguate across ENS protocol versions (e.g. { name: { eq: "eth" }, version: ENSv1 } returns a single Domain).

  • #2125 f6ef397 Thanks @shrugs! - Omnigraph: add DEPTH to the DomainsOrderBy enum, ordering by the materialized Domain.canonicalDepth (number of labels in the Canonical Name). Applies to Query.domains, Account.domains, Registry.domains, and Domain.subdomains via order: { by: DEPTH }. Also wired in as the default ordering for where: { name: { starts_with } } (typeahead).

  • #2101 7dd0d3f Thanks @shrugs! - Omnigraph (breaking): restructure Domain.canonical into a nullable DomainCanonical object. Removes top-level Domain.canonical: Boolean!, Domain.name: InterpretedName, and Domain.path: [DomainInterface]; adds Domain.canonical: DomainCanonical (null when the Domain is not Canonical) with subfields { name: InterpretedName!, path: [Domain!]!, node: Node! }.

    Omnigraph (semantic change): Domain.parent now follows a single unidirectional pointer (Registry.canonicalDomainId) and does NOT enforce bidirectional canonical-edge agreement. Previously, parent was effectively null for non-canonical Domains and always pointed at a canonical Domain when non-null. With this change, a non-canonical Domain may have a non-null parent, and a canonical Domain's parent may itself be non-canonical. Consumers that relied on parent ⇒ canonical should additionally che...

Read more

v1.13.1

Choose a tag to compare

@github-actions github-actions released this 10 May 18:21
36ddf4b

@ensnode/datasources@1.13.1

Patch Changes

  • #2082 b32f09d Thanks @shrugs! - Hotfix: re-release of 1.13.0 including the documented changes to the Sepolia Namespace to include Basenames and Lineanames L1 Resolvers.

@namehash/ens-referrals@1.13.1

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.13.1
    • enssdk@1.13.1

@ensnode/ensdb-sdk@1.13.1

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.13.1
    • enssdk@1.13.1

enskit@1.13.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.13.1

@ensnode/ensnode-react@1.13.1

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.13.1
    • enssdk@1.13.1

@ensnode/ensnode-sdk@1.13.1

Patch Changes

  • Updated dependencies [b32f09d]:
    • @ensnode/datasources@1.13.1
    • enssdk@1.13.1

@ensnode/ensrainbow-sdk@1.13.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.13.1

@namehash/namehash-ui@1.13.1

Patch Changes

  • Updated dependencies [b32f09d]:
    • @ensnode/datasources@1.13.1
    • @ensnode/ensnode-sdk@1.13.1
    • @ensnode/ensnode-react@1.13.1
    • enssdk@1.13.1

enssdk@1.13.1

ensskills@1.13.1

@ensnode/ponder-sdk@1.13.1

@ensnode/ponder-subgraph@1.13.1

ensadmin@1.13.1

Patch Changes

  • Updated dependencies [b32f09d]:
    • @ensnode/datasources@1.13.1
    • @ensnode/ensnode-sdk@1.13.1
    • @namehash/namehash-ui@1.13.1
    • @ensnode/ensnode-react@1.13.1
    • enssdk@1.13.1
    • @ensnode/scalar-react@0.0.0

ensapi@1.13.1

Patch Changes

  • Updated dependencies [b32f09d]:
    • @ensnode/datasources@1.13.1
    • @ensnode/ensnode-sdk@1.13.1
    • @namehash/ens-referrals@1.13.1
    • @ensnode/ensdb-sdk@1.13.1
    • enssdk@1.13.1
    • @ensnode/ponder-subgraph@1.13.1

ensindexer@1.13.1

Patch Changes

  • Updated dependencies [b32f09d]:
    • @ensnode/datasources@1.13.1
    • @ensnode/ensnode-sdk@1.13.1
    • @ensnode/ensdb-sdk@1.13.1
    • @ensnode/ensrainbow-sdk@1.13.1
    • enssdk@1.13.1
    • @ensnode/ponder-sdk@1.13.1

ensrainbow@1.13.1

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.13.1
    • @ensnode/ensrainbow-sdk@1.13.1
    • enssdk@1.13.1

fallback-ensapi@1.13.1

Patch Changes

  • Updated dependencies [b32f09d]:
    • @ensnode/datasources@1.13.1
    • @ensnode/ensnode-sdk@1.13.1

@docs/ensnode@1.13.1

Patch Changes

  • Updated dependencies []:
    • @namehash/namehash-ui@1.13.1

@docs/ensrainbow@1.13.1

Patch Changes

  • Updated dependencies []:
    • @namehash/namehash-ui@1.13.1

@ensnode/enskit-react-example@0.0.7

Patch Changes

  • Updated dependencies []:
    • enssdk@1.13.1
    • enskit@1.13.1

@ensnode/integration-test-env@1.13.1

Patch Changes

  • Updated dependencies [b32f09d]:
    • @ensnode/datasources@1.13.1
    • @ensnode/ensnode-sdk@1.13.1
    • @ensnode/ensdb-sdk@1.13.1
    • @ensnode/shared-configs@1.13.1

enscli@1.13.1

@ensnode/ensindexer-perf-testing@1.13.1

📦 NPM packages

🐳 Docker images

v1.13.0

Choose a tag to compare

@github-actions github-actions released this 10 May 18:10
f13958b

@ensnode/datasources@1.13.0

Minor Changes

  • #2080 57bbef2 Thanks @shrugs! - Fixes BasenamesL1Resolver and LineanamesL1Resolver not being defined in the Sepolia namespace, causing ENSIndexer to crash when indexing Sepolia.

@namehash/ens-referrals@1.13.0

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.13.0
    • enssdk@1.13.0

@ensnode/ensdb-sdk@1.13.0

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.13.0
    • enssdk@1.13.0

enskit@1.13.0

Patch Changes

  • Updated dependencies []:
    • enssdk@1.13.0

@ensnode/ensnode-react@1.13.0

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.13.0
    • enssdk@1.13.0

@ensnode/ensnode-sdk@1.13.0

Patch Changes

  • Updated dependencies [57bbef2]:
    • @ensnode/datasources@1.13.0
    • enssdk@1.13.0

@ensnode/ensrainbow-sdk@1.13.0

Patch Changes

  • Updated dependencies []:
    • enssdk@1.13.0

@namehash/namehash-ui@1.13.0

Patch Changes

  • Updated dependencies [57bbef2]:
    • @ensnode/datasources@1.13.0
    • @ensnode/ensnode-sdk@1.13.0
    • @ensnode/ensnode-react@1.13.0
    • enssdk@1.13.0

enssdk@1.13.0

ensskills@1.13.0

@ensnode/ponder-sdk@1.13.0

@ensnode/ponder-subgraph@1.13.0

ensadmin@1.13.0

Patch Changes

  • Updated dependencies [57bbef2]:
    • @ensnode/datasources@1.13.0
    • @ensnode/ensnode-sdk@1.13.0
    • @namehash/namehash-ui@1.13.0
    • @ensnode/ensnode-react@1.13.0
    • enssdk@1.13.0
    • @ensnode/scalar-react@0.0.0

ensapi@1.13.0

Patch Changes

  • Updated dependencies [57bbef2]:
    • @ensnode/datasources@1.13.0
    • @ensnode/ensnode-sdk@1.13.0
    • @namehash/ens-referrals@1.13.0
    • @ensnode/ensdb-sdk@1.13.0
    • enssdk@1.13.0
    • @ensnode/ponder-subgraph@1.13.0

ensindexer@1.13.0

Patch Changes

  • Updated dependencies [57bbef2]:
    • @ensnode/datasources@1.13.0
    • @ensnode/ensnode-sdk@1.13.0
    • @ensnode/ensdb-sdk@1.13.0
    • @ensnode/ensrainbow-sdk@1.13.0
    • enssdk@1.13.0
    • @ensnode/ponder-sdk@1.13.0

ensrainbow@1.13.0

Patch Changes

  • Updated dependencies []:
    • @ensnode/ensnode-sdk@1.13.0
    • @ensnode/ensrainbow-sdk@1.13.0
    • enssdk@1.13.0

fallback-ensapi@1.13.0

Patch Changes

  • Updated dependencies [57bbef2]:
    • @ensnode/datasources@1.13.0
    • @ensnode/ensnode-sdk@1.13.0

@docs/ensnode@1.13.0

Patch Changes

  • Updated dependencies []:
    • @namehash/namehash-ui@1.13.0

@docs/ensrainbow@1.13.0

Patch Changes

  • Updated dependencies []:
    • @namehash/namehash-ui@1.13.0

@ensnode/enskit-react-example@0.0.6

Patch Changes

  • Updated dependencies []:
    • enssdk@1.13.0
    • enskit@1.13.0

@ensnode/integration-test-env@1.13.0

Patch Changes

  • Updated dependencies [57bbef2]:
    • @ensnode/datasources@1.13.0
    • @ensnode/ensnode-sdk@1.13.0
    • @ensnode/ensdb-sdk@1.13.0
    • @ensnode/shared-configs@1.13.0

enscli@1.13.0

@ensnode/ensindexer-perf-testing@1.13.0

📦 NPM packages

🐳 Docker images

v1.12.0

Choose a tag to compare

@github-actions github-actions released this 10 May 17:39
1ccea86

@ensnode/ensnode-sdk@1.12.0

Minor Changes

  • #2061 4fb7b33 Thanks @shrugs! - Breaking (@ensnode/ensnode-sdk): getRootRegistryIds is removed; use the new isRootRegistryId(namespace, registryId) predicate to test root membership instead. getRootRegistryId (singular, "preferred root") is unchanged.

Patch Changes

  • Updated dependencies []:
    • enssdk@1.12.0
    • @ensnode/datasources@1.12.0

@namehash/ens-referrals@1.12.0

Patch Changes

  • Updated dependencies [4fb7b33]:
    • @ensnode/ensnode-sdk@1.12.0
    • enssdk@1.12.0

@ensnode/ensdb-sdk@1.12.0

Patch Changes

  • Updated dependencies [4fb7b33]:
    • @ensnode/ensnode-sdk@1.12.0
    • enssdk@1.12.0

enskit@1.12.0

Patch Changes

  • Updated dependencies []:
    • enssdk@1.12.0

@ensnode/ensnode-react@1.12.0

Patch Changes

  • Updated dependencies [4fb7b33]:
    • @ensnode/ensnode-sdk@1.12.0
    • enssdk@1.12.0

@ensnode/ensrainbow-sdk@1.12.0

Patch Changes

  • Updated dependencies []:
    • enssdk@1.12.0

@namehash/namehash-ui@1.12.0

Patch Changes

  • Updated dependencies [4fb7b33]:
    • @ensnode/ensnode-sdk@1.12.0
    • @ensnode/ensnode-react@1.12.0
    • enssdk@1.12.0
    • @ensnode/datasources@1.12.0

@ensnode/datasources@1.12.0

enssdk@1.12.0

ensskills@1.12.0

@ensnode/ponder-sdk@1.12.0

@ensnode/ponder-subgraph@1.12.0

ensapi@1.12.0

Minor Changes

  • #2061 4fb7b33 Thanks @shrugs! - Omnigraph: expose Domain.canonical and Registry.canonical on the Omnigraph schema. Both are non-null Boolean! fields indicating whether the entity participates in the Canonical Nametree.

  • #2061 4fb7b33 Thanks @shrugs! - Omnigraph (breaking): drop the canonical: Boolean = false field from DomainsWhereInput (used by Query.domains). Every nameable Domain is canonical by definition, so the filter was redundant; the query now always scopes to Canonical Domains. Consumers passing where: { canonical: true } should drop the field; consumers relying on canonical: false (or default) to surface non-canonical Domains via this query no longer can — read Domain.canonical directly or scope by Account.domains / Registry.domains instead.

  • #2077 c2e1047 Thanks @shrugs! - Omnigraph: add an ENSProtocolVersion enum (ENSv1 | ENSv2) and where: { version } filter on Query.domains and Account.domains.

  • #2061 4fb7b33 Thanks @shrugs! - Omnigraph (breaking): Resolver.bridged is no longer an AccountId scalar; it now returns the bridged target Registry interface. Consumers should change their selection from bridged (scalar) to bridged { ... } (Registry interface) — the new shape exposes the full Registry and allows navigation into the bridged sub-registry's canonical Domain etc.

Patch Changes

  • Updated dependencies [4fb7b33]:
    • @ensnode/ensnode-sdk@1.12.0
    • @namehash/ens-referrals@1.12.0
    • @ensnode/ensdb-sdk@1.12.0
    • enssdk@1.12.0
    • @ensnode/datasources@1.12.0
    • @ensnode/ponder-subgraph@1.12.0

ensadmin@1.12.0

Patch Changes

  • Updated dependencies [4fb7b33]:
    • @ensnode/ensnode-sdk@1.12.0
    • @ensnode/ensnode-react@1.12.0
    • @namehash/namehash-ui@1.12.0
    • enssdk@1.12.0
    • @ensnode/datasources@1.12.0
    • @ensnode/scalar-react@0.0.0

ensindexer@1.12.0

Patch Changes

  • #2073 9785be0 Thanks @shrugs! - ENSIndexer ensv2 plugin: correctly handle non-UTF-8 string label args in RegistrarController:NameRegistered and :NameRenewed events. ABI-decoding replaces non-UTF-8 byte sequences with U+FFFD, which then fails the labelhash round-trip. Previously this threw a fatal Invariant(RegistrarController:NameRegistered) and aborted the run; now the label is treated as unemitted and the heal path indexes the registration under the canonical labelHash.

  • Updated dependencies [4fb7b33]:

    • @ensnode/ensnode-sdk@1.12.0
    • @ensnode/ensdb-sdk@1.12.0
    • @ensnode/ensrainbow-sdk@1.12.0
    • enssdk@1.12.0
    • @ensnode/datasources@1.12.0
    • @ensnode/ponder-sdk@1.12.0

ensrainbow@1.12.0

Patch Changes

  • Updated dependencies [4fb7b33]:
    • @ensnode/ensnode-sdk@1.12.0
    • @ensnode/ensrainbow-sdk@1.12.0
    • enssdk@1.12.0

fallback-ensapi@1.12.0

Patch Changes

  • Updated dependencies [4fb7b33]:
    • @ensnode/ensnode-sdk@1.12.0
    • @ensnode/datasources@1.12.0

@docs/ensnode@1.12.0

Patch Changes

  • Updated dependencies []:
    • @namehash/namehash-ui@1.12.0

@docs/ensrainbow@1.12.0

Patch Changes

  • Updated dependencies []:
    • @namehash/namehash-ui@1.12.0

@ensnode/enskit-react-example@0.0.5

Patch Changes

  • Updated dependencies []:
    • enssdk@1.12.0
    • enskit@1.12.0

@ensnode/integration-test-env@1.12.0

Patch Changes

  • Updated dependencies [4fb7b33]:
    • @ensnode/ensnode-sdk@1.12.0
    • @ensnode/ensdb-sdk@1.12.0
    • @ensnode/datasources@1.12.0
    • @ensnode/shared-configs@1.12.0

enscli@1.12.0

@ensnode/ensindexer-perf-testing@1.12.0

📦 NPM packages

🐳 Docker images

v1.11.1

Choose a tag to compare

@github-actions github-actions released this 07 May 18:32
dd1e72f

@namehash/ens-referrals@1.11.1

Patch Changes

  • #1998 d2fdf05 Thanks @Goader! - Add per-event accounting trace for rev-share-cap editions. The new ReferralEditionSnapshot (returned by buildReferralEditionSnapshot*) bundles the leaderboard with a chronological array of ReferralAccountingRecordRevShareCap.

  • Updated dependencies []:

    • enssdk@1.11.1
    • @ensnode/ensnode-sdk@1.11.1

@ensnode/ensdb-sdk@1.11.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.11.1
    • @ensnode/ensnode-sdk@1.11.1

enskit@1.11.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.11.1

@ensnode/ensnode-react@1.11.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.11.1
    • @ensnode/ensnode-sdk@1.11.1

@ensnode/ensnode-sdk@1.11.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.11.1
    • @ensnode/datasources@1.11.1

@ensnode/ensrainbow-sdk@1.11.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.11.1

@namehash/namehash-ui@1.11.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.11.1
    • @ensnode/datasources@1.11.1
    • @ensnode/ensnode-react@1.11.1
    • @ensnode/ensnode-sdk@1.11.1

@ensnode/datasources@1.11.1

enssdk@1.11.1

ensskills@1.11.1

@ensnode/ponder-sdk@1.11.1

@ensnode/ponder-subgraph@1.11.1

ensadmin@1.11.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.11.1
    • @ensnode/datasources@1.11.1
    • @ensnode/ensnode-react@1.11.1
    • @ensnode/ensnode-sdk@1.11.1
    • @namehash/namehash-ui@1.11.1
    • @ensnode/scalar-react@0.0.0

ensapi@1.11.1

Patch Changes

  • #1998 d2fdf05 Thanks @Goader! - Add GET /v1/ensanalytics/accounting?edition={slug} for rev-share-cap editions: returns a CSV dump of the per-event accounting trace, ordered chronologically.

  • Updated dependencies [d2fdf05]:

    • @namehash/ens-referrals@1.11.1
    • enssdk@1.11.1
    • @ensnode/datasources@1.11.1
    • @ensnode/ensdb-sdk@1.11.1
    • @ensnode/ensnode-sdk@1.11.1
    • @ensnode/ponder-subgraph@1.11.1

ensindexer@1.11.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.11.1
    • @ensnode/datasources@1.11.1
    • @ensnode/ensrainbow-sdk@1.11.1
    • @ensnode/ensdb-sdk@1.11.1
    • @ensnode/ensnode-sdk@1.11.1
    • @ensnode/ponder-sdk@1.11.1

ensrainbow@1.11.1

Patch Changes

  • Updated dependencies []:
    • enssdk@1.11.1
    • @ensnode/ensrainbow-sdk@1.11.1
    • @ensnode/ensnode-sdk@1.11.1

fallback-ensapi@1.11.1

Patch Changes

  • Updated dependencies []:
    • @ensnode/datasources@1.11.1
    • @ensnode/ensnode-sdk@1.11.1

@docs/ensnode@1.11.1

Patch Changes

  • Updated dependencies []:
    • @namehash/namehash-ui@1.11.1

@docs/ensrainbow@1.11.1

Patch Changes

  • Updated dependencies []:
    • @namehash/namehash-ui@1.11.1

@ensnode/enskit-react-example@0.0.4

Patch Changes

  • Updated dependencies []:
    • enssdk@1.11.1
    • enskit@1.11.1

@ensnode/integration-test-env@1.11.1

Patch Changes

  • Updated dependencies []:
    • @ensnode/datasources@1.11.1
    • @ensnode/ensdb-sdk@1.11.1
    • @ensnode/ensnode-sdk@1.11.1
    • @ensnode/shared-configs@1.11.1

enscli@1.11.1

@ensnode/ensindexer-perf-testing@1.11.1

📦 NPM packages

🐳 Docker images

v1.11.0

Choose a tag to compare

@github-actions github-actions released this 05 May 20:29
ca39fbe

@ensnode/datasources@1.11.0

Minor Changes

  • #2036 43d8a9b Thanks @shrugs! - Update sepolia-v2 namespace to point to the most recent Sepolia V2 deployment on the virtual Sepolia chain.

Patch Changes

  • #2049 5729ac1 Thanks @shrugs! - Removed LegacyEthRegistrarController, WrappedEthRegistrarController, and UniversalRegistrarRenewalWithReferrer placeholder entries from the sepolia-v2 namespace, and UniversalRegistrarRenewalWithReferrer from ens-test-env. AnyRegistrarControllerABI now also includes the UniversalRegistrarRenewalWithReferrer ABI.

@namehash/ens-referrals@1.11.0

Minor Changes

  • #1986 aa26180 Thanks @Goader! - Add BaseReferralProgramEditionConfig as the shared parent of ReferralProgramEditionConfig and BaseReferralProgramEditionSummary.

  • #1986 aa26180 Thanks @Goader! - Expose the per-award-model (pie-split, rev-share-cap) Zod schemas via @namehash/ens-referrals/internal.

  • #1986 aa26180 Thanks @Goader! - Reject overlapping referral program editions: for a given subregistryId, no two editions may share any point in time.

Patch Changes

@ensnode/ensdb-sdk@1.11.0

Minor Changes

  • #2016 7e77c5c Thanks @shrugs! - migrated_nodes renamed to migrated_nodes_by_parent and re-keyed by composite (parentNode, labelHash) to match the payload of ENSv1Registry(Old)#NewOwner events. New sibling migrated_nodes_by_node keyed solely by node for the three ENSv1RegistryOld handlers (Transfer / NewTTL / NewResolver) that emit only node. Both rows are written together by the migration helper so each read site addresses whichever key matches its event payload. Schema definitions live in a new migrated-nodes.schema.ts.

  • #2056 0e7c601 Thanks @shrugs! - Introduced IndexingMetadataContext as a single record type in the ENSNode Metadata table, replacing three separate record types (ensdb_version, ensindexer_public_config, ensindexer_indexing_status).

    • EnsDbReader: added getIndexingMetadataContext(), isHealthy(), isReady().
    • EnsDbWriter: added upsertIndexingMetadataContext().
    • Old per-record read/write methods removed.
    • EnsNodeMetadataKeys reduced to a single IndexingMetadataContext key.
  • #1983 6173160 Thanks @shrugs! - Unify v1Domain + v2Domain into a single polymorphic domain table discriminated by a type enum ("ENSv1Domain" | "ENSv2Domain"), and make Registry polymorphic across concrete ENSv1 (mainnet Registry, Basenames Registry, Lineanames Registry), ENSv1 Virtual (per-parent-domain virtual Registry managed by each ENSv1 domain that has children), and ENSv2 Registries.

    Breaking schema + id format changes

    • ENSv1DomainId is now a dash-delimited tuple: ${ENSv1RegistryId}-${node} (was Node). Every ENSv1 Domain is addressable through a concrete Registry, so bare node values no longer identify a Domain by themselves.
    • RegistryId is a union of ENSv1RegistryId, ENSv1VirtualRegistryId, and ENSv2RegistryId. New id constructors: makeENSv1RegistryId, makeENSv2RegistryId, makeENSv1VirtualRegistryId, and makeConcreteRegistryId (returns ENSv1RegistryId | ENSv2RegistryId for callsites that only need to address a concrete Registry contract). makeENSv1DomainId now takes (AccountId, Node).
    • domains table: replaces v1_domains + v2_domains. Adds type, nullable tokenId (non-null iff ENSv2), nullable node (non-null iff ENSv1), nullable rootRegistryOwnerId (v1 only). parentId removed; parent relationships flow through registryCanonicalDomain for both v1 and v2.
    • registries table: adds type enum column and nullable node (non-null iff ENSv1VirtualRegistry). Unique (chainId, address) index becomes a plain index so virtual Registries can share their concrete parent's (chainId, address).
    • registryCanonicalDomain.domainId is typed as the unified DomainId.

    GraphQL

    • Registry becomes a GraphQL interface with ENSv1Registry, ENSv1VirtualRegistry, and ENSv2Registry implementations. ENSv1VirtualRegistry exposes node: Node!.
    • Domain interface gains parent: Domain (resolved via the canonical-path dataloader); ENSv1Domain exposes node: Node! and rootRegistryOwner; ENSv2Domain exposes tokenId, registry, subregistry, permissions.
    • Query.registry(by: { contract }) now DB-looks up the concrete Registry by (chainId, address, type IN (ENSv1Registry, ENSv2Registry)). Virtual Registries are not addressable via AccountId alone.

Patch Changes

@ensnode/ensnode-sdk@1.11.0

Minor Changes

  • #2036 43d8a9b Thanks @shrugs! - Replaces the flat DEVNET_DEPLOYER / DEVNET_OWNER / DEVNET_USER / DEVNET_USER2 constants exported from @ensnode/ensnode-sdk/internal with a single DevnetAccounts object that groups each account's address and resolver. Consumers must migrate to DevnetAccounts.{deployer,owner,user,user2}.{address,resolver}.

  • #2017 824d819 Thanks @Goader! - Add $ENS Tokens as a supported currency in @ensnode/ensnode-sdk: CurrencyIds.ENSTokens, PriceEnsTokens/SerializedPriceEnsTokens types, and the priceEnsTokens, parseEnsTokens, serializePriceEnsTokens, deserializePriceEnsTokens helpers.

  • #1983 6173160 Thanks @shrugs! - Centralized Managed Name and Root Registry helpers.

    • Removed: getEthnamesSubregistryId, getEthnamesSubregistryManagedName, getBasenamesSubregistryId, getBasenamesSubregistryManagedName, getLineanamesSubregistryId, getLineanamesSubregistryManagedName.
    • Added: getManagedName(namespace, contract) — given any contract in the ENSv1 ecosystem, returns its Managed Name, namehas...
Read more