{"version":3,"file":"reverseLookupBatch.cjs","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\ninterface ReverseLookupBatchParams {\r\n  rpc: Rpc<GetMultipleAccountsApi>;\r\n  domainAddresses: Address[];\r\n}\r\n\r\n/**\r\n * Perform a batch reverse lookup for given domain addresses.\r\n *\r\n * @param params - An object containing the following properties:\r\n *   - `rpc`: The RPC client to interact with the blockchain.\r\n *   - `addresses`: The domain addresses to perform the reverse lookup on.\r\n * @returns A promise that resolves to a list of human-readable domain names associated with the given addresses,\r\n *          or undefined if the data is not available.\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":["async","rpc","domainAddresses","reverseLookupAddresses","Promise","all","map","domainAddress","getReverseAddressFromDomainAddress","RegistryState","retrieveBatch","state","data","deserializeReverse","undefined"],"mappings":"0LAoBOA,gBAAkCC,IACvCA,EAAGC,gBACHA,IAEA,MAAMC,QAA0CC,QAAQC,IACtDH,EAAgBI,KAAKC,GACnBC,EAAkCA,mCAAC,CAAED,qBAKzC,aAFqBE,EAAAA,cAAcC,cAAcT,EAAKE,IAExCG,KAAKK,GACVA,GAAOC,KAAOC,qBAAmB,CAAED,KAAMD,EAAMC,YAAUE,GAEpE"}