@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
@@ -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,
@@ -44,7 +45,16 @@ import {
44
45
  SolanaError,
45
46
  transformEncoder,
46
47
  } from "@solana/kit";
47
- import { getAccountMetaFactory } from "@solana/program-client-core";
48
+ import {
49
+ getAccountMetaFactory,
50
+ getAddressFromResolvedInstructionAccount,
51
+ } from "@solana/program-client-core";
52
+ import {
53
+ findBubblegumSignerPda,
54
+ findMasterEditionPda,
55
+ findMetadataPda,
56
+ findTreeConfigPda,
57
+ } from "../pdas/index.js";
48
58
  import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
49
59
  import {
50
60
  getMetadataArgsDecoder,
@@ -62,27 +72,33 @@ export function getUnverifyCollectionDiscriminatorBytes(): ReadonlyUint8Array {
62
72
 
63
73
  export type UnverifyCollectionInstruction<
64
74
  TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
65
- TAccountTreeAuthority extends string | AccountMeta = string,
66
- TAccountLeafOwner extends string | AccountMeta = string,
67
- TAccountLeafDelegate extends string | AccountMeta = string,
68
- TAccountMerkleTree extends string | AccountMeta = string,
69
- TAccountPayer extends string | AccountMeta = string,
70
- TAccountTreeDelegate extends string | AccountMeta = string,
71
- TAccountCollectionAuthority extends string | AccountMeta = string,
72
- TAccountCollectionAuthorityRecordPda extends string | AccountMeta = string,
73
- TAccountCollectionMint extends string | AccountMeta = string,
74
- TAccountCollectionMetadata extends string | AccountMeta = string,
75
- TAccountEditionAccount extends string | AccountMeta = string,
76
- TAccountBubblegumSigner extends string | AccountMeta = string,
77
- TAccountLogWrapper extends string | AccountMeta = string,
78
- TAccountCompressionProgram extends string | AccountMeta = string,
75
+ TAccountTreeAuthority extends string | AccountMeta<string> = string,
76
+ TAccountLeafOwner extends string | AccountMeta<string> = string,
77
+ TAccountLeafDelegate extends string | AccountMeta<string> = string,
78
+ TAccountMerkleTree extends string | AccountMeta<string> = string,
79
+ TAccountPayer extends string | AccountMeta<string> = string,
80
+ TAccountTreeDelegate extends string | AccountMeta<string> = string,
81
+ TAccountCollectionAuthority extends string | AccountMeta<string> = string,
82
+ TAccountCollectionAuthorityRecordPda extends
83
+ | string
84
+ | AccountMeta<string> = "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY",
85
+ TAccountCollectionMint extends string | AccountMeta<string> = string,
86
+ TAccountCollectionMetadata extends string | AccountMeta<string> = string,
87
+ TAccountEditionAccount extends string | AccountMeta<string> = string,
88
+ TAccountBubblegumSigner extends string | AccountMeta<string> = string,
89
+ TAccountLogWrapper extends
90
+ | string
91
+ | AccountMeta<string> = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV",
92
+ TAccountCompressionProgram extends
93
+ | string
94
+ | AccountMeta<string> = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK",
79
95
  TAccountTokenMetadataProgram extends
80
96
  | string
81
- | AccountMeta = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
97
+ | AccountMeta<string> = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
82
98
  TAccountSystemProgram extends
83
99
  | string
84
- | AccountMeta = "11111111111111111111111111111111",
85
- TRemainingAccounts extends readonly AccountMeta[] = [],
100
+ | AccountMeta<string> = "11111111111111111111111111111111",
101
+ TRemainingAccounts extends readonly AccountMeta<string>[] = [],
86
102
  > = Instruction<TProgram> &
87
103
  InstructionWithData<ReadonlyUint8Array> &
88
104
  InstructionWithAccounts<
@@ -197,6 +213,263 @@ export function getUnverifyCollectionInstructionDataCodec(): Codec<
197
213
  );
198
214
  }
