{"version":3,"file":"deleteNameRegistry.cjs","sources":["../../../src/bindings/deleteNameRegistry.ts"],"sourcesContent":["import { Address, GetAccountInfoApi, Instruction, Rpc } from \"@solana/kit\";\r\n\r\nimport { NAME_PROGRAM_ADDRESS } from \"../constants/addresses\";\r\nimport { DeleteNameRegistryInstruction } from \"../instructions/deleteNameRegistryInstruction\";\r\nimport { RegistryState } from \"../states/registry\";\r\nimport { _deriveAddress } from \"../utils/deriveAddress\";\r\n\r\n/**\r\n * Parameters for deleting a name registry.\r\n *\r\n * @example\r\n * ```ts\r\n * const params: DeleteNameRegistryParams = { rpc, name: \"example\", refundAddress };\r\n * ```\r\n */\r\nexport interface DeleteNameRegistryParams {\r\n  /** RPC client. */\r\n  rpc: Rpc<GetAccountInfoApi>;\r\n  /** Raw registry name. */\r\n  name: string;\r\n  /** Account receiving refunded rent. */\r\n  refundAddress: Address;\r\n  /** Registry class address. */\r\n  classAddress?: Address;\r\n  /** Parent registry address. */\r\n  parentAddress?: Address;\r\n}\r\n\r\n/**\r\n * Deletes a raw SPL Name Registry account and refunds the associated rent\r\n * balance to the specified target.\r\n *\r\n * This low-level helper accepts a raw registry seed/name and does not parse\r\n * `.sns` or `.sol` suffixes.\r\n *\r\n * @param params Deletion parameters\r\n * @param params.rpc RPC client implementing account lookup\r\n * @param params.name Raw registry seed/name whose account will be deleted\r\n * @param params.refundAddress Address receiving the refunded rent balance\r\n * @param params.classAddress Optional class address for the registry\r\n * @param params.parentAddress Optional parent registry address\r\n * @returns Transaction instruction.\r\n *\r\n * @example\r\n * ```ts\r\n * const instruction = await deleteNameRegistry({ rpc, name: \"example\", refundAddress });\r\n * ```\r\n */\r\nexport const deleteNameRegistry = async ({\r\n  rpc,\r\n  name,\r\n  refundAddress,\r\n  classAddress,\r\n  parentAddress,\r\n}: DeleteNameRegistryParams): Promise<Instruction> => {\r\n  const domainAddress = await _deriveAddress(name, parentAddress, classAddress);\r\n\r\n  const owner =\r\n    classAddress || (await RegistryState.retrieve(rpc, domainAddress)).owner;\r\n\r\n  const ix = new DeleteNameRegistryInstruction().getInstruction(\r\n    NAME_PROGRAM_ADDRESS,\r\n    domainAddress,\r\n    refundAddress,\r\n    owner\r\n  );\r\n\r\n  return ix;\r\n};\r\n"],"names":["_deriveAddress","RegistryState","DeleteNameRegistryInstruction","NAME_PROGRAM_ADDRESS"],"mappings":";;;;;;;;;AA4BA;;;;;;;;;;;;;;;;;;;AAmBG;AACU,MAAA,kBAAkB,GAAG,OAAO,EACvC,GAAG,EACH,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,aAAa,GACY,KAA0B;IACnD,MAAM,aAAa,GAAG,MAAMA,4BAAc,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,CAAC;AAE7E,IAAA,MAAM,KAAK,GACT,YAAY,IAAI,CAAC,MAAMC,sBAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,KAAK;AAE1E,IAAA,MAAM,EAAE,GAAG,IAAIC,2DAA6B,EAAE,CAAC,cAAc,CAC3DC,8BAAoB,EACpB,aAAa,EACb,aAAa,EACb,KAAK,CACN;AAED,IAAA,OAAO,EAAE;AACX;;;;"}