@macalinao/clients-mpl-bubblegum 0.0.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 (334) hide show
  1. package/README.md +15 -1
  2. package/dist/generated/accounts/index.d.ts +2 -0
  3. package/dist/generated/accounts/treeConfig.d.ts +48 -0
  4. package/dist/generated/accounts/treeConfig.d.ts.map +1 -0
  5. package/dist/generated/accounts/treeConfig.js +84 -0
  6. package/dist/generated/accounts/treeConfig.js.map +1 -0
  7. package/dist/generated/accounts/voucher.d.ts +39 -0
  8. package/dist/generated/accounts/voucher.d.ts.map +1 -0
  9. package/dist/generated/accounts/voucher.js +75 -0
  10. package/dist/generated/accounts/voucher.js.map +1 -0
  11. package/dist/generated/errors/bubblegum.d.ts +131 -0
  12. package/dist/generated/errors/bubblegum.d.ts.map +1 -0
  13. package/dist/generated/errors/bubblegum.js +188 -0
  14. package/dist/generated/errors/bubblegum.js.map +1 -0
  15. package/dist/generated/errors/index.d.ts +1 -0
  16. package/dist/generated/index.d.ts +63 -0
  17. package/dist/generated/instructions/burn.d.ts +76 -0
  18. package/dist/generated/instructions/burn.d.ts.map +1 -0
  19. package/dist/generated/instructions/burn.js +176 -0
  20. package/dist/generated/instructions/burn.js.map +1 -0
  21. package/dist/generated/instructions/burnV2.d.ts +113 -0
  22. package/dist/generated/instructions/burnV2.d.ts.map +1 -0
  23. package/dist/generated/instructions/burnV2.js +247 -0
  24. package/dist/generated/instructions/burnV2.js.map +1 -0
  25. package/dist/generated/instructions/cancelRedeem.d.ts +60 -0
  26. package/dist/generated/instructions/cancelRedeem.d.ts.map +1 -0
  27. package/dist/generated/instructions/cancelRedeem.js +162 -0
  28. package/dist/generated/instructions/cancelRedeem.js.map +1 -0
  29. package/dist/generated/instructions/closeTreeV2.d.ts +69 -0
  30. package/dist/generated/instructions/closeTreeV2.d.ts.map +1 -0
  31. package/dist/generated/instructions/closeTreeV2.js +160 -0
  32. package/dist/generated/instructions/closeTreeV2.js.map +1 -0
  33. package/dist/generated/instructions/collectV2.d.ts +33 -0
  34. package/dist/generated/instructions/collectV2.d.ts.map +1 -0
  35. package/dist/generated/instructions/collectV2.js +72 -0
  36. package/dist/generated/instructions/collectV2.js.map +1 -0
  37. package/dist/generated/instructions/compress.d.ts +76 -0
  38. package/dist/generated/instructions/compress.d.ts.map +1 -0
  39. package/dist/generated/instructions/compress.js +241 -0
  40. package/dist/generated/instructions/compress.js.map +1 -0
  41. package/dist/generated/instructions/createTree.d.ts +68 -0
  42. package/dist/generated/instructions/createTree.d.ts.map +1 -0
  43. package/dist/generated/instructions/createTree.js +172 -0
  44. package/dist/generated/instructions/createTree.js.map +1 -0
  45. package/dist/generated/instructions/createTreeV2.d.ts +70 -0
  46. package/dist/generated/instructions/createTreeV2.d.ts.map +1 -0
  47. package/dist/generated/instructions/createTreeV2.js +176 -0
  48. package/dist/generated/instructions/createTreeV2.js.map +1 -0
  49. package/dist/generated/instructions/decompressV1.d.ts +79 -0
  50. package/dist/generated/instructions/decompressV1.d.ts.map +1 -0
  51. package/dist/generated/instructions/decompressV1.js +259 -0
  52. package/dist/generated/instructions/decompressV1.js.map +1 -0
  53. package/dist/generated/instructions/delegate.d.ts +79 -0
  54. package/dist/generated/instructions/delegate.d.ts.map +1 -0
  55. package/dist/generated/instructions/delegate.js +187 -0
  56. package/dist/generated/instructions/delegate.js.map +1 -0
  57. package/dist/generated/instructions/delegateAndFreezeV2.d.ts +98 -0
  58. package/dist/generated/instructions/delegateAndFreezeV2.d.ts.map +1 -0
  59. package/dist/generated/instructions/delegateAndFreezeV2.js +208 -0
  60. package/dist/generated/instructions/delegateAndFreezeV2.js.map +1 -0
  61. package/dist/generated/instructions/delegateV2.d.ts +98 -0
  62. package/dist/generated/instructions/delegateV2.d.ts.map +1 -0
  63. package/dist/generated/instructions/delegateV2.js +208 -0
  64. package/dist/generated/instructions/delegateV2.js.map +1 -0
  65. package/dist/generated/instructions/freezeV2.d.ts +105 -0
  66. package/dist/generated/instructions/freezeV2.d.ts.map +1 -0
  67. package/dist/generated/instructions/freezeV2.js +217 -0
  68. package/dist/generated/instructions/freezeV2.js.map +1 -0
  69. package/dist/generated/instructions/index.d.ts +36 -0
  70. package/dist/generated/instructions/mintToCollectionV1.d.ts +100 -0
  71. package/dist/generated/instructions/mintToCollectionV1.d.ts.map +1 -0
  72. package/dist/generated/instructions/mintToCollectionV1.js +284 -0
  73. package/dist/generated/instructions/mintToCollectionV1.js.map +1 -0
  74. package/dist/generated/instructions/mintV1.d.ts +67 -0
  75. package/dist/generated/instructions/mintV1.d.ts.map +1 -0
  76. package/dist/generated/instructions/mintV1.js +185 -0
  77. package/dist/generated/instructions/mintV1.js.map +1 -0
  78. package/dist/generated/instructions/mintV2.d.ts +92 -0
  79. package/dist/generated/instructions/mintV2.d.ts.map +1 -0
  80. package/dist/generated/instructions/mintV2.js +252 -0
  81. package/dist/generated/instructions/mintV2.js.map +1 -0
  82. package/dist/generated/instructions/redeem.d.ts +79 -0
  83. package/dist/generated/instructions/redeem.d.ts.map +1 -0
  84. package/dist/generated/instructions/redeem.js +187 -0
  85. package/dist/generated/instructions/redeem.js.map +1 -0
  86. package/dist/generated/instructions/setAndVerifyCollection.d.ts +139 -0
  87. package/dist/generated/instructions/setAndVerifyCollection.d.ts.map +1 -0
  88. package/dist/generated/instructions/setAndVerifyCollection.js +302 -0
  89. package/dist/generated/instructions/setAndVerifyCollection.js.map +1 -0
  90. package/dist/generated/instructions/setCollectionV2.d.ts +131 -0
  91. package/dist/generated/instructions/setCollectionV2.d.ts.map +1 -0
  92. package/dist/generated/instructions/setCollectionV2.js +264 -0
  93. package/dist/generated/instructions/setCollectionV2.js.map +1 -0
  94. package/dist/generated/instructions/setDecompressableState.d.ts +38 -0
  95. package/dist/generated/instructions/setDecompressableState.d.ts.map +1 -0
  96. package/dist/generated/instructions/setDecompressableState.js +74 -0
  97. package/dist/generated/instructions/setDecompressableState.js.map +1 -0
  98. package/dist/generated/instructions/setDecompressibleState.d.ts +38 -0
  99. package/dist/generated/instructions/setDecompressibleState.d.ts.map +1 -0
  100. package/dist/generated/instructions/setDecompressibleState.js +74 -0
  101. package/dist/generated/instructions/setDecompressibleState.js.map +1 -0
  102. package/dist/generated/instructions/setNonTransferableV2.d.ts +107 -0
  103. package/dist/generated/instructions/setNonTransferableV2.d.ts.map +1 -0
  104. package/dist/generated/instructions/setNonTransferableV2.js +217 -0
  105. package/dist/generated/instructions/setNonTransferableV2.js.map +1 -0
  106. package/dist/generated/instructions/setTreeDelegate.d.ts +49 -0
  107. package/dist/generated/instructions/setTreeDelegate.d.ts.map +1 -0
  108. package/dist/generated/instructions/setTreeDelegate.js +134 -0
  109. package/dist/generated/instructions/setTreeDelegate.js.map +1 -0
  110. package/dist/generated/instructions/thawAndRevokeV2.d.ts +93 -0
  111. package/dist/generated/instructions/thawAndRevokeV2.d.ts.map +1 -0
  112. package/dist/generated/instructions/thawAndRevokeV2.js +197 -0
  113. package/dist/generated/instructions/thawAndRevokeV2.js.map +1 -0
  114. package/dist/generated/instructions/thawV2.d.ts +105 -0
  115. package/dist/generated/instructions/thawV2.d.ts.map +1 -0
  116. package/dist/generated/instructions/thawV2.js +217 -0
  117. package/dist/generated/instructions/thawV2.js.map +1 -0
  118. package/dist/generated/instructions/transfer.d.ts +79 -0
  119. package/dist/generated/instructions/transfer.d.ts.map +1 -0
  120. package/dist/generated/instructions/transfer.js +187 -0
  121. package/dist/generated/instructions/transfer.js.map +1 -0
  122. package/dist/generated/instructions/transferV2.d.ts +110 -0
  123. package/dist/generated/instructions/transferV2.d.ts.map +1 -0
  124. package/dist/generated/instructions/transferV2.js +228 -0
  125. package/dist/generated/instructions/transferV2.js.map +1 -0
  126. package/dist/generated/instructions/unverifyCollection.d.ts +135 -0
  127. package/dist/generated/instructions/unverifyCollection.d.ts.map +1 -0
  128. package/dist/generated/instructions/unverifyCollection.js +300 -0
  129. package/dist/generated/instructions/unverifyCollection.js.map +1 -0
  130. package/dist/generated/instructions/unverifyCreator.d.ts +87 -0
  131. package/dist/generated/instructions/unverifyCreator.d.ts.map +1 -0
  132. package/dist/generated/instructions/unverifyCreator.js +201 -0
  133. package/dist/generated/instructions/unverifyCreator.js.map +1 -0
  134. package/dist/generated/instructions/unverifyCreatorV2.d.ts +91 -0
  135. package/dist/generated/instructions/unverifyCreatorV2.d.ts.map +1 -0
  136. package/dist/generated/instructions/unverifyCreatorV2.js +205 -0
  137. package/dist/generated/instructions/unverifyCreatorV2.js.map +1 -0
  138. package/dist/generated/instructions/updateAssetDataV2.d.ts +114 -0
  139. package/dist/generated/instructions/updateAssetDataV2.d.ts.map +1 -0
  140. package/dist/generated/instructions/updateAssetDataV2.js +222 -0
  141. package/dist/generated/instructions/updateAssetDataV2.js.map +1 -0
  142. package/dist/generated/instructions/updateMetadata.d.ts +112 -0
  143. package/dist/generated/instructions/updateMetadata.d.ts.map +1 -0
  144. package/dist/generated/instructions/updateMetadata.js +250 -0
  145. package/dist/generated/instructions/updateMetadata.js.map +1 -0
  146. package/dist/generated/instructions/updateMetadataV2.d.ts +109 -0
  147. package/dist/generated/instructions/updateMetadataV2.d.ts.map +1 -0
  148. package/dist/generated/instructions/updateMetadataV2.js +219 -0
  149. package/dist/generated/instructions/updateMetadataV2.js.map +1 -0
  150. package/dist/generated/instructions/verifyCollection.d.ts +135 -0
  151. package/dist/generated/instructions/verifyCollection.d.ts.map +1 -0
  152. package/dist/generated/instructions/verifyCollection.js +300 -0
  153. package/dist/generated/instructions/verifyCollection.js.map +1 -0
  154. package/dist/generated/instructions/verifyCreator.d.ts +87 -0
  155. package/dist/generated/instructions/verifyCreator.d.ts.map +1 -0
  156. package/dist/generated/instructions/verifyCreator.js +201 -0
  157. package/dist/generated/instructions/verifyCreator.js.map +1 -0
  158. package/dist/generated/instructions/verifyCreatorV2.d.ts +91 -0
  159. package/dist/generated/instructions/verifyCreatorV2.d.ts.map +1 -0
  160. package/dist/generated/instructions/verifyCreatorV2.js +205 -0
  161. package/dist/generated/instructions/verifyCreatorV2.js.map +1 -0
  162. package/dist/generated/pdas/assetId.d.ts +16 -0
  163. package/dist/generated/pdas/assetId.d.ts.map +1 -0
  164. package/dist/generated/pdas/assetId.js +18 -0
  165. package/dist/generated/pdas/assetId.js.map +1 -0
  166. package/dist/generated/pdas/bubblegumSigner.d.ts +10 -0
  167. package/dist/generated/pdas/bubblegumSigner.d.ts.map +1 -0
  168. package/dist/generated/pdas/bubblegumSigner.js +14 -0
  169. package/dist/generated/pdas/bubblegumSigner.js.map +1 -0
  170. package/dist/generated/pdas/index.d.ts +7 -0
  171. package/dist/generated/pdas/masterEdition.d.ts +14 -0
  172. package/dist/generated/pdas/masterEdition.d.ts.map +1 -0
  173. package/dist/generated/pdas/masterEdition.js +19 -0
  174. package/dist/generated/pdas/masterEdition.js.map +1 -0
  175. package/dist/generated/pdas/metadata.d.ts +14 -0
  176. package/dist/generated/pdas/metadata.d.ts.map +1 -0
  177. package/dist/generated/pdas/metadata.js +18 -0
  178. package/dist/generated/pdas/metadata.js.map +1 -0
  179. package/dist/generated/pdas/mintAuthority.d.ts +14 -0
  180. package/dist/generated/pdas/mintAuthority.d.ts.map +1 -0
  181. package/dist/generated/pdas/mintAuthority.js +14 -0
  182. package/dist/generated/pdas/mintAuthority.js.map +1 -0
  183. package/dist/generated/pdas/treeConfig.d.ts +14 -0
  184. package/dist/generated/pdas/treeConfig.d.ts.map +1 -0
  185. package/dist/generated/pdas/treeConfig.js +14 -0
  186. package/dist/generated/pdas/treeConfig.js.map +1 -0
  187. package/dist/generated/pdas/voucher.d.ts +16 -0
  188. package/dist/generated/pdas/voucher.d.ts.map +1 -0
  189. package/dist/generated/pdas/voucher.js +18 -0
  190. package/dist/generated/pdas/voucher.js.map +1 -0
  191. package/dist/generated/programs/bubblegum.d.ts +232 -0
  192. package/dist/generated/programs/bubblegum.d.ts.map +1 -0
  193. package/dist/generated/programs/bubblegum.js +844 -0
  194. package/dist/generated/programs/bubblegum.js.map +1 -0
  195. package/dist/generated/programs/index.d.ts +2 -0
  196. package/dist/generated/programs/mplTokenMetadata.d.ts +20 -0
  197. package/dist/generated/programs/mplTokenMetadata.d.ts.map +1 -0
  198. package/dist/generated/programs/mplTokenMetadata.js +17 -0
  199. package/dist/generated/programs/mplTokenMetadata.js.map +1 -0
  200. package/dist/generated/types/assetDataSchema.d.ts +15 -0
  201. package/dist/generated/types/assetDataSchema.d.ts.map +1 -0
  202. package/dist/generated/types/assetDataSchema.js +21 -0
  203. package/dist/generated/types/assetDataSchema.js.map +1 -0
  204. package/dist/generated/types/bubblegumEventType.d.ts +14 -0
  205. package/dist/generated/types/bubblegumEventType.d.ts.map +1 -0
  206. package/dist/generated/types/bubblegumEventType.js +20 -0
  207. package/dist/generated/types/bubblegumEventType.js.map +1 -0
  208. package/dist/generated/types/collection.d.ts +14 -0
  209. package/dist/generated/types/collection.d.ts.map +1 -0
  210. package/dist/generated/types/collection.js +15 -0
  211. package/dist/generated/types/collection.js.map +1 -0
  212. package/dist/generated/types/creator.d.ts +20 -0
  213. package/dist/generated/types/creator.d.ts.map +1 -0
  214. package/dist/generated/types/creator.js +23 -0
  215. package/dist/generated/types/creator.js.map +1 -0
  216. package/dist/generated/types/decompressibleState.d.ts +14 -0
  217. package/dist/generated/types/decompressibleState.d.ts.map +1 -0
  218. package/dist/generated/types/decompressibleState.js +20 -0
  219. package/dist/generated/types/decompressibleState.js.map +1 -0
  220. package/dist/generated/types/index.d.ts +15 -0
  221. package/dist/generated/types/instructionName.d.ts +47 -0
  222. package/dist/generated/types/instructionName.d.ts.map +1 -0
  223. package/dist/generated/types/instructionName.js +53 -0
  224. package/dist/generated/types/instructionName.js.map +1 -0
  225. package/dist/generated/types/leafSchema.d.ts +54 -0
  226. package/dist/generated/types/leafSchema.d.ts.map +1 -0
  227. package/dist/generated/types/leafSchema.js +61 -0
  228. package/dist/generated/types/leafSchema.js.map +1 -0
  229. package/dist/generated/types/metadataArgs.d.ts +62 -0
  230. package/dist/generated/types/metadataArgs.d.ts.map +1 -0
  231. package/dist/generated/types/metadataArgs.js +46 -0
  232. package/dist/generated/types/metadataArgs.js.map +1 -0
  233. package/dist/generated/types/metadataArgsV2.d.ts +51 -0
  234. package/dist/generated/types/metadataArgsV2.d.ts.map +1 -0
  235. package/dist/generated/types/metadataArgsV2.js +37 -0
  236. package/dist/generated/types/metadataArgsV2.js.map +1 -0
  237. package/dist/generated/types/tokenProgramVersion.d.ts +14 -0
  238. package/dist/generated/types/tokenProgramVersion.d.ts.map +1 -0
  239. package/dist/generated/types/tokenProgramVersion.js +20 -0
  240. package/dist/generated/types/tokenProgramVersion.js.map +1 -0
  241. package/dist/generated/types/tokenStandard.d.ts +16 -0
  242. package/dist/generated/types/tokenStandard.d.ts.map +1 -0
  243. package/dist/generated/types/tokenStandard.js +22 -0
  244. package/dist/generated/types/tokenStandard.js.map +1 -0
  245. package/dist/generated/types/updateArgs.d.ts +28 -0
  246. package/dist/generated/types/updateArgs.d.ts.map +1 -0
  247. package/dist/generated/types/updateArgs.js +32 -0
  248. package/dist/generated/types/updateArgs.js.map +1 -0
  249. package/dist/generated/types/useMethod.d.ts +15 -0
  250. package/dist/generated/types/useMethod.d.ts.map +1 -0
  251. package/dist/generated/types/useMethod.js +21 -0
  252. package/dist/generated/types/useMethod.js.map +1 -0
  253. package/dist/generated/types/uses.d.ts +20 -0
  254. package/dist/generated/types/uses.d.ts.map +1 -0
  255. package/dist/generated/types/uses.js +24 -0
  256. package/dist/generated/types/uses.js.map +1 -0
  257. package/dist/generated/types/version.d.ts +14 -0
  258. package/dist/generated/types/version.d.ts.map +1 -0
  259. package/dist/generated/types/version.js +20 -0
  260. package/dist/generated/types/version.js.map +1 -0
  261. package/dist/index.d.ts +64 -0
  262. package/dist/index.js +64 -0
  263. package/package.json +53 -5
  264. package/src/generated/accounts/index.ts +10 -0
  265. package/src/generated/accounts/treeConfig.ts +197 -0
  266. package/src/generated/accounts/voucher.ts +166 -0
  267. package/src/generated/errors/bubblegum.ts +309 -0
  268. package/src/generated/errors/index.ts +9 -0
  269. package/src/generated/index.ts +14 -0
  270. package/src/generated/instructions/burn.ts +454 -0
  271. package/src/generated/instructions/burnV2.ts +641 -0
  272. package/src/generated/instructions/cancelRedeem.ts +432 -0
  273. package/src/generated/instructions/closeTreeV2.ts +424 -0
  274. package/src/generated/instructions/collectV2.ts +184 -0
  275. package/src/generated/instructions/compress.ts +589 -0
  276. package/src/generated/instructions/createTree.ts +448 -0
  277. package/src/generated/instructions/createTreeV2.ts +459 -0
  278. package/src/generated/instructions/decompressV1.ts +646 -0
  279. package/src/generated/instructions/delegate.ts +492 -0
  280. package/src/generated/instructions/delegateAndFreezeV2.ts +568 -0
  281. package/src/generated/instructions/delegateV2.ts +562 -0
  282. package/src/generated/instructions/freezeV2.ts +566 -0
  283. package/src/generated/instructions/index.ts +44 -0
  284. package/src/generated/instructions/mintToCollectionV1.ts +732 -0
  285. package/src/generated/instructions/mintV1.ts +476 -0
  286. package/src/generated/instructions/mintV2.ts +649 -0
  287. package/src/generated/instructions/redeem.ts +480 -0
  288. package/src/generated/instructions/setAndVerifyCollection.ts +792 -0
  289. package/src/generated/instructions/setCollectionV2.ts +711 -0
  290. package/src/generated/instructions/setDecompressableState.ts +218 -0
  291. package/src/generated/instructions/setDecompressibleState.ts +218 -0
  292. package/src/generated/instructions/setNonTransferableV2.ts +575 -0
  293. package/src/generated/instructions/setTreeDelegate.ts +344 -0
  294. package/src/generated/instructions/thawAndRevokeV2.ts +526 -0
  295. package/src/generated/instructions/thawV2.ts +566 -0
  296. package/src/generated/instructions/transfer.ts +476 -0
  297. package/src/generated/instructions/transferV2.ts +591 -0
  298. package/src/generated/instructions/unverifyCollection.ts +781 -0
  299. package/src/generated/instructions/unverifyCreator.ts +515 -0
  300. package/src/generated/instructions/unverifyCreatorV2.ts +538 -0
  301. package/src/generated/instructions/updateAssetDataV2.ts +599 -0
  302. package/src/generated/instructions/updateMetadata.ts +665 -0
  303. package/src/generated/instructions/updateMetadataV2.ts +582 -0
  304. package/src/generated/instructions/verifyCollection.ts +779 -0
  305. package/src/generated/instructions/verifyCreator.ts +516 -0
  306. package/src/generated/instructions/verifyCreatorV2.ts +538 -0
  307. package/src/generated/pdas/assetId.ts +40 -0
  308. package/src/generated/pdas/bubblegumSigner.ts +23 -0
  309. package/src/generated/pdas/index.ts +15 -0
  310. package/src/generated/pdas/masterEdition.ts +38 -0
  311. package/src/generated/pdas/metadata.ts +37 -0
  312. package/src/generated/pdas/mintAuthority.ts +29 -0
  313. package/src/generated/pdas/treeConfig.ts +29 -0
  314. package/src/generated/pdas/voucher.ts +40 -0
  315. package/src/generated/programs/bubblegum.ts +1509 -0
  316. package/src/generated/programs/index.ts +10 -0
  317. package/src/generated/programs/mplTokenMetadata.ts +42 -0
  318. package/src/generated/types/assetDataSchema.ts +37 -0
  319. package/src/generated/types/bubblegumEventType.ts +39 -0
  320. package/src/generated/types/collection.ts +51 -0
  321. package/src/generated/types/creator.ts +58 -0
  322. package/src/generated/types/decompressibleState.ts +39 -0
  323. package/src/generated/types/index.ts +23 -0
  324. package/src/generated/types/instructionName.ts +69 -0
  325. package/src/generated/types/leafSchema.ts +166 -0
  326. package/src/generated/types/metadataArgs.ts +148 -0
  327. package/src/generated/types/metadataArgsV2.ts +126 -0
  328. package/src/generated/types/tokenProgramVersion.ts +39 -0
  329. package/src/generated/types/tokenStandard.ts +38 -0
  330. package/src/generated/types/updateArgs.ts +102 -0
  331. package/src/generated/types/useMethod.ts +34 -0
  332. package/src/generated/types/uses.ts +54 -0
  333. package/src/generated/types/version.ts +33 -0
  334. package/src/index.ts +8 -0
