{"version":3,"file":"reverseLookupBatch.mjs","sources":["../../../src/utils/reverseLookupBatch.ts"],"sourcesContent":["import { Address, GetMultipleAccountsApi, Rpc } from \"@solana/kit\";\r\n\r\nimport { RegistryState } from \"../states/registry\";\r\nimport { deserializeReverse } from \"./deserializers/deserializeReverse\";\r\nimport { getReverseAddressFromDomainAddress } from \"./getReverseAddressFromDomainAddress\";\r\n\r\n/**\r\n * Parameters for batch reverse lookup.\r\n *\r\n * @example\r\n * ```ts\r\n * const params: ReverseLookupBatchParams = { rpc, domainAddresses };\r\n * ```\r\n */\r\nexport interface ReverseLookupBatchParams {\r\n  /** RPC client. */\r\n  rpc: Rpc<GetMultipleAccountsApi>;\r\n  /** Domain account addresses. */\r\n  domainAddresses: Address[];\r\n}\r\n\r\n/**\r\n * Performs reverse lookups for domain addresses.\r\n *\r\n * @param params Reverse lookup parameters\r\n * @param params.rpc RPC client implementing multiple-account lookup\r\n * @param params.domainAddresses Domain addresses to reverse look up\r\n * @returns Human-readable domain names, or `undefined` when reverse account data is unavailable.\r\n *\r\n * @example\r\n * ```ts\r\n * const domains = await reverseLookupBatch({ rpc, domainAddresses });\r\n * ```\r\n */\r\nexport async function reverseLookupBatch({\r\n  rpc,\r\n  domainAddresses,\r\n}: ReverseLookupBatchParams): Promise<(string | undefined)[]> {\r\n  const reverseLookupAddresses: Address[] = await Promise.all(\r\n    domainAddresses.map((domainAddress) =>\r\n      getReverseAddressFromDomainAddress({ domainAddress })\r\n    )\r\n  );\r\n  const states = await RegistryState.retrieveBatch(rpc, reverseLookupAddresses);\r\n\r\n  return states.map((state) => {\r\n    return state?.data ? deserializeReverse({ data: state.data }) : undefined;\r\n  });\r\n}\r\n"],"names":[],"mappings":";;;;AAqBA;;;;;;;;;;;;AAYG;AACI,eAAe,kBAAkB,CAAC,EACvC,GAAG,EACH,eAAe,GACU,EAAA;IACzB,MAAM,sBAAsB,GAAc,MAAM,OAAO,CAAC,GAAG,CACzD,eAAe,CAAC,GAAG,CAAC,CAAC,aAAa,KAChC,kCAAkC,CAAC,EAAE,aAAa,EAAE,CAAC,CACtD,CACF;IACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAE7E,IAAA,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAI;QAC1B,OAAO,KAAK,EAAE,IAAI,GAAG,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS;AAC3E,KAAC,CAAC;AACJ;;;;"}