@macalinao/clients-mpl-bubblegum 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/dist/generated/accounts/index.d.ts +2 -1
  2. package/dist/generated/accounts/treeConfig.d.ts +22 -7
  3. package/dist/generated/accounts/treeConfig.d.ts.map +1 -1
  4. package/dist/generated/accounts/treeConfig.js +7 -0
  5. package/dist/generated/accounts/treeConfig.js.map +1 -1
  6. package/dist/generated/accounts/voucher.d.ts +14 -7
  7. package/dist/generated/accounts/voucher.d.ts.map +1 -1
  8. package/dist/generated/accounts/voucher.js +7 -0
  9. package/dist/generated/accounts/voucher.js.map +1 -1
  10. package/dist/generated/errors/bubblegum.d.ts +0 -1
  11. package/dist/generated/errors/bubblegum.d.ts.map +1 -1
  12. package/dist/generated/errors/bubblegum.js +66 -59
  13. package/dist/generated/errors/bubblegum.js.map +1 -1
  14. package/dist/generated/errors/index.d.ts +2 -1
  15. package/dist/generated/index.d.ts +8 -1
  16. package/dist/generated/instructions/burn.d.ts +141 -17
  17. package/dist/generated/instructions/burn.d.ts.map +1 -1
  18. package/dist/generated/instructions/burn.js +23 -0
  19. package/dist/generated/instructions/burn.js.map +1 -1
  20. package/dist/generated/instructions/burnV2.d.ts +179 -31
  21. package/dist/generated/instructions/burnV2.d.ts.map +1 -1
  22. package/dist/generated/instructions/burnV2.js +21 -0
  23. package/dist/generated/instructions/burnV2.js.map +1 -1
  24. package/dist/generated/instructions/cancelRedeem.d.ts +99 -13
  25. package/dist/generated/instructions/cancelRedeem.d.ts.map +1 -1
  26. package/dist/generated/instructions/cancelRedeem.js +19 -0
  27. package/dist/generated/instructions/cancelRedeem.js.map +1 -1
  28. package/dist/generated/instructions/closeTreeV2.d.ts +85 -19
  29. package/dist/generated/instructions/closeTreeV2.d.ts.map +1 -1
  30. package/dist/generated/instructions/closeTreeV2.js +21 -0
  31. package/dist/generated/instructions/closeTreeV2.js.map +1 -1
  32. package/dist/generated/instructions/collectV2.d.ts +20 -7
  33. package/dist/generated/instructions/collectV2.d.ts.map +1 -1
  34. package/dist/generated/instructions/collectV2.js +10 -0
  35. package/dist/generated/instructions/collectV2.js.map +1 -1
  36. package/dist/generated/instructions/compress.d.ts +119 -9
  37. package/dist/generated/instructions/compress.d.ts.map +1 -1
  38. package/dist/generated/instructions/compress.js +21 -0
  39. package/dist/generated/instructions/compress.js.map +1 -1
  40. package/dist/generated/instructions/createTree.d.ts +117 -11
  41. package/dist/generated/instructions/createTree.d.ts.map +1 -1
  42. package/dist/generated/instructions/createTree.js +23 -0
  43. package/dist/generated/instructions/createTree.js.map +1 -1
  44. package/dist/generated/instructions/createTreeV2.d.ts +109 -14
  45. package/dist/generated/instructions/createTreeV2.d.ts.map +1 -1
  46. package/dist/generated/instructions/createTreeV2.js +23 -0
  47. package/dist/generated/instructions/createTreeV2.js.map +1 -1
  48. package/dist/generated/instructions/decompressV1.d.ts +106 -11
  49. package/dist/generated/instructions/decompressV1.d.ts.map +1 -1
  50. package/dist/generated/instructions/decompressV1.js +25 -0
  51. package/dist/generated/instructions/decompressV1.js.map +1 -1
  52. package/dist/generated/instructions/delegate.d.ts +140 -17
  53. package/dist/generated/instructions/delegate.d.ts.map +1 -1
  54. package/dist/generated/instructions/delegate.js +19 -0
  55. package/dist/generated/instructions/delegate.js.map +1 -1
  56. package/dist/generated/instructions/delegateAndFreezeV2.d.ts +171 -27
  57. package/dist/generated/instructions/delegateAndFreezeV2.d.ts.map +1 -1
  58. package/dist/generated/instructions/delegateAndFreezeV2.js +17 -0
  59. package/dist/generated/instructions/delegateAndFreezeV2.js.map +1 -1
  60. package/dist/generated/instructions/delegateV2.d.ts +169 -27
  61. package/dist/generated/instructions/delegateV2.d.ts.map +1 -1
  62. package/dist/generated/instructions/delegateV2.js +15 -0
  63. package/dist/generated/instructions/delegateV2.js.map +1 -1
  64. package/dist/generated/instructions/freezeV2.d.ts +174 -28
  65. package/dist/generated/instructions/freezeV2.d.ts.map +1 -1
  66. package/dist/generated/instructions/freezeV2.js +23 -0
  67. package/dist/generated/instructions/freezeV2.js.map +1 -1
  68. package/dist/generated/instructions/index.d.ts +2 -1
  69. package/dist/generated/instructions/mintToCollectionV1.d.ts +171 -20
  70. package/dist/generated/instructions/mintToCollectionV1.d.ts.map +1 -1
  71. package/dist/generated/instructions/mintToCollectionV1.js +23 -0
  72. package/dist/generated/instructions/mintToCollectionV1.js.map +1 -1
  73. package/dist/generated/instructions/mintV1.d.ts +109 -11
  74. package/dist/generated/instructions/mintV1.d.ts.map +1 -1
  75. package/dist/generated/instructions/mintV1.js +21 -0
  76. package/dist/generated/instructions/mintV1.js.map +1 -1
  77. package/dist/generated/instructions/mintV2.d.ts +163 -17
  78. package/dist/generated/instructions/mintV2.d.ts.map +1 -1
  79. package/dist/generated/instructions/mintV2.js +45 -0
  80. package/dist/generated/instructions/mintV2.js.map +1 -1
  81. package/dist/generated/instructions/redeem.d.ts +153 -17
  82. package/dist/generated/instructions/redeem.d.ts.map +1 -1
  83. package/dist/generated/instructions/redeem.js +23 -0
  84. package/dist/generated/instructions/redeem.js.map +1 -1
  85. package/dist/generated/instructions/setAndVerifyCollection.d.ts +222 -38
  86. package/dist/generated/instructions/setAndVerifyCollection.d.ts.map +1 -1
  87. package/dist/generated/instructions/setAndVerifyCollection.js +21 -0
  88. package/dist/generated/instructions/setAndVerifyCollection.js.map +1 -1
  89. package/dist/generated/instructions/setCollectionV2.d.ts +186 -39
  90. package/dist/generated/instructions/setCollectionV2.d.ts.map +1 -1
  91. package/dist/generated/instructions/setCollectionV2.js +21 -0
  92. package/dist/generated/instructions/setCollectionV2.js.map +1 -1
  93. package/dist/generated/instructions/setDecompressableState.d.ts +40 -9
  94. package/dist/generated/instructions/setDecompressableState.d.ts.map +1 -1
  95. package/dist/generated/instructions/setDecompressableState.js +13 -0
  96. package/dist/generated/instructions/setDecompressableState.js.map +1 -1
  97. package/dist/generated/instructions/setDecompressibleState.d.ts +41 -9
  98. package/dist/generated/instructions/setDecompressibleState.d.ts.map +1 -1
  99. package/dist/generated/instructions/setDecompressibleState.js +14 -0
  100. package/dist/generated/instructions/setDecompressibleState.js.map +1 -1
  101. package/dist/generated/instructions/setNonTransferableV2.d.ts +166 -31
  102. package/dist/generated/instructions/setNonTransferableV2.d.ts.map +1 -1
  103. package/dist/generated/instructions/setNonTransferableV2.js +23 -0
  104. package/dist/generated/instructions/setNonTransferableV2.js.map +1 -1
  105. package/dist/generated/instructions/setTreeDelegate.d.ts +65 -9
  106. package/dist/generated/instructions/setTreeDelegate.d.ts.map +1 -1
  107. package/dist/generated/instructions/setTreeDelegate.js +21 -0
  108. package/dist/generated/instructions/setTreeDelegate.js.map +1 -1
  109. package/dist/generated/instructions/thawAndRevokeV2.d.ts +158 -24
  110. package/dist/generated/instructions/thawAndRevokeV2.d.ts.map +1 -1
  111. package/dist/generated/instructions/thawAndRevokeV2.js +17 -0
  112. package/dist/generated/instructions/thawAndRevokeV2.js.map +1 -1
  113. package/dist/generated/instructions/thawV2.d.ts +166 -28
  114. package/dist/generated/instructions/thawV2.d.ts.map +1 -1
  115. package/dist/generated/instructions/thawV2.js +15 -0
  116. package/dist/generated/instructions/thawV2.js.map +1 -1
  117. package/dist/generated/instructions/transfer.d.ts +140 -17
  118. package/dist/generated/instructions/transfer.d.ts.map +1 -1
  119. package/dist/generated/instructions/transfer.js +19 -0
  120. package/dist/generated/instructions/transfer.js.map +1 -1
  121. package/dist/generated/instructions/transferV2.d.ts +167 -31
  122. package/dist/generated/instructions/transferV2.d.ts.map +1 -1
  123. package/dist/generated/instructions/transferV2.js +21 -0
  124. package/dist/generated/instructions/transferV2.js.map +1 -1
  125. package/dist/generated/instructions/unverifyCollection.d.ts +215 -38
  126. package/dist/generated/instructions/unverifyCollection.d.ts.map +1 -1
  127. package/dist/generated/instructions/unverifyCollection.js +19 -0
  128. package/dist/generated/instructions/unverifyCollection.js.map +1 -1
  129. package/dist/generated/instructions/unverifyCreator.d.ts +161 -17
  130. package/dist/generated/instructions/unverifyCreator.d.ts.map +1 -1
  131. package/dist/generated/instructions/unverifyCreator.js +19 -0
  132. package/dist/generated/instructions/unverifyCreator.js.map +1 -1
  133. package/dist/generated/instructions/unverifyCreatorV2.d.ts +143 -21
  134. package/dist/generated/instructions/unverifyCreatorV2.d.ts.map +1 -1
  135. package/dist/generated/instructions/unverifyCreatorV2.js +19 -0
  136. package/dist/generated/instructions/unverifyCreatorV2.js.map +1 -1
  137. package/dist/generated/instructions/updateAssetDataV2.d.ts +180 -28
  138. package/dist/generated/instructions/updateAssetDataV2.d.ts.map +1 -1
  139. package/dist/generated/instructions/updateAssetDataV2.js +21 -0
  140. package/dist/generated/instructions/updateAssetDataV2.js.map +1 -1
  141. package/dist/generated/instructions/updateMetadata.d.ts +183 -28
  142. package/dist/generated/instructions/updateMetadata.d.ts.map +1 -1
  143. package/dist/generated/instructions/updateMetadata.js +21 -0
  144. package/dist/generated/instructions/updateMetadata.js.map +1 -1
  145. package/dist/generated/instructions/updateMetadataV2.d.ts +162 -27
  146. package/dist/generated/instructions/updateMetadataV2.d.ts.map +1 -1
  147. package/dist/generated/instructions/updateMetadataV2.js +19 -0
  148. package/dist/generated/instructions/updateMetadataV2.js.map +1 -1
  149. package/dist/generated/instructions/verifyCollection.d.ts +215 -38
  150. package/dist/generated/instructions/verifyCollection.d.ts.map +1 -1
  151. package/dist/generated/instructions/verifyCollection.js +19 -0
  152. package/dist/generated/instructions/verifyCollection.js.map +1 -1
  153. package/dist/generated/instructions/verifyCreator.d.ts +161 -17
  154. package/dist/generated/instructions/verifyCreator.d.ts.map +1 -1
  155. package/dist/generated/instructions/verifyCreator.js +19 -0
  156. package/dist/generated/instructions/verifyCreator.js.map +1 -1
  157. package/dist/generated/instructions/verifyCreatorV2.d.ts +143 -21
  158. package/dist/generated/instructions/verifyCreatorV2.d.ts.map +1 -1
  159. package/dist/generated/instructions/verifyCreatorV2.js +19 -0
  160. package/dist/generated/instructions/verifyCreatorV2.js.map +1 -1
  161. package/dist/generated/pdas/assetId.d.ts +2 -3
  162. package/dist/generated/pdas/assetId.d.ts.map +1 -1
  163. package/dist/generated/pdas/assetId.js +7 -0
  164. package/dist/generated/pdas/assetId.js.map +1 -1
  165. package/dist/generated/pdas/bubblegumSigner.d.ts +0 -1
  166. package/dist/generated/pdas/bubblegumSigner.d.ts.map +1 -1
  167. package/dist/generated/pdas/bubblegumSigner.js +7 -0
  168. package/dist/generated/pdas/bubblegumSigner.js.map +1 -1
  169. package/dist/generated/pdas/index.d.ts +2 -1
  170. package/dist/generated/pdas/masterEdition.d.ts +2 -3
  171. package/dist/generated/pdas/masterEdition.d.ts.map +1 -1
  172. package/dist/generated/pdas/masterEdition.js +7 -0
  173. package/dist/generated/pdas/masterEdition.js.map +1 -1
  174. package/dist/generated/pdas/metadata.d.ts +2 -3
  175. package/dist/generated/pdas/metadata.d.ts.map +1 -1
  176. package/dist/generated/pdas/metadata.js +7 -0
  177. package/dist/generated/pdas/metadata.js.map +1 -1
  178. package/dist/generated/pdas/mintAuthority.d.ts +2 -3
  179. package/dist/generated/pdas/mintAuthority.d.ts.map +1 -1
  180. package/dist/generated/pdas/mintAuthority.js +7 -0
  181. package/dist/generated/pdas/mintAuthority.js.map +1 -1
  182. package/dist/generated/pdas/treeConfig.d.ts +2 -3
  183. package/dist/generated/pdas/treeConfig.d.ts.map +1 -1
  184. package/dist/generated/pdas/treeConfig.js +7 -0
  185. package/dist/generated/pdas/treeConfig.js.map +1 -1
  186. package/dist/generated/pdas/voucher.d.ts +2 -3
  187. package/dist/generated/pdas/voucher.d.ts.map +1 -1
  188. package/dist/generated/pdas/voucher.js +7 -0
  189. package/dist/generated/pdas/voucher.js.map +1 -1
  190. package/dist/generated/programs/bubblegum.d.ts +17 -12
  191. package/dist/generated/programs/bubblegum.d.ts.map +1 -1
  192. package/dist/generated/programs/bubblegum.js +11 -1
  193. package/dist/generated/programs/bubblegum.js.map +1 -1
  194. package/dist/generated/programs/index.d.ts +2 -1
  195. package/dist/generated/programs/mplTokenMetadata.d.ts +8 -8
  196. package/dist/generated/programs/mplTokenMetadata.d.ts.map +1 -1
  197. package/dist/generated/programs/mplTokenMetadata.js +7 -0
  198. package/dist/generated/programs/mplTokenMetadata.js.map +1 -1
  199. package/dist/generated/types/assetDataSchema.d.ts +4 -1
  200. package/dist/generated/types/assetDataSchema.d.ts.map +1 -1
  201. package/dist/generated/types/assetDataSchema.js +11 -0
  202. package/dist/generated/types/assetDataSchema.js.map +1 -1
  203. package/dist/generated/types/bubblegumEventType.d.ts +4 -1
  204. package/dist/generated/types/bubblegumEventType.d.ts.map +1 -1
  205. package/dist/generated/types/bubblegumEventType.js +11 -0
  206. package/dist/generated/types/bubblegumEventType.js.map +1 -1
  207. package/dist/generated/types/collection.d.ts +9 -3
  208. package/dist/generated/types/collection.d.ts.map +1 -1
  209. package/dist/generated/types/collection.js +7 -0
  210. package/dist/generated/types/collection.js.map +1 -1
  211. package/dist/generated/types/creator.d.ts +9 -7
  212. package/dist/generated/types/creator.d.ts.map +1 -1
  213. package/dist/generated/types/creator.js +7 -0
  214. package/dist/generated/types/creator.js.map +1 -1
  215. package/dist/generated/types/decompressibleState.d.ts +5 -1
  216. package/dist/generated/types/decompressibleState.d.ts.map +1 -1
  217. package/dist/generated/types/decompressibleState.js +12 -0
  218. package/dist/generated/types/decompressibleState.js.map +1 -1
  219. package/dist/generated/types/index.d.ts +2 -1
  220. package/dist/generated/types/instructionName.d.ts +4 -1
  221. package/dist/generated/types/instructionName.d.ts.map +1 -1
  222. package/dist/generated/types/instructionName.js +11 -0
  223. package/dist/generated/types/instructionName.js.map +1 -1
  224. package/dist/generated/types/leafSchema.d.ts +51 -13
  225. package/dist/generated/types/leafSchema.d.ts.map +1 -1
  226. package/dist/generated/types/leafSchema.js +7 -0
  227. package/dist/generated/types/leafSchema.js.map +1 -1
  228. package/dist/generated/types/metadataArgs.d.ts +19 -7
  229. package/dist/generated/types/metadataArgs.d.ts.map +1 -1
  230. package/dist/generated/types/metadataArgs.js +7 -0
  231. package/dist/generated/types/metadataArgs.js.map +1 -1
  232. package/dist/generated/types/metadataArgsV2.d.ts +14 -7
  233. package/dist/generated/types/metadataArgsV2.d.ts.map +1 -1
  234. package/dist/generated/types/metadataArgsV2.js +7 -0
  235. package/dist/generated/types/metadataArgsV2.js.map +1 -1
  236. package/dist/generated/types/tokenProgramVersion.d.ts +1 -1
  237. package/dist/generated/types/tokenProgramVersion.d.ts.map +1 -1
  238. package/dist/generated/types/tokenProgramVersion.js +8 -0
  239. package/dist/generated/types/tokenProgramVersion.js.map +1 -1
  240. package/dist/generated/types/tokenStandard.d.ts +5 -1
  241. package/dist/generated/types/tokenStandard.d.ts.map +1 -1
  242. package/dist/generated/types/tokenStandard.js +12 -0
  243. package/dist/generated/types/tokenStandard.js.map +1 -1
  244. package/dist/generated/types/updateArgs.d.ts +26 -7
  245. package/dist/generated/types/updateArgs.d.ts.map +1 -1
  246. package/dist/generated/types/updateArgs.js +7 -0
  247. package/dist/generated/types/updateArgs.js.map +1 -1
  248. package/dist/generated/types/useMethod.d.ts +1 -1
  249. package/dist/generated/types/useMethod.d.ts.map +1 -1
  250. package/dist/generated/types/useMethod.js +8 -0
  251. package/dist/generated/types/useMethod.js.map +1 -1
  252. package/dist/generated/types/uses.d.ts +16 -5
  253. package/dist/generated/types/uses.d.ts.map +1 -1
  254. package/dist/generated/types/uses.js +7 -0
  255. package/dist/generated/types/uses.js.map +1 -1
  256. package/dist/generated/types/version.d.ts +5 -1
  257. package/dist/generated/types/version.d.ts.map +1 -1
  258. package/dist/generated/types/version.js +12 -0
  259. package/dist/generated/types/version.js.map +1 -1
  260. package/dist/index.d.ts +1 -0
  261. package/package.json +6 -6
  262. package/src/generated/accounts/treeConfig.ts +36 -27
  263. package/src/generated/accounts/voucher.ts +30 -23
  264. package/src/generated/errors/bubblegum.ts +121 -154
  265. package/src/generated/instructions/burn.ts +157 -35
  266. package/src/generated/instructions/burnV2.ts +197 -52
  267. package/src/generated/instructions/cancelRedeem.ts +116 -32
  268. package/src/generated/instructions/closeTreeV2.ts +96 -35
  269. package/src/generated/instructions/collectV2.ts +34 -23
  270. package/src/generated/instructions/compress.ts +136 -30
  271. package/src/generated/instructions/createTree.ts +137 -33
  272. package/src/generated/instructions/createTreeV2.ts +128 -36
  273. package/src/generated/instructions/decompressV1.ts +124 -31
  274. package/src/generated/instructions/delegate.ts +159 -38
  275. package/src/generated/instructions/delegateAndFreezeV2.ts +191 -51
  276. package/src/generated/instructions/delegateV2.ts +189 -51
  277. package/src/generated/instructions/freezeV2.ts +193 -49
  278. package/src/generated/instructions/mintToCollectionV1.ts +186 -37
  279. package/src/generated/instructions/mintV1.ts +127 -31
  280. package/src/generated/instructions/mintV2.ts +184 -45
  281. package/src/generated/instructions/redeem.ts +172 -38
  282. package/src/generated/instructions/setAndVerifyCollection.ts +236 -54
  283. package/src/generated/instructions/setCollectionV2.ts +202 -58
  284. package/src/generated/instructions/setDecompressableState.ts +59 -31
  285. package/src/generated/instructions/setDecompressibleState.ts +60 -31
  286. package/src/generated/instructions/setNonTransferableV2.ts +184 -52
  287. package/src/generated/instructions/setTreeDelegate.ts +82 -28
  288. package/src/generated/instructions/thawAndRevokeV2.ts +179 -48
  289. package/src/generated/instructions/thawV2.ts +185 -49
  290. package/src/generated/instructions/transfer.ts +156 -35
  291. package/src/generated/instructions/transferV2.ts +185 -52
  292. package/src/generated/instructions/unverifyCollection.ts +229 -54
  293. package/src/generated/instructions/unverifyCreator.ts +181 -39
  294. package/src/generated/instructions/unverifyCreatorV2.ts +164 -46
  295. package/src/generated/instructions/updateAssetDataV2.ts +200 -50
  296. package/src/generated/instructions/updateMetadata.ts +200 -52
  297. package/src/generated/instructions/updateMetadataV2.ts +183 -54
  298. package/src/generated/instructions/verifyCollection.ts +229 -54
  299. package/src/generated/instructions/verifyCreator.ts +181 -39
  300. package/src/generated/instructions/verifyCreatorV2.ts +164 -46
  301. package/src/generated/pdas/assetId.ts +4 -3
  302. package/src/generated/pdas/bubblegumSigner.ts +6 -2
  303. package/src/generated/pdas/masterEdition.ts +4 -3
  304. package/src/generated/pdas/metadata.ts +4 -3
  305. package/src/generated/pdas/mintAuthority.ts +8 -4
  306. package/src/generated/pdas/treeConfig.ts +8 -4
  307. package/src/generated/pdas/voucher.ts +4 -3
  308. package/src/generated/programs/bubblegum.ts +146 -144
  309. package/src/generated/programs/mplTokenMetadata.ts +5 -10
  310. package/src/generated/types/assetDataSchema.ts +14 -8
  311. package/src/generated/types/bubblegumEventType.ts +13 -7
  312. package/src/generated/types/collection.ts +13 -8
  313. package/src/generated/types/creator.ts +11 -10
  314. package/src/generated/types/decompressibleState.ts +14 -7
  315. package/src/generated/types/instructionName.ts +46 -40
  316. package/src/generated/types/leafSchema.ts +59 -22
  317. package/src/generated/types/metadataArgs.ts +35 -27
  318. package/src/generated/types/metadataArgsV2.ts +23 -20
  319. package/src/generated/types/tokenProgramVersion.ts +10 -7
  320. package/src/generated/types/tokenStandard.ts +16 -9
  321. package/src/generated/types/updateArgs.ts +36 -15
  322. package/src/generated/types/useMethod.ts +11 -8
  323. package/src/generated/types/uses.ts +24 -11
  324. package/src/generated/types/version.ts +14 -7
