{"version":3,"file":"createReverse.cjs","sources":["../../../src/bindings/createReverse.ts"],"sourcesContent":["import { Address, IInstruction } from \"@solana/kit\";\r\n\r\nimport {\r\n  CENTRAL_STATE,\r\n  NAME_PROGRAM_ADDRESS,\r\n  REGISTRY_PROGRAM_ADDRESS,\r\n  ROOT_DOMAIN_ADDRESS,\r\n  SYSTEM_PROGRAM_ADDRESS,\r\n  SYSVAR_RENT_ADDRESS,\r\n} from \"../constants/addresses\";\r\nimport { createReverseInstruction } from \"../instructions/createReverseInstruction\";\r\nimport { deriveAddress } from \"../utils/deriveAddress\";\r\n\r\ninterface CreateReverseParams {\r\n  domainAddress: Address;\r\n  domain: string;\r\n  payer: Address;\r\n  parentAddress?: Address;\r\n  parentOwner?: Address;\r\n}\r\n\r\n/**\r\n * Creates a reverse lookup record for the specified domain.\r\n *\r\n * @param params - An object containing the following properties:\r\n *   - `domainAddress`: The address of the domain for which the reverse lookup record is created.\r\n *   - `domain`: The domain name to be associated with the reverse lookup record.\r\n *   - `payer`: The address funding the creation of the reverse lookup record.\r\n *   - `parentAddress`: (Optional) The address of the parent domain, if applicable.\r\n *   - `parentOwner`: (Optional) The address of the parent domain owner, if applicable.\r\n * @returns A promise which resolves to the create reverse lookup instruction.\r\n */\r\nexport const createReverse = async ({\r\n  domainAddress,\r\n  domain,\r\n  payer,\r\n  parentAddress,\r\n  parentOwner,\r\n}: CreateReverseParams): Promise<IInstruction> => {\r\n  const reverseLookupAccount = await deriveAddress(\r\n    domainAddress,\r\n    parentAddress,\r\n    CENTRAL_STATE\r\n  );\r\n\r\n  let ix = new createReverseInstruction({\r\n    domain: domain,\r\n  }).getInstruction(\r\n    REGISTRY_PROGRAM_ADDRESS,\r\n    NAME_PROGRAM_ADDRESS,\r\n    ROOT_DOMAIN_ADDRESS,\r\n    reverseLookupAccount,\r\n    SYSTEM_PROGRAM_ADDRESS,\r\n    CENTRAL_STATE,\r\n    payer,\r\n    SYSVAR_RENT_ADDRESS,\r\n    parentAddress,\r\n    parentOwner\r\n  );\r\n\r\n  return ix;\r\n};\r\n"],"names":["async","domainAddress","domain","payer","parentAddress","parentOwner","reverseLookupAccount","deriveAddress","CENTRAL_STATE","createReverseInstruction","getInstruction","REGISTRY_PROGRAM_ADDRESS","NAME_PROGRAM_ADDRESS","ROOT_DOMAIN_ADDRESS","SYSTEM_PROGRAM_ADDRESS","SYSVAR_RENT_ADDRESS"],"mappings":"iLAgC6BA,OAC3BC,gBACAC,SACAC,QACAC,gBACAC,kBAEA,MAAMC,QAA6BC,EAAAA,cACjCN,EACAG,EACAI,EAAAA,eAkBF,OAfS,IAAIC,2BAAyB,CACpCP,OAAQA,IACPQ,eACDC,2BACAC,EAAAA,qBACAC,EAAAA,oBACAP,EACAQ,EAAsBA,uBACtBN,EAAaA,cACbL,EACAY,sBACAX,EACAC,EAGO"}