@macalinao/clients-mpl-bubblegum 0.2.0 → 0.3.1

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 -9
  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 +154 -13
  268. package/src/generated/instructions/burnV2.ts +226 -20
  269. package/src/generated/instructions/cancelRedeem.ts +150 -13
  270. package/src/generated/instructions/closeTreeV2.ts +149 -13
  271. package/src/generated/instructions/collectV2.ts +3 -3
  272. package/src/generated/instructions/compress.ts +220 -24
  273. package/src/generated/instructions/createTree.ts +152 -13
  274. package/src/generated/instructions/createTreeV2.ts +153 -13
  275. package/src/generated/instructions/decompressV1.ts +262 -26
  276. package/src/generated/instructions/delegate.ts +169 -14
  277. package/src/generated/instructions/delegateAndFreezeV2.ts +183 -15
  278. package/src/generated/instructions/delegateV2.ts +183 -15
  279. package/src/generated/instructions/freezeV2.ts +187 -16
  280. package/src/generated/instructions/mintToCollectionV1.ts +295 -25
  281. package/src/generated/instructions/mintV1.ts +168 -15
  282. package/src/generated/instructions/mintV2.ts +231 -21
  283. package/src/generated/instructions/redeem.ts +163 -14
  284. package/src/generated/instructions/setAndVerifyCollection.ts +306 -25
  285. package/src/generated/instructions/setCollectionV2.ts +252 -23
  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 +188 -16
  289. package/src/generated/instructions/setTreeDelegate.ts +106 -9
  290. package/src/generated/instructions/thawAndRevokeV2.ts +167 -14
  291. package/src/generated/instructions/thawV2.ts +187 -16
  292. package/src/generated/instructions/transfer.ts +163 -14
  293. package/src/generated/instructions/transferV2.ts +197 -17
  294. package/src/generated/instructions/unverifyCollection.ts +305 -25
  295. package/src/generated/instructions/unverifyCreator.ts +173 -15
  296. package/src/generated/instructions/unverifyCreatorV2.ts +175 -15
  297. package/src/generated/instructions/updateAssetDataV2.ts +189 -16
  298. package/src/generated/instructions/updateMetadata.ts +232 -21
  299. package/src/generated/instructions/updateMetadataV2.ts +188 -16
  300. package/src/generated/instructions/verifyCollection.ts +305 -25
  301. package/src/generated/instructions/verifyCreator.ts +173 -15
  302. package/src/generated/instructions/verifyCreatorV2.ts +175 -15
  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,18 @@ 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,
66
- TAccountSystemProgram extends
67
- | string
68
- | AccountMeta = "11111111111111111111111111111111",
69
- TRemainingAccounts extends readonly AccountMeta[] = [],
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 string | AccountMeta<string> =
69
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV",
70
+ TAccountCompressionProgram extends string | AccountMeta<string> =
71
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK",
72
+ TAccountSystemProgram extends string | AccountMeta<string> =
73
+ "11111111111111111111111111111111",
74
+ TRemainingAccounts extends readonly AccountMeta<string>[] = [],
70
75
  > = Instruction<TProgram> &
71
76
  InstructionWithData<ReadonlyUint8Array> &
72
77
  InstructionWithAccounts<
@@ -152,6 +157,142 @@ export function getRedeemInstructionDataCodec(): FixedSizeCodec<
152
157
  );
153
158
  }
154
159
 
