Source code for nameservice.main

"""Module containing public functions for Algorand name services."""

import logging

from nameservice import ans, nfd, xchain
from utils.constants.nameservice import ANS_SUFFIX, NFD_SUFFIX

logger = logging.getLogger(__name__)


[docs] def check_name(name, algod_client): """Return name service owner for `name` or itself if name isn't registered. :param name: ANS name or Algorand address :type name: str :param algod_client: Algorand node client instance :type algod_client: :class:`AlgodClient` :var container: temporary container to check if both providers registered name :type container: list :var result: resolved collection of address(es) :type result: list :return: str """ if name.lower().endswith(ANS_SUFFIX): return ans.check_name(name, algod_client) if name.lower().replace(NFD_SUFFIX, "").endswith(".algo"): return nfd.check_name(name, algod_client) return xchain.check_evm_address(name, algod_client)