@macalinao/clients-mpl-bubblegum 0.3.1 → 0.3.2

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 (324) hide show
  1. package/dist/generated/accounts/index.d.ts +2 -1
  2. package/dist/generated/accounts/treeConfig.d.ts +22 -7
  3. package/dist/generated/accounts/treeConfig.d.ts.map +1 -1
  4. package/dist/generated/accounts/treeConfig.js +7 -0
  5. package/dist/generated/accounts/treeConfig.js.map +1 -1
  6. package/dist/generated/accounts/voucher.d.ts +14 -7
  7. package/dist/generated/accounts/voucher.d.ts.map +1 -1
  8. package/dist/generated/accounts/voucher.js +7 -0
  9. package/dist/generated/accounts/voucher.js.map +1 -1
  10. package/dist/generated/errors/bubblegum.d.ts +0 -1
  11. package/dist/generated/errors/bubblegum.d.ts.map +1 -1
  12. package/dist/generated/errors/bubblegum.js +66 -59
  13. package/dist/generated/errors/bubblegum.js.map +1 -1
  14. package/dist/generated/errors/index.d.ts +2 -1
  15. package/dist/generated/index.d.ts +8 -1
  16. package/dist/generated/instructions/burn.d.ts +141 -17
  17. package/dist/generated/instructions/burn.d.ts.map +1 -1
  18. package/dist/generated/instructions/burn.js +23 -0
  19. package/dist/generated/instructions/burn.js.map +1 -1
  20. package/dist/generated/instructions/burnV2.d.ts +179 -31
  21. package/dist/generated/instructions/burnV2.d.ts.map +1 -1
  22. package/dist/generated/instructions/burnV2.js +21 -0
  23. package/dist/generated/instructions/burnV2.js.map +1 -1
  24. package/dist/generated/instructions/cancelRedeem.d.ts +99 -13
  25. package/dist/generated/instructions/cancelRedeem.d.ts.map +1 -1
  26. package/dist/generated/instructions/cancelRedeem.js +19 -0
  27. package/dist/generated/instructions/cancelRedeem.js.map +1 -1
  28. package/dist/generated/instructions/closeTreeV2.d.ts +85 -19
  29. package/dist/generated/instructions/closeTreeV2.d.ts.map +1 -1
  30. package/dist/generated/instructions/closeTreeV2.js +21 -0
  31. package/dist/generated/instructions/closeTreeV2.js.map +1 -1
  32. package/dist/generated/instructions/collectV2.d.ts +20 -7
  33. package/dist/generated/instructions/collectV2.d.ts.map +1 -1
  34. package/dist/generated/instructions/collectV2.js +10 -0
  35. package/dist/generated/instructions/collectV2.js.map +1 -1
  36. package/dist/generated/instructions/compress.d.ts +119 -9
  37. package/dist/generated/instructions/compress.d.ts.map +1 -1
  38. package/dist/generated/instructions/compress.js +21 -0
  39. package/dist/generated/instructions/compress.js.map +1 -1
  40. package/dist/generated/instructions/createTree.d.ts +117 -11
  41. package/dist/generated/instructions/createTree.d.ts.map +1 -1
  42. package/dist/generated/instructions/createTree.js +23 -0
  43. package/dist/generated/instructions/createTree.js.map +1 -1
  44. package/dist/generated/instructions/createTreeV2.d.ts +109 -14
  45. package/dist/generated/instructions/createTreeV2.d.ts.map +1 -1
  46. package/dist/generated/instructions/createTreeV2.js +23 -0
  47. package/dist/generated/instructions/createTreeV2.js.map +1 -1
  48. package/dist/generated/instructions/decompressV1.d.ts +106 -11
  49. package/dist/generated/instructions/decompressV1.d.ts.map +1 -1
  50. package/dist/generated/instructions/decompressV1.js +25 -0
  51. package/dist/generated/instructions/decompressV1.js.map +1 -1
  52. package/dist/generated/instructions/delegate.d.ts +140 -17
  53. package/dist/generated/instructions/delegate.d.ts.map +1 -1
  54. package/dist/generated/instructions/delegate.js +19 -0
  55. package/dist/generated/instructions/delegate.js.map +1 -1
  56. package/dist/generated/instructions/delegateAndFreezeV2.d.ts +171 -27
  57. package/dist/generated/instructions/delegateAndFreezeV2.d.ts.map +1 -1
  58. package/dist/generated/instructions/delegateAndFreezeV2.js +17 -0
  59. package/dist/generated/instructions/delegateAndFreezeV2.js.map +1 -1
  60. package/dist/generated/instructions/delegateV2.d.ts +169 -27
  61. package/dist/generated/instructions/delegateV2.d.ts.map +1 -1
  62. package/dist/generated/instructions/delegateV2.js +15 -0
  63. package/dist/generated/instructions/delegateV2.js.map +1 -1
  64. package/dist/generated/instructions/freezeV2.d.ts +174 -28
  65. package/dist/generated/instructions/freezeV2.d.ts.map +1 -1
  66. package/dist/generated/instructions/freezeV2.js +23 -0
  67. package/dist/generated/instructions/freezeV2.js.map +1 -1
  68. package/dist/generated/instructions/index.d.ts +2 -1
  69. package/dist/generated/instructions/mintToCollectionV1.d.ts +171 -20
  70. package/dist/generated/instructions/mintToCollectionV1.d.ts.map +1 -1
  71. package/dist/generated/instructions/mintToCollectionV1.js +23 -0
  72. package/dist/generated/instructions/mintToCollectionV1.js.map +1 -1
  73. package/dist/generated/instructions/mintV1.d.ts +109 -11
  74. package/dist/generated/instructions/mintV1.d.ts.map +1 -1
  75. package/dist/generated/instructions/mintV1.js +21 -0
  76. package/dist/generated/instructions/mintV1.js.map +1 -1
  77. package/dist/generated/instructions/mintV2.d.ts +163 -17
  78. package/dist/generated/instructions/mintV2.d.ts.map +1 -1
  79. package/dist/generated/instructions/mintV2.js +45 -0
  80. package/dist/generated/instructions/mintV2.js.map +1 -1
  81. package/dist/generated/instructions/redeem.d.ts +153 -17
  82. package/dist/generated/instructions/redeem.d.ts.map +1 -1
  83. package/dist/generated/instructions/redeem.js +23 -0
  84. package/dist/generated/instructions/redeem.js.map +1 -1
  85. package/dist/generated/instructions/setAndVerifyCollection.d.ts +222 -38
  86. package/dist/generated/instructions/setAndVerifyCollection.d.ts.map +1 -1
  87. package/dist/generated/instructions/setAndVerifyCollection.js +21 -0
  88. package/dist/generated/instructions/setAndVerifyCollection.js.map +1 -1
  89. package/dist/generated/instructions/setCollectionV2.d.ts +186 -39
  90. package/dist/generated/instructions/setCollectionV2.d.ts.map +1 -1
  91. package/dist/generated/instructions/setCollectionV2.js +21 -0
  92. package/dist/generated/instructions/setCollectionV2.js.map +1 -1
  93. package/dist/generated/instructions/setDecompressableState.d.ts +40 -9
  94. package/dist/generated/instructions/setDecompressableState.d.ts.map +1 -1
  95. package/dist/generated/instructions/setDecompressableState.js +13 -0
  96. package/dist/generated/instructions/setDecompressableState.js.map +1 -1
  97. package/dist/generated/instructions/setDecompressibleState.d.ts +41 -9
  98. package/dist/generated/instructions/setDecompressibleState.d.ts.map +1 -1
  99. package/dist/generated/instructions/setDecompressibleState.js +14 -0
  100. package/dist/generated/instructions/setDecompressibleState.js.map +1 -1
  101. package/dist/generated/instructions/setNonTransferableV2.d.ts +166 -31
  102. package/dist/generated/instructions/setNonTransferableV2.d.ts.map +1 -1
  103. package/dist/generated/instructions/setNonTransferableV2.js +23 -0
  104. package/dist/generated/instructions/setNonTransferableV2.js.map +1 -1
  105. package/dist/generated/instructions/setTreeDelegate.d.ts +65 -9
  106. package/dist/generated/instructions/setTreeDelegate.d.ts.map +1 -1
  107. package/dist/generated/instructions/setTreeDelegate.js +21 -0
  108. package/dist/generated/instructions/setTreeDelegate.js.map +1 -1
  109. package/dist/generated/instructions/thawAndRevokeV2.d.ts +158 -24
  110. package/dist/generated/instructions/thawAndRevokeV2.d.ts.map +1 -1
  111. package/dist/generated/instructions/thawAndRevokeV2.js +17 -0
  112. package/dist/generated/instructions/thawAndRevokeV2.js.map +1 -1
  113. package/dist/generated/instructions/thawV2.d.ts +166 -28
  114. package/dist/generated/instructions/thawV2.d.ts.map +1 -1
  115. package/dist/generated/instructions/thawV2.js +15 -0
  116. package/dist/generated/instructions/thawV2.js.map +1 -1
  117. package/dist/generated/instructions/transfer.d.ts +140 -17
  118. package/dist/generated/instructions/transfer.d.ts.map +1 -1
  119. package/dist/generated/instructions/transfer.js +19 -0
  120. package/dist/generated/instructions/transfer.js.map +1 -1
  121. package/dist/generated/instructions/transferV2.d.ts +167 -31
  122. package/dist/generated/instructions/transferV2.d.ts.map +1 -1
  123. package/dist/generated/instructions/transferV2.js +21 -0
  124. package/dist/generated/instructions/transferV2.js.map +1 -1
  125. package/dist/generated/instructions/unverifyCollection.d.ts +215 -38
  126. package/dist/generated/instructions/unverifyCollection.d.ts.map +1 -1
  127. package/dist/generated/instructions/unverifyCollection.js +19 -0
  128. package/dist/generated/instructions/unverifyCollection.js.map +1 -1
  129. package/dist/generated/instructions/unverifyCreator.d.ts +161 -17
  130. package/dist/generated/instructions/unverifyCreator.d.ts.map +1 -1
  131. package/dist/generated/instructions/unverifyCreator.js +19 -0
  132. package/dist/generated/instructions/unverifyCreator.js.map +1 -1
  133. package/dist/generated/instructions/unverifyCreatorV2.d.ts +143 -21
  134. package/dist/generated/instructions/unverifyCreatorV2.d.ts.map +1 -1
  135. package/dist/generated/instructions/unverifyCreatorV2.js +19 -0
  136. package/dist/generated/instructions/unverifyCreatorV2.js.map +1 -1
  137. package/dist/generated/instructions/updateAssetDataV2.d.ts +180 -28
  138. package/dist/generated/instructions/updateAssetDataV2.d.ts.map +1 -1
  139. package/dist/generated/instructions/updateAssetDataV2.js +21 -0
  140. package/dist/generated/instructions/updateAssetDataV2.js.map +1 -1
  141. package/dist/generated/instructions/updateMetadata.d.ts +183 -28
  142. package/dist/generated/instructions/updateMetadata.d.ts.map +1 -1
  143. package/dist/generated/instructions/updateMetadata.js +21 -0
  144. package/dist/generated/instructions/updateMetadata.js.map +1 -1
  145. package/dist/generated/instructions/updateMetadataV2.d.ts +162 -27
  146. package/dist/generated/instructions/updateMetadataV2.d.ts.map +1 -1
  147. package/dist/generated/instructions/updateMetadataV2.js +19 -0
  148. package/dist/generated/instructions/updateMetadataV2.js.map +1 -1
  149. package/dist/generated/instructions/verifyCollection.d.ts +215 -38
  150. package/dist/generated/instructions/verifyCollection.d.ts.map +1 -1
  151. package/dist/generated/instructions/verifyCollection.js +19 -0
  152. package/dist/generated/instructions/verifyCollection.js.map +1 -1
  153. package/dist/generated/instructions/verifyCreator.d.ts +161 -17
  154. package/dist/generated/instructions/verifyCreator.d.ts.map +1 -1
  155. package/dist/generated/instructions/verifyCreator.js +19 -0
  156. package/dist/generated/instructions/verifyCreator.js.map +1 -1
  157. package/dist/generated/instructions/verifyCreatorV2.d.ts +143 -21
  158. package/dist/generated/instructions/verifyCreatorV2.d.ts.map +1 -1
  159. package/dist/generated/instructions/verifyCreatorV2.js +19 -0
  160. package/dist/generated/instructions/verifyCreatorV2.js.map +1 -1
  161. package/dist/generated/pdas/assetId.d.ts +2 -3
  162. package/dist/generated/pdas/assetId.d.ts.map +1 -1
  163. package/dist/generated/pdas/assetId.js +7 -0
  164. package/dist/generated/pdas/assetId.js.map +1 -1
  165. package/dist/generated/pdas/bubblegumSigner.d.ts +0 -1
  166. package/dist/generated/pdas/bubblegumSigner.d.ts.map +1 -1
  167. package/dist/generated/pdas/bubblegumSigner.js +7 -0
  168. package/dist/generated/pdas/bubblegumSigner.js.map +1 -1
  169. package/dist/generated/pdas/index.d.ts +2 -1
  170. package/dist/generated/pdas/masterEdition.d.ts +2 -3
  171. package/dist/generated/pdas/masterEdition.d.ts.map +1 -1
  172. package/dist/generated/pdas/masterEdition.js +7 -0
  173. package/dist/generated/pdas/masterEdition.js.map +1 -1
  174. package/dist/generated/pdas/metadata.d.ts +2 -3
  175. package/dist/generated/pdas/metadata.d.ts.map +1 -1
  176. package/dist/generated/pdas/metadata.js +7 -0
  177. package/dist/generated/pdas/metadata.js.map +1 -1
  178. package/dist/generated/pdas/mintAuthority.d.ts +2 -3
  179. package/dist/generated/pdas/mintAuthority.d.ts.map +1 -1
  180. package/dist/generated/pdas/mintAuthority.js +7 -0
  181. package/dist/generated/pdas/mintAuthority.js.map +1 -1
  182. package/dist/generated/pdas/treeConfig.d.ts +2 -3
  183. package/dist/generated/pdas/treeConfig.d.ts.map +1 -1
  184. package/dist/generated/pdas/treeConfig.js +7 -0
  185. package/dist/generated/pdas/treeConfig.js.map +1 -1
  186. package/dist/generated/pdas/voucher.d.ts +2 -3
  187. package/dist/generated/pdas/voucher.d.ts.map +1 -1
  188. package/dist/generated/pdas/voucher.js +7 -0
  189. package/dist/generated/pdas/voucher.js.map +1 -1
  190. package/dist/generated/programs/bubblegum.d.ts +17 -12
  191. package/dist/generated/programs/bubblegum.d.ts.map +1 -1
  192. package/dist/generated/programs/bubblegum.js +11 -1
  193. package/dist/generated/programs/bubblegum.js.map +1 -1
  194. package/dist/generated/programs/index.d.ts +2 -1
  195. package/dist/generated/programs/mplTokenMetadata.d.ts +8 -8
  196. package/dist/generated/programs/mplTokenMetadata.d.ts.map +1 -1
  197. package/dist/generated/programs/mplTokenMetadata.js +7 -0
  198. package/dist/generated/programs/mplTokenMetadata.js.map +1 -1
  199. package/dist/generated/types/assetDataSchema.d.ts +4 -1
  200. package/dist/generated/types/assetDataSchema.d.ts.map +1 -1
  201. package/dist/generated/types/assetDataSchema.js +11 -0
  202. package/dist/generated/types/assetDataSchema.js.map +1 -1
  203. package/dist/generated/types/bubblegumEventType.d.ts +4 -1
  204. package/dist/generated/types/bubblegumEventType.d.ts.map +1 -1
  205. package/dist/generated/types/bubblegumEventType.js +11 -0
  206. package/dist/generated/types/bubblegumEventType.js.map +1 -1
  207. package/dist/generated/types/collection.d.ts +9 -3
  208. package/dist/generated/types/collection.d.ts.map +1 -1
  209. package/dist/generated/types/collection.js +7 -0
  210. package/dist/generated/types/collection.js.map +1 -1
  211. package/dist/generated/types/creator.d.ts +9 -7
  212. package/dist/generated/types/creator.d.ts.map +1 -1
  213. package/dist/generated/types/creator.js +7 -0
  214. package/dist/generated/types/creator.js.map +1 -1
  215. package/dist/generated/types/decompressibleState.d.ts +5 -1
  216. package/dist/generated/types/decompressibleState.d.ts.map +1 -1
  217. package/dist/generated/types/decompressibleState.js +12 -0
  218. package/dist/generated/types/decompressibleState.js.map +1 -1
  219. package/dist/generated/types/index.d.ts +2 -1
  220. package/dist/generated/types/instructionName.d.ts +4 -1
  221. package/dist/generated/types/instructionName.d.ts.map +1 -1
  222. package/dist/generated/types/instructionName.js +11 -0
  223. package/dist/generated/types/instructionName.js.map +1 -1
  224. package/dist/generated/types/leafSchema.d.ts +51 -13
  225. package/dist/generated/types/leafSchema.d.ts.map +1 -1
  226. package/dist/generated/types/leafSchema.js +7 -0
  227. package/dist/generated/types/leafSchema.js.map +1 -1
  228. package/dist/generated/types/metadataArgs.d.ts +19 -7
  229. package/dist/generated/types/metadataArgs.d.ts.map +1 -1
  230. package/dist/generated/types/metadataArgs.js +7 -0
  231. package/dist/generated/types/metadataArgs.js.map +1 -1
  232. package/dist/generated/types/metadataArgsV2.d.ts +14 -7
  233. package/dist/generated/types/metadataArgsV2.d.ts.map +1 -1
  234. package/dist/generated/types/metadataArgsV2.js +7 -0
  235. package/dist/generated/types/metadataArgsV2.js.map +1 -1
  236. package/dist/generated/types/tokenProgramVersion.d.ts +1 -1
  237. package/dist/generated/types/tokenProgramVersion.d.ts.map +1 -1
  238. package/dist/generated/types/tokenProgramVersion.js +8 -0
  239. package/dist/generated/types/tokenProgramVersion.js.map +1 -1
  240. package/dist/generated/types/tokenStandard.d.ts +5 -1
  241. package/dist/generated/types/tokenStandard.d.ts.map +1 -1
  242. package/dist/generated/types/tokenStandard.js +12 -0
  243. package/dist/generated/types/tokenStandard.js.map +1 -1
  244. package/dist/generated/types/updateArgs.d.ts +26 -7
  245. package/dist/generated/types/updateArgs.d.ts.map +1 -1
  246. package/dist/generated/types/updateArgs.js +7 -0
  247. package/dist/generated/types/updateArgs.js.map +1 -1
  248. package/dist/generated/types/useMethod.d.ts +1 -1
  249. package/dist/generated/types/useMethod.d.ts.map +1 -1
  250. package/dist/generated/types/useMethod.js +8 -0
  251. package/dist/generated/types/useMethod.js.map +1 -1
  252. package/dist/generated/types/uses.d.ts +16 -5
  253. package/dist/generated/types/uses.d.ts.map +1 -1
  254. package/dist/generated/types/uses.js +7 -0
  255. package/dist/generated/types/uses.js.map +1 -1
  256. package/dist/generated/types/version.d.ts +5 -1
  257. package/dist/generated/types/version.d.ts.map +1 -1
  258. package/dist/generated/types/version.js +12 -0
  259. package/dist/generated/types/version.js.map +1 -1
  260. package/dist/index.d.ts +1 -0
  261. package/package.json +6 -6
  262. package/src/generated/accounts/treeConfig.ts +36 -27
  263. package/src/generated/accounts/voucher.ts +30 -23
  264. package/src/generated/errors/bubblegum.ts +121 -154
  265. package/src/generated/instructions/burn.ts +157 -35
  266. package/src/generated/instructions/burnV2.ts +197 -52
  267. package/src/generated/instructions/cancelRedeem.ts +116 -32
  268. package/src/generated/instructions/closeTreeV2.ts +96 -35
  269. package/src/generated/instructions/collectV2.ts +34 -23
  270. package/src/generated/instructions/compress.ts +136 -30
  271. package/src/generated/instructions/createTree.ts +137 -33
  272. package/src/generated/instructions/createTreeV2.ts +128 -36
  273. package/src/generated/instructions/decompressV1.ts +124 -31
  274. package/src/generated/instructions/delegate.ts +159 -38
  275. package/src/generated/instructions/delegateAndFreezeV2.ts +191 -51
  276. package/src/generated/instructions/delegateV2.ts +189 -51
  277. package/src/generated/instructions/freezeV2.ts +193 -49
  278. package/src/generated/instructions/mintToCollectionV1.ts +186 -37
  279. package/src/generated/instructions/mintV1.ts +127 -31
  280. package/src/generated/instructions/mintV2.ts +184 -45
  281. package/src/generated/instructions/redeem.ts +172 -38
  282. package/src/generated/instructions/setAndVerifyCollection.ts +236 -54
  283. package/src/generated/instructions/setCollectionV2.ts +202 -58
  284. package/src/generated/instructions/setDecompressableState.ts +59 -31
  285. package/src/generated/instructions/setDecompressibleState.ts +60 -31
  286. package/src/generated/instructions/setNonTransferableV2.ts +184 -52
  287. package/src/generated/instructions/setTreeDelegate.ts +82 -28
  288. package/src/generated/instructions/thawAndRevokeV2.ts +179 -48
  289. package/src/generated/instructions/thawV2.ts +185 -49
  290. package/src/generated/instructions/transfer.ts +156 -35
  291. package/src/generated/instructions/transferV2.ts +185 -52
  292. package/src/generated/instructions/unverifyCollection.ts +229 -54
  293. package/src/generated/instructions/unverifyCreator.ts +181 -39
  294. package/src/generated/instructions/unverifyCreatorV2.ts +164 -46
  295. package/src/generated/instructions/updateAssetDataV2.ts +200 -50
  296. package/src/generated/instructions/updateMetadata.ts +200 -52
  297. package/src/generated/instructions/updateMetadataV2.ts +183 -54
  298. package/src/generated/instructions/verifyCollection.ts +229 -54
  299. package/src/generated/instructions/verifyCreator.ts +181 -39
  300. package/src/generated/instructions/verifyCreatorV2.ts +164 -46
  301. package/src/generated/pdas/assetId.ts +4 -3
  302. package/src/generated/pdas/bubblegumSigner.ts +6 -2
  303. package/src/generated/pdas/masterEdition.ts +4 -3
  304. package/src/generated/pdas/metadata.ts +4 -3
  305. package/src/generated/pdas/mintAuthority.ts +8 -4
  306. package/src/generated/pdas/treeConfig.ts +8 -4
  307. package/src/generated/pdas/voucher.ts +4 -3
  308. package/src/generated/programs/bubblegum.ts +146 -144
  309. package/src/generated/programs/mplTokenMetadata.ts +5 -10
  310. package/src/generated/types/assetDataSchema.ts +14 -8
  311. package/src/generated/types/bubblegumEventType.ts +13 -7
  312. package/src/generated/types/collection.ts +13 -8
  313. package/src/generated/types/creator.ts +11 -10
  314. package/src/generated/types/decompressibleState.ts +14 -7
  315. package/src/generated/types/instructionName.ts +46 -40
  316. package/src/generated/types/leafSchema.ts +59 -22
  317. package/src/generated/types/metadataArgs.ts +35 -27
  318. package/src/generated/types/metadataArgsV2.ts +23 -20
  319. package/src/generated/types/tokenProgramVersion.ts +10 -7
  320. package/src/generated/types/tokenStandard.ts +16 -9
  321. package/src/generated/types/updateArgs.ts +36 -15
  322. package/src/generated/types/useMethod.ts +11 -8
  323. package/src/generated/types/uses.ts +24 -11
  324. package/src/generated/types/version.ts +14 -7
