@macalinao/clients-mpl-bubblegum 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/dist/generated/accounts/index.d.ts +2 -10
  2. package/dist/generated/accounts/treeConfig.d.ts +42 -38
  3. package/dist/generated/accounts/treeConfig.d.ts.map +1 -1
  4. package/dist/generated/accounts/treeConfig.js +70 -53
  5. package/dist/generated/accounts/treeConfig.js.map +1 -1
  6. package/dist/generated/accounts/voucher.d.ts +33 -30
  7. package/dist/generated/accounts/voucher.d.ts.map +1 -1
  8. package/dist/generated/accounts/voucher.js +61 -45
  9. package/dist/generated/accounts/voucher.js.map +1 -1
  10. package/dist/generated/errors/bubblegum.d.ts +71 -74
  11. package/dist/generated/errors/bubblegum.d.ts.map +1 -1
  12. package/dist/generated/errors/bubblegum.js +126 -133
  13. package/dist/generated/errors/bubblegum.js.map +1 -1
  14. package/dist/generated/errors/index.d.ts +1 -9
  15. package/dist/generated/index.d.ts +63 -13
  16. package/dist/generated/instructions/burn.d.ts +70 -65
  17. package/dist/generated/instructions/burn.d.ts.map +1 -1
  18. package/dist/generated/instructions/burn.js +168 -98
  19. package/dist/generated/instructions/burn.js.map +1 -1
  20. package/dist/generated/instructions/burnV2.d.ts +107 -96
  21. package/dist/generated/instructions/burnV2.d.ts.map +1 -1
  22. package/dist/generated/instructions/burnV2.js +239 -136
  23. package/dist/generated/instructions/burnV2.js.map +1 -1
  24. package/dist/generated/instructions/cancelRedeem.d.ts +54 -53
  25. package/dist/generated/instructions/cancelRedeem.d.ts.map +1 -1
  26. package/dist/generated/instructions/cancelRedeem.js +154 -90
  27. package/dist/generated/instructions/cancelRedeem.js.map +1 -1
  28. package/dist/generated/instructions/closeTreeV2.d.ts +64 -60
  29. package/dist/generated/instructions/closeTreeV2.d.ts.map +1 -1
  30. package/dist/generated/instructions/closeTreeV2.js +152 -84
  31. package/dist/generated/instructions/closeTreeV2.js.map +1 -1
  32. package/dist/generated/instructions/collectV2.d.ts +28 -35
  33. package/dist/generated/instructions/collectV2.d.ts.map +1 -1
  34. package/dist/generated/instructions/collectV2.js +63 -60
  35. package/dist/generated/instructions/collectV2.js.map +1 -1
  36. package/dist/generated/instructions/compress.d.ts +71 -71
  37. package/dist/generated/instructions/compress.d.ts.map +1 -1
  38. package/dist/generated/instructions/compress.js +233 -116
  39. package/dist/generated/instructions/compress.js.map +1 -1
  40. package/dist/generated/instructions/createTree.d.ts +62 -59
  41. package/dist/generated/instructions/createTree.d.ts.map +1 -1
  42. package/dist/generated/instructions/createTree.js +164 -94
  43. package/dist/generated/instructions/createTree.js.map +1 -1
  44. package/dist/generated/instructions/createTreeV2.d.ts +64 -61
  45. package/dist/generated/instructions/createTreeV2.d.ts.map +1 -1
  46. package/dist/generated/instructions/createTreeV2.js +168 -100
  47. package/dist/generated/instructions/createTreeV2.js.map +1 -1
  48. package/dist/generated/instructions/decompressV1.d.ts +73 -72
  49. package/dist/generated/instructions/decompressV1.d.ts.map +1 -1
  50. package/dist/generated/instructions/decompressV1.js +251 -128
  51. package/dist/generated/instructions/decompressV1.js.map +1 -1
  52. package/dist/generated/instructions/delegate.d.ts +73 -68
  53. package/dist/generated/instructions/delegate.d.ts.map +1 -1
  54. package/dist/generated/instructions/delegate.js +179 -107
  55. package/dist/generated/instructions/delegate.js.map +1 -1
  56. package/dist/generated/instructions/delegateAndFreezeV2.d.ts +92 -84
  57. package/dist/generated/instructions/delegateAndFreezeV2.d.ts.map +1 -1
  58. package/dist/generated/instructions/delegateAndFreezeV2.js +201 -136
  59. package/dist/generated/instructions/delegateAndFreezeV2.js.map +1 -1
  60. package/dist/generated/instructions/delegateV2.d.ts +92 -84
  61. package/dist/generated/instructions/delegateV2.d.ts.map +1 -1
  62. package/dist/generated/instructions/delegateV2.js +200 -134
  63. package/dist/generated/instructions/delegateV2.js.map +1 -1
  64. package/dist/generated/instructions/freezeV2.d.ts +99 -88
  65. package/dist/generated/instructions/freezeV2.d.ts.map +1 -1
  66. package/dist/generated/instructions/freezeV2.js +209 -123
  67. package/dist/generated/instructions/freezeV2.js.map +1 -1
  68. package/dist/generated/instructions/index.d.ts +36 -44
  69. package/dist/generated/instructions/mintToCollectionV1.d.ts +94 -89
  70. package/dist/generated/instructions/mintToCollectionV1.d.ts.map +1 -1
  71. package/dist/generated/instructions/mintToCollectionV1.js +277 -139
  72. package/dist/generated/instructions/mintToCollectionV1.js.map +1 -1
  73. package/dist/generated/instructions/mintV1.d.ts +61 -60
  74. package/dist/generated/instructions/mintV1.d.ts.map +1 -1
  75. package/dist/generated/instructions/mintV1.js +177 -97
  76. package/dist/generated/instructions/mintV1.js.map +1 -1
  77. package/dist/generated/instructions/mintV2.d.ts +86 -82
  78. package/dist/generated/instructions/mintV2.d.ts.map +1 -1
  79. package/dist/generated/instructions/mintV2.js +244 -135
  80. package/dist/generated/instructions/mintV2.js.map +1 -1
  81. package/dist/generated/instructions/redeem.d.ts +73 -68
  82. package/dist/generated/instructions/redeem.d.ts.map +1 -1
  83. package/dist/generated/instructions/redeem.js +179 -101
  84. package/dist/generated/instructions/redeem.js.map +1 -1
  85. package/dist/generated/instructions/setAndVerifyCollection.d.ts +133 -117
  86. package/dist/generated/instructions/setAndVerifyCollection.d.ts.map +1 -1
  87. package/dist/generated/instructions/setAndVerifyCollection.js +295 -151
  88. package/dist/generated/instructions/setAndVerifyCollection.js.map +1 -1
  89. package/dist/generated/instructions/setCollectionV2.d.ts +125 -110
  90. package/dist/generated/instructions/setCollectionV2.d.ts.map +1 -1
  91. package/dist/generated/instructions/setCollectionV2.js +257 -146
  92. package/dist/generated/instructions/setCollectionV2.js.map +1 -1
  93. package/dist/generated/instructions/setDecompressableState.d.ts +32 -39
  94. package/dist/generated/instructions/setDecompressableState.d.ts.map +1 -1
  95. package/dist/generated/instructions/setDecompressableState.js +66 -69
  96. package/dist/generated/instructions/setDecompressableState.js.map +1 -1
  97. package/dist/generated/instructions/setDecompressibleState.d.ts +32 -39
  98. package/dist/generated/instructions/setDecompressibleState.d.ts.map +1 -1
  99. package/dist/generated/instructions/setDecompressibleState.js +66 -69
  100. package/dist/generated/instructions/setDecompressibleState.js.map +1 -1
  101. package/dist/generated/instructions/setNonTransferableV2.d.ts +101 -90
  102. package/dist/generated/instructions/setNonTransferableV2.d.ts.map +1 -1
  103. package/dist/generated/instructions/setNonTransferableV2.js +210 -125
  104. package/dist/generated/instructions/setNonTransferableV2.js.map +1 -1
  105. package/dist/generated/instructions/setTreeDelegate.d.ts +44 -44
  106. package/dist/generated/instructions/setTreeDelegate.d.ts.map +1 -1
  107. package/dist/generated/instructions/setTreeDelegate.js +127 -77
  108. package/dist/generated/instructions/setTreeDelegate.js.map +1 -1
  109. package/dist/generated/instructions/thawAndRevokeV2.d.ts +87 -79
  110. package/dist/generated/instructions/thawAndRevokeV2.d.ts.map +1 -1
  111. package/dist/generated/instructions/thawAndRevokeV2.js +190 -124
  112. package/dist/generated/instructions/thawAndRevokeV2.js.map +1 -1
  113. package/dist/generated/instructions/thawV2.d.ts +99 -88
  114. package/dist/generated/instructions/thawV2.d.ts.map +1 -1
  115. package/dist/generated/instructions/thawV2.js +209 -123
  116. package/dist/generated/instructions/thawV2.js.map +1 -1
  117. package/dist/generated/instructions/transfer.d.ts +73 -68
  118. package/dist/generated/instructions/transfer.d.ts.map +1 -1
  119. package/dist/generated/instructions/transfer.js +179 -101
  120. package/dist/generated/instructions/transfer.js.map +1 -1
  121. package/dist/generated/instructions/transferV2.d.ts +104 -93
  122. package/dist/generated/instructions/transferV2.d.ts.map +1 -1
  123. package/dist/generated/instructions/transferV2.js +220 -126
  124. package/dist/generated/instructions/transferV2.js.map +1 -1
  125. package/dist/generated/instructions/unverifyCollection.d.ts +129 -114
  126. package/dist/generated/instructions/unverifyCollection.d.ts.map +1 -1
  127. package/dist/generated/instructions/unverifyCollection.js +293 -146
  128. package/dist/generated/instructions/unverifyCollection.js.map +1 -1
  129. package/dist/generated/instructions/unverifyCreator.d.ts +81 -75
  130. package/dist/generated/instructions/unverifyCreator.d.ts.map +1 -1
  131. package/dist/generated/instructions/unverifyCreator.js +194 -106
  132. package/dist/generated/instructions/unverifyCreator.js.map +1 -1
  133. package/dist/generated/instructions/unverifyCreatorV2.d.ts +85 -79
  134. package/dist/generated/instructions/unverifyCreatorV2.d.ts.map +1 -1
  135. package/dist/generated/instructions/unverifyCreatorV2.js +198 -118
  136. package/dist/generated/instructions/unverifyCreatorV2.js.map +1 -1
  137. package/dist/generated/instructions/updateAssetDataV2.d.ts +108 -95
  138. package/dist/generated/instructions/updateAssetDataV2.d.ts.map +1 -1
  139. package/dist/generated/instructions/updateAssetDataV2.js +215 -136
  140. package/dist/generated/instructions/updateAssetDataV2.js.map +1 -1
  141. package/dist/generated/instructions/updateMetadata.d.ts +106 -96
  142. package/dist/generated/instructions/updateMetadata.d.ts.map +1 -1
  143. package/dist/generated/instructions/updateMetadata.js +243 -135
  144. package/dist/generated/instructions/updateMetadata.js.map +1 -1
  145. package/dist/generated/instructions/updateMetadataV2.d.ts +103 -91
  146. package/dist/generated/instructions/updateMetadataV2.d.ts.map +1 -1
  147. package/dist/generated/instructions/updateMetadataV2.js +212 -123
  148. package/dist/generated/instructions/updateMetadataV2.js.map +1 -1
  149. package/dist/generated/instructions/verifyCollection.d.ts +129 -114
  150. package/dist/generated/instructions/verifyCollection.d.ts.map +1 -1
  151. package/dist/generated/instructions/verifyCollection.js +293 -146
  152. package/dist/generated/instructions/verifyCollection.js.map +1 -1
  153. package/dist/generated/instructions/verifyCreator.d.ts +81 -75
  154. package/dist/generated/instructions/verifyCreator.d.ts.map +1 -1
  155. package/dist/generated/instructions/verifyCreator.js +193 -107
  156. package/dist/generated/instructions/verifyCreator.js.map +1 -1
  157. package/dist/generated/instructions/verifyCreatorV2.d.ts +85 -79
  158. package/dist/generated/instructions/verifyCreatorV2.d.ts.map +1 -1
  159. package/dist/generated/instructions/verifyCreatorV2.js +198 -118
  160. package/dist/generated/instructions/verifyCreatorV2.js.map +1 -1
  161. package/dist/generated/pdas/assetId.d.ts +16 -0
  162. package/dist/generated/pdas/assetId.d.ts.map +1 -0
  163. package/dist/generated/pdas/assetId.js +18 -0
  164. package/dist/generated/pdas/assetId.js.map +1 -0
  165. package/dist/generated/pdas/bubblegumSigner.d.ts +10 -0
  166. package/dist/generated/pdas/bubblegumSigner.d.ts.map +1 -0
  167. package/dist/generated/pdas/bubblegumSigner.js +14 -0
  168. package/dist/generated/pdas/bubblegumSigner.js.map +1 -0
  169. package/dist/generated/pdas/index.d.ts +7 -0
  170. package/dist/generated/pdas/masterEdition.d.ts +14 -0
  171. package/dist/generated/pdas/masterEdition.d.ts.map +1 -0
  172. package/dist/generated/pdas/masterEdition.js +19 -0
  173. package/dist/generated/pdas/masterEdition.js.map +1 -0
  174. package/dist/generated/pdas/metadata.d.ts +14 -0
  175. package/dist/generated/pdas/metadata.d.ts.map +1 -0
  176. package/dist/generated/pdas/metadata.js +18 -0
  177. package/dist/generated/pdas/metadata.js.map +1 -0
  178. package/dist/generated/pdas/mintAuthority.d.ts +14 -0
  179. package/dist/generated/pdas/mintAuthority.d.ts.map +1 -0
  180. package/dist/generated/pdas/mintAuthority.js +14 -0
  181. package/dist/generated/pdas/mintAuthority.js.map +1 -0
  182. package/dist/generated/pdas/treeConfig.d.ts +14 -0
  183. package/dist/generated/pdas/treeConfig.d.ts.map +1 -0
  184. package/dist/generated/pdas/treeConfig.js +14 -0
  185. package/dist/generated/pdas/treeConfig.js.map +1 -0
  186. package/dist/generated/pdas/voucher.d.ts +16 -0
  187. package/dist/generated/pdas/voucher.d.ts.map +1 -0
  188. package/dist/generated/pdas/voucher.js +18 -0
  189. package/dist/generated/pdas/voucher.js.map +1 -0
  190. package/dist/generated/programs/bubblegum.d.ts +186 -143
  191. package/dist/generated/programs/bubblegum.d.ts.map +1 -1
  192. package/dist/generated/programs/bubblegum.js +839 -561
  193. package/dist/generated/programs/bubblegum.js.map +1 -1
  194. package/dist/generated/programs/index.d.ts +2 -9
  195. package/dist/generated/programs/mplTokenMetadata.d.ts +20 -0
  196. package/dist/generated/programs/mplTokenMetadata.d.ts.map +1 -0
  197. package/dist/generated/programs/mplTokenMetadata.js +17 -0
  198. package/dist/generated/programs/mplTokenMetadata.js.map +1 -0
  199. package/dist/generated/types/assetDataSchema.d.ts +13 -16
  200. package/dist/generated/types/assetDataSchema.d.ts.map +1 -1
  201. package/dist/generated/types/assetDataSchema.js +16 -19
  202. package/dist/generated/types/assetDataSchema.js.map +1 -1
  203. package/dist/generated/types/bubblegumEventType.d.ts +12 -15
  204. package/dist/generated/types/bubblegumEventType.d.ts.map +1 -1
  205. package/dist/generated/types/bubblegumEventType.js +15 -18
  206. package/dist/generated/types/bubblegumEventType.js.map +1 -1
  207. package/dist/generated/types/collection.d.ts +12 -15
  208. package/dist/generated/types/collection.d.ts.map +1 -1
  209. package/dist/generated/types/collection.js +11 -20
  210. package/dist/generated/types/collection.js.map +1 -1
  211. package/dist/generated/types/creator.d.ts +18 -21
  212. package/dist/generated/types/creator.d.ts.map +1 -1
  213. package/dist/generated/types/creator.js +19 -22
  214. package/dist/generated/types/creator.js.map +1 -1
  215. package/dist/generated/types/decompressibleState.d.ts +12 -15
  216. package/dist/generated/types/decompressibleState.d.ts.map +1 -1
  217. package/dist/generated/types/decompressibleState.js +15 -18
  218. package/dist/generated/types/decompressibleState.js.map +1 -1
  219. package/dist/generated/types/index.d.ts +15 -23
  220. package/dist/generated/types/instructionName.d.ts +45 -48
  221. package/dist/generated/types/instructionName.d.ts.map +1 -1
  222. package/dist/generated/types/instructionName.js +48 -51
  223. package/dist/generated/types/instructionName.js.map +1 -1
  224. package/dist/generated/types/leafSchema.d.ts +48 -51
  225. package/dist/generated/types/leafSchema.d.ts.map +1 -1
  226. package/dist/generated/types/leafSchema.js +55 -72
  227. package/dist/generated/types/leafSchema.js.map +1 -1
  228. package/dist/generated/types/metadataArgs.d.ts +59 -58
  229. package/dist/generated/types/metadataArgs.d.ts.map +1 -1
  230. package/dist/generated/types/metadataArgs.js +42 -41
  231. package/dist/generated/types/metadataArgs.js.map +1 -1
  232. package/dist/generated/types/metadataArgsV2.d.ts +48 -50
  233. package/dist/generated/types/metadataArgsV2.d.ts.map +1 -1
  234. package/dist/generated/types/metadataArgsV2.js +33 -35
  235. package/dist/generated/types/metadataArgsV2.js.map +1 -1
  236. package/dist/generated/types/tokenProgramVersion.d.ts +12 -15
  237. package/dist/generated/types/tokenProgramVersion.d.ts.map +1 -1
  238. package/dist/generated/types/tokenProgramVersion.js +15 -18
  239. package/dist/generated/types/tokenProgramVersion.js.map +1 -1
  240. package/dist/generated/types/tokenStandard.d.ts +14 -17
  241. package/dist/generated/types/tokenStandard.d.ts.map +1 -1
  242. package/dist/generated/types/tokenStandard.js +17 -20
  243. package/dist/generated/types/tokenStandard.js.map +1 -1
  244. package/dist/generated/types/updateArgs.d.ts +25 -28
  245. package/dist/generated/types/updateArgs.d.ts.map +1 -1
  246. package/dist/generated/types/updateArgs.js +28 -49
  247. package/dist/generated/types/updateArgs.js.map +1 -1
  248. package/dist/generated/types/useMethod.d.ts +13 -16
  249. package/dist/generated/types/useMethod.d.ts.map +1 -1
  250. package/dist/generated/types/useMethod.js +16 -19
  251. package/dist/generated/types/useMethod.js.map +1 -1
  252. package/dist/generated/types/uses.d.ts +17 -20
  253. package/dist/generated/types/uses.d.ts.map +1 -1
  254. package/dist/generated/types/uses.js +20 -23
  255. package/dist/generated/types/uses.js.map +1 -1
  256. package/dist/generated/types/version.d.ts +12 -15
  257. package/dist/generated/types/version.d.ts.map +1 -1
  258. package/dist/generated/types/version.js +15 -18
  259. package/dist/generated/types/version.js.map +1 -1
  260. package/dist/index.d.ts +64 -8
  261. package/dist/index.js +64 -8
  262. package/package.json +7 -5
  263. package/src/generated/accounts/treeConfig.ts +22 -0
  264. package/src/generated/accounts/voucher.ts +22 -0
  265. package/src/generated/errors/bubblegum.ts +1 -1
  266. package/src/generated/index.ts +1 -0
  267. package/src/generated/instructions/burn.ts +155 -11
  268. package/src/generated/instructions/burnV2.ts +226 -16
  269. package/src/generated/instructions/cancelRedeem.ts +151 -11
  270. package/src/generated/instructions/closeTreeV2.ts +150 -11
  271. package/src/generated/instructions/collectV2.ts +3 -3
  272. package/src/generated/instructions/compress.ts +219 -18
  273. package/src/generated/instructions/createTree.ts +153 -11
  274. package/src/generated/instructions/createTreeV2.ts +154 -11
  275. package/src/generated/instructions/decompressV1.ts +258 -16
  276. package/src/generated/instructions/delegate.ts +170 -12
  277. package/src/generated/instructions/delegateAndFreezeV2.ts +184 -13
  278. package/src/generated/instructions/delegateV2.ts +184 -13
  279. package/src/generated/instructions/freezeV2.ts +188 -14
  280. package/src/generated/instructions/mintToCollectionV1.ts +296 -21
  281. package/src/generated/instructions/mintV1.ts +169 -13
  282. package/src/generated/instructions/mintV2.ts +231 -17
  283. package/src/generated/instructions/redeem.ts +164 -12
  284. package/src/generated/instructions/setAndVerifyCollection.ts +307 -21
  285. package/src/generated/instructions/setCollectionV2.ts +253 -19
  286. package/src/generated/instructions/setDecompressableState.ts +3 -3
  287. package/src/generated/instructions/setDecompressibleState.ts +3 -3
  288. package/src/generated/instructions/setNonTransferableV2.ts +189 -14
  289. package/src/generated/instructions/setTreeDelegate.ts +105 -7
  290. package/src/generated/instructions/thawAndRevokeV2.ts +168 -12
  291. package/src/generated/instructions/thawV2.ts +188 -14
  292. package/src/generated/instructions/transfer.ts +164 -12
  293. package/src/generated/instructions/transferV2.ts +198 -15
  294. package/src/generated/instructions/unverifyCollection.ts +306 -21
  295. package/src/generated/instructions/unverifyCreator.ts +174 -13
  296. package/src/generated/instructions/unverifyCreatorV2.ts +176 -13
  297. package/src/generated/instructions/updateAssetDataV2.ts +190 -14
  298. package/src/generated/instructions/updateMetadata.ts +233 -17
  299. package/src/generated/instructions/updateMetadataV2.ts +189 -14
  300. package/src/generated/instructions/verifyCollection.ts +306 -21
  301. package/src/generated/instructions/verifyCreator.ts +174 -13
  302. package/src/generated/instructions/verifyCreatorV2.ts +176 -13
  303. package/src/generated/pdas/assetId.ts +40 -0
  304. package/src/generated/pdas/bubblegumSigner.ts +23 -0
  305. package/{dist/generated/accounts/index.js → src/generated/pdas/index.ts} +6 -1
  306. package/src/generated/pdas/masterEdition.ts +38 -0
  307. package/src/generated/pdas/metadata.ts +37 -0
  308. package/src/generated/pdas/mintAuthority.ts +29 -0
  309. package/src/generated/pdas/treeConfig.ts +29 -0
  310. package/src/generated/pdas/voucher.ts +40 -0
  311. package/src/generated/programs/bubblegum.ts +208 -165
  312. package/src/generated/programs/index.ts +1 -0
  313. package/src/generated/programs/mplTokenMetadata.ts +42 -0
  314. package/dist/.tsbuildinfo +0 -1
  315. package/dist/generated/accounts/index.d.ts.map +0 -1
  316. package/dist/generated/accounts/index.js.map +0 -1
  317. package/dist/generated/errors/index.d.ts.map +0 -1
  318. package/dist/generated/errors/index.js +0 -9
  319. package/dist/generated/errors/index.js.map +0 -1
  320. package/dist/generated/index.d.ts.map +0 -1
  321. package/dist/generated/index.js +0 -13
  322. package/dist/generated/index.js.map +0 -1
  323. package/dist/generated/instructions/index.d.ts.map +0 -1
  324. package/dist/generated/instructions/index.js +0 -44
  325. package/dist/generated/instructions/index.js.map +0 -1
  326. package/dist/generated/programs/index.d.ts.map +0 -1
  327. package/dist/generated/programs/index.js +0 -9
  328. package/dist/generated/programs/index.js.map +0 -1
  329. package/dist/generated/types/index.d.ts.map +0 -1
  330. package/dist/generated/types/index.js +0 -23
  331. package/dist/generated/types/index.js.map +0 -1
  332. package/dist/index.d.ts.map +0 -1
  333. package/dist/index.js.map +0 -1