@@ -6,32 +6,6 @@
6
6
  * @see https://github.com/codama-idl/codama
7
7
  */
8
8
 
9
- import type {
10
- AccountMeta,
11
- AccountSignerMeta,
12
- Address,
13
- Codec,
14
- Decoder,
15
- Encoder,
16
- Instruction,
17
- InstructionWithAccounts,
18
- InstructionWithData,
19
- Option,
20
- OptionOrNullable,
21
- ReadonlyAccount,
22
- ReadonlySignerAccount,
23
- ReadonlyUint8Array,
24
- TransactionSigner,
25
- WritableAccount,
26
- WritableSignerAccount,
27
- } from "@solana/kit";
28
- import type { ResolvedInstructionAccount } from "@solana/program-client-core";
29
- import type {
30
- AssetDataSchema,
31
- AssetDataSchemaArgs,
32
- MetadataArgsV2,
33
- MetadataArgsV2Args,
34
- } from "../types/index.js";
35
9
  import {
36
10
  addDecoderSizePrefix,
37
11
  addEncoderSizePrefix,
@@ -49,10 +23,28 @@ import {
49
23
  SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
50
24
  SolanaError,
51
25
  transformEncoder,
26
+ type AccountMeta,
27
+ type AccountSignerMeta,
28
+ type Address,
29
+ type Codec,
30
+ type Decoder,
31
+ type Encoder,
32
+ type Instruction,
33
+ type InstructionWithAccounts,
34
+ type InstructionWithData,
35
+ type Option,
36
+ type OptionOrNullable,
37
+ type ReadonlyAccount,
38
+ type ReadonlySignerAccount,
39
+ type ReadonlyUint8Array,
40
+ type TransactionSigner,
41
+ type WritableAccount,
42
+ type WritableSignerAccount,
52
43
  } from "@solana/kit";
53
44
  import {
54
45
  getAccountMetaFactory,
55
46
  getAddressFromResolvedInstructionAccount,
47
+ type ResolvedInstructionAccount,
56
48
  } from "@solana/program-client-core";
57
49
  import { findTreeConfigPda } from "../pdas/index.js";
58
50
  import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
@@ -61,6 +53,10 @@ import {
61
53
  getAssetDataSchemaEncoder,
62
54
  getMetadataArgsV2Decoder,
63
55
  getMetadataArgsV2Encoder,
56
+ type AssetDataSchema,
57
+ type AssetDataSchemaArgs,
58
+ type MetadataArgsV2,
59
+ type MetadataArgsV2Args,
64
60
  } from "../types/index.js";
65
61
 
66
62
  export const MINT_V2_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([
@@ -141,18 +137,36 @@ export type MintV2Instruction<
141
137
  ]
142
138
  >;
143
139
 
144
- export interface MintV2InstructionData {
140
+ export type MintV2InstructionData = {
145
141
  discriminator: ReadonlyUint8Array;
142
+ /** Metadata for the newly minted `LeafSchema` V2 asset. */
146
143
  metadataArgs: MetadataArgsV2;
144
+ /**
145
+ * Optional raw asset data blob to associate with the newly minted
146
+ * asset. Reserved for future use.
147
+ */
147
148
  assetData: Option<ReadonlyUint8Array>;
149
+ /**
150
+ * Schema describing the format of `assetData`. Reserved for future
151
+ * use.
152
+ */
148
153
  assetDataSchema: Option<AssetDataSchema>;
149
- }
154
+ };
150
155
 
151
- export interface MintV2InstructionDataArgs {
156
+ export type MintV2InstructionDataArgs = {
157
+ /** Metadata for the newly minted `LeafSchema` V2 asset. */
152
158
  metadataArgs: MetadataArgsV2Args;
159
+ /**
160
+ * Optional raw asset data blob to associate with the newly minted
161
+ * asset. Reserved for future use.
162
+ */
153
163
  assetData: OptionOrNullable<ReadonlyUint8Array>;
164
+ /**
165
+ * Schema describing the format of `assetData`. Reserved for future
166
+ * use.
167
+ */
154
168
  assetDataSchema: OptionOrNullable<AssetDataSchemaArgs>;
155
- }
169
+ };
156
170
 
157
171
  export function getMintV2InstructionDataEncoder(): Encoder<MintV2InstructionDataArgs> {
158
172
  return transformEncoder(
@@ -195,7 +209,7 @@ export function getMintV2InstructionDataCodec(): Codec<
195
209
  );
196
210
  }
197
211
 
198
- export interface MintV2AsyncInput<
212
+ export type MintV2AsyncInput<
199
213
  TAccountTreeAuthority extends string = string,
200
214
  TAccountPayer extends string = string,
201
215
  TAccountTreeDelegate extends string = string,
@@ -209,27 +223,75 @@ export interface MintV2AsyncInput<
209
223
  TAccountCompressionProgram extends string = string,
210
224
  TAccountMplCoreProgram extends string = string,
211
225
  TAccountSystemProgram extends string = string,
212
- > {
226
+ > = {
227
+ /**
228
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
229
+ * as the tree's authority for CPIs into the compression program.
230
+ */
213
231
  treeAuthority?: Address<TAccountTreeAuthority>;
232
+ /** Account that pays for the transaction and any account rent. */
214
233
  payer: TransactionSigner<TAccountPayer>;
215
- /** Optional tree delegate, defaults to `payer` */
234
+ /** Optional tree delegate, defaults to `payer`. */
216
235
  treeDelegate?: TransactionSigner<TAccountTreeDelegate>;
217
- /** Optional collection authority, defaults to `tree_delegate` */
236
+ /** Optional collection authority, defaults to `treeDelegate`. */
218
237
  collectionAuthority?: TransactionSigner<TAccountCollectionAuthority>;
238
+ /** Owner of the compressed NFT leaf being operated on. */
219
239
  leafOwner: Address<TAccountLeafOwner>;
240
+ /**
241
+ * Delegate authority for the leaf; defaults to the leaf owner when no
242
+ * delegate is set.
243
+ */
220
244
  leafDelegate?: Address<TAccountLeafDelegate>;
245
+ /**
246
+ * The concurrent Merkle tree account storing the compressed leaves,
247
+ * owned by the account compression program.
248
+ */
221
249
  merkleTree: Address<TAccountMerkleTree>;
250
+ /** MPL Core collection account the asset belongs to (V2 collections). */
222
251
  coreCollection?: Address<TAccountCoreCollection>;
252
+ /**
253
+ * PDA Bubblegum uses to sign CPIs into the MPL Core program on behalf
254
+ * of a core collection.
255
+ */
223
256
  mplCoreCpiSigner?: Address<TAccountMplCoreCpiSigner>;
257
+ /**
258
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
259
+ * can reconstruct the tree.
260
+ */
224
261
  logWrapper?: Address<TAccountLogWrapper>;
262
+ /**
263
+ * The SPL/MPL Account Compression program that owns and manages the
264
+ * Merkle tree.
265
+ */
225
266
  compressionProgram?: Address<TAccountCompressionProgram>;
267
+ /** The MPL Core program, invoked for V2 collection CPIs. */
226
268
  mplCoreProgram?: Address<TAccountMplCoreProgram>;
269
+ /** The Solana System program. */
227
270
  systemProgram?: Address<TAccountSystemProgram>;
228
271
  metadataArgs: MintV2InstructionDataArgs["metadataArgs"];
229
272
  assetData: MintV2InstructionDataArgs["assetData"];
230
273
  assetDataSchema: MintV2InstructionDataArgs["assetDataSchema"];
231
- }
274
+ };
232
275
 
276
+ /**
277
+ * Mints a new asset using `LeafSchema` V2 and optionally adds it to an
278
+ * MPL Core collection. Requires a tree created with `createTreeV2`.
279
+ *
280
+ * `LeafSchema` V2 enables new functionality over V1 minting:
281
+ *
282
+ * 1. Uses MPL Core collections instead of Token Metadata collections.
283
+ * 2. Uses the streamlined `MetadataArgsV2` arguments, which eliminate
284
+ * the collection verified flag: any collection included is
285
+ * automatically considered verified.
286
+ * 3. Allows plugins such as Royalties or Permanent Burn Delegate on the
287
+ * MPL Core collection to authorize operations on the Bubblegum
288
+ * asset. The `BubblegumV2` plugin must also be present on the MPL
289
+ * Core collection for it to be usable with Bubblegum.
290
+ * 4. Allows freezing/thawing of the asset, as well as marking it
291
+ * permanently non-transferable (soulbound).
292
+ * 5. Reserves (but does not yet use) an optional data blob and schema
293
+ * that can be associated with the asset.
294
+ */
233
295
  export async function getMintV2InstructionAsync<
234
296
  TAccountTreeAuthority extends string,
235
297
  TAccountPayer extends string,
@@ -387,7 +449,7 @@ export async function getMintV2InstructionAsync<
387
449
  >);
388
450
  }