@@ -0,0 +1,250 @@
1
+ import { findTreeConfigPda } from "../pdas/treeConfig.js";
2
+ import { getMetadataArgsDecoder, getMetadataArgsEncoder } from "../types/metadataArgs.js";
3
+ import { getUpdateArgsDecoder, getUpdateArgsEncoder } from "../types/updateArgs.js";
4
+ import "../programs/bubblegum.js";
5
+ import { SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, combineCodec, fixDecoderSize, fixEncoderSize, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, transformEncoder } from "@solana/kit";
6
+ import { getAccountMetaFactory, getAddressFromResolvedInstructionAccount } from "@solana/program-client-core";
7
+ //#region src/generated/instructions/updateMetadata.ts
8
+ const UPDATE_METADATA_DISCRIMINATOR = new Uint8Array([
9
+ 170,
10
+ 182,
11
+ 43,
12
+ 239,
13
+ 97,
14
+ 78,
15
+ 225,
16
+ 186
17
+ ]);
18
+ function getUpdateMetadataDiscriminatorBytes() {
19
+ return fixEncoderSize(getBytesEncoder(), 8).encode(UPDATE_METADATA_DISCRIMINATOR);
20
+ }
21
+ function getUpdateMetadataInstructionDataEncoder() {
22
+ return transformEncoder(getStructEncoder([
23
+ ["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
24
+ ["root", getArrayEncoder(getU8Encoder(), { size: 32 })],
25
+ ["nonce", getU64Encoder()],
26
+ ["index", getU32Encoder()],
27
+ ["currentMetadata", getMetadataArgsEncoder()],
28
+ ["updateArgs", getUpdateArgsEncoder()]
29
+ ]), (value) => ({
30
+ ...value,
31
+ discriminator: UPDATE_METADATA_DISCRIMINATOR
32
+ }));
33
+ }
34
+ function getUpdateMetadataInstructionDataDecoder() {
35
+ return getStructDecoder([
36
+ ["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
37
+ ["root", getArrayDecoder(getU8Decoder(), { size: 32 })],
38
+ ["nonce", getU64Decoder()],
39
+ ["index", getU32Decoder()],
40
+ ["currentMetadata", getMetadataArgsDecoder()],
41
+ ["updateArgs", getUpdateArgsDecoder()]
42
+ ]);
43
+ }
44
+ function getUpdateMetadataInstructionDataCodec() {
45
+ return combineCodec(getUpdateMetadataInstructionDataEncoder(), getUpdateMetadataInstructionDataDecoder());
46
+ }
47
+ async function getUpdateMetadataInstructionAsync(input, config) {
48
+ const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
49
+ const accounts = {
50
+ treeAuthority: {
51
+ value: input.treeAuthority ?? null,
52
+ isWritable: false
53
+ },
54
+ authority: {
55
+ value: input.authority ?? null,
56
+ isWritable: false
57
+ },
58
+ collectionMint: {
59
+ value: input.collectionMint ?? null,
60
+ isWritable: false
61
+ },
62
+ collectionMetadata: {
63
+ value: input.collectionMetadata ?? null,
64
+ isWritable: false
65
+ },
66
+ collectionAuthorityRecordPda: {
67
+ value: input.collectionAuthorityRecordPda ?? null,
68
+ isWritable: false
69
+ },
70
+ leafOwner: {
71
+ value: input.leafOwner ?? null,
72
+ isWritable: false
73
+ },
74
+ leafDelegate: {
75
+ value: input.leafDelegate ?? null,
76
+ isWritable: false
77
+ },
78
+ payer: {
79
+ value: input.payer ?? null,
80
+ isWritable: false
81
+ },
82
+ merkleTree: {
83
+ value: input.merkleTree ?? null,
84
+ isWritable: true
85
+ },
86
+ logWrapper: {
87
+ value: input.logWrapper ?? null,
88
+ isWritable: false
89
+ },
90
+ compressionProgram: {
91
+ value: input.compressionProgram ?? null,
92
+ isWritable: false
93
+ },
94
+ tokenMetadataProgram: {
95
+ value: input.tokenMetadataProgram ?? null,
96
+ isWritable: false
97
+ },
98
+ systemProgram: {
99
+ value: input.systemProgram ?? null,
100
+ isWritable: false
101
+ }
102
+ };
103
+ const args = { ...input };
104
+ if (!accounts.treeAuthority.value) accounts.treeAuthority.value = await findTreeConfigPda({ merkleTree: getAddressFromResolvedInstructionAccount("merkleTree", accounts.merkleTree.value) });
105
+ if (!accounts.logWrapper.value) accounts.logWrapper.value = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV";
106
+ if (!accounts.compressionProgram.value) accounts.compressionProgram.value = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK";
107
+ if (!accounts.tokenMetadataProgram.value) accounts.tokenMetadataProgram.value = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
108
+ if (!accounts.systemProgram.value) accounts.systemProgram.value = "11111111111111111111111111111111";
109
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
110
+ return Object.freeze({
111
+ accounts: [
112
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
113
+ getAccountMeta("authority", accounts.authority),
114
+ getAccountMeta("collectionMint", accounts.collectionMint),
115
+ getAccountMeta("collectionMetadata", accounts.collectionMetadata),
116
+ getAccountMeta("collectionAuthorityRecordPda", accounts.collectionAuthorityRecordPda),
117
+ getAccountMeta("leafOwner", accounts.leafOwner),
118
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
119
+ getAccountMeta("payer", accounts.payer),
120
+ getAccountMeta("merkleTree", accounts.merkleTree),
121
+ getAccountMeta("logWrapper", accounts.logWrapper),
122
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
123
+ getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
124
+ getAccountMeta("systemProgram", accounts.systemProgram)
125
+ ],
126
+ data: getUpdateMetadataInstructionDataEncoder().encode(args),
127
+ programAddress
128
+ });
129
+ }
130
+ function getUpdateMetadataInstruction(input, config) {
131
+ const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
132
+ const accounts = {
133
+ treeAuthority: {
134
+ value: input.treeAuthority ?? null,
135
+ isWritable: false
136
+ },
137
+ authority: {
138
+ value: input.authority ?? null,
139
+ isWritable: false
140
+ },
141
+ collectionMint: {
142
+ value: input.collectionMint ?? null,
143
+ isWritable: false
144
+ },
145
+ collectionMetadata: {
146
+ value: input.collectionMetadata ?? null,
147
+ isWritable: false
148
+ },
149
+ collectionAuthorityRecordPda: {
150
+ value: input.collectionAuthorityRecordPda ?? null,
151
+ isWritable: false
152
+ },
153
+ leafOwner: {
154
+ value: input.leafOwner ?? null,
155
+ isWritable: false
156
+ },
157
+ leafDelegate: {
158
+ value: input.leafDelegate ?? null,
159
+ isWritable: false
160
+ },
161
+ payer: {
162
+ value: input.payer ?? null,
163
+ isWritable: false
164
+ },
165
+ merkleTree: {
166
+ value: input.merkleTree ?? null,
167
+ isWritable: true
168
+ },
169
+ logWrapper: {
170
+ value: input.logWrapper ?? null,
171
+ isWritable: false
172
+ },
173
+ compressionProgram: {
174
+ value: input.compressionProgram ?? null,
175
+ isWritable: false
176
+ },
177
+ tokenMetadataProgram: {
178
+ value: input.tokenMetadataProgram ?? null,
179
+ isWritable: false
180
+ },
181
+ systemProgram: {
182
+ value: input.systemProgram ?? null,
183
+ isWritable: false
184
+ }
185
+ };
186
+ const args = { ...input };
187
+ if (!accounts.logWrapper.value) accounts.logWrapper.value = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV";
188
+ if (!accounts.compressionProgram.value) accounts.compressionProgram.value = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK";
189
+ if (!accounts.tokenMetadataProgram.value) accounts.tokenMetadataProgram.value = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
190
+ if (!accounts.systemProgram.value) accounts.systemProgram.value = "11111111111111111111111111111111";
191
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
192
+ return Object.freeze({
193
+ accounts: [
194
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
195
+ getAccountMeta("authority", accounts.authority),
196
+ getAccountMeta("collectionMint", accounts.collectionMint),
197
+ getAccountMeta("collectionMetadata", accounts.collectionMetadata),
198
+ getAccountMeta("collectionAuthorityRecordPda", accounts.collectionAuthorityRecordPda),
199
+ getAccountMeta("leafOwner", accounts.leafOwner),
200
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
201
+ getAccountMeta("payer", accounts.payer),
202
+ getAccountMeta("merkleTree", accounts.merkleTree),
203
+ getAccountMeta("logWrapper", accounts.logWrapper),
204
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
205
+ getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
206
+ getAccountMeta("systemProgram", accounts.systemProgram)
207
+ ],
208
+ data: getUpdateMetadataInstructionDataEncoder().encode(args),
209
+ programAddress
210
+ });
211
+ }
212
+ function parseUpdateMetadataInstruction(instruction) {
213
+ if (instruction.accounts.length < 13) throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, {
214
+ actualAccountMetas: instruction.accounts.length,
215
+ expectedAccountMetas: 13
216
+ });
217
+ let accountIndex = 0;
218
+ const getNextAccount = () => {
219
+ const accountMeta = instruction.accounts[accountIndex];
220
+ accountIndex += 1;
221
+ return accountMeta;
222
+ };
223
+ const getNextOptionalAccount = () => {
224
+ const accountMeta = getNextAccount();
225
+ return accountMeta.address === "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY" ? void 0 : accountMeta;
226
+ };
227
+ return {
228
+ programAddress: instruction.programAddress,
229
+ accounts: {
230
+ treeAuthority: getNextAccount(),
231
+ authority: getNextAccount(),
232
+ collectionMint: getNextOptionalAccount(),
233
+ collectionMetadata: getNextOptionalAccount(),
234
+ collectionAuthorityRecordPda: getNextOptionalAccount(),
235
+ leafOwner: getNextAccount(),
236
+ leafDelegate: getNextAccount(),
237
+ payer: getNextAccount(),
238
+ merkleTree: getNextAccount(),
239
+ logWrapper: getNextAccount(),
240
+ compressionProgram: getNextAccount(),
241
+ tokenMetadataProgram: getNextAccount(),
242
+ systemProgram: getNextAccount()
243
+ },
244
+ data: getUpdateMetadataInstructionDataDecoder().decode(instruction.data)
245
+ };
246
+ }
247
+ //#endregion
248
+ export { UPDATE_METADATA_DISCRIMINATOR, getUpdateMetadataDiscriminatorBytes, getUpdateMetadataInstruction, getUpdateMetadataInstructionAsync, getUpdateMetadataInstructionDataCodec, getUpdateMetadataInstructionDataDecoder, getUpdateMetadataInstructionDataEncoder, parseUpdateMetadataInstruction };
249
+
250
+ //# sourceMappingURL=updateMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateMetadata.js","names":[],"sources":["../../../src/generated/instructions/updateMetadata.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 {\n MetadataArgs,\n MetadataArgsArgs,\n UpdateArgs,\n UpdateArgsArgs,\n} from \"../types/index.js\";\nimport {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\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 { findTreeConfigPda } from \"../pdas/index.js\";\nimport { BUBBLEGUM_PROGRAM_ADDRESS } from \"../programs/index.js\";\nimport {\n getMetadataArgsDecoder,\n getMetadataArgsEncoder,\n getUpdateArgsDecoder,\n getUpdateArgsEncoder,\n} from \"../types/index.js\";\n\nexport const UPDATE_METADATA_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array(\n [170, 182, 43, 239, 97, 78, 225, 186],\n);\n\nexport function getUpdateMetadataDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n UPDATE_METADATA_DISCRIMINATOR,\n );\n}\n\nexport type UpdateMetadataInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountAuthority extends string | AccountMeta<string> = string,\n TAccountCollectionMint extends string | AccountMeta<string> = string,\n TAccountCollectionMetadata extends string | AccountMeta<string> = string,\n TAccountCollectionAuthorityRecordPda extends\n | string\n | AccountMeta<string> = \"BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY\",\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountLeafDelegate extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountMerkleTree 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 TAccountAuthority extends string\n ? ReadonlySignerAccount<TAccountAuthority> &\n AccountSignerMeta<TAccountAuthority>\n : TAccountAuthority,\n TAccountCollectionMint extends string\n ? ReadonlyAccount<TAccountCollectionMint>\n : TAccountCollectionMint,\n TAccountCollectionMetadata extends string\n ? ReadonlyAccount<TAccountCollectionMetadata>\n : TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda extends string\n ? ReadonlyAccount<TAccountCollectionAuthorityRecordPda>\n : TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner extends string\n ? ReadonlyAccount<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountLeafDelegate extends string\n ? ReadonlyAccount<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountPayer extends string\n ? ReadonlySignerAccount<TAccountPayer> &\n AccountSignerMeta<TAccountPayer>\n : TAccountPayer,\n TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\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 UpdateMetadataInstructionData {\n discriminator: ReadonlyUint8Array;\n root: number[];\n nonce: bigint;\n index: number;\n currentMetadata: MetadataArgs;\n updateArgs: UpdateArgs;\n}\n\nexport interface UpdateMetadataInstructionDataArgs {\n root: number[];\n nonce: number | bigint;\n index: number;\n currentMetadata: MetadataArgsArgs;\n updateArgs: UpdateArgsArgs;\n}\n\nexport function getUpdateMetadataInstructionDataEncoder(): Encoder<UpdateMetadataInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"root\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n [\"currentMetadata\", getMetadataArgsEncoder()],\n [\"updateArgs\", getUpdateArgsEncoder()],\n ]),\n (value) => ({ ...value, discriminator: UPDATE_METADATA_DISCRIMINATOR }),\n );\n}\n\nexport function getUpdateMetadataInstructionDataDecoder(): Decoder<UpdateMetadataInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"root\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n [\"currentMetadata\", getMetadataArgsDecoder()],\n [\"updateArgs\", getUpdateArgsDecoder()],\n ]);\n}\n\nexport function getUpdateMetadataInstructionDataCodec(): Codec<\n UpdateMetadataInstructionDataArgs,\n UpdateMetadataInstructionData\n> {\n return combineCodec(\n getUpdateMetadataInstructionDataEncoder(),\n getUpdateMetadataInstructionDataDecoder(),\n );\n}\n\nexport interface UpdateMetadataAsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountAuthority extends string = string,\n TAccountCollectionMint extends string = string,\n TAccountCollectionMetadata extends string = string,\n TAccountCollectionAuthorityRecordPda extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountPayer extends string = string,\n TAccountMerkleTree 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 /**\n * Either collection authority or tree owner/delegate, depending\n * on whether the item is in a verified collection\n */\n authority: TransactionSigner<TAccountAuthority>;\n /** Used when item is in a verified collection */\n collectionMint?: Address<TAccountCollectionMint>;\n /** Used when item is in a verified collection */\n collectionMetadata?: Address<TAccountCollectionMetadata>;\n collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;\n leafOwner: Address<TAccountLeafOwner>;\n leafDelegate: Address<TAccountLeafDelegate>;\n payer: TransactionSigner<TAccountPayer>;\n merkleTree: Address<TAccountMerkleTree>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: UpdateMetadataInstructionDataArgs[\"root\"];\n nonce: UpdateMetadataInstructionDataArgs[\"nonce\"];\n index: UpdateMetadataInstructionDataArgs[\"index\"];\n currentMetadata: UpdateMetadataInstructionDataArgs[\"currentMetadata\"];\n updateArgs: UpdateMetadataInstructionDataArgs[\"updateArgs\"];\n}\n\nexport async function getUpdateMetadataInstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountAuthority extends string,\n TAccountCollectionMint extends string,\n TAccountCollectionMetadata extends string,\n TAccountCollectionAuthorityRecordPda extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountPayer extends string,\n TAccountMerkleTree 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: UpdateMetadataAsyncInput<\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n UpdateMetadataInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\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 authority: { value: input.authority ?? null, isWritable: false },\n collectionMint: { value: input.collectionMint ?? null, isWritable: false },\n collectionMetadata: {\n value: input.collectionMetadata ?? null,\n isWritable: false,\n },\n collectionAuthorityRecordPda: {\n value: input.collectionAuthorityRecordPda ?? null,\n isWritable: false,\n },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n payer: { value: input.payer ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\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.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(\"authority\", accounts.authority),\n getAccountMeta(\"collectionMint\", accounts.collectionMint),\n getAccountMeta(\"collectionMetadata\", accounts.collectionMetadata),\n getAccountMeta(\n \"collectionAuthorityRecordPda\",\n accounts.collectionAuthorityRecordPda,\n ),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getUpdateMetadataInstructionDataEncoder().encode(\n args as UpdateMetadataInstructionDataArgs,\n ),\n programAddress,\n } as UpdateMetadataInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface UpdateMetadataInput<\n TAccountTreeAuthority extends string = string,\n TAccountAuthority extends string = string,\n TAccountCollectionMint extends string = string,\n TAccountCollectionMetadata extends string = string,\n TAccountCollectionAuthorityRecordPda extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountPayer extends string = string,\n TAccountMerkleTree 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 /**\n * Either collection authority or tree owner/delegate, depending\n * on whether the item is in a verified collection\n */\n authority: TransactionSigner<TAccountAuthority>;\n /** Used when item is in a verified collection */\n collectionMint?: Address<TAccountCollectionMint>;\n /** Used when item is in a verified collection */\n collectionMetadata?: Address<TAccountCollectionMetadata>;\n collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;\n leafOwner: Address<TAccountLeafOwner>;\n leafDelegate: Address<TAccountLeafDelegate>;\n payer: TransactionSigner<TAccountPayer>;\n merkleTree: Address<TAccountMerkleTree>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: UpdateMetadataInstructionDataArgs[\"root\"];\n nonce: UpdateMetadataInstructionDataArgs[\"nonce\"];\n index: UpdateMetadataInstructionDataArgs[\"index\"];\n currentMetadata: UpdateMetadataInstructionDataArgs[\"currentMetadata\"];\n updateArgs: UpdateMetadataInstructionDataArgs[\"updateArgs\"];\n}\n\nexport function getUpdateMetadataInstruction<\n TAccountTreeAuthority extends string,\n TAccountAuthority extends string,\n TAccountCollectionMint extends string,\n TAccountCollectionMetadata extends string,\n TAccountCollectionAuthorityRecordPda extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountPayer extends string,\n TAccountMerkleTree 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: UpdateMetadataInput<\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): UpdateMetadataInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\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 authority: { value: input.authority ?? null, isWritable: false },\n collectionMint: { value: input.collectionMint ?? null, isWritable: false },\n collectionMetadata: {\n value: input.collectionMetadata ?? null,\n isWritable: false,\n },\n collectionAuthorityRecordPda: {\n value: input.collectionAuthorityRecordPda ?? null,\n isWritable: false,\n },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n payer: { value: input.payer ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\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.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(\"authority\", accounts.authority),\n getAccountMeta(\"collectionMint\", accounts.collectionMint),\n getAccountMeta(\"collectionMetadata\", accounts.collectionMetadata),\n getAccountMeta(\n \"collectionAuthorityRecordPda\",\n accounts.collectionAuthorityRecordPda,\n ),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getUpdateMetadataInstructionDataEncoder().encode(\n args as UpdateMetadataInstructionDataArgs,\n ),\n programAddress,\n } as UpdateMetadataInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface ParsedUpdateMetadataInstruction<\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 /**\n * Either collection authority or tree owner/delegate, depending\n * on whether the item is in a verified collection\n */\n authority: TAccountMetas[1];\n /** Used when item is in a verified collection */\n collectionMint?: TAccountMetas[2] | undefined;\n /** Used when item is in a verified collection */\n collectionMetadata?: TAccountMetas[3] | undefined;\n collectionAuthorityRecordPda?: TAccountMetas[4] | undefined;\n leafOwner: TAccountMetas[5];\n leafDelegate: TAccountMetas[6];\n payer: TAccountMetas[7];\n merkleTree: TAccountMetas[8];\n logWrapper: TAccountMetas[9];\n compressionProgram: TAccountMetas[10];\n tokenMetadataProgram: TAccountMetas[11];\n systemProgram: TAccountMetas[12];\n };\n data: UpdateMetadataInstructionData;\n}\n\nexport function parseUpdateMetadataInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedUpdateMetadataInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 13) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 13,\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 const getNextOptionalAccount = () => {\n const accountMeta = getNextAccount();\n return accountMeta.address === BUBBLEGUM_PROGRAM_ADDRESS\n ? undefined\n : accountMeta;\n };\n return {\n programAddress: instruction.programAddress,\n accounts: {\n treeAuthority: getNextAccount(),\n authority: getNextAccount(),\n collectionMint: getNextOptionalAccount(),\n collectionMetadata: getNextOptionalAccount(),\n collectionAuthorityRecordPda: getNextOptionalAccount(),\n leafOwner: getNextAccount(),\n leafDelegate: getNextAccount(),\n payer: getNextAccount(),\n merkleTree: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n tokenMetadataProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getUpdateMetadataInstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ import { MetadataArgsV2, MetadataArgsV2Args } from "../types/metadataArgsV2.js";
2
+ import { UpdateArgs, UpdateArgsArgs } from "../types/updateArgs.js";
3
+ import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/bubblegum.js";
4
+ import { AccountMeta, AccountSignerMeta, Address, Codec, Decoder, Encoder, Instruction, InstructionWithAccounts, InstructionWithData, Option, OptionOrNullable, ReadonlyAccount, ReadonlySignerAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount, WritableSignerAccount } from "@solana/kit";
5
+
6
+ //#region src/generated/instructions/updateMetadataV2.d.ts
7
+ declare const UPDATE_METADATA_V2_DISCRIMINATOR: ReadonlyUint8Array;
8
+ declare function getUpdateMetadataV2DiscriminatorBytes(): ReadonlyUint8Array;
9
+ type UpdateMetadataV2Instruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountTreeAuthority extends string | AccountMeta<string> = string, TAccountPayer extends string | AccountMeta<string> = string, TAccountAuthority extends string | AccountMeta<string> = string, TAccountLeafOwner extends string | AccountMeta<string> = string, TAccountLeafDelegate extends string | AccountMeta<string> = string, TAccountMerkleTree extends string | AccountMeta<string> = string, TAccountCoreCollection extends string | AccountMeta<string> = string, TAccountLogWrapper extends string | AccountMeta<string> = "mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3", TAccountCompressionProgram extends string | AccountMeta<string> = "mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW", TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountTreeAuthority extends string ? WritableAccount<TAccountTreeAuthority> : TAccountTreeAuthority, TAccountPayer extends string ? WritableSignerAccount<TAccountPayer> & AccountSignerMeta<TAccountPayer> : TAccountPayer, TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority, TAccountLeafOwner extends string ? ReadonlyAccount<TAccountLeafOwner> : TAccountLeafOwner, TAccountLeafDelegate extends string ? ReadonlyAccount<TAccountLeafDelegate> : TAccountLeafDelegate, TAccountMerkleTree extends string ? WritableAccount<TAccountMerkleTree> : TAccountMerkleTree, TAccountCoreCollection extends string ? ReadonlyAccount<TAccountCoreCollection> : TAccountCoreCollection, TAccountLogWrapper extends string ? ReadonlyAccount<TAccountLogWrapper> : TAccountLogWrapper, TAccountCompressionProgram extends string ? ReadonlyAccount<TAccountCompressionProgram> : TAccountCompressionProgram, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, ...TRemainingAccounts]>;
10
+ interface UpdateMetadataV2InstructionData {
11
+ discriminator: ReadonlyUint8Array;
12
+ root: number[];
13
+ assetDataHash: Option<number[]>;
14
+ flags: Option<number>;
15
+ nonce: bigint;
16
+ index: number;
17
+ currentMetadata: MetadataArgsV2;
18
+ updateArgs: UpdateArgs;
19
+ }
20
+ interface UpdateMetadataV2InstructionDataArgs {
21
+ root: number[];
22
+ assetDataHash: OptionOrNullable<number[]>;
23
+ flags: OptionOrNullable<number>;
24
+ nonce: number | bigint;
25
+ index: number;
26
+ currentMetadata: MetadataArgsV2Args;
27
+ updateArgs: UpdateArgsArgs;
28
+ }
29
+ declare function getUpdateMetadataV2InstructionDataEncoder(): Encoder<UpdateMetadataV2InstructionDataArgs>;
30
+ declare function getUpdateMetadataV2InstructionDataDecoder(): Decoder<UpdateMetadataV2InstructionData>;
31
+ declare function getUpdateMetadataV2InstructionDataCodec(): Codec<UpdateMetadataV2InstructionDataArgs, UpdateMetadataV2InstructionData>;
32
+ interface UpdateMetadataV2AsyncInput<TAccountTreeAuthority extends string = string, TAccountPayer extends string = string, TAccountAuthority extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountMerkleTree extends string = string, TAccountCoreCollection extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> {
33
+ treeAuthority?: Address<TAccountTreeAuthority>;
34
+ payer: TransactionSigner<TAccountPayer>;
35
+ /**
36
+ * Either collection authority or tree owner/delegate, depending
37
+ * on whether the item is in a verified collection. Defaults to `payer`
38
+ */
39
+ authority?: TransactionSigner<TAccountAuthority>;
40
+ leafOwner: Address<TAccountLeafOwner>;
41
+ /** Defaults to `leaf_owner` */
42
+ leafDelegate?: Address<TAccountLeafDelegate>;
43
+ merkleTree: Address<TAccountMerkleTree>;
44
+ coreCollection?: Address<TAccountCoreCollection>;
45
+ logWrapper?: Address<TAccountLogWrapper>;
46
+ compressionProgram?: Address<TAccountCompressionProgram>;
47
+ systemProgram?: Address<TAccountSystemProgram>;
48
+ root: UpdateMetadataV2InstructionDataArgs["root"];
49
+ assetDataHash: UpdateMetadataV2InstructionDataArgs["assetDataHash"];
50
+ flags: UpdateMetadataV2InstructionDataArgs["flags"];
51
+ nonce: UpdateMetadataV2InstructionDataArgs["nonce"];
52
+ index: UpdateMetadataV2InstructionDataArgs["index"];
53
+ currentMetadata: UpdateMetadataV2InstructionDataArgs["currentMetadata"];
54
+ updateArgs: UpdateMetadataV2InstructionDataArgs["updateArgs"];
55
+ }
56
+ declare function getUpdateMetadataV2InstructionAsync<TAccountTreeAuthority extends string, TAccountPayer extends string, TAccountAuthority extends string, TAccountLeafOwner extends string, TAccountLeafDelegate extends string, TAccountMerkleTree extends string, TAccountCoreCollection extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: UpdateMetadataV2AsyncInput<TAccountTreeAuthority, TAccountPayer, TAccountAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountMerkleTree, TAccountCoreCollection, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>, config?: {
57
+ programAddress?: TProgramAddress;
58
+ }): Promise<UpdateMetadataV2Instruction<TProgramAddress, TAccountTreeAuthority, TAccountPayer, TAccountAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountMerkleTree, TAccountCoreCollection, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>>;
59
+ interface UpdateMetadataV2Input<TAccountTreeAuthority extends string = string, TAccountPayer extends string = string, TAccountAuthority extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountMerkleTree extends string = string, TAccountCoreCollection extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> {
60
+ treeAuthority: Address<TAccountTreeAuthority>;
61
+ payer: TransactionSigner<TAccountPayer>;
62
+ /**
63
+ * Either collection authority or tree owner/delegate, depending
64
+ * on whether the item is in a verified collection. Defaults to `payer`
65
+ */
66
+ authority?: TransactionSigner<TAccountAuthority>;
67
+ leafOwner: Address<TAccountLeafOwner>;
68
+ /** Defaults to `leaf_owner` */
69
+ leafDelegate?: Address<TAccountLeafDelegate>;
70
+ merkleTree: Address<TAccountMerkleTree>;
71
+ coreCollection?: Address<TAccountCoreCollection>;
72
+ logWrapper?: Address<TAccountLogWrapper>;
73
+ compressionProgram?: Address<TAccountCompressionProgram>;
74
+ systemProgram?: Address<TAccountSystemProgram>;
75
+ root: UpdateMetadataV2InstructionDataArgs["root"];
76
+ assetDataHash: UpdateMetadataV2InstructionDataArgs["assetDataHash"];
77
+ flags: UpdateMetadataV2InstructionDataArgs["flags"];
78
+ nonce: UpdateMetadataV2InstructionDataArgs["nonce"];
79
+ index: UpdateMetadataV2InstructionDataArgs["index"];
80
+ currentMetadata: UpdateMetadataV2InstructionDataArgs["currentMetadata"];
81
+ updateArgs: UpdateMetadataV2InstructionDataArgs["updateArgs"];
82
+ }
83
+ declare function getUpdateMetadataV2Instruction<TAccountTreeAuthority extends string, TAccountPayer extends string, TAccountAuthority extends string, TAccountLeafOwner extends string, TAccountLeafDelegate extends string, TAccountMerkleTree extends string, TAccountCoreCollection extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: UpdateMetadataV2Input<TAccountTreeAuthority, TAccountPayer, TAccountAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountMerkleTree, TAccountCoreCollection, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>, config?: {
84
+ programAddress?: TProgramAddress;
85
+ }): UpdateMetadataV2Instruction<TProgramAddress, TAccountTreeAuthority, TAccountPayer, TAccountAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountMerkleTree, TAccountCoreCollection, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>;
86
+ interface ParsedUpdateMetadataV2Instruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> {
87
+ programAddress: Address<TProgram>;
88
+ accounts: {
89
+ treeAuthority: TAccountMetas[0];
90
+ payer: TAccountMetas[1];
91
+ /**
92
+ * Either collection authority or tree owner/delegate, depending
93
+ * on whether the item is in a verified collection. Defaults to `payer`
94
+ */
95
+ authority?: TAccountMetas[2] | undefined;
96
+ leafOwner: TAccountMetas[3]; /** Defaults to `leaf_owner` */
97
+ leafDelegate?: TAccountMetas[4] | undefined;
98
+ merkleTree: TAccountMetas[5];
99
+ coreCollection?: TAccountMetas[6] | undefined;
100
+ logWrapper: TAccountMetas[7];
101
+ compressionProgram: TAccountMetas[8];
102
+ systemProgram: TAccountMetas[9];
103
+ };
104
+ data: UpdateMetadataV2InstructionData;
105
+ }
106
+ declare function parseUpdateMetadataV2Instruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedUpdateMetadataV2Instruction<TProgram, TAccountMetas>;
107
+ //#endregion
108
+ export { ParsedUpdateMetadataV2Instruction, UPDATE_METADATA_V2_DISCRIMINATOR, UpdateMetadataV2AsyncInput, UpdateMetadataV2Input, UpdateMetadataV2Instruction, UpdateMetadataV2InstructionData, UpdateMetadataV2InstructionDataArgs, getUpdateMetadataV2DiscriminatorBytes, getUpdateMetadataV2Instruction, getUpdateMetadataV2InstructionAsync, getUpdateMetadataV2InstructionDataCodec, getUpdateMetadataV2InstructionDataDecoder, getUpdateMetadataV2InstructionDataEncoder, parseUpdateMetadataV2Instruction };
109
+ //# sourceMappingURL=updateMetadataV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateMetadataV2.d.ts","names":[],"sources":["../../../src/generated/instructions/updateMetadataV2.ts"],"mappings":"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"}
@@ -0,0 +1,219 @@
1
+ import { findTreeConfigPda } from "../pdas/treeConfig.js";
2
+ import { getMetadataArgsV2Decoder, getMetadataArgsV2Encoder } from "../types/metadataArgsV2.js";
3
+ import { getUpdateArgsDecoder, getUpdateArgsEncoder } from "../types/updateArgs.js";
4
+ import "../programs/bubblegum.js";
5
+ import { SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, combineCodec, fixDecoderSize, fixEncoderSize, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getOptionDecoder, getOptionEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, transformEncoder } from "@solana/kit";
6
+ import { getAccountMetaFactory, getAddressFromResolvedInstructionAccount } from "@solana/program-client-core";
7
+ //#region src/generated/instructions/updateMetadataV2.ts
8
+ const UPDATE_METADATA_V2_DISCRIMINATOR = new Uint8Array([
9
+ 43,
10
+ 103,
11
+ 89,
12
+ 42,
13
+ 121,
14
+ 242,
15
+ 62,
16
+ 72
17
+ ]);
18
+ function getUpdateMetadataV2DiscriminatorBytes() {
19
+ return fixEncoderSize(getBytesEncoder(), 8).encode(UPDATE_METADATA_V2_DISCRIMINATOR);
20
+ }
21
+ function getUpdateMetadataV2InstructionDataEncoder() {
22
+ return transformEncoder(getStructEncoder([
23
+ ["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
24
+ ["root", getArrayEncoder(getU8Encoder(), { size: 32 })],
25
+ ["assetDataHash", getOptionEncoder(getArrayEncoder(getU8Encoder(), { size: 32 }))],
26
+ ["flags", getOptionEncoder(getU8Encoder())],
27
+ ["nonce", getU64Encoder()],
28
+ ["index", getU32Encoder()],
29
+ ["currentMetadata", getMetadataArgsV2Encoder()],
30
+ ["updateArgs", getUpdateArgsEncoder()]
31
+ ]), (value) => ({
32
+ ...value,
33
+ discriminator: UPDATE_METADATA_V2_DISCRIMINATOR
34
+ }));
35
+ }
36
+ function getUpdateMetadataV2InstructionDataDecoder() {
37
+ return getStructDecoder([
38
+ ["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
39
+ ["root", getArrayDecoder(getU8Decoder(), { size: 32 })],
40
+ ["assetDataHash", getOptionDecoder(getArrayDecoder(getU8Decoder(), { size: 32 }))],
41
+ ["flags", getOptionDecoder(getU8Decoder())],
42
+ ["nonce", getU64Decoder()],
43
+ ["index", getU32Decoder()],
44
+ ["currentMetadata", getMetadataArgsV2Decoder()],
45
+ ["updateArgs", getUpdateArgsDecoder()]
46
+ ]);
47
+ }
48
+ function getUpdateMetadataV2InstructionDataCodec() {
49
+ return combineCodec(getUpdateMetadataV2InstructionDataEncoder(), getUpdateMetadataV2InstructionDataDecoder());
50
+ }
51
+ async function getUpdateMetadataV2InstructionAsync(input, config) {
52
+ const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
53
+ const accounts = {
54
+ treeAuthority: {
55
+ value: input.treeAuthority ?? null,
56
+ isWritable: true
57
+ },
58
+ payer: {
59
+ value: input.payer ?? null,
60
+ isWritable: true
61
+ },
62
+ authority: {
63
+ value: input.authority ?? null,
64
+ isWritable: false
65
+ },
66
+ leafOwner: {
67
+ value: input.leafOwner ?? null,
68
+ isWritable: false
69
+ },
70
+ leafDelegate: {
71
+ value: input.leafDelegate ?? null,
72
+ isWritable: false
73
+ },
74
+ merkleTree: {
75
+ value: input.merkleTree ?? null,
76
+ isWritable: true
77
+ },
78
+ coreCollection: {
79
+ value: input.coreCollection ?? null,
80
+ isWritable: false
81
+ },
82
+ logWrapper: {
83
+ value: input.logWrapper ?? null,
84
+ isWritable: false
85
+ },
86
+ compressionProgram: {
87
+ value: input.compressionProgram ?? null,
88
+ isWritable: false
89
+ },
90
+ systemProgram: {
91
+ value: input.systemProgram ?? null,
92
+ isWritable: false
93
+ }
94
+ };
95
+ const args = { ...input };
96
+ if (!accounts.treeAuthority.value) accounts.treeAuthority.value = await findTreeConfigPda({ merkleTree: getAddressFromResolvedInstructionAccount("merkleTree", accounts.merkleTree.value) });
97
+ if (!accounts.logWrapper.value) accounts.logWrapper.value = "mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3";
98
+ if (!accounts.compressionProgram.value) accounts.compressionProgram.value = "mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW";
99
+ if (!accounts.systemProgram.value) accounts.systemProgram.value = "11111111111111111111111111111111";
100
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
101
+ return Object.freeze({
102
+ accounts: [
103
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
104
+ getAccountMeta("payer", accounts.payer),
105
+ getAccountMeta("authority", accounts.authority),
106
+ getAccountMeta("leafOwner", accounts.leafOwner),
107
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
108
+ getAccountMeta("merkleTree", accounts.merkleTree),
109
+ getAccountMeta("coreCollection", accounts.coreCollection),
110
+ getAccountMeta("logWrapper", accounts.logWrapper),
111
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
112
+ getAccountMeta("systemProgram", accounts.systemProgram)
113
+ ],
114
+ data: getUpdateMetadataV2InstructionDataEncoder().encode(args),
115
+ programAddress
116
+ });
117
+ }
118
+ function getUpdateMetadataV2Instruction(input, config) {
119
+ const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
120
+ const accounts = {
121
+ treeAuthority: {
122
+ value: input.treeAuthority ?? null,
123
+ isWritable: true
124
+ },
125
+ payer: {
126
+ value: input.payer ?? null,
127
+ isWritable: true
128
+ },
129
+ authority: {
130
+ value: input.authority ?? null,
131
+ isWritable: false
132
+ },
133
+ leafOwner: {
134
+ value: input.leafOwner ?? null,
135
+ isWritable: false
136
+ },
137
+ leafDelegate: {
138
+ value: input.leafDelegate ?? null,
139
+ isWritable: false
140
+ },
141
+ merkleTree: {
142
+ value: input.merkleTree ?? null,
143
+ isWritable: true
144
+ },
145
+ coreCollection: {
146
+ value: input.coreCollection ?? null,
147
+ isWritable: false
148
+ },
149
+ logWrapper: {
150
+ value: input.logWrapper ?? null,
151
+ isWritable: false
152
+ },
153
+ compressionProgram: {
154
+ value: input.compressionProgram ?? null,
155
+ isWritable: false
156
+ },
157
+ systemProgram: {
158
+ value: input.systemProgram ?? null,
159
+ isWritable: false
160
+ }
161
+ };
162
+ const args = { ...input };
163
+ if (!accounts.logWrapper.value) accounts.logWrapper.value = "mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3";
164
+ if (!accounts.compressionProgram.value) accounts.compressionProgram.value = "mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW";
165
+ if (!accounts.systemProgram.value) accounts.systemProgram.value = "11111111111111111111111111111111";
166
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
167
+ return Object.freeze({
168
+ accounts: [
169
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
170
+ getAccountMeta("payer", accounts.payer),
171
+ getAccountMeta("authority", accounts.authority),
172
+ getAccountMeta("leafOwner", accounts.leafOwner),
173
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
174
+ getAccountMeta("merkleTree", accounts.merkleTree),
175
+ getAccountMeta("coreCollection", accounts.coreCollection),
176
+ getAccountMeta("logWrapper", accounts.logWrapper),
177
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
178
+ getAccountMeta("systemProgram", accounts.systemProgram)
179
+ ],
180
+ data: getUpdateMetadataV2InstructionDataEncoder().encode(args),
181
+ programAddress
182
+ });
183
+ }
184
+ function parseUpdateMetadataV2Instruction(instruction) {
185
+ if (instruction.accounts.length < 10) throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, {
186
+ actualAccountMetas: instruction.accounts.length,
187
+ expectedAccountMetas: 10
188
+ });
189
+ let accountIndex = 0;
190
+ const getNextAccount = () => {
191
+ const accountMeta = instruction.accounts[accountIndex];
192
+ accountIndex += 1;
193
+ return accountMeta;
194
+ };
195
+ const getNextOptionalAccount = () => {
196
+ const accountMeta = getNextAccount();
197
+ return accountMeta.address === "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY" ? void 0 : accountMeta;
198
+ };
199
+ return {
200
+ programAddress: instruction.programAddress,
201
+ accounts: {
202
+ treeAuthority: getNextAccount(),
203
+ payer: getNextAccount(),
204
+ authority: getNextOptionalAccount(),
205
+ leafOwner: getNextAccount(),
206
+ leafDelegate: getNextOptionalAccount(),
207
+ merkleTree: getNextAccount(),
208
+ coreCollection: getNextOptionalAccount(),
209
+ logWrapper: getNextAccount(),
210
+ compressionProgram: getNextAccount(),
211
+ systemProgram: getNextAccount()
212
+ },
213
+ data: getUpdateMetadataV2InstructionDataDecoder().decode(instruction.data)
214
+ };
215
+ }
216
+ //#endregion
217
+ export { UPDATE_METADATA_V2_DISCRIMINATOR, getUpdateMetadataV2DiscriminatorBytes, getUpdateMetadataV2Instruction, getUpdateMetadataV2InstructionAsync, getUpdateMetadataV2InstructionDataCodec, getUpdateMetadataV2InstructionDataDecoder, getUpdateMetadataV2InstructionDataEncoder, parseUpdateMetadataV2Instruction };
218
+
219
+ //# sourceMappingURL=updateMetadataV2.js.map