Skip to content
This repository was archived by the owner on Aug 5, 2026. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/efp-datasources.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/efp-ensdb-sdk.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/efp-ensindexer.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/efp-enskit.md

This file was deleted.

10 changes: 0 additions & 10 deletions .changeset/efp-omnigraph.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/efp-protocol-skill.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/ensdb-sdk-schema-metadata-helpers.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/ensindexer-per-chain-end-blocks.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/ensindexer-sdk-indexed-blockranges.md

This file was deleted.

5 changes: 5 additions & 0 deletions .changeset/fix-grace-period-boundary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@ensnode/ensnode-sdk": patch
---

Fix boundary gap in `isRegistrationInGracePeriod`: the grace-period upper bound is now inclusive (`>=`) so that `isRegistrationInGracePeriod` and `isRegistrationFullyExpired` are complementary at `now == expiry + gracePeriod`.
Comment thread
tk-o marked this conversation as resolved.
Outdated
Comment thread
tk-o marked this conversation as resolved.
Outdated
5 changes: 0 additions & 5 deletions .changeset/fix-label-heal-cascade.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/moody-wasps-flow.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/sepolia-v2-latest-addresses.md

This file was deleted.

11 changes: 11 additions & 0 deletions apps/ensadmin/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# ensadmin

## 1.17.0

### Patch Changes

