@macalinao/clients-mpl-bubblegum 0.3.0 → 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 +8 -12
  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 +163 -44
  266. package/src/generated/instructions/burnV2.ts +205 -64
  267. package/src/generated/instructions/cancelRedeem.ts +122 -41
  268. package/src/generated/instructions/closeTreeV2.ts +102 -44
  269. package/src/generated/instructions/collectV2.ts +34 -23
  270. package/src/generated/instructions/compress.ts +146 -45
  271. package/src/generated/instructions/createTree.ts +143 -42
  272. package/src/generated/instructions/createTreeV2.ts +134 -45
  273. package/src/generated/instructions/decompressV1.ts +136 -49
  274. package/src/generated/instructions/delegate.ts +165 -47
  275. package/src/generated/instructions/delegateAndFreezeV2.ts +197 -60
  276. package/src/generated/instructions/delegateV2.ts +195 -60
  277. package/src/generated/instructions/freezeV2.ts +199 -58
  278. package/src/generated/instructions/mintToCollectionV1.ts +196 -52
  279. package/src/generated/instructions/mintV1.ts +133 -40
  280. package/src/generated/instructions/mintV2.ts +192 -57
  281. package/src/generated/instructions/redeem.ts +178 -47
  282. package/src/generated/instructions/setAndVerifyCollection.ts +246 -69
  283. package/src/generated/instructions/setCollectionV2.ts +212 -73
  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 +190 -61
  287. package/src/generated/instructions/setTreeDelegate.ts +84 -31
  288. package/src/generated/instructions/thawAndRevokeV2.ts +185 -57
  289. package/src/generated/instructions/thawV2.ts +191 -58
  290. package/src/generated/instructions/transfer.ts +162 -44
  291. package/src/generated/instructions/transferV2.ts +191 -61
  292. package/src/generated/instructions/unverifyCollection.ts +239 -69
  293. package/src/generated/instructions/unverifyCreator.ts +187 -48
  294. package/src/generated/instructions/unverifyCreatorV2.ts +170 -55
  295. package/src/generated/instructions/updateAssetDataV2.ts +206 -59
  296. package/src/generated/instructions/updateMetadata.ts +210 -67
  297. package/src/generated/instructions/updateMetadataV2.ts +189 -63
  298. package/src/generated/instructions/verifyCollection.ts +239 -69
  299. package/src/generated/instructions/verifyCreator.ts +187 -48
  300. package/src/generated/instructions/verifyCreatorV2.ts +170 -55
  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
@@ -3,6 +3,13 @@ import "../programs/bubblegum.js";
3
3
  import { SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, combineCodec, fixDecoderSize, fixEncoderSize, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, transformEncoder } from "@solana/kit";
4
4
  import { getAccountMetaFactory, getAddressFromResolvedInstructionAccount } from "@solana/program-client-core";
5
5
  //#region src/generated/instructions/setTreeDelegate.ts
