UNPKG

whoisens-lib

Version:

Whois for ENS (Ethereum Name Service) lookup service

105 lines (104 loc) 2.78 kB
import { EthAddressType, IENSParams, IResponseResponseInfo } from './types.js'; import BaseClass from './BaseClass.js'; export default class ENS extends BaseClass { private readonly ENSRoot; private Registrar; private Resolver; private ReverseResolver; /** * Store original requested Ethereum Name, as ethAddress could be transform to hex representation if needed */ private ethAddressOriginal; private ethAddress; private ethAddressType; private resolveAddress; /** * @event */ static EVENT_ETH_ADDRESS: string; /** * @event */ static EVENT_ETH_ADDRESS_TYPE: string; /** * @event */ static EVENT_SET_RESPONSE: string; constructor(params?: IENSParams); getEthAddressType(): EthAddressType; /** * Init with eth address * * @fires ENS.EVENT_ETH_NAME * @fires ENS.EVENT_ETH_NAME_TYPE */ init(ethAddress: string): void; getInfo(): Promise<void>; /** * Get controller address. * * @fires ENS.EVENT_SET_RESPONSE * @type {object} * @property resultName {string} controllerResult * * @return Promise<Response> */ getController(): Promise<IResponseResponseInfo>; /** * Get Registrar owner. * * @fires ENS.EVENT_SET_RESPONSE * @type {object} * @property resultName {string} registrarOwnerResult * * @return Promise<Response> */ getOwner(): Promise<IResponseResponseInfo>; /** * Get name expiration date. * * @fires ENS.EVENT_SET_RESPONSE * @type {object} * @property resultName {string} nameExpires * * @return Promise<Response> */ getExpirationDate(): Promise<IResponseResponseInfo>; /** * Get address * * @fires ENS.EVENT_SET_RESPONSE * @type {object} * @property resultName {string} resolverAddress * * @return Promise<Response> */ getAddress(): Promise<IResponseResponseInfo>; /** * Get content hash * * @fires ENS.EVENT_SET_RESPONSE * @type {object} * @property resultName {string} resolverContentHash * * @return Promise<Response> */ getContentHash(): Promise<IResponseResponseInfo>; /** * Get reverse record, e.g. name from address * * @fires ENS.EVENT_SET_RESPONSE * @type {object} * @property resultName {string} revertResolverResult * * @return Promise<Response> */ getReverseRecord(): Promise<IResponseResponseInfo>; resolve(): Promise<IResponseResponseInfo>; private initRegistrar; private initResolver; private isNameRegistered; private sendResponse; private sendError; private extendResultWithAdditionalInfo; }