@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,51 +1,139 @@
1
1
  import { AssetDataSchema, AssetDataSchemaArgs } from "../types/assetDataSchema.js";
2
+ import "../types/index.js";
2
3
  import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/bubblegum.js";
4
+ import "../programs/index.js";
3
5
  import { AccountMeta, AccountSignerMeta, Address, Codec, Decoder, Encoder, Instruction, InstructionWithAccounts, InstructionWithData, Option, OptionOrNullable, ReadonlyAccount, ReadonlySignerAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount, WritableSignerAccount } from "@solana/kit";
4
-
5
6
  //#region src/generated/instructions/updateAssetDataV2.d.ts
6
7
  declare const UPDATE_ASSET_DATA_V2_DISCRIMINATOR: ReadonlyUint8Array;
7
8
  declare function getUpdateAssetDataV2DiscriminatorBytes(): ReadonlyUint8Array;
8
9
  type UpdateAssetDataV2Instruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountTreeAuthority extends string | AccountMeta<string> = string, TAccountPayer extends string | AccountMeta<string> = string, TAccountAuthority extends string | AccountMeta<string> = string, TAccountLeafOwner extends string | AccountMeta<string> = string, TAccountLeafDelegate extends string | AccountMeta<string> = string, TAccountMerkleTree extends string | AccountMeta<string> = string, TAccountCoreCollection extends string | AccountMeta<string> = string, TAccountLogWrapper extends string | AccountMeta<string> = "mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3", TAccountCompressionProgram extends string | AccountMeta<string> = "mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW", TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountTreeAuthority extends string ? WritableAccount<TAccountTreeAuthority> : TAccountTreeAuthority, TAccountPayer extends string ? WritableSignerAccount<TAccountPayer> & AccountSignerMeta<TAccountPayer> : TAccountPayer, TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority, TAccountLeafOwner extends string ? ReadonlyAccount<TAccountLeafOwner> : TAccountLeafOwner, TAccountLeafDelegate extends string ? ReadonlyAccount<TAccountLeafDelegate> : TAccountLeafDelegate, TAccountMerkleTree extends string ? WritableAccount<TAccountMerkleTree> : TAccountMerkleTree, TAccountCoreCollection extends string ? ReadonlyAccount<TAccountCoreCollection> : TAccountCoreCollection, TAccountLogWrapper extends string ? ReadonlyAccount<TAccountLogWrapper> : TAccountLogWrapper, TAccountCompressionProgram extends string ? ReadonlyAccount<TAccountCompressionProgram> : TAccountCompressionProgram, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, ...TRemainingAccounts]>;
9
- interface UpdateAssetDataV2InstructionData {
10
+ type UpdateAssetDataV2InstructionData = {
10
11
  discriminator: ReadonlyUint8Array;
11
- root: number[];
12
- dataHash: number[];
13
- creatorHash: number[];
14
- previousAssetDataHash: Option<number[]>;
12
+ /**
13
+ * Current Merkle root of the tree, used together with the Merkle proof
14
+ * (passed as remaining accounts) to verify the leaf being operated on.
15
+ */
16
+ root: Array<number>;
17
+ /**
18
+ * Keccak256 hash of the leaf's metadata, used together with `root` to
19
+ * verify the leaf before it is modified.
20
+ */
21
+ dataHash: Array<number>;
22
+ /**
23
+ * Keccak256 hash of the leaf's creators array, used together with
24
+ * `root` to verify the leaf before it is modified.
25
+ */
26
+ creatorHash: Array<number>;
27
+ /**
28
+ * Expected current `assetDataHash` of the leaf, if any, verified before
29
+ * it is replaced by `newAssetData`.
30
+ */
31
+ previousAssetDataHash: Option<Array<number>>;
32
+ /**
33
+ * Expected current status flags (e.g. frozen, non-transferable) of the
34
+ * `LeafSchema` V2 leaf, verified before this instruction updates them.
35
+ */
15
36
  flags: Option<number>;
37
+ /**
38
+ * Tree-scoped nonce identifying the leaf, equal to the tree's
39
+ * `numMinted` at the time the leaf was minted. Combined with the tree
40
+ * address to derive the leaf's asset id.
41
+ */
16
42
  nonce: bigint;
43
+ /**
44
+ * Position of the leaf within the Merkle tree, used with the Merkle
45
+ * proof to locate and verify the leaf.
46
+ */
17
47
  index: number;
48
+ /** Optional raw asset data blob to associate with the asset. */
18
49
  newAssetData: Option<ReadonlyUint8Array>;
50
+ /** Schema describing the format of `newAssetData`. */
19
51
  newAssetDataSchema: Option<AssetDataSchema>;
20
- }
21
- interface UpdateAssetDataV2InstructionDataArgs {
22
- root: number[];
23
- dataHash: number[];
24
- creatorHash: number[];
25
- previousAssetDataHash: OptionOrNullable<number[]>;
52
+ };
53
+ type UpdateAssetDataV2InstructionDataArgs = {
54
+ /**
55
+ * Current Merkle root of the tree, used together with the Merkle proof
56
+ * (passed as remaining accounts) to verify the leaf being operated on.
57
+ */
58
+ root: Array<number>;
59
+ /**
60
+ * Keccak256 hash of the leaf's metadata, used together with `root` to
61
+ * verify the leaf before it is modified.
62
+ */
63
+ dataHash: Array<number>;
64
+ /**
65
+ * Keccak256 hash of the leaf's creators array, used together with
66
+ * `root` to verify the leaf before it is modified.
67
+ */
68
+ creatorHash: Array<number>;
69
+ /**
70
+ * Expected current `assetDataHash` of the leaf, if any, verified before
71
+ * it is replaced by `newAssetData`.
72
+ */
73
+ previousAssetDataHash: OptionOrNullable<Array<number>>;
74
+ /**
75
+ * Expected current status flags (e.g. frozen, non-transferable) of the
76
+ * `LeafSchema` V2 leaf, verified before this instruction updates them.
77
+ */
26
78
  flags: OptionOrNullable<number>;
79
+ /**
80
+ * Tree-scoped nonce identifying the leaf, equal to the tree's
81
+ * `numMinted` at the time the leaf was minted. Combined with the tree
82
+ * address to derive the leaf's asset id.
83
+ */
27
84
  nonce: number | bigint;
85
+ /**
86
+ * Position of the leaf within the Merkle tree, used with the Merkle
87
+ * proof to locate and verify the leaf.
88
+ */
28
89
  index: number;
90
+ /** Optional raw asset data blob to associate with the asset. */
29
91
  newAssetData: OptionOrNullable<ReadonlyUint8Array>;
92
+ /** Schema describing the format of `newAssetData`. */
30
93
  newAssetDataSchema: OptionOrNullable<AssetDataSchemaArgs>;
31
- }
94
+ };
32
95
  declare function getUpdateAssetDataV2InstructionDataEncoder(): Encoder<UpdateAssetDataV2InstructionDataArgs>;
