Resolution Java Changelog



  • Bump com.esaulpaugh:headlong version



  • Updated default providers to use Alchemy


New methods and features

  • Reverse resolution support via Resolution#getReverse and Resolution#getReverseTokenId methods
  • Updated .zil domains resolution to support domains that were migrated to UNS

Breaking changes

  • Resolution#getNamehash now requires a serviceType parameter to specify which type of namehash to generate (ZNS or UNS)
  • Resolution#getLocations and Resolution#getBatchOwners now support .zil domains. Note that ZNS does not have optimized functions for batch operations so performance for .zil domains may be slow.


Breaking changes

  • Ens support has been removed from the library.
  • Library builder methods regarding ens has been removed: ensChainId , ensProviderUrl and ensContractAddress



  • Library builder methods no longer require UNS smart contract addresses for known networks (mainnet, testnet). Only unsChainId and unsProviderUrl methods are required.


Breaking changes

  • Library builder methods has changed it's signature. Almost all methods now has prefixes related to specific name server ( UNS , ZNS , ENS )
    • Example of changed methods:
    • ensChainId
    • unsChainId
    • znsChainId
  • ENS considered deprecated and will be removed in future

New methods and features

  • 🎉 🎉 🎉 Add Polygon Layer 2 support!
  • Introduced Resolution#getBatchOwners method to resolve owner addresses of many domains only for UNS.
  • Introduced Resolution#getRecords method to resole multiple records of a single domain.
  • Introduced Resolution#getAllRecords method to resole all known records of a single domain.
  • Introduced Resolution#getLocations method to resole all known records of a single domain.
  • Add Resolution#getLocations method which will help to determine domains location (blockhain, networkId) and useful metadata like owner, resolver, registry addresses, provider url if possible.
    • Method returns:
    • Domain blockhain (ETH or MATIC)
    • Blockchain network id (numeric)
    • Owner address
    • Resolver address
    • Registry address
    • Provider URL if possible
      • Infura URL by default
  • Domain name is now trimmed and lowercased before resolving
  • Domain names that are not accomply with this regex ^[.a-z\d-]+$ will throw a NSExceptionCode.InvalidDomain


Breaking changes

  • Resolution#isSupported is now making an async call and throws NamingServiceException
  • NamingServiceType.CNS was replaced by NamingServiceType.UNS .
  • Removed deprecated constructor, to build the instance use Resolution.builder() instead
  • Remove deprecated Resolution#getUsdt, use Resolution#getMultiChainAddress() instead
  • Remove deprecated Resolution#addr, use Resolution#getAddress() instead
  • Remove deprecated Resolution#namehash, use Resolution#getNamehash() instead
  • Remove deprecated Resolution#email, use Resolution#getEmail() instead
  • Remove deprecated Resolution#ipfsHash, use Resolution#getIpfsHash() instead
  • Remove deprecated Resolution#owner, use Resolution#getOwner() instead
  • Remove deprecated TickerVersion enum

New methods and features

  • 🎉 🎉 🎉 Added support for new TLD's ( .888, .nft, .coin, .blockchain, .wallet, .x, .bitcoin, .dao )
  • Introduced DomainResolution#getTokenURI - Retrieves the tokenURI from the registry smart contract.
  • Introduced DomainResolution#getTokenURIMetadata - Retrieves the data from the endpoint provided by tokenURI from the registry smart contract.
  • Introduced DomainResolution#unhash - Retrieves the domain name from token metadata that is provided by tokenURI from the registry smart contract.
  • Return ENS support
  • Allow setting custom contract addresses in Resolution.Builder to support local testnet environment


  • remove ENS support


  • removed BufferedReader#lines due to incompatibility with lower android versions (< 7)


  • Remove Jakson dependency in favor of gson


  • Fix the deserialization bug with Jakson on


  • Introduce DomainResolution#getMultiChainAddress general method to fetch a ticker address from specific chain
  • Deprecate DomainResolution#getUsdt method in favor of DomainResolution#getMultiChainAddress


  • Remove dependency 'org.apache.commons:commons-math3:3.6.1'
  • Added linter to make sure there is no unused dependencies.


  • Autoconfigure chainId from the blockchainprovider url when setting one via Builder#ProviderUrl


  • Use Infura Ethereum Provider by default


  • Fixed missing information on NamingServiceException thrown from ZNS
  • Introduced IProvider interface -- implement it in order to get full control over HTTP requests to blockchain provider
  • Moved Lombok dependency to compileOnly group


  • Added ability to instantly check a domain according to naming service rules for valid domain names


  • Introduced Resolution#dns method to query dns records from .crypto domains
  • Introduced Resolution#usdt method to query usdt address of different chains such as tron, omni, eos and erc20


  • Solve issue with recent etherium node update
  • Moved to use ProxyReader contract instead of direct communication with Registry/Resolver contracts


  • Replace Resolution constructor with configurable builder
  • Introduce DomainResolution interface
  • Replace deprecated APIs
  • Update network-config
  • Code cleanup
  • Fix infura response handling to align with a new format


  • Plugged-in network config file with contracts
  • Code cleanup


  • Deprecated following methods from class:
  • owner in favor of getOwner
  • addr in favor of getAddress
  • email in favor of getEmail
  • ipfsHash in favor of getIpfsHash
  • namehash in favor of getNamehash


  • Added Ens support


  • Code cleanup


  • Fix resource read
  • Change group id to 'com.unstoppabledomains'


  • Setup CI/CD process


  • Optimized build process
  • Client version specification
  • Changelog introduced

1.2.2 and earlier

  • Changelog is not tracked