Update sepolia-v2 namespace with latest deployment addresses - #2318
Conversation
Refreshes RootRegistry, ETHRegistry, ETHRegistrar, UniversalResolver (UpgradableUniversalResolverProxy), and DefaultPublicResolver5 (PublicResolverV2) to the latest ENSv1+ENSv2 Sepolia test deployment, each with its on-chain deployment block as startBlock.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🦋 Changeset detectedLatest commit: af4e8eb The changes in this PR will be included in the next version bump. This PR includes changesets to release 22 packages
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 |
|
Warning Review limit reached
More reviews will be available in 58 minutes and 38 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughUpdates the ChangesSepolia-v2 Contract Address Updates
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Pull request overview
Updates the sepolia-v2 ENS namespace in @ensnode/datasources to point at the latest ENSv1+ENSv2 Sepolia test deployment addresses and deployment blocks, and adds a Changesets entry to release the update (and bump the fixed-version group).
Changes:
- Updated
ENSv2Rootcontract addresses (RootRegistry,ETHRegistry,ETHRegistrar) and theirstartBlockvalues to the new deployment blocks. - Updated
ENSRoot.UniversalResolveraddress andstartBlock, plus added explanatory inline notes. - Added a Changeset for the namespace refresh.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| packages/datasources/src/sepolia-v2.ts | Refreshes Sepolia v2 namespace contract addresses and startBlocks (incl. UniversalResolver and default resolver). |
| .changeset/sepolia-v2-latest-addresses.md | Adds release note/version bump entry for the updated sepolia-v2 namespace addresses. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…NT_BLOCK Splits the deployment-block constant into ENSv1/ENSv2 variants and points all latest-release ENSv2 contracts (Registry, EnhancedAccessControl, RootRegistry, ETHRegistry, ETHRegistrar, UniversalResolver, DefaultPublicResolver5) at the shared ENSv2 deployment block (10921916).
| RootRegistry: { | ||
| abi: Registry, | ||
| address: "0x835f0b284e78cd3f358bcf6cba3b53809f09b79e", | ||
| startBlock: SEPOLIA_ENSV2_DEPLOYMENT_BLOCK, | ||
| address: "0xc960f7217d3643b525ef36bec8adf86953cd9ab8", | ||
| startBlock: SEPOLIA_V2_ENSV2_DEPLOYMENT_BLOCK, | ||
| }, |
| ETHRegistry: { | ||
| abi: Registry, | ||
| address: "0x64c81210d0e580cfc7746f3fb910bf0e8f6378e1", | ||
| startBlock: SEPOLIA_ENSV2_DEPLOYMENT_BLOCK, | ||
| address: "0xdedb92913a25abe1f7bcdd85d8a344a43b398b67", | ||
| startBlock: SEPOLIA_V2_ENSV2_DEPLOYMENT_BLOCK, | ||
| }, |
| ETHRegistrar: { | ||
| abi: ETHRegistrar, | ||
| address: "0xb68e594a47fe057bd31e7a8229ffcfd85b2e28af", | ||
| startBlock: SEPOLIA_ENSV2_DEPLOYMENT_BLOCK, | ||
| address: "0x8c2e866b439358c41ae05de9cbe8a00bfefaffca", | ||
| startBlock: SEPOLIA_V2_ENSV2_DEPLOYMENT_BLOCK, | ||
| }, |
| // NOTE: named PublicResolverV2 in deployment | ||
| DefaultPublicResolver5: { | ||
| abi: ResolverABI, | ||
| address: "0xb441cb480460eb8b2964dcb82b64a883b14abf3e", | ||
| startBlock: SEPOLIA_ENSV2_DEPLOYMENT_BLOCK, | ||
| address: "0x5239a812ec9a62f46dbb5de8f346c8efe7553a9f", | ||
| startBlock: SEPOLIA_V2_ENSV2_DEPLOYMENT_BLOCK, | ||
| }, |
| /** | ||
| * The earliest deploy block of the Sepolia ENSv1+v2 test deployment. | ||
| * The earliest deploy block of the Sepolia ENSv1 test deployment. | ||
| * | ||
| * @dev this is the earliest block of _any_ Sepolia ENSv1+v2 test deployment, since the ENS Team | ||
| * has shown in the past that a previous deployment's contracts may be used with a future deployment. | ||
| * @dev this is the earliest block of _any_ Sepolia ENSv1+v2 test deployment. | ||
| */ |
Refreshes the
sepolia-v2ENS Namespace to track the latest ENSv1+ENSv2 Sepolia test deployment (contracts-v2deploymentsepolia-official-v1-20260525-r2).Updated entries
Each
startBlockis the contract's on-chain deployment block, identified viacast(binary search overeth_getCode).ENSv2Root.RootRegistry0xc960f7217d3643b525ef36bec8adf86953cd9ab8ENSv2Root.ETHRegistry0xdedb92913a25abe1f7bcdd85d8a344a43b398b67ENSv2Root.ETHRegistrar0x8c2e866b439358c41ae05de9cbe8a00bfefaffcaENSRoot.UniversalResolver0xeeeeeeee14d718c2b47d9923deab1335e144eeeerrRoot.DefaultPublicResolver50x5239a812ec9a62f46dbb5de8f346c8efe7553a9fNotes
UniversalResolverpoints at theUpgradableUniversalResolverProxy(reused cross-chain vanity address0xeeee…eeee, actually created at block 8928790). ItsstartBlockis set to the v2 deployment block10921916rather than the proxy's creation block, since earlier blocks predate its use in this deployment.DefaultPublicResolver5maps toPublicResolverV2— "PublicResolver that respects the ENSv2 registry", the successor to the deployment's priorPublicResolver. (The separately-deployedPublicResolverSetis aPermissionedAddressSetallow-list of wrapper-aware resolver addresses, not a resolver, so it is not indexed.)ENSv1Registry,BaseRegistrar,UnwrappedEthRegistrarController,NameWrapper) and the reverse resolvers are unchanged — they are reused from the prior deployment and were not part of this address set.Validation
pnpm -F @ensnode/datasources typecheck✓pnpm test packages/datasources✓ (8/8, incl. lowercase-address invariants)biome check✓