{"version":3,"file":"setPrimaryDomain.cjs","sources":["../../../src/bindings/setPrimaryDomain.ts"],"sourcesContent":["import { Address, GetAccountInfoApi, IInstruction, Rpc } from \"@solana/kit\";\r\n\r\nimport {\r\n  NAME_OFFERS_ADDRESS,\r\n  ROOT_DOMAIN_ADDRESS,\r\n  SYSTEM_PROGRAM_ADDRESS,\r\n} from \"../constants/addresses\";\r\nimport { registerFavoriteInstruction } from \"../instructions/registerFavoriteInstruction\";\r\nimport { PrimaryDomainState } from \"../states/primaryDomain\";\r\nimport { RegistryState } from \"../states/registry\";\r\n\r\nexport interface SetPrimaryDomainParams {\r\n  rpc: Rpc<GetAccountInfoApi>;\r\n  domainAddress: Address;\r\n  owner: Address;\r\n}\r\n\r\n/**\r\n * Sets the primary domain for the specified owner.\r\n *\r\n * @param params - An object containing the following properties:\r\n *   - `rpc`: An RPC interface implementing GetAccountInfoApi.\r\n *   - `domainAddress`: The address of the domain to be set as primary.\r\n *   - `owner`: The address of the domain owner.\r\n * @returns A promise which resolves to the set primary domain instruction.\r\n */\r\nexport const setPrimaryDomain = async ({\r\n  rpc,\r\n  domainAddress,\r\n  owner,\r\n}: SetPrimaryDomainParams): Promise<IInstruction> => {\r\n  const [registry, primaryAddress] = await Promise.all([\r\n    RegistryState.retrieve(rpc, domainAddress),\r\n    PrimaryDomainState.getAddress(NAME_OFFERS_ADDRESS, owner),\r\n  ]);\r\n\r\n  const parent =\r\n    registry.parentName !== ROOT_DOMAIN_ADDRESS\r\n      ? registry.parentName\r\n      : undefined;\r\n\r\n  const ix = new registerFavoriteInstruction().getInstruction(\r\n    NAME_OFFERS_ADDRESS,\r\n    domainAddress,\r\n    primaryAddress,\r\n    owner,\r\n    SYSTEM_PROGRAM_ADDRESS,\r\n    parent\r\n  );\r\n  return ix;\r\n};\r\n"],"names":["async","rpc","domainAddress","owner","registry","primaryAddress","Promise","all","RegistryState","retrieve","PrimaryDomainState","getAddress","NAME_OFFERS_ADDRESS","parent","parentName","ROOT_DOMAIN_ADDRESS","undefined","registerFavoriteInstruction","getInstruction","SYSTEM_PROGRAM_ADDRESS"],"mappings":"4NA0BgCA,OAC9BC,MACAC,gBACAC,YAEA,MAAOC,EAAUC,SAAwBC,QAAQC,IAAI,CACnDC,gBAAcC,SAASR,EAAKC,GAC5BQ,qBAAmBC,WAAWC,EAAmBA,oBAAET,KAG/CU,EACJT,EAASU,aAAeC,EAAAA,oBACpBX,EAASU,gBACTE,EAUN,OARW,IAAIC,+BAA8BC,eAC3CN,EAAAA,oBACAV,EACAG,EACAF,EACAgB,EAAsBA,uBACtBN,EAEO"}