Skip to content

Protocol Acceleration plugin - #1128

Merged
shrugs merged 27 commits into
mainfrom
refactor/protocol-acceleration-plugin
Oct 1, 2025
Merged

Protocol Acceleration plugin#1128
shrugs merged 27 commits into
mainfrom
refactor/protocol-acceleration-plugin

Conversation

@shrugs

@shrugs shrugs commented Sep 26, 2025

Copy link
Copy Markdown
Member

closes #1106

  • chose protocol-acceleration (ProtocolAcceleration) over resolution
  • makes the protocol-acceleration.schema.ts independent of core schema, merges
    • primary names
    • resolver records (inc. name)
    • resolver records relations
  • need to abstract registryold migration status to a core-plugin-independent schema
    • can make this specific to mainnet, since it's the only chain that has the registry migration
    • or embed it in protocol-acceleration plugin so it's appropriately isolated?
  • is the LegacyReverseResolver handler necessary? presumably it's handled by the more general Resolver filter, right?
  • consider getting rid of all of the make*Id functions in protocol-acceleration schema and just using composite primary keys
  • need to move domain-resolver relationships to protocol-acceleration plugin and extract from subgraph plugin
  • need to do a mental pass over forward resolution & protocol acceleration touchpoints
    • maybe some of the protocol acceleration logic could be simplified now that it's centralized to ProtocolAcceleration plugin
  • rename domain-resolver relationships to node-resolver relationships and update entity
  • need to update resolver-records-indexed-on-chain.ts to use simplified logic, need to abstract "which chains have Resolvers actively indexed" so that both resolver-records-indexed-on-chain can reference the same set of chainIds protocol-acceleration/plugin.ts
  • need to do a docs pass

Description

  • isolated all protocol acceleration logic into new protocol-acceleration plugin
    • core-plugin independent, can be run in isolation
    • indexing of Resolver Records for all Resolver contracts on ENS Root, Base, Linea, and Optimism
      • in order to accelerate Forward Resolution
    • indexing of Node-Resolver Relationships for ENS Root, Basenames, Lineanames, and ThreeDNS
      • in order to accelerate UniversalResolver#findResolver
    • indexing of ENSIP-19 StandaloneReverseRegistrars for Base, Linea, Optimism, Arbitrum, and Scroll
      • in order to accelerate ENSIP-19 Reverse Resolvers
  • protocol-acceleration schema refactored from concatenated primary keys to cleaner and likely more efficient composite primary keys
  • reorganized some files & folders
    • /api/lib — organized the monolithic lib folder
      • api/lib/handlers/ - Request handling utilities (validation, error responses)
      • api/lib/protocol-acceleration/ - Protocol acceleration logic (resolver finding, record caching, known resolvers)
      • api/lib/tracing/ - OpenTelemetry instrumentation and protocol tracing
      • api/lib/resolution/ - Resolution logic (forward, reverse, primary name)
    • lib/protocol-acceleration — moved protocol-acceleration-specific libs to this subdir
  • renamed DomainResolverRelationship to NodeResolverRelationship
  • slightly refactored and cleaned-up the protocol acceleration logic during resolution now that everything has been moved to the protocol-acceleration plugin

Loading
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.

Refactor resolution schema/plugin

2 participants