{"version":3,"file":"getSnsNftMint.cjs","sources":["../../../src/nft/getSnsNftMint.ts"],"sourcesContent":["import { Address, getProgramDerivedAddress } from \"@solana/kit\";\r\n\r\nimport { addressCodec, utf8Codec } from \"../codecs\";\r\nimport { NAME_TOKENIZER_ADDRESS } from \"../constants/addresses\";\r\n\r\n/**\r\n * Parameters for deriving an SNS NFT mint.\r\n *\r\n * @example\r\n * ```ts\r\n * const params: GetSnsNftMintParams = { domainAddress };\r\n * ```\r\n */\r\nexport interface GetSnsNftMintParams {\r\n  /** Tokenized domain account address. */\r\n  domainAddress: Address;\r\n}\r\n\r\nconst MINT_PREFIX = utf8Codec.encode(\"tokenized_name\");\r\n\r\n/**\r\n * Derives the mint address of a tokenized SNS domain.\r\n *\r\n * @param params NFT mint derivation parameters\r\n * @param params.domainAddress Domain account address used to derive the NFT mint\r\n * @returns The derived SNS domain NFT mint address.\r\n *\r\n * @example\r\n * ```ts\r\n * const mint = await getSnsNftMint({ domainAddress });\r\n * ```\r\n */\r\nexport const getSnsNftMint = async ({ domainAddress }: GetSnsNftMintParams) => {\r\n  const [mint] = await getProgramDerivedAddress({\r\n    programAddress: NAME_TOKENIZER_ADDRESS,\r\n    seeds: [MINT_PREFIX, addressCodec.encode(domainAddress)],\r\n  });\r\n  return mint;\r\n};\r\n"],"names":["utf8Codec","getProgramDerivedAddress","NAME_TOKENIZER_ADDRESS","addressCodec"],"mappings":";;;;;;;;AAkBA,MAAM,WAAW,GAAGA,gBAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC;AAEtD;;;;;;;;;;;AAWG;AACU,MAAA,aAAa,GAAG,OAAO,EAAE,aAAa,EAAuB,KAAI;AAC5E,IAAA,MAAM,CAAC,IAAI,CAAC,GAAG,MAAMC,4BAAwB,CAAC;AAC5C,QAAA,cAAc,EAAEC,gCAAsB;QACtC,KAAK,EAAE,CAAC,WAAW,EAAEC,mBAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AACzD,KAAA,CAAC;AACF,IAAA,OAAO,IAAI;AACb;;;;"}