389
451
 
390
- export interface MintV2Input<
452
+ export type MintV2Input<
391
453
  TAccountTreeAuthority extends string = string,
392
454
  TAccountPayer extends string = string,
393
455
  TAccountTreeDelegate extends string = string,
@@ -401,27 +463,75 @@ export interface MintV2Input<
401
463
  TAccountCompressionProgram extends string = string,
402
464
  TAccountMplCoreProgram extends string = string,
403
465
  TAccountSystemProgram extends string = string,
404
- > {
466
+ > = {
467
+ /**
468
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
469
+ * as the tree's authority for CPIs into the compression program.
470
+ */
405
471
  treeAuthority: Address<TAccountTreeAuthority>;
472
+ /** Account that pays for the transaction and any account rent. */
406
473
  payer: TransactionSigner<TAccountPayer>;
407
- /** Optional tree delegate, defaults to `payer` */
474
+ /** Optional tree delegate, defaults to `payer`. */
408
475
  treeDelegate?: TransactionSigner<TAccountTreeDelegate>;
409
- /** Optional collection authority, defaults to `tree_delegate` */
476
+ /** Optional collection authority, defaults to `treeDelegate`. */
410
477
  collectionAuthority?: TransactionSigner<TAccountCollectionAuthority>;
478
+ /** Owner of the compressed NFT leaf being operated on. */
411
479
  leafOwner: Address<TAccountLeafOwner>;
480
+ /**
481
+ * Delegate authority for the leaf; defaults to the leaf owner when no
482
+ * delegate is set.
483
+ */
412
484
  leafDelegate?: Address<TAccountLeafDelegate>;
485
+ /**
486
+ * The concurrent Merkle tree account storing the compressed leaves,
487
+ * owned by the account compression program.
488
+ */
413
489
  merkleTree: Address<TAccountMerkleTree>;
490
+ /** MPL Core collection account the asset belongs to (V2 collections). */
414
491
  coreCollection?: Address<TAccountCoreCollection>;
492
+ /**
493
+ * PDA Bubblegum uses to sign CPIs into the MPL Core program on behalf
494
+ * of a core collection.
495
+ */
415
496
  mplCoreCpiSigner?: Address<TAccountMplCoreCpiSigner>;
497
+ /**
498
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
499
+ * can reconstruct the tree.
500
+ */
416
501
  logWrapper?: Address<TAccountLogWrapper>;
502
+ /**
503
+ * The SPL/MPL Account Compression program that owns and manages the
504
+ * Merkle tree.
505
+ */
417
506
  compressionProgram?: Address<TAccountCompressionProgram>;
507
+ /** The MPL Core program, invoked for V2 collection CPIs. */
418
508
  mplCoreProgram?: Address<TAccountMplCoreProgram>;
509
+ /** The Solana System program. */
419
510
  systemProgram?: Address<TAccountSystemProgram>;
420
511
  metadataArgs: MintV2InstructionDataArgs["metadataArgs"];
421
512
  assetData: MintV2InstructionDataArgs["assetData"];
422
513
  assetDataSchema: MintV2InstructionDataArgs["assetDataSchema"];
423
- }
514
+ };
424
515
 
516
+ /**
517
+ * Mints a new asset using `LeafSchema` V2 and optionally adds it to an
518
+ * MPL Core collection. Requires a tree created with `createTreeV2`.
519
+ *
520
+ * `LeafSchema` V2 enables new functionality over V1 minting:
521
+ *
522
+ * 1. Uses MPL Core collections instead of Token Metadata collections.
523
+ * 2. Uses the streamlined `MetadataArgsV2` arguments, which eliminate
524
+ * the collection verified flag: any collection included is
525
+ * automatically considered verified.
526
+ * 3. Allows plugins such as Royalties or Permanent Burn Delegate on the
527
+ * MPL Core collection to authorize operations on the Bubblegum
528
+ * asset. The `BubblegumV2` plugin must also be present on the MPL
529
+ * Core collection for it to be usable with Bubblegum.
530
+ * 4. Allows freezing/thawing of the asset, as well as marking it
531
+ * permanently non-transferable (soulbound).
532
+ * 5. Reserves (but does not yet use) an optional data blob and schema
533
+ * that can be associated with the asset.
534
+ */
425
535
  export function getMintV2Instruction<
426
536
  TAccountTreeAuthority extends string,
427
537
  TAccountPayer extends string,
@@ -569,30 +679,59 @@ export function getMintV2Instruction<
569
679
  >);