- Updated dependencies [[`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`edf120e`](https://github.com/namehash/ensnode/commit/edf120e13980ceccf075dede9f8dbfd10c5353af), [`eaab1bf`](https://github.com/namehash/ensnode/commit/eaab1bffdc0db0f61ccdd06efe0f63aaddf709e3)]:
- @ensnode/datasources@1.17.0
- @ensnode/ensnode-sdk@1.17.0
- enssdk@1.17.0
- @namehash/namehash-ui@1.17.0
- @ensnode/scalar-react@0.0.0

## 1.16.0

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion apps/ensadmin/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ensadmin",
"version": "1.16.0",
"version": "1.17.0",
"private": true,
"type": "module",
"description": "Inspect the ENS Protocol like never before",
Expand Down
20 changes: 20 additions & 0 deletions apps/ensapi/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
# ensapi

## 1.17.0

### Minor Changes

- [#2296](https://github.com/namehash/ensnode/pull/2296) [`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20) Thanks [@shrugs](https://github.com/shrugs)! - Exposes EFP (Ethereum Follow Protocol) data through the Omnigraph API.

`Query.efp` (null if `efp` plugin is not enabled) exposes the EFP-protocol-level queries `Query.efp.list(by:)`, `Query.efp.lists(where:)`, and `Query.efp.listRecords(where:)` (each record exposing its owning `list`), with cursor-paginated connections and where-filters (owner/user/manager, recordData).

`Account.efp` (null if `efp` plugin is not enabled) exposes the Account-specific queries `Account.efp.primaryList`, `Account.efp.following` / `Account.efp.followers` (the validated social follow graph — accounts whose validated primary list follows, or is followed by, this account, excluding `block`/`mute`-tagged records), the `Account.efp.lists` it is the `user` of, and its account `Account.efp.metadata(key:)` / `Account.efp.metadatas`.

### Patch Changes

- Updated dependencies [[`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`eb33f1d`](https://github.com/namehash/ensnode/commit/eb33f1df137c00d17840bb99ecb072ced49259a6), [`edf120e`](https://github.com/namehash/ensnode/commit/edf120e13980ceccf075dede9f8dbfd10c5353af), [`eaab1bf`](https://github.com/namehash/ensnode/commit/eaab1bffdc0db0f61ccdd06efe0f63aaddf709e3)]:
- @ensnode/datasources@1.17.0
- @ensnode/ensdb-sdk@1.17.0
- @ensnode/ensnode-sdk@1.17.0
- enssdk@1.17.0
- @namehash/ens-referrals@1.17.0
- @ensnode/ponder-subgraph@1.17.0

## 1.16.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion apps/ensapi/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ensapi",
"version": "1.16.0",
"version": "1.17.0",
"private": true,
"type": "module",
"description": "ENSNode's ENS API",
Expand Down
24 changes: 24 additions & 0 deletions apps/ensindexer/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
# ensindexer

## 1.17.0

### Minor Changes

- [#2296](https://github.com/namehash/ensnode/pull/2296) [`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20) Thanks [@shrugs](https://github.com/shrugs)! - Introduces the EFP (Ethereum Follow Protocol) plugin (`efp`). Enabling it will index EFP list NFTs, records, tags, and account metadata into ENSDb's `efp_*` tables and will enable the `Query.efp` and `Account.efp` fields in the Omnigraph API.

- [#2176](https://github.com/namehash/ensnode/pull/2176) [`edf120e`](https://github.com/namehash/ensnode/commit/edf120e13980ceccf075dede9f8dbfd10c5353af) Thanks [@shrugs](https://github.com/shrugs)! - Replace the global `START_BLOCK`/`END_BLOCK` indexing-range configuration with per-chain end blocks via `END_BLOCK_<chainId>` environment variables (e.g. `END_BLOCK_1`, `END_BLOCK_8453`). Each constrains the indexing end block of its chain independently and MAY be set across any number of indexed chains. This enables deterministic, reproducible multichain checkpoints where every indexed chain stops at a block corresponding to a shared timestamp.

### Patch Changes

- [#2339](https://github.com/namehash/ensnode/pull/2339) [`ffc2d49`](https://github.com/namehash/ensnode/commit/ffc2d49f346844bda73809b97c8908c6a6a662c2) Thanks [@shrugs](https://github.com/shrugs)! - Domains composed of Labels that are healed after discovery now have their Canonical Names correctly updated.

- [#2219](https://github.com/namehash/ensnode/pull/2219) [`db70772`](https://github.com/namehash/ensnode/commit/db70772012aac420ab133dc954c3680d991958ef) Thanks [@tk-o](https://github.com/tk-o)! - Introduced `PONDER_STATEMENT_TIMEOUT` setting to manage database timeouts more granularly.

- [#2318](https://github.com/namehash/ensnode/pull/2318) [`eaab1bf`](https://github.com/namehash/ensnode/commit/eaab1bffdc0db0f61ccdd06efe0f63aaddf709e3) Thanks [@shrugs](https://github.com/shrugs)! - Updates the `sepolia-v2` ENS Namespace with the latest deployment addresses.

- Updated dependencies [[`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`eb33f1d`](https://github.com/namehash/ensnode/commit/eb33f1df137c00d17840bb99ecb072ced49259a6), [`edf120e`](https://github.com/namehash/ensnode/commit/edf120e13980ceccf075dede9f8dbfd10c5353af), [`eaab1bf`](https://github.com/namehash/ensnode/commit/eaab1bffdc0db0f61ccdd06efe0f63aaddf709e3)]:
- @ensnode/datasources@1.17.0
- @ensnode/ensdb-sdk@1.17.0
- @ensnode/ensnode-sdk@1.17.0
- enssdk@1.17.0
- @ensnode/ensrainbow-sdk@1.17.0
- @ensnode/ponder-sdk@1.17.0

## 1.16.0

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion apps/ensindexer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ensindexer",
"version": "1.16.0",
"version": "1.17.0",
"private": true,
"type": "module",
"description": "A multichain ENS indexer, powered by Ponder",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,10 +103,15 @@ export default function () {
`Invariant(ENSv2Registry:Label[Registered|Reserved]): Existing unexpired Registration found, expected none or expired.\n${toJson(registration, { pretty: true })}`,
);
}
} else {
// Invariant: if this is a Registration, unless it is a Reservation, it should be fully expired
} else if (registration) {
// There's an existing Registration, so we need to handle it carefully.
// For a reverse name registration, the registrant ID value is guaranteed to end with the label value.
const isReverseNameRegistration =
registration?.registrantId && registration.registrantId === `0x${label}`;
Comment on lines +109 to +110

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Optional: simplify isReverseNameRegistration type.

Since registration is already truthy in the else if (registration) branch, the optional chaining registration?.registrantId is redundant. Additionally, the && short-circuit gives isReverseNameRegistration a union type (NormalizedAddress | null | boolean) rather than strictly boolean. Coercing with !! would make the intent and type clearer:

-      const isReverseNameRegistration =
-        registration?.registrantId && registration.registrantId === `0x${label}`;
+      const isReverseNameRegistration =
+        registration.registrantId === `0x${label}`;

registrantId being null would cause === \0x${label}`to evaluate tofalse, so the &&` guard is unnecessary for correctness.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
const isReverseNameRegistration =
registration?.registrantId && registration.registrantId === `0x${label}`;
const isReverseNameRegistration =
registration.registrantId === `0x${label}`;
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/ensindexer/src/plugins/unigraph/handlers/ensv2/ENSv2Registry.ts` around
lines 109 - 110, Update isReverseNameRegistration in the else-if (registration)
branch to remove redundant optional chaining and the registrantId && guard,
coercing the equality check with !! so the value is always boolean while
preserving the existing label comparison.


Comment thread
tk-o marked this conversation as resolved.
Comment on lines +107 to +111
// Invariant: if this is a Registration, unless it is a Reservation or a reverse name Registration, it should be fully expired
Comment thread
tk-o marked this conversation as resolved.
if (
registration &&
!isReverseNameRegistration &&
registration.type !== "ENSv2RegistryReservation" &&
!isRegistrationFullyExpired(registration, event.block.timestamp)
) {
Expand Down
9 changes: 9 additions & 0 deletions apps/ensrainbow/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# ensrainbow

## 1.17.0

### Patch Changes

- Updated dependencies [[`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`edf120e`](https://github.com/namehash/ensnode/commit/edf120e13980ceccf075dede9f8dbfd10c5353af)]:
- @ensnode/ensnode-sdk@1.17.0
- enssdk@1.17.0
- @ensnode/ensrainbow-sdk@1.17.0

## 1.16.0

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion apps/ensrainbow/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ensrainbow",
"version": "1.16.0",
"version": "1.17.0",
"private": true,
"type": "module",
"description": "ENSRainbow is an ENSNode service for healing ENS labels",
Expand Down
8 changes: 8 additions & 0 deletions apps/fallback-ensapi/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# fallback-ensapi

## 1.17.0

### Patch Changes

- Updated dependencies [[`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`edf120e`](https://github.com/namehash/ensnode/commit/edf120e13980ceccf075dede9f8dbfd10c5353af), [`eaab1bf`](https://github.com/namehash/ensnode/commit/eaab1bffdc0db0f61ccdd06efe0f63aaddf709e3)]:
- @ensnode/datasources@1.17.0
- @ensnode/ensnode-sdk@1.17.0

## 1.16.0

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion apps/fallback-ensapi/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"private": true,
"name": "fallback-ensapi",
"version": "1.16.0",
"version": "1.17.0",
"type": "module",
"description": "Infrastructure-level Fallback for ENSApi",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion docker/services/ensadmin.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
services:
ensadmin:
container_name: ensadmin
image: ghcr.io/namehash/ensnode/ensadmin:${ENSNODE_VERSION:-1.16.0}
image: ghcr.io/namehash/ensnode/ensadmin:${ENSNODE_VERSION:-1.17.0}
Comment thread
tk-o marked this conversation as resolved.
build:
dockerfile: ./apps/ensadmin/Dockerfile
context: ../..
Expand Down
2 changes: 1 addition & 1 deletion docker/services/ensapi.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
services:
ensapi:
container_name: ensapi
image: ghcr.io/namehash/ensnode/ensapi:${ENSNODE_VERSION:-1.16.0}
image: ghcr.io/namehash/ensnode/ensapi:${ENSNODE_VERSION:-1.17.0}
Comment thread
tk-o marked this conversation as resolved.
Comment thread
tk-o marked this conversation as resolved.
build:
dockerfile: ./apps/ensapi/Dockerfile
context: ../..
Expand Down
2 changes: 1 addition & 1 deletion docker/services/ensindexer.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
services:
ensindexer:
container_name: ensindexer
image: ghcr.io/namehash/ensnode/ensindexer:${ENSNODE_VERSION:-1.16.0}
image: ghcr.io/namehash/ensnode/ensindexer:${ENSNODE_VERSION:-1.17.0}
Comment thread
tk-o marked this conversation as resolved.
build:
dockerfile: ./apps/ensindexer/Dockerfile
context: ../..
Expand Down
2 changes: 1 addition & 1 deletion docker/services/ensrainbow.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
services:
ensrainbow:
container_name: ensrainbow
image: ghcr.io/namehash/ensnode/ensrainbow:${ENSNODE_VERSION:-1.16.0}
image: ghcr.io/namehash/ensnode/ensrainbow:${ENSNODE_VERSION:-1.17.0}
Comment thread
tk-o marked this conversation as resolved.
build:
dockerfile: ./apps/ensrainbow/Dockerfile
context: ../..
Expand Down
8 changes: 8 additions & 0 deletions docs/ensnode.io/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @docs/ensnode

## 1.17.0

### Patch Changes

- Updated dependencies [[`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`edf120e`](https://github.com/namehash/ensnode/commit/edf120e13980ceccf075dede9f8dbfd10c5353af)]:
- @ensnode/ensnode-sdk@1.17.0
- @namehash/namehash-ui@1.17.0

## 1.16.0

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion docs/ensnode.io/ensapi-openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"openapi": "3.1.0",
"info": {
"title": "ENSApi APIs",
"version": "1.16.0",
"version": "1.17.0",
"description": "REST APIs for the ENSNode stack as served by the ENSApi service"
},
"servers": [
Expand Down
2 changes: 1 addition & 1 deletion docs/ensnode.io/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"private": true,
"license": "MIT",
"type": "module",
"version": "1.16.0",
"version": "1.17.0",
"packageManager": "pnpm@10.33.0",
"scripts": {
"dev": "astro dev",
Expand Down
7 changes: 7 additions & 0 deletions docs/ensrainbow.io/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @docs/ensrainbow

## 1.17.0

### Patch Changes

- Updated dependencies []:
- @namehash/namehash-ui@1.17.0

## 1.16.0

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion docs/ensrainbow.io/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@docs/ensrainbow",
"type": "module",
"version": "1.16.0",
"version": "1.17.0",
"license": "MIT",
"packageManager": "pnpm@10.33.0",
"private": true,
Expand Down
13 changes: 13 additions & 0 deletions packages/datasources/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# @ensnode/ens-deployments

## 1.17.0

### Minor Changes

- [#2296](https://github.com/namehash/ensnode/pull/2296) [`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20) Thanks [@shrugs](https://github.com/shrugs)! - Introduces the `EFP*` Datasources on the `mainnet` and `ens-test-env` namespaces.

### Patch Changes

- [#2318](https://github.com/namehash/ensnode/pull/2318) [`eaab1bf`](https://github.com/namehash/ensnode/commit/eaab1bffdc0db0f61ccdd06efe0f63aaddf709e3) Thanks [@shrugs](https://github.com/shrugs)! - Updates the `sepolia-v2` ENS Namespace with the latest deployment addresses.

- Updated dependencies [[`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20)]:
- enssdk@1.17.0

## 1.16.0

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/datasources/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ensnode/datasources",
"version": "1.16.0",
"version": "1.17.0",
"type": "module",
"description": "Catalog of ENSNode-related datasources including chain, contract addresses, start blocks, and event filters.",
"license": "MIT",
Expand Down
8 changes: 8 additions & 0 deletions packages/ens-referrals/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @namehash/ens-referrals

## 1.17.0

### Patch Changes

- Updated dependencies [[`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`6542c89`](https://github.com/namehash/ensnode/commit/6542c89569add9fd315bb1f10a9263f59d52da20), [`edf120e`](https://github.com/namehash/ensnode/commit/edf120e13980ceccf075dede9f8dbfd10c5353af)]:
- @ensnode/ensnode-sdk@1.17.0
- enssdk@1.17.0

## 1.16.0

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/ens-referrals/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@namehash/ens-referrals",
"version": "1.16.0",
"version": "1.17.0",
"type": "module",
"description": "Utilities for ENS Referrals.",
"license": "MIT",
Expand Down
Loading
Loading