160
+ export interface RedeemAsyncInput<
161
+ TAccountTreeAuthority extends string = string,
162
+ TAccountLeafOwner extends string = string,
163
+ TAccountLeafDelegate extends string = string,
164
+ TAccountMerkleTree extends string = string,
165
+ TAccountVoucher extends string = string,
166
+ TAccountLogWrapper extends string = string,
167
+ TAccountCompressionProgram extends string = string,
168
+ TAccountSystemProgram extends string = string,
169
+ > {
170
+ treeAuthority?: Address<TAccountTreeAuthority>;
171
+ leafOwner: TransactionSigner<TAccountLeafOwner>;
172
+ leafDelegate: Address<TAccountLeafDelegate>;
173
+ merkleTree: Address<TAccountMerkleTree>;
174
+ voucher: Address<TAccountVoucher>;
175
+ logWrapper?: Address<TAccountLogWrapper>;
176
+ compressionProgram?: Address<TAccountCompressionProgram>;
177
+ systemProgram?: Address<TAccountSystemProgram>;
178
+ root: RedeemInstructionDataArgs["root"];
179
+ dataHash: RedeemInstructionDataArgs["dataHash"];
180
+ creatorHash: RedeemInstructionDataArgs["creatorHash"];
181
+ nonce: RedeemInstructionDataArgs["nonce"];
182
+ index: RedeemInstructionDataArgs["index"];
183
+ }
184
+
185
+ export async function getRedeemInstructionAsync<
186
+ TAccountTreeAuthority extends string,
187
+ TAccountLeafOwner extends string,
188
+ TAccountLeafDelegate extends string,
189
+ TAccountMerkleTree extends string,
190
+ TAccountVoucher extends string,
191
+ TAccountLogWrapper extends string,
192
+ TAccountCompressionProgram extends string,
193
+ TAccountSystemProgram extends string,
194
+ TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
195
+ >(
196
+ input: RedeemAsyncInput<
197
+ TAccountTreeAuthority,
198
+ TAccountLeafOwner,
199
+ TAccountLeafDelegate,
200
+ TAccountMerkleTree,
201
+ TAccountVoucher,
202
+ TAccountLogWrapper,
203
+ TAccountCompressionProgram,
204
+ TAccountSystemProgram
205
+ >,
206
+ config?: { programAddress?: TProgramAddress },
207
+ ): Promise<
208
+ RedeemInstruction<
209
+ TProgramAddress,
210
+ TAccountTreeAuthority,
211
+ TAccountLeafOwner,
212
+ TAccountLeafDelegate,
213
+ TAccountMerkleTree,
214
+ TAccountVoucher,
215
+ TAccountLogWrapper,
216
+ TAccountCompressionProgram,
217
+ TAccountSystemProgram
218
+ >
219
+ > {
220
+ // Program address.
221
+ const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
222
+
223
+ // Original accounts.
224
+ const originalAccounts = {
225
+ treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
226
+ leafOwner: { value: input.leafOwner ?? null, isWritable: true },
227
+ leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
228
+ merkleTree: { value: input.merkleTree ?? null, isWritable: true },
229
+ voucher: { value: input.voucher ?? null, isWritable: true },
230
+ logWrapper: { value: input.logWrapper ?? null, isWritable: false },
231
+ compressionProgram: {
232
+ value: input.compressionProgram ?? null,
233
+ isWritable: false,
234
+ },
235
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
236
+ };
237
+ const accounts = originalAccounts as Record<
238
+ keyof typeof originalAccounts,
239
+ ResolvedInstructionAccount
240
+ >;
241
+
242
+ // Original args.
243
+ const args = { ...input };
244
+
245
+ // Resolve default values.
246
+ if (!accounts.treeAuthority.value) {
247
+ accounts.treeAuthority.value = await findTreeConfigPda({
248
+ merkleTree: getAddressFromResolvedInstructionAccount(
249
+ "merkleTree",
250
+ accounts.merkleTree.value,
251
+ ),
252
+ });
253
+ }
254
+ if (!accounts.logWrapper.value) {
255
+ accounts.logWrapper.value =
256
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
257
+ }
258
+ if (!accounts.compressionProgram.value) {
259
+ accounts.compressionProgram.value =
260
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
261
+ }
262
+ if (!accounts.systemProgram.value) {
263
+ accounts.systemProgram.value =
264
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
265
+ }
266
+
267
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
268
+ return Object.freeze({
269
+ accounts: [
270
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
271
+ getAccountMeta("leafOwner", accounts.leafOwner),
272
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
273
+ getAccountMeta("merkleTree", accounts.merkleTree),
274
+ getAccountMeta("voucher", accounts.voucher),
275
+ getAccountMeta("logWrapper", accounts.logWrapper),
276
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
277
+ getAccountMeta("systemProgram", accounts.systemProgram),
278
+ ],
279
+ data: getRedeemInstructionDataEncoder().encode(
280
+ args as RedeemInstructionDataArgs,
281
+ ),
282
+ programAddress,
283
+ } as RedeemInstruction<
284
+ TProgramAddress,
285
+ TAccountTreeAuthority,
286
+ TAccountLeafOwner,
287
+ TAccountLeafDelegate,
288
+ TAccountMerkleTree,
289
+ TAccountVoucher,
290
+ TAccountLogWrapper,
291
+ TAccountCompressionProgram,
292
+ TAccountSystemProgram
293
+ >);
294
+ }
295
+
155
296
  export interface RedeemInput<
