@macalinao/clients-mpl-bubblegum 0.2.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 (333) hide show
  1. package/dist/generated/accounts/index.d.ts +2 -10
  2. package/dist/generated/accounts/treeConfig.d.ts +42 -38
  3. package/dist/generated/accounts/treeConfig.d.ts.map +1 -1
  4. package/dist/generated/accounts/treeConfig.js +70 -53
  5. package/dist/generated/accounts/treeConfig.js.map +1 -1
  6. package/dist/generated/accounts/voucher.d.ts +33 -30
  7. package/dist/generated/accounts/voucher.d.ts.map +1 -1
  8. package/dist/generated/accounts/voucher.js +61 -45
  9. package/dist/generated/accounts/voucher.js.map +1 -1
  10. package/dist/generated/errors/bubblegum.d.ts +71 -74
  11. package/dist/generated/errors/bubblegum.d.ts.map +1 -1
  12. package/dist/generated/errors/bubblegum.js +126 -133
  13. package/dist/generated/errors/bubblegum.js.map +1 -1
  14. package/dist/generated/errors/index.d.ts +1 -9
  15. package/dist/generated/index.d.ts +63 -13
  16. package/dist/generated/instructions/burn.d.ts +70 -65
  17. package/dist/generated/instructions/burn.d.ts.map +1 -1
  18. package/dist/generated/instructions/burn.js +168 -98
  19. package/dist/generated/instructions/burn.js.map +1 -1
  20. package/dist/generated/instructions/burnV2.d.ts +107 -96
  21. package/dist/generated/instructions/burnV2.d.ts.map +1 -1
  22. package/dist/generated/instructions/burnV2.js +239 -136
  23. package/dist/generated/instructions/burnV2.js.map +1 -1
  24. package/dist/generated/instructions/cancelRedeem.d.ts +54 -53
  25. package/dist/generated/instructions/cancelRedeem.d.ts.map +1 -1
  26. package/dist/generated/instructions/cancelRedeem.js +154 -90
  27. package/dist/generated/instructions/cancelRedeem.js.map +1 -1
  28. package/dist/generated/instructions/closeTreeV2.d.ts +64 -60
  29. package/dist/generated/instructions/closeTreeV2.d.ts.map +1 -1
  30. package/dist/generated/instructions/closeTreeV2.js +152 -84
  31. package/dist/generated/instructions/closeTreeV2.js.map +1 -1
  32. package/dist/generated/instructions/collectV2.d.ts +28 -35
  33. package/dist/generated/instructions/collectV2.d.ts.map +1 -1
  34. package/dist/generated/instructions/collectV2.js +63 -60
  35. package/dist/generated/instructions/collectV2.js.map +1 -1
  36. package/dist/generated/instructions/compress.d.ts +71 -71
  37. package/dist/generated/instructions/compress.d.ts.map +1 -1
  38. package/dist/generated/instructions/compress.js +233 -116
  39. package/dist/generated/instructions/compress.js.map +1 -1
  40. package/dist/generated/instructions/createTree.d.ts +62 -59
  41. package/dist/generated/instructions/createTree.d.ts.map +1 -1
  42. package/dist/generated/instructions/createTree.js +164 -94
  43. package/dist/generated/instructions/createTree.js.map +1 -1
  44. package/dist/generated/instructions/createTreeV2.d.ts +64 -61
  45. package/dist/generated/instructions/createTreeV2.d.ts.map +1 -1
  46. package/dist/generated/instructions/createTreeV2.js +168 -100
  47. package/dist/generated/instructions/createTreeV2.js.map +1 -1
  48. package/dist/generated/instructions/decompressV1.d.ts +73 -72
  49. package/dist/generated/instructions/decompressV1.d.ts.map +1 -1
  50. package/dist/generated/instructions/decompressV1.js +251 -128
  51. package/dist/generated/instructions/decompressV1.js.map +1 -1
  52. package/dist/generated/instructions/delegate.d.ts +73 -68
  53. package/dist/generated/instructions/delegate.d.ts.map +1 -1
  54. package/dist/generated/instructions/delegate.js +179 -107
  55. package/dist/generated/instructions/delegate.js.map +1 -1
  56. package/dist/generated/instructions/delegateAndFreezeV2.d.ts +92 -84
  57. package/dist/generated/instructions/delegateAndFreezeV2.d.ts.map +1 -1
  58. package/dist/generated/instructions/delegateAndFreezeV2.js +201 -136
  59. package/dist/generated/instructions/delegateAndFreezeV2.js.map +1 -1
  60. package/dist/generated/instructions/delegateV2.d.ts +92 -84
  61. package/dist/generated/instructions/delegateV2.d.ts.map +1 -1
  62. package/dist/generated/instructions/delegateV2.js +200 -134
  63. package/dist/generated/instructions/delegateV2.js.map +1 -1
  64. package/dist/generated/instructions/freezeV2.d.ts +99 -88
  65. package/dist/generated/instructions/freezeV2.d.ts.map +1 -1
  66. package/dist/generated/instructions/freezeV2.js +209 -123
  67. package/dist/generated/instructions/freezeV2.js.map +1 -1
  68. package/dist/generated/instructions/index.d.ts +36 -44
  69. package/dist/generated/instructions/mintToCollectionV1.d.ts +94 -89
  70. package/dist/generated/instructions/mintToCollectionV1.d.ts.map +1 -1
  71. package/dist/generated/instructions/mintToCollectionV1.js +277 -139
  72. package/dist/generated/instructions/mintToCollectionV1.js.map +1 -1
  73. package/dist/generated/instructions/mintV1.d.ts +61 -60
  74. package/dist/generated/instructions/mintV1.d.ts.map +1 -1
  75. package/dist/generated/instructions/mintV1.js +177 -97
  76. package/dist/generated/instructions/mintV1.js.map +1 -1
  77. package/dist/generated/instructions/mintV2.d.ts +86 -82
  78. package/dist/generated/instructions/mintV2.d.ts.map +1 -1
  79. package/dist/generated/instructions/mintV2.js +244 -135
  80. package/dist/generated/instructions/mintV2.js.map +1 -1
  81. package/dist/generated/instructions/redeem.d.ts +73 -68
  82. package/dist/generated/instructions/redeem.d.ts.map +1 -1
  83. package/dist/generated/instructions/redeem.js +179 -101
  84. package/dist/generated/instructions/redeem.js.map +1 -1
  85. package/dist/generated/instructions/setAndVerifyCollection.d.ts +133 -117
  86. package/dist/generated/instructions/setAndVerifyCollection.d.ts.map +1 -1
  87. package/dist/generated/instructions/setAndVerifyCollection.js +295 -151
  88. package/dist/generated/instructions/setAndVerifyCollection.js.map +1 -1
  89. package/dist/generated/instructions/setCollectionV2.d.ts +125 -110
  90. package/dist/generated/instructions/setCollectionV2.d.ts.map +1 -1
  91. package/dist/generated/instructions/setCollectionV2.js +257 -146
  92. package/dist/generated/instructions/setCollectionV2.js.map +1 -1
  93. package/dist/generated/instructions/setDecompressableState.d.ts +32 -39
  94. package/dist/generated/instructions/setDecompressableState.d.ts.map +1 -1
  95. package/dist/generated/instructions/setDecompressableState.js +66 -69
  96. package/dist/generated/instructions/setDecompressableState.js.map +1 -1
  97. package/dist/generated/instructions/setDecompressibleState.d.ts +32 -39
  98. package/dist/generated/instructions/setDecompressibleState.d.ts.map +1 -1
  99. package/dist/generated/instructions/setDecompressibleState.js +66 -69
  100. package/dist/generated/instructions/setDecompressibleState.js.map +1 -1
  101. package/dist/generated/instructions/setNonTransferableV2.d.ts +101 -90
  102. package/dist/generated/instructions/setNonTransferableV2.d.ts.map +1 -1
  103. package/dist/generated/instructions/setNonTransferableV2.js +210 -125
  104. package/dist/generated/instructions/setNonTransferableV2.js.map +1 -1
  105. package/dist/generated/instructions/setTreeDelegate.d.ts +44 -44
  106. package/dist/generated/instructions/setTreeDelegate.d.ts.map +1 -1
  107. package/dist/generated/instructions/setTreeDelegate.js +127 -77
  108. package/dist/generated/instructions/setTreeDelegate.js.map +1 -1
  109. package/dist/generated/instructions/thawAndRevokeV2.d.ts +87 -79
  110. package/dist/generated/instructions/thawAndRevokeV2.d.ts.map +1 -1
  111. package/dist/generated/instructions/thawAndRevokeV2.js +190 -124
  112. package/dist/generated/instructions/thawAndRevokeV2.js.map +1 -1
  113. package/dist/generated/instructions/thawV2.d.ts +99 -88
  114. package/dist/generated/instructions/thawV2.d.ts.map +1 -1
  115. package/dist/generated/instructions/thawV2.js +209 -123
  116. package/dist/generated/instructions/thawV2.js.map +1 -1
  117. package/dist/generated/instructions/transfer.d.ts +73 -68
  118. package/dist/generated/instructions/transfer.d.ts.map +1 -1
  119. package/dist/generated/instructions/transfer.js +179 -101
  120. package/dist/generated/instructions/transfer.js.map +1 -1
  121. package/dist/generated/instructions/transferV2.d.ts +104 -93
  122. package/dist/generated/instructions/transferV2.d.ts.map +1 -1
  123. package/dist/generated/instructions/transferV2.js +220 -126
  124. package/dist/generated/instructions/transferV2.js.map +1 -1
  125. package/dist/generated/instructions/unverifyCollection.d.ts +129 -114
  126. package/dist/generated/instructions/unverifyCollection.d.ts.map +1 -1
  127. package/dist/generated/instructions/unverifyCollection.js +293 -146
  128. package/dist/generated/instructions/unverifyCollection.js.map +1 -1
  129. package/dist/generated/instructions/unverifyCreator.d.ts +81 -75
  130. package/dist/generated/instructions/unverifyCreator.d.ts.map +1 -1
  131. package/dist/generated/instructions/unverifyCreator.js +194 -106
  132. package/dist/generated/instructions/unverifyCreator.js.map +1 -1
  133. package/dist/generated/instructions/unverifyCreatorV2.d.ts +85 -79
  134. package/dist/generated/instructions/unverifyCreatorV2.d.ts.map +1 -1
  135. package/dist/generated/instructions/unverifyCreatorV2.js +198 -118
  136. package/dist/generated/instructions/unverifyCreatorV2.js.map +1 -1
  137. package/dist/generated/instructions/updateAssetDataV2.d.ts +108 -95
  138. package/dist/generated/instructions/updateAssetDataV2.d.ts.map +1 -1
  139. package/dist/generated/instructions/updateAssetDataV2.js +215 -136
  140. package/dist/generated/instructions/updateAssetDataV2.js.map +1 -1
  141. package/dist/generated/instructions/updateMetadata.d.ts +106 -96
  142. package/dist/generated/instructions/updateMetadata.d.ts.map +1 -1
  143. package/dist/generated/instructions/updateMetadata.js +243 -135
  144. package/dist/generated/instructions/updateMetadata.js.map +1 -1
  145. package/dist/generated/instructions/updateMetadataV2.d.ts +103 -91
  146. package/dist/generated/instructions/updateMetadataV2.d.ts.map +1 -1
  147. package/dist/generated/instructions/updateMetadataV2.js +212 -123
  148. package/dist/generated/instructions/updateMetadataV2.js.map +1 -1
  149. package/dist/generated/instructions/verifyCollection.d.ts +129 -114
  150. package/dist/generated/instructions/verifyCollection.d.ts.map +1 -1
  151. package/dist/generated/instructions/verifyCollection.js +293 -146
  152. package/dist/generated/instructions/verifyCollection.js.map +1 -1
  153. package/dist/generated/instructions/verifyCreator.d.ts +81 -75
  154. package/dist/generated/instructions/verifyCreator.d.ts.map +1 -1
  155. package/dist/generated/instructions/verifyCreator.js +193 -107
  156. package/dist/generated/instructions/verifyCreator.js.map +1 -1
  157. package/dist/generated/instructions/verifyCreatorV2.d.ts +85 -79
  158. package/dist/generated/instructions/verifyCreatorV2.d.ts.map +1 -1
  159. package/dist/generated/instructions/verifyCreatorV2.js +198 -118
  160. package/dist/generated/instructions/verifyCreatorV2.js.map +1 -1
  161. package/dist/generated/pdas/assetId.d.ts +16 -0
  162. package/dist/generated/pdas/assetId.d.ts.map +1 -0
  163. package/dist/generated/pdas/assetId.js +18 -0
  164. package/dist/generated/pdas/assetId.js.map +1 -0
  165. package/dist/generated/pdas/bubblegumSigner.d.ts +10 -0
  166. package/dist/generated/pdas/bubblegumSigner.d.ts.map +1 -0
  167. package/dist/generated/pdas/bubblegumSigner.js +14 -0
  168. package/dist/generated/pdas/bubblegumSigner.js.map +1 -0
  169. package/dist/generated/pdas/index.d.ts +7 -0
  170. package/dist/generated/pdas/masterEdition.d.ts +14 -0
  171. package/dist/generated/pdas/masterEdition.d.ts.map +1 -0
  172. package/dist/generated/pdas/masterEdition.js +19 -0
  173. package/dist/generated/pdas/masterEdition.js.map +1 -0
  174. package/dist/generated/pdas/metadata.d.ts +14 -0
  175. package/dist/generated/pdas/metadata.d.ts.map +1 -0
  176. package/dist/generated/pdas/metadata.js +18 -0
  177. package/dist/generated/pdas/metadata.js.map +1 -0
  178. package/dist/generated/pdas/mintAuthority.d.ts +14 -0
  179. package/dist/generated/pdas/mintAuthority.d.ts.map +1 -0
  180. package/dist/generated/pdas/mintAuthority.js +14 -0
  181. package/dist/generated/pdas/mintAuthority.js.map +1 -0
  182. package/dist/generated/pdas/treeConfig.d.ts +14 -0
  183. package/dist/generated/pdas/treeConfig.d.ts.map +1 -0
  184. package/dist/generated/pdas/treeConfig.js +14 -0
  185. package/dist/generated/pdas/treeConfig.js.map +1 -0
  186. package/dist/generated/pdas/voucher.d.ts +16 -0
  187. package/dist/generated/pdas/voucher.d.ts.map +1 -0
  188. package/dist/generated/pdas/voucher.js +18 -0
  189. package/dist/generated/pdas/voucher.js.map +1 -0
  190. package/dist/generated/programs/bubblegum.d.ts +186 -143
  191. package/dist/generated/programs/bubblegum.d.ts.map +1 -1
  192. package/dist/generated/programs/bubblegum.js +839 -561
  193. package/dist/generated/programs/bubblegum.js.map +1 -1
  194. package/dist/generated/programs/index.d.ts +2 -9
  195. package/dist/generated/programs/mplTokenMetadata.d.ts +20 -0
  196. package/dist/generated/programs/mplTokenMetadata.d.ts.map +1 -0
  197. package/dist/generated/programs/mplTokenMetadata.js +17 -0
  198. package/dist/generated/programs/mplTokenMetadata.js.map +1 -0
  199. package/dist/generated/types/assetDataSchema.d.ts +13 -16
  200. package/dist/generated/types/assetDataSchema.d.ts.map +1 -1
  201. package/dist/generated/types/assetDataSchema.js +16 -19
  202. package/dist/generated/types/assetDataSchema.js.map +1 -1
  203. package/dist/generated/types/bubblegumEventType.d.ts +12 -15
  204. package/dist/generated/types/bubblegumEventType.d.ts.map +1 -1
  205. package/dist/generated/types/bubblegumEventType.js +15 -18
  206. package/dist/generated/types/bubblegumEventType.js.map +1 -1
  207. package/dist/generated/types/collection.d.ts +12 -15
  208. package/dist/generated/types/collection.d.ts.map +1 -1
  209. package/dist/generated/types/collection.js +11 -20
  210. package/dist/generated/types/collection.js.map +1 -1
  211. package/dist/generated/types/creator.d.ts +18 -21
  212. package/dist/generated/types/creator.d.ts.map +1 -1
  213. package/dist/generated/types/creator.js +19 -22
  214. package/dist/generated/types/creator.js.map +1 -1
  215. package/dist/generated/types/decompressibleState.d.ts +12 -15
  216. package/dist/generated/types/decompressibleState.d.ts.map +1 -1
  217. package/dist/generated/types/decompressibleState.js +15 -18
  218. package/dist/generated/types/decompressibleState.js.map +1 -1
  219. package/dist/generated/types/index.d.ts +15 -23
  220. package/dist/generated/types/instructionName.d.ts +45 -48
  221. package/dist/generated/types/instructionName.d.ts.map +1 -1
  222. package/dist/generated/types/instructionName.js +48 -51
  223. package/dist/generated/types/instructionName.js.map +1 -1
  224. package/dist/generated/types/leafSchema.d.ts +48 -51
  225. package/dist/generated/types/leafSchema.d.ts.map +1 -1
  226. package/dist/generated/types/leafSchema.js +55 -72
  227. package/dist/generated/types/leafSchema.js.map +1 -1
  228. package/dist/generated/types/metadataArgs.d.ts +59 -58
  229. package/dist/generated/types/metadataArgs.d.ts.map +1 -1
  230. package/dist/generated/types/metadataArgs.js +42 -41
  231. package/dist/generated/types/metadataArgs.js.map +1 -1
  232. package/dist/generated/types/metadataArgsV2.d.ts +48 -50
  233. package/dist/generated/types/metadataArgsV2.d.ts.map +1 -1
  234. package/dist/generated/types/metadataArgsV2.js +33 -35
  235. package/dist/generated/types/metadataArgsV2.js.map +1 -1
  236. package/dist/generated/types/tokenProgramVersion.d.ts +12 -15
  237. package/dist/generated/types/tokenProgramVersion.d.ts.map +1 -1
  238. package/dist/generated/types/tokenProgramVersion.js +15 -18
  239. package/dist/generated/types/tokenProgramVersion.js.map +1 -1
  240. package/dist/generated/types/tokenStandard.d.ts +14 -17
  241. package/dist/generated/types/tokenStandard.d.ts.map +1 -1
  242. package/dist/generated/types/tokenStandard.js +17 -20
  243. package/dist/generated/types/tokenStandard.js.map +1 -1
  244. package/dist/generated/types/updateArgs.d.ts +25 -28
  245. package/dist/generated/types/updateArgs.d.ts.map +1 -1
  246. package/dist/generated/types/updateArgs.js +28 -49
  247. package/dist/generated/types/updateArgs.js.map +1 -1
  248. package/dist/generated/types/useMethod.d.ts +13 -16
  249. package/dist/generated/types/useMethod.d.ts.map +1 -1
  250. package/dist/generated/types/useMethod.js +16 -19
  251. package/dist/generated/types/useMethod.js.map +1 -1
  252. package/dist/generated/types/uses.d.ts +17 -20
  253. package/dist/generated/types/uses.d.ts.map +1 -1
  254. package/dist/generated/types/uses.js +20 -23
  255. package/dist/generated/types/uses.js.map +1 -1
  256. package/dist/generated/types/version.d.ts +12 -15
  257. package/dist/generated/types/version.d.ts.map +1 -1
  258. package/dist/generated/types/version.js +15 -18
  259. package/dist/generated/types/version.js.map +1 -1
  260. package/dist/index.d.ts +64 -8
  261. package/dist/index.js +64 -8
  262. package/package.json +7 -5
  263. package/src/generated/accounts/treeConfig.ts +22 -0
  264. package/src/generated/accounts/voucher.ts +22 -0
  265. package/src/generated/errors/bubblegum.ts +1 -1
  266. package/src/generated/index.ts +1 -0
  267. package/src/generated/instructions/burn.ts +155 -11
  268. package/src/generated/instructions/burnV2.ts +226 -16
  269. package/src/generated/instructions/cancelRedeem.ts +151 -11
  270. package/src/generated/instructions/closeTreeV2.ts +150 -11
  271. package/src/generated/instructions/collectV2.ts +3 -3
  272. package/src/generated/instructions/compress.ts +219 -18
  273. package/src/generated/instructions/createTree.ts +153 -11
  274. package/src/generated/instructions/createTreeV2.ts +154 -11
  275. package/src/generated/instructions/decompressV1.ts +258 -16
  276. package/src/generated/instructions/delegate.ts +170 -12
  277. package/src/generated/instructions/delegateAndFreezeV2.ts +184 -13
  278. package/src/generated/instructions/delegateV2.ts +184 -13
  279. package/src/generated/instructions/freezeV2.ts +188 -14
  280. package/src/generated/instructions/mintToCollectionV1.ts +296 -21
  281. package/src/generated/instructions/mintV1.ts +169 -13
  282. package/src/generated/instructions/mintV2.ts +231 -17
  283. package/src/generated/instructions/redeem.ts +164 -12
  284. package/src/generated/instructions/setAndVerifyCollection.ts +307 -21
  285. package/src/generated/instructions/setCollectionV2.ts +253 -19
  286. package/src/generated/instructions/setDecompressableState.ts +3 -3
  287. package/src/generated/instructions/setDecompressibleState.ts +3 -3
  288. package/src/generated/instructions/setNonTransferableV2.ts +189 -14
  289. package/src/generated/instructions/setTreeDelegate.ts +105 -7
  290. package/src/generated/instructions/thawAndRevokeV2.ts +168 -12
  291. package/src/generated/instructions/thawV2.ts +188 -14
  292. package/src/generated/instructions/transfer.ts +164 -12
  293. package/src/generated/instructions/transferV2.ts +198 -15
  294. package/src/generated/instructions/unverifyCollection.ts +306 -21
  295. package/src/generated/instructions/unverifyCreator.ts +174 -13
  296. package/src/generated/instructions/unverifyCreatorV2.ts +176 -13
  297. package/src/generated/instructions/updateAssetDataV2.ts +190 -14
  298. package/src/generated/instructions/updateMetadata.ts +233 -17
  299. package/src/generated/instructions/updateMetadataV2.ts +189 -14
  300. package/src/generated/instructions/verifyCollection.ts +306 -21
  301. package/src/generated/instructions/verifyCreator.ts +174 -13
  302. package/src/generated/instructions/verifyCreatorV2.ts +176 -13
  303. package/src/generated/pdas/assetId.ts +40 -0
  304. package/src/generated/pdas/bubblegumSigner.ts +23 -0
  305. package/{dist/generated/accounts/index.js → src/generated/pdas/index.ts} +6 -1
  306. package/src/generated/pdas/masterEdition.ts +38 -0
  307. package/src/generated/pdas/metadata.ts +37 -0
  308. package/src/generated/pdas/mintAuthority.ts +29 -0
  309. package/src/generated/pdas/treeConfig.ts +29 -0
  310. package/src/generated/pdas/voucher.ts +40 -0
  311. package/src/generated/programs/bubblegum.ts +208 -165
  312. package/src/generated/programs/index.ts +1 -0
  313. package/src/generated/programs/mplTokenMetadata.ts +42 -0
  314. package/dist/.tsbuildinfo +0 -1
  315. package/dist/generated/accounts/index.d.ts.map +0 -1
  316. package/dist/generated/accounts/index.js.map +0 -1
  317. package/dist/generated/errors/index.d.ts.map +0 -1
  318. package/dist/generated/errors/index.js +0 -9
  319. package/dist/generated/errors/index.js.map +0 -1
  320. package/dist/generated/index.d.ts.map +0 -1
  321. package/dist/generated/index.js +0 -13
  322. package/dist/generated/index.js.map +0 -1
  323. package/dist/generated/instructions/index.d.ts.map +0 -1
  324. package/dist/generated/instructions/index.js +0 -44
  325. package/dist/generated/instructions/index.js.map +0 -1
  326. package/dist/generated/programs/index.d.ts.map +0 -1
  327. package/dist/generated/programs/index.js +0 -9
  328. package/dist/generated/programs/index.js.map +0 -1
  329. package/dist/generated/types/index.d.ts.map +0 -1
  330. package/dist/generated/types/index.js +0 -23
  331. package/dist/generated/types/index.js.map +0 -1
  332. package/dist/index.d.ts.map +0 -1
  333. package/dist/index.js.map +0 -1
