Skip to content

chore(enssdk): migrate core ENS types and utilities#1889

Open
shrugs wants to merge 7 commits intomainfrom
chore/enssdk-migrate-core-types-utilities
Open

chore(enssdk): migrate core ENS types and utilities#1889
shrugs wants to merge 7 commits intomainfrom
chore/enssdk-migrate-core-types-utilities

Conversation

@shrugs
Copy link
Copy Markdown
Collaborator

@shrugs shrugs commented Apr 7, 2026

Substantial PR


Reviewer Focus (Read This First)

the import splitting across ~200 files is mechanical, but worth spot-checking to make sure no symbols ended up on the wrong side of the enssdk / @ensnode/ensnode-sdk boundary. the new typed wrappers (namehash, labelhash) in enssdk/src/lib/labelhash.ts and namehash.ts coexist with labelhashLiteralLabel — confirm the naming/semantics are clear.


Problem & Motivation

closes #1878

core ENS utilities (constants, labelhash, normalization, interpretation, coin-type, dns-encoding, reverse-name, etc.) lived in @ensnode/ensnode-sdk but belong in enssdk — the foundational library. external consumers shouldn't need ensnode-sdk for basic ENS operations.

additionally, ensnode-sdk/src/ens/index.ts had a blanket export * from "enssdk" that hid the dependency boundary — consumers couldn't tell which symbols came from which package.


What Changed (Concrete)

  1. migrated 10 source modules + tests from ensnode-sdkenssdk/src/lib/: labelhash, encode-labelhash, is-normalized, coin-type, parse-labelhash, constants, dns-encoded-name, names, reverse-name, parse-reverse-name, interpreted-names-and-labels
  2. merged shared/labelhash.ts, ens/labelhash.ts, and ens/encode-labelhash.ts into a single enssdk/src/lib/labelhash.ts
  3. added typed wrappers: namehash(Name) → Node and labelhash(Label) → LabelHash in enssdk
  4. re-exported Address and Hex from viem in enssdk/src/lib/types/evm.ts
  5. moved asLowerCaseAddress from ensnode-sdk/shared/address.ts to enssdk/src/lib/address.ts
  6. removed export * from "enssdk" from ensnode-sdk/src/ens/index.ts
  7. updated ~200 files across the monorepo to import enssdk-originated symbols from "enssdk" directly — including Address/Hex, namehash/labelhash, and asLowerCaseAddress
  8. updated jsdoc examples in ensapi/client.ts and doc site .mdx/README files to import namehash/labelhash from enssdk
  9. added enssdk as dependency to 7 packages that previously got enssdk types transitively: ensadmin, ensrainbow, ensdb-sdk, ensnode-react, ensrainbow-sdk, ens-referrals, namehash-ui
  10. added @adraffy/ens-normalize as dependency of enssdk (needed by beautifyName)

Design & Planning

  • Planning artifacts: .claude/plans/effervescent-foraging-walrus.md
  • approach: bottom-up migration by dependency order, then mechanical import rewriting
  • alternative considered: keeping the blanket re-export for backwards compat — rejected because it hides the dependency boundary and defeats the purpose of the split