33
96
  declare function getUpdateAssetDataV2InstructionDataDecoder(): Decoder<UpdateAssetDataV2InstructionData>;
34
97
  declare function getUpdateAssetDataV2InstructionDataCodec(): Codec<UpdateAssetDataV2InstructionDataArgs, UpdateAssetDataV2InstructionData>;
35
- interface UpdateAssetDataV2AsyncInput<TAccountTreeAuthority extends string = string, TAccountPayer extends string = string, TAccountAuthority extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountMerkleTree extends string = string, TAccountCoreCollection extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> {
98
+ type UpdateAssetDataV2AsyncInput<TAccountTreeAuthority extends string = string, TAccountPayer extends string = string, TAccountAuthority extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountMerkleTree extends string = string, TAccountCoreCollection extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> = {
99
+ /**
100
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
101
+ * as the tree's authority for CPIs into the compression program.
102
+ */
36
103
  treeAuthority?: Address<TAccountTreeAuthority>;
104
+ /** Account that pays for the transaction and any account rent. */
37
105
  payer: TransactionSigner<TAccountPayer>;
38
106
  /**
39
- * Either collection authority or tree owner/delegate, depending on
40
- * whether the item is in a verified collection. Defaults to `payer`
41
- */
107
+ * Either the collection authority or the tree owner/delegate,
108
+ * depending on whether the asset is in a verified collection.
109
+ * Defaults to `payer`.
110
+ */
42
111
  authority?: TransactionSigner<TAccountAuthority>;
112
+ /** Owner of the compressed NFT leaf being operated on. */
43
113
  leafOwner: Address<TAccountLeafOwner>;
114
+ /**
115
+ * Delegate authority for the leaf; defaults to the leaf owner when no
116
+ * delegate is set.
117
+ */
44
118
  leafDelegate?: Address<TAccountLeafDelegate>;
119
+ /**
120
+ * The concurrent Merkle tree account storing the compressed leaves,
121
+ * owned by the account compression program.
122
+ */
45
123
  merkleTree: Address<TAccountMerkleTree>;
124
+ /** MPL Core collection account the asset belongs to (V2 collections). */
46
125
  coreCollection?: Address<TAccountCoreCollection>;
126
+ /**
127
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
128
+ * can reconstruct the tree.
129
+ */
47
130
  logWrapper?: Address<TAccountLogWrapper>;
131
+ /**
132
+ * The SPL/MPL Account Compression program that owns and manages the
133
+ * Merkle tree.
134
+ */
48
135
  compressionProgram?: Address<TAccountCompressionProgram>;
136
+ /** The Solana System program. */
49
137
  systemProgram?: Address<TAccountSystemProgram>;
50
138
  root: UpdateAssetDataV2InstructionDataArgs["root"];
51
139
  dataHash: UpdateAssetDataV2InstructionDataArgs["dataHash"];
@@ -56,24 +144,56 @@ interface UpdateAssetDataV2AsyncInput<TAccountTreeAuthority extends string = str
56
144
  index: UpdateAssetDataV2InstructionDataArgs["index"];
57
145
  newAssetData: UpdateAssetDataV2InstructionDataArgs["newAssetData"];
58
146
  newAssetDataSchema: UpdateAssetDataV2InstructionDataArgs["newAssetDataSchema"];
59
- }
147
+ };
148
+ /**
149
+ * Updates the off-chain asset data hash and status flags of a
150
+ * `LeafSchema` V2 leaf node.
151
+ *
152
+ * Callable by the collection authority, or the tree owner/delegate for
153
+ * assets not in a verified collection.
154
+ */
60
155
  declare function getUpdateAssetDataV2InstructionAsync<TAccountTreeAuthority extends string, TAccountPayer extends string, TAccountAuthority extends string, TAccountLeafOwner extends string, TAccountLeafDelegate extends string, TAccountMerkleTree extends string, TAccountCoreCollection extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: UpdateAssetDataV2AsyncInput<TAccountTreeAuthority, TAccountPayer, TAccountAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountMerkleTree, TAccountCoreCollection, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>, config?: {
61
156
  programAddress?: TProgramAddress;
62
157
  }): Promise<UpdateAssetDataV2Instruction<TProgramAddress, TAccountTreeAuthority, TAccountPayer, TAccountAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountMerkleTree, TAccountCoreCollection, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>>;