@@ -49,7 +49,11 @@ import {
49
49
  SolanaError,
50
50
  transformEncoder,
51
51
  } from "@solana/kit";
52
- import { getAccountMetaFactory } from "@solana/program-client-core";
52
+ import {
53
+ getAccountMetaFactory,
54
+ getAddressFromResolvedInstructionAccount,
55
+ } from "@solana/program-client-core";
56
+ import { findTreeConfigPda } from "../pdas/index.js";
53
57
  import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
54
58
  import {
55
59
  getMetadataArgsDecoder,
@@ -70,24 +74,30 @@ export function getUpdateMetadataDiscriminatorBytes(): ReadonlyUint8Array {
70
74
 
71
75
  export type UpdateMetadataInstruction<
72
76
  TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
73
- TAccountTreeAuthority extends string | AccountMeta = string,
74
- TAccountAuthority extends string | AccountMeta = string,
75
- TAccountCollectionMint extends string | AccountMeta = string,
76
- TAccountCollectionMetadata extends string | AccountMeta = string,
77
- TAccountCollectionAuthorityRecordPda extends string | AccountMeta = string,
78
- TAccountLeafOwner extends string | AccountMeta = string,
79
- TAccountLeafDelegate extends string | AccountMeta = string,
80
- TAccountPayer extends string | AccountMeta = string,
81
- TAccountMerkleTree extends string | AccountMeta = string,
82
- TAccountLogWrapper extends string | AccountMeta = string,
83
- TAccountCompressionProgram extends string | AccountMeta = string,
77
+ TAccountTreeAuthority extends string | AccountMeta<string> = string,
78
+ TAccountAuthority extends string | AccountMeta<string> = string,
79
+ TAccountCollectionMint extends string | AccountMeta<string> = string,
80
+ TAccountCollectionMetadata extends string | AccountMeta<string> = string,
81
+ TAccountCollectionAuthorityRecordPda extends
82
+ | string
83
+ | AccountMeta<string> = "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY",
84
+ TAccountLeafOwner extends string | AccountMeta<string> = string,
85
+ TAccountLeafDelegate extends string | AccountMeta<string> = string,
86
+ TAccountPayer extends string | AccountMeta<string> = string,
87
+ TAccountMerkleTree extends string | AccountMeta<string> = string,
88
+ TAccountLogWrapper extends
89
+ | string
90
+ | AccountMeta<string> = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV",
91
+ TAccountCompressionProgram extends
92
+ | string
93
+ | AccountMeta<string> = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK",
84
94
  TAccountTokenMetadataProgram extends
85
95
  | string
86
- | AccountMeta = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
96
+ | AccountMeta<string> = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
87
97
  TAccountSystemProgram extends
88
98
  | string
89
- | AccountMeta = "11111111111111111111111111111111",
90
- TRemainingAccounts extends readonly AccountMeta[] = [],
99
+ | AccountMeta<string> = "11111111111111111111111111111111",
100
+ TRemainingAccounts extends readonly AccountMeta<string>[] = [],
91
101
  > = Instruction<TProgram> &
92
102
  InstructionWithData<ReadonlyUint8Array> &
93
103
  InstructionWithAccounts<
@@ -189,6 +199,204 @@ export function getUpdateMetadataInstructionDataCodec(): Codec<
189
199
  );
190
200
  }