@@ -1,111 +1,266 @@
1
1
  import { MetadataArgs, MetadataArgsArgs } from "../types/metadataArgs.js";
2
2
  import { UpdateArgs, UpdateArgsArgs } from "../types/updateArgs.js";
3
+ import "../types/index.js";
3
4
  import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/bubblegum.js";
5
+ import "../programs/index.js";
4
6
  import { AccountMeta, AccountSignerMeta, Address, Codec, Decoder, Encoder, Instruction, InstructionWithAccounts, InstructionWithData, ReadonlyAccount, ReadonlySignerAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount } from "@solana/kit";
5
-
6
7
  //#region src/generated/instructions/updateMetadata.d.ts
7
8
  declare const UPDATE_METADATA_DISCRIMINATOR: ReadonlyUint8Array;
8
9
  declare function getUpdateMetadataDiscriminatorBytes(): ReadonlyUint8Array;
9
10
  type UpdateMetadataInstruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountTreeAuthority extends string | AccountMeta<string> = string, TAccountAuthority extends string | AccountMeta<string> = string, TAccountCollectionMint extends string | AccountMeta<string> = string, TAccountCollectionMetadata extends string | AccountMeta<string> = string, TAccountCollectionAuthorityRecordPda extends string | AccountMeta<string> = "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY", TAccountLeafOwner extends string | AccountMeta<string> = string, TAccountLeafDelegate extends string | AccountMeta<string> = string, TAccountPayer extends string | AccountMeta<string> = string, TAccountMerkleTree extends string | AccountMeta<string> = string, TAccountLogWrapper extends string | AccountMeta<string> = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV", TAccountCompressionProgram extends string | AccountMeta<string> = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK", TAccountTokenMetadataProgram extends string | AccountMeta<string> = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s", TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountTreeAuthority extends string ? ReadonlyAccount<TAccountTreeAuthority> : TAccountTreeAuthority, TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority, TAccountCollectionMint extends string ? ReadonlyAccount<TAccountCollectionMint> : TAccountCollectionMint, TAccountCollectionMetadata extends string ? ReadonlyAccount<TAccountCollectionMetadata> : TAccountCollectionMetadata, TAccountCollectionAuthorityRecordPda extends string ? ReadonlyAccount<TAccountCollectionAuthorityRecordPda> : TAccountCollectionAuthorityRecordPda, TAccountLeafOwner extends string ? ReadonlyAccount<TAccountLeafOwner> : TAccountLeafOwner, TAccountLeafDelegate extends string ? ReadonlyAccount<TAccountLeafDelegate> : TAccountLeafDelegate, TAccountPayer extends string ? ReadonlySignerAccount<TAccountPayer> & AccountSignerMeta<TAccountPayer> : TAccountPayer, TAccountMerkleTree extends string ? WritableAccount<TAccountMerkleTree> : TAccountMerkleTree, TAccountLogWrapper extends string ? ReadonlyAccount<TAccountLogWrapper> : TAccountLogWrapper, TAccountCompressionProgram extends string ? ReadonlyAccount<TAccountCompressionProgram> : TAccountCompressionProgram, TAccountTokenMetadataProgram extends string ? ReadonlyAccount<TAccountTokenMetadataProgram> : TAccountTokenMetadataProgram, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, ...TRemainingAccounts]>;
