Term 3 Grants - Summary

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

2 Likes