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