10
- interface UpdateMetadataInstructionData {
11
+ type UpdateMetadataInstructionData = {
11
12
  discriminator: ReadonlyUint8Array;
12
- root: number[];
13
+ /**
14
+ * Current Merkle root of the tree, used together with the Merkle proof
15
+ * (passed as remaining accounts) to verify the leaf being operated on.
16
+ */
17
+ root: Array<number>;
18
+ /**
19
+ * Tree-scoped nonce identifying the leaf, equal to the tree's
20
+ * `numMinted` at the time the leaf was minted. Combined with the tree
21
+ * address to derive the leaf's asset id.
22
+ */
13
23
  nonce: bigint;
24
+ /**
25
+ * Position of the leaf within the Merkle tree, used with the Merkle
26
+ * proof to locate and verify the leaf.
27
+ */
14
28
  index: number;
29
+ /**
30
+ * The leaf's current metadata args, verified against `dataHash` before
31
+ * `updateArgs` is applied.
32
+ */
15
33
  currentMetadata: MetadataArgs;
34
+ /**
35
+ * The metadata fields to change; fields left unset keep their current
36
+ * value on the leaf.
37
+ */
16
38
  updateArgs: UpdateArgs;
17
- }
18
- interface UpdateMetadataInstructionDataArgs {
19
- root: number[];
39
+ };
40
+ type UpdateMetadataInstructionDataArgs = {
41
+ /**
42
+ * Current Merkle root of the tree, used together with the Merkle proof
43
+ * (passed as remaining accounts) to verify the leaf being operated on.
44
+ */
45
+ root: Array<number>;
46
+ /**
47
+ * Tree-scoped nonce identifying the leaf, equal to the tree's
48
+ * `numMinted` at the time the leaf was minted. Combined with the tree
49
+ * address to derive the leaf's asset id.
50
+ */
20
51
  nonce: number | bigint;
52
+ /**
53
+ * Position of the leaf within the Merkle tree, used with the Merkle
54
+ * proof to locate and verify the leaf.
55
+ */
21
56
  index: number;
57
+ /**
58
+ * The leaf's current metadata args, verified against `dataHash` before
59
+ * `updateArgs` is applied.
60
+ */
22
61
  currentMetadata: MetadataArgsArgs;
62
+ /**
63
+ * The metadata fields to change; fields left unset keep their current
64
+ * value on the leaf.
65
+ */
23
66
  updateArgs: UpdateArgsArgs;
24
- }
67
+ };
25
68
  declare function getUpdateMetadataInstructionDataEncoder(): Encoder<UpdateMetadataInstructionDataArgs>;