191
201
 
202
+ export interface UpdateMetadataAsyncInput<
203
+ TAccountTreeAuthority extends string = string,
204
+ TAccountAuthority extends string = string,
205
+ TAccountCollectionMint extends string = string,
206
+ TAccountCollectionMetadata extends string = string,
207
+ TAccountCollectionAuthorityRecordPda extends string = string,
208
+ TAccountLeafOwner extends string = string,
209
+ TAccountLeafDelegate extends string = string,
210
+ TAccountPayer extends string = string,
211
+ TAccountMerkleTree extends string = string,
212
+ TAccountLogWrapper extends string = string,
213
+ TAccountCompressionProgram extends string = string,
214
+ TAccountTokenMetadataProgram extends string = string,
215
+ TAccountSystemProgram extends string = string,
216
+ > {
217
+ treeAuthority?: Address<TAccountTreeAuthority>;
218
+ /**
219
+ * Either collection authority or tree owner/delegate, depending
220
+ * on whether the item is in a verified collection
221
+ */
222
+ authority: TransactionSigner<TAccountAuthority>;
223
+ /** Used when item is in a verified collection */
224
+ collectionMint?: Address<TAccountCollectionMint>;
225
+ /** Used when item is in a verified collection */
226
+ collectionMetadata?: Address<TAccountCollectionMetadata>;
227
+ collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
228
+ leafOwner: Address<TAccountLeafOwner>;
229
+ leafDelegate: Address<TAccountLeafDelegate>;
230
+ payer: TransactionSigner<TAccountPayer>;
231
+ merkleTree: Address<TAccountMerkleTree>;
232
+ logWrapper?: Address<TAccountLogWrapper>;
233
+ compressionProgram?: Address<TAccountCompressionProgram>;
234
+ tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
235
+ systemProgram?: Address<TAccountSystemProgram>;
236
+ root: UpdateMetadataInstructionDataArgs["root"];
237
+ nonce: UpdateMetadataInstructionDataArgs["nonce"];
238
+ index: UpdateMetadataInstructionDataArgs["index"];
239
+ currentMetadata: UpdateMetadataInstructionDataArgs["currentMetadata"];
240
+ updateArgs: UpdateMetadataInstructionDataArgs["updateArgs"];
241
+ }
242
+
243
+ export async function getUpdateMetadataInstructionAsync<
244
+ TAccountTreeAuthority extends string,
245
+ TAccountAuthority extends string,
246
+ TAccountCollectionMint extends string,
247
+ TAccountCollectionMetadata extends string,
248
+ TAccountCollectionAuthorityRecordPda extends string,
249
+ TAccountLeafOwner extends string,
250
+ TAccountLeafDelegate extends string,
251
+ TAccountPayer extends string,
252
+ TAccountMerkleTree extends string,
253
+ TAccountLogWrapper extends string,
254
+ TAccountCompressionProgram extends string,
255
+ TAccountTokenMetadataProgram extends string,
256
+ TAccountSystemProgram extends string,
257
+ TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
258
+ >(
259
+ input: UpdateMetadataAsyncInput<
260
+ TAccountTreeAuthority,
261
+ TAccountAuthority,
262
+ TAccountCollectionMint,
263
+ TAccountCollectionMetadata,
264
+ TAccountCollectionAuthorityRecordPda,
265
+ TAccountLeafOwner,
266
+ TAccountLeafDelegate,
267
+ TAccountPayer,
268
+ TAccountMerkleTree,
269
+ TAccountLogWrapper,
270
+ TAccountCompressionProgram,
271
+ TAccountTokenMetadataProgram,
272
+ TAccountSystemProgram
273
+ >,
274
+ config?: { programAddress?: TProgramAddress },
275
+ ): Promise<
276
+ UpdateMetadataInstruction<
277
+ TProgramAddress,
278
+ TAccountTreeAuthority,
279
+ TAccountAuthority,
280
+ TAccountCollectionMint,
281
+ TAccountCollectionMetadata,
282
+ TAccountCollectionAuthorityRecordPda,
283
+ TAccountLeafOwner,
284
+ TAccountLeafDelegate,
285
+ TAccountPayer,
286
+ TAccountMerkleTree,
287
+ TAccountLogWrapper,
288
+ TAccountCompressionProgram,
289
+ TAccountTokenMetadataProgram,
290
+ TAccountSystemProgram
291
+ >
292
+ > {
293
+ // Program address.
294
+ const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
295
+
296
+ // Original accounts.
297
+ const originalAccounts = {
298
+ treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
299
+ authority: { value: input.authority ?? null, isWritable: false },
300
+ collectionMint: { value: input.collectionMint ?? null, isWritable: false },
301
+ collectionMetadata: {
302
+ value: input.collectionMetadata ?? null,
303
+ isWritable: false,
304
+ },
305
+ collectionAuthorityRecordPda: {
306
+ value: input.collectionAuthorityRecordPda ?? null,
307
+ isWritable: false,
308
+ },
309
+ leafOwner: { value: input.leafOwner ?? null, isWritable: false },
310
+ leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
311
+ payer: { value: input.payer ?? null, isWritable: false },
312
+ merkleTree: { value: input.merkleTree ?? null, isWritable: true },
313
+ logWrapper: { value: input.logWrapper ?? null, isWritable: false },
314
+ compressionProgram: {
315
+ value: input.compressionProgram ?? null,
316
+ isWritable: false,
317
+ },
318
+ tokenMetadataProgram: {
319
+ value: input.tokenMetadataProgram ?? null,
320
+ isWritable: false,
321
+ },
322
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
323
+ };
324
+ const accounts = originalAccounts as Record<
325
+ keyof typeof originalAccounts,
326
+ ResolvedInstructionAccount
327
+ >;
328
+
329
+ // Original args.
330
+ const args = { ...input };
331
+
332
+ // Resolve default values.
333
+ if (!accounts.treeAuthority.value) {
334
+ accounts.treeAuthority.value = await findTreeConfigPda({
335
+ merkleTree: getAddressFromResolvedInstructionAccount(
336
+ "merkleTree",
337
+ accounts.merkleTree.value,
338
+ ),
339
+ });
340
+ }
341
+ if (!accounts.logWrapper.value) {
342
+ accounts.logWrapper.value =
343
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
344
+ }
345
+ if (!accounts.compressionProgram.value) {
346
+ accounts.compressionProgram.value =
347
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
348
+ }
349
+ if (!accounts.tokenMetadataProgram.value) {
350
+ accounts.tokenMetadataProgram.value =
351
+ "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
352
+ }
353
+ if (!accounts.systemProgram.value) {
354
+ accounts.systemProgram.value =
355
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
356
+ }
357
+
358
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
359
+ return Object.freeze({
360
+ accounts: [
361
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
362
+ getAccountMeta("authority", accounts.authority),
363
+ getAccountMeta("collectionMint", accounts.collectionMint),
364
+ getAccountMeta("collectionMetadata", accounts.collectionMetadata),
365
+ getAccountMeta(
366
+ "collectionAuthorityRecordPda",
367
+ accounts.collectionAuthorityRecordPda,
368
+ ),
369
+ getAccountMeta("leafOwner", accounts.leafOwner),
370
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
371
+ getAccountMeta("payer", accounts.payer),
372
+ getAccountMeta("merkleTree", accounts.merkleTree),
373
+ getAccountMeta("logWrapper", accounts.logWrapper),
374
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
375
+ getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
376
+ getAccountMeta("systemProgram", accounts.systemProgram),
377
+ ],
378
+ data: getUpdateMetadataInstructionDataEncoder().encode(
379
+ args as UpdateMetadataInstructionDataArgs,
380
+ ),
381
+ programAddress,
382
+ } as UpdateMetadataInstruction<
383
+ TProgramAddress,
384
+ TAccountTreeAuthority,
385
+ TAccountAuthority,
386
+ TAccountCollectionMint,
387
+ TAccountCollectionMetadata,
388
+ TAccountCollectionAuthorityRecordPda,
389
+ TAccountLeafOwner,
390
+ TAccountLeafDelegate,
391
+ TAccountPayer,
392
+ TAccountMerkleTree,
393
+ TAccountLogWrapper,
394
+ TAccountCompressionProgram,
395
+ TAccountTokenMetadataProgram,
396
+ TAccountSystemProgram
397
+ >);
398
+ }
399
+
192
400
  export interface UpdateMetadataInput<
