@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,142 +1,250 @@
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, 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, getUpdateArgsDecoder, getUpdateArgsEncoder, } from "../types/index.js";
12
- export const UPDATE_METADATA_DISCRIMINATOR = new Uint8Array([170, 182, 43, 239, 97, 78, 225, 186]);
13
- export function getUpdateMetadataDiscriminatorBytes() {
14
- return fixEncoderSize(getBytesEncoder(), 8).encode(UPDATE_METADATA_DISCRIMINATOR);
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);
15
20
  }
16
- export function getUpdateMetadataInstructionDataEncoder() {
17
- return transformEncoder(getStructEncoder([
18
- ["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
19
- ["root", getArrayEncoder(getU8Encoder(), { size: 32 })],
20
- ["nonce", getU64Encoder()],
21
- ["index", getU32Encoder()],
22
- ["currentMetadata", getMetadataArgsEncoder()],
23
- ["updateArgs", getUpdateArgsEncoder()],
24
- ]), (value) => ({ ...value, discriminator: UPDATE_METADATA_DISCRIMINATOR }));
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
+ }));
25
33
  }
26
- export function getUpdateMetadataInstructionDataDecoder() {
27
- return getStructDecoder([
28
- ["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
29
- ["root", getArrayDecoder(getU8Decoder(), { size: 32 })],
30
- ["nonce", getU64Decoder()],
31
- ["index", getU32Decoder()],
32
- ["currentMetadata", getMetadataArgsDecoder()],
33
- ["updateArgs", getUpdateArgsDecoder()],
34
- ]);
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
+ ]);
35
43
  }
36
- export function getUpdateMetadataInstructionDataCodec() {
37
- return combineCodec(getUpdateMetadataInstructionDataEncoder(), getUpdateMetadataInstructionDataDecoder());
44
+ function getUpdateMetadataInstructionDataCodec() {
45
+ return combineCodec(getUpdateMetadataInstructionDataEncoder(), getUpdateMetadataInstructionDataDecoder());
38
46
  }
39
- export function getUpdateMetadataInstruction(input, config) {
40
- // Program address.
41
- const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
42
- // Original accounts.
43
- const originalAccounts = {
44
- treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
45
- authority: { value: input.authority ?? null, isWritable: false },
46
- collectionMint: { value: input.collectionMint ?? null, isWritable: false },
47
- collectionMetadata: {
48
- value: input.collectionMetadata ?? null,
49
- isWritable: false,
50
- },
51
- collectionAuthorityRecordPda: {
52
- value: input.collectionAuthorityRecordPda ?? null,
53
- isWritable: false,
54
- },
55
- leafOwner: { value: input.leafOwner ?? null, isWritable: false },
56
- leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
57
- payer: { value: input.payer ?? null, isWritable: false },
58
- merkleTree: { value: input.merkleTree ?? null, isWritable: true },
59
- logWrapper: { value: input.logWrapper ?? null, isWritable: false },
60
- compressionProgram: {
61
- value: input.compressionProgram ?? null,
62
- isWritable: false,
63
- },
64
- tokenMetadataProgram: {
65
- value: input.tokenMetadataProgram ?? null,
66
- isWritable: false,
67
- },
68
- systemProgram: { value: input.systemProgram ?? null, isWritable: false },
69
- };
70
- const accounts = originalAccounts;
71
- // Original args.
72
- const args = { ...input };
73
- // Resolve default values.
74
- if (!accounts.tokenMetadataProgram.value) {
75
- accounts.tokenMetadataProgram.value =
76
- "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
77
- }
78
- if (!accounts.systemProgram.value) {
79
- accounts.systemProgram.value =
80
- "11111111111111111111111111111111";
81
- }
82
- const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
83
- return Object.freeze({
84
- accounts: [
85
- getAccountMeta("treeAuthority", accounts.treeAuthority),
86
- getAccountMeta("authority", accounts.authority),
87
- getAccountMeta("collectionMint", accounts.collectionMint),
88
- getAccountMeta("collectionMetadata", accounts.collectionMetadata),
89
- getAccountMeta("collectionAuthorityRecordPda", accounts.collectionAuthorityRecordPda),
90
- getAccountMeta("leafOwner", accounts.leafOwner),
91
- getAccountMeta("leafDelegate", accounts.leafDelegate),
92
- getAccountMeta("payer", accounts.payer),
93
- getAccountMeta("merkleTree", accounts.merkleTree),
94
- getAccountMeta("logWrapper", accounts.logWrapper),
95
- getAccountMeta("compressionProgram", accounts.compressionProgram),
96
- getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
97
- getAccountMeta("systemProgram", accounts.systemProgram),
98
- ],
99
- data: getUpdateMetadataInstructionDataEncoder().encode(args),
100
- programAddress,
101
- });
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
+ });
102
129
  }
103
- export function parseUpdateMetadataInstruction(instruction) {
104
- if (instruction.accounts.length < 13) {
105
- throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, {
106
- actualAccountMetas: instruction.accounts.length,
107
- expectedAccountMetas: 13,
108
- });
109
- }
110
- let accountIndex = 0;
111
- const getNextAccount = () => {
112
- const accountMeta = instruction.accounts[accountIndex];
113
- accountIndex += 1;
114
- return accountMeta;
115
- };
116
- const getNextOptionalAccount = () => {
117
- const accountMeta = getNextAccount();
118
- return accountMeta.address === BUBBLEGUM_PROGRAM_ADDRESS
119
- ? undefined
120
- : accountMeta;
121
- };
122
- return {
123
- programAddress: instruction.programAddress,
124
- accounts: {
125
- treeAuthority: getNextAccount(),
126
- authority: getNextAccount(),
127
- collectionMint: getNextOptionalAccount(),
128
- collectionMetadata: getNextOptionalAccount(),
129
- collectionAuthorityRecordPda: getNextOptionalAccount(),
130
- leafOwner: getNextAccount(),
131
- leafDelegate: getNextAccount(),
132
- payer: getNextAccount(),
133
- merkleTree: getNextAccount(),
134
- logWrapper: getNextAccount(),
135
- compressionProgram: getNextAccount(),
136
- tokenMetadataProgram: getNextAccount(),
137
- systemProgram: getNextAccount(),
138
- },
139
- data: getUpdateMetadataInstructionDataDecoder().decode(instruction.data),
140
- };
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
+ });
141
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
+
142
250
  //# sourceMappingURL=updateMetadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateMetadata.js","sourceRoot":"","sources":["../../../src/generated/instructions/updateMetadata.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 {\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 { getAccountMetaFactory } from \"@solana/program-client-core\";\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,\n TAccountAuthority extends string | AccountMeta = string,\n TAccountCollectionMint extends string | AccountMeta = string,\n TAccountCollectionMetadata extends string | AccountMeta = string,\n TAccountCollectionAuthorityRecordPda extends string | AccountMeta = string,\n TAccountLeafOwner extends string | AccountMeta = string,\n TAccountLeafDelegate extends string | AccountMeta = string,\n TAccountPayer extends string | AccountMeta = string,\n TAccountMerkleTree 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 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 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.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"]}
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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"}