Created
July 8, 2022 16:38
-
-
Save Hero-Development/1a80cc5106c7990ebe4a1308447d0d6c to your computer and use it in GitHub Desktop.
How to resolve ENS on-chain
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
interface DefaultReverseResolver{ | |
function name(bytes32 node) external view returns (string memory); | |
} | |
interface ENS{ | |
function resolver(bytes32 node) external view returns (address); | |
} | |
interface ReverseRegistrar{ | |
function node(address addr) external pure returns (bytes32); | |
} | |
contract ENSLookup{ | |
ENS public ens = ENS( 0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e ); | |
ReverseRegistrar public reverseResolver = ReverseRegistrar( 0x084b1c3c81545d370f3634392de611caabff8148 ); | |
function lookup( address addr ) external view returns( string memory ){ | |
bytes32 node = reverseResolver.node( addr ); | |
address addr = ens.resolver( node ); | |
if( addr == address(0) ){ | |
return addr.toHexString(); | |
} | |
else{ | |
return DefaultReverseResolver( addr ).name( node ); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment