@macalinao/clients-mpl-bubblegum 0.0.0 → 0.3.0

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 (334) hide show
  1. package/README.md +15 -1
  2. package/dist/generated/accounts/index.d.ts +2 -0
  3. package/dist/generated/accounts/treeConfig.d.ts +48 -0
  4. package/dist/generated/accounts/treeConfig.d.ts.map +1 -0
  5. package/dist/generated/accounts/treeConfig.js +84 -0
  6. package/dist/generated/accounts/treeConfig.js.map +1 -0
  7. package/dist/generated/accounts/voucher.d.ts +39 -0
  8. package/dist/generated/accounts/voucher.d.ts.map +1 -0
  9. package/dist/generated/accounts/voucher.js +75 -0
  10. package/dist/generated/accounts/voucher.js.map +1 -0
  11. package/dist/generated/errors/bubblegum.d.ts +131 -0
  12. package/dist/generated/errors/bubblegum.d.ts.map +1 -0
  13. package/dist/generated/errors/bubblegum.js +188 -0
  14. package/dist/generated/errors/bubblegum.js.map +1 -0
  15. package/dist/generated/errors/index.d.ts +1 -0
  16. package/dist/generated/index.d.ts +63 -0
  17. package/dist/generated/instructions/burn.d.ts +76 -0
  18. package/dist/generated/instructions/burn.d.ts.map +1 -0
  19. package/dist/generated/instructions/burn.js +176 -0
  20. package/dist/generated/instructions/burn.js.map +1 -0
  21. package/dist/generated/instructions/burnV2.d.ts +113 -0
  22. package/dist/generated/instructions/burnV2.d.ts.map +1 -0
  23. package/dist/generated/instructions/burnV2.js +247 -0
  24. package/dist/generated/instructions/burnV2.js.map +1 -0
  25. package/dist/generated/instructions/cancelRedeem.d.ts +60 -0
  26. package/dist/generated/instructions/cancelRedeem.d.ts.map +1 -0
  27. package/dist/generated/instructions/cancelRedeem.js +162 -0
  28. package/dist/generated/instructions/cancelRedeem.js.map +1 -0
  29. package/dist/generated/instructions/closeTreeV2.d.ts +69 -0
  30. package/dist/generated/instructions/closeTreeV2.d.ts.map +1 -0
  31. package/dist/generated/instructions/closeTreeV2.js +160 -0
  32. package/dist/generated/instructions/closeTreeV2.js.map +1 -0
  33. package/dist/generated/instructions/collectV2.d.ts +33 -0
  34. package/dist/generated/instructions/collectV2.d.ts.map +1 -0
  35. package/dist/generated/instructions/collectV2.js +72 -0
  36. package/dist/generated/instructions/collectV2.js.map +1 -0
  37. package/dist/generated/instructions/compress.d.ts +76 -0
  38. package/dist/generated/instructions/compress.d.ts.map +1 -0
  39. package/dist/generated/instructions/compress.js +241 -0
  40. package/dist/generated/instructions/compress.js.map +1 -0
  41. package/dist/generated/instructions/createTree.d.ts +68 -0
  42. package/dist/generated/instructions/createTree.d.ts.map +1 -0
  43. package/dist/generated/instructions/createTree.js +172 -0
  44. package/dist/generated/instructions/createTree.js.map +1 -0
  45. package/dist/generated/instructions/createTreeV2.d.ts +70 -0
  46. package/dist/generated/instructions/createTreeV2.d.ts.map +1 -0
  47. package/dist/generated/instructions/createTreeV2.js +176 -0
  48. package/dist/generated/instructions/createTreeV2.js.map +1 -0
  49. package/dist/generated/instructions/decompressV1.d.ts +79 -0
  50. package/dist/generated/instructions/decompressV1.d.ts.map +1 -0
  51. package/dist/generated/instructions/decompressV1.js +259 -0
  52. package/dist/generated/instructions/decompressV1.js.map +1 -0
  53. package/dist/generated/instructions/delegate.d.ts +79 -0
  54. package/dist/generated/instructions/delegate.d.ts.map +1 -0
  55. package/dist/generated/instructions/delegate.js +187 -0
  56. package/dist/generated/instructions/delegate.js.map +1 -0
  57. package/dist/generated/instructions/delegateAndFreezeV2.d.ts +98 -0
  58. package/dist/generated/instructions/delegateAndFreezeV2.d.ts.map +1 -0
  59. package/dist/generated/instructions/delegateAndFreezeV2.js +208 -0
  60. package/dist/generated/instructions/delegateAndFreezeV2.js.map +1 -0
  61. package/dist/generated/instructions/delegateV2.d.ts +98 -0
  62. package/dist/generated/instructions/delegateV2.d.ts.map +1 -0
  63. package/dist/generated/instructions/delegateV2.js +208 -0
  64. package/dist/generated/instructions/delegateV2.js.map +1 -0
  65. package/dist/generated/instructions/freezeV2.d.ts +105 -0
  66. package/dist/generated/instructions/freezeV2.d.ts.map +1 -0
  67. package/dist/generated/instructions/freezeV2.js +217 -0
  68. package/dist/generated/instructions/freezeV2.js.map +1 -0
  69. package/dist/generated/instructions/index.d.ts +36 -0
  70. package/dist/generated/instructions/mintToCollectionV1.d.ts +100 -0
  71. package/dist/generated/instructions/mintToCollectionV1.d.ts.map +1 -0
  72. package/dist/generated/instructions/mintToCollectionV1.js +284 -0
  73. package/dist/generated/instructions/mintToCollectionV1.js.map +1 -0
  74. package/dist/generated/instructions/mintV1.d.ts +67 -0
  75. package/dist/generated/instructions/mintV1.d.ts.map +1 -0
  76. package/dist/generated/instructions/mintV1.js +185 -0
  77. package/dist/generated/instructions/mintV1.js.map +1 -0
  78. package/dist/generated/instructions/mintV2.d.ts +92 -0
  79. package/dist/generated/instructions/mintV2.d.ts.map +1 -0
  80. package/dist/generated/instructions/mintV2.js +252 -0
  81. package/dist/generated/instructions/mintV2.js.map +1 -0
  82. package/dist/generated/instructions/redeem.d.ts +79 -0
  83. package/dist/generated/instructions/redeem.d.ts.map +1 -0
  84. package/dist/generated/instructions/redeem.js +187 -0
  85. package/dist/generated/instructions/redeem.js.map +1 -0
  86. package/dist/generated/instructions/setAndVerifyCollection.d.ts +139 -0
  87. package/dist/generated/instructions/setAndVerifyCollection.d.ts.map +1 -0
  88. package/dist/generated/instructions/setAndVerifyCollection.js +302 -0
  89. package/dist/generated/instructions/setAndVerifyCollection.js.map +1 -0
  90. package/dist/generated/instructions/setCollectionV2.d.ts +131 -0
  91. package/dist/generated/instructions/setCollectionV2.d.ts.map +1 -0
  92. package/dist/generated/instructions/setCollectionV2.js +264 -0
  93. package/dist/generated/instructions/setCollectionV2.js.map +1 -0
  94. package/dist/generated/instructions/setDecompressableState.d.ts +38 -0
  95. package/dist/generated/instructions/setDecompressableState.d.ts.map +1 -0
  96. package/dist/generated/instructions/setDecompressableState.js +74 -0
  97. package/dist/generated/instructions/setDecompressableState.js.map +1 -0
  98. package/dist/generated/instructions/setDecompressibleState.d.ts +38 -0
  99. package/dist/generated/instructions/setDecompressibleState.d.ts.map +1 -0
  100. package/dist/generated/instructions/setDecompressibleState.js +74 -0
  101. package/dist/generated/instructions/setDecompressibleState.js.map +1 -0
  102. package/dist/generated/instructions/setNonTransferableV2.d.ts +107 -0
  103. package/dist/generated/instructions/setNonTransferableV2.d.ts.map +1 -0
  104. package/dist/generated/instructions/setNonTransferableV2.js +217 -0
  105. package/dist/generated/instructions/setNonTransferableV2.js.map +1 -0
  106. package/dist/generated/instructions/setTreeDelegate.d.ts +49 -0
  107. package/dist/generated/instructions/setTreeDelegate.d.ts.map +1 -0
  108. package/dist/generated/instructions/setTreeDelegate.js +134 -0
  109. package/dist/generated/instructions/setTreeDelegate.js.map +1 -0
  110. package/dist/generated/instructions/thawAndRevokeV2.d.ts +93 -0
  111. package/dist/generated/instructions/thawAndRevokeV2.d.ts.map +1 -0
  112. package/dist/generated/instructions/thawAndRevokeV2.js +197 -0
  113. package/dist/generated/instructions/thawAndRevokeV2.js.map +1 -0
  114. package/dist/generated/instructions/thawV2.d.ts +105 -0
  115. package/dist/generated/instructions/thawV2.d.ts.map +1 -0
  116. package/dist/generated/instructions/thawV2.js +217 -0
  117. package/dist/generated/instructions/thawV2.js.map +1 -0
  118. package/dist/generated/instructions/transfer.d.ts +79 -0
  119. package/dist/generated/instructions/transfer.d.ts.map +1 -0
  120. package/dist/generated/instructions/transfer.js +187 -0
  121. package/dist/generated/instructions/transfer.js.map +1 -0
  122. package/dist/generated/instructions/transferV2.d.ts +110 -0
  123. package/dist/generated/instructions/transferV2.d.ts.map +1 -0
  124. package/dist/generated/instructions/transferV2.js +228 -0
  125. package/dist/generated/instructions/transferV2.js.map +1 -0
  126. package/dist/generated/instructions/unverifyCollection.d.ts +135 -0
  127. package/dist/generated/instructions/unverifyCollection.d.ts.map +1 -0
  128. package/dist/generated/instructions/unverifyCollection.js +300 -0
  129. package/dist/generated/instructions/unverifyCollection.js.map +1 -0
  130. package/dist/generated/instructions/unverifyCreator.d.ts +87 -0
  131. package/dist/generated/instructions/unverifyCreator.d.ts.map +1 -0
  132. package/dist/generated/instructions/unverifyCreator.js +201 -0
  133. package/dist/generated/instructions/unverifyCreator.js.map +1 -0
  134. package/dist/generated/instructions/unverifyCreatorV2.d.ts +91 -0
  135. package/dist/generated/instructions/unverifyCreatorV2.d.ts.map +1 -0
  136. package/dist/generated/instructions/unverifyCreatorV2.js +205 -0
  137. package/dist/generated/instructions/unverifyCreatorV2.js.map +1 -0
  138. package/dist/generated/instructions/updateAssetDataV2.d.ts +114 -0
  139. package/dist/generated/instructions/updateAssetDataV2.d.ts.map +1 -0
  140. package/dist/generated/instructions/updateAssetDataV2.js +222 -0
  141. package/dist/generated/instructions/updateAssetDataV2.js.map +1 -0
  142. package/dist/generated/instructions/updateMetadata.d.ts +112 -0
  143. package/dist/generated/instructions/updateMetadata.d.ts.map +1 -0
  144. package/dist/generated/instructions/updateMetadata.js +250 -0
  145. package/dist/generated/instructions/updateMetadata.js.map +1 -0
  146. package/dist/generated/instructions/updateMetadataV2.d.ts +109 -0
  147. package/dist/generated/instructions/updateMetadataV2.d.ts.map +1 -0
  148. package/dist/generated/instructions/updateMetadataV2.js +219 -0
  149. package/dist/generated/instructions/updateMetadataV2.js.map +1 -0
  150. package/dist/generated/instructions/verifyCollection.d.ts +135 -0
  151. package/dist/generated/instructions/verifyCollection.d.ts.map +1 -0
  152. package/dist/generated/instructions/verifyCollection.js +300 -0
  153. package/dist/generated/instructions/verifyCollection.js.map +1 -0
  154. package/dist/generated/instructions/verifyCreator.d.ts +87 -0
  155. package/dist/generated/instructions/verifyCreator.d.ts.map +1 -0
  156. package/dist/generated/instructions/verifyCreator.js +201 -0
  157. package/dist/generated/instructions/verifyCreator.js.map +1 -0
  158. package/dist/generated/instructions/verifyCreatorV2.d.ts +91 -0
  159. package/dist/generated/instructions/verifyCreatorV2.d.ts.map +1 -0
  160. package/dist/generated/instructions/verifyCreatorV2.js +205 -0
  161. package/dist/generated/instructions/verifyCreatorV2.js.map +1 -0
  162. package/dist/generated/pdas/assetId.d.ts +16 -0
  163. package/dist/generated/pdas/assetId.d.ts.map +1 -0
  164. package/dist/generated/pdas/assetId.js +18 -0
  165. package/dist/generated/pdas/assetId.js.map +1 -0
  166. package/dist/generated/pdas/bubblegumSigner.d.ts +10 -0
  167. package/dist/generated/pdas/bubblegumSigner.d.ts.map +1 -0
  168. package/dist/generated/pdas/bubblegumSigner.js +14 -0
  169. package/dist/generated/pdas/bubblegumSigner.js.map +1 -0
  170. package/dist/generated/pdas/index.d.ts +7 -0
  171. package/dist/generated/pdas/masterEdition.d.ts +14 -0
  172. package/dist/generated/pdas/masterEdition.d.ts.map +1 -0
  173. package/dist/generated/pdas/masterEdition.js +19 -0
  174. package/dist/generated/pdas/masterEdition.js.map +1 -0
  175. package/dist/generated/pdas/metadata.d.ts +14 -0
  176. package/dist/generated/pdas/metadata.d.ts.map +1 -0
  177. package/dist/generated/pdas/metadata.js +18 -0
  178. package/dist/generated/pdas/metadata.js.map +1 -0
  179. package/dist/generated/pdas/mintAuthority.d.ts +14 -0
  180. package/dist/generated/pdas/mintAuthority.d.ts.map +1 -0
  181. package/dist/generated/pdas/mintAuthority.js +14 -0
  182. package/dist/generated/pdas/mintAuthority.js.map +1 -0
  183. package/dist/generated/pdas/treeConfig.d.ts +14 -0
  184. package/dist/generated/pdas/treeConfig.d.ts.map +1 -0
  185. package/dist/generated/pdas/treeConfig.js +14 -0
  186. package/dist/generated/pdas/treeConfig.js.map +1 -0
  187. package/dist/generated/pdas/voucher.d.ts +16 -0
  188. package/dist/generated/pdas/voucher.d.ts.map +1 -0
  189. package/dist/generated/pdas/voucher.js +18 -0
  190. package/dist/generated/pdas/voucher.js.map +1 -0
  191. package/dist/generated/programs/bubblegum.d.ts +232 -0
  192. package/dist/generated/programs/bubblegum.d.ts.map +1 -0
  193. package/dist/generated/programs/bubblegum.js +844 -0
  194. package/dist/generated/programs/bubblegum.js.map +1 -0
  195. package/dist/generated/programs/index.d.ts +2 -0
  196. package/dist/generated/programs/mplTokenMetadata.d.ts +20 -0
  197. package/dist/generated/programs/mplTokenMetadata.d.ts.map +1 -0
  198. package/dist/generated/programs/mplTokenMetadata.js +17 -0
  199. package/dist/generated/programs/mplTokenMetadata.js.map +1 -0
  200. package/dist/generated/types/assetDataSchema.d.ts +15 -0
  201. package/dist/generated/types/assetDataSchema.d.ts.map +1 -0
  202. package/dist/generated/types/assetDataSchema.js +21 -0
  203. package/dist/generated/types/assetDataSchema.js.map +1 -0
  204. package/dist/generated/types/bubblegumEventType.d.ts +14 -0
  205. package/dist/generated/types/bubblegumEventType.d.ts.map +1 -0
  206. package/dist/generated/types/bubblegumEventType.js +20 -0
  207. package/dist/generated/types/bubblegumEventType.js.map +1 -0
  208. package/dist/generated/types/collection.d.ts +14 -0
  209. package/dist/generated/types/collection.d.ts.map +1 -0
  210. package/dist/generated/types/collection.js +15 -0
  211. package/dist/generated/types/collection.js.map +1 -0
  212. package/dist/generated/types/creator.d.ts +20 -0
  213. package/dist/generated/types/creator.d.ts.map +1 -0
  214. package/dist/generated/types/creator.js +23 -0
  215. package/dist/generated/types/creator.js.map +1 -0
  216. package/dist/generated/types/decompressibleState.d.ts +14 -0
  217. package/dist/generated/types/decompressibleState.d.ts.map +1 -0
  218. package/dist/generated/types/decompressibleState.js +20 -0
  219. package/dist/generated/types/decompressibleState.js.map +1 -0
  220. package/dist/generated/types/index.d.ts +15 -0
  221. package/dist/generated/types/instructionName.d.ts +47 -0
  222. package/dist/generated/types/instructionName.d.ts.map +1 -0
  223. package/dist/generated/types/instructionName.js +53 -0
  224. package/dist/generated/types/instructionName.js.map +1 -0
  225. package/dist/generated/types/leafSchema.d.ts +54 -0
  226. package/dist/generated/types/leafSchema.d.ts.map +1 -0
  227. package/dist/generated/types/leafSchema.js +61 -0
  228. package/dist/generated/types/leafSchema.js.map +1 -0
  229. package/dist/generated/types/metadataArgs.d.ts +62 -0
  230. package/dist/generated/types/metadataArgs.d.ts.map +1 -0
  231. package/dist/generated/types/metadataArgs.js +46 -0
  232. package/dist/generated/types/metadataArgs.js.map +1 -0
  233. package/dist/generated/types/metadataArgsV2.d.ts +51 -0
  234. package/dist/generated/types/metadataArgsV2.d.ts.map +1 -0
  235. package/dist/generated/types/metadataArgsV2.js +37 -0
  236. package/dist/generated/types/metadataArgsV2.js.map +1 -0
  237. package/dist/generated/types/tokenProgramVersion.d.ts +14 -0
  238. package/dist/generated/types/tokenProgramVersion.d.ts.map +1 -0
  239. package/dist/generated/types/tokenProgramVersion.js +20 -0
  240. package/dist/generated/types/tokenProgramVersion.js.map +1 -0
  241. package/dist/generated/types/tokenStandard.d.ts +16 -0
  242. package/dist/generated/types/tokenStandard.d.ts.map +1 -0
  243. package/dist/generated/types/tokenStandard.js +22 -0
  244. package/dist/generated/types/tokenStandard.js.map +1 -0
  245. package/dist/generated/types/updateArgs.d.ts +28 -0
  246. package/dist/generated/types/updateArgs.d.ts.map +1 -0
  247. package/dist/generated/types/updateArgs.js +32 -0
  248. package/dist/generated/types/updateArgs.js.map +1 -0
  249. package/dist/generated/types/useMethod.d.ts +15 -0
  250. package/dist/generated/types/useMethod.d.ts.map +1 -0
  251. package/dist/generated/types/useMethod.js +21 -0
  252. package/dist/generated/types/useMethod.js.map +1 -0
  253. package/dist/generated/types/uses.d.ts +20 -0
  254. package/dist/generated/types/uses.d.ts.map +1 -0
  255. package/dist/generated/types/uses.js +24 -0
  256. package/dist/generated/types/uses.js.map +1 -0
  257. package/dist/generated/types/version.d.ts +14 -0
  258. package/dist/generated/types/version.d.ts.map +1 -0
  259. package/dist/generated/types/version.js +20 -0
  260. package/dist/generated/types/version.js.map +1 -0
  261. package/dist/index.d.ts +64 -0
  262. package/dist/index.js +64 -0
  263. package/package.json +53 -5
  264. package/src/generated/accounts/index.ts +10 -0
  265. package/src/generated/accounts/treeConfig.ts +197 -0
  266. package/src/generated/accounts/voucher.ts +166 -0
  267. package/src/generated/errors/bubblegum.ts +309 -0
  268. package/src/generated/errors/index.ts +9 -0
  269. package/src/generated/index.ts +14 -0
  270. package/src/generated/instructions/burn.ts +454 -0
  271. package/src/generated/instructions/burnV2.ts +641 -0
  272. package/src/generated/instructions/cancelRedeem.ts +432 -0
  273. package/src/generated/instructions/closeTreeV2.ts +424 -0
  274. package/src/generated/instructions/collectV2.ts +184 -0
  275. package/src/generated/instructions/compress.ts +589 -0
  276. package/src/generated/instructions/createTree.ts +448 -0
  277. package/src/generated/instructions/createTreeV2.ts +459 -0
  278. package/src/generated/instructions/decompressV1.ts +646 -0
  279. package/src/generated/instructions/delegate.ts +492 -0
  280. package/src/generated/instructions/delegateAndFreezeV2.ts +568 -0
  281. package/src/generated/instructions/delegateV2.ts +562 -0
  282. package/src/generated/instructions/freezeV2.ts +566 -0
  283. package/src/generated/instructions/index.ts +44 -0
  284. package/src/generated/instructions/mintToCollectionV1.ts +732 -0
  285. package/src/generated/instructions/mintV1.ts +476 -0
  286. package/src/generated/instructions/mintV2.ts +649 -0
  287. package/src/generated/instructions/redeem.ts +480 -0
  288. package/src/generated/instructions/setAndVerifyCollection.ts +792 -0
  289. package/src/generated/instructions/setCollectionV2.ts +711 -0
  290. package/src/generated/instructions/setDecompressableState.ts +218 -0
  291. package/src/generated/instructions/setDecompressibleState.ts +218 -0
  292. package/src/generated/instructions/setNonTransferableV2.ts +575 -0
  293. package/src/generated/instructions/setTreeDelegate.ts +344 -0
  294. package/src/generated/instructions/thawAndRevokeV2.ts +526 -0
  295. package/src/generated/instructions/thawV2.ts +566 -0
  296. package/src/generated/instructions/transfer.ts +476 -0
  297. package/src/generated/instructions/transferV2.ts +591 -0
  298. package/src/generated/instructions/unverifyCollection.ts +781 -0
  299. package/src/generated/instructions/unverifyCreator.ts +515 -0
  300. package/src/generated/instructions/unverifyCreatorV2.ts +538 -0
  301. package/src/generated/instructions/updateAssetDataV2.ts +599 -0
  302. package/src/generated/instructions/updateMetadata.ts +665 -0
  303. package/src/generated/instructions/updateMetadataV2.ts +582 -0
  304. package/src/generated/instructions/verifyCollection.ts +779 -0
  305. package/src/generated/instructions/verifyCreator.ts +516 -0
  306. package/src/generated/instructions/verifyCreatorV2.ts +538 -0
  307. package/src/generated/pdas/assetId.ts +40 -0
  308. package/src/generated/pdas/bubblegumSigner.ts +23 -0
  309. package/src/generated/pdas/index.ts +15 -0
  310. package/src/generated/pdas/masterEdition.ts +38 -0
  311. package/src/generated/pdas/metadata.ts +37 -0
  312. package/src/generated/pdas/mintAuthority.ts +29 -0
  313. package/src/generated/pdas/treeConfig.ts +29 -0
  314. package/src/generated/pdas/voucher.ts +40 -0
  315. package/src/generated/programs/bubblegum.ts +1509 -0
  316. package/src/generated/programs/index.ts +10 -0
  317. package/src/generated/programs/mplTokenMetadata.ts +42 -0
  318. package/src/generated/types/assetDataSchema.ts +37 -0
  319. package/src/generated/types/bubblegumEventType.ts +39 -0
  320. package/src/generated/types/collection.ts +51 -0
  321. package/src/generated/types/creator.ts +58 -0
  322. package/src/generated/types/decompressibleState.ts +39 -0
  323. package/src/generated/types/index.ts +23 -0
  324. package/src/generated/types/instructionName.ts +69 -0
  325. package/src/generated/types/leafSchema.ts +166 -0
  326. package/src/generated/types/metadataArgs.ts +148 -0
  327. package/src/generated/types/metadataArgsV2.ts +126 -0
  328. package/src/generated/types/tokenProgramVersion.ts +39 -0
  329. package/src/generated/types/tokenStandard.ts +38 -0
  330. package/src/generated/types/updateArgs.ts +102 -0
  331. package/src/generated/types/useMethod.ts +34 -0
  332. package/src/generated/types/uses.ts +54 -0
  333. package/src/generated/types/version.ts +33 -0
  334. package/src/index.ts +8 -0