156
297
  TAccountTreeAuthority extends string = string,
157
298
  TAccountLeafOwner extends string = string,
@@ -167,8 +308,8 @@ export interface RedeemInput<
167
308
  leafDelegate: Address<TAccountLeafDelegate>;
168
309
  merkleTree: Address<TAccountMerkleTree>;
169
310
  voucher: Address<TAccountVoucher>;
170
- logWrapper: Address<TAccountLogWrapper>;
171
- compressionProgram: Address<TAccountCompressionProgram>;
311
+ logWrapper?: Address<TAccountLogWrapper>;
312
+ compressionProgram?: Address<TAccountCompressionProgram>;
172
313
  systemProgram?: Address<TAccountSystemProgram>;
173
314
  root: RedeemInstructionDataArgs["root"];
174
315
  dataHash: RedeemInstructionDataArgs["dataHash"];
@@ -236,6 +377,14 @@ export function getRedeemInstruction<
236
377
  const args = { ...input };
237
378
 
238
379
  // Resolve default values.
380
+ if (!accounts.logWrapper.value) {
381
+ accounts.logWrapper.value =
382
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
383
+ }
384
+ if (!accounts.compressionProgram.value) {
385
+ accounts.compressionProgram.value =
386
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
387
+ }
239
388
  if (!accounts.systemProgram.value) {
240
389
  accounts.systemProgram.value =
241
390
  "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,28 @@ 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,
81
- TAccountTokenMetadataProgram extends
82
- | string
83
- | AccountMeta = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
84
- TAccountSystemProgram extends
85
- | string
86
- | AccountMeta = "11111111111111111111111111111111",
87
- TRemainingAccounts extends readonly AccountMeta[] = [],
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 string | AccountMeta<string> =
85
+ "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY",
86
+ TAccountCollectionMint extends string | AccountMeta<string> = string,
87
+ TAccountCollectionMetadata extends string | AccountMeta<string> = string,
88
+ TAccountEditionAccount extends string | AccountMeta<string> = string,
89
+ TAccountBubblegumSigner extends string | AccountMeta<string> = string,
90
+ TAccountLogWrapper extends string | AccountMeta<string> =
91
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV",
92
+ TAccountCompressionProgram extends string | AccountMeta<string> =
93
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK",
94
+ TAccountTokenMetadataProgram extends string | AccountMeta<string> =
95
+ "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
96
+ TAccountSystemProgram extends string | AccountMeta<string> =
97
+ "11111111111111111111111111111111",
98
+ TRemainingAccounts extends readonly AccountMeta<string>[] = [],
88
99
  > = Instruction<TProgram> &
89
100
  InstructionWithData<ReadonlyUint8Array> &
90
101
  InstructionWithAccounts<
@@ -206,6 +217,264 @@ export function getSetAndVerifyCollectionInstructionDataCodec(): Codec<
206
217
  );
207
218
  }
208
219
 