26
69
  declare function getUpdateMetadataInstructionDataDecoder(): Decoder<UpdateMetadataInstructionData>;
27
70
  declare function getUpdateMetadataInstructionDataCodec(): Codec<UpdateMetadataInstructionDataArgs, UpdateMetadataInstructionData>;
28
- interface UpdateMetadataAsyncInput<TAccountTreeAuthority extends string = string, TAccountAuthority extends string = string, TAccountCollectionMint extends string = string, TAccountCollectionMetadata extends string = string, TAccountCollectionAuthorityRecordPda extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountPayer extends string = string, TAccountMerkleTree extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountTokenMetadataProgram extends string = string, TAccountSystemProgram extends string = string> {
71
+ type UpdateMetadataAsyncInput<TAccountTreeAuthority extends string = string, TAccountAuthority extends string = string, TAccountCollectionMint extends string = string, TAccountCollectionMetadata extends string = string, TAccountCollectionAuthorityRecordPda extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountPayer extends string = string, TAccountMerkleTree extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountTokenMetadataProgram extends string = string, TAccountSystemProgram extends string = string> = {
72
+ /**
73
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
74
+ * as the tree's authority for CPIs into the compression program.
75
+ */
29
76
  treeAuthority?: Address<TAccountTreeAuthority>;
30
77
  /**
31
- * Either collection authority or tree owner/delegate, depending
32
- * on whether the item is in a verified collection
33
- */
78
+ * Either the collection authority or the tree owner/delegate,
79
+ * depending on whether the asset is in a verified collection.
80
+ */
34
81
  authority: TransactionSigner<TAccountAuthority>;
35
- /** Used when item is in a verified collection */
82
+ /** Used when the asset is in a verified collection. */
36
83
  collectionMint?: Address<TAccountCollectionMint>;
37
- /** Used when item is in a verified collection */
84
+ /** Used when the asset is in a verified collection. */
38
85
  collectionMetadata?: Address<TAccountCollectionMetadata>;
86
+ /**
87
+ * Delegated collection authority record PDA. Pass the Bubblegum
88
+ * program id if `collectionAuthority` is the collection's direct
89
+ * update authority rather than a delegate.
90
+ */
39
91
  collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
92
+ /** Owner of the compressed NFT leaf being operated on. */
40
93
  leafOwner: Address<TAccountLeafOwner>;
94
+ /**
95
+ * Delegate authority for the leaf; defaults to the leaf owner when no
96
+ * delegate is set.
97
+ */
41
98
  leafDelegate: Address<TAccountLeafDelegate>;
99
+ /** Account that pays for the transaction and any account rent. */
42
100
  payer: TransactionSigner<TAccountPayer>;
101
+ /**
102
+ * The concurrent Merkle tree account storing the compressed leaves,
103
+ * owned by the account compression program.
104
+ */
43
105
  merkleTree: Address<TAccountMerkleTree>;
106
+ /**
107
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
108
+ * can reconstruct the tree.
109
+ */
44
110
  logWrapper?: Address<TAccountLogWrapper>;
111
+ /**
112
+ * The SPL/MPL Account Compression program that owns and manages the
113
+ * Merkle tree.
114
+ */
45
115
  compressionProgram?: Address<TAccountCompressionProgram>;
116
+ /**
117
+ * The Token Metadata program, invoked to read or (un)verify the
118
+ * legacy collection accounts.
119
+ */
46
120
  tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
121
+ /** The Solana System program. */
47
122
  systemProgram?: Address<TAccountSystemProgram>;
48
123
  root: UpdateMetadataInstructionDataArgs["root"];
49
124
  nonce: UpdateMetadataInstructionDataArgs["nonce"];
50
125
  index: UpdateMetadataInstructionDataArgs["index"];
51
126
  currentMetadata: UpdateMetadataInstructionDataArgs["currentMetadata"];
52
127
  updateArgs: UpdateMetadataInstructionDataArgs["updateArgs"];
53
- }
128
+ };
129
+ /**
130
+ * Updates the on-chain metadata fields of a compressed NFT leaf.
131
+ *
132
+ * The caller supplies `currentMetadata` (verified against the leaf's
133
+ * stored `dataHash`) and `updateArgs` describing which fields to
134
+ * change; unset fields in `updateArgs` are left as-is.
135
+ */
54
136
  declare function getUpdateMetadataInstructionAsync<TAccountTreeAuthority extends string, TAccountAuthority extends string, TAccountCollectionMint extends string, TAccountCollectionMetadata extends string, TAccountCollectionAuthorityRecordPda extends string, TAccountLeafOwner extends string, TAccountLeafDelegate extends string, TAccountPayer extends string, TAccountMerkleTree extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountTokenMetadataProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: UpdateMetadataAsyncInput<TAccountTreeAuthority, TAccountAuthority, TAccountCollectionMint, TAccountCollectionMetadata, TAccountCollectionAuthorityRecordPda, TAccountLeafOwner, TAccountLeafDelegate, TAccountPayer, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountTokenMetadataProgram, TAccountSystemProgram>, config?: {
55
137
  programAddress?: TProgramAddress;
56
138
  }): Promise<UpdateMetadataInstruction<TProgramAddress, TAccountTreeAuthority, TAccountAuthority, TAccountCollectionMint, TAccountCollectionMetadata, TAccountCollectionAuthorityRecordPda, TAccountLeafOwner, TAccountLeafDelegate, TAccountPayer, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountTokenMetadataProgram, TAccountSystemProgram>>;