570
680
  }
571
681
 
572
- export interface ParsedMintV2Instruction<
682
+ export type ParsedMintV2Instruction<
573
683
  TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
574
684
  TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],
575
- > {
685
+ > = {
576
686
  programAddress: Address<TProgram>;
577
687
  accounts: {
688
+ /**
689
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
690
+ * as the tree's authority for CPIs into the compression program.
691
+ */
578
692
  treeAuthority: TAccountMetas[0];
693
+ /** Account that pays for the transaction and any account rent. */
579
694
  payer: TAccountMetas[1];
580
- /** Optional tree delegate, defaults to `payer` */
695
+ /** Optional tree delegate, defaults to `payer`. */
581
696
  treeDelegate?: TAccountMetas[2] | undefined;
582
- /** Optional collection authority, defaults to `tree_delegate` */
697
+ /** Optional collection authority, defaults to `treeDelegate`. */
583
698
  collectionAuthority?: TAccountMetas[3] | undefined;
699
+ /** Owner of the compressed NFT leaf being operated on. */
584
700
  leafOwner: TAccountMetas[4];
701
+ /**
702
+ * Delegate authority for the leaf; defaults to the leaf owner when no
703
+ * delegate is set.
704
+ */
585
705
  leafDelegate?: TAccountMetas[5] | undefined;
706
+ /**
707
+ * The concurrent Merkle tree account storing the compressed leaves,
708
+ * owned by the account compression program.
709
+ */
586
710
  merkleTree: TAccountMetas[6];
711
+ /** MPL Core collection account the asset belongs to (V2 collections). */
587
712
  coreCollection?: TAccountMetas[7] | undefined;
713
+ /**
714
+ * PDA Bubblegum uses to sign CPIs into the MPL Core program on behalf
715
+ * of a core collection.
716
+ */
588
717
  mplCoreCpiSigner?: TAccountMetas[8] | undefined;
718
+ /**
719
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
720
+ * can reconstruct the tree.
721
+ */
589
722
  logWrapper: TAccountMetas[9];
723
+ /**
724
+ * The SPL/MPL Account Compression program that owns and manages the
725
+ * Merkle tree.
726
+ */
590
727
  compressionProgram: TAccountMetas[10];
728
+ /** The MPL Core program, invoked for V2 collection CPIs. */
591
729
  mplCoreProgram: TAccountMetas[11];
730
+ /** The Solana System program. */
592
731
  systemProgram: TAccountMetas[12];
593
732
  };
594
733
  data: MintV2InstructionData;
595
- }
734
+ };
596
735
 