@@ -0,0 +1,649 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
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
+ import {
36
+ addDecoderSizePrefix,
37
+ addEncoderSizePrefix,
38
+ combineCodec,
39
+ fixDecoderSize,
40
+ fixEncoderSize,
41
+ getBytesDecoder,
42
+ getBytesEncoder,
43
+ getOptionDecoder,
44
+ getOptionEncoder,
45
+ getStructDecoder,
46
+ getStructEncoder,
47
+ getU32Decoder,
48
+ getU32Encoder,
49
+ SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
50
+ SolanaError,
51
+ transformEncoder,
52
+ } from "@solana/kit";
53
+ import {
54
+ getAccountMetaFactory,
55
+ getAddressFromResolvedInstructionAccount,
56
+ } from "@solana/program-client-core";
57
+ import { findTreeConfigPda } from "../pdas/index.js";
58
+ import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
59
+ import {
60
+ getAssetDataSchemaDecoder,
61
+ getAssetDataSchemaEncoder,
62
+ getMetadataArgsV2Decoder,
63
+ getMetadataArgsV2Encoder,
64
+ } from "../types/index.js";
65
+
66
+ export const MINT_V2_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([
67
+ 120, 121, 23, 146, 173, 110, 199, 205,
68
+ ]);
69
+
70
+ export function getMintV2DiscriminatorBytes(): ReadonlyUint8Array {
71
+ return fixEncoderSize(getBytesEncoder(), 8).encode(MINT_V2_DISCRIMINATOR);
72
+ }
73
+
74
+ export type MintV2Instruction<
75
+ TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
76
+ TAccountTreeAuthority extends string | AccountMeta<string> = string,
77
+ TAccountPayer extends string | AccountMeta<string> = string,
78
+ TAccountTreeDelegate extends string | AccountMeta<string> = string,
79
+ TAccountCollectionAuthority extends string | AccountMeta<string> = string,
80
+ TAccountLeafOwner extends string | AccountMeta<string> = string,
81
+ TAccountLeafDelegate extends string | AccountMeta<string> = string,
82
+ TAccountMerkleTree extends string | AccountMeta<string> = string,
83
+ TAccountCoreCollection extends string | AccountMeta<string> = string,
84
+ TAccountMplCoreCpiSigner extends string | AccountMeta<string> = string,
85
+ TAccountLogWrapper extends
86
+ | string
87
+ | AccountMeta<string> = "mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3",
88
+ TAccountCompressionProgram extends
89
+ | string
90
+ | AccountMeta<string> = "mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW",
91
+ TAccountMplCoreProgram extends
92
+ | string
93
+ | AccountMeta<string> = "CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d",
94
+ TAccountSystemProgram extends
95
+ | string
96
+ | AccountMeta<string> = "11111111111111111111111111111111",
97
+ TRemainingAccounts extends readonly AccountMeta<string>[] = [],
98
+ > = Instruction<TProgram> &
99
+ InstructionWithData<ReadonlyUint8Array> &
100
+ InstructionWithAccounts<
101
+ [
102
+ TAccountTreeAuthority extends string
103
+ ? WritableAccount<TAccountTreeAuthority>
104
+ : TAccountTreeAuthority,
105
+ TAccountPayer extends string
106
+ ? WritableSignerAccount<TAccountPayer> &
107
+ AccountSignerMeta<TAccountPayer>
108
+ : TAccountPayer,
109
+ TAccountTreeDelegate extends string
110
+ ? ReadonlySignerAccount<TAccountTreeDelegate> &
111
+ AccountSignerMeta<TAccountTreeDelegate>
112
+ : TAccountTreeDelegate,
113
+ TAccountCollectionAuthority extends string
114
+ ? ReadonlySignerAccount<TAccountCollectionAuthority> &
115
+ AccountSignerMeta<TAccountCollectionAuthority>
116
+ : TAccountCollectionAuthority,
117
+ TAccountLeafOwner extends string
118
+ ? ReadonlyAccount<TAccountLeafOwner>
119
+ : TAccountLeafOwner,
120
+ TAccountLeafDelegate extends string
121
+ ? ReadonlyAccount<TAccountLeafDelegate>
122
+ : TAccountLeafDelegate,
123
+ TAccountMerkleTree extends string
124
+ ? WritableAccount<TAccountMerkleTree>
125
+ : TAccountMerkleTree,
126
+ TAccountCoreCollection extends string
127
+ ? WritableAccount<TAccountCoreCollection>
128
+ : TAccountCoreCollection,
129
+ TAccountMplCoreCpiSigner extends string
130
+ ? ReadonlyAccount<TAccountMplCoreCpiSigner>
131
+ : TAccountMplCoreCpiSigner,
132
+ TAccountLogWrapper extends string
133
+ ? ReadonlyAccount<TAccountLogWrapper>
134
+ : TAccountLogWrapper,
135
+ TAccountCompressionProgram extends string
136
+ ? ReadonlyAccount<TAccountCompressionProgram>
137
+ : TAccountCompressionProgram,
138
+ TAccountMplCoreProgram extends string
139
+ ? ReadonlyAccount<TAccountMplCoreProgram>
140
+ : TAccountMplCoreProgram,
141
+ TAccountSystemProgram extends string
142
+ ? ReadonlyAccount<TAccountSystemProgram>
143
+ : TAccountSystemProgram,
144
+ ...TRemainingAccounts,
145
+ ]
146
+ >;
147
+
148
+ export interface MintV2InstructionData {
149
+ discriminator: ReadonlyUint8Array;
150
+ metadataArgs: MetadataArgsV2;
151
+ assetData: Option<ReadonlyUint8Array>;
152
+ assetDataSchema: Option<AssetDataSchema>;
153
+ }
154
+
155
+ export interface MintV2InstructionDataArgs {
156
+ metadataArgs: MetadataArgsV2Args;
157
+ assetData: OptionOrNullable<ReadonlyUint8Array>;
158
+ assetDataSchema: OptionOrNullable<AssetDataSchemaArgs>;
159
+ }
160
+
161
+ export function getMintV2InstructionDataEncoder(): Encoder<MintV2InstructionDataArgs> {
162
+ return transformEncoder(
163
+ getStructEncoder([
164
+ ["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
165
+ ["metadataArgs", getMetadataArgsV2Encoder()],
166
+ [
167
+ "assetData",
168
+ getOptionEncoder(
169
+ addEncoderSizePrefix(getBytesEncoder(), getU32Encoder()),
170
+ ),
171
+ ],
172
+ ["assetDataSchema", getOptionEncoder(getAssetDataSchemaEncoder())],
173
+ ]),
174
+ (value) => ({ ...value, discriminator: MINT_V2_DISCRIMINATOR }),
175
+ );
176
+ }
177
+
178
+ export function getMintV2InstructionDataDecoder(): Decoder<MintV2InstructionData> {
179
+ return getStructDecoder([
180
+ ["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
181
+ ["metadataArgs", getMetadataArgsV2Decoder()],
182
+ [
183
+ "assetData",
184
+ getOptionDecoder(
185
+ addDecoderSizePrefix(getBytesDecoder(), getU32Decoder()),
186
+ ),
187
+ ],
188
+ ["assetDataSchema", getOptionDecoder(getAssetDataSchemaDecoder())],
189
+ ]);
190
+ }
191
+
192
+ export function getMintV2InstructionDataCodec(): Codec<
193
+ MintV2InstructionDataArgs,
194
+ MintV2InstructionData
195
+ > {
196
+ return combineCodec(
197
+ getMintV2InstructionDataEncoder(),
198
+ getMintV2InstructionDataDecoder(),
199
+ );
200
+ }
201
+
202
+ export interface MintV2AsyncInput<
203
+ TAccountTreeAuthority extends string = string,
204
+ TAccountPayer extends string = string,
205
+ TAccountTreeDelegate extends string = string,
206
+ TAccountCollectionAuthority extends string = string,
207
+ TAccountLeafOwner extends string = string,
208
+ TAccountLeafDelegate extends string = string,
209
+ TAccountMerkleTree extends string = string,
210
+ TAccountCoreCollection extends string = string,
211
+ TAccountMplCoreCpiSigner extends string = string,
212
+ TAccountLogWrapper extends string = string,
213
+ TAccountCompressionProgram extends string = string,
214
+ TAccountMplCoreProgram extends string = string,
215
+ TAccountSystemProgram extends string = string,
216
+ > {
217
+ treeAuthority?: Address<TAccountTreeAuthority>;
218
+ payer: TransactionSigner<TAccountPayer>;
219
+ /** Optional tree delegate, defaults to `payer` */
220
+ treeDelegate?: TransactionSigner<TAccountTreeDelegate>;
221
+ /** Optional collection authority, defaults to `tree_delegate` */
222
+ collectionAuthority?: TransactionSigner<TAccountCollectionAuthority>;
223
+ leafOwner: Address<TAccountLeafOwner>;
224
+ leafDelegate?: Address<TAccountLeafDelegate>;
225
+ merkleTree: Address<TAccountMerkleTree>;
226
+ coreCollection?: Address<TAccountCoreCollection>;
227
+ mplCoreCpiSigner?: Address<TAccountMplCoreCpiSigner>;
228
+ logWrapper?: Address<TAccountLogWrapper>;
229
+ compressionProgram?: Address<TAccountCompressionProgram>;
230
+ mplCoreProgram?: Address<TAccountMplCoreProgram>;
231
+ systemProgram?: Address<TAccountSystemProgram>;
232
+ metadataArgs: MintV2InstructionDataArgs["metadataArgs"];
233
+ assetData: MintV2InstructionDataArgs["assetData"];
234
+ assetDataSchema: MintV2InstructionDataArgs["assetDataSchema"];
235
+ }
236
+
237
+ export async function getMintV2InstructionAsync<
238
+ TAccountTreeAuthority extends string,
239
+ TAccountPayer extends string,
240
+ TAccountTreeDelegate extends string,
241
+ TAccountCollectionAuthority extends string,
242
+ TAccountLeafOwner extends string,
243
+ TAccountLeafDelegate extends string,
244
+ TAccountMerkleTree extends string,
245
+ TAccountCoreCollection extends string,
246
+ TAccountMplCoreCpiSigner extends string,
247
+ TAccountLogWrapper extends string,
248
+ TAccountCompressionProgram extends string,
249
+ TAccountMplCoreProgram extends string,
250
+ TAccountSystemProgram extends string,
251
+ TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
252
+ >(
253
+ input: MintV2AsyncInput<
254
+ TAccountTreeAuthority,
255
+ TAccountPayer,
256
+ TAccountTreeDelegate,
257
+ TAccountCollectionAuthority,
258
+ TAccountLeafOwner,
259
+ TAccountLeafDelegate,
260
+ TAccountMerkleTree,
261
+ TAccountCoreCollection,
262
+ TAccountMplCoreCpiSigner,
263
+ TAccountLogWrapper,
264
+ TAccountCompressionProgram,
265
+ TAccountMplCoreProgram,
266
+ TAccountSystemProgram
267
+ >,
268
+ config?: { programAddress?: TProgramAddress },
269
+ ): Promise<
270
+ MintV2Instruction<
271
+ TProgramAddress,
272
+ TAccountTreeAuthority,
273
+ TAccountPayer,
274
+ TAccountTreeDelegate,
275
+ TAccountCollectionAuthority,
276
+ TAccountLeafOwner,
277
+ TAccountLeafDelegate,
278
+ TAccountMerkleTree,
279
+ TAccountCoreCollection,
280
+ TAccountMplCoreCpiSigner,
281
+ TAccountLogWrapper,
282
+ TAccountCompressionProgram,
283
+ TAccountMplCoreProgram,
284
+ TAccountSystemProgram
285
+ >
286
+ > {
287
+ // Program address.
288
+ const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
289
+
290
+ // Original accounts.
291
+ const originalAccounts = {
292
+ treeAuthority: { value: input.treeAuthority ?? null, isWritable: true },
293
+ payer: { value: input.payer ?? null, isWritable: true },
294
+ treeDelegate: { value: input.treeDelegate ?? null, isWritable: false },
295
+ collectionAuthority: {
296
+ value: input.collectionAuthority ?? null,
297
+ isWritable: false,
298
+ },
299
+ leafOwner: { value: input.leafOwner ?? null, isWritable: false },
300
+ leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
301
+ merkleTree: { value: input.merkleTree ?? null, isWritable: true },
302
+ coreCollection: { value: input.coreCollection ?? null, isWritable: true },
303
+ mplCoreCpiSigner: {
304
+ value: input.mplCoreCpiSigner ?? null,
305
+ isWritable: false,
306
+ },
307
+ logWrapper: { value: input.logWrapper ?? null, isWritable: false },
308
+ compressionProgram: {
309
+ value: input.compressionProgram ?? null,
310
+ isWritable: false,
311
+ },
312
+ mplCoreProgram: { value: input.mplCoreProgram ?? null, isWritable: false },
313
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
314
+ };
315
+ const accounts = originalAccounts as Record<
316
+ keyof typeof originalAccounts,
317
+ ResolvedInstructionAccount
318
+ >;
319
+
320
+ // Original args.
321
+ const args = { ...input };
322
+
323
+ // Resolve default values.
324
+ if (!accounts.treeAuthority.value) {
325
+ accounts.treeAuthority.value = await findTreeConfigPda({
326
+ merkleTree: getAddressFromResolvedInstructionAccount(
327
+ "merkleTree",
328
+ accounts.merkleTree.value,
329
+ ),
330
+ });
331
+ }
332
+ if (!accounts.mplCoreCpiSigner.value) {
333
+ if (accounts.coreCollection.value) {
334
+ accounts.mplCoreCpiSigner.value =
335
+ "CbNY3JiXdXNE9tPNEk1aRZVEkWdj2v7kfJLNQwZZgpXk" as Address<"CbNY3JiXdXNE9tPNEk1aRZVEkWdj2v7kfJLNQwZZgpXk">;
336
+ }
337
+ }
338
+ if (!accounts.logWrapper.value) {
339
+ accounts.logWrapper.value =
340
+ "mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3" as Address<"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3">;
341
+ }
342
+ if (!accounts.compressionProgram.value) {
343
+ accounts.compressionProgram.value =
344
+ "mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW" as Address<"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW">;
345
+ }
346
+ if (!accounts.mplCoreProgram.value) {
347
+ accounts.mplCoreProgram.value =
348
+ "CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d" as Address<"CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d">;
349
+ }
350
+ if (!accounts.systemProgram.value) {
351
+ accounts.systemProgram.value =
352
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
353
+ }
354
+
355
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
356
+ return Object.freeze({
357
+ accounts: [
358
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
359
+ getAccountMeta("payer", accounts.payer),
360
+ getAccountMeta("treeDelegate", accounts.treeDelegate),
361
+ getAccountMeta("collectionAuthority", accounts.collectionAuthority),
362
+ getAccountMeta("leafOwner", accounts.leafOwner),
363
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
364
+ getAccountMeta("merkleTree", accounts.merkleTree),
365
+ getAccountMeta("coreCollection", accounts.coreCollection),
366
+ getAccountMeta("mplCoreCpiSigner", accounts.mplCoreCpiSigner),
367
+ getAccountMeta("logWrapper", accounts.logWrapper),
368
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
369
+ getAccountMeta("mplCoreProgram", accounts.mplCoreProgram),
370
+ getAccountMeta("systemProgram", accounts.systemProgram),
371
+ ],
372
+ data: getMintV2InstructionDataEncoder().encode(
373
+ args as MintV2InstructionDataArgs,
374
+ ),
375
+ programAddress,
376
+ } as MintV2Instruction<
377
+ TProgramAddress,
378
+ TAccountTreeAuthority,
379
+ TAccountPayer,
380
+ TAccountTreeDelegate,
381
+ TAccountCollectionAuthority,
382
+ TAccountLeafOwner,
383
+ TAccountLeafDelegate,
384
+ TAccountMerkleTree,
385
+ TAccountCoreCollection,
386
+ TAccountMplCoreCpiSigner,
387
+ TAccountLogWrapper,
388
+ TAccountCompressionProgram,
389
+ TAccountMplCoreProgram,
390
+ TAccountSystemProgram
391
+ >);
392
+ }
393
+
394
+ export interface MintV2Input<
395
+ TAccountTreeAuthority extends string = string,
396
+ TAccountPayer extends string = string,
397
+ TAccountTreeDelegate extends string = string,
398
+ TAccountCollectionAuthority extends string = string,
399
+ TAccountLeafOwner extends string = string,
400
+ TAccountLeafDelegate extends string = string,
401
+ TAccountMerkleTree extends string = string,
402
+ TAccountCoreCollection extends string = string,
403
+ TAccountMplCoreCpiSigner extends string = string,
404
+ TAccountLogWrapper extends string = string,
405
+ TAccountCompressionProgram extends string = string,
406
+ TAccountMplCoreProgram extends string = string,
407
+ TAccountSystemProgram extends string = string,
408
+ > {
409
+ treeAuthority: Address<TAccountTreeAuthority>;
410
+ payer: TransactionSigner<TAccountPayer>;
411
+ /** Optional tree delegate, defaults to `payer` */
412
+ treeDelegate?: TransactionSigner<TAccountTreeDelegate>;
413
+ /** Optional collection authority, defaults to `tree_delegate` */
414
+ collectionAuthority?: TransactionSigner<TAccountCollectionAuthority>;
415
+ leafOwner: Address<TAccountLeafOwner>;
416
+ leafDelegate?: Address<TAccountLeafDelegate>;
417
+ merkleTree: Address<TAccountMerkleTree>;
418
+ coreCollection?: Address<TAccountCoreCollection>;
419
+ mplCoreCpiSigner?: Address<TAccountMplCoreCpiSigner>;
420
+ logWrapper?: Address<TAccountLogWrapper>;
421
+ compressionProgram?: Address<TAccountCompressionProgram>;
422
+ mplCoreProgram?: Address<TAccountMplCoreProgram>;
423
+ systemProgram?: Address<TAccountSystemProgram>;
424
+ metadataArgs: MintV2InstructionDataArgs["metadataArgs"];
425
+ assetData: MintV2InstructionDataArgs["assetData"];
426
+ assetDataSchema: MintV2InstructionDataArgs["assetDataSchema"];
427
+ }
428
+
429
+ export function getMintV2Instruction<
430
+ TAccountTreeAuthority extends string,
431
+ TAccountPayer extends string,
432
+ TAccountTreeDelegate extends string,
433
+ TAccountCollectionAuthority extends string,
434
+ TAccountLeafOwner extends string,
435
+ TAccountLeafDelegate extends string,
436
+ TAccountMerkleTree extends string,
437
+ TAccountCoreCollection extends string,
438
+ TAccountMplCoreCpiSigner extends string,
439
+ TAccountLogWrapper extends string,
440
+ TAccountCompressionProgram extends string,
441
+ TAccountMplCoreProgram extends string,
442
+ TAccountSystemProgram extends string,
443
+ TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
444
+ >(
445
+ input: MintV2Input<
446
+ TAccountTreeAuthority,
447
+ TAccountPayer,
448
+ TAccountTreeDelegate,
449
+ TAccountCollectionAuthority,
450
+ TAccountLeafOwner,
451
+ TAccountLeafDelegate,
452
+ TAccountMerkleTree,
453
+ TAccountCoreCollection,
454
+ TAccountMplCoreCpiSigner,
455
+ TAccountLogWrapper,
456
+ TAccountCompressionProgram,
457
+ TAccountMplCoreProgram,
458
+ TAccountSystemProgram
459
+ >,
460
+ config?: { programAddress?: TProgramAddress },
461
+ ): MintV2Instruction<
462
+ TProgramAddress,
463
+ TAccountTreeAuthority,
464
+ TAccountPayer,
465
+ TAccountTreeDelegate,
466
+ TAccountCollectionAuthority,
467
+ TAccountLeafOwner,
468
+ TAccountLeafDelegate,
469
+ TAccountMerkleTree,
470
+ TAccountCoreCollection,
471
+ TAccountMplCoreCpiSigner,
472
+ TAccountLogWrapper,
473
+ TAccountCompressionProgram,
474
+ TAccountMplCoreProgram,
475
+ TAccountSystemProgram
476
+ > {
477
+ // Program address.
478
+ const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
479
+
480
+ // Original accounts.
481
+ const originalAccounts = {
482
+ treeAuthority: { value: input.treeAuthority ?? null, isWritable: true },
483
+ payer: { value: input.payer ?? null, isWritable: true },
484
+ treeDelegate: { value: input.treeDelegate ?? null, isWritable: false },
485
+ collectionAuthority: {
486
+ value: input.collectionAuthority ?? null,
487
+ isWritable: false,
488
+ },
489
+ leafOwner: { value: input.leafOwner ?? null, isWritable: false },
490
+ leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
491
+ merkleTree: { value: input.merkleTree ?? null, isWritable: true },
492
+ coreCollection: { value: input.coreCollection ?? null, isWritable: true },
493
+ mplCoreCpiSigner: {
494
+ value: input.mplCoreCpiSigner ?? null,
495
+ isWritable: false,
496
+ },
497
+ logWrapper: { value: input.logWrapper ?? null, isWritable: false },
498
+ compressionProgram: {
499
+ value: input.compressionProgram ?? null,
500
+ isWritable: false,
501
+ },
502
+ mplCoreProgram: { value: input.mplCoreProgram ?? null, isWritable: false },
503
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
504
+ };
505
+ const accounts = originalAccounts as Record<
506
+ keyof typeof originalAccounts,
507
+ ResolvedInstructionAccount
508
+ >;
509
+
510
+ // Original args.
511
+ const args = { ...input };
512
+
513
+ // Resolve default values.
514
+ if (!accounts.mplCoreCpiSigner.value) {
515
+ if (accounts.coreCollection.value) {
516
+ accounts.mplCoreCpiSigner.value =
517
+ "CbNY3JiXdXNE9tPNEk1aRZVEkWdj2v7kfJLNQwZZgpXk" as Address<"CbNY3JiXdXNE9tPNEk1aRZVEkWdj2v7kfJLNQwZZgpXk">;
518
+ }
519
+ }
520
+ if (!accounts.logWrapper.value) {
521
+ accounts.logWrapper.value =
522
+ "mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3" as Address<"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3">;
523
+ }
524
+ if (!accounts.compressionProgram.value) {
525
+ accounts.compressionProgram.value =
526
+ "mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW" as Address<"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW">;
527
+ }
528
+ if (!accounts.mplCoreProgram.value) {
529
+ accounts.mplCoreProgram.value =
530
+ "CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d" as Address<"CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d">;
531
+ }
532
+ if (!accounts.systemProgram.value) {
533
+ accounts.systemProgram.value =
534
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
535
+ }
536
+
537
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
538
+ return Object.freeze({
539
+ accounts: [
540
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
541
+ getAccountMeta("payer", accounts.payer),
542
+ getAccountMeta("treeDelegate", accounts.treeDelegate),
543
+ getAccountMeta("collectionAuthority", accounts.collectionAuthority),
544
+ getAccountMeta("leafOwner", accounts.leafOwner),
545
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
546
+ getAccountMeta("merkleTree", accounts.merkleTree),
547
+ getAccountMeta("coreCollection", accounts.coreCollection),
548
+ getAccountMeta("mplCoreCpiSigner", accounts.mplCoreCpiSigner),
549
+ getAccountMeta("logWrapper", accounts.logWrapper),
550
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
551
+ getAccountMeta("mplCoreProgram", accounts.mplCoreProgram),
552
+ getAccountMeta("systemProgram", accounts.systemProgram),
553
+ ],
554
+ data: getMintV2InstructionDataEncoder().encode(
555
+ args as MintV2InstructionDataArgs,
556
+ ),
557
+ programAddress,
558
+ } as MintV2Instruction<
559
+ TProgramAddress,
560
+ TAccountTreeAuthority,
561
+ TAccountPayer,
562
+ TAccountTreeDelegate,
563
+ TAccountCollectionAuthority,
564
+ TAccountLeafOwner,
565
+ TAccountLeafDelegate,
566
+ TAccountMerkleTree,
567
+ TAccountCoreCollection,
568
+ TAccountMplCoreCpiSigner,
569
+ TAccountLogWrapper,
570
+ TAccountCompressionProgram,
571
+ TAccountMplCoreProgram,
572
+ TAccountSystemProgram
573
+ >);
574
+ }
575
+
576
+ export interface ParsedMintV2Instruction<
577
+ TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
578
+ TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],
579
+ > {
580
+ programAddress: Address<TProgram>;
581
+ accounts: {
582
+ treeAuthority: TAccountMetas[0];
583
+ payer: TAccountMetas[1];
584
+ /** Optional tree delegate, defaults to `payer` */
585
+ treeDelegate?: TAccountMetas[2] | undefined;
586
+ /** Optional collection authority, defaults to `tree_delegate` */
587
+ collectionAuthority?: TAccountMetas[3] | undefined;
588
+ leafOwner: TAccountMetas[4];
589
+ leafDelegate?: TAccountMetas[5] | undefined;
590
+ merkleTree: TAccountMetas[6];
591
+ coreCollection?: TAccountMetas[7] | undefined;
592
+ mplCoreCpiSigner?: TAccountMetas[8] | undefined;
593
+ logWrapper: TAccountMetas[9];
594
+ compressionProgram: TAccountMetas[10];
595
+ mplCoreProgram: TAccountMetas[11];
596
+ systemProgram: TAccountMetas[12];
597
+ };
598
+ data: MintV2InstructionData;
599
+ }
600
+
601
+ export function parseMintV2Instruction<
602
+ TProgram extends string,
603
+ TAccountMetas extends readonly AccountMeta[],
604
+ >(
605
+ instruction: Instruction<TProgram> &
606
+ InstructionWithAccounts<TAccountMetas> &
607
+ InstructionWithData<ReadonlyUint8Array>,
608
+ ): ParsedMintV2Instruction<TProgram, TAccountMetas> {
609
+ if (instruction.accounts.length < 13) {
610
+ throw new SolanaError(
611
+ SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
612
+ {
613
+ actualAccountMetas: instruction.accounts.length,
614
+ expectedAccountMetas: 13,
615
+ },
616
+ );
617
+ }
618
+ let accountIndex = 0;
619
+ const getNextAccount = () => {
620
+ const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;
621
+ accountIndex += 1;
622
+ return accountMeta;
623
+ };
624
+ const getNextOptionalAccount = () => {
625
+ const accountMeta = getNextAccount();
626
+ return accountMeta.address === BUBBLEGUM_PROGRAM_ADDRESS
627
+ ? undefined
628
+ : accountMeta;
629
+ };
630
+ return {
631
+ programAddress: instruction.programAddress,
632
+ accounts: {
633
+ treeAuthority: getNextAccount(),
634
+ payer: getNextAccount(),
635
+ treeDelegate: getNextOptionalAccount(),
636
+ collectionAuthority: getNextOptionalAccount(),
637
+ leafOwner: getNextAccount(),
638
+ leafDelegate: getNextOptionalAccount(),
639
+ merkleTree: getNextAccount(),
640
+ coreCollection: getNextOptionalAccount(),
641
+ mplCoreCpiSigner: getNextOptionalAccount(),
642
+ logWrapper: getNextAccount(),
643
+ compressionProgram: getNextAccount(),
644
+ mplCoreProgram: getNextAccount(),
645
+ systemProgram: getNextAccount(),
646
+ },
647
+ data: getMintV2InstructionDataDecoder().decode(instruction.data),
648
+ };
649
+ }