Self-Review

  • Bugs caught: parseAssetId and parseAccountId were incorrectly moved to enssdk imports (they're ensnode-sdk functions, not enssdk) — caught during typecheck and fixed. several ensv2 types (DomainId, PermissionsId, RegistrationId, etc.) were initially missed by the import migration agents — caught during typecheck and fixed.
  • Logic simplified: merged 3 labelhash-related files into one
  • Dead or unnecessary code removed: deleted 23 files from ensnode-sdk that were fully migrated

Cross-Codebase Alignment

  • Search terms used: from "@ensnode/ensnode-sdk", from "enssdk", from "viem" (for Address/Hex/namehash/labelhash), all enssdk type names
  • Reviewed but unchanged: ens/fuses.ts, ens/subname-helpers.ts, shared/interpretation/reinterpretation.ts, shared/interpretation/interpret-record-values.ts — intentionally stay in ensnode-sdk
  • Deferred alignment: @ensnode/datasources still imports Address from viem (doesn't depend on enssdk)

Downstream & Consumer Impact

  • Public APIs affected: enssdk gains all migrated exports. @ensnode/ensnode-sdk no longer re-exports enssdk's full surface — consumers that depended on this transitive re-export must now depend on enssdk directly.
  • Docs updated: jsdoc examples in ensapi/client.ts, datasources README, and doc site .mdx files updated to import from enssdk
  • Naming decisions: labelhash (typed viem wrapper, handles encoded labelhashes) vs labelhashLiteralLabel (keccak256 of literal bytes, no encoded labelhash handling) coexist in labelhash.ts

Testing Evidence

  • pnpm typecheck — all packages pass
  • pnpm lint — clean
  • pnpm test — 1325/1325 tests pass across 117 test files
  • all migrated test files moved alongside their source and pass in enssdk

Scope Reductions

  • interpretName helper deferred — not included per discussion
  • ens/subname-helpers.ts stays in ensnode-sdk for now
  • @ensnode/datasources still imports Address from viem (doesn't depend on enssdk)

Risk Analysis

  • risk areas: the mechanical import rewriting touched ~200 files — any symbol misclassified (enssdk vs ensnode-sdk) would cause a typecheck failure, which was caught
  • mitigations: full monorepo typecheck + lint + test suite passes; git detected most moves as renames
  • named owner: @shrugs

Pre-Review Checklist (Blocking)

  • I reviewed every line of this diff and understand it end-to-end
  • I'm prepared to defend this PR line-by-line in review
  • I'm comfortable being the on-call owner for this change
  • Relevant changesets are included (or explicitly not required)

🤖 Generated with Claude Code

moves core ENS utilities (constants, labelhash, normalization, interpretation,
coin-type, dns-encoding, reverse-name, etc.) from @ensnode/ensnode-sdk into
enssdk — the foundational library. removes the blanket `export * from "enssdk"`
re-export from ensnode-sdk so all packages import enssdk types directly.

adds typed wrappers for namehash() and labelhash() that return branded types.
re-exports Address and Hex from viem. updates ~180 files across the monorepo
to import from "enssdk" instead of "@ensnode/ensnode-sdk" for migrated symbols.

closes #1878

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@shrugs shrugs requested a review from a team as a code owner April 7, 2026 23:12
Copilot AI review requested due to automatic review settings April 7, 2026 23:12
@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 7, 2026

🦋 Changeset detected

Latest commit: abc3e30

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 24 packages
Name Type
enssdk Major
@ensnode/ensnode-sdk Major
ensadmin Major
ensapi Major
ensindexer Major
ensrainbow Major
@ensnode/enskit-react-example Patch
@namehash/ens-referrals Major
@ensnode/ensdb-sdk Major
enskit Major
@ensnode/ensnode-react Major
@ensnode/ensrainbow-sdk Major
@namehash/namehash-ui Major
fallback-ensapi Major
@ensnode/integration-test-env Patch
@docs/ensnode Major
@docs/ensrainbow Major
enscli Major
ensskills Major
@ensnode/datasources Major
@ensnode/ponder-sdk Major
@ensnode/ponder-subgraph Major
@ensnode/shared-configs Major
@docs/mintlify Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Apr 7, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
admin.ensnode.io Ready Ready Preview, Comment Apr 7, 2026 11:39pm
ensnode.io Ready Ready Preview, Comment Apr 7, 2026 11:39pm
ensrainbow.io Ready Ready Preview, Comment Apr 7, 2026 11:39pm

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Migrates foundational ENS utilities and types out of @ensnode/ensnode-sdk into enssdk, making enssdk the direct dependency for core ENS operations and removing the previous “blanket re-export” that obscured package boundaries.

Changes:

  • Moved core ENS modules (labelhash/parse-labelhash, names/normalization, reverse-name parsing, coin-type, DNS encoding, constants, interpretation helpers) into enssdk and re-exported them from enssdk/src/lib/index.ts.
  • Added typed wrappers (namehash, labelhash) and re-exported EVM Address/Hex types from enssdk.
  • Mechanically updated many imports across apps/packages and added enssdk as an explicit dependency where needed; removed export * from "enssdk" from ensnode-sdk/src/ens/index.ts.

Reviewed changes

Copilot reviewed 220 out of 224 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pnpm-lock.yaml Adds enssdk workspace links and new enssdk deps in lockfile.
packages/namehash-ui/src/utils/ensMetadata.ts Switches Name type import to enssdk.
packages/namehash-ui/src/utils/ensManager.ts Switches Address/Name type imports to enssdk.
packages/namehash-ui/src/utils/chains.ts Switches ChainId type import to enssdk.
packages/namehash-ui/src/utils/blockExplorers.ts Switches Address/ChainId type imports to enssdk.
packages/namehash-ui/src/components/registrar-actions/RegistrarActionCard.tsx Uses enssdk Address/DefaultableChainId types instead of viem/ensnode-sdk.
packages/namehash-ui/src/components/identity/Name.tsx Switches Name and beautifyName imports to enssdk.
packages/namehash-ui/src/components/identity/Identity.tsx Switches DEFAULT_EVM_CHAIN_ID import to enssdk.
packages/namehash-ui/src/components/identity/EnsAvatar.tsx Switches Name type import to enssdk.
packages/namehash-ui/src/components/identity/Address.tsx Switches Address type import to enssdk.
packages/namehash-ui/src/components/chains/ChainName.tsx Switches ChainId type import to enssdk.
packages/namehash-ui/src/components/chains/ChainIcon.tsx Switches ChainId type import to enssdk.
packages/namehash-ui/package.json Adds direct enssdk dependency.
packages/enssdk/src/lib/types/evm.ts Re-exports Hex and aliases Address from viem for consumers.
packages/enssdk/src/lib/reverse-name.ts Internal type import adjustments after migration.
packages/enssdk/src/lib/parse-reverse-name.ts Removes asLowerCaseAddress dependency; uses local types.
packages/enssdk/src/lib/parse-reverse-name.test.ts Adds test coverage for ENSIP-19 reverse-name parsing.
packages/enssdk/src/lib/parse-labelhash.ts Uses local LabelHash type import.
packages/enssdk/src/lib/parse-labelhash.test.ts Adds test coverage for parsing/normalizing labelhash & encoded labelhash forms.
packages/enssdk/src/lib/names.ts Uses local ENS types; relies on @adraffy/ens-normalize for beautification.
packages/enssdk/src/lib/names.test.ts Updates unicode test strings; keeps name helper coverage in enssdk.
packages/enssdk/src/lib/namehash.ts Adds typed namehash(Name) -> Node wrapper around viem.
packages/enssdk/src/lib/labelhash.ts Consolidates labelhash utilities, including literal-label hashing and encoded labelhash helpers.
packages/enssdk/src/lib/labelhash.test.ts Moves/extends labelhash tests into enssdk.
packages/enssdk/src/lib/is-normalized.ts Uses local ENS types; normalization check via viem/ens.
packages/enssdk/src/lib/is-normalized.test.ts Updates unicode literals in normalization tests.
packages/enssdk/src/lib/interpreted-names-and-labels.ts Points interpretation logic at migrated enssdk helpers/types.
packages/enssdk/src/lib/interpreted-names-and-labels.test.ts Updates imports/unicode literals to match enssdk migration.
packages/enssdk/src/lib/index.ts Re-exports migrated ENS utilities from enssdk’s public lib surface.
packages/enssdk/src/lib/dns-encoded-name.ts Uses local ENS/DNS types after migration.
packages/enssdk/src/lib/dns-encoded-name.test.ts Updates imports/unicode literals; uses enssdk labelhash helpers.
packages/enssdk/src/lib/constants.ts Uses local Node type; keeps core node constants in enssdk.
packages/enssdk/src/lib/coin-type.ts Uses local types; wraps address-encoder coinType mappings with ENSIP-19 behavior.
packages/enssdk/src/lib/coin-type.test.ts Adds tests for coin-type conversion and bigint-to-coinType validation.
packages/enssdk/package.json Adds @adraffy/ens-normalize dependency for migrated name beautification.
packages/ensrainbow-sdk/src/client.ts Switches labelhash types + parser import to enssdk.
packages/ensrainbow-sdk/package.json Adds direct enssdk dependency.
packages/ensnode-sdk/src/tokenscope/name-token.ts Switches getParentNameFQDN import to enssdk.
packages/ensnode-sdk/src/shared/zod-schemas.test.ts Switches encodeLabelHash import to enssdk.
packages/ensnode-sdk/src/shared/root-registry.ts Switches makeRegistryId import to enssdk.
packages/ensnode-sdk/src/shared/protocol-acceleration/is-static-resolver.ts Switches AccountId type import to enssdk.
packages/ensnode-sdk/src/shared/protocol-acceleration/is-ensip-19-reverse-resolver.ts Switches AccountId type import to enssdk.
packages/ensnode-sdk/src/shared/protocol-acceleration/is-bridged-resolver.ts Switches AccountId type import to enssdk.
packages/ensnode-sdk/src/shared/labelhash.ts Deletes migrated labelhashLiteralLabel implementation from ensnode-sdk.
packages/ensnode-sdk/src/shared/labelhash.test.ts Deletes migrated labelhashLiteralLabel tests from ensnode-sdk.
packages/ensnode-sdk/src/shared/interpretation/reinterpretation.ts Switches encoding/normalization helpers import to enssdk.
packages/ensnode-sdk/src/shared/interpretation/reinterpretation.test.ts Switches InterpretedLabel type import to enssdk.
packages/ensnode-sdk/src/shared/interpretation/interpret-record-values.ts Switches isNormalizedName import to enssdk; keeps address helper local.
packages/ensnode-sdk/src/shared/interpretation/index.ts Stops re-exporting interpreted-names-and-labels from ensnode-sdk shared interpretation barrel.
packages/ensnode-sdk/src/shared/config/build-rpc-urls.ts Switches ChainId type import to enssdk.
packages/ensnode-sdk/src/resolution/ensip19-chainid.ts Switches DEFAULT_EVM_CHAIN_ID import to enssdk.
packages/ensnode-sdk/src/index.ts Removes re-export of deleted shared labelhash module.
packages/ensnode-sdk/src/ensindexer/config/label-utils.test.ts Switches LabelHash type import to enssdk.
packages/ensnode-sdk/src/ensapi/client.test.ts Switches Address/Name types to enssdk.
packages/ensnode-sdk/src/ens/labelhash.ts Deletes migrated isLabelHash helper from ensnode-sdk.
packages/ensnode-sdk/src/ens/index.ts Removes export * from "enssdk" and migrated ENS exports; keeps ensnode-sdk-only ENS exports.
packages/ensnode-sdk/src/ens/encode-labelhash.ts Deletes migrated encoded-labelhash helpers from ensnode-sdk.
packages/ensnode-react/package.json Adds direct enssdk dependency.
packages/ensdb-sdk/src/ensindexer-abstract/subgraph.schema.ts Switches Address type import to enssdk.
packages/ensdb-sdk/src/ensindexer-abstract/protocol-acceleration.schema.ts Switches multiple schema type imports to enssdk.
packages/ensdb-sdk/src/ensindexer-abstract/ensv2.schema.ts Switches core type imports to enssdk; keeps EncodedReferrer from ensnode-sdk.
packages/ensdb-sdk/package.json Adds direct enssdk dependency.
packages/ens-referrals/src/v1/referrer-metrics.ts Switches Address type import to enssdk.
packages/ens-referrals/src/v1/link.ts Switches Address type import to enssdk.
packages/ens-referrals/src/v1/link.test.ts Switches Address type import to enssdk.
packages/ens-referrals/src/v1/leaderboard-page.test.ts Switches Address type import to enssdk.
packages/ens-referrals/src/v1/edition-metrics.ts Switches Address type import to enssdk.
packages/ens-referrals/src/v1/award-models/shared/rules.ts Switches AccountId type import to enssdk.
packages/ens-referrals/src/v1/award-models/shared/rank.ts Switches Address type import to enssdk.
packages/ens-referrals/src/v1/award-models/shared/leaderboard-page.ts Switches Address type import to enssdk.
packages/ens-referrals/src/v1/award-models/rev-share-limit/rules.ts Switches AccountId/Address type imports to enssdk.
packages/ens-referrals/src/v1/award-models/rev-share-limit/referral-event.ts Switches Address type import to enssdk.
packages/ens-referrals/src/v1/award-models/rev-share-limit/metrics.ts Switches Address type import to enssdk.
packages/ens-referrals/src/v1/award-models/rev-share-limit/leaderboard.ts Switches Address type import to enssdk.
packages/ens-referrals/src/v1/award-models/pie-split/rules.ts Switches AccountId type import to enssdk.
packages/ens-referrals/src/v1/award-models/pie-split/metrics.ts Switches Address type import to enssdk.
packages/ens-referrals/src/v1/award-models/pie-split/leaderboard.ts Switches Address type import to enssdk.
packages/ens-referrals/src/v1/api/types.ts Switches Address type import to enssdk.
packages/ens-referrals/src/v1/address.ts Switches Address type import to enssdk.
packages/ens-referrals/src/rules.ts Switches AccountId type import to enssdk.
packages/ens-referrals/src/referrer-metrics.ts Switches Address type import to enssdk.
packages/ens-referrals/src/referrer-detail.ts Switches Address type import to enssdk.
packages/ens-referrals/src/rank.ts Switches Address type import to enssdk.
packages/ens-referrals/src/link.ts Switches Address type import to enssdk.
packages/ens-referrals/src/link.test.ts Switches Address type import to enssdk.
packages/ens-referrals/src/leaderboard.ts Switches Address type import to enssdk.
packages/ens-referrals/src/leaderboard-page.test.ts Switches Address type import to enssdk.
packages/ens-referrals/src/api/types.ts Switches Address type import to enssdk.
packages/ens-referrals/src/address.ts Switches Address type import to enssdk.
packages/ens-referrals/package.json Adds direct enssdk dependency.
apps/ensrainbow/src/utils/rainbow-record.ts Switches LabelHash type import to enssdk.
apps/ensrainbow/src/utils/rainbow-record.test.ts Switches LabelHash type import to enssdk.
apps/ensrainbow/src/lib/server.ts Switches LabelHash type import to enssdk.
apps/ensrainbow/src/lib/rainbow-record.ts Switches Label type import to enssdk.
apps/ensrainbow/src/lib/database.ts Switches Hex type import to enssdk.
apps/ensrainbow/package.json Adds direct enssdk dependency.
apps/ensindexer/src/plugins/tokenscope/lib/handle-nft-transfer.ts Switches Address type import to enssdk.
apps/ensindexer/src/plugins/tokenscope/handlers/ThreeDNSToken.ts Switches ChainId type import to enssdk.
apps/ensindexer/src/plugins/subgraph/shared-handlers/ThreeDNSToken.ts Switches many ENS/DNS types/utilities imports to enssdk.
apps/ensindexer/src/plugins/subgraph/shared-handlers/Resolver.ts Switches Address/Hex/Node types to enssdk.
apps/ensindexer/src/plugins/subgraph/shared-handlers/Registry.ts Switches many ENS types/utils to enssdk; keeps ensnode-sdk-only helpers.
apps/ensindexer/src/plugins/subgraph/shared-handlers/Registrar.ts Switches many ENS types/utils to enssdk; keeps ensnode-sdk-only helpers.
apps/ensindexer/src/plugins/subgraph/shared-handlers/NameWrapper.ts Switches ENS parsing/types utilities to enssdk.
apps/ensindexer/src/plugins/subgraph/plugins/subgraph/handlers/Registry.ts Switches Node/ROOT_NODE import to enssdk.
apps/ensindexer/src/plugins/registrars/shared/lib/universal-registrar-renewal-with-referrer-events.ts Switches Address/Node types to enssdk.
apps/ensindexer/src/plugins/registrars/shared/lib/registrar-events.ts Switches Address type to enssdk.
apps/ensindexer/src/plugins/registrars/shared/lib/registrar-controller-events.ts Switches Address/Node types to enssdk.
apps/ensindexer/src/plugins/protocol-acceleration/handlers/ThreeDNSToken.ts Switches Address/ChainId types to enssdk.
apps/ensindexer/src/plugins/protocol-acceleration/handlers/StandaloneReverseRegistrar.ts Switches coin-type helpers import to enssdk.
apps/ensindexer/src/plugins/protocol-acceleration/handlers/Resolver.ts Switches coin-type helpers/types import to enssdk.
apps/ensindexer/src/plugins/protocol-acceleration/handlers/ENSv2Registry.ts Switches Address type import to enssdk.
apps/ensindexer/src/plugins/protocol-acceleration/handlers/ENSv1Registry.ts Switches Address type import to enssdk.
apps/ensindexer/src/plugins/ensv2/handlers/ensv2/ETHRegistrar.ts Switches Address/TokenId type imports to enssdk.
apps/ensindexer/src/plugins/ensv2/handlers/ensv2/ENSv2Registry.ts Switches Address/LiteralLabel types to enssdk.
apps/ensindexer/src/plugins/ensv2/handlers/ensv2/EnhancedAccessControl.ts Switches Address type import to enssdk.
apps/ensindexer/src/plugins/ensv2/handlers/ensv1/RegistrarController.ts Switches labelhash helpers/types to enssdk.
apps/ensindexer/src/plugins/ensv2/handlers/ensv1/NameWrapper.ts Switches ENS parsing/types utilities to enssdk.
apps/ensindexer/src/plugins/ensv2/handlers/ensv1/ENSv1Registry.ts Switches core constants/types to enssdk.
apps/ensindexer/src/plugins/ensv2/handlers/ensv1/BaseRegistrar.ts Switches Address type import to enssdk.
apps/ensindexer/src/lib/trace-transaction-helpers.ts Switches Address/Hex type imports to enssdk.
apps/ensindexer/src/lib/tokenscope/seaport.ts Switches AssetNamespaces/ChainId types to enssdk.
apps/ensindexer/src/lib/tokenscope/seaport-types.ts Switches Address/Hex type imports to enssdk.
apps/ensindexer/src/lib/tokenscope/sales.ts Switches Address/Hex type imports to enssdk.
apps/ensindexer/src/lib/tokenscope/nft-issuers.ts Switches core ENS constants/types to enssdk; keeps ensnode-sdk-only datasource helpers.
apps/ensindexer/src/lib/threedns-helpers.ts Switches Node/TokenId type imports to enssdk.
apps/ensindexer/src/lib/subgraph/subgraph-helpers.ts Switches Node/ROOT_NODE imports to enssdk.
apps/ensindexer/src/lib/subgraph/is-label-subgraph-indexable.ts Switches LiteralLabel type import to enssdk.
apps/ensindexer/src/lib/subgraph/is-label-subgraph-indexable.test.ts Switches LiteralLabel type import to enssdk.
apps/ensindexer/src/lib/subgraph/ids.ts Switches LabelHash/Node type imports to enssdk.
apps/ensindexer/src/lib/subgraph/db-helpers.ts Switches Address type import to enssdk.
apps/ensindexer/src/lib/protocol-acceleration/resolver-db-helpers.ts Switches Address type import to enssdk.
apps/ensindexer/src/lib/protocol-acceleration/registry-migration-status.ts Switches Node type import to enssdk.
apps/ensindexer/src/lib/protocol-acceleration/domain-resolver-relationship-db-helpers.ts Switches AccountId/Address/DomainId type imports to enssdk.
apps/ensindexer/src/lib/maybe-heal-label-by-addr-reverse-subname.ts Switches core types/utils to enssdk.
apps/ensindexer/src/lib/maybe-heal-label-by-addr-reverse-subname.test.ts Switches addrReverseLabel import to enssdk.
apps/ensindexer/src/lib/managed-names.ts Switches core types to enssdk.
apps/ensindexer/src/lib/managed-names.test.ts Switches AccountId type import to enssdk.
apps/ensindexer/src/lib/json-metadata.ts Switches LiteralLabel/LiteralName type imports to enssdk.
apps/ensindexer/src/lib/heal-addr-reverse-subname-label.ts Switches Address/LabelHash/LiteralLabel types to enssdk.
apps/ensindexer/src/lib/graphnode-helpers.ts Switches LabelHash/LiteralLabel type imports to enssdk.
apps/ensindexer/src/lib/graphnode-helpers.test.ts Switches LabelHash type import to enssdk.
apps/ensindexer/src/lib/get-this-account-id.ts Switches AccountId type import to enssdk.
apps/ensindexer/src/lib/ensv2/label-db-helpers.ts Switches label interpretation helpers/types to enssdk.
apps/ensindexer/src/lib/ensv2/domain-db-helpers.ts Switches Address/ENSv1DomainId types to enssdk.
apps/ensindexer/src/lib/ensv2/account-db-helpers.ts Switches Address type import to enssdk.
apps/ensindexer/src/lib/dns-helpers.ts Switches DNS/ENS label/name types to enssdk.
apps/ensindexer/src/lib/dns-helpers.test.ts Switches DNSEncodedLiteralName type import to enssdk.
apps/ensindexer/src/lib/currencies.ts Switches AccountId/Address/ChainId types to enssdk.
apps/ensindexer/src/config/validations.ts Switches Address type import to enssdk.
apps/ensindexer/src/config/types.ts Switches ChainId type import to enssdk.
apps/ensindexer/src/config/serialized-types.ts Switches ChainId/ChainIdString/UrlString type imports to enssdk.
apps/ensindexer/src/config/serialize.ts Switches UrlString type import to enssdk.
apps/ensindexer/src/config/derived-params.ts Switches ChainId type import to enssdk.
apps/ensapi/src/test/integration/find-domains/domain-pagination-queries.ts Switches InterpretedLabel/Name type imports to enssdk.
apps/ensapi/src/omnigraph-api/schema/scalars.ts Switches core scalar types to enssdk; keeps runtime helpers from viem/zod.
apps/ensapi/src/omnigraph-api/schema/resolver.ts Switches namehash import to enssdk.
apps/ensapi/src/omnigraph-api/schema/resolver-records.ts Switches bigintToCoinType import to enssdk.
apps/ensapi/src/omnigraph-api/schema/renewal.ts Switches RenewalId type import to enssdk.
apps/ensapi/src/omnigraph-api/schema/registry.integration.test.ts Switches InterpretedLabel type import to enssdk.
apps/ensapi/src/omnigraph-api/schema/registration.ts Switches ENSv1DomainId/RegistrationId type imports to enssdk.
apps/ensapi/src/omnigraph-api/schema/query.integration.test.ts Switches labelhash/namehash and core types to enssdk.
apps/ensapi/src/omnigraph-api/schema/permissions.ts Switches ROOT_RESOURCE import to enssdk.
apps/ensapi/src/omnigraph-api/schema/permissions.integration.test.ts Switches Address type import to enssdk.
apps/ensapi/src/omnigraph-api/schema/domain.ts Switches interpreted-name helpers/types to enssdk.
apps/ensapi/src/omnigraph-api/schema/domain.integration.test.ts Switches InterpretedLabel/Name type imports to enssdk.
apps/ensapi/src/omnigraph-api/schema/account.ts Switches Address type import to enssdk.
apps/ensapi/src/omnigraph-api/schema/account.integration.test.ts Switches Address/Name type imports to enssdk.
apps/ensapi/src/omnigraph-api/schema/account-id.ts Switches AccountId type import to enssdk.
apps/ensapi/src/omnigraph-api/lib/get-latest-registration.ts Switches DomainId type import to enssdk.
apps/ensapi/src/omnigraph-api/lib/get-domain-resolver.ts Switches DomainId type import to enssdk.
apps/ensapi/src/omnigraph-api/lib/get-domain-by-interpreted-name.ts Switches core helpers/types (incl. namehash) to enssdk.
apps/ensapi/src/omnigraph-api/lib/get-canonical-path.ts Switches core types/constants to enssdk.
apps/ensapi/src/omnigraph-api/lib/find-events/find-events-resolver.ts Switches Address/Hex type imports to enssdk.
apps/ensapi/src/omnigraph-api/lib/find-domains/layers/with-ordering-metadata.ts Switches DomainId type import to enssdk.
apps/ensapi/src/omnigraph-api/lib/find-domains/layers/filter-by-registry.ts Switches RegistryId type import to enssdk.
apps/ensapi/src/omnigraph-api/lib/find-domains/layers/filter-by-parent.ts Switches DomainId type import to enssdk.
apps/ensapi/src/omnigraph-api/lib/find-domains/layers/filter-by-owner.ts Switches Address type import to enssdk.
apps/ensapi/src/omnigraph-api/lib/find-domains/layers/filter-by-name.ts Switches parsing/types utilities to enssdk.
apps/ensapi/src/omnigraph-api/lib/find-domains/layers/base-domain-set.ts Switches Address/DomainId type imports to enssdk.
apps/ensapi/src/omnigraph-api/lib/find-domains/domain-cursor.ts Switches DomainId type import to enssdk.
apps/ensapi/src/omnigraph-api/lib/find-domains/domain-cursor.test.ts Switches DomainId type import to enssdk.
apps/ensapi/src/omnigraph-api/context.ts Switches canonical path/domain ID type imports to enssdk.
apps/ensapi/src/omnigraph-api/builder.ts Switches Address/Hex scalar types to enssdk.
apps/ensapi/src/lib/resolution/reverse-resolution.ts Switches reverse-name helpers import to enssdk.
apps/ensapi/src/lib/resolution/resolve-with-universal-resolver.ts Switches Name type import to enssdk.
apps/ensapi/src/lib/resolution/resolve-calls-and-results.ts Switches core types (Address/Name/Node) to enssdk.
apps/ensapi/src/lib/resolution/multichain-primary-name-resolution.ts Switches ChainId type import to enssdk.
apps/ensapi/src/lib/resolution/make-records-response.ts Switches bigintToCoinType import to enssdk.
apps/ensapi/src/lib/resolution/make-records-response.test.ts Switches CoinType type import to enssdk.
apps/ensapi/src/lib/resolution/forward-resolution.ts Switches normalization/namehash/reverse parsing imports to enssdk.
apps/ensapi/src/lib/registrar-actions/find-registrar-actions.ts Switches InterpretedName type import to enssdk.
apps/ensapi/src/lib/public-client.ts Switches ChainId type import to enssdk.
apps/ensapi/src/lib/protocol-acceleration/resolver-records-indexed-on-chain.ts Switches ChainId type import to enssdk.
apps/ensapi/src/lib/protocol-acceleration/get-records-from-index.ts Switches core types/constants to enssdk.
apps/ensapi/src/lib/protocol-acceleration/get-primary-name-from-index.ts Switches reverse-name helpers/types to enssdk.
apps/ensapi/src/lib/protocol-acceleration/find-resolver.ts Splits ENS helpers/types to enssdk vs ensnode-sdk-specific helpers.
apps/ensapi/src/lib/name-tokens/get-indexed-subregistries.ts Switches namehash import to enssdk.
apps/ensapi/src/lib/name-tokens/find-name-tokens-for-domain.ts Switches core types to enssdk.
apps/ensapi/src/lib/handlers/params.schema.ts Switches core ENS constants/normalization types to enssdk.
apps/ensapi/src/lib/handlers/params.schema.test.ts Switches DEFAULT_EVM_CHAIN_ID/labelhash imports to enssdk.
apps/ensapi/src/lib/ensanalytics/referrer-leaderboard/database.ts Switches Address type import to enssdk.
apps/ensapi/src/lib/ensanalytics/referrer-leaderboard/database-v1.ts Switches Address type import to enssdk.
apps/ensapi/src/handlers/api/explore/registrar-actions-api.ts Switches Node type import to enssdk.
apps/ensapi/src/handlers/api/explore/name-tokens-api.ts Switches ENS_ROOT/getParentNameFQDN/namehash imports to enssdk.
apps/ensadmin/src/lib/get-ensip19-supported-chain-ids.ts Switches ChainId type import to enssdk.
apps/ensadmin/src/lib/default-records-selection.ts Switches CoinType and coin-type helpers to enssdk.
apps/ensadmin/src/components/nav-main.tsx Switches UrlString type import to enssdk.
apps/ensadmin/src/components/name-links/index.tsx Switches Name type import to enssdk.
apps/ensadmin/src/components/indexing-status/indexing-timeline.tsx Switches ChainId type import to enssdk.
apps/ensadmin/src/components/indexing-status/block-refs.tsx Switches ChainId type import to enssdk.
apps/ensadmin/src/app/name/page.tsx Switches Name type import to enssdk.
apps/ensadmin/src/app/name/_components/ProfileHeader.tsx Switches Name type import to enssdk.
apps/ensadmin/src/app/name/_components/NameDetailPageContent.tsx Switches Name type import to enssdk.
apps/ensadmin/src/app/mock/registrar-actions/mocks.ts Switches InterpretedName type import to enssdk.
apps/ensadmin/src/app/mock/display-identity/page.tsx Switches core types/constants to enssdk.
apps/ensadmin/src/app/inspect/records/page.tsx Switches Name type import to enssdk.
apps/ensadmin/src/app/inspect/primary-names/page.tsx Switches Address type import to enssdk.
apps/ensadmin/src/app/inspect/primary-name/page.tsx Switches Address/DefaultableChainId/DEFAULT_EVM_CHAIN_ID imports to enssdk.
apps/ensadmin/src/app/inspect/_lib/example-names.ts Switches Name type import to enssdk.
apps/ensadmin/src/app/inspect/_lib/example-addresses.ts Switches Address/Name type imports to enssdk.
apps/ensadmin/src/app/@breadcrumbs/name/page.tsx Switches Name type import to enssdk.
apps/ensadmin/src/app/@breadcrumbs/inspect/records/page.tsx Switches Name type import to enssdk.
apps/ensadmin/src/app/@actions/name/page.tsx Switches Name type import to enssdk.
apps/ensadmin/package.json Adds direct enssdk dependency.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (1)

packages/enssdk/src/lib/reverse-name.ts:4

  • reverseName/addrReverseLabel assumes the provided Address is already fully lowercase (and slices it directly), but Address values in typical viem usage are often checksummed/mixed-case. This can produce non-canonical ENSIP-19 reverse names and will fail to round-trip with parseReverseName (which lowercases). Consider normalizing address to lowercase inside reverseName/addrReverseLabel (or tightening the param type to a lowercase-address type and enforcing it at runtime).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

shrugs and others added 2 commits April 7, 2026 18:21
…ssdk

migrates remaining labelhash and namehash imports from "viem" to "enssdk"
across the monorepo. also updates enssdk internals (constants.ts,
interpreted-names-and-labels.ts) to use their own wrappers instead of
importing directly from viem.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…om enssdk

updates code examples in ensapi client.ts jsdoc, datasources README,
and doc site .mdx files to import namehash/labelhash from enssdk
instead of viem.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
shrugs and others added 2 commits April 7, 2026 18:30
moves asLowerCaseAddress from ensnode-sdk/shared/address.ts to
enssdk/src/lib/address.ts. updates all call sites to import from
"enssdk". removes the inlined version in parse-reverse-name.ts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
updates ensnode-sdk (14 files) and enskit (1 file) to import Address
and Hex types from enssdk instead of viem.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 7, 2026

Important

Review skipped

Too many files!

This PR contains 254 files, which is 104 over the limit of 150.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: a047a576-f0d1-4f66-828a-ca2e5290ecf5

📥 Commits

Reviewing files that changed from the base of the PR and between 0cc51b3 and abc3e30.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (254)
  • .changeset/enssdk-migrate-core-types.md
  • apps/ensadmin/package.json
  • apps/ensadmin/src/app/@actions/name/page.tsx
  • apps/ensadmin/src/app/@breadcrumbs/inspect/records/page.tsx
  • apps/ensadmin/src/app/@breadcrumbs/name/page.tsx
  • apps/ensadmin/src/app/inspect/_lib/example-addresses.ts
  • apps/ensadmin/src/app/inspect/_lib/example-names.ts
  • apps/ensadmin/src/app/inspect/primary-name/page.tsx
  • apps/ensadmin/src/app/inspect/primary-names/page.tsx
  • apps/ensadmin/src/app/inspect/records/page.tsx
  • apps/ensadmin/src/app/mock/display-identity/page.tsx
  • apps/ensadmin/src/app/mock/registrar-actions/mocks.ts
  • apps/ensadmin/src/app/name/_components/NameDetailPageContent.tsx
  • apps/ensadmin/src/app/name/_components/ProfileHeader.tsx
  • apps/ensadmin/src/app/name/page.tsx
  • apps/ensadmin/src/components/indexing-status/block-refs.tsx
  • apps/ensadmin/src/components/indexing-status/indexing-timeline.tsx
  • apps/ensadmin/src/components/name-links/index.tsx
  • apps/ensadmin/src/components/nav-main.tsx
  • apps/ensadmin/src/lib/default-records-selection.ts
  • apps/ensadmin/src/lib/get-ensip19-supported-chain-ids.ts
  • apps/ensapi/src/handlers/api/explore/name-tokens-api.ts
  • apps/ensapi/src/handlers/api/explore/registrar-actions-api.ts
  • apps/ensapi/src/lib/ensanalytics/referrer-leaderboard/database-v1.ts
  • apps/ensapi/src/lib/ensanalytics/referrer-leaderboard/database.ts
  • apps/ensapi/src/lib/handlers/params.schema.test.ts
  • apps/ensapi/src/lib/handlers/params.schema.ts
  • apps/ensapi/src/lib/name-tokens/find-name-tokens-for-domain.ts
  • apps/ensapi/src/lib/name-tokens/get-indexed-subregistries.ts
  • apps/ensapi/src/lib/protocol-acceleration/find-resolver.ts
  • apps/ensapi/src/lib/protocol-acceleration/get-primary-name-from-index.ts
  • apps/ensapi/src/lib/protocol-acceleration/get-records-from-index.ts
  • apps/ensapi/src/lib/protocol-acceleration/resolver-records-indexed-on-chain.ts
  • apps/ensapi/src/lib/public-client.ts
  • apps/ensapi/src/lib/registrar-actions/find-registrar-actions.ts
  • apps/ensapi/src/lib/resolution/forward-resolution.ts
  • apps/ensapi/src/lib/resolution/make-records-response.test.ts
  • apps/ensapi/src/lib/resolution/make-records-response.ts
  • apps/ensapi/src/lib/resolution/multichain-primary-name-resolution.ts
  • apps/ensapi/src/lib/resolution/resolve-calls-and-results.ts
  • apps/ensapi/src/lib/resolution/resolve-with-universal-resolver.ts
  • apps/ensapi/src/lib/resolution/reverse-resolution.ts
  • apps/ensapi/src/omnigraph-api/builder.ts
  • apps/ensapi/src/omnigraph-api/context.ts
  • apps/ensapi/src/omnigraph-api/lib/find-domains/domain-cursor.test.ts
  • apps/ensapi/src/omnigraph-api/lib/find-domains/domain-cursor.ts
  • apps/ensapi/src/omnigraph-api/lib/find-domains/layers/base-domain-set.ts
  • apps/ensapi/src/omnigraph-api/lib/find-domains/layers/filter-by-name.ts
  • apps/ensapi/src/omnigraph-api/lib/find-domains/layers/filter-by-owner.ts
  • apps/ensapi/src/omnigraph-api/lib/find-domains/layers/filter-by-parent.ts
  • apps/ensapi/src/omnigraph-api/lib/find-domains/layers/filter-by-registry.ts
  • apps/ensapi/src/omnigraph-api/lib/find-domains/layers/with-ordering-metadata.ts
  • apps/ensapi/src/omnigraph-api/lib/find-events/find-events-resolver.ts
  • apps/ensapi/src/omnigraph-api/lib/get-canonical-path.ts
  • apps/ensapi/src/omnigraph-api/lib/get-domain-by-interpreted-name.ts
  • apps/ensapi/src/omnigraph-api/lib/get-domain-resolver.ts
  • apps/ensapi/src/omnigraph-api/lib/get-latest-registration.ts
  • apps/ensapi/src/omnigraph-api/schema/account-id.ts
  • apps/ensapi/src/omnigraph-api/schema/account.integration.test.ts
  • apps/ensapi/src/omnigraph-api/schema/account.ts
  • apps/ensapi/src/omnigraph-api/schema/domain.integration.test.ts
  • apps/ensapi/src/omnigraph-api/schema/domain.ts
  • apps/ensapi/src/omnigraph-api/schema/permissions.integration.test.ts
  • apps/ensapi/src/omnigraph-api/schema/permissions.ts
  • apps/ensapi/src/omnigraph-api/schema/query.integration.test.ts
  • apps/ensapi/src/omnigraph-api/schema/registration.ts
  • apps/ensapi/src/omnigraph-api/schema/registry.integration.test.ts
  • apps/ensapi/src/omnigraph-api/schema/renewal.ts
  • apps/ensapi/src/omnigraph-api/schema/resolver-records.ts
  • apps/ensapi/src/omnigraph-api/schema/resolver.ts
  • apps/ensapi/src/omnigraph-api/schema/scalars.ts
  • apps/ensapi/src/test/integration/find-domains/domain-pagination-queries.ts
  • apps/ensindexer/src/config/derived-params.ts
  • apps/ensindexer/src/config/serialize.ts
  • apps/ensindexer/src/config/serialized-types.ts
  • apps/ensindexer/src/config/types.ts
  • apps/ensindexer/src/config/validations.ts
  • apps/ensindexer/src/lib/currencies.ts
  • apps/ensindexer/src/lib/dns-helpers.test.ts
  • apps/ensindexer/src/lib/dns-helpers.ts
  • apps/ensindexer/src/lib/ensv2/account-db-helpers.ts
  • apps/ensindexer/src/lib/ensv2/domain-db-helpers.ts
  • apps/ensindexer/src/lib/ensv2/label-db-helpers.ts
  • apps/ensindexer/src/lib/get-this-account-id.ts
  • apps/ensindexer/src/lib/graphnode-helpers.test.ts
  • apps/ensindexer/src/lib/graphnode-helpers.ts
  • apps/ensindexer/src/lib/heal-addr-reverse-subname-label.ts
  • apps/ensindexer/src/lib/json-metadata.ts
  • apps/ensindexer/src/lib/managed-names.test.ts
  • apps/ensindexer/src/lib/managed-names.ts
  • apps/ensindexer/src/lib/maybe-heal-label-by-addr-reverse-subname.test.ts
  • apps/ensindexer/src/lib/maybe-heal-label-by-addr-reverse-subname.ts
  • apps/ensindexer/src/lib/protocol-acceleration/domain-resolver-relationship-db-helpers.ts
  • apps/ensindexer/src/lib/protocol-acceleration/registry-migration-status.ts
  • apps/ensindexer/src/lib/protocol-acceleration/resolver-db-helpers.ts
  • apps/ensindexer/src/lib/subgraph/db-helpers.ts
  • apps/ensindexer/src/lib/subgraph/ids.test.ts
  • apps/ensindexer/src/lib/subgraph/ids.ts
  • apps/ensindexer/src/lib/subgraph/is-label-subgraph-indexable.test.ts
  • apps/ensindexer/src/lib/subgraph/is-label-subgraph-indexable.ts
  • apps/ensindexer/src/lib/subgraph/subgraph-helpers.ts
  • apps/ensindexer/src/lib/threedns-helpers.ts
  • apps/ensindexer/src/lib/tokenscope/nft-issuers.ts
  • apps/ensindexer/src/lib/tokenscope/sales.ts
  • apps/ensindexer/src/lib/tokenscope/seaport-types.ts
  • apps/ensindexer/src/lib/tokenscope/seaport.ts
  • apps/ensindexer/src/lib/trace-transaction-helpers.ts
  • apps/ensindexer/src/plugins/ensv2/handlers/ensv1/BaseRegistrar.ts
  • apps/ensindexer/src/plugins/ensv2/handlers/ensv1/ENSv1Registry.ts
  • apps/ensindexer/src/plugins/ensv2/handlers/ensv1/NameWrapper.ts
  • apps/ensindexer/src/plugins/ensv2/handlers/ensv1/RegistrarController.ts
  • apps/ensindexer/src/plugins/ensv2/handlers/ensv2/ENSv2Registry.ts
  • apps/ensindexer/src/plugins/ensv2/handlers/ensv2/ETHRegistrar.ts
  • apps/ensindexer/src/plugins/ensv2/handlers/ensv2/EnhancedAccessControl.ts
  • apps/ensindexer/src/plugins/protocol-acceleration/handlers/ENSv1Registry.ts
  • apps/ensindexer/src/plugins/protocol-acceleration/handlers/ENSv2Registry.ts
  • apps/ensindexer/src/plugins/protocol-acceleration/handlers/Resolver.ts
  • apps/ensindexer/src/plugins/protocol-acceleration/handlers/StandaloneReverseRegistrar.ts
  • apps/ensindexer/src/plugins/protocol-acceleration/handlers/ThreeDNSToken.ts
  • apps/ensindexer/src/plugins/registrars/shared/lib/registrar-controller-events.ts
  • apps/ensindexer/src/plugins/registrars/shared/lib/registrar-events.ts
  • apps/ensindexer/src/plugins/registrars/shared/lib/universal-registrar-renewal-with-referrer-events.ts
  • apps/ensindexer/src/plugins/subgraph/plugins/subgraph/handlers/Registry.ts
  • apps/ensindexer/src/plugins/subgraph/shared-handlers/NameWrapper.ts
  • apps/ensindexer/src/plugins/subgraph/shared-handlers/Registrar.ts
  • apps/ensindexer/src/plugins/subgraph/shared-handlers/Registry.ts
  • apps/ensindexer/src/plugins/subgraph/shared-handlers/Resolver.ts
  • apps/ensindexer/src/plugins/subgraph/shared-handlers/ThreeDNSToken.ts
  • apps/ensindexer/src/plugins/tokenscope/handlers/ThreeDNSToken.ts
  • apps/ensindexer/src/plugins/tokenscope/lib/handle-nft-transfer.ts
  • apps/ensrainbow/package.json
  • apps/ensrainbow/src/commands/convert-csv-command.test.ts
  • apps/ensrainbow/src/commands/convert-csv-command.ts
  • apps/ensrainbow/src/commands/server-command.test.ts
  • apps/ensrainbow/src/lib/database.test.ts
  • apps/ensrainbow/src/lib/database.ts
  • apps/ensrainbow/src/lib/rainbow-record.ts
  • apps/ensrainbow/src/lib/server.ts
  • apps/ensrainbow/src/utils/rainbow-record.test.ts
  • apps/ensrainbow/src/utils/rainbow-record.ts
  • docs/ensnode.io/src/content/docs/docs/reference/terminology.mdx
  • docs/ensnode.io/src/content/docs/docs/usage/querying-best-practices.mdx
  • docs/ensnode.io/src/content/docs/ensrainbow/concepts/unknown-labels.mdx
  • packages/datasources/README.md
  • packages/ens-referrals/package.json
  • packages/ens-referrals/src/address.ts
  • packages/ens-referrals/src/api/types.ts
  • packages/ens-referrals/src/leaderboard-page.test.ts
  • packages/ens-referrals/src/leaderboard.ts
  • packages/ens-referrals/src/link.test.ts
  • packages/ens-referrals/src/link.ts
  • packages/ens-referrals/src/rank.ts
  • packages/ens-referrals/src/referrer-detail.ts
  • packages/ens-referrals/src/referrer-metrics.ts
  • packages/ens-referrals/src/rules.ts
  • packages/ens-referrals/src/v1/address.ts
  • packages/ens-referrals/src/v1/api/types.ts
  • packages/ens-referrals/src/v1/award-models/pie-split/leaderboard.ts
  • packages/ens-referrals/src/v1/award-models/pie-split/metrics.ts
  • packages/ens-referrals/src/v1/award-models/pie-split/rules.ts
  • packages/ens-referrals/src/v1/award-models/rev-share-limit/leaderboard.ts
  • packages/ens-referrals/src/v1/award-models/rev-share-limit/metrics.ts
  • packages/ens-referrals/src/v1/award-models/rev-share-limit/referral-event.ts
  • packages/ens-referrals/src/v1/award-models/rev-share-limit/rules.ts
  • packages/ens-referrals/src/v1/award-models/shared/leaderboard-page.ts
  • packages/ens-referrals/src/v1/award-models/shared/rank.ts
  • packages/ens-referrals/src/v1/award-models/shared/rules.ts
  • packages/ens-referrals/src/v1/edition-metrics.ts
  • packages/ens-referrals/src/v1/leaderboard-page.test.ts
  • packages/ens-referrals/src/v1/link.test.ts
  • packages/ens-referrals/src/v1/link.ts
  • packages/ens-referrals/src/v1/referrer-metrics.ts
  • packages/ensdb-sdk/package.json
  • packages/ensdb-sdk/src/ensindexer-abstract/ensv2.schema.ts
  • packages/ensdb-sdk/src/ensindexer-abstract/protocol-acceleration.schema.ts
  • packages/ensdb-sdk/src/ensindexer-abstract/subgraph.schema.ts
  • packages/enskit/src/react/omnigraph/lib/cache-exchange.ts
  • packages/ensnode-react/package.json
  • packages/ensnode-sdk/src/ens/encode-labelhash.ts
  • packages/ensnode-sdk/src/ens/index.ts
  • packages/ensnode-sdk/src/ens/labelhash.ts
  • packages/ensnode-sdk/src/ens/subname-helpers.test.ts
  • packages/ensnode-sdk/src/ensapi/api/name-tokens/zod-schemas.ts
  • packages/ensnode-sdk/src/ensapi/api/registrar-actions/filters.ts
  • packages/ensnode-sdk/src/ensapi/api/registrar-actions/request.ts
  • packages/ensnode-sdk/src/ensapi/api/registrar-actions/zod-schemas.ts
  • packages/ensnode-sdk/src/ensapi/client.test.ts
  • packages/ensnode-sdk/src/ensapi/client.ts
  • packages/ensnode-sdk/src/ensindexer/config/label-utils.test.ts
  • packages/ensnode-sdk/src/identity/identity.ts
  • packages/ensnode-sdk/src/identity/types.ts
  • packages/ensnode-sdk/src/index.ts
  • packages/ensnode-sdk/src/registrars/encoded-referrer.test.ts
  • packages/ensnode-sdk/src/registrars/encoded-referrer.ts
  • packages/ensnode-sdk/src/registrars/registrar-action.ts
  • packages/ensnode-sdk/src/registrars/zod-schemas.ts
  • packages/ensnode-sdk/src/resolution/ensip19-chainid.ts
  • packages/ensnode-sdk/src/resolution/types.ts
  • packages/ensnode-sdk/src/rpc/eip-165.ts
  • packages/ensnode-sdk/src/shared/account-id.test.ts
  • packages/ensnode-sdk/src/shared/config/build-rpc-urls.ts
  • packages/ensnode-sdk/src/shared/interpretation/index.ts
  • packages/ensnode-sdk/src/shared/interpretation/interpret-address.ts
  • packages/ensnode-sdk/src/shared/interpretation/interpret-record-values.ts
  • packages/ensnode-sdk/src/shared/interpretation/reinterpretation.test.ts
  • packages/ensnode-sdk/src/shared/interpretation/reinterpretation.ts
  • packages/ensnode-sdk/src/shared/labelhash.test.ts
  • packages/ensnode-sdk/src/shared/labelhash.ts
  • packages/ensnode-sdk/src/shared/protocol-acceleration/is-bridged-resolver.ts
  • packages/ensnode-sdk/src/shared/protocol-acceleration/is-ensip-19-reverse-resolver.ts
  • packages/ensnode-sdk/src/shared/protocol-acceleration/is-static-resolver.ts
  • packages/ensnode-sdk/src/shared/root-registry.ts
  • packages/ensnode-sdk/src/shared/zod-schemas.test.ts
  • packages/ensnode-sdk/src/shared/zod-schemas.ts
  • packages/ensnode-sdk/src/tokenscope/assets.ts
  • packages/ensnode-sdk/src/tokenscope/name-token.ts
  • packages/ensrainbow-sdk/package.json
  • packages/ensrainbow-sdk/src/client.ts
  • packages/enssdk/package.json
  • packages/enssdk/src/lib/address.test.ts
  • packages/enssdk/src/lib/address.ts
  • packages/enssdk/src/lib/coin-type.test.ts
  • packages/enssdk/src/lib/coin-type.ts
  • packages/enssdk/src/lib/constants.ts
  • packages/enssdk/src/lib/dns-encoded-name.test.ts
  • packages/enssdk/src/lib/dns-encoded-name.ts
  • packages/enssdk/src/lib/index.ts
  • packages/enssdk/src/lib/interpreted-names-and-labels.test.ts
  • packages/enssdk/src/lib/interpreted-names-and-labels.ts
  • packages/enssdk/src/lib/is-normalized.test.ts
  • packages/enssdk/src/lib/is-normalized.ts
  • packages/enssdk/src/lib/labelhash.test.ts
  • packages/enssdk/src/lib/labelhash.ts
  • packages/enssdk/src/lib/namehash.ts
  • packages/enssdk/src/lib/names.test.ts
  • packages/enssdk/src/lib/names.ts
  • packages/enssdk/src/lib/parse-labelhash.test.ts
  • packages/enssdk/src/lib/parse-labelhash.ts
  • packages/enssdk/src/lib/parse-reverse-name.test.ts
  • packages/enssdk/src/lib/parse-reverse-name.ts
  • packages/enssdk/src/lib/reverse-name.ts
  • packages/enssdk/src/lib/types/evm.ts
  • packages/namehash-ui/package.json
  • packages/namehash-ui/src/components/chains/ChainIcon.tsx
  • packages/namehash-ui/src/components/chains/ChainName.tsx
  • packages/namehash-ui/src/components/identity/Address.tsx
  • packages/namehash-ui/src/components/identity/EnsAvatar.tsx
  • packages/namehash-ui/src/components/identity/Identity.tsx
  • packages/namehash-ui/src/components/identity/Name.tsx
  • packages/namehash-ui/src/components/registrar-actions/RegistrarActionCard.tsx
  • packages/namehash-ui/src/utils/blockExplorers.ts
  • packages/namehash-ui/src/utils/chains.ts
  • packages/namehash-ui/src/utils/ensManager.ts
  • packages/namehash-ui/src/utils/ensMetadata.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/enssdk-migrate-core-types-utilities

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 250 out of 255 changed files in this pull request and generated no new comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

enssdk — Migrate core types and utilities

2 participants