199
215
 
216
+ export interface UnverifyCollectionAsyncInput<
217
+ TAccountTreeAuthority extends string = string,
218
+ TAccountLeafOwner extends string = string,
219
+ TAccountLeafDelegate extends string = string,
220
+ TAccountMerkleTree extends string = string,
221
+ TAccountPayer extends string = string,
222
+ TAccountTreeDelegate extends string = string,
223
+ TAccountCollectionAuthority extends string = string,
224
+ TAccountCollectionAuthorityRecordPda extends string = string,
225
+ TAccountCollectionMint extends string = string,
226
+ TAccountCollectionMetadata extends string = string,
227
+ TAccountEditionAccount extends string = string,
228
+ TAccountBubblegumSigner extends string = string,
229
+ TAccountLogWrapper extends string = string,
230
+ TAccountCompressionProgram extends string = string,
231
+ TAccountTokenMetadataProgram extends string = string,
232
+ TAccountSystemProgram extends string = string,
233
+ > {
234
+ treeAuthority?: Address<TAccountTreeAuthority>;
235
+ leafOwner: Address<TAccountLeafOwner>;
236
+ leafDelegate: Address<TAccountLeafDelegate>;
237
+ merkleTree: Address<TAccountMerkleTree>;
238
+ payer: TransactionSigner<TAccountPayer>;
239
+ /**
240
+ * This account is checked to be a signer in
241
+ * the case of `set_and_verify_collection` where
242
+ * we are actually changing the NFT metadata.
243
+ */
244
+ treeDelegate: Address<TAccountTreeDelegate>;
245
+ collectionAuthority: TransactionSigner<TAccountCollectionAuthority>;
246
+ /**
247
+ * If there is no collecton authority record PDA then
248
+ * this must be the Bubblegum program address.
249
+ */
250
+ collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
251
+ collectionMint: Address<TAccountCollectionMint>;
252
+ collectionMetadata?: Address<TAccountCollectionMetadata>;
253
+ editionAccount?: Address<TAccountEditionAccount>;
254
+ bubblegumSigner?: Address<TAccountBubblegumSigner>;
255
+ logWrapper?: Address<TAccountLogWrapper>;
256
+ compressionProgram?: Address<TAccountCompressionProgram>;
257
+ tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
258
+ systemProgram?: Address<TAccountSystemProgram>;
259
+ root: UnverifyCollectionInstructionDataArgs["root"];
260
+ dataHash: UnverifyCollectionInstructionDataArgs["dataHash"];
261
+ creatorHash: UnverifyCollectionInstructionDataArgs["creatorHash"];
262
+ nonce: UnverifyCollectionInstructionDataArgs["nonce"];
263
+ index: UnverifyCollectionInstructionDataArgs["index"];
264
+ message: UnverifyCollectionInstructionDataArgs["message"];
265
+ }
266
+
267
+ export async function getUnverifyCollectionInstructionAsync<
268
+ TAccountTreeAuthority extends string,
269
+ TAccountLeafOwner extends string,
270
+ TAccountLeafDelegate extends string,
271
+ TAccountMerkleTree extends string,
272
+ TAccountPayer extends string,
273
+ TAccountTreeDelegate extends string,
274
+ TAccountCollectionAuthority extends string,
275
+ TAccountCollectionAuthorityRecordPda extends string,
276
+ TAccountCollectionMint extends string,
277
+ TAccountCollectionMetadata extends string,
278
+ TAccountEditionAccount extends string,
279
+ TAccountBubblegumSigner extends string,
280
+ TAccountLogWrapper extends string,
281
+ TAccountCompressionProgram extends string,
282
+ TAccountTokenMetadataProgram extends string,
283
+ TAccountSystemProgram extends string,
284
+ TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
285
+ >(
286
+ input: UnverifyCollectionAsyncInput<
287
+ TAccountTreeAuthority,
288
+ TAccountLeafOwner,
289
+ TAccountLeafDelegate,
290
+ TAccountMerkleTree,
291
+ TAccountPayer,
292
+ TAccountTreeDelegate,
293
+ TAccountCollectionAuthority,
294
+ TAccountCollectionAuthorityRecordPda,
295
+ TAccountCollectionMint,
296
+ TAccountCollectionMetadata,
297
+ TAccountEditionAccount,
298
+ TAccountBubblegumSigner,
299
+ TAccountLogWrapper,
300
+ TAccountCompressionProgram,
301
+ TAccountTokenMetadataProgram,
302
+ TAccountSystemProgram
303
+ >,
304
+ config?: { programAddress?: TProgramAddress },
305
+ ): Promise<
306
+ UnverifyCollectionInstruction<
307
+ TProgramAddress,
308
+ TAccountTreeAuthority,
309
+ TAccountLeafOwner,
310
+ TAccountLeafDelegate,
311
+ TAccountMerkleTree,
312
+ TAccountPayer,
313
+ TAccountTreeDelegate,
314
+ TAccountCollectionAuthority,
315
+ TAccountCollectionAuthorityRecordPda,
316
+ TAccountCollectionMint,
317
+ TAccountCollectionMetadata,
318
+ TAccountEditionAccount,
319
+ TAccountBubblegumSigner,
320
+ TAccountLogWrapper,
321
+ TAccountCompressionProgram,
322
+ TAccountTokenMetadataProgram,
323
+ TAccountSystemProgram
324
+ >
325
+ > {
326
+ // Program address.
327
+ const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
328
+
329
+ // Original accounts.
330
+ const originalAccounts = {
331
+ treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
332
+ leafOwner: { value: input.leafOwner ?? null, isWritable: false },
333
+ leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
334
+ merkleTree: { value: input.merkleTree ?? null, isWritable: true },
335
+ payer: { value: input.payer ?? null, isWritable: false },
336
+ treeDelegate: { value: input.treeDelegate ?? null, isWritable: false },
337
+ collectionAuthority: {
338
+ value: input.collectionAuthority ?? null,
339
+ isWritable: false,
340
+ },
341
+ collectionAuthorityRecordPda: {
342
+ value: input.collectionAuthorityRecordPda ?? null,
343
+ isWritable: false,
344
+ },
345
+ collectionMint: { value: input.collectionMint ?? null, isWritable: false },
346
+ collectionMetadata: {
347
+ value: input.collectionMetadata ?? null,
348
+ isWritable: true,
349
+ },
350
+ editionAccount: { value: input.editionAccount ?? null, isWritable: false },
351
+ bubblegumSigner: {
352
+ value: input.bubblegumSigner ?? null,
353
+ isWritable: false,
354
+ },
355
+ logWrapper: { value: input.logWrapper ?? null, isWritable: false },
356
+ compressionProgram: {
357
+ value: input.compressionProgram ?? null,
358
+ isWritable: false,
359
+ },
360
+ tokenMetadataProgram: {
361
+ value: input.tokenMetadataProgram ?? null,
362
+ isWritable: false,
363
+ },
364
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
365
+ };
366
+ const accounts = originalAccounts as Record<
367
+ keyof typeof originalAccounts,
368
+ ResolvedInstructionAccount
369
+ >;
370
+
371
+ // Original args.
372
+ const args = { ...input };
373
+
374
+ // Resolve default values.
375
+ if (!accounts.treeAuthority.value) {
376
+ accounts.treeAuthority.value = await findTreeConfigPda({
377
+ merkleTree: getAddressFromResolvedInstructionAccount(
378
+ "merkleTree",
379
+ accounts.merkleTree.value,
380
+ ),
381
+ });
382
+ }
383
+ if (!accounts.collectionAuthorityRecordPda.value) {
384
+ accounts.collectionAuthorityRecordPda.value = programAddress;
385
+ accounts.collectionAuthorityRecordPda.isWritable = false;
386
+ }
387
+ if (!accounts.collectionMetadata.value) {
388
+ accounts.collectionMetadata.value = await findMetadataPda({
389
+ programId: address("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),
390
+ mint: getAddressFromResolvedInstructionAccount(
391
+ "collectionMint",
392
+ accounts.collectionMint.value,
393
+ ),
394
+ });
395
+ }
396
+ if (!accounts.editionAccount.value) {
397
+ accounts.editionAccount.value = await findMasterEditionPda({
398
+ programId: address("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),
399
+ mint: getAddressFromResolvedInstructionAccount(
400
+ "collectionMint",
401
+ accounts.collectionMint.value,
402
+ ),
403
+ });
404
+ }
405
+ if (!accounts.bubblegumSigner.value) {
406
+ accounts.bubblegumSigner.value = await findBubblegumSignerPda();
407
+ }
408
+ if (!accounts.logWrapper.value) {
409
+ accounts.logWrapper.value =
410
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
411
+ }
412
+ if (!accounts.compressionProgram.value) {
413
+ accounts.compressionProgram.value =
414
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
415
+ }
416
+ if (!accounts.tokenMetadataProgram.value) {
417
+ accounts.tokenMetadataProgram.value =
418
+ "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
419
+ }
420
+ if (!accounts.systemProgram.value) {
421
+ accounts.systemProgram.value =
422
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
423
+ }
424
+
425
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
426
+ return Object.freeze({
427
+ accounts: [
428
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
429
+ getAccountMeta("leafOwner", accounts.leafOwner),
430
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
431
+ getAccountMeta("merkleTree", accounts.merkleTree),
432
+ getAccountMeta("payer", accounts.payer),
433
+ getAccountMeta("treeDelegate", accounts.treeDelegate),
434
+ getAccountMeta("collectionAuthority", accounts.collectionAuthority),
435
+ getAccountMeta(
436
+ "collectionAuthorityRecordPda",
437
+ accounts.collectionAuthorityRecordPda,
438
+ ),
439
+ getAccountMeta("collectionMint", accounts.collectionMint),
440
+ getAccountMeta("collectionMetadata", accounts.collectionMetadata),
441
+ getAccountMeta("editionAccount", accounts.editionAccount),
442
+ getAccountMeta("bubblegumSigner", accounts.bubblegumSigner),
443
+ getAccountMeta("logWrapper", accounts.logWrapper),
444
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
445
+ getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
446
+ getAccountMeta("systemProgram", accounts.systemProgram),
447
+ ],
448
+ data: getUnverifyCollectionInstructionDataEncoder().encode(
449
+ args as UnverifyCollectionInstructionDataArgs,
450
+ ),
451
+ programAddress,
452
+ } as UnverifyCollectionInstruction<
453
+ TProgramAddress,
454
+ TAccountTreeAuthority,
455
+ TAccountLeafOwner,
456
+ TAccountLeafDelegate,
457
+ TAccountMerkleTree,
458
+ TAccountPayer,
459
+ TAccountTreeDelegate,
460
+ TAccountCollectionAuthority,
461
+ TAccountCollectionAuthorityRecordPda,
462
+ TAccountCollectionMint,
463
+ TAccountCollectionMetadata,
464
+ TAccountEditionAccount,
465
+ TAccountBubblegumSigner,
466
+ TAccountLogWrapper,
467
+ TAccountCompressionProgram,
468
+ TAccountTokenMetadataProgram,
469
+ TAccountSystemProgram
470
+ >);
471
+ }
472
+
200
473
  export interface UnverifyCollectionInput<
201
474
  TAccountTreeAuthority extends string = string,
202
475
  TAccountLeafOwner extends string = string,
@@ -231,13 +504,13 @@ export interface UnverifyCollectionInput<
231
504
  * If there is no collecton authority record PDA then
232
505
  * this must be the Bubblegum program address.
233
506
  */
234
- collectionAuthorityRecordPda: Address<TAccountCollectionAuthorityRecordPda>;
507
+ collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
235
508
  collectionMint: Address<TAccountCollectionMint>;
236
509
  collectionMetadata: Address<TAccountCollectionMetadata>;
237
510
  editionAccount: Address<TAccountEditionAccount>;
238
511
  bubblegumSigner: Address<TAccountBubblegumSigner>;
239
- logWrapper: Address<TAccountLogWrapper>;
240
- compressionProgram: Address<TAccountCompressionProgram>;
512
+ logWrapper?: Address<TAccountLogWrapper>;
513
+ compressionProgram?: Address<TAccountCompressionProgram>;
241
514
  tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
242
515
  systemProgram?: Address<TAccountSystemProgram>;
243
516
  root: UnverifyCollectionInstructionDataArgs["root"];
@@ -354,6 +627,18 @@ export function getUnverifyCollectionInstruction<
354
627
  const args = { ...input };
355
628
 
356
629
  // Resolve default values.
630
+ if (!accounts.collectionAuthorityRecordPda.value) {
631
+ accounts.collectionAuthorityRecordPda.value = programAddress;
632
+ accounts.collectionAuthorityRecordPda.isWritable = false;
633
+ }
634
+ if (!accounts.logWrapper.value) {
635
+ accounts.logWrapper.value =
636
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
637
+ }
638
+ if (!accounts.compressionProgram.value) {
639
+ accounts.compressionProgram.value =
640
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
641
+ }
357
642
  if (!accounts.tokenMetadataProgram.value) {
358
643
  accounts.tokenMetadataProgram.value =
359
644
  "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
@@ -44,7 +44,11 @@ import {
44
44
  SolanaError,
45
45
  transformEncoder,
46
46
  } from "@solana/kit";
47
- import { getAccountMetaFactory } from "@solana/program-client-core";
47
+ import {
48
+ getAccountMetaFactory,
49
+ getAddressFromResolvedInstructionAccount,
50
+ } from "@solana/program-client-core";
51
+ import { findTreeConfigPda } from "../pdas/index.js";
48
52
  import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
49
53
  import {
50
54
  getMetadataArgsDecoder,
@@ -62,18 +66,22 @@ export function getUnverifyCreatorDiscriminatorBytes(): ReadonlyUint8Array {
62
66
 
63
67
  export type UnverifyCreatorInstruction<
64
68
  TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
65
- TAccountTreeAuthority extends string | AccountMeta = string,
66
- TAccountLeafOwner extends string | AccountMeta = string,
67
- TAccountLeafDelegate extends string | AccountMeta = string,
68
- TAccountMerkleTree extends string | AccountMeta = string,
69
- TAccountPayer extends string | AccountMeta = string,
70
- TAccountCreator extends string | AccountMeta = string,
71
- TAccountLogWrapper extends string | AccountMeta = string,
72
- TAccountCompressionProgram extends string | AccountMeta = string,
69
+ TAccountTreeAuthority extends string | AccountMeta<string> = string,
70
+ TAccountLeafOwner extends string | AccountMeta<string> = string,
71
+ TAccountLeafDelegate extends string | AccountMeta<string> = string,
72
+ TAccountMerkleTree extends string | AccountMeta<string> = string,
73
+ TAccountPayer extends string | AccountMeta<string> = string,
74
+ TAccountCreator extends string | AccountMeta<string> = string,
75
+ TAccountLogWrapper extends
76
+ | string
77
+ | AccountMeta<string> = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV",
78
+ TAccountCompressionProgram extends
79
+ | string
80
+ | AccountMeta<string> = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK",
73
81
  TAccountSystemProgram extends
74
82
  | string
75
- | AccountMeta = "11111111111111111111111111111111",
76
- TRemainingAccounts extends readonly AccountMeta[] = [],
83
+ | AccountMeta<string> = "11111111111111111111111111111111",
84
+ TRemainingAccounts extends readonly AccountMeta<string>[] = [],
77
85
  > = Instruction<TProgram> &
78
86
  InstructionWithData<ReadonlyUint8Array> &
79
87
  InstructionWithAccounts<
@@ -167,6 +175,151 @@ export function getUnverifyCreatorInstructionDataCodec(): Codec<
167
175
  );
168
176
  }
169
177
 
178
+ export interface UnverifyCreatorAsyncInput<
179
+ TAccountTreeAuthority extends string = string,
180
+ TAccountLeafOwner extends string = string,
181
+ TAccountLeafDelegate extends string = string,
182
+ TAccountMerkleTree extends string = string,
183
+ TAccountPayer extends string = string,
184
+ TAccountCreator extends string = string,
185
+ TAccountLogWrapper extends string = string,
186
+ TAccountCompressionProgram extends string = string,
187
+ TAccountSystemProgram extends string = string,
188
+ > {
189
+ treeAuthority?: Address<TAccountTreeAuthority>;
190
+ leafOwner: Address<TAccountLeafOwner>;
191
+ leafDelegate: Address<TAccountLeafDelegate>;
192
+ merkleTree: Address<TAccountMerkleTree>;
193
+ payer: TransactionSigner<TAccountPayer>;
194
+ creator: TransactionSigner<TAccountCreator>;
195
+ logWrapper?: Address<TAccountLogWrapper>;
196
+ compressionProgram?: Address<TAccountCompressionProgram>;
197
+ systemProgram?: Address<TAccountSystemProgram>;
198
+ root: UnverifyCreatorInstructionDataArgs["root"];
199
+ dataHash: UnverifyCreatorInstructionDataArgs["dataHash"];
200
+ creatorHash: UnverifyCreatorInstructionDataArgs["creatorHash"];
201
+ nonce: UnverifyCreatorInstructionDataArgs["nonce"];
202
+ index: UnverifyCreatorInstructionDataArgs["index"];
203
+ message: UnverifyCreatorInstructionDataArgs["message"];
204
+ }
205
+
206
+ export async function getUnverifyCreatorInstructionAsync<
207
+ TAccountTreeAuthority extends string,
208
+ TAccountLeafOwner extends string,
209
+ TAccountLeafDelegate extends string,
210
+ TAccountMerkleTree extends string,
211
+ TAccountPayer extends string,
212
+ TAccountCreator extends string,
213
+ TAccountLogWrapper extends string,
214
+ TAccountCompressionProgram extends string,
215
+ TAccountSystemProgram extends string,
216
+ TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
217
+ >(
218
+ input: UnverifyCreatorAsyncInput<
219
+ TAccountTreeAuthority,
220
+ TAccountLeafOwner,
221
+ TAccountLeafDelegate,
222
+ TAccountMerkleTree,
223
+ TAccountPayer,
224
+ TAccountCreator,
225
+ TAccountLogWrapper,
226
+ TAccountCompressionProgram,
227
+ TAccountSystemProgram
228
+ >,
229
+ config?: { programAddress?: TProgramAddress },
230
+ ): Promise<
231
+ UnverifyCreatorInstruction<
232
+ TProgramAddress,
233
+ TAccountTreeAuthority,
234
+ TAccountLeafOwner,
235
+ TAccountLeafDelegate,
236
+ TAccountMerkleTree,
237
+ TAccountPayer,
238
+ TAccountCreator,
239
+ TAccountLogWrapper,
240
+ TAccountCompressionProgram,
241
+ TAccountSystemProgram
242
+ >
243
+ > {
244
+ // Program address.
245
+ const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
246
+
247
+ // Original accounts.
248
+ const originalAccounts = {
249
+ treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
250
+ leafOwner: { value: input.leafOwner ?? null, isWritable: false },
251
+ leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
252
+ merkleTree: { value: input.merkleTree ?? null, isWritable: true },
253
+ payer: { value: input.payer ?? null, isWritable: false },
254
+ creator: { value: input.creator ?? null, isWritable: false },
255
+ logWrapper: { value: input.logWrapper ?? null, isWritable: false },
256
+ compressionProgram: {
257
+ value: input.compressionProgram ?? null,
258
+ isWritable: false,
259
+ },
260
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
261
+ };
262
+ const accounts = originalAccounts as Record<
263
+ keyof typeof originalAccounts,
264
+ ResolvedInstructionAccount
265
+ >;
266
+
267
+ // Original args.
268
+ const args = { ...input };
269
+
270
+ // Resolve default values.
271
+ if (!accounts.treeAuthority.value) {
272
+ accounts.treeAuthority.value = await findTreeConfigPda({
273
+ merkleTree: getAddressFromResolvedInstructionAccount(
274
+ "merkleTree",
275
+ accounts.merkleTree.value,
276
+ ),
277
+ });
278
+ }
279
+ if (!accounts.logWrapper.value) {
280
+ accounts.logWrapper.value =
281
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
282
+ }
283
+ if (!accounts.compressionProgram.value) {
284
+ accounts.compressionProgram.value =
285
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
286
+ }
287
+ if (!accounts.systemProgram.value) {
288
+ accounts.systemProgram.value =
289
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
290
+ }
291
+
292
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
293
+ return Object.freeze({
294
+ accounts: [
295
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
296
+ getAccountMeta("leafOwner", accounts.leafOwner),
297
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
298
+ getAccountMeta("merkleTree", accounts.merkleTree),
299
+ getAccountMeta("payer", accounts.payer),
300
+ getAccountMeta("creator", accounts.creator),
301
+ getAccountMeta("logWrapper", accounts.logWrapper),
302
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
303
+ getAccountMeta("systemProgram", accounts.systemProgram),
304
+ ],
305
+ data: getUnverifyCreatorInstructionDataEncoder().encode(
306
+ args as UnverifyCreatorInstructionDataArgs,
307
+ ),
308
+ programAddress,
309
+ } as UnverifyCreatorInstruction<
310
+ TProgramAddress,
311
+ TAccountTreeAuthority,
312
+ TAccountLeafOwner,
313
+ TAccountLeafDelegate,
314
+ TAccountMerkleTree,
315
+ TAccountPayer,
316
+ TAccountCreator,
317
+ TAccountLogWrapper,
318
+ TAccountCompressionProgram,
319
+ TAccountSystemProgram
320
+ >);
321
+ }
322
+
170
323
  export interface UnverifyCreatorInput<
171
324
  TAccountTreeAuthority extends string = string,
172
325
  TAccountLeafOwner extends string = string,
@@ -184,8 +337,8 @@ export interface UnverifyCreatorInput<
184
337
  merkleTree: Address<TAccountMerkleTree>;
185
338
  payer: TransactionSigner<TAccountPayer>;
186
339
  creator: TransactionSigner<TAccountCreator>;
187
- logWrapper: Address<TAccountLogWrapper>;
188
- compressionProgram: Address<TAccountCompressionProgram>;
340
+ logWrapper?: Address<TAccountLogWrapper>;
341
+ compressionProgram?: Address<TAccountCompressionProgram>;
189
342
  systemProgram?: Address<TAccountSystemProgram>;
190
343
  root: UnverifyCreatorInstructionDataArgs["root"];
191
344
  dataHash: UnverifyCreatorInstructionDataArgs["dataHash"];
@@ -258,6 +411,14 @@ export function getUnverifyCreatorInstruction<
258
411
  const args = { ...input };
259
412
 
260
413
  // Resolve default values.
414
+ if (!accounts.logWrapper.value) {
415
+ accounts.logWrapper.value =
416
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
417
+ }
418
+ if (!accounts.compressionProgram.value) {
419
+ accounts.compressionProgram.value =
420
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
421
+ }
261
422
  if (!accounts.systemProgram.value) {
262
423
  accounts.systemProgram.value =
263
424
  "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;