@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
@@ -1,158 +1,302 @@
1
- /**
2
- * This code was AUTOGENERATED using the Codama library.
3
- * Please DO NOT EDIT THIS FILE, instead use visitors
4
- * to add features, then rerun Codama to update it.
5
- *
6
- * @see https://github.com/codama-idl/codama
7
- */
8
- import { combineCodec, fixDecoderSize, fixEncoderSize, getAddressDecoder, getAddressEncoder, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU8Decoder, getU8Encoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, transformEncoder, } from "@solana/kit";
9
- import { getAccountMetaFactory } from "@solana/program-client-core";
10
- import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
11
- import { getMetadataArgsDecoder, getMetadataArgsEncoder, } from "../types/index.js";
12
- export const SET_AND_VERIFY_COLLECTION_DISCRIMINATOR = new Uint8Array([235, 242, 121, 216, 158, 234, 180, 234]);
13
- export function getSetAndVerifyCollectionDiscriminatorBytes() {
14
- return fixEncoderSize(getBytesEncoder(), 8).encode(SET_AND_VERIFY_COLLECTION_DISCRIMINATOR);
1
+ import { findBubblegumSignerPda } from "../pdas/bubblegumSigner.js";
2
+ import { findMasterEditionPda } from "../pdas/masterEdition.js";
3
+ import { findMetadataPda } from "../pdas/metadata.js";
4
+ import { findTreeConfigPda } from "../pdas/treeConfig.js";
5
+ import { getMetadataArgsDecoder, getMetadataArgsEncoder } from "../types/metadataArgs.js";
6
+ import "../programs/bubblegum.js";
7
+ import { SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, address, combineCodec, fixDecoderSize, fixEncoderSize, getAddressDecoder, getAddressEncoder, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, transformEncoder } from "@solana/kit";
8
+ import { getAccountMetaFactory, getAddressFromResolvedInstructionAccount } from "@solana/program-client-core";
9
+ //#region src/generated/instructions/setAndVerifyCollection.ts
10
+ const SET_AND_VERIFY_COLLECTION_DISCRIMINATOR = new Uint8Array([
11
+ 235,
12
+ 242,
13
+ 121,
14
+ 216,
15
+ 158,
16
+ 234,
17
+ 180,
18
+ 234
19
+ ]);
20
+ function getSetAndVerifyCollectionDiscriminatorBytes() {
21
+ return fixEncoderSize(getBytesEncoder(), 8).encode(SET_AND_VERIFY_COLLECTION_DISCRIMINATOR);
15
22
  }
16
- export function getSetAndVerifyCollectionInstructionDataEncoder() {
17
- return transformEncoder(getStructEncoder([
18
- ["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
19
- ["root", getArrayEncoder(getU8Encoder(), { size: 32 })],
20
- ["dataHash", getArrayEncoder(getU8Encoder(), { size: 32 })],
21
- ["creatorHash", getArrayEncoder(getU8Encoder(), { size: 32 })],
22
- ["nonce", getU64Encoder()],
23
- ["index", getU32Encoder()],
24
- ["message", getMetadataArgsEncoder()],
25
- ["collection", getAddressEncoder()],
26
- ]), (value) => ({
27
- ...value,
28
- discriminator: SET_AND_VERIFY_COLLECTION_DISCRIMINATOR,
29
- }));
23
+ function getSetAndVerifyCollectionInstructionDataEncoder() {
24
+ return transformEncoder(getStructEncoder([
25
+ ["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
26
+ ["root", getArrayEncoder(getU8Encoder(), { size: 32 })],
27
+ ["dataHash", getArrayEncoder(getU8Encoder(), { size: 32 })],
28
+ ["creatorHash", getArrayEncoder(getU8Encoder(), { size: 32 })],
29
+ ["nonce", getU64Encoder()],
30
+ ["index", getU32Encoder()],
31
+ ["message", getMetadataArgsEncoder()],
32
+ ["collection", getAddressEncoder()]
33
+ ]), (value) => ({
34
+ ...value,
35
+ discriminator: SET_AND_VERIFY_COLLECTION_DISCRIMINATOR
36
+ }));
30
37
  }
31
- export function getSetAndVerifyCollectionInstructionDataDecoder() {
32
- return getStructDecoder([
33
- ["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
34
- ["root", getArrayDecoder(getU8Decoder(), { size: 32 })],
35
- ["dataHash", getArrayDecoder(getU8Decoder(), { size: 32 })],
36
- ["creatorHash", getArrayDecoder(getU8Decoder(), { size: 32 })],
37
- ["nonce", getU64Decoder()],
38
- ["index", getU32Decoder()],
39
- ["message", getMetadataArgsDecoder()],
40
- ["collection", getAddressDecoder()],
41
- ]);
38
+ function getSetAndVerifyCollectionInstructionDataDecoder() {
39
+ return getStructDecoder([
40
+ ["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
41
+ ["root", getArrayDecoder(getU8Decoder(), { size: 32 })],
42
+ ["dataHash", getArrayDecoder(getU8Decoder(), { size: 32 })],
43
+ ["creatorHash", getArrayDecoder(getU8Decoder(), { size: 32 })],
44
+ ["nonce", getU64Decoder()],
45
+ ["index", getU32Decoder()],
46
+ ["message", getMetadataArgsDecoder()],
47
+ ["collection", getAddressDecoder()]
48
+ ]);
42
49
  }
43
- export function getSetAndVerifyCollectionInstructionDataCodec() {
44
- return combineCodec(getSetAndVerifyCollectionInstructionDataEncoder(), getSetAndVerifyCollectionInstructionDataDecoder());
50
+ function getSetAndVerifyCollectionInstructionDataCodec() {
51
+ return combineCodec(getSetAndVerifyCollectionInstructionDataEncoder(), getSetAndVerifyCollectionInstructionDataDecoder());
45
52
  }
46
- export function getSetAndVerifyCollectionInstruction(input, config) {
47
- // Program address.
48
- const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
49
- // Original accounts.
50
- const originalAccounts = {
51
- treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
52
- leafOwner: { value: input.leafOwner ?? null, isWritable: false },
53
- leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
54
- merkleTree: { value: input.merkleTree ?? null, isWritable: true },
55
- payer: { value: input.payer ?? null, isWritable: false },
56
- treeDelegate: { value: input.treeDelegate ?? null, isWritable: false },
57
- collectionAuthority: {
58
- value: input.collectionAuthority ?? null,
59
- isWritable: false,
60
- },
61
- collectionAuthorityRecordPda: {
62
- value: input.collectionAuthorityRecordPda ?? null,
63
- isWritable: false,
64
- },
65
- collectionMint: { value: input.collectionMint ?? null, isWritable: false },
66
- collectionMetadata: {
67
- value: input.collectionMetadata ?? null,
68
- isWritable: true,
69
- },
70
- editionAccount: { value: input.editionAccount ?? null, isWritable: false },
71
- bubblegumSigner: {
72
- value: input.bubblegumSigner ?? null,
73
- isWritable: false,
74
- },
75
- logWrapper: { value: input.logWrapper ?? null, isWritable: false },
76
- compressionProgram: {
77
- value: input.compressionProgram ?? null,
78
- isWritable: false,
79
- },
80
- tokenMetadataProgram: {
81
- value: input.tokenMetadataProgram ?? null,
82
- isWritable: false,
83
- },
84
- systemProgram: { value: input.systemProgram ?? null, isWritable: false },
85
- };
86
- const accounts = originalAccounts;
87
- // Original args.
88
- const args = { ...input };
89
- // Resolve default values.
90
- if (!accounts.tokenMetadataProgram.value) {
91
- accounts.tokenMetadataProgram.value =
92
- "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
93
- }
94
- if (!accounts.systemProgram.value) {
95
- accounts.systemProgram.value =
96
- "11111111111111111111111111111111";
97
- }
98
- const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
99
- return Object.freeze({
100
- accounts: [
101
- getAccountMeta("treeAuthority", accounts.treeAuthority),
102
- getAccountMeta("leafOwner", accounts.leafOwner),
103
- getAccountMeta("leafDelegate", accounts.leafDelegate),
104
- getAccountMeta("merkleTree", accounts.merkleTree),
105
- getAccountMeta("payer", accounts.payer),
106
- getAccountMeta("treeDelegate", accounts.treeDelegate),
107
- getAccountMeta("collectionAuthority", accounts.collectionAuthority),
108
- getAccountMeta("collectionAuthorityRecordPda", accounts.collectionAuthorityRecordPda),
109
- getAccountMeta("collectionMint", accounts.collectionMint),
110
- getAccountMeta("collectionMetadata", accounts.collectionMetadata),
111
- getAccountMeta("editionAccount", accounts.editionAccount),
112
- getAccountMeta("bubblegumSigner", accounts.bubblegumSigner),
113
- getAccountMeta("logWrapper", accounts.logWrapper),
114
- getAccountMeta("compressionProgram", accounts.compressionProgram),
115
- getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
116
- getAccountMeta("systemProgram", accounts.systemProgram),
117
- ],
118
- data: getSetAndVerifyCollectionInstructionDataEncoder().encode(args),
119
- programAddress,
120
- });
53
+ async function getSetAndVerifyCollectionInstructionAsync(input, config) {
54
+ const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
55
+ const accounts = {
56
+ treeAuthority: {
57
+ value: input.treeAuthority ?? null,
58
+ isWritable: false
59
+ },
60
+ leafOwner: {
61
+ value: input.leafOwner ?? null,
62
+ isWritable: false
63
+ },
64
+ leafDelegate: {
65
+ value: input.leafDelegate ?? null,
66
+ isWritable: false
67
+ },
68
+ merkleTree: {
69
+ value: input.merkleTree ?? null,
70
+ isWritable: true
71
+ },
72
+ payer: {
73
+ value: input.payer ?? null,
74
+ isWritable: false
75
+ },
76
+ treeDelegate: {
77
+ value: input.treeDelegate ?? null,
78
+ isWritable: false
79
+ },
80
+ collectionAuthority: {
81
+ value: input.collectionAuthority ?? null,
82
+ isWritable: false
83
+ },
84
+ collectionAuthorityRecordPda: {
85
+ value: input.collectionAuthorityRecordPda ?? null,
86
+ isWritable: false
87
+ },
88
+ collectionMint: {
89
+ value: input.collectionMint ?? null,
90
+ isWritable: false
91
+ },
92
+ collectionMetadata: {
93
+ value: input.collectionMetadata ?? null,
94
+ isWritable: true
95
+ },
96
+ editionAccount: {
97
+ value: input.editionAccount ?? null,
98
+ isWritable: false
99
+ },
100
+ bubblegumSigner: {
101
+ value: input.bubblegumSigner ?? null,
102
+ isWritable: false
103
+ },
104
+ logWrapper: {
105
+ value: input.logWrapper ?? null,
106
+ isWritable: false
107
+ },
108
+ compressionProgram: {
109
+ value: input.compressionProgram ?? null,
110
+ isWritable: false
111
+ },
112
+ tokenMetadataProgram: {
113
+ value: input.tokenMetadataProgram ?? null,
114
+ isWritable: false
115
+ },
116
+ systemProgram: {
117
+ value: input.systemProgram ?? null,
118
+ isWritable: false
119
+ }
120
+ };
121
+ const args = { ...input };
122
+ if (!accounts.treeAuthority.value) accounts.treeAuthority.value = await findTreeConfigPda({ merkleTree: getAddressFromResolvedInstructionAccount("merkleTree", accounts.merkleTree.value) });
123
+ if (!accounts.collectionAuthorityRecordPda.value) {
124
+ accounts.collectionAuthorityRecordPda.value = programAddress;
125
+ accounts.collectionAuthorityRecordPda.isWritable = false;
126
+ }
127
+ if (!accounts.collectionMetadata.value) accounts.collectionMetadata.value = await findMetadataPda({
128
+ programId: address("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),
129
+ mint: getAddressFromResolvedInstructionAccount("collectionMint", accounts.collectionMint.value)
130
+ });
131
+ if (!accounts.editionAccount.value) accounts.editionAccount.value = await findMasterEditionPda({
132
+ programId: address("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),
133
+ mint: getAddressFromResolvedInstructionAccount("collectionMint", accounts.collectionMint.value)
134
+ });
135
+ if (!accounts.bubblegumSigner.value) accounts.bubblegumSigner.value = await findBubblegumSignerPda();
136
+ if (!accounts.logWrapper.value) accounts.logWrapper.value = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV";
137
+ if (!accounts.compressionProgram.value) accounts.compressionProgram.value = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK";
138
+ if (!accounts.tokenMetadataProgram.value) accounts.tokenMetadataProgram.value = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
139
+ if (!accounts.systemProgram.value) accounts.systemProgram.value = "11111111111111111111111111111111";
140
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
141
+ return Object.freeze({
142
+ accounts: [
143
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
144
+ getAccountMeta("leafOwner", accounts.leafOwner),
145
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
146
+ getAccountMeta("merkleTree", accounts.merkleTree),
147
+ getAccountMeta("payer", accounts.payer),
148
+ getAccountMeta("treeDelegate", accounts.treeDelegate),
149
+ getAccountMeta("collectionAuthority", accounts.collectionAuthority),
150
+ getAccountMeta("collectionAuthorityRecordPda", accounts.collectionAuthorityRecordPda),
151
+ getAccountMeta("collectionMint", accounts.collectionMint),
152
+ getAccountMeta("collectionMetadata", accounts.collectionMetadata),
153
+ getAccountMeta("editionAccount", accounts.editionAccount),
154
+ getAccountMeta("bubblegumSigner", accounts.bubblegumSigner),
155
+ getAccountMeta("logWrapper", accounts.logWrapper),
156
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
157
+ getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
158
+ getAccountMeta("systemProgram", accounts.systemProgram)
159
+ ],
160
+ data: getSetAndVerifyCollectionInstructionDataEncoder().encode(args),
161
+ programAddress
162
+ });
121
163
  }
122
- export function parseSetAndVerifyCollectionInstruction(instruction) {
123
- if (instruction.accounts.length < 16) {
124
- throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, {
125
- actualAccountMetas: instruction.accounts.length,
126
- expectedAccountMetas: 16,
127
- });
128
- }
129
- let accountIndex = 0;
130
- const getNextAccount = () => {
131
- const accountMeta = instruction.accounts[accountIndex];
132
- accountIndex += 1;
133
- return accountMeta;
134
- };
135
- return {
136
- programAddress: instruction.programAddress,
137
- accounts: {
138
- treeAuthority: getNextAccount(),
139
- leafOwner: getNextAccount(),
140
- leafDelegate: getNextAccount(),
141
- merkleTree: getNextAccount(),
142
- payer: getNextAccount(),
143
- treeDelegate: getNextAccount(),
144
- collectionAuthority: getNextAccount(),
145
- collectionAuthorityRecordPda: getNextAccount(),
146
- collectionMint: getNextAccount(),
147
- collectionMetadata: getNextAccount(),
148
- editionAccount: getNextAccount(),
149
- bubblegumSigner: getNextAccount(),
150
- logWrapper: getNextAccount(),
151
- compressionProgram: getNextAccount(),
152
- tokenMetadataProgram: getNextAccount(),
153
- systemProgram: getNextAccount(),
154
- },
155
- data: getSetAndVerifyCollectionInstructionDataDecoder().decode(instruction.data),
156
- };
164
+ function getSetAndVerifyCollectionInstruction(input, config) {
165
+ const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
166
+ const accounts = {
167
+ treeAuthority: {
168
+ value: input.treeAuthority ?? null,
169
+ isWritable: false
170
+ },
171
+ leafOwner: {
172
+ value: input.leafOwner ?? null,
173
+ isWritable: false
174
+ },
175
+ leafDelegate: {
176
+ value: input.leafDelegate ?? null,
177
+ isWritable: false
178
+ },
179
+ merkleTree: {
180
+ value: input.merkleTree ?? null,
181
+ isWritable: true
182
+ },
183
+ payer: {
184
+ value: input.payer ?? null,
185
+ isWritable: false
186
+ },
187
+ treeDelegate: {
188
+ value: input.treeDelegate ?? null,
189
+ isWritable: false
190
+ },
191
+ collectionAuthority: {
192
+ value: input.collectionAuthority ?? null,
193
+ isWritable: false
194
+ },
195
+ collectionAuthorityRecordPda: {
196
+ value: input.collectionAuthorityRecordPda ?? null,
197
+ isWritable: false
198
+ },
199
+ collectionMint: {
200
+ value: input.collectionMint ?? null,
201
+ isWritable: false
202
+ },
203
+ collectionMetadata: {
204
+ value: input.collectionMetadata ?? null,
205
+ isWritable: true
206
+ },
207
+ editionAccount: {
208
+ value: input.editionAccount ?? null,
209
+ isWritable: false
210
+ },
211
+ bubblegumSigner: {
212
+ value: input.bubblegumSigner ?? null,
213
+ isWritable: false
214
+ },
215
+ logWrapper: {
216
+ value: input.logWrapper ?? null,
217
+ isWritable: false
218
+ },
219
+ compressionProgram: {
220
+ value: input.compressionProgram ?? null,
221
+ isWritable: false
222
+ },
223
+ tokenMetadataProgram: {
224
+ value: input.tokenMetadataProgram ?? null,
225
+ isWritable: false
226
+ },
227
+ systemProgram: {
228
+ value: input.systemProgram ?? null,
229
+ isWritable: false
230
+ }
231
+ };
232
+ const args = { ...input };
233
+ if (!accounts.collectionAuthorityRecordPda.value) {
234
+ accounts.collectionAuthorityRecordPda.value = programAddress;
235
+ accounts.collectionAuthorityRecordPda.isWritable = false;
236
+ }
237
+ if (!accounts.logWrapper.value) accounts.logWrapper.value = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV";
238
+ if (!accounts.compressionProgram.value) accounts.compressionProgram.value = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK";
239
+ if (!accounts.tokenMetadataProgram.value) accounts.tokenMetadataProgram.value = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
240
+ if (!accounts.systemProgram.value) accounts.systemProgram.value = "11111111111111111111111111111111";
241
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
242
+ return Object.freeze({
243
+ accounts: [
244
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
245
+ getAccountMeta("leafOwner", accounts.leafOwner),
246
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
247
+ getAccountMeta("merkleTree", accounts.merkleTree),
248
+ getAccountMeta("payer", accounts.payer),
249
+ getAccountMeta("treeDelegate", accounts.treeDelegate),
250
+ getAccountMeta("collectionAuthority", accounts.collectionAuthority),
251
+ getAccountMeta("collectionAuthorityRecordPda", accounts.collectionAuthorityRecordPda),
252
+ getAccountMeta("collectionMint", accounts.collectionMint),
253
+ getAccountMeta("collectionMetadata", accounts.collectionMetadata),
254
+ getAccountMeta("editionAccount", accounts.editionAccount),
255
+ getAccountMeta("bubblegumSigner", accounts.bubblegumSigner),
256
+ getAccountMeta("logWrapper", accounts.logWrapper),
257
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
258
+ getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
259
+ getAccountMeta("systemProgram", accounts.systemProgram)
260
+ ],
261
+ data: getSetAndVerifyCollectionInstructionDataEncoder().encode(args),
262
+ programAddress
263
+ });
157
264
  }
265
+ function parseSetAndVerifyCollectionInstruction(instruction) {
266
+ if (instruction.accounts.length < 16) throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, {
267
+ actualAccountMetas: instruction.accounts.length,
268
+ expectedAccountMetas: 16
269
+ });
270
+ let accountIndex = 0;
271
+ const getNextAccount = () => {
272
+ const accountMeta = instruction.accounts[accountIndex];
273
+ accountIndex += 1;
274
+ return accountMeta;
275
+ };
276
+ return {
277
+ programAddress: instruction.programAddress,
278
+ accounts: {
279
+ treeAuthority: getNextAccount(),
280
+ leafOwner: getNextAccount(),
281
+ leafDelegate: getNextAccount(),
282
+ merkleTree: getNextAccount(),
283
+ payer: getNextAccount(),
284
+ treeDelegate: getNextAccount(),
285
+ collectionAuthority: getNextAccount(),
286
+ collectionAuthorityRecordPda: getNextAccount(),
287
+ collectionMint: getNextAccount(),
288
+ collectionMetadata: getNextAccount(),
289
+ editionAccount: getNextAccount(),
290
+ bubblegumSigner: getNextAccount(),
291
+ logWrapper: getNextAccount(),
292
+ compressionProgram: getNextAccount(),
293
+ tokenMetadataProgram: getNextAccount(),
294
+ systemProgram: getNextAccount()
295
+ },
296
+ data: getSetAndVerifyCollectionInstructionDataDecoder().decode(instruction.data)
297
+ };
298
+ }
299
+ //#endregion
300
+ export { SET_AND_VERIFY_COLLECTION_DISCRIMINATOR, getSetAndVerifyCollectionDiscriminatorBytes, getSetAndVerifyCollectionInstruction, getSetAndVerifyCollectionInstructionAsync, getSetAndVerifyCollectionInstructionDataCodec, getSetAndVerifyCollectionInstructionDataDecoder, getSetAndVerifyCollectionInstructionDataEncoder, parseSetAndVerifyCollectionInstruction };
301
+
158
302
  //# sourceMappingURL=setAndVerifyCollection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setAndVerifyCollection.js","sourceRoot":"","sources":["../../../src/generated/instructions/setAndVerifyCollection.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport type {\n AccountMeta,\n AccountSignerMeta,\n Address,\n Codec,\n Decoder,\n Encoder,\n Instruction,\n InstructionWithAccounts,\n InstructionWithData,\n ReadonlyAccount,\n ReadonlySignerAccount,\n ReadonlyUint8Array,\n TransactionSigner,\n WritableAccount,\n} from \"@solana/kit\";\nimport type { ResolvedInstructionAccount } from \"@solana/program-client-core\";\nimport type { MetadataArgs, MetadataArgsArgs } from \"../types/index.js\";\nimport {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n SolanaError,\n transformEncoder,\n} from \"@solana/kit\";\nimport { getAccountMetaFactory } from \"@solana/program-client-core\";\nimport { BUBBLEGUM_PROGRAM_ADDRESS } from \"../programs/index.js\";\nimport {\n getMetadataArgsDecoder,\n getMetadataArgsEncoder,\n} from \"../types/index.js\";\n\nexport const SET_AND_VERIFY_COLLECTION_DISCRIMINATOR: ReadonlyUint8Array =\n new Uint8Array([235, 242, 121, 216, 158, 234, 180, 234]);\n\nexport function getSetAndVerifyCollectionDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n SET_AND_VERIFY_COLLECTION_DISCRIMINATOR,\n );\n}\n\nexport type SetAndVerifyCollectionInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta = string,\n TAccountLeafOwner extends string | AccountMeta = string,\n TAccountLeafDelegate extends string | AccountMeta = string,\n TAccountMerkleTree extends string | AccountMeta = string,\n TAccountPayer extends string | AccountMeta = string,\n TAccountTreeDelegate extends string | AccountMeta = string,\n TAccountCollectionAuthority extends string | AccountMeta = string,\n TAccountCollectionAuthorityRecordPda extends string | AccountMeta = string,\n TAccountCollectionMint extends string | AccountMeta = string,\n TAccountCollectionMetadata extends string | AccountMeta = string,\n TAccountEditionAccount extends string | AccountMeta = string,\n TAccountBubblegumSigner extends string | AccountMeta = string,\n TAccountLogWrapper extends string | AccountMeta = string,\n TAccountCompressionProgram extends string | AccountMeta = string,\n TAccountTokenMetadataProgram extends\n | string\n | AccountMeta = \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\",\n TAccountSystemProgram extends\n | string\n | AccountMeta = \"11111111111111111111111111111111\",\n TRemainingAccounts extends readonly AccountMeta[] = [],\n> = Instruction<TProgram> &\n InstructionWithData<ReadonlyUint8Array> &\n InstructionWithAccounts<\n [\n TAccountTreeAuthority extends string\n ? ReadonlyAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountLeafOwner extends string\n ? ReadonlyAccount<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountLeafDelegate extends string\n ? ReadonlyAccount<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountPayer extends string\n ? ReadonlySignerAccount<TAccountPayer> &\n AccountSignerMeta<TAccountPayer>\n : TAccountPayer,\n TAccountTreeDelegate extends string\n ? ReadonlyAccount<TAccountTreeDelegate>\n : TAccountTreeDelegate,\n TAccountCollectionAuthority extends string\n ? ReadonlySignerAccount<TAccountCollectionAuthority> &\n AccountSignerMeta<TAccountCollectionAuthority>\n : TAccountCollectionAuthority,\n TAccountCollectionAuthorityRecordPda extends string\n ? ReadonlyAccount<TAccountCollectionAuthorityRecordPda>\n : TAccountCollectionAuthorityRecordPda,\n TAccountCollectionMint extends string\n ? ReadonlyAccount<TAccountCollectionMint>\n : TAccountCollectionMint,\n TAccountCollectionMetadata extends string\n ? WritableAccount<TAccountCollectionMetadata>\n : TAccountCollectionMetadata,\n TAccountEditionAccount extends string\n ? ReadonlyAccount<TAccountEditionAccount>\n : TAccountEditionAccount,\n TAccountBubblegumSigner extends string\n ? ReadonlyAccount<TAccountBubblegumSigner>\n : TAccountBubblegumSigner,\n TAccountLogWrapper extends string\n ? ReadonlyAccount<TAccountLogWrapper>\n : TAccountLogWrapper,\n TAccountCompressionProgram extends string\n ? ReadonlyAccount<TAccountCompressionProgram>\n : TAccountCompressionProgram,\n TAccountTokenMetadataProgram extends string\n ? ReadonlyAccount<TAccountTokenMetadataProgram>\n : TAccountTokenMetadataProgram,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport interface SetAndVerifyCollectionInstructionData {\n discriminator: ReadonlyUint8Array;\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n nonce: bigint;\n index: number;\n message: MetadataArgs;\n collection: Address;\n}\n\nexport interface SetAndVerifyCollectionInstructionDataArgs {\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n nonce: number | bigint;\n index: number;\n message: MetadataArgsArgs;\n collection: Address;\n}\n\nexport function getSetAndVerifyCollectionInstructionDataEncoder(): Encoder<SetAndVerifyCollectionInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"root\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"dataHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"creatorHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n [\"message\", getMetadataArgsEncoder()],\n [\"collection\", getAddressEncoder()],\n ]),\n (value) => ({\n ...value,\n discriminator: SET_AND_VERIFY_COLLECTION_DISCRIMINATOR,\n }),\n );\n}\n\nexport function getSetAndVerifyCollectionInstructionDataDecoder(): Decoder<SetAndVerifyCollectionInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"root\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"dataHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"creatorHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n [\"message\", getMetadataArgsDecoder()],\n [\"collection\", getAddressDecoder()],\n ]);\n}\n\nexport function getSetAndVerifyCollectionInstructionDataCodec(): Codec<\n SetAndVerifyCollectionInstructionDataArgs,\n SetAndVerifyCollectionInstructionData\n> {\n return combineCodec(\n getSetAndVerifyCollectionInstructionDataEncoder(),\n getSetAndVerifyCollectionInstructionDataDecoder(),\n );\n}\n\nexport interface SetAndVerifyCollectionInput<\n TAccountTreeAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountPayer extends string = string,\n TAccountTreeDelegate extends string = string,\n TAccountCollectionAuthority extends string = string,\n TAccountCollectionAuthorityRecordPda extends string = string,\n TAccountCollectionMint extends string = string,\n TAccountCollectionMetadata extends string = string,\n TAccountEditionAccount extends string = string,\n TAccountBubblegumSigner extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountTokenMetadataProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority: Address<TAccountTreeAuthority>;\n leafOwner: Address<TAccountLeafOwner>;\n leafDelegate: Address<TAccountLeafDelegate>;\n merkleTree: Address<TAccountMerkleTree>;\n payer: TransactionSigner<TAccountPayer>;\n /**\n * This account is checked to be a signer in\n * the case of `set_and_verify_collection` where\n * we are actually changing the NFT metadata.\n */\n treeDelegate: Address<TAccountTreeDelegate>;\n collectionAuthority: TransactionSigner<TAccountCollectionAuthority>;\n /**\n * If there is no collecton authority record PDA then\n * this must be the Bubblegum program address.\n */\n collectionAuthorityRecordPda: Address<TAccountCollectionAuthorityRecordPda>;\n collectionMint: Address<TAccountCollectionMint>;\n collectionMetadata: Address<TAccountCollectionMetadata>;\n editionAccount: Address<TAccountEditionAccount>;\n bubblegumSigner: Address<TAccountBubblegumSigner>;\n logWrapper: Address<TAccountLogWrapper>;\n compressionProgram: Address<TAccountCompressionProgram>;\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: SetAndVerifyCollectionInstructionDataArgs[\"root\"];\n dataHash: SetAndVerifyCollectionInstructionDataArgs[\"dataHash\"];\n creatorHash: SetAndVerifyCollectionInstructionDataArgs[\"creatorHash\"];\n nonce: SetAndVerifyCollectionInstructionDataArgs[\"nonce\"];\n index: SetAndVerifyCollectionInstructionDataArgs[\"index\"];\n message: SetAndVerifyCollectionInstructionDataArgs[\"message\"];\n collection: SetAndVerifyCollectionInstructionDataArgs[\"collection\"];\n}\n\nexport function getSetAndVerifyCollectionInstruction<\n TAccountTreeAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountPayer extends string,\n TAccountTreeDelegate extends string,\n TAccountCollectionAuthority extends string,\n TAccountCollectionAuthorityRecordPda extends string,\n TAccountCollectionMint extends string,\n TAccountCollectionMetadata extends string,\n TAccountEditionAccount extends string,\n TAccountBubblegumSigner extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountTokenMetadataProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: SetAndVerifyCollectionInput<\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeDelegate,\n TAccountCollectionAuthority,\n TAccountCollectionAuthorityRecordPda,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountEditionAccount,\n TAccountBubblegumSigner,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): SetAndVerifyCollectionInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeDelegate,\n TAccountCollectionAuthority,\n TAccountCollectionAuthorityRecordPda,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountEditionAccount,\n TAccountBubblegumSigner,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: false },\n treeDelegate: { value: input.treeDelegate ?? null, isWritable: false },\n collectionAuthority: {\n value: input.collectionAuthority ?? null,\n isWritable: false,\n },\n collectionAuthorityRecordPda: {\n value: input.collectionAuthorityRecordPda ?? null,\n isWritable: false,\n },\n collectionMint: { value: input.collectionMint ?? null, isWritable: false },\n collectionMetadata: {\n value: input.collectionMetadata ?? null,\n isWritable: true,\n },\n editionAccount: { value: input.editionAccount ?? null, isWritable: false },\n bubblegumSigner: {\n value: input.bubblegumSigner ?? null,\n isWritable: false,\n },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n tokenMetadataProgram: {\n value: input.tokenMetadataProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Original args.\n const args = { ...input };\n\n // Resolve default values.\n if (!accounts.tokenMetadataProgram.value) {\n accounts.tokenMetadataProgram.value =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\" as Address<\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\">;\n }\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"treeDelegate\", accounts.treeDelegate),\n getAccountMeta(\"collectionAuthority\", accounts.collectionAuthority),\n getAccountMeta(\n \"collectionAuthorityRecordPda\",\n accounts.collectionAuthorityRecordPda,\n ),\n getAccountMeta(\"collectionMint\", accounts.collectionMint),\n getAccountMeta(\"collectionMetadata\", accounts.collectionMetadata),\n getAccountMeta(\"editionAccount\", accounts.editionAccount),\n getAccountMeta(\"bubblegumSigner\", accounts.bubblegumSigner),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getSetAndVerifyCollectionInstructionDataEncoder().encode(\n args as SetAndVerifyCollectionInstructionDataArgs,\n ),\n programAddress,\n } as SetAndVerifyCollectionInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeDelegate,\n TAccountCollectionAuthority,\n TAccountCollectionAuthorityRecordPda,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountEditionAccount,\n TAccountBubblegumSigner,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface ParsedSetAndVerifyCollectionInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],\n> {\n programAddress: Address<TProgram>;\n accounts: {\n treeAuthority: TAccountMetas[0];\n leafOwner: TAccountMetas[1];\n leafDelegate: TAccountMetas[2];\n merkleTree: TAccountMetas[3];\n payer: TAccountMetas[4];\n /**\n * This account is checked to be a signer in\n * the case of `set_and_verify_collection` where\n * we are actually changing the NFT metadata.\n */\n treeDelegate: TAccountMetas[5];\n collectionAuthority: TAccountMetas[6];\n /**\n * If there is no collecton authority record PDA then\n * this must be the Bubblegum program address.\n */\n collectionAuthorityRecordPda: TAccountMetas[7];\n collectionMint: TAccountMetas[8];\n collectionMetadata: TAccountMetas[9];\n editionAccount: TAccountMetas[10];\n bubblegumSigner: TAccountMetas[11];\n logWrapper: TAccountMetas[12];\n compressionProgram: TAccountMetas[13];\n tokenMetadataProgram: TAccountMetas[14];\n systemProgram: TAccountMetas[15];\n };\n data: SetAndVerifyCollectionInstructionData;\n}\n\nexport function parseSetAndVerifyCollectionInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedSetAndVerifyCollectionInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 16) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 16,\n },\n );\n }\n let accountIndex = 0;\n const getNextAccount = () => {\n const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;\n accountIndex += 1;\n return accountMeta;\n };\n return {\n programAddress: instruction.programAddress,\n accounts: {\n treeAuthority: getNextAccount(),\n leafOwner: getNextAccount(),\n leafDelegate: getNextAccount(),\n merkleTree: getNextAccount(),\n payer: getNextAccount(),\n treeDelegate: getNextAccount(),\n collectionAuthority: getNextAccount(),\n collectionAuthorityRecordPda: getNextAccount(),\n collectionMint: getNextAccount(),\n collectionMetadata: getNextAccount(),\n editionAccount: getNextAccount(),\n bubblegumSigner: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n tokenMetadataProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getSetAndVerifyCollectionInstructionDataDecoder().decode(\n instruction.data,\n ),\n };\n}\n"]}
1
+ {"version":3,"file":"setAndVerifyCollection.js","names":[],"sources":["../../../src/generated/instructions/setAndVerifyCollection.ts"],"sourcesContent":["/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport type {\n AccountMeta,\n AccountSignerMeta,\n Address,\n Codec,\n Decoder,\n Encoder,\n Instruction,\n InstructionWithAccounts,\n InstructionWithData,\n ReadonlyAccount,\n ReadonlySignerAccount,\n ReadonlyUint8Array,\n TransactionSigner,\n WritableAccount,\n} from \"@solana/kit\";\nimport type { ResolvedInstructionAccount } from \"@solana/program-client-core\";\nimport type { MetadataArgs, MetadataArgsArgs } from \"../types/index.js\";\nimport {\n address,\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n SolanaError,\n transformEncoder,\n} from \"@solana/kit\";\nimport {\n getAccountMetaFactory,\n getAddressFromResolvedInstructionAccount,\n} from \"@solana/program-client-core\";\nimport {\n findBubblegumSignerPda,\n findMasterEditionPda,\n findMetadataPda,\n findTreeConfigPda,\n} from \"../pdas/index.js\";\nimport { BUBBLEGUM_PROGRAM_ADDRESS } from \"../programs/index.js\";\nimport {\n getMetadataArgsDecoder,\n getMetadataArgsEncoder,\n} from \"../types/index.js\";\n\nexport const SET_AND_VERIFY_COLLECTION_DISCRIMINATOR: ReadonlyUint8Array =\n new Uint8Array([235, 242, 121, 216, 158, 234, 180, 234]);\n\nexport function getSetAndVerifyCollectionDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n SET_AND_VERIFY_COLLECTION_DISCRIMINATOR,\n );\n}\n\nexport type SetAndVerifyCollectionInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountLeafDelegate extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountTreeDelegate extends string | AccountMeta<string> = string,\n TAccountCollectionAuthority extends string | AccountMeta<string> = string,\n TAccountCollectionAuthorityRecordPda extends\n | string\n | AccountMeta<string> = \"BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY\",\n TAccountCollectionMint extends string | AccountMeta<string> = string,\n TAccountCollectionMetadata extends string | AccountMeta<string> = string,\n TAccountEditionAccount extends string | AccountMeta<string> = string,\n TAccountBubblegumSigner extends string | AccountMeta<string> = string,\n TAccountLogWrapper extends\n | string\n | AccountMeta<string> = \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\",\n TAccountCompressionProgram extends\n | string\n | AccountMeta<string> = \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\",\n TAccountTokenMetadataProgram extends\n | string\n | AccountMeta<string> = \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\",\n TAccountSystemProgram extends\n | string\n | AccountMeta<string> = \"11111111111111111111111111111111\",\n TRemainingAccounts extends readonly AccountMeta<string>[] = [],\n> = Instruction<TProgram> &\n InstructionWithData<ReadonlyUint8Array> &\n InstructionWithAccounts<\n [\n TAccountTreeAuthority extends string\n ? ReadonlyAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountLeafOwner extends string\n ? ReadonlyAccount<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountLeafDelegate extends string\n ? ReadonlyAccount<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountPayer extends string\n ? ReadonlySignerAccount<TAccountPayer> &\n AccountSignerMeta<TAccountPayer>\n : TAccountPayer,\n TAccountTreeDelegate extends string\n ? ReadonlyAccount<TAccountTreeDelegate>\n : TAccountTreeDelegate,\n TAccountCollectionAuthority extends string\n ? ReadonlySignerAccount<TAccountCollectionAuthority> &\n AccountSignerMeta<TAccountCollectionAuthority>\n : TAccountCollectionAuthority,\n TAccountCollectionAuthorityRecordPda extends string\n ? ReadonlyAccount<TAccountCollectionAuthorityRecordPda>\n : TAccountCollectionAuthorityRecordPda,\n TAccountCollectionMint extends string\n ? ReadonlyAccount<TAccountCollectionMint>\n : TAccountCollectionMint,\n TAccountCollectionMetadata extends string\n ? WritableAccount<TAccountCollectionMetadata>\n : TAccountCollectionMetadata,\n TAccountEditionAccount extends string\n ? ReadonlyAccount<TAccountEditionAccount>\n : TAccountEditionAccount,\n TAccountBubblegumSigner extends string\n ? ReadonlyAccount<TAccountBubblegumSigner>\n : TAccountBubblegumSigner,\n TAccountLogWrapper extends string\n ? ReadonlyAccount<TAccountLogWrapper>\n : TAccountLogWrapper,\n TAccountCompressionProgram extends string\n ? ReadonlyAccount<TAccountCompressionProgram>\n : TAccountCompressionProgram,\n TAccountTokenMetadataProgram extends string\n ? ReadonlyAccount<TAccountTokenMetadataProgram>\n : TAccountTokenMetadataProgram,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport interface SetAndVerifyCollectionInstructionData {\n discriminator: ReadonlyUint8Array;\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n nonce: bigint;\n index: number;\n message: MetadataArgs;\n collection: Address;\n}\n\nexport interface SetAndVerifyCollectionInstructionDataArgs {\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n nonce: number | bigint;\n index: number;\n message: MetadataArgsArgs;\n collection: Address;\n}\n\nexport function getSetAndVerifyCollectionInstructionDataEncoder(): Encoder<SetAndVerifyCollectionInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"root\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"dataHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"creatorHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n [\"message\", getMetadataArgsEncoder()],\n [\"collection\", getAddressEncoder()],\n ]),\n (value) => ({\n ...value,\n discriminator: SET_AND_VERIFY_COLLECTION_DISCRIMINATOR,\n }),\n );\n}\n\nexport function getSetAndVerifyCollectionInstructionDataDecoder(): Decoder<SetAndVerifyCollectionInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"root\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"dataHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"creatorHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n [\"message\", getMetadataArgsDecoder()],\n [\"collection\", getAddressDecoder()],\n ]);\n}\n\nexport function getSetAndVerifyCollectionInstructionDataCodec(): Codec<\n SetAndVerifyCollectionInstructionDataArgs,\n SetAndVerifyCollectionInstructionData\n> {\n return combineCodec(\n getSetAndVerifyCollectionInstructionDataEncoder(),\n getSetAndVerifyCollectionInstructionDataDecoder(),\n );\n}\n\nexport interface SetAndVerifyCollectionAsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountPayer extends string = string,\n TAccountTreeDelegate extends string = string,\n TAccountCollectionAuthority extends string = string,\n TAccountCollectionAuthorityRecordPda extends string = string,\n TAccountCollectionMint extends string = string,\n TAccountCollectionMetadata extends string = string,\n TAccountEditionAccount extends string = string,\n TAccountBubblegumSigner extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountTokenMetadataProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority?: Address<TAccountTreeAuthority>;\n leafOwner: Address<TAccountLeafOwner>;\n leafDelegate: Address<TAccountLeafDelegate>;\n merkleTree: Address<TAccountMerkleTree>;\n payer: TransactionSigner<TAccountPayer>;\n /**\n * This account is checked to be a signer in\n * the case of `set_and_verify_collection` where\n * we are actually changing the NFT metadata.\n */\n treeDelegate: Address<TAccountTreeDelegate>;\n collectionAuthority: TransactionSigner<TAccountCollectionAuthority>;\n /**\n * If there is no collecton authority record PDA then\n * this must be the Bubblegum program address.\n */\n collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;\n collectionMint: Address<TAccountCollectionMint>;\n collectionMetadata?: Address<TAccountCollectionMetadata>;\n editionAccount?: Address<TAccountEditionAccount>;\n bubblegumSigner?: Address<TAccountBubblegumSigner>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: SetAndVerifyCollectionInstructionDataArgs[\"root\"];\n dataHash: SetAndVerifyCollectionInstructionDataArgs[\"dataHash\"];\n creatorHash: SetAndVerifyCollectionInstructionDataArgs[\"creatorHash\"];\n nonce: SetAndVerifyCollectionInstructionDataArgs[\"nonce\"];\n index: SetAndVerifyCollectionInstructionDataArgs[\"index\"];\n message: SetAndVerifyCollectionInstructionDataArgs[\"message\"];\n collection: SetAndVerifyCollectionInstructionDataArgs[\"collection\"];\n}\n\nexport async function getSetAndVerifyCollectionInstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountPayer extends string,\n TAccountTreeDelegate extends string,\n TAccountCollectionAuthority extends string,\n TAccountCollectionAuthorityRecordPda extends string,\n TAccountCollectionMint extends string,\n TAccountCollectionMetadata extends string,\n TAccountEditionAccount extends string,\n TAccountBubblegumSigner extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountTokenMetadataProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: SetAndVerifyCollectionAsyncInput<\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeDelegate,\n TAccountCollectionAuthority,\n TAccountCollectionAuthorityRecordPda,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountEditionAccount,\n TAccountBubblegumSigner,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n SetAndVerifyCollectionInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeDelegate,\n TAccountCollectionAuthority,\n TAccountCollectionAuthorityRecordPda,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountEditionAccount,\n TAccountBubblegumSigner,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: false },\n treeDelegate: { value: input.treeDelegate ?? null, isWritable: false },\n collectionAuthority: {\n value: input.collectionAuthority ?? null,\n isWritable: false,\n },\n collectionAuthorityRecordPda: {\n value: input.collectionAuthorityRecordPda ?? null,\n isWritable: false,\n },\n collectionMint: { value: input.collectionMint ?? null, isWritable: false },\n collectionMetadata: {\n value: input.collectionMetadata ?? null,\n isWritable: true,\n },\n editionAccount: { value: input.editionAccount ?? null, isWritable: false },\n bubblegumSigner: {\n value: input.bubblegumSigner ?? null,\n isWritable: false,\n },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n tokenMetadataProgram: {\n value: input.tokenMetadataProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Original args.\n const args = { ...input };\n\n // Resolve default values.\n if (!accounts.treeAuthority.value) {\n accounts.treeAuthority.value = await findTreeConfigPda({\n merkleTree: getAddressFromResolvedInstructionAccount(\n \"merkleTree\",\n accounts.merkleTree.value,\n ),\n });\n }\n if (!accounts.collectionAuthorityRecordPda.value) {\n accounts.collectionAuthorityRecordPda.value = programAddress;\n accounts.collectionAuthorityRecordPda.isWritable = false;\n }\n if (!accounts.collectionMetadata.value) {\n accounts.collectionMetadata.value = await findMetadataPda({\n programId: address(\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\"),\n mint: getAddressFromResolvedInstructionAccount(\n \"collectionMint\",\n accounts.collectionMint.value,\n ),\n });\n }\n if (!accounts.editionAccount.value) {\n accounts.editionAccount.value = await findMasterEditionPda({\n programId: address(\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\"),\n mint: getAddressFromResolvedInstructionAccount(\n \"collectionMint\",\n accounts.collectionMint.value,\n ),\n });\n }\n if (!accounts.bubblegumSigner.value) {\n accounts.bubblegumSigner.value = await findBubblegumSignerPda();\n }\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\n }\n if (!accounts.tokenMetadataProgram.value) {\n accounts.tokenMetadataProgram.value =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\" as Address<\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\">;\n }\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"treeDelegate\", accounts.treeDelegate),\n getAccountMeta(\"collectionAuthority\", accounts.collectionAuthority),\n getAccountMeta(\n \"collectionAuthorityRecordPda\",\n accounts.collectionAuthorityRecordPda,\n ),\n getAccountMeta(\"collectionMint\", accounts.collectionMint),\n getAccountMeta(\"collectionMetadata\", accounts.collectionMetadata),\n getAccountMeta(\"editionAccount\", accounts.editionAccount),\n getAccountMeta(\"bubblegumSigner\", accounts.bubblegumSigner),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getSetAndVerifyCollectionInstructionDataEncoder().encode(\n args as SetAndVerifyCollectionInstructionDataArgs,\n ),\n programAddress,\n } as SetAndVerifyCollectionInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeDelegate,\n TAccountCollectionAuthority,\n TAccountCollectionAuthorityRecordPda,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountEditionAccount,\n TAccountBubblegumSigner,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface SetAndVerifyCollectionInput<\n TAccountTreeAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountPayer extends string = string,\n TAccountTreeDelegate extends string = string,\n TAccountCollectionAuthority extends string = string,\n TAccountCollectionAuthorityRecordPda extends string = string,\n TAccountCollectionMint extends string = string,\n TAccountCollectionMetadata extends string = string,\n TAccountEditionAccount extends string = string,\n TAccountBubblegumSigner extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountTokenMetadataProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority: Address<TAccountTreeAuthority>;\n leafOwner: Address<TAccountLeafOwner>;\n leafDelegate: Address<TAccountLeafDelegate>;\n merkleTree: Address<TAccountMerkleTree>;\n payer: TransactionSigner<TAccountPayer>;\n /**\n * This account is checked to be a signer in\n * the case of `set_and_verify_collection` where\n * we are actually changing the NFT metadata.\n */\n treeDelegate: Address<TAccountTreeDelegate>;\n collectionAuthority: TransactionSigner<TAccountCollectionAuthority>;\n /**\n * If there is no collecton authority record PDA then\n * this must be the Bubblegum program address.\n */\n collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;\n collectionMint: Address<TAccountCollectionMint>;\n collectionMetadata: Address<TAccountCollectionMetadata>;\n editionAccount: Address<TAccountEditionAccount>;\n bubblegumSigner: Address<TAccountBubblegumSigner>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: SetAndVerifyCollectionInstructionDataArgs[\"root\"];\n dataHash: SetAndVerifyCollectionInstructionDataArgs[\"dataHash\"];\n creatorHash: SetAndVerifyCollectionInstructionDataArgs[\"creatorHash\"];\n nonce: SetAndVerifyCollectionInstructionDataArgs[\"nonce\"];\n index: SetAndVerifyCollectionInstructionDataArgs[\"index\"];\n message: SetAndVerifyCollectionInstructionDataArgs[\"message\"];\n collection: SetAndVerifyCollectionInstructionDataArgs[\"collection\"];\n}\n\nexport function getSetAndVerifyCollectionInstruction<\n TAccountTreeAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountPayer extends string,\n TAccountTreeDelegate extends string,\n TAccountCollectionAuthority extends string,\n TAccountCollectionAuthorityRecordPda extends string,\n TAccountCollectionMint extends string,\n TAccountCollectionMetadata extends string,\n TAccountEditionAccount extends string,\n TAccountBubblegumSigner extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountTokenMetadataProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: SetAndVerifyCollectionInput<\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeDelegate,\n TAccountCollectionAuthority,\n TAccountCollectionAuthorityRecordPda,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountEditionAccount,\n TAccountBubblegumSigner,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): SetAndVerifyCollectionInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeDelegate,\n TAccountCollectionAuthority,\n TAccountCollectionAuthorityRecordPda,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountEditionAccount,\n TAccountBubblegumSigner,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: false },\n treeDelegate: { value: input.treeDelegate ?? null, isWritable: false },\n collectionAuthority: {\n value: input.collectionAuthority ?? null,\n isWritable: false,\n },\n collectionAuthorityRecordPda: {\n value: input.collectionAuthorityRecordPda ?? null,\n isWritable: false,\n },\n collectionMint: { value: input.collectionMint ?? null, isWritable: false },\n collectionMetadata: {\n value: input.collectionMetadata ?? null,\n isWritable: true,\n },\n editionAccount: { value: input.editionAccount ?? null, isWritable: false },\n bubblegumSigner: {\n value: input.bubblegumSigner ?? null,\n isWritable: false,\n },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n tokenMetadataProgram: {\n value: input.tokenMetadataProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Original args.\n const args = { ...input };\n\n // Resolve default values.\n if (!accounts.collectionAuthorityRecordPda.value) {\n accounts.collectionAuthorityRecordPda.value = programAddress;\n accounts.collectionAuthorityRecordPda.isWritable = false;\n }\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\n }\n if (!accounts.tokenMetadataProgram.value) {\n accounts.tokenMetadataProgram.value =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\" as Address<\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\">;\n }\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"treeDelegate\", accounts.treeDelegate),\n getAccountMeta(\"collectionAuthority\", accounts.collectionAuthority),\n getAccountMeta(\n \"collectionAuthorityRecordPda\",\n accounts.collectionAuthorityRecordPda,\n ),\n getAccountMeta(\"collectionMint\", accounts.collectionMint),\n getAccountMeta(\"collectionMetadata\", accounts.collectionMetadata),\n getAccountMeta(\"editionAccount\", accounts.editionAccount),\n getAccountMeta(\"bubblegumSigner\", accounts.bubblegumSigner),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getSetAndVerifyCollectionInstructionDataEncoder().encode(\n args as SetAndVerifyCollectionInstructionDataArgs,\n ),\n programAddress,\n } as SetAndVerifyCollectionInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeDelegate,\n TAccountCollectionAuthority,\n TAccountCollectionAuthorityRecordPda,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountEditionAccount,\n TAccountBubblegumSigner,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface ParsedSetAndVerifyCollectionInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],\n> {\n programAddress: Address<TProgram>;\n accounts: {\n treeAuthority: TAccountMetas[0];\n leafOwner: TAccountMetas[1];\n leafDelegate: TAccountMetas[2];\n merkleTree: TAccountMetas[3];\n payer: TAccountMetas[4];\n /**\n * This account is checked to be a signer in\n * the case of `set_and_verify_collection` where\n * we are actually changing the NFT metadata.\n */\n treeDelegate: TAccountMetas[5];\n collectionAuthority: TAccountMetas[6];\n /**\n * If there is no collecton authority record PDA then\n * this must be the Bubblegum program address.\n */\n collectionAuthorityRecordPda: TAccountMetas[7];\n collectionMint: TAccountMetas[8];\n collectionMetadata: TAccountMetas[9];\n editionAccount: TAccountMetas[10];\n bubblegumSigner: TAccountMetas[11];\n logWrapper: TAccountMetas[12];\n compressionProgram: TAccountMetas[13];\n tokenMetadataProgram: TAccountMetas[14];\n systemProgram: TAccountMetas[15];\n };\n data: SetAndVerifyCollectionInstructionData;\n}\n\nexport function parseSetAndVerifyCollectionInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedSetAndVerifyCollectionInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 16) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 16,\n },\n );\n }\n let accountIndex = 0;\n const getNextAccount = () => {\n const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;\n accountIndex += 1;\n return accountMeta;\n };\n return {\n programAddress: instruction.programAddress,\n accounts: {\n treeAuthority: getNextAccount(),\n leafOwner: getNextAccount(),\n leafDelegate: getNextAccount(),\n merkleTree: getNextAccount(),\n payer: getNextAccount(),\n treeDelegate: getNextAccount(),\n collectionAuthority: getNextAccount(),\n collectionAuthorityRecordPda: getNextAccount(),\n collectionMint: getNextAccount(),\n collectionMetadata: getNextAccount(),\n editionAccount: getNextAccount(),\n bubblegumSigner: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n tokenMetadataProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getSetAndVerifyCollectionInstructionDataDecoder().decode(\n instruction.data,\n ),\n };\n}\n"],"mappings":";;;;;;;;;AAiEA,MAAa,0CACX,IAAI,WAAW;CAAC;CAAK;CAAK;CAAK;CAAK;CAAK;CAAK;CAAK;AAAG,CAAC;AAEzD,SAAgB,8CAAkE;CAChF,OAAO,eAAe,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAC1C,uCACF;AACF;AA8GA,SAAgB,kDAAsG;CACpH,OAAO,iBACL,iBAAiB;EACf,CAAC,iBAAiB,eAAe,gBAAgB,GAAG,CAAC,CAAC;EACtD,CAAC,QAAQ,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;EACtD,CAAC,YAAY,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;EAC1D,CAAC,eAAe,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;EAC7D,CAAC,SAAS,cAAc,CAAC;EACzB,CAAC,SAAS,cAAc,CAAC;EACzB,CAAC,WAAW,uBAAuB,CAAC;EACpC,CAAC,cAAc,kBAAkB,CAAC;CACpC,CAAC,IACA,WAAW;EACV,GAAG;EACH,eAAe;CACjB,EACF;AACF;AAEA,SAAgB,kDAAkG;CAChH,OAAO,iBAAiB;EACtB,CAAC,iBAAiB,eAAe,gBAAgB,GAAG,CAAC,CAAC;EACtD,CAAC,QAAQ,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;EACtD,CAAC,YAAY,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;EAC1D,CAAC,eAAe,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;EAC7D,CAAC,SAAS,cAAc,CAAC;EACzB,CAAC,SAAS,cAAc,CAAC;EACzB,CAAC,WAAW,uBAAuB,CAAC;EACpC,CAAC,cAAc,kBAAkB,CAAC;CACpC,CAAC;AACH;AAEA,SAAgB,gDAGd;CACA,OAAO,aACL,gDAAgD,GAChD,gDAAgD,CAClD;AACF;AAsDA,eAAsB,0CAmBpB,OAkBA,QAqBA;CAEA,MAAM,iBAAiB,QAAQ,kBAAA;CAuC/B,MAAM,WAAW;EAnCf,eAAe;GAAE,OAAO,MAAM,iBAAiB;GAAM,YAAY;EAAM;EACvE,WAAW;GAAE,OAAO,MAAM,aAAa;GAAM,YAAY;EAAM;EAC/D,cAAc;GAAE,OAAO,MAAM,gBAAgB;GAAM,YAAY;EAAM;EACrE,YAAY;GAAE,OAAO,MAAM,cAAc;GAAM,YAAY;EAAK;EAChE,OAAO;GAAE,OAAO,MAAM,SAAS;GAAM,YAAY;EAAM;EACvD,cAAc;GAAE,OAAO,MAAM,gBAAgB;GAAM,YAAY;EAAM;EACrE,qBAAqB;GACnB,OAAO,MAAM,uBAAuB;GACpC,YAAY;EACd;EACA,8BAA8B;GAC5B,OAAO,MAAM,gCAAgC;GAC7C,YAAY;EACd;EACA,gBAAgB;GAAE,OAAO,MAAM,kBAAkB;GAAM,YAAY;EAAM;EACzE,oBAAoB;GAClB,OAAO,MAAM,sBAAsB;GACnC,YAAY;EACd;EACA,gBAAgB;GAAE,OAAO,MAAM,kBAAkB;GAAM,YAAY;EAAM;EACzE,iBAAiB;GACf,OAAO,MAAM,mBAAmB;GAChC,YAAY;EACd;EACA,YAAY;GAAE,OAAO,MAAM,cAAc;GAAM,YAAY;EAAM;EACjE,oBAAoB;GAClB,OAAO,MAAM,sBAAsB;GACnC,YAAY;EACd;EACA,sBAAsB;GACpB,OAAO,MAAM,wBAAwB;GACrC,YAAY;EACd;EACA,eAAe;GAAE,OAAO,MAAM,iBAAiB;GAAM,YAAY;EAAM;CAEzC;CAMhC,MAAM,OAAO,EAAE,GAAG,MAAM;CAGxB,IAAI,CAAC,SAAS,cAAc,OAC1B,SAAS,cAAc,QAAQ,MAAM,kBAAkB,EACrD,YAAY,yCACV,cACA,SAAS,WAAW,KACtB,EACF,CAAC;CAEH,IAAI,CAAC,SAAS,6BAA6B,OAAO;EAChD,SAAS,6BAA6B,QAAQ;EAC9C,SAAS,6BAA6B,aAAa;CACrD;CACA,IAAI,CAAC,SAAS,mBAAmB,OAC/B,SAAS,mBAAmB,QAAQ,MAAM,gBAAgB;EACxD,WAAW,QAAQ,6CAA6C;EAChE,MAAM,yCACJ,kBACA,SAAS,eAAe,KAC1B;CACF,CAAC;CAEH,IAAI,CAAC,SAAS,eAAe,OAC3B,SAAS,eAAe,QAAQ,MAAM,qBAAqB;EACzD,WAAW,QAAQ,6CAA6C;EAChE,MAAM,yCACJ,kBACA,SAAS,eAAe,KAC1B;CACF,CAAC;CAEH,IAAI,CAAC,SAAS,gBAAgB,OAC5B,SAAS,gBAAgB,QAAQ,MAAM,uBAAuB;CAEhE,IAAI,CAAC,SAAS,WAAW,OACvB,SAAS,WAAW,QAClB;CAEJ,IAAI,CAAC,SAAS,mBAAmB,OAC/B,SAAS,mBAAmB,QAC1B;CAEJ,IAAI,CAAC,SAAS,qBAAqB,OACjC,SAAS,qBAAqB,QAC5B;CAEJ,IAAI,CAAC,SAAS,cAAc,OAC1B,SAAS,cAAc,QACrB;CAGJ,MAAM,iBAAiB,sBAAsB,gBAAgB,WAAW;CACxE,OAAO,OAAO,OAAO;EACnB,UAAU;GACR,eAAe,iBAAiB,SAAS,aAAa;GACtD,eAAe,aAAa,SAAS,SAAS;GAC9C,eAAe,gBAAgB,SAAS,YAAY;GACpD,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,SAAS,SAAS,KAAK;GACtC,eAAe,gBAAgB,SAAS,YAAY;GACpD,eAAe,uBAAuB,SAAS,mBAAmB;GAClE,eACE,gCACA,SAAS,4BACX;GACA,eAAe,kBAAkB,SAAS,cAAc;GACxD,eAAe,sBAAsB,SAAS,kBAAkB;GAChE,eAAe,kBAAkB,SAAS,cAAc;GACxD,eAAe,mBAAmB,SAAS,eAAe;GAC1D,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,sBAAsB,SAAS,kBAAkB;GAChE,eAAe,wBAAwB,SAAS,oBAAoB;GACpE,eAAe,iBAAiB,SAAS,aAAa;EACxD;EACA,MAAM,gDAAgD,CAAC,CAAC,OACtD,IACF;EACA;CACF,CAkBC;AACH;AAsDA,SAAgB,qCAmBd,OAkBA,QAmBA;CAEA,MAAM,iBAAiB,QAAQ,kBAAA;CAuC/B,MAAM,WAAW;EAnCf,eAAe;GAAE,OAAO,MAAM,iBAAiB;GAAM,YAAY;EAAM;EACvE,WAAW;GAAE,OAAO,MAAM,aAAa;GAAM,YAAY;EAAM;EAC/D,cAAc;GAAE,OAAO,MAAM,gBAAgB;GAAM,YAAY;EAAM;EACrE,YAAY;GAAE,OAAO,MAAM,cAAc;GAAM,YAAY;EAAK;EAChE,OAAO;GAAE,OAAO,MAAM,SAAS;GAAM,YAAY;EAAM;EACvD,cAAc;GAAE,OAAO,MAAM,gBAAgB;GAAM,YAAY;EAAM;EACrE,qBAAqB;GACnB,OAAO,MAAM,uBAAuB;GACpC,YAAY;EACd;EACA,8BAA8B;GAC5B,OAAO,MAAM,gCAAgC;GAC7C,YAAY;EACd;EACA,gBAAgB;GAAE,OAAO,MAAM,kBAAkB;GAAM,YAAY;EAAM;EACzE,oBAAoB;GAClB,OAAO,MAAM,sBAAsB;GACnC,YAAY;EACd;EACA,gBAAgB;GAAE,OAAO,MAAM,kBAAkB;GAAM,YAAY;EAAM;EACzE,iBAAiB;GACf,OAAO,MAAM,mBAAmB;GAChC,YAAY;EACd;EACA,YAAY;GAAE,OAAO,MAAM,cAAc;GAAM,YAAY;EAAM;EACjE,oBAAoB;GAClB,OAAO,MAAM,sBAAsB;GACnC,YAAY;EACd;EACA,sBAAsB;GACpB,OAAO,MAAM,wBAAwB;GACrC,YAAY;EACd;EACA,eAAe;GAAE,OAAO,MAAM,iBAAiB;GAAM,YAAY;EAAM;CAEzC;CAMhC,MAAM,OAAO,EAAE,GAAG,MAAM;CAGxB,IAAI,CAAC,SAAS,6BAA6B,OAAO;EAChD,SAAS,6BAA6B,QAAQ;EAC9C,SAAS,6BAA6B,aAAa;CACrD;CACA,IAAI,CAAC,SAAS,WAAW,OACvB,SAAS,WAAW,QAClB;CAEJ,IAAI,CAAC,SAAS,mBAAmB,OAC/B,SAAS,mBAAmB,QAC1B;CAEJ,IAAI,CAAC,SAAS,qBAAqB,OACjC,SAAS,qBAAqB,QAC5B;CAEJ,IAAI,CAAC,SAAS,cAAc,OAC1B,SAAS,cAAc,QACrB;CAGJ,MAAM,iBAAiB,sBAAsB,gBAAgB,WAAW;CACxE,OAAO,OAAO,OAAO;EACnB,UAAU;GACR,eAAe,iBAAiB,SAAS,aAAa;GACtD,eAAe,aAAa,SAAS,SAAS;GAC9C,eAAe,gBAAgB,SAAS,YAAY;GACpD,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,SAAS,SAAS,KAAK;GACtC,eAAe,gBAAgB,SAAS,YAAY;GACpD,eAAe,uBAAuB,SAAS,mBAAmB;GAClE,eACE,gCACA,SAAS,4BACX;GACA,eAAe,kBAAkB,SAAS,cAAc;GACxD,eAAe,sBAAsB,SAAS,kBAAkB;GAChE,eAAe,kBAAkB,SAAS,cAAc;GACxD,eAAe,mBAAmB,SAAS,eAAe;GAC1D,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,sBAAsB,SAAS,kBAAkB;GAChE,eAAe,wBAAwB,SAAS,oBAAoB;GACpE,eAAe,iBAAiB,SAAS,aAAa;EACxD;EACA,MAAM,gDAAgD,CAAC,CAAC,OACtD,IACF;EACA;CACF,CAkBC;AACH;AAqCA,SAAgB,uCAId,aAGkE;CAClE,IAAI,YAAY,SAAS,SAAS,IAChC,MAAM,IAAI,YACR,2DACA;EACE,oBAAoB,YAAY,SAAS;EACzC,sBAAsB;CACxB,CACF;CAEF,IAAI,eAAe;CACnB,MAAM,uBAAuB;EAC3B,MAAM,cAAe,YAAY,SAA2B;EAC5D,gBAAgB;EAChB,OAAO;CACT;CACA,OAAO;EACL,gBAAgB,YAAY;EAC5B,UAAU;GACR,eAAe,eAAe;GAC9B,WAAW,eAAe;GAC1B,cAAc,eAAe;GAC7B,YAAY,eAAe;GAC3B,OAAO,eAAe;GACtB,cAAc,eAAe;GAC7B,qBAAqB,eAAe;GACpC,8BAA8B,eAAe;GAC7C,gBAAgB,eAAe;GAC/B,oBAAoB,eAAe;GACnC,gBAAgB,eAAe;GAC/B,iBAAiB,eAAe;GAChC,YAAY,eAAe;GAC3B,oBAAoB,eAAe;GACnC,sBAAsB,eAAe;GACrC,eAAe,eAAe;EAChC;EACA,MAAM,gDAAgD,CAAC,CAAC,OACtD,YAAY,IACd;CACF;AACF"}