597
736
  export function parseMintV2Instruction<
598
737
  TProgram extends string,
@@ -6,23 +6,6 @@
6
6
  * @see https://github.com/codama-idl/codama
7
7
  */
8
8
 
9
- import type {
10
- AccountMeta,
11
- AccountSignerMeta,
12
- Address,
13
- FixedSizeCodec,
14
- FixedSizeDecoder,
15
- FixedSizeEncoder,
16
- Instruction,
17
- InstructionWithAccounts,
18
- InstructionWithData,
19
- ReadonlyAccount,
20
- ReadonlyUint8Array,
21
- TransactionSigner,
22
- WritableAccount,
23
- WritableSignerAccount,
24
- } from "@solana/kit";
25
- import type { ResolvedInstructionAccount } from "@solana/program-client-core";
26
9
  import {
27
10
  combineCodec,
28
11
  fixDecoderSize,
@@ -33,19 +16,34 @@ import {
33
16
  getBytesEncoder,
34
17
  getStructDecoder,
35
18
  getStructEncoder,
36
- getU8Decoder,
37
- getU8Encoder,
38
19
  getU32Decoder,
39
20
  getU32Encoder,
40
21
  getU64Decoder,
41
22
  getU64Encoder,
23
+ getU8Decoder,
24
+ getU8Encoder,
42
25
  SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
43
26
  SolanaError,
44
27
  transformEncoder,
28
+ type AccountMeta,
29
+ type AccountSignerMeta,
30
+ type Address,
31
+ type FixedSizeCodec,
32
+ type FixedSizeDecoder,
33
+ type FixedSizeEncoder,
34
+ type Instruction,
35
+ type InstructionWithAccounts,
36
+ type InstructionWithData,
37
+ type ReadonlyAccount,
38
+ type ReadonlyUint8Array,
39
+ type TransactionSigner,
40
+ type WritableAccount,
41
+ type WritableSignerAccount,
45
42
  } from "@solana/kit";
46
43
  import {
47
44
  getAccountMetaFactory,
48
45
  getAddressFromResolvedInstructionAccount,
46
+ type ResolvedInstructionAccount,
49
47
  } from "@solana/program-client-core";
50
48
  import { findTreeConfigPda } from "../pdas/index.js";
51
49
  import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
@@ -105,22 +103,64 @@ export type RedeemInstruction<
105
103
  ]