57
- interface UpdateMetadataInput<TAccountTreeAuthority extends string = string, TAccountAuthority extends string = string, TAccountCollectionMint extends string = string, TAccountCollectionMetadata extends string = string, TAccountCollectionAuthorityRecordPda extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountPayer extends string = string, TAccountMerkleTree extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountTokenMetadataProgram extends string = string, TAccountSystemProgram extends string = string> {
139
+ type UpdateMetadataInput<TAccountTreeAuthority extends string = string, TAccountAuthority extends string = string, TAccountCollectionMint extends string = string, TAccountCollectionMetadata extends string = string, TAccountCollectionAuthorityRecordPda extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountPayer extends string = string, TAccountMerkleTree extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountTokenMetadataProgram extends string = string, TAccountSystemProgram extends string = string> = {
140
+ /**
141
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
142
+ * as the tree's authority for CPIs into the compression program.
143
+ */
58
144
  treeAuthority: Address<TAccountTreeAuthority>;
59
145
  /**
60
- * Either collection authority or tree owner/delegate, depending
61
- * on whether the item is in a verified collection
62
- */
146
+ * Either the collection authority or the tree owner/delegate,
147
+ * depending on whether the asset is in a verified collection.
148
+ */
63
149
  authority: TransactionSigner<TAccountAuthority>;
64
- /** Used when item is in a verified collection */
150
+ /** Used when the asset is in a verified collection. */
65
151
  collectionMint?: Address<TAccountCollectionMint>;
66
- /** Used when item is in a verified collection */
152
+ /** Used when the asset is in a verified collection. */
67
153
  collectionMetadata?: Address<TAccountCollectionMetadata>;
154
+ /**
155
+ * Delegated collection authority record PDA. Pass the Bubblegum
156
+ * program id if `collectionAuthority` is the collection's direct
157
+ * update authority rather than a delegate.
158
+ */
68
159
  collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
160
+ /** Owner of the compressed NFT leaf being operated on. */
69
161
  leafOwner: Address<TAccountLeafOwner>;
162
+ /**
163
+ * Delegate authority for the leaf; defaults to the leaf owner when no
164
+ * delegate is set.
165
+ */
70
166
  leafDelegate: Address<TAccountLeafDelegate>;
167
+ /** Account that pays for the transaction and any account rent. */
71
168
  payer: TransactionSigner<TAccountPayer>;
169
+ /**
170
+ * The concurrent Merkle tree account storing the compressed leaves,
171
+ * owned by the account compression program.
172
+ */
72
173
  merkleTree: Address<TAccountMerkleTree>;
174
+ /**
175
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
176
+ * can reconstruct the tree.
177
+ */
73
178
  logWrapper?: Address<TAccountLogWrapper>;
179
+ /**
180
+ * The SPL/MPL Account Compression program that owns and manages the
181
+ * Merkle tree.
182
+ */
74
183
  compressionProgram?: Address<TAccountCompressionProgram>;
184
+ /**
185
+ * The Token Metadata program, invoked to read or (un)verify the
186
+ * legacy collection accounts.
187
+ */
75
188
  tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
189
+ /** The Solana System program. */
76
190
  systemProgram?: Address<TAccountSystemProgram>;
77
191
  root: UpdateMetadataInstructionDataArgs["root"];
78
192
  nonce: UpdateMetadataInstructionDataArgs["nonce"];
79
193
  index: UpdateMetadataInstructionDataArgs["index"];
80
194
  currentMetadata: UpdateMetadataInstructionDataArgs["currentMetadata"];
81
195
  updateArgs: UpdateMetadataInstructionDataArgs["updateArgs"];
82
- }
196
+ };
197
+ /**
198
+ * Updates the on-chain metadata fields of a compressed NFT leaf.
199
+ *
200
+ * The caller supplies `currentMetadata` (verified against the leaf's
201
+ * stored `dataHash`) and `updateArgs` describing which fields to
202
+ * change; unset fields in `updateArgs` are left as-is.
203
+ */
83
204
  declare function getUpdateMetadataInstruction<TAccountTreeAuthority extends string, TAccountAuthority extends string, TAccountCollectionMint extends string, TAccountCollectionMetadata extends string, TAccountCollectionAuthorityRecordPda extends string, TAccountLeafOwner extends string, TAccountLeafDelegate extends string, TAccountPayer extends string, TAccountMerkleTree extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountTokenMetadataProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: UpdateMetadataInput<TAccountTreeAuthority, TAccountAuthority, TAccountCollectionMint, TAccountCollectionMetadata, TAccountCollectionAuthorityRecordPda, TAccountLeafOwner, TAccountLeafDelegate, TAccountPayer, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountTokenMetadataProgram, TAccountSystemProgram>, config?: {
84
205
  programAddress?: TProgramAddress;
85
206
  }): UpdateMetadataInstruction<TProgramAddress, TAccountTreeAuthority, TAccountAuthority, TAccountCollectionMint, TAccountCollectionMetadata, TAccountCollectionAuthorityRecordPda, TAccountLeafOwner, TAccountLeafDelegate, TAccountPayer, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountTokenMetadataProgram, TAccountSystemProgram>;