63
- interface UpdateAssetDataV2Input<TAccountTreeAuthority extends string = string, TAccountPayer extends string = string, TAccountAuthority extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountMerkleTree extends string = string, TAccountCoreCollection extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> {
158
+ type UpdateAssetDataV2Input<TAccountTreeAuthority extends string = string, TAccountPayer extends string = string, TAccountAuthority extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountMerkleTree extends string = string, TAccountCoreCollection extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> = {
159
+ /**
160
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
161
+ * as the tree's authority for CPIs into the compression program.
162
+ */
64
163
  treeAuthority: Address<TAccountTreeAuthority>;
164
+ /** Account that pays for the transaction and any account rent. */
65
165
  payer: TransactionSigner<TAccountPayer>;
66
166
  /**
67
- * Either collection authority or tree owner/delegate, depending on
68
- * whether the item is in a verified collection. Defaults to `payer`
69
- */
167
+ * Either the collection authority or the tree owner/delegate,
168
+ * depending on whether the asset is in a verified collection.
169
+ * Defaults to `payer`.
170
+ */
70
171
  authority?: TransactionSigner<TAccountAuthority>;
172
+ /** Owner of the compressed NFT leaf being operated on. */
71
173
  leafOwner: Address<TAccountLeafOwner>;
174
+ /**
175
+ * Delegate authority for the leaf; defaults to the leaf owner when no
176
+ * delegate is set.
177
+ */
72
178
  leafDelegate?: Address<TAccountLeafDelegate>;
179
+ /**
180
+ * The concurrent Merkle tree account storing the compressed leaves,
181
+ * owned by the account compression program.
182
+ */
73
183
  merkleTree: Address<TAccountMerkleTree>;
184
+ /** MPL Core collection account the asset belongs to (V2 collections). */
74
185
  coreCollection?: Address<TAccountCoreCollection>;
186
+ /**
187
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
188
+ * can reconstruct the tree.
189
+ */
75
190
  logWrapper?: Address<TAccountLogWrapper>;
191
+ /**
192
+ * The SPL/MPL Account Compression program that owns and manages the
193
+ * Merkle tree.
194
+ */
76
195
  compressionProgram?: Address<TAccountCompressionProgram>;
196
+ /** The Solana System program. */
77
197
  systemProgram?: Address<TAccountSystemProgram>;
78
198
  root: UpdateAssetDataV2InstructionDataArgs["root"];
79
199
  dataHash: UpdateAssetDataV2InstructionDataArgs["dataHash"];
@@ -84,30 +204,62 @@ interface UpdateAssetDataV2Input<TAccountTreeAuthority extends string = string,
84
204
  index: UpdateAssetDataV2InstructionDataArgs["index"];
85
205
  newAssetData: UpdateAssetDataV2InstructionDataArgs["newAssetData"];
86
206
  newAssetDataSchema: UpdateAssetDataV2InstructionDataArgs["newAssetDataSchema"];
87
- }
207
+ };
208
+ /**
209
+ * Updates the off-chain asset data hash and status flags of a
210
+ * `LeafSchema` V2 leaf node.
211
+ *
212
+ * Callable by the collection authority, or the tree owner/delegate for
213
+ * assets not in a verified collection.
214
+ */
88
215
  declare function getUpdateAssetDataV2Instruction<TAccountTreeAuthority extends string, TAccountPayer extends string, TAccountAuthority extends string, TAccountLeafOwner extends string, TAccountLeafDelegate extends string, TAccountMerkleTree extends string, TAccountCoreCollection extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: UpdateAssetDataV2Input<TAccountTreeAuthority, TAccountPayer, TAccountAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountMerkleTree, TAccountCoreCollection, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>, config?: {
89
216
  programAddress?: TProgramAddress;
90
217
  }): UpdateAssetDataV2Instruction<TProgramAddress, TAccountTreeAuthority, TAccountPayer, TAccountAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountMerkleTree, TAccountCoreCollection, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>;
91
- interface ParsedUpdateAssetDataV2Instruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> {
218
+ type ParsedUpdateAssetDataV2Instruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
92
219
  programAddress: Address<TProgram>;
93
220
  accounts: {
221
+ /**
222
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
223
+ * as the tree's authority for CPIs into the compression program.
224
+ */
94
225
  treeAuthority: TAccountMetas[0];
226
+ /** Account that pays for the transaction and any account rent. */
95
227
  payer: TAccountMetas[1];
96
228
  /**
97
- * Either collection authority or tree owner/delegate, depending on
98
- * whether the item is in a verified collection. Defaults to `payer`
99
- */
229
+ * Either the collection authority or the tree owner/delegate,
230
+ * depending on whether the asset is in a verified collection.
231
+ * Defaults to `payer`.
232
+ */
100
233
  authority?: TAccountMetas[2] | undefined;
234
+ /** Owner of the compressed NFT leaf being operated on. */
101
235
  leafOwner: TAccountMetas[3];
236
+ /**
237
+ * Delegate authority for the leaf; defaults to the leaf owner when no
238
+ * delegate is set.
239
+ */
102
240
  leafDelegate?: TAccountMetas[4] | undefined;
241
+ /**
242
+ * The concurrent Merkle tree account storing the compressed leaves,
243
+ * owned by the account compression program.
244
+ */
103
245
  merkleTree: TAccountMetas[5];
246
+ /** MPL Core collection account the asset belongs to (V2 collections). */
104
247
  coreCollection?: TAccountMetas[6] | undefined;
248
+ /**
249
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
250
+ * can reconstruct the tree.
251
+ */
105
252
  logWrapper: TAccountMetas[7];
253
+ /**
254
+ * The SPL/MPL Account Compression program that owns and manages the
255
+ * Merkle tree.
256
+ */
106
257
  compressionProgram: TAccountMetas[8];
258
+ /** The Solana System program. */
107
259
  systemProgram: TAccountMetas[9];
108
260
  };
109
261
  data: UpdateAssetDataV2InstructionData;
110
- }
262
+ };
111
263
  declare function parseUpdateAssetDataV2Instruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedUpdateAssetDataV2Instruction<TProgram, TAccountMetas>;
112
264
  //#endregion
113
265
  export { ParsedUpdateAssetDataV2Instruction, UPDATE_ASSET_DATA_V2_DISCRIMINATOR, UpdateAssetDataV2AsyncInput, UpdateAssetDataV2Input, UpdateAssetDataV2Instruction, UpdateAssetDataV2InstructionData, UpdateAssetDataV2InstructionDataArgs, getUpdateAssetDataV2DiscriminatorBytes, getUpdateAssetDataV2Instruction, getUpdateAssetDataV2InstructionAsync, getUpdateAssetDataV2InstructionDataCodec, getUpdateAssetDataV2InstructionDataDecoder, getUpdateAssetDataV2InstructionDataEncoder, parseUpdateAssetDataV2Instruction };
