In general, the Universal Resolver utilizes fewer RPC calls, It is deployed on all major Ethereum networks such as Mainnet and Sepolia and is widely used by well known JS libraries that interact with Ethereum, see Viem's implementation.
Related Issue
This was part of the solution proposed by #38. The CCIP-Read from an offchain data source will be implemented on a future PR given its complexity.
Changes
[X] New feature implementation
[ ] Bug fix
[ ] Code refactoring
[ ] Documentation update
[ ] Other (please specify)
Changes to Core Features:
[X] Have you added an explanation of what your changes do and why you'd like us to include them?
[X] Have you written new tests for your core changes, as applicable?
[X] Have you successfully run tests with your changes locally?
Additional Notes
There are 2 failing tests on the main branch that are the only ones that are failing:
TestResolveNoResolver (currently commented out on main) failing because the address has a resolver on mainnet
TestResolveEthereum failing because the ethereum.eth has no address assigned
ENSIP-10: Subdomain resolution
Description
This PR implements the ENSIP-10 feature that makes it possible for subdomains to be resolved to their respective address.
The implementation was based on the ENS' Universal Resolver implementation, taking advantage of the
findResolver
subdomain resolution.In general, the Universal Resolver utilizes fewer RPC calls, It is deployed on all major Ethereum networks such as Mainnet and Sepolia and is widely used by well known JS libraries that interact with Ethereum, see Viem's implementation.
Related Issue
This was part of the solution proposed by #38. The CCIP-Read from an offchain data source will be implemented on a future PR given its complexity.
Changes
Changes to Core Features:
Additional Notes
There are 2 failing tests on the main branch that are the only ones that are failing:
TestResolveNoResolver
(currently commented out on main) failing because the address has a resolver on mainnetTestResolveEthereum
failing because theethereum.eth
has no address assignedCheers from the Blockful team 👋🏼