106
104
  >;
107
105
 
108
- export interface RedeemInstructionData {
106
+ export type RedeemInstructionData = {
109
107
  discriminator: ReadonlyUint8Array;
110
- root: number[];
111
- dataHash: number[];
112
- creatorHash: number[];
108
+ /**
109
+ * Current Merkle root of the tree, used together with the Merkle proof
110
+ * (passed as remaining accounts) to verify the leaf being operated on.
111
+ */
112
+ root: Array<number>;
113
+ /**
114
+ * Keccak256 hash of the leaf's metadata, used together with `root` to
115
+ * verify the leaf before it is modified.
116
+ */
117
+ dataHash: Array<number>;
118
+ /**
119
+ * Keccak256 hash of the leaf's creators array, used together with
120
+ * `root` to verify the leaf before it is modified.
121
+ */
122
+ creatorHash: Array<number>;
123
+ /**
124
+ * Tree-scoped nonce identifying the leaf, equal to the tree's
125
+ * `numMinted` at the time the leaf was minted. Combined with the tree
126
+ * address to derive the leaf's asset id.
127
+ */
113
128
  nonce: bigint;
129
+ /**
130
+ * Position of the leaf within the Merkle tree, used with the Merkle
131
+ * proof to locate and verify the leaf.
132
+ */
114
133
  index: number;
115
- }
134
+ };
116
135
 
117
- export interface RedeemInstructionDataArgs {
118
- root: number[];
119
- dataHash: number[];
120
- creatorHash: number[];
136
+ export type RedeemInstructionDataArgs = {
137
+ /**
138
+ * Current Merkle root of the tree, used together with the Merkle proof
139
+ * (passed as remaining accounts) to verify the leaf being operated on.
140
+ */
141
+ root: Array<number>;
142
+ /**
143
+ * Keccak256 hash of the leaf's metadata, used together with `root` to
144
+ * verify the leaf before it is modified.
145
+ */
146
+ dataHash: Array<number>;
147
+ /**
148
+ * Keccak256 hash of the leaf's creators array, used together with
149
+ * `root` to verify the leaf before it is modified.
150
+ */
151
+ creatorHash: Array<number>;
152
+ /**
153
+ * Tree-scoped nonce identifying the leaf, equal to the tree's
154
+ * `numMinted` at the time the leaf was minted. Combined with the tree
155
+ * address to derive the leaf's asset id.
156
+ */
121
157
  nonce: number | bigint;
158
+ /**
159
+ * Position of the leaf within the Merkle tree, used with the Merkle
160
+ * proof to locate and verify the leaf.
161
+ */
122
162
  index: number;
123
- }
163
+ };
124
164
 
125
165
  export function getRedeemInstructionDataEncoder(): FixedSizeEncoder<RedeemInstructionDataArgs> {
126
166
  return transformEncoder(
@@ -157,7 +197,7 @@ export function getRedeemInstructionDataCodec(): FixedSizeCodec<
157
197
  );
158
198
  }
159
199
 
160
- export interface RedeemAsyncInput<
200
+ export type RedeemAsyncInput<
161
201
  TAccountTreeAuthority extends string = string,
162
202
  TAccountLeafOwner extends string = string,
163
203
  TAccountLeafDelegate extends string = string,
@@ -166,22 +206,56 @@ export interface RedeemAsyncInput<
166
206
  TAccountLogWrapper extends string = string,
167
207
  TAccountCompressionProgram extends string = string,
168
208
  TAccountSystemProgram extends string = string,