86
- interface ParsedUpdateMetadataInstruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> {
207
+ type ParsedUpdateMetadataInstruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
87
208
  programAddress: Address<TProgram>;
88
209
  accounts: {
210
+ /**
211
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
212
+ * as the tree's authority for CPIs into the compression program.
213
+ */
89
214
  treeAuthority: TAccountMetas[0];
90
215
  /**
91
- * Either collection authority or tree owner/delegate, depending
92
- * on whether the item is in a verified collection
93
- */
94
- authority: TAccountMetas[1]; /** Used when item is in a verified collection */
95
- collectionMint?: TAccountMetas[2] | undefined; /** Used when item is in a verified collection */
216
+ * Either the collection authority or the tree owner/delegate,
217
+ * depending on whether the asset is in a verified collection.
218
+ */
219
+ authority: TAccountMetas[1];
220
+ /** Used when the asset is in a verified collection. */
221
+ collectionMint?: TAccountMetas[2] | undefined;
222
+ /** Used when the asset is in a verified collection. */
96
223
  collectionMetadata?: TAccountMetas[3] | undefined;
224
+ /**
225
+ * Delegated collection authority record PDA. Pass the Bubblegum
226
+ * program id if `collectionAuthority` is the collection's direct
227
+ * update authority rather than a delegate.
228
+ */
97
229
  collectionAuthorityRecordPda?: TAccountMetas[4] | undefined;
230
+ /** Owner of the compressed NFT leaf being operated on. */
98
231
  leafOwner: TAccountMetas[5];
232
+ /**
233
+ * Delegate authority for the leaf; defaults to the leaf owner when no
234
+ * delegate is set.
235
+ */
99
236
  leafDelegate: TAccountMetas[6];
237
+ /** Account that pays for the transaction and any account rent. */
100
238
  payer: TAccountMetas[7];
239
+ /**
240
+ * The concurrent Merkle tree account storing the compressed leaves,
241
+ * owned by the account compression program.
242
+ */
101
243
  merkleTree: TAccountMetas[8];
244
+ /**
245
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
246
+ * can reconstruct the tree.
247
+ */
102
248
  logWrapper: TAccountMetas[9];
249
+ /**
250
+ * The SPL/MPL Account Compression program that owns and manages the
251
+ * Merkle tree.
252
+ */
103
253
  compressionProgram: TAccountMetas[10];
254
+ /**
255
+ * The Token Metadata program, invoked to read or (un)verify the
256
+ * legacy collection accounts.
257
+ */
104
258
  tokenMetadataProgram: TAccountMetas[11];
259
+ /** The Solana System program. */
105
260
  systemProgram: TAccountMetas[12];
106
261
  };
107
262
  data: UpdateMetadataInstructionData;
108
- }
263
+ };
109
264
  declare function parseUpdateMetadataInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedUpdateMetadataInstruction<TProgram, TAccountMetas>;