193
401
  TAccountTreeAuthority extends string = string,
194
402
  TAccountAuthority extends string = string,
@@ -219,8 +427,8 @@ export interface UpdateMetadataInput<
219
427
  leafDelegate: Address<TAccountLeafDelegate>;
220
428
  payer: TransactionSigner<TAccountPayer>;
221
429
  merkleTree: Address<TAccountMerkleTree>;
222
- logWrapper: Address<TAccountLogWrapper>;
223
- compressionProgram: Address<TAccountCompressionProgram>;
430
+ logWrapper?: Address<TAccountLogWrapper>;
431
+ compressionProgram?: Address<TAccountCompressionProgram>;
224
432
  tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
225
433
  systemProgram?: Address<TAccountSystemProgram>;
226
434
  root: UpdateMetadataInstructionDataArgs["root"];
@@ -318,6 +526,14 @@ export function getUpdateMetadataInstruction<
318
526
  const args = { ...input };
319
527
 
320
528
  // Resolve default values.
529
+ if (!accounts.logWrapper.value) {
530
+ accounts.logWrapper.value =
531
+ "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
532
+ }
533
+ if (!accounts.compressionProgram.value) {
534
+ accounts.compressionProgram.value =
535
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
536
+ }
321
537
  if (!accounts.tokenMetadataProgram.value) {
322
538
  accounts.tokenMetadataProgram.value =
323
539
  "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
@@ -54,7 +54,11 @@ import {
54
54
  SolanaError,
55
55
  transformEncoder,
56
56
  } from "@solana/kit";
57
- import { getAccountMetaFactory } from "@solana/program-client-core";
57
+ import {
58
+ getAccountMetaFactory,
59
+ getAddressFromResolvedInstructionAccount,
60
+ } from "@solana/program-client-core";
61
+ import { findTreeConfigPda } from "../pdas/index.js";
58
62
  import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
59
63
  import {
60
64
  getMetadataArgsV2Decoder,
@@ -74,19 +78,23 @@ export function getUpdateMetadataV2DiscriminatorBytes(): ReadonlyUint8Array {
74
78
 
75
79
  export type UpdateMetadataV2Instruction<
76
80
  TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
77
- TAccountTreeAuthority extends string | AccountMeta = string,
78
- TAccountPayer extends string | AccountMeta = string,
79
- TAccountAuthority extends string | AccountMeta = string,
80
- TAccountLeafOwner extends string | AccountMeta = string,
81
- TAccountLeafDelegate extends string | AccountMeta = string,
82
- TAccountMerkleTree extends string | AccountMeta = string,
83
- TAccountCoreCollection extends string | AccountMeta = string,
84
- TAccountLogWrapper extends string | AccountMeta = string,
85
- TAccountCompressionProgram extends string | AccountMeta = string,
81
+ TAccountTreeAuthority extends string | AccountMeta<string> = string,
82
+ TAccountPayer extends string | AccountMeta<string> = string,
83
+ TAccountAuthority extends string | AccountMeta<string> = string,
84
+ TAccountLeafOwner extends string | AccountMeta<string> = string,
85
+ TAccountLeafDelegate extends string | AccountMeta<string> = string,
86
+ TAccountMerkleTree extends string | AccountMeta<string> = string,
87
+ TAccountCoreCollection extends string | AccountMeta<string> = string,
88
+ TAccountLogWrapper extends
89
+ | string
90
+ | AccountMeta<string> = "mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3",
91
+ TAccountCompressionProgram extends
92
+ | string
93
+ | AccountMeta<string> = "mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW",
86
94
  TAccountSystemProgram extends
87
95
  | string
88
- | AccountMeta = "11111111111111111111111111111111",
89
- TRemainingAccounts extends readonly AccountMeta[] = [],
96
+ | AccountMeta<string> = "11111111111111111111111111111111",
97
+ TRemainingAccounts extends readonly AccountMeta<string>[] = [],
90
98
  > = Instruction<TProgram> &
91
99
  InstructionWithData<ReadonlyUint8Array> &
92
100
  InstructionWithAccounts<
@@ -193,6 +201,165 @@ export function getUpdateMetadataV2InstructionDataCodec(): Codec<
193
201
  );
194
202
  }
195
203
 
204
+ export interface UpdateMetadataV2AsyncInput<
205
+ TAccountTreeAuthority extends string = string,
206
+ TAccountPayer extends string = string,
207
+ TAccountAuthority extends string = string,
208
+ TAccountLeafOwner extends string = string,
209
+ TAccountLeafDelegate extends string = string,
210
+ TAccountMerkleTree extends string = string,
211
+ TAccountCoreCollection extends string = string,
212
+ TAccountLogWrapper extends string = string,
213
+ TAccountCompressionProgram extends string = string,
214
+ TAccountSystemProgram extends string = string,
215
+ > {
216
+ treeAuthority?: Address<TAccountTreeAuthority>;
217
+ payer: TransactionSigner<TAccountPayer>;
218
+ /**
219
+ * Either collection authority or tree owner/delegate, depending
220
+ * on whether the item is in a verified collection. Defaults to `payer`
221
+ */
222
+ authority?: TransactionSigner<TAccountAuthority>;
223
+ leafOwner: Address<TAccountLeafOwner>;
224
+ /** Defaults to `leaf_owner` */
225
+ leafDelegate?: Address<TAccountLeafDelegate>;
226
+ merkleTree: Address<TAccountMerkleTree>;
227
+ coreCollection?: Address<TAccountCoreCollection>;
228
+ logWrapper?: Address<TAccountLogWrapper>;
229
+ compressionProgram?: Address<TAccountCompressionProgram>;
230
+ systemProgram?: Address<TAccountSystemProgram>;
231
+ root: UpdateMetadataV2InstructionDataArgs["root"];
232
+ assetDataHash: UpdateMetadataV2InstructionDataArgs["assetDataHash"];
233
+ flags: UpdateMetadataV2InstructionDataArgs["flags"];
234
+ nonce: UpdateMetadataV2InstructionDataArgs["nonce"];
235
+ index: UpdateMetadataV2InstructionDataArgs["index"];
236
+ currentMetadata: UpdateMetadataV2InstructionDataArgs["currentMetadata"];
237
+ updateArgs: UpdateMetadataV2InstructionDataArgs["updateArgs"];
238
+ }
239
+
240
+ export async function getUpdateMetadataV2InstructionAsync<
241
+ TAccountTreeAuthority extends string,
242
+ TAccountPayer extends string,
243
+ TAccountAuthority extends string,
244
+ TAccountLeafOwner extends string,
245
+ TAccountLeafDelegate extends string,
246
+ TAccountMerkleTree extends string,
247
+ TAccountCoreCollection extends string,
248
+ TAccountLogWrapper extends string,
249
+ TAccountCompressionProgram extends string,
250
+ TAccountSystemProgram extends string,
251
+ TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
252
+ >(
253
+ input: UpdateMetadataV2AsyncInput<
254
+ TAccountTreeAuthority,
255
+ TAccountPayer,
256
+ TAccountAuthority,
257
+ TAccountLeafOwner,
258
+ TAccountLeafDelegate,
259
+ TAccountMerkleTree,
260
+ TAccountCoreCollection,
261
+ TAccountLogWrapper,
262
+ TAccountCompressionProgram,
263
+ TAccountSystemProgram
264
+ >,
265
+ config?: { programAddress?: TProgramAddress },
266
+ ): Promise<
267
+ UpdateMetadataV2Instruction<
268
+ TProgramAddress,
269
+ TAccountTreeAuthority,
270
+ TAccountPayer,
271
+ TAccountAuthority,
272
+ TAccountLeafOwner,
273
+ TAccountLeafDelegate,
274
+ TAccountMerkleTree,
275
+ TAccountCoreCollection,
276
+ TAccountLogWrapper,
277
+ TAccountCompressionProgram,
278
+ TAccountSystemProgram
279
+ >
280
+ > {
281
+ // Program address.
282
+ const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
283
+
284
+ // Original accounts.
285
+ const originalAccounts = {
286
+ treeAuthority: { value: input.treeAuthority ?? null, isWritable: true },
287
+ payer: { value: input.payer ?? null, isWritable: true },
288
+ authority: { value: input.authority ?? null, isWritable: false },
289
+ leafOwner: { value: input.leafOwner ?? null, isWritable: false },
290
+ leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
291
+ merkleTree: { value: input.merkleTree ?? null, isWritable: true },
292
+ coreCollection: { value: input.coreCollection ?? null, isWritable: false },
293
+ logWrapper: { value: input.logWrapper ?? null, isWritable: false },
294
+ compressionProgram: {
295
+ value: input.compressionProgram ?? null,
296
+ isWritable: false,
297
+ },
298
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
299
+ };
300
+ const accounts = originalAccounts as Record<
301
+ keyof typeof originalAccounts,
302
+ ResolvedInstructionAccount
303
+ >;
304
+
305
+ // Original args.
306
+ const args = { ...input };
307
+
308
+ // Resolve default values.
309
+ if (!accounts.treeAuthority.value) {
310
+ accounts.treeAuthority.value = await findTreeConfigPda({
311
+ merkleTree: getAddressFromResolvedInstructionAccount(
312
+ "merkleTree",
313
+ accounts.merkleTree.value,
314
+ ),
315
+ });
316
+ }
317
+ if (!accounts.logWrapper.value) {
318
+ accounts.logWrapper.value =
319
+ "mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3" as Address<"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3">;
320
+ }
321
+ if (!accounts.compressionProgram.value) {
322
+ accounts.compressionProgram.value =
323
+ "mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW" as Address<"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW">;
324
+ }
325
+ if (!accounts.systemProgram.value) {
326
+ accounts.systemProgram.value =
327
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
328
+ }
329
+
330
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
331
+ return Object.freeze({
332
+ accounts: [
333
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
334
+ getAccountMeta("payer", accounts.payer),
335
+ getAccountMeta("authority", accounts.authority),
336
+ getAccountMeta("leafOwner", accounts.leafOwner),
337
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
338
+ getAccountMeta("merkleTree", accounts.merkleTree),
339
+ getAccountMeta("coreCollection", accounts.coreCollection),
340
+ getAccountMeta("logWrapper", accounts.logWrapper),
341
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
342
+ getAccountMeta("systemProgram", accounts.systemProgram),
343
+ ],
344
+ data: getUpdateMetadataV2InstructionDataEncoder().encode(
345
+ args as UpdateMetadataV2InstructionDataArgs,
346
+ ),
347
+ programAddress,
348
+ } as UpdateMetadataV2Instruction<
349
+ TProgramAddress,
350
+ TAccountTreeAuthority,
351
+ TAccountPayer,
352
+ TAccountAuthority,
353
+ TAccountLeafOwner,
354
+ TAccountLeafDelegate,
355
+ TAccountMerkleTree,
356
+ TAccountCoreCollection,
357
+ TAccountLogWrapper,
358
+ TAccountCompressionProgram,
359
+ TAccountSystemProgram
360
+ >);
361
+ }
362
+
196
363
  export interface UpdateMetadataV2Input<
197
364
  TAccountTreeAuthority extends string = string,
198
365
  TAccountPayer extends string = string,
@@ -217,8 +384,8 @@ export interface UpdateMetadataV2Input<
217
384
  leafDelegate?: Address<TAccountLeafDelegate>;
218
385
  merkleTree: Address<TAccountMerkleTree>;
219
386
  coreCollection?: Address<TAccountCoreCollection>;
220
- logWrapper: Address<TAccountLogWrapper>;
221
- compressionProgram: Address<TAccountCompressionProgram>;
387
+ logWrapper?: Address<TAccountLogWrapper>;
388
+ compressionProgram?: Address<TAccountCompressionProgram>;
222
389
  systemProgram?: Address<TAccountSystemProgram>;
223
390
  root: UpdateMetadataV2InstructionDataArgs["root"];
224
391
  assetDataHash: UpdateMetadataV2InstructionDataArgs["assetDataHash"];
@@ -296,6 +463,14 @@ export function getUpdateMetadataV2Instruction<
296
463
  const args = { ...input };
297
464
 
298
465
  // Resolve default values.
466
+ if (!accounts.logWrapper.value) {
467
+ accounts.logWrapper.value =
468
+ "mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3" as Address<"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3">;
469
+ }
470
+ if (!accounts.compressionProgram.value) {
471
+ accounts.compressionProgram.value =
472
+ "mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW" as Address<"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW">;
473
+ }
299
474
  if (!accounts.systemProgram.value) {
300
475
  accounts.systemProgram.value =
301
476
  "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;