220
+ export interface SetAndVerifyCollectionAsyncInput<
221
+ TAccountTreeAuthority extends string = string,
222
+ TAccountLeafOwner extends string = string,
223
+ TAccountLeafDelegate extends string = string,
224
+ TAccountMerkleTree extends string = string,
225
+ TAccountPayer extends string = string,
226
+ TAccountTreeDelegate extends string = string,
227
+ TAccountCollectionAuthority extends string = string,
228
+ TAccountCollectionAuthorityRecordPda extends string = string,
229
+ TAccountCollectionMint extends string = string,
230
+ TAccountCollectionMetadata extends string = string,
231
+ TAccountEditionAccount extends string = string,
232
+ TAccountBubblegumSigner extends string = string,
233
+ TAccountLogWrapper extends string = string,
234
+ TAccountCompressionProgram extends string = string,
235
+ TAccountTokenMetadataProgram extends string = string,
236
+ TAccountSystemProgram extends string = string,
237
+ > {
238
+ treeAuthority?: Address<TAccountTreeAuthority>;
239
+ leafOwner: Address<TAccountLeafOwner>;
240
+ leafDelegate: Address<TAccountLeafDelegate>;
241
+ merkleTree: Address<TAccountMerkleTree>;
242
+ payer: TransactionSigner<TAccountPayer>;
243
+ /**
244
+ * This account is checked to be a signer in
245
+ * the case of `set_and_verify_collection` where
246
+ * we are actually changing the NFT metadata.
247
+ */
248
+ treeDelegate: Address<TAccountTreeDelegate>;
249
+ collectionAuthority: TransactionSigner<TAccountCollectionAuthority>;
250
+ /**
251
+ * If there is no collecton authority record PDA then
252
+ * this must be the Bubblegum program address.
253
+ */
254
+ collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
255
+ collectionMint: Address<TAccountCollectionMint>;
256
+ collectionMetadata?: Address<TAccountCollectionMetadata>;
257
+ editionAccount?: Address<TAccountEditionAccount>;
258
+ bubblegumSigner?: Address<TAccountBubblegumSigner>;
259
+ logWrapper?: Address<TAccountLogWrapper>;
260
+ compressionProgram?: Address<TAccountCompressionProgram>;
261
+ tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
262
+ systemProgram?: Address<TAccountSystemProgram>;
263
+ root: SetAndVerifyCollectionInstructionDataArgs["root"];
264
+ dataHash: SetAndVerifyCollectionInstructionDataArgs["dataHash"];
265
+ creatorHash: SetAndVerifyCollectionInstructionDataArgs["creatorHash"];
266
+ nonce: SetAndVerifyCollectionInstructionDataArgs["nonce"];
267
+ index: SetAndVerifyCollectionInstructionDataArgs["index"];
268
+ message: SetAndVerifyCollectionInstructionDataArgs["message"];
269
+ collection: SetAndVerifyCollectionInstructionDataArgs["collection"];
270
+ }
271
+
272
+ export async function getSetAndVerifyCollectionInstructionAsync<
273
+ TAccountTreeAuthority extends string,
274
+ TAccountLeafOwner extends string,
275
+ TAccountLeafDelegate extends string,
276
+ TAccountMerkleTree extends string,
277
+ TAccountPayer extends string,
278
+ TAccountTreeDelegate extends string,
279
+ TAccountCollectionAuthority extends string,
280
+ TAccountCollectionAuthorityRecordPda extends string,
281
+ TAccountCollectionMint extends string,
282
+ TAccountCollectionMetadata extends string,
283
+ TAccountEditionAccount extends string,
284
+ TAccountBubblegumSigner extends string,
285
+ TAccountLogWrapper extends string,
286
+ TAccountCompressionProgram extends string,
287
+ TAccountTokenMetadataProgram extends string,
288
+ TAccountSystemProgram extends string,
289
+ TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
290
+ >(
291
+ input: SetAndVerifyCollectionAsyncInput<
292
+ TAccountTreeAuthority,
293
+ TAccountLeafOwner,
294
+ TAccountLeafDelegate,
295
+ TAccountMerkleTree,
296
+ TAccountPayer,
297
+ TAccountTreeDelegate,
298
+ TAccountCollectionAuthority,
299
+ TAccountCollectionAuthorityRecordPda,
300
+ TAccountCollectionMint,
301
+ TAccountCollectionMetadata,
302
+ TAccountEditionAccount,
303
+ TAccountBubblegumSigner,
304
+ TAccountLogWrapper,
305
+ TAccountCompressionProgram,
306
+ TAccountTokenMetadataProgram,
307
+ TAccountSystemProgram
308
+ >,
309
+ config?: { programAddress?: TProgramAddress },
310
+ ): Promise<
311
+ SetAndVerifyCollectionInstruction<
312
+ TProgramAddress,
313
+ TAccountTreeAuthority,
314
+ TAccountLeafOwner,
315
+ TAccountLeafDelegate,
316
+ TAccountMerkleTree,
317
+ TAccountPayer,
318
+ TAccountTreeDelegate,
319
+ TAccountCollectionAuthority,
320
+ TAccountCollectionAuthorityRecordPda,
321
+ TAccountCollectionMint,
322
+ TAccountCollectionMetadata,
323
+ TAccountEditionAccount,
324
+ TAccountBubblegumSigner,
325
+ TAccountLogWrapper,
326
+ TAccountCompressionProgram,
327
+ TAccountTokenMetadataProgram,
328
+ TAccountSystemProgram
329
+ >
330
+ > {
331
+ // Program address.
332
+ const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
333
+
334
+ // Original accounts.
335
+ const originalAccounts = {
336
+ treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
337
+ leafOwner: { value: input.leafOwner ?? null, isWritable: false },
338
+ leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
339
+ merkleTree: { value: input.merkleTree ?? null, isWritable: true },
340
+ payer: { value: input.payer ?? null, isWritable: false },
341
+ treeDelegate: { value: input.treeDelegate ?? null, isWritable: false },
342
+ collectionAuthority: {
343
+ value: input.collectionAuthority ?? null,
344
+ isWritable: false,
345
+ },
346
+ collectionAuthorityRecordPda: {
347
+ value: input.collectionAuthorityRecordPda ?? null,
348
+ isWritable: false,
349
+ },
350
+ collectionMint: { value: input.collectionMint ?? null, isWritable: false },
351
+ collectionMetadata: {
352
+ value: input.collectionMetadata ?? null,
353
+ isWritable: true,
354
+ },
355
+ editionAccount: { value: input.editionAccount ?? null, isWritable: false },
356
+ bubblegumSigner: {
357
+ value: input.bubblegumSigner ?? null,
358
+ isWritable: false,
359
+ },
360
+ logWrapper: { value: input.logWrapper ?? null, isWritable: false },
361
+ compressionProgram: {
362
+ value: input.compressionProgram ?? null,
363
+ isWritable: false,
364
+ },
365
+ tokenMetadataProgram: {
366
+ value: input.tokenMetadataProgram ?? null,
367
+ isWritable: false,
368
+ },
369
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
370
+ };
371
+ const accounts = originalAccounts as Record<
372
+ keyof typeof originalAccounts,
373
+ ResolvedInstructionAccount
374
+ >;
375
+
376
+ // Original args.
377
+ const args = { ...input };
378
+
379
+ // Resolve default values.
380
+ if (!accounts.treeAuthority.value) {
381
+ accounts.treeAuthority.value = await findTreeConfigPda({
382
+ merkleTree: getAddressFromResolvedInstructionAccount(
383
+ "merkleTree",
384
+ accounts.merkleTree.value,
385
+ ),
386
+ });
387
+ }
388
+ if (!accounts.collectionAuthorityRecordPda.value) {
389
+ accounts.collectionAuthorityRecordPda.value = programAddress;
390
+ accounts.collectionAuthorityRecordPda.isWritable = false;
391
+ }
392
+ if (!accounts.collectionMetadata.value) {
393
+ accounts.collectionMetadata.value = await findMetadataPda({
394
+ programId: address("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),
395
+ mint: getAddressFromResolvedInstructionAccount(
396
+ "collectionMint",
397
+ accounts.collectionMint.value,
398
+ ),
399
+ });
400
+ }
401
+ if (!accounts.editionAccount.value) {
402
+ accounts.editionAccount.value = await findMasterEditionPda({
403
+ programId: address("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),
404
+ mint: getAddressFromResolvedInstructionAccount(
405
+ "collectionMint",
406
+ accounts.collectionMint.value,
407
+ ),
408
+ });
409
+ }
410
+ if (!accounts.bubblegumSigner.value) {
411
+ accounts.bubblegumSigner.value = await findBubblegumSignerPda();
412
+ }
413
+ if (!accounts.logWrapper.value) {
414
+ accounts.logWrapper.value =
415
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
416
+ }
417
+ if (!accounts.compressionProgram.value) {
418
+ accounts.compressionProgram.value =
419
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
420
+ }
421
+ if (!accounts.tokenMetadataProgram.value) {
422
+ accounts.tokenMetadataProgram.value =
423
+ "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
424
+ }
425
+ if (!accounts.systemProgram.value) {
426
+ accounts.systemProgram.value =
427
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
428
+ }
429
+
430
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
431
+ return Object.freeze({
432
+ accounts: [
433
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
434
+ getAccountMeta("leafOwner", accounts.leafOwner),
435
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
436
+ getAccountMeta("merkleTree", accounts.merkleTree),
437
+ getAccountMeta("payer", accounts.payer),
438
+ getAccountMeta("treeDelegate", accounts.treeDelegate),
439
+ getAccountMeta("collectionAuthority", accounts.collectionAuthority),
440
+ getAccountMeta(
441
+ "collectionAuthorityRecordPda",
442
+ accounts.collectionAuthorityRecordPda,
443
+ ),
444
+ getAccountMeta("collectionMint", accounts.collectionMint),
445
+ getAccountMeta("collectionMetadata", accounts.collectionMetadata),
446
+ getAccountMeta("editionAccount", accounts.editionAccount),
447
+ getAccountMeta("bubblegumSigner", accounts.bubblegumSigner),
448
+ getAccountMeta("logWrapper", accounts.logWrapper),
449
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
450
+ getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
451
+ getAccountMeta("systemProgram", accounts.systemProgram),
452
+ ],
453
+ data: getSetAndVerifyCollectionInstructionDataEncoder().encode(
454
+ args as SetAndVerifyCollectionInstructionDataArgs,
455
+ ),
456
+ programAddress,
457
+ } as SetAndVerifyCollectionInstruction<
458
+ TProgramAddress,
459
+ TAccountTreeAuthority,
460
+ TAccountLeafOwner,
461
+ TAccountLeafDelegate,
462
+ TAccountMerkleTree,
463
+ TAccountPayer,
464
+ TAccountTreeDelegate,
465
+ TAccountCollectionAuthority,
466
+ TAccountCollectionAuthorityRecordPda,
467
+ TAccountCollectionMint,
468
+ TAccountCollectionMetadata,
469
+ TAccountEditionAccount,
470
+ TAccountBubblegumSigner,
471
+ TAccountLogWrapper,
472
+ TAccountCompressionProgram,
473
+ TAccountTokenMetadataProgram,
474
+ TAccountSystemProgram
475
+ >);
476
+ }
477
+
209
478
  export interface SetAndVerifyCollectionInput<
210
479
  TAccountTreeAuthority extends string = string,
211
480
  TAccountLeafOwner extends string = string,
@@ -240,13 +509,13 @@ export interface SetAndVerifyCollectionInput<
240
509
  * If there is no collecton authority record PDA then
241
510
  * this must be the Bubblegum program address.
242
511
  */
243
- collectionAuthorityRecordPda: Address<TAccountCollectionAuthorityRecordPda>;
512
+ collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
244
513
  collectionMint: Address<TAccountCollectionMint>;
245
514
  collectionMetadata: Address<TAccountCollectionMetadata>;
246
515
  editionAccount: Address<TAccountEditionAccount>;
247
516
  bubblegumSigner: Address<TAccountBubblegumSigner>;
248
- logWrapper: Address<TAccountLogWrapper>;
249
- compressionProgram: Address<TAccountCompressionProgram>;
517
+ logWrapper?: Address<TAccountLogWrapper>;
518
+ compressionProgram?: Address<TAccountCompressionProgram>;
250
519
  tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
251
520
  systemProgram?: Address<TAccountSystemProgram>;
252
521
  root: SetAndVerifyCollectionInstructionDataArgs["root"];
@@ -364,6 +633,18 @@ export function getSetAndVerifyCollectionInstruction<
364
633
  const args = { ...input };
365
634
 
366
635
  // Resolve default values.
636
+ if (!accounts.collectionAuthorityRecordPda.value) {
637
+ accounts.collectionAuthorityRecordPda.value = programAddress;
638
+ accounts.collectionAuthorityRecordPda.isWritable = false;
639
+ }
640
+ if (!accounts.logWrapper.value) {
641
+ accounts.logWrapper.value =
642
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
643
+ }
644
+ if (!accounts.compressionProgram.value) {
645
+ accounts.compressionProgram.value =
646
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
647
+ }
367
648
  if (!accounts.tokenMetadataProgram.value) {
368
649
  accounts.tokenMetadataProgram.value =
369
650
  "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;