Resolver Contract
The dotHYPEResolver brings your .hype name to life across Web3. It makes your name functionally usable as an identity layer readable by dApps, wallets, bots, and dashboards.
Fully ENS-compatible, the Resolver contract supports multiple record types, reverse resolution, and metadata customization. It follows the standard ENS interface structure but is tightly integrated with the dotHYPE Registry to enforce domain status and expiration.
This contract does not handle ownershipβit simply reflects what the Registry allows, and enables you to associate rich identity data with your name.
π What It Does
The Resolver supports:
Address resolution (EVM and multi-chain)
Text records (socials, avatar, website, etc.)
Content hash linking (IPFS, Swarm)
Reverse resolution (address β name)
Record versioning and batch updates
If your name is expired or inactive, all resolution queries return blank results. The Resolver only returns records for active .hype names.
π Address Resolution
You can link your .hype name to wallet addresses using either:
A simple EVM address (default Ethereum-style resolution)
A multi-coin address using SLIP-0044 standards
function addr(bytes32 node) external view returns (address);
function addr(bytes32 node, uint256 coinType) external view returns (bytes memory);Set via:
If no address is set, most systems default to the current domain owner.
π Text Records
Text records allow you to embed human-readable metadata into your .hype name.
Common uses include:
Socials:
com.twitter,com.githubProfile:
avatar,descriptionContact:
email,url,website
Text records power UI display, social graphing, and indexing.
𧬠Content Hash
Use a .hype name to link to decentralized content like:
IPFS files or websites
Swarm hashes
Other content-addressed systems
This is ideal for user profiles, dApp frontends, or media hubs.
π Versioning System
Rather than deleting records one by one, dotHYPE enables full record resets via versioning.
Each record is linked to a version counter:
clearRecords()bumps the versionAll previous records become invalid
Useful for refreshing a stale or incorrect profile in one transaction.
π Reverse Resolution
Reverse records map wallet addresses back to .hype names. This is what makes UIs (wallets, explorers, dApps) show your name instead of a 0x address.
Key functions:
You can also:
Query a text record via reverse:
getValue(address, key)Check if an address has a reverse record:
hasRecord(address)
π« Domain Expiration Enforcement
The Resolver enforces expiration checks. If a domain is expired:
All resolution returns are blank
Records cannot be set or updated
This ensures that only active .hype names can display metadata or resolve onchain.
π§© Multi-call Support
To keep things gas-efficient, the resolver supports batch operations:
Set multiple records in a single call
Commonly used when updating profiles or migrating data
This feature inherits from the
Multicallableinterface standard.
π Access & Authorization
Only the current name owner can set or update records.
Ownership is checked against the Registry
If your name is expired, you temporarily lose write access
All write functions include internal isAuthorized() checks.
π‘ Interface Discovery
Applications can check whether this resolver supports a given record type using:
dotHYPE Resolver supports:
IAddrResolverIAddressResolverITextResolverIContentHashResolverIReverseResolver
This ensures compatibility with ENS-resolving dApps and multi-chain interfaces.
π§ For Developers
If you're building with .hype names:
Use
addr()to resolve to a wallet or contractUse
text()to display social or profile metadataUse
reverseLookup()to show names for addresses
The Resolver does not store ownershipβitβs a read/write utility that enhances what the Registry tracks.
Last updated