@@ -43,7 +43,11 @@ import {
43
43
  SolanaError,
44
44
  transformEncoder,
45
45
  } from "@solana/kit";
46
- import { getAccountMetaFactory } from "@solana/program-client-core";
46
+ import {
47
+ getAccountMetaFactory,
48
+ getAddressFromResolvedInstructionAccount,
49
+ } from "@solana/program-client-core";
50
+ import { findTreeConfigPda } from "../pdas/index.js";
47
51
  import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
48
52
 
49
53
  export const REDEEM_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([
@@ -56,17 +60,21 @@ export function getRedeemDiscriminatorBytes(): ReadonlyUint8Array {
56
60
 
57
61
  export type RedeemInstruction<
58
62
  TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
59
- TAccountTreeAuthority extends string | AccountMeta = string,
60
- TAccountLeafOwner extends string | AccountMeta = string,
61
- TAccountLeafDelegate extends string | AccountMeta = string,
62
- TAccountMerkleTree extends string | AccountMeta = string,
63
- TAccountVoucher extends string | AccountMeta = string,
64
- TAccountLogWrapper extends string | AccountMeta = string,
65
- TAccountCompressionProgram extends string | AccountMeta = string,
63
+ TAccountTreeAuthority extends string | AccountMeta<string> = string,
64
+ TAccountLeafOwner extends string | AccountMeta<string> = string,
65
+ TAccountLeafDelegate extends string | AccountMeta<string> = string,
66
+ TAccountMerkleTree extends string | AccountMeta<string> = string,
67
+ TAccountVoucher extends string | AccountMeta<string> = string,
68
+ TAccountLogWrapper extends
69
+ | string
70
+ | AccountMeta<string> = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV",
71
+ TAccountCompressionProgram extends
72
+ | string
73
+ | AccountMeta<string> = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK",
66
74
  TAccountSystemProgram extends
67
75
  | string
68
- | AccountMeta = "11111111111111111111111111111111",
69
- TRemainingAccounts extends readonly AccountMeta[] = [],
76
+ | AccountMeta<string> = "11111111111111111111111111111111",
77
+ TRemainingAccounts extends readonly AccountMeta<string>[] = [],
70
78
  > = Instruction<TProgram> &
71
79
  InstructionWithData<ReadonlyUint8Array> &
72
80
  InstructionWithAccounts<
@@ -152,6 +160,142 @@ export function getRedeemInstructionDataCodec(): FixedSizeCodec<
152
160
  );
153
161
  }
154
162
 
163
+ export interface RedeemAsyncInput<
164
+ TAccountTreeAuthority extends string = string,
165
+ TAccountLeafOwner extends string = string,
166
+ TAccountLeafDelegate extends string = string,
167
+ TAccountMerkleTree extends string = string,
168
+ TAccountVoucher extends string = string,
169
+ TAccountLogWrapper extends string = string,
170
+ TAccountCompressionProgram extends string = string,
171
+ TAccountSystemProgram extends string = string,
172
+ > {
173
+ treeAuthority?: Address<TAccountTreeAuthority>;
174
+ leafOwner: TransactionSigner<TAccountLeafOwner>;
175
+ leafDelegate: Address<TAccountLeafDelegate>;
176
+ merkleTree: Address<TAccountMerkleTree>;
177
+ voucher: Address<TAccountVoucher>;
178
+ logWrapper?: Address<TAccountLogWrapper>;
179
+ compressionProgram?: Address<TAccountCompressionProgram>;
180
+ systemProgram?: Address<TAccountSystemProgram>;
181
+ root: RedeemInstructionDataArgs["root"];
182
+ dataHash: RedeemInstructionDataArgs["dataHash"];
183
+ creatorHash: RedeemInstructionDataArgs["creatorHash"];
184
+ nonce: RedeemInstructionDataArgs["nonce"];
185
+ index: RedeemInstructionDataArgs["index"];
186
+ }
187
+
188
+ export async function getRedeemInstructionAsync<
189
+ TAccountTreeAuthority extends string,
190
+ TAccountLeafOwner extends string,
191
+ TAccountLeafDelegate extends string,
192
+ TAccountMerkleTree extends string,
193
+ TAccountVoucher extends string,
194
+ TAccountLogWrapper extends string,
195
+ TAccountCompressionProgram extends string,
196
+ TAccountSystemProgram extends string,
197
+ TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
198
+ >(
199
+ input: RedeemAsyncInput<
200
+ TAccountTreeAuthority,
201
+ TAccountLeafOwner,
202
+ TAccountLeafDelegate,
203
+ TAccountMerkleTree,
204
+ TAccountVoucher,
205
+ TAccountLogWrapper,
206
+ TAccountCompressionProgram,
207
+ TAccountSystemProgram
208
+ >,
209
+ config?: { programAddress?: TProgramAddress },
210
+ ): Promise<
211
+ RedeemInstruction<
212
+ TProgramAddress,
213
+ TAccountTreeAuthority,
214
+ TAccountLeafOwner,
215
+ TAccountLeafDelegate,
216
+ TAccountMerkleTree,
217
+ TAccountVoucher,
218
+ TAccountLogWrapper,
219
+ TAccountCompressionProgram,
220
+ TAccountSystemProgram
221
+ >
222
+ > {
223
+ // Program address.
224
+ const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
225
+
226
+ // Original accounts.
227
+ const originalAccounts = {
228
+ treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
229
+ leafOwner: { value: input.leafOwner ?? null, isWritable: true },
230
+ leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
231
+ merkleTree: { value: input.merkleTree ?? null, isWritable: true },
232
+ voucher: { value: input.voucher ?? null, isWritable: true },
233
+ logWrapper: { value: input.logWrapper ?? null, isWritable: false },
234
+ compressionProgram: {
235
+ value: input.compressionProgram ?? null,
236
+ isWritable: false,
237
+ },
238
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
239
+ };
240
+ const accounts = originalAccounts as Record<
241
+ keyof typeof originalAccounts,
242
+ ResolvedInstructionAccount
243
+ >;
244
+
245
+ // Original args.
246
+ const args = { ...input };
247
+
248
+ // Resolve default values.
249
+ if (!accounts.treeAuthority.value) {
250
+ accounts.treeAuthority.value = await findTreeConfigPda({
251
+ merkleTree: getAddressFromResolvedInstructionAccount(
252
+ "merkleTree",
253
+ accounts.merkleTree.value,
254
+ ),
255
+ });
256
+ }
257
+ if (!accounts.logWrapper.value) {
258
+ accounts.logWrapper.value =
259
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
260
+ }
261
+ if (!accounts.compressionProgram.value) {
262
+ accounts.compressionProgram.value =
263
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
264
+ }
265
+ if (!accounts.systemProgram.value) {
266
+ accounts.systemProgram.value =
267
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
268
+ }
269
+
270
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
271
+ return Object.freeze({
272
+ accounts: [
273
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
274
+ getAccountMeta("leafOwner", accounts.leafOwner),
275
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
276
+ getAccountMeta("merkleTree", accounts.merkleTree),
277
+ getAccountMeta("voucher", accounts.voucher),
278
+ getAccountMeta("logWrapper", accounts.logWrapper),
279
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
280
+ getAccountMeta("systemProgram", accounts.systemProgram),
281
+ ],
282
+ data: getRedeemInstructionDataEncoder().encode(
283
+ args as RedeemInstructionDataArgs,
284
+ ),
285
+ programAddress,
286
+ } as RedeemInstruction<
287
+ TProgramAddress,
288
+ TAccountTreeAuthority,
289
+ TAccountLeafOwner,
290
+ TAccountLeafDelegate,
291
+ TAccountMerkleTree,
292
+ TAccountVoucher,
293
+ TAccountLogWrapper,
294
+ TAccountCompressionProgram,
295
+ TAccountSystemProgram
296
+ >);
297
+ }
298
+
155
299
  export interface RedeemInput<
156
300
  TAccountTreeAuthority extends string = string,
157
301
  TAccountLeafOwner extends string = string,
@@ -167,8 +311,8 @@ export interface RedeemInput<
167
311
  leafDelegate: Address<TAccountLeafDelegate>;
168
312
  merkleTree: Address<TAccountMerkleTree>;
169
313
  voucher: Address<TAccountVoucher>;
170
- logWrapper: Address<TAccountLogWrapper>;
171
- compressionProgram: Address<TAccountCompressionProgram>;
314
+ logWrapper?: Address<TAccountLogWrapper>;
315
+ compressionProgram?: Address<TAccountCompressionProgram>;
172
316
  systemProgram?: Address<TAccountSystemProgram>;
173
317
  root: RedeemInstructionDataArgs["root"];
174
318
  dataHash: RedeemInstructionDataArgs["dataHash"];
@@ -236,6 +380,14 @@ export function getRedeemInstruction<
236
380
  const args = { ...input };
237
381
 
238
382
  // Resolve default values.
383
+ if (!accounts.logWrapper.value) {
384
+ accounts.logWrapper.value =
385
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
386
+ }
387
+ if (!accounts.compressionProgram.value) {
388
+ accounts.compressionProgram.value =
389
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
390
+ }
239
391
  if (!accounts.systemProgram.value) {
240
392
  accounts.systemProgram.value =
241
393
  "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
@@ -25,6 +25,7 @@ import type {
25
25
  import type { ResolvedInstructionAccount } from "@solana/program-client-core";
26
26
  import type { MetadataArgs, MetadataArgsArgs } from "../types/index.js";
27
27
  import {
28
+ address,
28
29
  combineCodec,
29
30
  fixDecoderSize,
30
31
  fixEncoderSize,
@@ -46,7 +47,16 @@ import {
46
47
  SolanaError,
47
48
  transformEncoder,
48
49
  } from "@solana/kit";
49
- import { getAccountMetaFactory } from "@solana/program-client-core";
50
+ import {
51
+ getAccountMetaFactory,
52
+ getAddressFromResolvedInstructionAccount,
53
+ } from "@solana/program-client-core";
54
+ import {
55
+ findBubblegumSignerPda,
56
+ findMasterEditionPda,
57
+ findMetadataPda,
58
+ findTreeConfigPda,
59
+ } from "../pdas/index.js";
50
60
  import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
51
61
  import {
52
62
  getMetadataArgsDecoder,
@@ -64,27 +74,33 @@ export function getSetAndVerifyCollectionDiscriminatorBytes(): ReadonlyUint8Arra
64
74
 
65
75
  export type SetAndVerifyCollectionInstruction<
66
76
  TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
67
- TAccountTreeAuthority extends string | AccountMeta = string,
68
- TAccountLeafOwner extends string | AccountMeta = string,
69
- TAccountLeafDelegate extends string | AccountMeta = string,
70
- TAccountMerkleTree extends string | AccountMeta = string,
71
- TAccountPayer extends string | AccountMeta = string,
72
- TAccountTreeDelegate extends string | AccountMeta = string,
73
- TAccountCollectionAuthority extends string | AccountMeta = string,
74
- TAccountCollectionAuthorityRecordPda extends string | AccountMeta = string,
75
- TAccountCollectionMint extends string | AccountMeta = string,
76
- TAccountCollectionMetadata extends string | AccountMeta = string,
77
- TAccountEditionAccount extends string | AccountMeta = string,
78
- TAccountBubblegumSigner extends string | AccountMeta = string,
79
- TAccountLogWrapper extends string | AccountMeta = string,
80
- TAccountCompressionProgram extends string | AccountMeta = string,
77
+ TAccountTreeAuthority extends string | AccountMeta<string> = string,
78
+ TAccountLeafOwner extends string | AccountMeta<string> = string,
79
+ TAccountLeafDelegate extends string | AccountMeta<string> = string,
80
+ TAccountMerkleTree extends string | AccountMeta<string> = string,
81
+ TAccountPayer extends string | AccountMeta<string> = string,
82
+ TAccountTreeDelegate extends string | AccountMeta<string> = string,
83
+ TAccountCollectionAuthority extends string | AccountMeta<string> = string,
84
+ TAccountCollectionAuthorityRecordPda extends
85
+ | string
86
+ | AccountMeta<string> = "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY",
87
+ TAccountCollectionMint extends string | AccountMeta<string> = string,
88
+ TAccountCollectionMetadata extends string | AccountMeta<string> = string,
89
+ TAccountEditionAccount extends string | AccountMeta<string> = string,
90
+ TAccountBubblegumSigner extends string | AccountMeta<string> = string,
91
+ TAccountLogWrapper extends
92
+ | string
93
+ | AccountMeta<string> = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV",
94
+ TAccountCompressionProgram extends
95
+ | string
96
+ | AccountMeta<string> = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK",
81
97
  TAccountTokenMetadataProgram extends
82
98
  | string
83
- | AccountMeta = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
99
+ | AccountMeta<string> = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
84
100
  TAccountSystemProgram extends
85
101
  | string
86
- | AccountMeta = "11111111111111111111111111111111",
87
- TRemainingAccounts extends readonly AccountMeta[] = [],
102
+ | AccountMeta<string> = "11111111111111111111111111111111",
103
+ TRemainingAccounts extends readonly AccountMeta<string>[] = [],
88
104
  > = Instruction<TProgram> &
89
105
  InstructionWithData<ReadonlyUint8Array> &
90
106
  InstructionWithAccounts<
@@ -206,6 +222,264 @@ export function getSetAndVerifyCollectionInstructionDataCodec(): Codec<
206
222
  );
207
223
  }
208
224
 
225
+ export interface SetAndVerifyCollectionAsyncInput<
226
+ TAccountTreeAuthority extends string = string,
227
+ TAccountLeafOwner extends string = string,
228
+ TAccountLeafDelegate extends string = string,
229
+ TAccountMerkleTree extends string = string,
230
+ TAccountPayer extends string = string,
231
+ TAccountTreeDelegate extends string = string,
232
+ TAccountCollectionAuthority extends string = string,
233
+ TAccountCollectionAuthorityRecordPda extends string = string,
234
+ TAccountCollectionMint extends string = string,
235
+ TAccountCollectionMetadata extends string = string,
236
+ TAccountEditionAccount extends string = string,
237
+ TAccountBubblegumSigner extends string = string,
238
+ TAccountLogWrapper extends string = string,
239
+ TAccountCompressionProgram extends string = string,
240
+ TAccountTokenMetadataProgram extends string = string,
241
+ TAccountSystemProgram extends string = string,
242
+ > {
243
+ treeAuthority?: Address<TAccountTreeAuthority>;
244
+ leafOwner: Address<TAccountLeafOwner>;
245
+ leafDelegate: Address<TAccountLeafDelegate>;
246
+ merkleTree: Address<TAccountMerkleTree>;
247
+ payer: TransactionSigner<TAccountPayer>;
248
+ /**
249
+ * This account is checked to be a signer in
250
+ * the case of `set_and_verify_collection` where
251
+ * we are actually changing the NFT metadata.
252
+ */
253
+ treeDelegate: Address<TAccountTreeDelegate>;
254
+ collectionAuthority: TransactionSigner<TAccountCollectionAuthority>;
255
+ /**
256
+ * If there is no collecton authority record PDA then
257
+ * this must be the Bubblegum program address.
258
+ */
259
+ collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
260
+ collectionMint: Address<TAccountCollectionMint>;
261
+ collectionMetadata?: Address<TAccountCollectionMetadata>;
262
+ editionAccount?: Address<TAccountEditionAccount>;
263
+ bubblegumSigner?: Address<TAccountBubblegumSigner>;
264
+ logWrapper?: Address<TAccountLogWrapper>;
265
+ compressionProgram?: Address<TAccountCompressionProgram>;
266
+ tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
267
+ systemProgram?: Address<TAccountSystemProgram>;
268
+ root: SetAndVerifyCollectionInstructionDataArgs["root"];
269
+ dataHash: SetAndVerifyCollectionInstructionDataArgs["dataHash"];
270
+ creatorHash: SetAndVerifyCollectionInstructionDataArgs["creatorHash"];
271
+ nonce: SetAndVerifyCollectionInstructionDataArgs["nonce"];
272
+ index: SetAndVerifyCollectionInstructionDataArgs["index"];
273
+ message: SetAndVerifyCollectionInstructionDataArgs["message"];
274
+ collection: SetAndVerifyCollectionInstructionDataArgs["collection"];
275
+ }
276
+
277
+ export async function getSetAndVerifyCollectionInstructionAsync<
278
+ TAccountTreeAuthority extends string,
279
+ TAccountLeafOwner extends string,
280
+ TAccountLeafDelegate extends string,
281
+ TAccountMerkleTree extends string,
282
+ TAccountPayer extends string,
283
+ TAccountTreeDelegate extends string,
284
+ TAccountCollectionAuthority extends string,
285
+ TAccountCollectionAuthorityRecordPda extends string,
286
+ TAccountCollectionMint extends string,
287
+ TAccountCollectionMetadata extends string,
288
+ TAccountEditionAccount extends string,
289
+ TAccountBubblegumSigner extends string,
290
+ TAccountLogWrapper extends string,
291
+ TAccountCompressionProgram extends string,
292
+ TAccountTokenMetadataProgram extends string,
293
+ TAccountSystemProgram extends string,
294
+ TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
295
+ >(
296
+ input: SetAndVerifyCollectionAsyncInput<
297
+ TAccountTreeAuthority,
298
+ TAccountLeafOwner,
299
+ TAccountLeafDelegate,
300
+ TAccountMerkleTree,
301
+ TAccountPayer,
302
+ TAccountTreeDelegate,
303
+ TAccountCollectionAuthority,
304
+ TAccountCollectionAuthorityRecordPda,
305
+ TAccountCollectionMint,
306
+ TAccountCollectionMetadata,
307
+ TAccountEditionAccount,
308
+ TAccountBubblegumSigner,
309
+ TAccountLogWrapper,
310
+ TAccountCompressionProgram,
311
+ TAccountTokenMetadataProgram,
312
+ TAccountSystemProgram
313
+ >,
314
+ config?: { programAddress?: TProgramAddress },
315
+ ): Promise<
316
+ SetAndVerifyCollectionInstruction<
317
+ TProgramAddress,
318
+ TAccountTreeAuthority,
319
+ TAccountLeafOwner,
320
+ TAccountLeafDelegate,
321
+ TAccountMerkleTree,
322
+ TAccountPayer,
323
+ TAccountTreeDelegate,
324
+ TAccountCollectionAuthority,
325
+ TAccountCollectionAuthorityRecordPda,
326
+ TAccountCollectionMint,
327
+ TAccountCollectionMetadata,
328
+ TAccountEditionAccount,
329
+ TAccountBubblegumSigner,
330
+ TAccountLogWrapper,
331
+ TAccountCompressionProgram,
332
+ TAccountTokenMetadataProgram,
333
+ TAccountSystemProgram
334
+ >
335
+ > {
336
+ // Program address.
337
+ const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
338
+
339
+ // Original accounts.
340
+ const originalAccounts = {
341
+ treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
342
+ leafOwner: { value: input.leafOwner ?? null, isWritable: false },
343
+ leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
344
+ merkleTree: { value: input.merkleTree ?? null, isWritable: true },
345
+ payer: { value: input.payer ?? null, isWritable: false },
346
+ treeDelegate: { value: input.treeDelegate ?? null, isWritable: false },
347
+ collectionAuthority: {
348
+ value: input.collectionAuthority ?? null,
349
+ isWritable: false,
350
+ },
351
+ collectionAuthorityRecordPda: {
352
+ value: input.collectionAuthorityRecordPda ?? null,
353
+ isWritable: false,
354
+ },
355
+ collectionMint: { value: input.collectionMint ?? null, isWritable: false },
356
+ collectionMetadata: {
357
+ value: input.collectionMetadata ?? null,
358
+ isWritable: true,
359
+ },
360
+ editionAccount: { value: input.editionAccount ?? null, isWritable: false },
361
+ bubblegumSigner: {
362
+ value: input.bubblegumSigner ?? null,
363
+ isWritable: false,
364
+ },
365
+ logWrapper: { value: input.logWrapper ?? null, isWritable: false },
366
+ compressionProgram: {
367
+ value: input.compressionProgram ?? null,
368
+ isWritable: false,
369
+ },
370
+ tokenMetadataProgram: {
371
+ value: input.tokenMetadataProgram ?? null,
372
+ isWritable: false,
373
+ },
374
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
375
+ };
376
+ const accounts = originalAccounts as Record<
377
+ keyof typeof originalAccounts,
378
+ ResolvedInstructionAccount
379
+ >;
380
+
381
+ // Original args.
382
+ const args = { ...input };
383
+
384
+ // Resolve default values.
385
+ if (!accounts.treeAuthority.value) {
386
+ accounts.treeAuthority.value = await findTreeConfigPda({
387
+ merkleTree: getAddressFromResolvedInstructionAccount(
388
+ "merkleTree",
389
+ accounts.merkleTree.value,
390
+ ),
391
+ });
392
+ }
393
+ if (!accounts.collectionAuthorityRecordPda.value) {
394
+ accounts.collectionAuthorityRecordPda.value = programAddress;
395
+ accounts.collectionAuthorityRecordPda.isWritable = false;
396
+ }
397
+ if (!accounts.collectionMetadata.value) {
398
+ accounts.collectionMetadata.value = await findMetadataPda({
399
+ programId: address("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),
400
+ mint: getAddressFromResolvedInstructionAccount(
401
+ "collectionMint",
402
+ accounts.collectionMint.value,
403
+ ),
404
+ });
405
+ }
406
+ if (!accounts.editionAccount.value) {
407
+ accounts.editionAccount.value = await findMasterEditionPda({
408
+ programId: address("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),
409
+ mint: getAddressFromResolvedInstructionAccount(
410
+ "collectionMint",
411
+ accounts.collectionMint.value,
412
+ ),
413
+ });
414
+ }
415
+ if (!accounts.bubblegumSigner.value) {
416
+ accounts.bubblegumSigner.value = await findBubblegumSignerPda();
417
+ }
418
+ if (!accounts.logWrapper.value) {
419
+ accounts.logWrapper.value =
420
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
421
+ }
422
+ if (!accounts.compressionProgram.value) {
423
+ accounts.compressionProgram.value =
424
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
425
+ }
426
+ if (!accounts.tokenMetadataProgram.value) {
427
+ accounts.tokenMetadataProgram.value =
428
+ "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
429
+ }
430
+ if (!accounts.systemProgram.value) {
431
+ accounts.systemProgram.value =
432
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
433
+ }
434
+
435
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
436
+ return Object.freeze({
437
+ accounts: [
438
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
439
+ getAccountMeta("leafOwner", accounts.leafOwner),
440
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
441
+ getAccountMeta("merkleTree", accounts.merkleTree),
442
+ getAccountMeta("payer", accounts.payer),
443
+ getAccountMeta("treeDelegate", accounts.treeDelegate),
444
+ getAccountMeta("collectionAuthority", accounts.collectionAuthority),
445
+ getAccountMeta(
446
+ "collectionAuthorityRecordPda",
447
+ accounts.collectionAuthorityRecordPda,
448
+ ),
449
+ getAccountMeta("collectionMint", accounts.collectionMint),
450
+ getAccountMeta("collectionMetadata", accounts.collectionMetadata),
451
+ getAccountMeta("editionAccount", accounts.editionAccount),
452
+ getAccountMeta("bubblegumSigner", accounts.bubblegumSigner),
453
+ getAccountMeta("logWrapper", accounts.logWrapper),
454
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
455
+ getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
456
+ getAccountMeta("systemProgram", accounts.systemProgram),
457
+ ],
458
+ data: getSetAndVerifyCollectionInstructionDataEncoder().encode(
459
+ args as SetAndVerifyCollectionInstructionDataArgs,
460
+ ),
461
+ programAddress,
462
+ } as SetAndVerifyCollectionInstruction<
463
+ TProgramAddress,
464
+ TAccountTreeAuthority,
465
+ TAccountLeafOwner,
466
+ TAccountLeafDelegate,
467
+ TAccountMerkleTree,
468
+ TAccountPayer,
469
+ TAccountTreeDelegate,
470
+ TAccountCollectionAuthority,
471
+ TAccountCollectionAuthorityRecordPda,
472
+ TAccountCollectionMint,
473
+ TAccountCollectionMetadata,
474
+ TAccountEditionAccount,
475
+ TAccountBubblegumSigner,
476
+ TAccountLogWrapper,
477
+ TAccountCompressionProgram,
478
+ TAccountTokenMetadataProgram,
479
+ TAccountSystemProgram
480
+ >);
481
+ }
482
+
209
483
  export interface SetAndVerifyCollectionInput<
210
484
  TAccountTreeAuthority extends string = string,
211
485
  TAccountLeafOwner extends string = string,
@@ -240,13 +514,13 @@ export interface SetAndVerifyCollectionInput<
240
514
  * If there is no collecton authority record PDA then
241
515
  * this must be the Bubblegum program address.
242
516
  */
243
- collectionAuthorityRecordPda: Address<TAccountCollectionAuthorityRecordPda>;
517
+ collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
244
518
  collectionMint: Address<TAccountCollectionMint>;
245
519
  collectionMetadata: Address<TAccountCollectionMetadata>;
246
520
  editionAccount: Address<TAccountEditionAccount>;
247
521
  bubblegumSigner: Address<TAccountBubblegumSigner>;
248
- logWrapper: Address<TAccountLogWrapper>;
249
- compressionProgram: Address<TAccountCompressionProgram>;
522
+ logWrapper?: Address<TAccountLogWrapper>;
523
+ compressionProgram?: Address<TAccountCompressionProgram>;
250
524
  tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
251
525
  systemProgram?: Address<TAccountSystemProgram>;
252
526
  root: SetAndVerifyCollectionInstructionDataArgs["root"];
@@ -364,6 +638,18 @@ export function getSetAndVerifyCollectionInstruction<
364
638
  const args = { ...input };
365
639
 
366
640
  // Resolve default values.
641
+ if (!accounts.collectionAuthorityRecordPda.value) {
642
+ accounts.collectionAuthorityRecordPda.value = programAddress;
643
+ accounts.collectionAuthorityRecordPda.isWritable = false;
644
+ }
645
+ if (!accounts.logWrapper.value) {
646
+ accounts.logWrapper.value =
647
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
648
+ }
649
+ if (!accounts.compressionProgram.value) {
650
+ accounts.compressionProgram.value =
651
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
652
+ }
367
653
  if (!accounts.tokenMetadataProgram.value) {
368
654
  accounts.tokenMetadataProgram.value =
369
655
  "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;