@@ -1 +1 @@
1
- {"version":3,"file":"updateAssetDataV2.d.ts","names":[],"sources":["../../../src/generated/instructions/updateAssetDataV2.ts"],"mappings":";;;;;cAgEa,kCAAA,EAAoC,kBAAA;AAAA,iBAGjC,sCAAA,IAA0C,kBAAA;AAAA,KAM9C,4BAAA,kCACuB,yBAAA,yCACM,WAAA,kDACR,WAAA,sDACI,WAAA,sDACA,WAAA,yDACG,WAAA,uDACF,WAAA,2DACI,WAAA,uDACJ,WAAA,sGAEQ,WAAA,iGAEL,WAAA,mFAEH,WAAA,mBAClC,WAAA,CAAY,QAAA,IACd,mBAAA,CAAoB,kBAAA,IACpB,uBAAA,EAEI,qBAAA,kBACI,eAAA,CAAgB,qBAAA,IAChB,qBAAA,EACJ,aAAA,kBACI,qBAAA,CAAsB,aAAA,IACpB,iBAAA,CAAkB,aAAA,IACpB,aAAA,EACJ,iBAAA,kBACI,qBAAA,CAAsB,iBAAA,IACpB,iBAAA,CAAkB,iBAAA,IACpB,iBAAA,EACJ,iBAAA,kBACI,eAAA,CAAgB,iBAAA,IAChB,iBAAA,EACJ,oBAAA,kBACI,eAAA,CAAgB,oBAAA,IAChB,oBAAA,EACJ,kBAAA,kBACI,eAAA,CAAgB,kBAAA,IAChB,kBAAA,EACJ,sBAAA,kBACI,eAAA,CAAgB,sBAAA,IAChB,sBAAA,EACJ,kBAAA,kBACI,eAAA,CAAgB,kBAAA,IAChB,kBAAA,EACJ,0BAAA,kBACI,eAAA,CAAgB,0BAAA,IAChB,0BAAA,EACJ,qBAAA,kBACI,eAAA,CAAgB,qBAAA,IAChB,qBAAA,KACD,kBAAA;AAAA,UAIQ,gCAAA;EACf,aAAA,EAAe,kBAAA;EACf,IAAA;EACA,QAAA;EACA,WAAA;EACA,qBAAA,EAAuB,MAAA;EACvB,KAAA,EAAO,MAAA;EACP,KAAA;EACA,KAAA;EACA,YAAA,EAAc,MAAA,CAAO,kBAAA;EACrB,kBAAA,EAAoB,MAAA,CAAO,eAAA;AAAA;AAAA,UAGZ,oCAAA;EACf,IAAA;EACA,QAAA;EACA,WAAA;EACA,qBAAA,EAAuB,gBAAA;EACvB,KAAA,EAAO,gBAAA;EACP,KAAA;EACA,KAAA;EACA,YAAA,EAAc,gBAAA,CAAiB,kBAAA;EAC/B,kBAAA,EAAoB,gBAAA,CAAiB,mBAAA;AAAA;AAAA,iBAGvB,0CAAA,IAA8C,OAAA,CAAQ,oCAAA;AAAA,iBA6BtD,0CAAA,IAA8C,OAAA,CAAQ,gCAAA;AAAA,iBAuBtD,wCAAA,IAA4C,KAAA,CAC1D,oCAAA,EACA,gCAAA;AAAA,UAQe,2BAAA;EAYf,aAAA,GAAgB,OAAA,CAAQ,qBAAA;EACxB,KAAA,EAAO,iBAAA,CAAkB,aAAA;;;;;EAKzB,SAAA,GAAY,iBAAA,CAAkB,iBAAA;EAC9B,SAAA,EAAW,OAAA,CAAQ,iBAAA;EACnB,YAAA,GAAe,OAAA,CAAQ,oBAAA;EACvB,UAAA,EAAY,OAAA,CAAQ,kBAAA;EACpB,cAAA,GAAiB,OAAA,CAAQ,sBAAA;EACzB,UAAA,GAAa,OAAA,CAAQ,kBAAA;EACrB,kBAAA,GAAqB,OAAA,CAAQ,0BAAA;EAC7B,aAAA,GAAgB,OAAA,CAAQ,qBAAA;EACxB,IAAA,EAAM,oCAAA;EACN,QAAA,EAAU,oCAAA;EACV,WAAA,EAAa,oCAAA;EACb,qBAAA,EAAuB,oCAAA;EACvB,KAAA,EAAO,oCAAA;EACP,KAAA,EAAO,oCAAA;EACP,KAAA,EAAO,oCAAA;EACP,YAAA,EAAc,oCAAA;EACd,kBAAA,EAAoB,oCAAA;AAAA;AAAA,iBAGA,oCAAA,oYAWI,OAAA,UAAiB,yBAAA,EAEzC,KAAA,EAAO,2BAAA,CACL,qBAAA,EACA,aAAA,EACA,iBAAA,EACA,iBAAA,EACA,oBAAA,EACA,kBAAA,EACA,sBAAA,EACA,kBAAA,EACA,0BAAA,EACA,qBAAA,GAEF,MAAA;EAAW,cAAA,GAAiB,eAAA;AAAA,IAC3B,OAAA,CACD,4BAAA,CACE,eAAA,EACA,qBAAA,EACA,aAAA,EACA,iBAAA,EACA,iBAAA,EACA,oBAAA,EACA,kBAAA,EACA,sBAAA,EACA,kBAAA,EACA,0BAAA,EACA,qBAAA;AAAA,UAqFa,sBAAA;EAYf,aAAA,EAAe,OAAA,CAAQ,qBAAA;EACvB,KAAA,EAAO,iBAAA,CAAkB,aAAA;;;;;EAKzB,SAAA,GAAY,iBAAA,CAAkB,iBAAA;EAC9B,SAAA,EAAW,OAAA,CAAQ,iBAAA;EACnB,YAAA,GAAe,OAAA,CAAQ,oBAAA;EACvB,UAAA,EAAY,OAAA,CAAQ,kBAAA;EACpB,cAAA,GAAiB,OAAA,CAAQ,sBAAA;EACzB,UAAA,GAAa,OAAA,CAAQ,kBAAA;EACrB,kBAAA,GAAqB,OAAA,CAAQ,0BAAA;EAC7B,aAAA,GAAgB,OAAA,CAAQ,qBAAA;EACxB,IAAA,EAAM,oCAAA;EACN,QAAA,EAAU,oCAAA;EACV,WAAA,EAAa,oCAAA;EACb,qBAAA,EAAuB,oCAAA;EACvB,KAAA,EAAO,oCAAA;EACP,KAAA,EAAO,oCAAA;EACP,KAAA,EAAO,oCAAA;EACP,YAAA,EAAc,oCAAA;EACd,kBAAA,EAAoB,oCAAA;AAAA;AAAA,iBAGN,+BAAA,oYAWU,OAAA,UAAiB,yBAAA,EAEzC,KAAA,EAAO,sBAAA,CACL,qBAAA,EACA,aAAA,EACA,iBAAA,EACA,iBAAA,EACA,oBAAA,EACA,kBAAA,EACA,sBAAA,EACA,kBAAA,EACA,0BAAA,EACA,qBAAA,GAEF,MAAA;EAAW,cAAA,GAAiB,eAAA;AAAA,IAC3B,4BAAA,CACD,eAAA,EACA,qBAAA,EACA,aAAA,EACA,iBAAA,EACA,iBAAA,EACA,oBAAA,EACA,kBAAA,EACA,sBAAA,EACA,kBAAA,EACA,0BAAA,EACA,qBAAA;AAAA,UA4Ee,kCAAA,kCACkB,yBAAA,iCACF,WAAA,cAAyB,WAAA;EAExD,cAAA,EAAgB,OAAA,CAAQ,QAAA;EACxB,QAAA;IACE,aAAA,EAAe,aAAA;IACf,KAAA,EAAO,aAAA;;;;;IAKP,SAAA,GAAY,aAAA;IACZ,SAAA,EAAW,aAAA;IACX,YAAA,GAAe,aAAA;IACf,UAAA,EAAY,aAAA;IACZ,cAAA,GAAiB,aAAA;IACjB,UAAA,EAAY,aAAA;IACZ,kBAAA,EAAoB,aAAA;IACpB,aAAA,EAAe,aAAA;EAAA;EAEjB,IAAA,EAAM,gCAAA;AAAA;AAAA,iBAGQ,iCAAA,yDAEiB,WAAA,IAE/B,WAAA,EAAa,WAAA,CAAY,QAAA,IACvB,uBAAA,CAAwB,aAAA,IACxB,mBAAA,CAAoB,kBAAA,IACrB,kCAAA,CAAmC,QAAA,EAAU,aAAA"}
1
+ {"version":3,"file":"updateAssetDataV2.d.ts","names":[],"sources":["../../../src/generated/instructions/updateAssetDataV2.ts"],"mappings":"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"}
@@ -4,6 +4,13 @@ import "../programs/bubblegum.js";
4
4
  import { SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, addDecoderSizePrefix, addEncoderSizePrefix, combineCodec, fixDecoderSize, fixEncoderSize, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getOptionDecoder, getOptionEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, transformEncoder } from "@solana/kit";
