{"version":3,"file":"setRecordRoaVerifier.cjs","sources":["../../../src/bindings/setRecordRoaVerifier.ts"],"sourcesContent":["import { Instruction } from \"@solana/kit\";\r\n\r\nimport {\r\n  CENTRAL_STATE_DOMAIN_RECORDS,\r\n  NAME_PROGRAM_ADDRESS,\r\n  RECORDS_PROGRAM_ADDRESS,\r\n  SYSTEM_PROGRAM_ADDRESS,\r\n} from \"../constants/addresses\";\r\nimport { SetRecordRoaVerifierInstruction } from \"../instructions/setRecordRoaVerifierInstruction\";\r\nimport { _parseSnsDomain } from \"../utils/parseSnsDomain\";\r\nimport {\r\n  RecordVerificationParams,\r\n  _getRecordAndParentAddress,\r\n} from \"./recordValidation\";\r\n\r\n/**\r\n * Builds an instruction to store the expected Right of Association verifier for a V2 record.\r\n *\r\n * @param params V2 record validation parameters\r\n * @param params.domain Full `.sns` domain or subdomain name\r\n * @param params.record V2 record type\r\n * @param params.owner Current owner of the domain\r\n * @param params.payer Fee payer for the instruction\r\n * @param params.verifier Verifier account used by the record validation instruction\r\n * @returns Transaction instruction.\r\n *\r\n * @example\r\n * ```ts\r\n * const instruction = await setRecordRoaVerifier({\r\n *   domain: \"example.sns\",\r\n *   record: Record.Url,\r\n *   owner,\r\n *   payer,\r\n *   verifier,\r\n * });\r\n * ```\r\n */\r\nexport const setRecordRoaVerifier = async ({\r\n  domain,\r\n  record,\r\n  owner,\r\n  payer,\r\n  verifier,\r\n}: RecordVerificationParams): Promise<Instruction> => {\r\n  const trimmedDomain = _parseSnsDomain(domain);\r\n\r\n  const { domainAddress, parentAddress } = await _getRecordAndParentAddress({\r\n    domain: trimmedDomain,\r\n    record,\r\n  });\r\n\r\n  return new SetRecordRoaVerifierInstruction({\r\n    verifier,\r\n  }).getInstruction(\r\n    RECORDS_PROGRAM_ADDRESS,\r\n    SYSTEM_PROGRAM_ADDRESS,\r\n    NAME_PROGRAM_ADDRESS,\r\n    payer,\r\n    domainAddress,\r\n    parentAddress,\r\n    owner,\r\n    CENTRAL_STATE_DOMAIN_RECORDS\r\n  );\r\n};\r\n"],"names":["_parseSnsDomain","_getRecordAndParentAddress","SetRecordRoaVerifierInstruction","RECORDS_PROGRAM_ADDRESS","SYSTEM_PROGRAM_ADDRESS","NAME_PROGRAM_ADDRESS","CENTRAL_STATE_DOMAIN_RECORDS"],"mappings":";;;;;;;;;AAeA;;;;;;;;;;;;;;;;;;;;;AAqBG;AACU,MAAA,oBAAoB,GAAG,OAAO,EACzC,MAAM,EACN,MAAM,EACN,KAAK,EACL,KAAK,EACL,QAAQ,GACiB,KAA0B;AACnD,IAAA,MAAM,aAAa,GAAGA,8BAAe,CAAC,MAAM,CAAC;IAE7C,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,MAAMC,2CAA0B,CAAC;AACxE,QAAA,MAAM,EAAE,aAAa;QACrB,MAAM;AACP,KAAA,CAAC;IAEF,OAAO,IAAIC,+DAA+B,CAAC;QACzC,QAAQ;AACT,KAAA,CAAC,CAAC,cAAc,CACfC,iCAAuB,EACvBC,gCAAsB,EACtBC,8BAAoB,EACpB,KAAK,EACL,aAAa,EACb,aAAa,EACb,KAAK,EACLC,sCAA4B,CAC7B;AACH;;;;"}