110
265
  //#endregion
111
266
  export { ParsedUpdateMetadataInstruction, UPDATE_METADATA_DISCRIMINATOR, UpdateMetadataAsyncInput, UpdateMetadataInput, UpdateMetadataInstruction, UpdateMetadataInstructionData, UpdateMetadataInstructionDataArgs, getUpdateMetadataDiscriminatorBytes, getUpdateMetadataInstruction, getUpdateMetadataInstructionAsync, getUpdateMetadataInstructionDataCodec, getUpdateMetadataInstructionDataDecoder, getUpdateMetadataInstructionDataEncoder, parseUpdateMetadataInstruction };
@@ -1 +1 @@
1
- {"version":3,"file":"updateMetadata.d.ts","names":[],"sources":["../../../src/generated/instructions/updateMetadata.ts"],"mappings":"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"}
1
+ {"version":3,"file":"updateMetadata.d.ts","names":[],"sources":["../../../src/generated/instructions/updateMetadata.ts"],"mappings":"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"}
@@ -5,6 +5,13 @@ import "../programs/bubblegum.js";
5
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
6
  import { getAccountMetaFactory, getAddressFromResolvedInstructionAccount } from "@solana/program-client-core";
7
7
  //#region src/generated/instructions/updateMetadata.ts
8
+ /**
9
+ * This code was AUTOGENERATED using the Codama library.
10
+ * Please DO NOT EDIT THIS FILE, instead use visitors
11
+ * to add features, then rerun Codama to update it.
12
+ *
13
+ * @see https://github.com/codama-idl/codama
14
+ */
8
15
  const UPDATE_METADATA_DISCRIMINATOR = new Uint8Array([
9
16
  170,
10
17
  182,
@@ -44,6 +51,13 @@ function getUpdateMetadataInstructionDataDecoder() {
44
51
  function getUpdateMetadataInstructionDataCodec() {
45
52
  return combineCodec(getUpdateMetadataInstructionDataEncoder(), getUpdateMetadataInstructionDataDecoder());
46
53
  }
54
+ /**
55
+ * Updates the on-chain metadata fields of a compressed NFT leaf.
56
+ *
57
+ * The caller supplies `currentMetadata` (verified against the leaf's
58
+ * stored `dataHash`) and `updateArgs` describing which fields to
59
+ * change; unset fields in `updateArgs` are left as-is.
60
+ */
47
61
  async function getUpdateMetadataInstructionAsync(input, config) {
48
62
  const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
49
63
  const accounts = {
@@ -127,6 +141,13 @@ async function getUpdateMetadataInstructionAsync(input, config) {
127
141
  programAddress
128
142
  });
129
143
  }
144
+ /**
145
+ * Updates the on-chain metadata fields of a compressed NFT leaf.
146
+ *
147
+ * The caller supplies `currentMetadata` (verified against the leaf's
148
+ * stored `dataHash`) and `updateArgs` describing which fields to
149
+ * change; unset fields in `updateArgs` are left as-is.
150
+ */
130
151
  function getUpdateMetadataInstruction(input, config) {
131
152
  const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
132
153
  const accounts = {
@@ -1 +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 string | AccountMeta<string> =\n \"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 string | AccountMeta<string> =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\",\n TAccountCompressionProgram extends string | AccountMeta<string> =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\",\n TAccountTokenMetadataProgram extends string | AccountMeta<string> =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\",\n TAccountSystemProgram extends string | AccountMeta<string> =\n \"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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"}
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 {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n SolanaError,\n transformEncoder,\n type AccountMeta,\n type AccountSignerMeta,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type Instruction,\n type InstructionWithAccounts,\n type InstructionWithData,\n type ReadonlyAccount,\n type ReadonlySignerAccount,\n type ReadonlyUint8Array,\n type TransactionSigner,\n type WritableAccount,\n} from \"@solana/kit\";\nimport {\n getAccountMetaFactory,\n getAddressFromResolvedInstructionAccount,\n type ResolvedInstructionAccount,\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 type MetadataArgs,\n type MetadataArgsArgs,\n type UpdateArgs,\n type UpdateArgsArgs,\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 string | AccountMeta<string> =\n \"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 string | AccountMeta<string> =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\",\n TAccountCompressionProgram extends string | AccountMeta<string> =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\",\n TAccountTokenMetadataProgram extends string | AccountMeta<string> =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\",\n TAccountSystemProgram extends string | AccountMeta<string> =\n \"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 type UpdateMetadataInstructionData = {\n discriminator: ReadonlyUint8Array;\n /**\n * Current Merkle root of the tree, used together with the Merkle proof\n * (passed as remaining accounts) to verify the leaf being operated on.\n */\n root: Array<number>;\n /**\n * Tree-scoped nonce identifying the leaf, equal to the tree's\n * `numMinted` at the time the leaf was minted. Combined with the tree\n * address to derive the leaf's asset id.\n */\n nonce: bigint;\n /**\n * Position of the leaf within the Merkle tree, used with the Merkle\n * proof to locate and verify the leaf.\n */\n index: number;\n /**\n * The leaf's current metadata args, verified against `dataHash` before\n * `updateArgs` is applied.\n */\n currentMetadata: MetadataArgs;\n /**\n * The metadata fields to change; fields left unset keep their current\n * value on the leaf.\n */\n updateArgs: UpdateArgs;\n};\n\nexport type UpdateMetadataInstructionDataArgs = {\n /**\n * Current Merkle root of the tree, used together with the Merkle proof\n * (passed as remaining accounts) to verify the leaf being operated on.\n */\n root: Array<number>;\n /**\n * Tree-scoped nonce identifying the leaf, equal to the tree's\n * `numMinted` at the time the leaf was minted. Combined with the tree\n * address to derive the leaf's asset id.\n */\n nonce: number | bigint;\n /**\n * Position of the leaf within the Merkle tree, used with the Merkle\n * proof to locate and verify the leaf.\n */\n index: number;\n /**\n * The leaf's current metadata args, verified against `dataHash` before\n * `updateArgs` is applied.\n */\n currentMetadata: MetadataArgsArgs;\n /**\n * The metadata fields to change; fields left unset keep their current\n * value on the leaf.\n */\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 type 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 /**\n * The tree's `TreeConfig` PDA, which stores its configuration and acts\n * as the tree's authority for CPIs into the compression program.\n */\n treeAuthority?: Address<TAccountTreeAuthority>;\n /**\n * Either the collection authority or the tree owner/delegate,\n * depending on whether the asset is in a verified collection.\n */\n authority: TransactionSigner<TAccountAuthority>;\n /** Used when the asset is in a verified collection. */\n collectionMint?: Address<TAccountCollectionMint>;\n /** Used when the asset is in a verified collection. */\n collectionMetadata?: Address<TAccountCollectionMetadata>;\n /**\n * Delegated collection authority record PDA. Pass the Bubblegum\n * program id if `collectionAuthority` is the collection's direct\n * update authority rather than a delegate.\n */\n collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: Address<TAccountLeafOwner>;\n /**\n * Delegate authority for the leaf; defaults to the leaf owner when no\n * delegate is set.\n */\n leafDelegate: Address<TAccountLeafDelegate>;\n /** Account that pays for the transaction and any account rent. */\n payer: TransactionSigner<TAccountPayer>;\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /**\n * The SPL/MPL Noop program, used to log leaf data so off-chain indexers\n * can reconstruct the tree.\n */\n logWrapper?: Address<TAccountLogWrapper>;\n /**\n * The SPL/MPL Account Compression program that owns and manages the\n * Merkle tree.\n */\n compressionProgram?: Address<TAccountCompressionProgram>;\n /**\n * The Token Metadata program, invoked to read or (un)verify the\n * legacy collection accounts.\n */\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n /** The Solana System program. */\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\n/**\n * Updates the on-chain metadata fields of a compressed NFT leaf.\n *\n * The caller supplies `currentMetadata` (verified against the leaf's\n * stored `dataHash`) and `updateArgs` describing which fields to\n * change; unset fields in `updateArgs` are left as-is.\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 type 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 /**\n * The tree's `TreeConfig` PDA, which stores its configuration and acts\n * as the tree's authority for CPIs into the compression program.\n */\n treeAuthority: Address<TAccountTreeAuthority>;\n /**\n * Either the collection authority or the tree owner/delegate,\n * depending on whether the asset is in a verified collection.\n */\n authority: TransactionSigner<TAccountAuthority>;\n /** Used when the asset is in a verified collection. */\n collectionMint?: Address<TAccountCollectionMint>;\n /** Used when the asset is in a verified collection. */\n collectionMetadata?: Address<TAccountCollectionMetadata>;\n /**\n * Delegated collection authority record PDA. Pass the Bubblegum\n * program id if `collectionAuthority` is the collection's direct\n * update authority rather than a delegate.\n */\n collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: Address<TAccountLeafOwner>;\n /**\n * Delegate authority for the leaf; defaults to the leaf owner when no\n * delegate is set.\n */\n leafDelegate: Address<TAccountLeafDelegate>;\n /** Account that pays for the transaction and any account rent. */\n payer: TransactionSigner<TAccountPayer>;\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /**\n * The SPL/MPL Noop program, used to log leaf data so off-chain indexers\n * can reconstruct the tree.\n */\n logWrapper?: Address<TAccountLogWrapper>;\n /**\n * The SPL/MPL Account Compression program that owns and manages the\n * Merkle tree.\n */\n compressionProgram?: Address<TAccountCompressionProgram>;\n /**\n * The Token Metadata program, invoked to read or (un)verify the\n * legacy collection accounts.\n */\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n /** The Solana System program. */\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\n/**\n * Updates the on-chain metadata fields of a compressed NFT leaf.\n *\n * The caller supplies `currentMetadata` (verified against the leaf's\n * stored `dataHash`) and `updateArgs` describing which fields to\n * change; unset fields in `updateArgs` are left as-is.\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 type ParsedUpdateMetadataInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],\n> = {\n programAddress: Address<TProgram>;\n accounts: {\n /**\n * The tree's `TreeConfig` PDA, which stores its configuration and acts\n * as the tree's authority for CPIs into the compression program.\n */\n treeAuthority: TAccountMetas[0];\n /**\n * Either the collection authority or the tree owner/delegate,\n * depending on whether the asset is in a verified collection.\n */\n authority: TAccountMetas[1];\n /** Used when the asset is in a verified collection. */\n collectionMint?: TAccountMetas[2] | undefined;\n /** Used when the asset is in a verified collection. */\n collectionMetadata?: TAccountMetas[3] | undefined;\n /**\n * Delegated collection authority record PDA. Pass the Bubblegum\n * program id if `collectionAuthority` is the collection's direct\n * update authority rather than a delegate.\n */\n collectionAuthorityRecordPda?: TAccountMetas[4] | undefined;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: TAccountMetas[5];\n /**\n * Delegate authority for the leaf; defaults to the leaf owner when no\n * delegate is set.\n */\n leafDelegate: TAccountMetas[6];\n /** Account that pays for the transaction and any account rent. */\n payer: TAccountMetas[7];\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: TAccountMetas[8];\n /**\n * The SPL/MPL Noop program, used to log leaf data so off-chain indexers\n * can reconstruct the tree.\n */\n logWrapper: TAccountMetas[9];\n /**\n * The SPL/MPL Account Compression program that owns and manages the\n * Merkle tree.\n */\n compressionProgram: TAccountMetas[10];\n /**\n * The Token Metadata program, invoked to read or (un)verify the\n * legacy collection accounts.\n */\n tokenMetadataProgram: TAccountMetas[11];\n /** The Solana System program. */\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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"}