{"version":3,"file":"getDomainOwner.cjs","sources":["../../../src/domain/getDomainOwner.ts"],"sourcesContent":["import {\r\n  GetAccountInfoApi,\r\n  GetSlotApi,\r\n  GetTokenLargestAccountsApi,\r\n  Rpc,\r\n} from \"@solana/kit\";\r\n\r\nimport { assertTldSupported } from \"../utils/assertTldSupported\";\r\nimport { _getSnsDomainOwner } from \"./getSnsDomainOwner\";\r\n\r\n/**\r\n * Parameters for retrieving a domain owner.\r\n *\r\n * @example\r\n * ```ts\r\n * const params: GetDomainOwnerParams = { rpc, domain: \"example.sns\" };\r\n * ```\r\n */\r\nexport interface GetDomainOwnerParams {\r\n  /** RPC client. */\r\n  rpc: Rpc<GetAccountInfoApi & GetTokenLargestAccountsApi & GetSlotApi>;\r\n  /** Full domain name. */\r\n  domain: string;\r\n}\r\n\r\n/**\r\n * Retrieves the owner of the specified domain. If the domain is tokenized,\r\n * the NFT's owner is returned; otherwise, the registry owner is returned.\r\n *\r\n * @param params Domain owner retrieval parameters\r\n * @param params.rpc RPC client implementing account and token-largest-account APIs\r\n * @param params.domain Full domain name including a `.sns` or `.sol` suffix\r\n * @returns The domain owner address.\r\n *\r\n * @example\r\n * ```ts\r\n * const owner = await getDomainOwner({ rpc, domain: \"example.sns\" });\r\n * ```\r\n */\r\nexport const getDomainOwner = async ({ rpc, domain }: GetDomainOwnerParams) => {\r\n  const [trimmedDomain] = await assertTldSupported({ rpc, domain });\r\n  return _getSnsDomainOwner({ rpc, domain: trimmedDomain });\r\n};\r\n"],"names":["assertTldSupported","_getSnsDomainOwner"],"mappings":";;;;;;;AAyBA;;;;;;;;;;;;;AAaG;AACI,MAAM,cAAc,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAwB,KAAI;AAC5E,IAAA,MAAM,CAAC,aAAa,CAAC,GAAG,MAAMA,qCAAkB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IACjE,OAAOC,oCAAkB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AAC3D;;;;"}