blockful-io / external-resolver

This project aims to scale the Ethereum Name Service (ENS) by consolidating existing patterns and proofs of concept into a unified and production-ready codebase.
MIT License
12 stars 3 forks source link

Standardize DatabaseResolver subdomain register #206

Open pikonha opened 3 weeks ago

pikonha commented 3 weeks ago

Feature Request

In order to standardize the interface of any offchain resolver, there's a need for a common interface that is implemented by all the storages (currently DB and L2).

Describe Preferred Solution

The following is the function signature used by the ENS contracts and the L2 implementation (WIP). The database should follow the same signature, even if it doesn't use all the provided arguments.

function register(
    bytes32 parentNode,
    string calldata label,
    address owner,
    uint256 duration,
    bytes32 secret,
    address resolver,
    bytes[] calldata data,
    uint16 fuses,
    bytes memory extraData
)
    external
    payable;

Architecture Diagram

Image

QA Replication steps

  1. Register a subdomain of a 2LD that has the DatabaseResolver
  2. Handle the StorageHandledByOffchainDatabase and redirect the request to the gateway
  3. Ensure no error is returned and the newly created subdomain is present on the database
pikonha commented 3 days ago

blocked by #220