169
- > {
209
+ > = {
210
+ /**
211
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
212
+ * as the tree's authority for CPIs into the compression program.
213
+ */
170
214
  treeAuthority?: Address<TAccountTreeAuthority>;
215
+ /** Owner of the compressed NFT leaf being operated on. */
171
216
  leafOwner: TransactionSigner<TAccountLeafOwner>;
217
+ /**
218
+ * Delegate authority for the leaf; defaults to the leaf owner when no
219
+ * delegate is set.
220
+ */
172
221
  leafDelegate: Address<TAccountLeafDelegate>;
222
+ /**
223
+ * The concurrent Merkle tree account storing the compressed leaves,
224
+ * owned by the account compression program.
225
+ */
173
226
  merkleTree: Address<TAccountMerkleTree>;
227
+ /**
228
+ * Voucher PDA created by this instruction to record the redeemed
229
+ * leaf's data until it is decompressed or the redeem is cancelled.
230
+ */
174
231
  voucher: Address<TAccountVoucher>;
232
+ /**
233
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
234
+ * can reconstruct the tree.
235
+ */
175
236
  logWrapper?: Address<TAccountLogWrapper>;
237
+ /**
238
+ * The SPL/MPL Account Compression program that owns and manages the
239
+ * Merkle tree.
240
+ */
176
241
  compressionProgram?: Address<TAccountCompressionProgram>;
242
+ /** The Solana System program. */
177
243
  systemProgram?: Address<TAccountSystemProgram>;
178
244
  root: RedeemInstructionDataArgs["root"];
179
245
  dataHash: RedeemInstructionDataArgs["dataHash"];
180
246
  creatorHash: RedeemInstructionDataArgs["creatorHash"];
181
247
  nonce: RedeemInstructionDataArgs["nonce"];
182
248
  index: RedeemInstructionDataArgs["index"];
183
- }
249
+ };
184
250
 
251
+ /**
252
+ * Redeems (vouches for) a leaf, removing it from the tree and recording
253
+ * its data in a new `voucher` PDA.
254
+ *
255
+ * This is the first step of decompression: once redeemed, the leaf slot
256
+ * in the tree is emptied and the leaf's data is preserved in `voucher`
257
+ * until `decompressV1` consumes it, or `cancelRedeem` restores it.
258
+ */
185
259
  export async function getRedeemInstructionAsync<
186
260
  TAccountTreeAuthority extends string,
187
261
  TAccountLeafOwner extends string,
@@ -293,7 +367,7 @@ export async function getRedeemInstructionAsync<
293
367
  >);
294
368
  }
295
369
 
296
- export interface RedeemInput<
370
+ export type RedeemInput<
297
371
  TAccountTreeAuthority extends string = string,
298
372
  TAccountLeafOwner extends string = string,
299
373
  TAccountLeafDelegate extends string = string,
@@ -302,22 +376,56 @@ export interface RedeemInput<
302
376
  TAccountLogWrapper extends string = string,
303
377
  TAccountCompressionProgram extends string = string,
304
378
  TAccountSystemProgram extends string = string,
305
- > {
379
+ > = {
380
+ /**
381
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
382
+ * as the tree's authority for CPIs into the compression program.
383
+ */
306
384
  treeAuthority: Address<TAccountTreeAuthority>;
385
+ /** Owner of the compressed NFT leaf being operated on. */
307
386
  leafOwner: TransactionSigner<TAccountLeafOwner>;
387
+ /**
388
+ * Delegate authority for the leaf; defaults to the leaf owner when no
389
+ * delegate is set.
390
+ */
308
391
  leafDelegate: Address<TAccountLeafDelegate>;
392
+ /**
393
+ * The concurrent Merkle tree account storing the compressed leaves,
394
+ * owned by the account compression program.
395
+ */
309
396
  merkleTree: Address<TAccountMerkleTree>;
397
+ /**
398
+ * Voucher PDA created by this instruction to record the redeemed
399
+ * leaf's data until it is decompressed or the redeem is cancelled.
400
+ */
310
401
  voucher: Address<TAccountVoucher>;
402
+ /**
403
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
404
+ * can reconstruct the tree.
405
+ */
311
406
  logWrapper?: Address<TAccountLogWrapper>;
407
+ /**
408
+ * The SPL/MPL Account Compression program that owns and manages the
409
+ * Merkle tree.
410
+ */
312
411
  compressionProgram?: Address<TAccountCompressionProgram>;
412
+ /** The Solana System program. */
313
413
  systemProgram?: Address<TAccountSystemProgram>;
314
414
  root: RedeemInstructionDataArgs["root"];
315
415
  dataHash: RedeemInstructionDataArgs["dataHash"];
316
416
  creatorHash: RedeemInstructionDataArgs["creatorHash"];
317
417
  nonce: RedeemInstructionDataArgs["nonce"];
318
418
  index: RedeemInstructionDataArgs["index"];
319
- }
419
+ };
320
420
 
421
+ /**
422
+ * Redeems (vouches for) a leaf, removing it from the tree and recording
423
+ * its data in a new `voucher` PDA.
424
+ *
425
+ * This is the first step of decompression: once redeemed, the leaf slot
426
+ * in the tree is emptied and the leaf's data is preserved in `voucher`
427
+ * until `decompressV1` consumes it, or `cancelRedeem` restores it.
428
+ */
321
429
  export function getRedeemInstruction<
322
430
  TAccountTreeAuthority extends string,
323
431
  TAccountLeafOwner extends string,
@@ -419,23 +527,49 @@ export function getRedeemInstruction<
419
527
  >);
420
528
  }
421
529
 
422
- export interface ParsedRedeemInstruction<
530
+ export type ParsedRedeemInstruction<
423
531
  TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
424
532
  TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],
425
- > {
533
+ > = {
426
534
  programAddress: Address<TProgram>;
427
535
  accounts: {
536
+ /**
537
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
538
+ * as the tree's authority for CPIs into the compression program.
539
+ */
428
540
  treeAuthority: TAccountMetas[0];
541
+ /** Owner of the compressed NFT leaf being operated on. */
429
542
  leafOwner: TAccountMetas[1];
543
+ /**
544
+ * Delegate authority for the leaf; defaults to the leaf owner when no
545
+ * delegate is set.
546
+ */
430
547
  leafDelegate: TAccountMetas[2];
548
+ /**
549
+ * The concurrent Merkle tree account storing the compressed leaves,
550
+ * owned by the account compression program.
551
+ */
431
552
  merkleTree: TAccountMetas[3];
553
+ /**
554
+ * Voucher PDA created by this instruction to record the redeemed
555
+ * leaf's data until it is decompressed or the redeem is cancelled.
556
+ */
432
557
  voucher: TAccountMetas[4];
558
+ /**
559
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
560
+ * can reconstruct the tree.
561
+ */
433
562
  logWrapper: TAccountMetas[5];
563
+ /**
564
+ * The SPL/MPL Account Compression program that owns and manages the
565
+ * Merkle tree.
566
+ */
434
567
  compressionProgram: TAccountMetas[6];
568
+ /** The Solana System program. */
435
569
  systemProgram: TAccountMetas[7];
436
570
  };
437
571
  data: RedeemInstructionData;
438
- }
572
+ };
439
573
 
440
574
  export function parseRedeemInstruction<
441
575
  TProgram extends string,