v1.14.0
@ensnode/ensdb-sdk@1.14.0
Minor Changes
-
#2101
7dd0d3fThanks @shrugs! - MaterializeDomain.canonicalName,canonicalLabelHashPath, andcanonicalNodeon every Canonical Domain. Indexes: hash oncanonicalName(exact lookup), GIN trigram oncanonicalName(substring), GIN oncanonicalLabelHashPath(heal cascade), hash oncanonicalNode(resolver-record joins). -
#2125
f6ef397Thanks @shrugs! - MaterializeDomain.canonicalPathandcanonicalDepthon every Canonical Domain, alongside the existingcanonicalName/canonicalLabelHashPath/canonicalNode.canonicalPathis the head-first array of ancestor DomainIds (parallel tocanonicalLabelHashPath);canonicalDepthis the label count. Adds abyCanonicalDepthbtree index forORDER BY canonical_depth(typeahead, depth-ordered browse).
Patch Changes
-
#2096
75e8aacThanks @shrugs! - Replace the default btree index onlabel.interpretedwith a hash index (for exact-match lookups) and a GIN trigram index (for substring / prefixLIKEqueries). Avoids the btree 8191-byte leaf-size hazard that surfaces when a single label exceeds the limit (e.g. spam names), which previously crashedcreate_indexesat 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
3132a77Thanks @tk-o! - Added indexing status based functions for checking Omnigraph API and Subgraph API availability. -
#2102
1b6abb0Thanks @tk-o! - AddedglobalBlockrangeEndBlockparam tobuildIndexedBlockranges. -
#2128
65cf37cThanks @tk-o! - Renamed theensv2plugin tounigraph. 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
010cd0cThanks @notrab! - Eliminate the@ensnode/ensnode-reactpackage; All developers building on ENSNode from a React-level should use theenskitpackage 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
3132a77Thanks @tk-o! - Added indexing status based guard for Omnigraph API and Subgraph API views.
Patch Changes
-
#2118
bb7ad4aThanks @tk-o! - Refined information presented on the "Connection" view. -
#2113
010cd0cThanks @notrab! - Eliminate the@ensnode/ensnode-reactpackage; All developers building on ENSNode from a React-level should use theenskitpackage 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
7dd0d3fThanks @shrugs! - Omnigraph (breaking):Domain.resolveris now a non-nullDomainResolverwrapper exposingDomain.resolver.assigned: Resolver(replacing the previous flatDomain.resolver: Resolver). The wrapper leaves room for future fields (e.g.effective) describing the Domain's resolution graph. Semantics ofassignedare unchanged — it remains the Domain's assigned Resolver, not its effective Resolver.Omnigraph (breaking):
DomainCanonical.nameis now a non-nullCanonicalNamewrapper exposingDomainCanonical.name.interpreted: InterpretedName(replacing the previous flatDomainCanonical.name: InterpretedName). The wrapper leaves room for additional representations (e.g. a futurebeautifiedfield). -
#2125
f6ef397Thanks @shrugs! - Omnigraph (breaking):where: { name }onQuery.domains,Account.domains,Registry.domains, andDomain.subdomainsnow takes aDomainsNameFilter@oneOfinput with three modes:starts_with(prefix autocomplete, the previous behavior),eq(exact InterpretedName match — sugar forin: [eq]), andin(exact match against a set of up to 100 InterpretedNames). The old shapewhere: { name: "examp" }becomeswhere: { name: { starts_with: "examp" } }; for exact lookups usewhere: { name: { eq: "vitalik.eth" } }orwhere: { name: { in: ["alice.eth", "bob.eth"] } }. Combine withversionto disambiguate across ENS protocol versions (e.g.{ name: { eq: "eth" }, version: ENSv1 }returns a single Domain). -
#2125
f6ef397Thanks @shrugs! - Omnigraph: addDEPTHto theDomainsOrderByenum, ordering by the materializedDomain.canonicalDepth(number of labels in the Canonical Name). Applies toQuery.domains,Account.domains,Registry.domains, andDomain.subdomainsviaorder: { by: DEPTH }. Also wired in as the default ordering forwhere: { name: { starts_with } }(typeahead). -
#2101
7dd0d3fThanks @shrugs! - Omnigraph (breaking): restructureDomain.canonicalinto a nullableDomainCanonicalobject. Removes top-levelDomain.canonical: Boolean!,Domain.name: InterpretedName, andDomain.path: [DomainInterface]; addsDomain.canonical: DomainCanonical(null when the Domain is not Canonical) with subfields{ name: InterpretedName!, path: [Domain!]!, node: Node! }.Omnigraph (semantic change):
Domain.parentnow follows a single unidirectional pointer (Registry.canonicalDomainId) and does NOT enforce bidirectional canonical-edge agreement. Previously,parentwas 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-nullparent, and a canonical Domain'sparentmay itself be non-canonical. Consumers that relied onparent ⇒ canonicalshould additionally checkdomain.canonical. -
#2126
26dc2daThanks @shrugs! - Omnigraph (breaking): filter args on*.eventsand*.permissionsconnections now use operator-based inputs.EventsWhereInput/AccountEventsWhereInput:selector_in: [Hex]→selector: { eq | in },timestamp_gte/timestamp_lte→timestamp: { gt?, gte?, lt?, lte? },from/sender→{ eq | in }.DomainPermissionsWhereInput.user→{ eq | in }.Account.permissions(in: AccountIdInput)→Account.permissions(where: { contract: AccountIdInput }). Set-membershipinis capped at 10 items; timestamp ranges require ≥1 bound and rejectgt+gte/lt+ltecombinations and inverted bounds. -
#2102
1b6abb0Thanks @tk-o! - Continue to support protocol acceleration for data indexed from ENSv1 namespaces. Protocol acceleration for data indexed from ENSv2 namespaces will be supported in the near future. -
#2090
3132a77Thanks @tk-o! - Added indexing status based guard for Omnigraph API and Subgraph API routes.
Patch Changes
-
#2104
89c022bThanks @shrugs! - Resolution API: Protocol Accelerated records now correctly resolve instead of incorrectly always returningnull. -
#2097
1bc96f8Thanks @shrugs! - Forward Resolution is no longer disabled on ENSv1-only namespaces when theunigraphplugin is enabled. Forward Resolution is only (temporarily) disabled when a namespace has been upgraded to ENSv2. The Resolution API continues to operate in either case, just without Protocol Acceleration (temporarily) when ENSv2 is deployed. -
#2101
7dd0d3fThanks @shrugs! - Omnigraph: The Domain interface now exposesDomain.registryandDomain.subregistryrather than being isolated to the concrete ENSv2 Domain entity, as in the unified model both ENSv1 and ENSv2 Domains have a parent and child Registry. -
Updated dependencies [
3132a77,1b6abb0,7dd0d3f,f6ef397,65cf37c,75e8aac]:- @ensnode/ensnode-sdk@1.14.0
- @ensnode/ensdb-sdk@1.14.0
- @namehash/ens-referrals@1.14.0
- enssdk@1.14.0
- @ensnode/datasources@1.14.0
- @ensnode/ponder-subgraph@1.14.0
ensindexer@1.14.0
Minor Changes
-
#2101
7dd0d3fThanks @shrugs! - MaterializeDomain.canonicalName,canonicalLabelHashPath, andcanonicalNodeon every Canonical Domain. Indexes: hash oncanonicalName(exact lookup), GIN trigram oncanonicalName(substring), GIN oncanonicalLabelHashPath(heal cascade), hash oncanonicalNode(resolver-record joins). -
#2125
f6ef397Thanks @shrugs! - MaterializeDomain.canonicalPathandcanonicalDepthon every Canonical Domain, alongside the existingcanonicalName/canonicalLabelHashPath/canonicalNode.canonicalPathis the head-first array of ancestor DomainIds (parallel tocanonicalLabelHashPath);canonicalDepthis the label count. Adds abyCanonicalDepthbtree index forORDER BY canonical_depth(typeahead, depth-ordered browse). -
#2128
65cf37cThanks @tk-o! - Renamed theensv2plugin tounigraph. It better conveys the idea of a single unified data model used for indexing both ENSv1 and ENSv2.
Patch Changes
-
#2108
f61d04bThanks @shrugs! - ENSIndexer: fix crash on startup after crash recovery when one or more chains were in Queued status pre-crash. The omnichain status snapshot builder now promotes such chains to Backfill once other chains' progress has advanced past theirstartBlocktimestamp, instead of failing theomnichainIndexingCursor < earliestQueuedStartBlockinvariant. -
Updated dependencies [
3132a77,1b6abb0,7dd0d3f,f6ef397,65cf37c,75e8aac]:- @ensnode/ensnode-sdk@1.14.0
- @ensnode/ensdb-sdk@1.14.0
- @ensnode/ensrainbow-sdk@1.14.0
- enssdk@1.14.0
- @ensnode/datasources@1.14.0
- @ensnode/ponder-sdk@1.14.0
@docs/ensnode@1.14.0
Minor Changes
Patch Changes
-
#2106
c4b00aeThanks @shrugs! - Updates the Omnigraph Integration Documentation with comprehensive getting started examples and walkthroughs. -
Updated dependencies [
3132a77,1b6abb0,65cf37c,010cd0c]:- @ensnode/ensnode-sdk@1.14.0
- @namehash/namehash-ui@1.14.0
- enssdk@1.14.0
ensrainbow@1.14.0
Patch Changes
- Updated dependencies [
3132a77,1b6abb0,65cf37c]:- @ensnode/ensnode-sdk@1.14.0
- @ensnode/ensrainbow-sdk@1.14.0
- enssdk@1.14.0
fallback-ensapi@1.14.0
Patch Changes
- Updated dependencies [
3132a77,1b6abb0,65cf37c]:- @ensnode/ensnode-sdk@1.14.0
- @ensnode/datasources@1.14.0
@docs/ensrainbow@1.14.0
Patch Changes
- Updated dependencies [
010cd0c]:- @namehash/namehash-ui@1.14.0
@ensnode/integration-test-env@1.14.0
Patch Changes
- Updated dependencies [
3132a77,1b6abb0,7dd0d3f,f6ef397,65cf37c,75e8aac]:- @ensnode/ensnode-sdk@1.14.0
- @ensnode/ensdb-sdk@1.14.0
- @ensnode/datasources@1.14.0
- @ensnode/shared-configs@1.14.0
enscli@1.14.0
@ensnode/ensindexer-perf-testing@1.14.0
📦 NPM packages
- @ensnode/datasources@1.14.0
- @ensnode/ensdb-sdk@1.14.0
- enskit@1.14.0
- @ensnode/ensnode-sdk@1.14.0
- @ensnode/ensrainbow-sdk@1.14.0
- enssdk@1.14.0
- ensskills@1.14.0
- @ensnode/ponder-sdk@1.14.0
- @ensnode/ponder-subgraph@1.14.0
- enscli@1.14.0