6
+ /**
7
+ * This code was AUTOGENERATED using the Codama library.
8
+ * Please DO NOT EDIT THIS FILE, instead use visitors
9
+ * to add features, then rerun Codama to update it.
10
+ *
11
+ * @see https://github.com/codama-idl/codama
12
+ */
6
13
  const SET_TREE_DELEGATE_DISCRIMINATOR = new Uint8Array([
7
14
  253,
8
15
  118,
@@ -28,6 +35,13 @@ function getSetTreeDelegateInstructionDataDecoder() {
28
35
  function getSetTreeDelegateInstructionDataCodec() {
29
36
  return combineCodec(getSetTreeDelegateInstructionDataEncoder(), getSetTreeDelegateInstructionDataDecoder());
30
37
  }
38
+ /**
39
+ * Sets a new delegate authority for a tree.
40
+ *
41
+ * Only the current tree creator may reassign the tree delegate, which
42
+ * is authorized to mint into the tree and manage it on the creator's
43
+ * behalf.
44
+ */
31
45
  async function getSetTreeDelegateInstructionAsync(input, config) {
32
46
  const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
33
47
  const accounts = {
@@ -67,6 +81,13 @@ async function getSetTreeDelegateInstructionAsync(input, config) {
67
81
  programAddress
68
82
  });
69
83
  }
84
+ /**
85
+ * Sets a new delegate authority for a tree.
86
+ *
87
+ * Only the current tree creator may reassign the tree delegate, which
88
+ * is authorized to mint into the tree and manage it on the creator's
89
+ * behalf.
90
+ */
70
91
  function getSetTreeDelegateInstruction(input, config) {
71
92
  const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
72
93
  const accounts = {
@@ -1 +1 @@
1
- {"version":3,"file":"setTreeDelegate.js","names":[],"sources":["../../../src/generated/instructions/setTreeDelegate.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 FixedSizeCodec,\n FixedSizeDecoder,\n FixedSizeEncoder,\n Instruction,\n InstructionWithAccounts,\n InstructionWithData,\n ReadonlyAccount,\n ReadonlySignerAccount,\n ReadonlyUint8Array,\n TransactionSigner,\n WritableAccount,\n} from \"@solana/kit\";\nimport type { ResolvedInstructionAccount } from \"@solana/program-client-core\";\nimport {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getBytesDecoder,\n getBytesEncoder,\n getStructDecoder,\n getStructEncoder,\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\";\n\nexport const SET_TREE_DELEGATE_DISCRIMINATOR: ReadonlyUint8Array =\n new Uint8Array([253, 118, 66, 37, 190, 49, 154, 102]);\n\nexport function getSetTreeDelegateDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n SET_TREE_DELEGATE_DISCRIMINATOR,\n );\n}\n\nexport type SetTreeDelegateInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountTreeCreator extends string | AccountMeta<string> = string,\n TAccountNewTreeDelegate extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountSystemProgram extends\n | string\n | AccountMeta<string> = \"11111111111111111111111111111111\",\n TRemainingAccounts extends readonly AccountMeta<string>[] = [],\n> = Instruction<TProgram> &\n InstructionWithData<ReadonlyUint8Array> &\n InstructionWithAccounts<\n [\n TAccountTreeAuthority extends string\n ? WritableAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountTreeCreator extends string\n ? ReadonlySignerAccount<TAccountTreeCreator> &\n AccountSignerMeta<TAccountTreeCreator>\n : TAccountTreeCreator,\n TAccountNewTreeDelegate extends string\n ? ReadonlyAccount<TAccountNewTreeDelegate>\n : TAccountNewTreeDelegate,\n TAccountMerkleTree extends string\n ? ReadonlyAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport interface SetTreeDelegateInstructionData {\n discriminator: ReadonlyUint8Array;\n}\n\nexport type SetTreeDelegateInstructionDataArgs = {};\n\nexport function getSetTreeDelegateInstructionDataEncoder(): FixedSizeEncoder<SetTreeDelegateInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([[\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)]]),\n (value) => ({ ...value, discriminator: SET_TREE_DELEGATE_DISCRIMINATOR }),\n );\n}\n\nexport function getSetTreeDelegateInstructionDataDecoder(): FixedSizeDecoder<SetTreeDelegateInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n ]);\n}\n\nexport function getSetTreeDelegateInstructionDataCodec(): FixedSizeCodec<\n SetTreeDelegateInstructionDataArgs,\n SetTreeDelegateInstructionData\n> {\n return combineCodec(\n getSetTreeDelegateInstructionDataEncoder(),\n getSetTreeDelegateInstructionDataDecoder(),\n );\n}\n\nexport interface SetTreeDelegateAsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountTreeCreator extends string = string,\n TAccountNewTreeDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority?: Address<TAccountTreeAuthority>;\n treeCreator: TransactionSigner<TAccountTreeCreator>;\n newTreeDelegate: Address<TAccountNewTreeDelegate>;\n merkleTree: Address<TAccountMerkleTree>;\n systemProgram?: Address<TAccountSystemProgram>;\n}\n\nexport async function getSetTreeDelegateInstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountTreeCreator extends string,\n TAccountNewTreeDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: SetTreeDelegateAsyncInput<\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\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 treeCreator: { value: input.treeCreator ?? null, isWritable: false },\n newTreeDelegate: {\n value: input.newTreeDelegate ?? null,\n isWritable: false,\n },\n merkleTree: { value: input.merkleTree ?? null, isWritable: false },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\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.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(\"treeCreator\", accounts.treeCreator),\n getAccountMeta(\"newTreeDelegate\", accounts.newTreeDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getSetTreeDelegateInstructionDataEncoder().encode({}),\n programAddress,\n } as SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >);\n}\n\nexport interface SetTreeDelegateInput<\n TAccountTreeAuthority extends string = string,\n TAccountTreeCreator extends string = string,\n TAccountNewTreeDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority: Address<TAccountTreeAuthority>;\n treeCreator: TransactionSigner<TAccountTreeCreator>;\n newTreeDelegate: Address<TAccountNewTreeDelegate>;\n merkleTree: Address<TAccountMerkleTree>;\n systemProgram?: Address<TAccountSystemProgram>;\n}\n\nexport function getSetTreeDelegateInstruction<\n TAccountTreeAuthority extends string,\n TAccountTreeCreator extends string,\n TAccountNewTreeDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: SetTreeDelegateInput<\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\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 treeCreator: { value: input.treeCreator ?? null, isWritable: false },\n newTreeDelegate: {\n value: input.newTreeDelegate ?? null,\n isWritable: false,\n },\n merkleTree: { value: input.merkleTree ?? null, isWritable: false },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Resolve default values.\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(\"treeCreator\", accounts.treeCreator),\n getAccountMeta(\"newTreeDelegate\", accounts.newTreeDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getSetTreeDelegateInstructionDataEncoder().encode({}),\n programAddress,\n } as SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >);\n}\n\nexport interface ParsedSetTreeDelegateInstruction<\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 treeCreator: TAccountMetas[1];\n newTreeDelegate: TAccountMetas[2];\n merkleTree: TAccountMetas[3];\n systemProgram: TAccountMetas[4];\n };\n data: SetTreeDelegateInstructionData;\n}\n\nexport function parseSetTreeDelegateInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedSetTreeDelegateInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 5) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 5,\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 return {\n programAddress: instruction.programAddress,\n accounts: {\n treeAuthority: getNextAccount(),\n treeCreator: getNextAccount(),\n newTreeDelegate: getNextAccount(),\n merkleTree: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getSetTreeDelegateInstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"setTreeDelegate.js","names":[],"sources":["../../../src/generated/instructions/setTreeDelegate.ts"],"sourcesContent":["/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getBytesDecoder,\n getBytesEncoder,\n getStructDecoder,\n getStructEncoder,\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n SolanaError,\n transformEncoder,\n type AccountMeta,\n type AccountSignerMeta,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n type Instruction,\n type InstructionWithAccounts,\n type InstructionWithData,\n type ReadonlyAccount,\n type ReadonlySignerAccount,\n type ReadonlyUint8Array,\n type TransactionSigner,\n type WritableAccount,\n} from \"@solana/kit\";\nimport {\n getAccountMetaFactory,\n getAddressFromResolvedInstructionAccount,\n type ResolvedInstructionAccount,\n} from \"@solana/program-client-core\";\nimport { findTreeConfigPda } from \"../pdas/index.js\";\nimport { BUBBLEGUM_PROGRAM_ADDRESS } from \"../programs/index.js\";\n\nexport const SET_TREE_DELEGATE_DISCRIMINATOR: ReadonlyUint8Array =\n new Uint8Array([253, 118, 66, 37, 190, 49, 154, 102]);\n\nexport function getSetTreeDelegateDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n SET_TREE_DELEGATE_DISCRIMINATOR,\n );\n}\n\nexport type SetTreeDelegateInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountTreeCreator extends string | AccountMeta<string> = string,\n TAccountNewTreeDelegate extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\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 TAccountTreeCreator extends string\n ? ReadonlySignerAccount<TAccountTreeCreator> &\n AccountSignerMeta<TAccountTreeCreator>\n : TAccountTreeCreator,\n TAccountNewTreeDelegate extends string\n ? ReadonlyAccount<TAccountNewTreeDelegate>\n : TAccountNewTreeDelegate,\n TAccountMerkleTree extends string\n ? ReadonlyAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport type SetTreeDelegateInstructionData = {\n discriminator: ReadonlyUint8Array;\n};\n\nexport type SetTreeDelegateInstructionDataArgs = {};\n\nexport function getSetTreeDelegateInstructionDataEncoder(): FixedSizeEncoder<SetTreeDelegateInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([[\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)]]),\n (value) => ({ ...value, discriminator: SET_TREE_DELEGATE_DISCRIMINATOR }),\n );\n}\n\nexport function getSetTreeDelegateInstructionDataDecoder(): FixedSizeDecoder<SetTreeDelegateInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n ]);\n}\n\nexport function getSetTreeDelegateInstructionDataCodec(): FixedSizeCodec<\n SetTreeDelegateInstructionDataArgs,\n SetTreeDelegateInstructionData\n> {\n return combineCodec(\n getSetTreeDelegateInstructionDataEncoder(),\n getSetTreeDelegateInstructionDataDecoder(),\n );\n}\n\nexport type SetTreeDelegateAsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountTreeCreator extends string = string,\n TAccountNewTreeDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountSystemProgram extends string = string,\n> = {\n /**\n * The tree's `TreeConfig` PDA, which stores its configuration and acts\n * as the tree's authority for CPIs into the compression program.\n */\n treeAuthority?: Address<TAccountTreeAuthority>;\n /**\n * Creator of the tree, recorded in `TreeConfig` when the tree was\n * created.\n */\n treeCreator: TransactionSigner<TAccountTreeCreator>;\n /** New delegate authority to set for the tree. */\n newTreeDelegate: Address<TAccountNewTreeDelegate>;\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /** The Solana System program. */\n systemProgram?: Address<TAccountSystemProgram>;\n};\n\n/**\n * Sets a new delegate authority for a tree.\n *\n * Only the current tree creator may reassign the tree delegate, which\n * is authorized to mint into the tree and manage it on the creator's\n * behalf.\n */\nexport async function getSetTreeDelegateInstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountTreeCreator extends string,\n TAccountNewTreeDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: SetTreeDelegateAsyncInput<\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\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 treeCreator: { value: input.treeCreator ?? null, isWritable: false },\n newTreeDelegate: {\n value: input.newTreeDelegate ?? null,\n isWritable: false,\n },\n merkleTree: { value: input.merkleTree ?? null, isWritable: false },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\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.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(\"treeCreator\", accounts.treeCreator),\n getAccountMeta(\"newTreeDelegate\", accounts.newTreeDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getSetTreeDelegateInstructionDataEncoder().encode({}),\n programAddress,\n } as SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >);\n}\n\nexport type SetTreeDelegateInput<\n TAccountTreeAuthority extends string = string,\n TAccountTreeCreator extends string = string,\n TAccountNewTreeDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountSystemProgram extends string = string,\n> = {\n /**\n * The tree's `TreeConfig` PDA, which stores its configuration and acts\n * as the tree's authority for CPIs into the compression program.\n */\n treeAuthority: Address<TAccountTreeAuthority>;\n /**\n * Creator of the tree, recorded in `TreeConfig` when the tree was\n * created.\n */\n treeCreator: TransactionSigner<TAccountTreeCreator>;\n /** New delegate authority to set for the tree. */\n newTreeDelegate: Address<TAccountNewTreeDelegate>;\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /** The Solana System program. */\n systemProgram?: Address<TAccountSystemProgram>;\n};\n\n/**\n * Sets a new delegate authority for a tree.\n *\n * Only the current tree creator may reassign the tree delegate, which\n * is authorized to mint into the tree and manage it on the creator's\n * behalf.\n */\nexport function getSetTreeDelegateInstruction<\n TAccountTreeAuthority extends string,\n TAccountTreeCreator extends string,\n TAccountNewTreeDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: SetTreeDelegateInput<\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\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 treeCreator: { value: input.treeCreator ?? null, isWritable: false },\n newTreeDelegate: {\n value: input.newTreeDelegate ?? null,\n isWritable: false,\n },\n merkleTree: { value: input.merkleTree ?? null, isWritable: false },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Resolve default values.\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(\"treeCreator\", accounts.treeCreator),\n getAccountMeta(\"newTreeDelegate\", accounts.newTreeDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getSetTreeDelegateInstructionDataEncoder().encode({}),\n programAddress,\n } as SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >);\n}\n\nexport type ParsedSetTreeDelegateInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],\n> = {\n programAddress: Address<TProgram>;\n accounts: {\n /**\n * The tree's `TreeConfig` PDA, which stores its configuration and acts\n * as the tree's authority for CPIs into the compression program.\n */\n treeAuthority: TAccountMetas[0];\n /**\n * Creator of the tree, recorded in `TreeConfig` when the tree was\n * created.\n */\n treeCreator: TAccountMetas[1];\n /** New delegate authority to set for the tree. */\n newTreeDelegate: TAccountMetas[2];\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: TAccountMetas[3];\n /** The Solana System program. */\n systemProgram: TAccountMetas[4];\n };\n data: SetTreeDelegateInstructionData;\n};\n\nexport function parseSetTreeDelegateInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedSetTreeDelegateInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 5) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 5,\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 return {\n programAddress: instruction.programAddress,\n accounts: {\n treeAuthority: getNextAccount(),\n treeCreator: getNextAccount(),\n newTreeDelegate: getNextAccount(),\n merkleTree: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getSetTreeDelegateInstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}
@@ -1,43 +1,128 @@
1
1
  import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/bubblegum.js";
2
+ import "../programs/index.js";
2
3
  import { AccountMeta, AccountSignerMeta, Address, Codec, Decoder, Encoder, Instruction, InstructionWithAccounts, InstructionWithData, Option, OptionOrNullable, ReadonlyAccount, ReadonlySignerAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount, WritableSignerAccount } from "@solana/kit";
3
-
4
4
  //#region src/generated/instructions/thawAndRevokeV2.d.ts
5
5
  declare const THAW_AND_REVOKE_V2_DISCRIMINATOR: ReadonlyUint8Array;
6
6
  declare function getThawAndRevokeV2DiscriminatorBytes(): ReadonlyUint8Array;
7
7
  type ThawAndRevokeV2Instruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountTreeAuthority extends string | AccountMeta<string> = string, TAccountPayer extends string | AccountMeta<string> = string, TAccountLeafDelegate extends string | AccountMeta<string> = string, TAccountLeafOwner extends string | AccountMeta<string> = string, TAccountMerkleTree 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, TAccountLeafDelegate extends string ? ReadonlySignerAccount<TAccountLeafDelegate> & AccountSignerMeta<TAccountLeafDelegate> : TAccountLeafDelegate, TAccountLeafOwner extends string ? ReadonlyAccount<TAccountLeafOwner> : TAccountLeafOwner, TAccountMerkleTree extends string ? WritableAccount<TAccountMerkleTree> : TAccountMerkleTree, TAccountLogWrapper extends string ? ReadonlyAccount<TAccountLogWrapper> : TAccountLogWrapper, TAccountCompressionProgram extends string ? ReadonlyAccount<TAccountCompressionProgram> : TAccountCompressionProgram, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, ...TRemainingAccounts]>;
8
- interface ThawAndRevokeV2InstructionData {
8
+ type ThawAndRevokeV2InstructionData = {
9
9
  discriminator: ReadonlyUint8Array;
10
- root: number[];
11
- dataHash: number[];
12
- creatorHash: number[];
13
- collectionHash: Option<number[]>;
14
- assetDataHash: Option<number[]>;
10
+ /**
11
+ * Current Merkle root of the tree, used together with the Merkle proof
12
+ * (passed as remaining accounts) to verify the leaf being operated on.
13
+ */
14
+ root: Array<number>;
15
+ /**
16
+ * Keccak256 hash of the leaf's metadata, used together with `root` to
17
+ * verify the leaf before it is modified.
18
+ */
19
+ dataHash: Array<number>;
20
+ /**
21
+ * Keccak256 hash of the leaf's creators array, used together with
22
+ * `root` to verify the leaf before it is modified.
23
+ */
24
+ creatorHash: Array<number>;
25
+ /**
26
+ * Expected current `collectionHash` of the `LeafSchema` V2 leaf, if
27
+ * any, verified before this instruction updates the leaf.
28
+ */
29
+ collectionHash: Option<Array<number>>;
30
+ /**
31
+ * Expected current `assetDataHash` of the `LeafSchema` V2 leaf, if any,
32
+ * carried through unchanged by this instruction.
33
+ */
34
+ assetDataHash: Option<Array<number>>;
35
+ /**
36
+ * Expected current status flags (e.g. frozen, non-transferable) of the
37
+ * `LeafSchema` V2 leaf, verified before this instruction updates them.
38
+ */
15
39
  flags: Option<number>;
40
+ /**
41
+ * Tree-scoped nonce identifying the leaf, equal to the tree's
42
+ * `numMinted` at the time the leaf was minted. Combined with the tree
43
+ * address to derive the leaf's asset id.
44
+ */
16
45
  nonce: bigint;
46
+ /**
47
+ * Position of the leaf within the Merkle tree, used with the Merkle
48
+ * proof to locate and verify the leaf.
49
+ */
17
50
  index: number;
18
- }
19
- interface ThawAndRevokeV2InstructionDataArgs {
20
- root: number[];
21
- dataHash: number[];
22
- creatorHash: number[];
23
- collectionHash: OptionOrNullable<number[]>;
24
- assetDataHash: OptionOrNullable<number[]>;
51
+ };
52
+ type ThawAndRevokeV2InstructionDataArgs = {
53
+ /**
54
+ * Current Merkle root of the tree, used together with the Merkle proof
55
+ * (passed as remaining accounts) to verify the leaf being operated on.
56
+ */
57
+ root: Array<number>;
58
+ /**
59
+ * Keccak256 hash of the leaf's metadata, used together with `root` to
60
+ * verify the leaf before it is modified.
61
+ */
62
+ dataHash: Array<number>;
63
+ /**
64
+ * Keccak256 hash of the leaf's creators array, used together with
65
+ * `root` to verify the leaf before it is modified.
66
+ */
67
+ creatorHash: Array<number>;
68
+ /**
69
+ * Expected current `collectionHash` of the `LeafSchema` V2 leaf, if
70
+ * any, verified before this instruction updates the leaf.
71
+ */
72
+ collectionHash: OptionOrNullable<Array<number>>;
73
+ /**
74
+ * Expected current `assetDataHash` of the `LeafSchema` V2 leaf, if any,
75
+ * carried through unchanged by this instruction.
76
+ */
77
+ assetDataHash: OptionOrNullable<Array<number>>;
78
+ /**
79
+ * Expected current status flags (e.g. frozen, non-transferable) of the
80
+ * `LeafSchema` V2 leaf, verified before this instruction updates them.
81
+ */
25
82
  flags: OptionOrNullable<number>;
83
+ /**
84
+ * Tree-scoped nonce identifying the leaf, equal to the tree's
85
+ * `numMinted` at the time the leaf was minted. Combined with the tree
86
+ * address to derive the leaf's asset id.
87
+ */
26
88
  nonce: number | bigint;
89
+ /**
90
+ * Position of the leaf within the Merkle tree, used with the Merkle
91
+ * proof to locate and verify the leaf.
92
+ */
27
93
  index: number;
28
- }
94
+ };
29
95
  declare function getThawAndRevokeV2InstructionDataEncoder(): Encoder<ThawAndRevokeV2InstructionDataArgs>;
30
96
  declare function getThawAndRevokeV2InstructionDataDecoder(): Decoder<ThawAndRevokeV2InstructionData>;
31
97
  declare function getThawAndRevokeV2InstructionDataCodec(): Codec<ThawAndRevokeV2InstructionDataArgs, ThawAndRevokeV2InstructionData>;
32
- interface ThawAndRevokeV2AsyncInput<TAccountTreeAuthority extends string = string, TAccountPayer extends string = string, TAccountLeafDelegate extends string = string, TAccountLeafOwner extends string = string, TAccountMerkleTree extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> {
98
+ type ThawAndRevokeV2AsyncInput<TAccountTreeAuthority extends string = string, TAccountPayer extends string = string, TAccountLeafDelegate extends string = string, TAccountLeafOwner extends string = string, TAccountMerkleTree 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
+ */
33
103
  treeAuthority?: Address<TAccountTreeAuthority>;
104
+ /** Account that pays for the transaction and any account rent. */
34
105
  payer: TransactionSigner<TAccountPayer>;
35
- /** Optional leaf delegate, defaults to `payer` */
106
+ /** Optional leaf delegate, defaults to `payer`. */
36
107
  leafDelegate?: TransactionSigner<TAccountLeafDelegate>;
108
+ /** Owner of the compressed NFT leaf being operated on. */
37
109
  leafOwner: Address<TAccountLeafOwner>;
110
+ /**
111
+ * The concurrent Merkle tree account storing the compressed leaves,
112
+ * owned by the account compression program.
113
+ */
38
114
  merkleTree: Address<TAccountMerkleTree>;
115
+ /**
116
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
117
+ * can reconstruct the tree.
118
+ */
39
119
  logWrapper?: Address<TAccountLogWrapper>;
120
+ /**
121
+ * The SPL/MPL Account Compression program that owns and manages the
122
+ * Merkle tree.
123
+ */
40
124
  compressionProgram?: Address<TAccountCompressionProgram>;
125
+ /** The Solana System program. */
41
126
  systemProgram?: Address<TAccountSystemProgram>;
42
127
  root: ThawAndRevokeV2InstructionDataArgs["root"];
43
128
  dataHash: ThawAndRevokeV2InstructionDataArgs["dataHash"];
@@ -47,19 +132,43 @@ interface ThawAndRevokeV2AsyncInput<TAccountTreeAuthority extends string = strin
47
132
  flags: ThawAndRevokeV2InstructionDataArgs["flags"];
48
133
  nonce: ThawAndRevokeV2InstructionDataArgs["nonce"];
49
134
  index: ThawAndRevokeV2InstructionDataArgs["index"];
50
- }
135
+ };
136
+ /**
137
+ * Thaws a previously frozen `LeafSchema` V2 leaf node and revokes its
138
+ * delegate (resetting the delegate back to the leaf owner) in a single
139
+ * instruction.
140
+ */
51
141
  declare function getThawAndRevokeV2InstructionAsync<TAccountTreeAuthority extends string, TAccountPayer extends string, TAccountLeafDelegate extends string, TAccountLeafOwner extends string, TAccountMerkleTree extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: ThawAndRevokeV2AsyncInput<TAccountTreeAuthority, TAccountPayer, TAccountLeafDelegate, TAccountLeafOwner, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>, config?: {
52
142
  programAddress?: TProgramAddress;
53
143
  }): Promise<ThawAndRevokeV2Instruction<TProgramAddress, TAccountTreeAuthority, TAccountPayer, TAccountLeafDelegate, TAccountLeafOwner, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>>;
54
- interface ThawAndRevokeV2Input<TAccountTreeAuthority extends string = string, TAccountPayer extends string = string, TAccountLeafDelegate extends string = string, TAccountLeafOwner extends string = string, TAccountMerkleTree extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> {
144
+ type ThawAndRevokeV2Input<TAccountTreeAuthority extends string = string, TAccountPayer extends string = string, TAccountLeafDelegate extends string = string, TAccountLeafOwner extends string = string, TAccountMerkleTree extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> = {
145
+ /**
146
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
147
+ * as the tree's authority for CPIs into the compression program.
148
+ */
55
149
  treeAuthority: Address<TAccountTreeAuthority>;
150
+ /** Account that pays for the transaction and any account rent. */
56
151
  payer: TransactionSigner<TAccountPayer>;
57
- /** Optional leaf delegate, defaults to `payer` */
152
+ /** Optional leaf delegate, defaults to `payer`. */
58
153
  leafDelegate?: TransactionSigner<TAccountLeafDelegate>;
154
+ /** Owner of the compressed NFT leaf being operated on. */
59
155
  leafOwner: Address<TAccountLeafOwner>;
156
+ /**
157
+ * The concurrent Merkle tree account storing the compressed leaves,
158
+ * owned by the account compression program.
159
+ */
60
160
  merkleTree: Address<TAccountMerkleTree>;
161
+ /**
162
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
163
+ * can reconstruct the tree.
164
+ */
61
165
  logWrapper?: Address<TAccountLogWrapper>;
166
+ /**
167
+ * The SPL/MPL Account Compression program that owns and manages the
168
+ * Merkle tree.
169
+ */
62
170
  compressionProgram?: Address<TAccountCompressionProgram>;
171
+ /** The Solana System program. */
63
172
  systemProgram?: Address<TAccountSystemProgram>;
64
173
  root: ThawAndRevokeV2InstructionDataArgs["root"];
65
174
  dataHash: ThawAndRevokeV2InstructionDataArgs["dataHash"];
@@ -69,24 +178,49 @@ interface ThawAndRevokeV2Input<TAccountTreeAuthority extends string = string, TA
69
178
  flags: ThawAndRevokeV2InstructionDataArgs["flags"];
70
179
  nonce: ThawAndRevokeV2InstructionDataArgs["nonce"];
71
180
  index: ThawAndRevokeV2InstructionDataArgs["index"];
72
- }
181
+ };
182
+ /**
183
+ * Thaws a previously frozen `LeafSchema` V2 leaf node and revokes its
184
+ * delegate (resetting the delegate back to the leaf owner) in a single
185
+ * instruction.
186
+ */
73
187
  declare function getThawAndRevokeV2Instruction<TAccountTreeAuthority extends string, TAccountPayer extends string, TAccountLeafDelegate extends string, TAccountLeafOwner extends string, TAccountMerkleTree extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: ThawAndRevokeV2Input<TAccountTreeAuthority, TAccountPayer, TAccountLeafDelegate, TAccountLeafOwner, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>, config?: {
74
188
  programAddress?: TProgramAddress;
75
189
  }): ThawAndRevokeV2Instruction<TProgramAddress, TAccountTreeAuthority, TAccountPayer, TAccountLeafDelegate, TAccountLeafOwner, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>;
76
- interface ParsedThawAndRevokeV2Instruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> {
190
+ type ParsedThawAndRevokeV2Instruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
77
191
  programAddress: Address<TProgram>;
78
192
  accounts: {
193
+ /**
194
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
195
+ * as the tree's authority for CPIs into the compression program.
196
+ */
79
197
  treeAuthority: TAccountMetas[0];
80
- payer: TAccountMetas[1]; /** Optional leaf delegate, defaults to `payer` */
198
+ /** Account that pays for the transaction and any account rent. */
199
+ payer: TAccountMetas[1];
200
+ /** Optional leaf delegate, defaults to `payer`. */
81
201
  leafDelegate?: TAccountMetas[2] | undefined;
202
+ /** Owner of the compressed NFT leaf being operated on. */
82
203
  leafOwner: TAccountMetas[3];
204
+ /**
205
+ * The concurrent Merkle tree account storing the compressed leaves,
206
+ * owned by the account compression program.
207
+ */
83
208
  merkleTree: TAccountMetas[4];
209
+ /**
210
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
211
+ * can reconstruct the tree.
212
+ */
84
213
  logWrapper: TAccountMetas[5];
214
+ /**
215
+ * The SPL/MPL Account Compression program that owns and manages the
216
+ * Merkle tree.
217
+ */
85
218
  compressionProgram: TAccountMetas[6];
219
+ /** The Solana System program. */
86
220
  systemProgram: TAccountMetas[7];
87
221
  };
88
222
  data: ThawAndRevokeV2InstructionData;
89
- }
223
+ };
90
224
  declare function parseThawAndRevokeV2Instruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedThawAndRevokeV2Instruction<TProgram, TAccountMetas>;
91
225
  //#endregion
92
226
  export { ParsedThawAndRevokeV2Instruction, THAW_AND_REVOKE_V2_DISCRIMINATOR, ThawAndRevokeV2AsyncInput, ThawAndRevokeV2Input, ThawAndRevokeV2Instruction, ThawAndRevokeV2InstructionData, ThawAndRevokeV2InstructionDataArgs, getThawAndRevokeV2DiscriminatorBytes, getThawAndRevokeV2Instruction, getThawAndRevokeV2InstructionAsync, getThawAndRevokeV2InstructionDataCodec, getThawAndRevokeV2InstructionDataDecoder, getThawAndRevokeV2InstructionDataEncoder, parseThawAndRevokeV2Instruction };
@@ -1 +1 @@
1
- {"version":3,"file":"thawAndRevokeV2.d.ts","names":[],"sources":["../../../src/generated/instructions/thawAndRevokeV2.ts"],"mappings":"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"}
1
+ {"version":3,"file":"thawAndRevokeV2.d.ts","names":[],"sources":["../../../src/generated/instructions/thawAndRevokeV2.ts"],"mappings":"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"}
@@ -3,6 +3,13 @@ import "../programs/bubblegum.js";
3
3
  import { SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, combineCodec, fixDecoderSize, fixEncoderSize, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getOptionDecoder, getOptionEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, transformEncoder } from "@solana/kit";
4
4
  import { getAccountMetaFactory, getAddressFromResolvedInstructionAccount } from "@solana/program-client-core";
5
5
  //#region src/generated/instructions/thawAndRevokeV2.ts
6
+ /**
7
+ * This code was AUTOGENERATED using the Codama library.
8
+ * Please DO NOT EDIT THIS FILE, instead use visitors
9
+ * to add features, then rerun Codama to update it.
10
+ *
11
+ * @see https://github.com/codama-idl/codama
12
+ */
6
13
  const THAW_AND_REVOKE_V2_DISCRIMINATOR = new Uint8Array([
7
14
  86,
8
15
  214,
@@ -48,6 +55,11 @@ function getThawAndRevokeV2InstructionDataDecoder() {
48
55
  function getThawAndRevokeV2InstructionDataCodec() {
49
56
  return combineCodec(getThawAndRevokeV2InstructionDataEncoder(), getThawAndRevokeV2InstructionDataDecoder());
50
57
  }
58
+ /**
59
+ * Thaws a previously frozen `LeafSchema` V2 leaf node and revokes its
60
+ * delegate (resetting the delegate back to the leaf owner) in a single
61
+ * instruction.
62
+ */
51
63
  async function getThawAndRevokeV2InstructionAsync(input, config) {
52
64
  const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
53
65
  const accounts = {
@@ -105,6 +117,11 @@ async function getThawAndRevokeV2InstructionAsync(input, config) {
105
117
  programAddress
106
118
  });
107
119
  }
120
+ /**
121
+ * Thaws a previously frozen `LeafSchema` V2 leaf node and revokes its
122
+ * delegate (resetting the delegate back to the leaf owner) in a single
123
+ * instruction.
124
+ */
108
125
  function getThawAndRevokeV2Instruction(input, config) {
109
126
  const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
110
127
  const accounts = {
@@ -1 +1 @@
1
- {"version":3,"file":"thawAndRevokeV2.js","names":[],"sources":["../../../src/generated/instructions/thawAndRevokeV2.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 {\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\";\n\nexport const THAW_AND_REVOKE_V2_DISCRIMINATOR: ReadonlyUint8Array =\n new Uint8Array([86, 214, 190, 37, 167, 4, 28, 116]);\n\nexport function getThawAndRevokeV2DiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n THAW_AND_REVOKE_V2_DISCRIMINATOR,\n );\n}\n\nexport type ThawAndRevokeV2Instruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountLeafDelegate extends string | AccountMeta<string> = string,\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountLogWrapper extends\n | string\n | AccountMeta<string> = \"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\",\n TAccountCompressionProgram extends\n | string\n | AccountMeta<string> = \"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\",\n TAccountSystemProgram extends\n | string\n | AccountMeta<string> = \"11111111111111111111111111111111\",\n TRemainingAccounts extends readonly AccountMeta<string>[] = [],\n> = Instruction<TProgram> &\n InstructionWithData<ReadonlyUint8Array> &\n InstructionWithAccounts<\n [\n TAccountTreeAuthority extends string\n ? WritableAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountPayer extends string\n ? WritableSignerAccount<TAccountPayer> &\n AccountSignerMeta<TAccountPayer>\n : TAccountPayer,\n TAccountLeafDelegate extends string\n ? ReadonlySignerAccount<TAccountLeafDelegate> &\n AccountSignerMeta<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountLeafOwner extends string\n ? ReadonlyAccount<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountLogWrapper extends string\n ? ReadonlyAccount<TAccountLogWrapper>\n : TAccountLogWrapper,\n TAccountCompressionProgram extends string\n ? ReadonlyAccount<TAccountCompressionProgram>\n : TAccountCompressionProgram,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport interface ThawAndRevokeV2InstructionData {\n discriminator: ReadonlyUint8Array;\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n collectionHash: Option<number[]>;\n assetDataHash: Option<number[]>;\n flags: Option<number>;\n nonce: bigint;\n index: number;\n}\n\nexport interface ThawAndRevokeV2InstructionDataArgs {\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n collectionHash: OptionOrNullable<number[]>;\n assetDataHash: OptionOrNullable<number[]>;\n flags: OptionOrNullable<number>;\n nonce: number | bigint;\n index: number;\n}\n\nexport function getThawAndRevokeV2InstructionDataEncoder(): Encoder<ThawAndRevokeV2InstructionDataArgs> {\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 \"collectionHash\",\n getOptionEncoder(getArrayEncoder(getU8Encoder(), { size: 32 })),\n ],\n [\n \"assetDataHash\",\n getOptionEncoder(getArrayEncoder(getU8Encoder(), { size: 32 })),\n ],\n [\"flags\", getOptionEncoder(getU8Encoder())],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n ]),\n (value) => ({ ...value, discriminator: THAW_AND_REVOKE_V2_DISCRIMINATOR }),\n );\n}\n\nexport function getThawAndRevokeV2InstructionDataDecoder(): Decoder<ThawAndRevokeV2InstructionData> {\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 \"collectionHash\",\n getOptionDecoder(getArrayDecoder(getU8Decoder(), { size: 32 })),\n ],\n [\n \"assetDataHash\",\n getOptionDecoder(getArrayDecoder(getU8Decoder(), { size: 32 })),\n ],\n [\"flags\", getOptionDecoder(getU8Decoder())],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n ]);\n}\n\nexport function getThawAndRevokeV2InstructionDataCodec(): Codec<\n ThawAndRevokeV2InstructionDataArgs,\n ThawAndRevokeV2InstructionData\n> {\n return combineCodec(\n getThawAndRevokeV2InstructionDataEncoder(),\n getThawAndRevokeV2InstructionDataDecoder(),\n );\n}\n\nexport interface ThawAndRevokeV2AsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountMerkleTree 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 /** Optional leaf delegate, defaults to `payer` */\n leafDelegate?: TransactionSigner<TAccountLeafDelegate>;\n leafOwner: Address<TAccountLeafOwner>;\n merkleTree: Address<TAccountMerkleTree>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: ThawAndRevokeV2InstructionDataArgs[\"root\"];\n dataHash: ThawAndRevokeV2InstructionDataArgs[\"dataHash\"];\n creatorHash: ThawAndRevokeV2InstructionDataArgs[\"creatorHash\"];\n collectionHash: ThawAndRevokeV2InstructionDataArgs[\"collectionHash\"];\n assetDataHash: ThawAndRevokeV2InstructionDataArgs[\"assetDataHash\"];\n flags: ThawAndRevokeV2InstructionDataArgs[\"flags\"];\n nonce: ThawAndRevokeV2InstructionDataArgs[\"nonce\"];\n index: ThawAndRevokeV2InstructionDataArgs[\"index\"];\n}\n\nexport async function getThawAndRevokeV2InstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountLeafDelegate extends string,\n TAccountLeafOwner extends string,\n TAccountMerkleTree 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: ThawAndRevokeV2AsyncInput<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\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 leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n 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(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getThawAndRevokeV2InstructionDataEncoder().encode(\n args as ThawAndRevokeV2InstructionDataArgs,\n ),\n programAddress,\n } as ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface ThawAndRevokeV2Input<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountMerkleTree 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 /** Optional leaf delegate, defaults to `payer` */\n leafDelegate?: TransactionSigner<TAccountLeafDelegate>;\n leafOwner: Address<TAccountLeafOwner>;\n merkleTree: Address<TAccountMerkleTree>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: ThawAndRevokeV2InstructionDataArgs[\"root\"];\n dataHash: ThawAndRevokeV2InstructionDataArgs[\"dataHash\"];\n creatorHash: ThawAndRevokeV2InstructionDataArgs[\"creatorHash\"];\n collectionHash: ThawAndRevokeV2InstructionDataArgs[\"collectionHash\"];\n assetDataHash: ThawAndRevokeV2InstructionDataArgs[\"assetDataHash\"];\n flags: ThawAndRevokeV2InstructionDataArgs[\"flags\"];\n nonce: ThawAndRevokeV2InstructionDataArgs[\"nonce\"];\n index: ThawAndRevokeV2InstructionDataArgs[\"index\"];\n}\n\nexport function getThawAndRevokeV2Instruction<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountLeafDelegate extends string,\n TAccountLeafOwner extends string,\n TAccountMerkleTree 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: ThawAndRevokeV2Input<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\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 leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n 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(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getThawAndRevokeV2InstructionDataEncoder().encode(\n args as ThawAndRevokeV2InstructionDataArgs,\n ),\n programAddress,\n } as ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface ParsedThawAndRevokeV2Instruction<\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 /** Optional leaf delegate, defaults to `payer` */\n leafDelegate?: TAccountMetas[2] | undefined;\n leafOwner: TAccountMetas[3];\n merkleTree: TAccountMetas[4];\n logWrapper: TAccountMetas[5];\n compressionProgram: TAccountMetas[6];\n systemProgram: TAccountMetas[7];\n };\n data: ThawAndRevokeV2InstructionData;\n}\n\nexport function parseThawAndRevokeV2Instruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedThawAndRevokeV2Instruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 8) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 8,\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 leafDelegate: getNextOptionalAccount(),\n leafOwner: getNextAccount(),\n merkleTree: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getThawAndRevokeV2InstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"thawAndRevokeV2.js","names":[],"sources":["../../../src/generated/instructions/thawAndRevokeV2.ts"],"sourcesContent":["/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n 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\";\n\nexport const THAW_AND_REVOKE_V2_DISCRIMINATOR: ReadonlyUint8Array =\n new Uint8Array([86, 214, 190, 37, 167, 4, 28, 116]);\n\nexport function getThawAndRevokeV2DiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n THAW_AND_REVOKE_V2_DISCRIMINATOR,\n );\n}\n\nexport type ThawAndRevokeV2Instruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountLeafDelegate extends string | AccountMeta<string> = string,\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountMerkleTree 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 TAccountLeafDelegate extends string\n ? ReadonlySignerAccount<TAccountLeafDelegate> &\n AccountSignerMeta<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountLeafOwner extends string\n ? ReadonlyAccount<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountLogWrapper extends string\n ? ReadonlyAccount<TAccountLogWrapper>\n : TAccountLogWrapper,\n TAccountCompressionProgram extends string\n ? ReadonlyAccount<TAccountCompressionProgram>\n : TAccountCompressionProgram,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport type ThawAndRevokeV2InstructionData = {\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 `collectionHash` of the `LeafSchema` V2 leaf, if\n * any, verified before this instruction updates the leaf.\n */\n collectionHash: Option<Array<number>>;\n /**\n * Expected current `assetDataHash` of the `LeafSchema` V2 leaf, if any,\n * carried through unchanged by this instruction.\n */\n assetDataHash: 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};\n\nexport type ThawAndRevokeV2InstructionDataArgs = {\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 `collectionHash` of the `LeafSchema` V2 leaf, if\n * any, verified before this instruction updates the leaf.\n */\n collectionHash: OptionOrNullable<Array<number>>;\n /**\n * Expected current `assetDataHash` of the `LeafSchema` V2 leaf, if any,\n * carried through unchanged by this instruction.\n */\n assetDataHash: 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};\n\nexport function getThawAndRevokeV2InstructionDataEncoder(): Encoder<ThawAndRevokeV2InstructionDataArgs> {\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 \"collectionHash\",\n getOptionEncoder(getArrayEncoder(getU8Encoder(), { size: 32 })),\n ],\n [\n \"assetDataHash\",\n getOptionEncoder(getArrayEncoder(getU8Encoder(), { size: 32 })),\n ],\n [\"flags\", getOptionEncoder(getU8Encoder())],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n ]),\n (value) => ({ ...value, discriminator: THAW_AND_REVOKE_V2_DISCRIMINATOR }),\n );\n}\n\nexport function getThawAndRevokeV2InstructionDataDecoder(): Decoder<ThawAndRevokeV2InstructionData> {\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 \"collectionHash\",\n getOptionDecoder(getArrayDecoder(getU8Decoder(), { size: 32 })),\n ],\n [\n \"assetDataHash\",\n getOptionDecoder(getArrayDecoder(getU8Decoder(), { size: 32 })),\n ],\n [\"flags\", getOptionDecoder(getU8Decoder())],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n ]);\n}\n\nexport function getThawAndRevokeV2InstructionDataCodec(): Codec<\n ThawAndRevokeV2InstructionDataArgs,\n ThawAndRevokeV2InstructionData\n> {\n return combineCodec(\n getThawAndRevokeV2InstructionDataEncoder(),\n getThawAndRevokeV2InstructionDataDecoder(),\n );\n}\n\nexport type ThawAndRevokeV2AsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountMerkleTree 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 /** Optional leaf delegate, defaults to `payer`. */\n leafDelegate?: TransactionSigner<TAccountLeafDelegate>;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: Address<TAccountLeafOwner>;\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /**\n * The SPL/MPL Noop program, used to log leaf data so off-chain indexers\n * can reconstruct the tree.\n */\n logWrapper?: Address<TAccountLogWrapper>;\n /**\n * The SPL/MPL Account Compression program that owns and manages the\n * Merkle tree.\n */\n compressionProgram?: Address<TAccountCompressionProgram>;\n /** The Solana System program. */\n systemProgram?: Address<TAccountSystemProgram>;\n root: ThawAndRevokeV2InstructionDataArgs[\"root\"];\n dataHash: ThawAndRevokeV2InstructionDataArgs[\"dataHash\"];\n creatorHash: ThawAndRevokeV2InstructionDataArgs[\"creatorHash\"];\n collectionHash: ThawAndRevokeV2InstructionDataArgs[\"collectionHash\"];\n assetDataHash: ThawAndRevokeV2InstructionDataArgs[\"assetDataHash\"];\n flags: ThawAndRevokeV2InstructionDataArgs[\"flags\"];\n nonce: ThawAndRevokeV2InstructionDataArgs[\"nonce\"];\n index: ThawAndRevokeV2InstructionDataArgs[\"index\"];\n};\n\n/**\n * Thaws a previously frozen `LeafSchema` V2 leaf node and revokes its\n * delegate (resetting the delegate back to the leaf owner) in a single\n * instruction.\n */\nexport async function getThawAndRevokeV2InstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountLeafDelegate extends string,\n TAccountLeafOwner extends string,\n TAccountMerkleTree 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: ThawAndRevokeV2AsyncInput<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\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 leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n 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(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getThawAndRevokeV2InstructionDataEncoder().encode(\n args as ThawAndRevokeV2InstructionDataArgs,\n ),\n programAddress,\n } as ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport type ThawAndRevokeV2Input<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountMerkleTree 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 /** Optional leaf delegate, defaults to `payer`. */\n leafDelegate?: TransactionSigner<TAccountLeafDelegate>;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: Address<TAccountLeafOwner>;\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /**\n * The SPL/MPL Noop program, used to log leaf data so off-chain indexers\n * can reconstruct the tree.\n */\n logWrapper?: Address<TAccountLogWrapper>;\n /**\n * The SPL/MPL Account Compression program that owns and manages the\n * Merkle tree.\n */\n compressionProgram?: Address<TAccountCompressionProgram>;\n /** The Solana System program. */\n systemProgram?: Address<TAccountSystemProgram>;\n root: ThawAndRevokeV2InstructionDataArgs[\"root\"];\n dataHash: ThawAndRevokeV2InstructionDataArgs[\"dataHash\"];\n creatorHash: ThawAndRevokeV2InstructionDataArgs[\"creatorHash\"];\n collectionHash: ThawAndRevokeV2InstructionDataArgs[\"collectionHash\"];\n assetDataHash: ThawAndRevokeV2InstructionDataArgs[\"assetDataHash\"];\n flags: ThawAndRevokeV2InstructionDataArgs[\"flags\"];\n nonce: ThawAndRevokeV2InstructionDataArgs[\"nonce\"];\n index: ThawAndRevokeV2InstructionDataArgs[\"index\"];\n};\n\n/**\n * Thaws a previously frozen `LeafSchema` V2 leaf node and revokes its\n * delegate (resetting the delegate back to the leaf owner) in a single\n * instruction.\n */\nexport function getThawAndRevokeV2Instruction<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountLeafDelegate extends string,\n TAccountLeafOwner extends string,\n TAccountMerkleTree 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: ThawAndRevokeV2Input<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\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 leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n 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(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getThawAndRevokeV2InstructionDataEncoder().encode(\n args as ThawAndRevokeV2InstructionDataArgs,\n ),\n programAddress,\n } as ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport type ParsedThawAndRevokeV2Instruction<\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 /** Optional leaf delegate, defaults to `payer`. */\n leafDelegate?: TAccountMetas[2] | undefined;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: TAccountMetas[3];\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: TAccountMetas[4];\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[5];\n /**\n * The SPL/MPL Account Compression program that owns and manages the\n * Merkle tree.\n */\n compressionProgram: TAccountMetas[6];\n /** The Solana System program. */\n systemProgram: TAccountMetas[7];\n };\n data: ThawAndRevokeV2InstructionData;\n};\n\nexport function parseThawAndRevokeV2Instruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedThawAndRevokeV2Instruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 8) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 8,\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 leafDelegate: getNextOptionalAccount(),\n leafOwner: getNextAccount(),\n merkleTree: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getThawAndRevokeV2InstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}