Nethereum integration of the ENS ENSIP 10 and EIP 3668 (CCIP Read)
What we are building?
Nethereum integration of the ENS ENSIP 10 (wildcard resolution support) and EIP 3668 (CCIP Read), this will enable Nethereum users to resolve offline ENS names on a shared parent domain, on top of the existing Nethereum ENS implementation.
Tasks
New Contract Interfaces
Create new contract services in Nethereum.Contracts.Standards.ENS to support the interface ExtendedResolver including SupportsInterface
as per ENSIP 10 and the OffChainResolver reference implementation offchain-resolver/packages/contracts/contracts at main · ensdomains/offchain-resolver · GitHub
ENS Resolver changes
Upgrade existing Nethereum ENS Service Nethereum/src/Nethereum.Contracts/Standards/ENS/ENSService.cs at master · Nethereum/Nethereum · GitHub to support Offline Response Handling using the OffchainLookup error using the CCIP read and verification of callbacks. This will Resolve offline Address, Abi, Text methods, etc as per the original implementation.
CCIP Read Component
Create new class(es) to handle CCIP reading
DNS Encoding support
Include support for DNS encoding as per ethers.js ethers.js/src.ts/hash/namehash.ts at main · ethers-io/ethers.js · GitHub
Playground Example (Documentation)
Playground example(s) using 1.offchainexample.eth as per ENS Layer2 and offchain data support - ENS Documentation, these examples will be similar to the existing ENS examples http://playground.nethereum.com/csharp/id/1055
Integration Testing
Integration testing will be done using the existing domain 1.offchainexample.eth, custom local validation using the CCIP-read gateway offchain-resolver/packages/gateway at main · ensdomains/offchain-resolver · GitHub
Release
The Nethereum integration of the ENS ENSIP 10 and EIP 3668 (CCIP Read) it is included now in the 4.14.0 release Release 4.14.0 ☀️☀️🍞🍞 · Nethereum/Nethereum · GitHub