5
5
  import { getAccountMetaFactory, getAddressFromResolvedInstructionAccount } from "@solana/program-client-core";
6
6
  //#region src/generated/instructions/updateAssetDataV2.ts
7
+ /**
8
+ * This code was AUTOGENERATED using the Codama library.
9
+ * Please DO NOT EDIT THIS FILE, instead use visitors
10
+ * to add features, then rerun Codama to update it.
11
+ *
12
+ * @see https://github.com/codama-idl/codama
13
+ */
7
14
  const UPDATE_ASSET_DATA_V2_DISCRIMINATOR = new Uint8Array([
8
15
  59,
9
16
  56,
@@ -51,6 +58,13 @@ function getUpdateAssetDataV2InstructionDataDecoder() {
51
58
  function getUpdateAssetDataV2InstructionDataCodec() {
52
59
  return combineCodec(getUpdateAssetDataV2InstructionDataEncoder(), getUpdateAssetDataV2InstructionDataDecoder());
53
60
  }
61
+ /**
62
+ * Updates the off-chain asset data hash and status flags of a
63
+ * `LeafSchema` V2 leaf node.
64
+ *
65
+ * Callable by the collection authority, or the tree owner/delegate for
66
+ * assets not in a verified collection.
67
+ */
54
68
  async function getUpdateAssetDataV2InstructionAsync(input, config) {
55
69
  const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
56
70
  const accounts = {
@@ -118,6 +132,13 @@ async function getUpdateAssetDataV2InstructionAsync(input, config) {
118
132
  programAddress
119
133
  });
120
134
  }
135
+ /**
136
+ * Updates the off-chain asset data hash and status flags of a
137
+ * `LeafSchema` V2 leaf node.
138
+ *
139
+ * Callable by the collection authority, or the tree owner/delegate for
140
+ * assets not in a verified collection.
141
+ */
121
142
  function getUpdateAssetDataV2Instruction(input, config) {
122
143
  const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
123
144
  const accounts = {
@@ -1 +1 @@
1
- {"version":3,"file":"updateAssetDataV2.js","names":[],"sources":["../../../src/generated/instructions/updateAssetDataV2.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 Option,\n OptionOrNullable,\n ReadonlyAccount,\n ReadonlySignerAccount,\n ReadonlyUint8Array,\n TransactionSigner,\n WritableAccount,\n WritableSignerAccount,\n} from \"@solana/kit\";\nimport type { ResolvedInstructionAccount } from \"@solana/program-client-core\";\nimport type { AssetDataSchema, AssetDataSchemaArgs } from \"../types/index.js\";\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getOptionDecoder,\n getOptionEncoder,\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 getAssetDataSchemaDecoder,\n getAssetDataSchemaEncoder,\n} from \"../types/index.js\";\n\nexport const UPDATE_ASSET_DATA_V2_DISCRIMINATOR: ReadonlyUint8Array =\n new Uint8Array([59, 56, 111, 43, 95, 14, 11, 61]);\n\nexport function getUpdateAssetDataV2DiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n UPDATE_ASSET_DATA_V2_DISCRIMINATOR,\n );\n}\n\nexport type UpdateAssetDataV2Instruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountAuthority extends string | AccountMeta<string> = string,\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountLeafDelegate extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountCoreCollection extends string | AccountMeta<string> = string,\n TAccountLogWrapper extends string | AccountMeta<string> =\n \"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\",\n TAccountCompressionProgram extends string | AccountMeta<string> =\n \"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\",\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 ? WritableAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountPayer extends string\n ? WritableSignerAccount<TAccountPayer> &\n AccountSignerMeta<TAccountPayer>\n : TAccountPayer,\n TAccountAuthority extends string\n ? ReadonlySignerAccount<TAccountAuthority> &\n AccountSignerMeta<TAccountAuthority>\n : TAccountAuthority,\n TAccountLeafOwner extends string\n ? ReadonlyAccount<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountLeafDelegate extends string\n ? ReadonlyAccount<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountCoreCollection extends string\n ? ReadonlyAccount<TAccountCoreCollection>\n : TAccountCoreCollection,\n TAccountLogWrapper extends string\n ? ReadonlyAccount<TAccountLogWrapper>\n : TAccountLogWrapper,\n TAccountCompressionProgram extends string\n ? ReadonlyAccount<TAccountCompressionProgram>\n : TAccountCompressionProgram,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport interface UpdateAssetDataV2InstructionData {\n discriminator: ReadonlyUint8Array;\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n previousAssetDataHash: Option<number[]>;\n flags: Option<number>;\n nonce: bigint;\n index: number;\n newAssetData: Option<ReadonlyUint8Array>;\n newAssetDataSchema: Option<AssetDataSchema>;\n}\n\nexport interface UpdateAssetDataV2InstructionDataArgs {\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n previousAssetDataHash: OptionOrNullable<number[]>;\n flags: OptionOrNullable<number>;\n nonce: number | bigint;\n index: number;\n newAssetData: OptionOrNullable<ReadonlyUint8Array>;\n newAssetDataSchema: OptionOrNullable<AssetDataSchemaArgs>;\n}\n\nexport function getUpdateAssetDataV2InstructionDataEncoder(): Encoder<UpdateAssetDataV2InstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"root\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"dataHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"creatorHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\n \"previousAssetDataHash\",\n getOptionEncoder(getArrayEncoder(getU8Encoder(), { size: 32 })),\n ],\n [\"flags\", getOptionEncoder(getU8Encoder())],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n [\n \"newAssetData\",\n getOptionEncoder(\n addEncoderSizePrefix(getBytesEncoder(), getU32Encoder()),\n ),\n ],\n [\"newAssetDataSchema\", getOptionEncoder(getAssetDataSchemaEncoder())],\n ]),\n (value) => ({\n ...value,\n discriminator: UPDATE_ASSET_DATA_V2_DISCRIMINATOR,\n }),\n );\n}\n\nexport function getUpdateAssetDataV2InstructionDataDecoder(): Decoder<UpdateAssetDataV2InstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"root\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"dataHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"creatorHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\n \"previousAssetDataHash\",\n getOptionDecoder(getArrayDecoder(getU8Decoder(), { size: 32 })),\n ],\n [\"flags\", getOptionDecoder(getU8Decoder())],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n [\n \"newAssetData\",\n getOptionDecoder(\n addDecoderSizePrefix(getBytesDecoder(), getU32Decoder()),\n ),\n ],\n [\"newAssetDataSchema\", getOptionDecoder(getAssetDataSchemaDecoder())],\n ]);\n}\n\nexport function getUpdateAssetDataV2InstructionDataCodec(): Codec<\n UpdateAssetDataV2InstructionDataArgs,\n UpdateAssetDataV2InstructionData\n> {\n return combineCodec(\n getUpdateAssetDataV2InstructionDataEncoder(),\n getUpdateAssetDataV2InstructionDataDecoder(),\n );\n}\n\nexport interface UpdateAssetDataV2AsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountCoreCollection extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority?: Address<TAccountTreeAuthority>;\n payer: TransactionSigner<TAccountPayer>;\n /**\n * Either collection authority or tree owner/delegate, depending on\n * whether the item is in a verified collection. Defaults to `payer`\n */\n authority?: TransactionSigner<TAccountAuthority>;\n leafOwner: Address<TAccountLeafOwner>;\n leafDelegate?: Address<TAccountLeafDelegate>;\n merkleTree: Address<TAccountMerkleTree>;\n coreCollection?: Address<TAccountCoreCollection>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: UpdateAssetDataV2InstructionDataArgs[\"root\"];\n dataHash: UpdateAssetDataV2InstructionDataArgs[\"dataHash\"];\n creatorHash: UpdateAssetDataV2InstructionDataArgs[\"creatorHash\"];\n previousAssetDataHash: UpdateAssetDataV2InstructionDataArgs[\"previousAssetDataHash\"];\n flags: UpdateAssetDataV2InstructionDataArgs[\"flags\"];\n nonce: UpdateAssetDataV2InstructionDataArgs[\"nonce\"];\n index: UpdateAssetDataV2InstructionDataArgs[\"index\"];\n newAssetData: UpdateAssetDataV2InstructionDataArgs[\"newAssetData\"];\n newAssetDataSchema: UpdateAssetDataV2InstructionDataArgs[\"newAssetDataSchema\"];\n}\n\nexport async function getUpdateAssetDataV2InstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountCoreCollection extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: UpdateAssetDataV2AsyncInput<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n UpdateAssetDataV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\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: true },\n payer: { value: input.payer ?? null, isWritable: true },\n authority: { value: input.authority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n coreCollection: { value: input.coreCollection ?? null, isWritable: false },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? 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 \"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\" as Address<\"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\" as Address<\"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\">;\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(\"payer\", accounts.payer),\n getAccountMeta(\"authority\", accounts.authority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"coreCollection\", accounts.coreCollection),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getUpdateAssetDataV2InstructionDataEncoder().encode(\n args as UpdateAssetDataV2InstructionDataArgs,\n ),\n programAddress,\n } as UpdateAssetDataV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface UpdateAssetDataV2Input<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountCoreCollection extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority: Address<TAccountTreeAuthority>;\n payer: TransactionSigner<TAccountPayer>;\n /**\n * Either collection authority or tree owner/delegate, depending on\n * whether the item is in a verified collection. Defaults to `payer`\n */\n authority?: TransactionSigner<TAccountAuthority>;\n leafOwner: Address<TAccountLeafOwner>;\n leafDelegate?: Address<TAccountLeafDelegate>;\n merkleTree: Address<TAccountMerkleTree>;\n coreCollection?: Address<TAccountCoreCollection>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: UpdateAssetDataV2InstructionDataArgs[\"root\"];\n dataHash: UpdateAssetDataV2InstructionDataArgs[\"dataHash\"];\n creatorHash: UpdateAssetDataV2InstructionDataArgs[\"creatorHash\"];\n previousAssetDataHash: UpdateAssetDataV2InstructionDataArgs[\"previousAssetDataHash\"];\n flags: UpdateAssetDataV2InstructionDataArgs[\"flags\"];\n nonce: UpdateAssetDataV2InstructionDataArgs[\"nonce\"];\n index: UpdateAssetDataV2InstructionDataArgs[\"index\"];\n newAssetData: UpdateAssetDataV2InstructionDataArgs[\"newAssetData\"];\n newAssetDataSchema: UpdateAssetDataV2InstructionDataArgs[\"newAssetDataSchema\"];\n}\n\nexport function getUpdateAssetDataV2Instruction<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountCoreCollection extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: UpdateAssetDataV2Input<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): UpdateAssetDataV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\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: true },\n payer: { value: input.payer ?? null, isWritable: true },\n authority: { value: input.authority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n coreCollection: { value: input.coreCollection ?? null, isWritable: false },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? 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 \"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\" as Address<\"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\" as Address<\"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\">;\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(\"payer\", accounts.payer),\n getAccountMeta(\"authority\", accounts.authority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"coreCollection\", accounts.coreCollection),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getUpdateAssetDataV2InstructionDataEncoder().encode(\n args as UpdateAssetDataV2InstructionDataArgs,\n ),\n programAddress,\n } as UpdateAssetDataV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface ParsedUpdateAssetDataV2Instruction<\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 payer: TAccountMetas[1];\n /**\n * Either collection authority or tree owner/delegate, depending on\n * whether the item is in a verified collection. Defaults to `payer`\n */\n authority?: TAccountMetas[2] | undefined;\n leafOwner: TAccountMetas[3];\n leafDelegate?: TAccountMetas[4] | undefined;\n merkleTree: TAccountMetas[5];\n coreCollection?: TAccountMetas[6] | undefined;\n logWrapper: TAccountMetas[7];\n compressionProgram: TAccountMetas[8];\n systemProgram: TAccountMetas[9];\n };\n data: UpdateAssetDataV2InstructionData;\n}\n\nexport function parseUpdateAssetDataV2Instruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedUpdateAssetDataV2Instruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 10) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 10,\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 payer: getNextAccount(),\n authority: getNextOptionalAccount(),\n leafOwner: getNextAccount(),\n leafDelegate: getNextOptionalAccount(),\n merkleTree: getNextAccount(),\n coreCollection: getNextOptionalAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getUpdateAssetDataV2InstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"updateAssetDataV2.js","names":[],"sources":["../../../src/generated/instructions/updateAssetDataV2.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 addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getOptionDecoder,\n getOptionEncoder,\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 Option,\n type OptionOrNullable,\n type ReadonlyAccount,\n type ReadonlySignerAccount,\n type ReadonlyUint8Array,\n type TransactionSigner,\n type WritableAccount,\n type WritableSignerAccount,\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 getAssetDataSchemaDecoder,\n getAssetDataSchemaEncoder,\n type AssetDataSchema,\n type AssetDataSchemaArgs,\n} from \"../types/index.js\";\n\nexport const UPDATE_ASSET_DATA_V2_DISCRIMINATOR: ReadonlyUint8Array =\n new Uint8Array([59, 56, 111, 43, 95, 14, 11, 61]);\n\nexport function getUpdateAssetDataV2DiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n UPDATE_ASSET_DATA_V2_DISCRIMINATOR,\n );\n}\n\nexport type UpdateAssetDataV2Instruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountAuthority extends string | AccountMeta<string> = string,\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountLeafDelegate extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountCoreCollection extends string | AccountMeta<string> = string,\n TAccountLogWrapper extends string | AccountMeta<string> =\n \"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\",\n TAccountCompressionProgram extends string | AccountMeta<string> =\n \"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\",\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 ? WritableAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountPayer extends string\n ? WritableSignerAccount<TAccountPayer> &\n AccountSignerMeta<TAccountPayer>\n : TAccountPayer,\n TAccountAuthority extends string\n ? ReadonlySignerAccount<TAccountAuthority> &\n AccountSignerMeta<TAccountAuthority>\n : TAccountAuthority,\n TAccountLeafOwner extends string\n ? ReadonlyAccount<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountLeafDelegate extends string\n ? ReadonlyAccount<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountCoreCollection extends string\n ? ReadonlyAccount<TAccountCoreCollection>\n : TAccountCoreCollection,\n TAccountLogWrapper extends string\n ? ReadonlyAccount<TAccountLogWrapper>\n : TAccountLogWrapper,\n TAccountCompressionProgram extends string\n ? ReadonlyAccount<TAccountCompressionProgram>\n : TAccountCompressionProgram,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport type UpdateAssetDataV2InstructionData = {\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 * Keccak256 hash of the leaf's metadata, used together with `root` to\n * verify the leaf before it is modified.\n */\n dataHash: Array<number>;\n /**\n * Keccak256 hash of the leaf's creators array, used together with\n * `root` to verify the leaf before it is modified.\n */\n creatorHash: Array<number>;\n /**\n * Expected current `assetDataHash` of the leaf, if any, verified before\n * it is replaced by `newAssetData`.\n */\n previousAssetDataHash: Option<Array<number>>;\n /**\n * Expected current status flags (e.g. frozen, non-transferable) of the\n * `LeafSchema` V2 leaf, verified before this instruction updates them.\n */\n flags: Option<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 /** Optional raw asset data blob to associate with the asset. */\n newAssetData: Option<ReadonlyUint8Array>;\n /** Schema describing the format of `newAssetData`. */\n newAssetDataSchema: Option<AssetDataSchema>;\n};\n\nexport type UpdateAssetDataV2InstructionDataArgs = {\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 * Keccak256 hash of the leaf's metadata, used together with `root` to\n * verify the leaf before it is modified.\n */\n dataHash: Array<number>;\n /**\n * Keccak256 hash of the leaf's creators array, used together with\n * `root` to verify the leaf before it is modified.\n */\n creatorHash: Array<number>;\n /**\n * Expected current `assetDataHash` of the leaf, if any, verified before\n * it is replaced by `newAssetData`.\n */\n previousAssetDataHash: OptionOrNullable<Array<number>>;\n /**\n * Expected current status flags (e.g. frozen, non-transferable) of the\n * `LeafSchema` V2 leaf, verified before this instruction updates them.\n */\n flags: OptionOrNullable<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 /** Optional raw asset data blob to associate with the asset. */\n newAssetData: OptionOrNullable<ReadonlyUint8Array>;\n /** Schema describing the format of `newAssetData`. */\n newAssetDataSchema: OptionOrNullable<AssetDataSchemaArgs>;\n};\n\nexport function getUpdateAssetDataV2InstructionDataEncoder(): Encoder<UpdateAssetDataV2InstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"root\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"dataHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"creatorHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\n \"previousAssetDataHash\",\n getOptionEncoder(getArrayEncoder(getU8Encoder(), { size: 32 })),\n ],\n [\"flags\", getOptionEncoder(getU8Encoder())],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n [\n \"newAssetData\",\n getOptionEncoder(\n addEncoderSizePrefix(getBytesEncoder(), getU32Encoder()),\n ),\n ],\n [\"newAssetDataSchema\", getOptionEncoder(getAssetDataSchemaEncoder())],\n ]),\n (value) => ({\n ...value,\n discriminator: UPDATE_ASSET_DATA_V2_DISCRIMINATOR,\n }),\n );\n}\n\nexport function getUpdateAssetDataV2InstructionDataDecoder(): Decoder<UpdateAssetDataV2InstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"root\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"dataHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"creatorHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\n \"previousAssetDataHash\",\n getOptionDecoder(getArrayDecoder(getU8Decoder(), { size: 32 })),\n ],\n [\"flags\", getOptionDecoder(getU8Decoder())],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n [\n \"newAssetData\",\n getOptionDecoder(\n addDecoderSizePrefix(getBytesDecoder(), getU32Decoder()),\n ),\n ],\n [\"newAssetDataSchema\", getOptionDecoder(getAssetDataSchemaDecoder())],\n ]);\n}\n\nexport function getUpdateAssetDataV2InstructionDataCodec(): Codec<\n UpdateAssetDataV2InstructionDataArgs,\n UpdateAssetDataV2InstructionData\n> {\n return combineCodec(\n getUpdateAssetDataV2InstructionDataEncoder(),\n getUpdateAssetDataV2InstructionDataDecoder(),\n );\n}\n\nexport type UpdateAssetDataV2AsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountCoreCollection extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram 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 /** Account that pays for the transaction and any account rent. */\n payer: TransactionSigner<TAccountPayer>;\n /**\n * Either the collection authority or the tree owner/delegate,\n * depending on whether the asset is in a verified collection.\n * Defaults to `payer`.\n */\n authority?: TransactionSigner<TAccountAuthority>;\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 /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /** MPL Core collection account the asset belongs to (V2 collections). */\n coreCollection?: Address<TAccountCoreCollection>;\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 /** The Solana System program. */\n systemProgram?: Address<TAccountSystemProgram>;\n root: UpdateAssetDataV2InstructionDataArgs[\"root\"];\n dataHash: UpdateAssetDataV2InstructionDataArgs[\"dataHash\"];\n creatorHash: UpdateAssetDataV2InstructionDataArgs[\"creatorHash\"];\n previousAssetDataHash: UpdateAssetDataV2InstructionDataArgs[\"previousAssetDataHash\"];\n flags: UpdateAssetDataV2InstructionDataArgs[\"flags\"];\n nonce: UpdateAssetDataV2InstructionDataArgs[\"nonce\"];\n index: UpdateAssetDataV2InstructionDataArgs[\"index\"];\n newAssetData: UpdateAssetDataV2InstructionDataArgs[\"newAssetData\"];\n newAssetDataSchema: UpdateAssetDataV2InstructionDataArgs[\"newAssetDataSchema\"];\n};\n\n/**\n * Updates the off-chain asset data hash and status flags of a\n * `LeafSchema` V2 leaf node.\n *\n * Callable by the collection authority, or the tree owner/delegate for\n * assets not in a verified collection.\n */\nexport async function getUpdateAssetDataV2InstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountCoreCollection extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: UpdateAssetDataV2AsyncInput<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n UpdateAssetDataV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\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: true },\n payer: { value: input.payer ?? null, isWritable: true },\n authority: { value: input.authority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n coreCollection: { value: input.coreCollection ?? null, isWritable: false },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? 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 \"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\" as Address<\"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\" as Address<\"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\">;\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(\"payer\", accounts.payer),\n getAccountMeta(\"authority\", accounts.authority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"coreCollection\", accounts.coreCollection),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getUpdateAssetDataV2InstructionDataEncoder().encode(\n args as UpdateAssetDataV2InstructionDataArgs,\n ),\n programAddress,\n } as UpdateAssetDataV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport type UpdateAssetDataV2Input<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountCoreCollection extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram 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 /** Account that pays for the transaction and any account rent. */\n payer: TransactionSigner<TAccountPayer>;\n /**\n * Either the collection authority or the tree owner/delegate,\n * depending on whether the asset is in a verified collection.\n * Defaults to `payer`.\n */\n authority?: TransactionSigner<TAccountAuthority>;\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 /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /** MPL Core collection account the asset belongs to (V2 collections). */\n coreCollection?: Address<TAccountCoreCollection>;\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 /** The Solana System program. */\n systemProgram?: Address<TAccountSystemProgram>;\n root: UpdateAssetDataV2InstructionDataArgs[\"root\"];\n dataHash: UpdateAssetDataV2InstructionDataArgs[\"dataHash\"];\n creatorHash: UpdateAssetDataV2InstructionDataArgs[\"creatorHash\"];\n previousAssetDataHash: UpdateAssetDataV2InstructionDataArgs[\"previousAssetDataHash\"];\n flags: UpdateAssetDataV2InstructionDataArgs[\"flags\"];\n nonce: UpdateAssetDataV2InstructionDataArgs[\"nonce\"];\n index: UpdateAssetDataV2InstructionDataArgs[\"index\"];\n newAssetData: UpdateAssetDataV2InstructionDataArgs[\"newAssetData\"];\n newAssetDataSchema: UpdateAssetDataV2InstructionDataArgs[\"newAssetDataSchema\"];\n};\n\n/**\n * Updates the off-chain asset data hash and status flags of a\n * `LeafSchema` V2 leaf node.\n *\n * Callable by the collection authority, or the tree owner/delegate for\n * assets not in a verified collection.\n */\nexport function getUpdateAssetDataV2Instruction<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountCoreCollection extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: UpdateAssetDataV2Input<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): UpdateAssetDataV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\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: true },\n payer: { value: input.payer ?? null, isWritable: true },\n authority: { value: input.authority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n coreCollection: { value: input.coreCollection ?? null, isWritable: false },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? 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 \"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\" as Address<\"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\" as Address<\"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\">;\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(\"payer\", accounts.payer),\n getAccountMeta(\"authority\", accounts.authority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"coreCollection\", accounts.coreCollection),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getUpdateAssetDataV2InstructionDataEncoder().encode(\n args as UpdateAssetDataV2InstructionDataArgs,\n ),\n programAddress,\n } as UpdateAssetDataV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport type ParsedUpdateAssetDataV2Instruction<\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 /** Account that pays for the transaction and any account rent. */\n payer: TAccountMetas[1];\n /**\n * Either the collection authority or the tree owner/delegate,\n * depending on whether the asset is in a verified collection.\n * Defaults to `payer`.\n */\n authority?: TAccountMetas[2] | undefined;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: TAccountMetas[3];\n /**\n * Delegate authority for the leaf; defaults to the leaf owner when no\n * delegate is set.\n */\n leafDelegate?: TAccountMetas[4] | undefined;\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: TAccountMetas[5];\n /** MPL Core collection account the asset belongs to (V2 collections). */\n coreCollection?: TAccountMetas[6] | undefined;\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[7];\n /**\n * The SPL/MPL Account Compression program that owns and manages the\n * Merkle tree.\n */\n compressionProgram: TAccountMetas[8];\n /** The Solana System program. */\n systemProgram: TAccountMetas[9];\n };\n data: UpdateAssetDataV2InstructionData;\n};\n\nexport function parseUpdateAssetDataV2Instruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedUpdateAssetDataV2Instruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 10) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 10,\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 payer: getNextAccount(),\n authority: getNextOptionalAccount(),\n leafOwner: getNextAccount(),\n leafDelegate: getNextOptionalAccount(),\n merkleTree: getNextAccount(),\n coreCollection: getNextOptionalAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getUpdateAssetDataV2InstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}