@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
@@ -1 +1 @@
1
- {"version":3,"file":"compress.js","names":[],"sources":["../../../src/generated/instructions/compress.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 WritableSignerAccount,\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 COMPRESS_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([\n 82, 193, 176, 117, 176, 21, 115, 253,\n]);\n\nexport function getCompressDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(COMPRESS_DISCRIMINATOR);\n}\n\nexport type CompressInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountLeafDelegate extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountTokenAccount extends string | AccountMeta<string> = string,\n TAccountMint extends string | AccountMeta<string> = string,\n TAccountMetadata extends string | AccountMeta<string> = string,\n TAccountMasterEdition extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountLogWrapper extends\n | string\n | AccountMeta<string> = \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\",\n TAccountCompressionProgram extends\n | string\n | AccountMeta<string> = \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\",\n TAccountTokenProgram extends\n | string\n | AccountMeta<string> = \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\",\n TAccountTokenMetadataProgram extends\n | string\n | AccountMeta<string> = \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\",\n TAccountSystemProgram extends\n | string\n | AccountMeta<string> = \"11111111111111111111111111111111\",\n TRemainingAccounts extends readonly AccountMeta<string>[] = [],\n> = Instruction<TProgram> &\n InstructionWithData<ReadonlyUint8Array> &\n InstructionWithAccounts<\n [\n TAccountTreeAuthority extends string\n ? ReadonlyAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountLeafOwner extends string\n ? ReadonlySignerAccount<TAccountLeafOwner> &\n AccountSignerMeta<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountLeafDelegate extends string\n ? ReadonlyAccount<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountMerkleTree extends string\n ? ReadonlyAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountTokenAccount extends string\n ? WritableAccount<TAccountTokenAccount>\n : TAccountTokenAccount,\n TAccountMint extends string\n ? WritableAccount<TAccountMint>\n : TAccountMint,\n TAccountMetadata extends string\n ? WritableAccount<TAccountMetadata>\n : TAccountMetadata,\n TAccountMasterEdition extends string\n ? WritableAccount<TAccountMasterEdition>\n : TAccountMasterEdition,\n TAccountPayer extends string\n ? WritableSignerAccount<TAccountPayer> &\n AccountSignerMeta<TAccountPayer>\n : TAccountPayer,\n TAccountLogWrapper extends string\n ? ReadonlyAccount<TAccountLogWrapper>\n : TAccountLogWrapper,\n TAccountCompressionProgram extends string\n ? ReadonlyAccount<TAccountCompressionProgram>\n : TAccountCompressionProgram,\n TAccountTokenProgram extends string\n ? ReadonlyAccount<TAccountTokenProgram>\n : TAccountTokenProgram,\n TAccountTokenMetadataProgram extends string\n ? ReadonlyAccount<TAccountTokenMetadataProgram>\n : TAccountTokenMetadataProgram,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport interface CompressInstructionData {\n discriminator: ReadonlyUint8Array;\n}\n\nexport type CompressInstructionDataArgs = {};\n\nexport function getCompressInstructionDataEncoder(): FixedSizeEncoder<CompressInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([[\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)]]),\n (value) => ({ ...value, discriminator: COMPRESS_DISCRIMINATOR }),\n );\n}\n\nexport function getCompressInstructionDataDecoder(): FixedSizeDecoder<CompressInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n ]);\n}\n\nexport function getCompressInstructionDataCodec(): FixedSizeCodec<\n CompressInstructionDataArgs,\n CompressInstructionData\n> {\n return combineCodec(\n getCompressInstructionDataEncoder(),\n getCompressInstructionDataDecoder(),\n );\n}\n\nexport interface CompressAsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountTokenAccount extends string = string,\n TAccountMint extends string = string,\n TAccountMetadata extends string = string,\n TAccountMasterEdition extends string = string,\n TAccountPayer extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountTokenProgram extends string = string,\n TAccountTokenMetadataProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority?: Address<TAccountTreeAuthority>;\n leafOwner: TransactionSigner<TAccountLeafOwner>;\n leafDelegate: Address<TAccountLeafDelegate>;\n merkleTree: Address<TAccountMerkleTree>;\n tokenAccount: Address<TAccountTokenAccount>;\n mint: Address<TAccountMint>;\n metadata: Address<TAccountMetadata>;\n masterEdition: Address<TAccountMasterEdition>;\n payer: TransactionSigner<TAccountPayer>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n tokenProgram?: Address<TAccountTokenProgram>;\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n}\n\nexport async function getCompressInstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountTokenAccount extends string,\n TAccountMint extends string,\n TAccountMetadata extends string,\n TAccountMasterEdition extends string,\n TAccountPayer extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountTokenProgram extends string,\n TAccountTokenMetadataProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: CompressAsyncInput<\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountPayer,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n CompressInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountPayer,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: false },\n tokenAccount: { value: input.tokenAccount ?? null, isWritable: true },\n mint: { value: input.mint ?? null, isWritable: true },\n metadata: { value: input.metadata ?? null, isWritable: true },\n masterEdition: { value: input.masterEdition ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: true },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },\n tokenMetadataProgram: {\n value: input.tokenMetadataProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Resolve default values.\n if (!accounts.treeAuthority.value) {\n accounts.treeAuthority.value = await findTreeConfigPda({\n merkleTree: getAddressFromResolvedInstructionAccount(\n \"merkleTree\",\n accounts.merkleTree.value,\n ),\n });\n }\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\n }\n if (!accounts.tokenProgram.value) {\n accounts.tokenProgram.value =\n \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\" as Address<\"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\">;\n }\n if (!accounts.tokenMetadataProgram.value) {\n accounts.tokenMetadataProgram.value =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\" as Address<\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\">;\n }\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"tokenAccount\", accounts.tokenAccount),\n getAccountMeta(\"mint\", accounts.mint),\n getAccountMeta(\"metadata\", accounts.metadata),\n getAccountMeta(\"masterEdition\", accounts.masterEdition),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"tokenProgram\", accounts.tokenProgram),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getCompressInstructionDataEncoder().encode({}),\n programAddress,\n } as CompressInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountPayer,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface CompressInput<\n TAccountTreeAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountTokenAccount extends string = string,\n TAccountMint extends string = string,\n TAccountMetadata extends string = string,\n TAccountMasterEdition extends string = string,\n TAccountPayer extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountTokenProgram extends string = string,\n TAccountTokenMetadataProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority: Address<TAccountTreeAuthority>;\n leafOwner: TransactionSigner<TAccountLeafOwner>;\n leafDelegate: Address<TAccountLeafDelegate>;\n merkleTree: Address<TAccountMerkleTree>;\n tokenAccount: Address<TAccountTokenAccount>;\n mint: Address<TAccountMint>;\n metadata: Address<TAccountMetadata>;\n masterEdition: Address<TAccountMasterEdition>;\n payer: TransactionSigner<TAccountPayer>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n tokenProgram?: Address<TAccountTokenProgram>;\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n}\n\nexport function getCompressInstruction<\n TAccountTreeAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountTokenAccount extends string,\n TAccountMint extends string,\n TAccountMetadata extends string,\n TAccountMasterEdition extends string,\n TAccountPayer extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountTokenProgram extends string,\n TAccountTokenMetadataProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: CompressInput<\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountPayer,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): CompressInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountPayer,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: false },\n tokenAccount: { value: input.tokenAccount ?? null, isWritable: true },\n mint: { value: input.mint ?? null, isWritable: true },\n metadata: { value: input.metadata ?? null, isWritable: true },\n masterEdition: { value: input.masterEdition ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: true },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },\n tokenMetadataProgram: {\n value: input.tokenMetadataProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Resolve default values.\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\n }\n if (!accounts.tokenProgram.value) {\n accounts.tokenProgram.value =\n \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\" as Address<\"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\">;\n }\n if (!accounts.tokenMetadataProgram.value) {\n accounts.tokenMetadataProgram.value =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\" as Address<\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\">;\n }\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"tokenAccount\", accounts.tokenAccount),\n getAccountMeta(\"mint\", accounts.mint),\n getAccountMeta(\"metadata\", accounts.metadata),\n getAccountMeta(\"masterEdition\", accounts.masterEdition),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"tokenProgram\", accounts.tokenProgram),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getCompressInstructionDataEncoder().encode({}),\n programAddress,\n } as CompressInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountPayer,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface ParsedCompressInstruction<\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 leafOwner: TAccountMetas[1];\n leafDelegate: TAccountMetas[2];\n merkleTree: TAccountMetas[3];\n tokenAccount: TAccountMetas[4];\n mint: TAccountMetas[5];\n metadata: TAccountMetas[6];\n masterEdition: TAccountMetas[7];\n payer: TAccountMetas[8];\n logWrapper: TAccountMetas[9];\n compressionProgram: TAccountMetas[10];\n tokenProgram: TAccountMetas[11];\n tokenMetadataProgram: TAccountMetas[12];\n systemProgram: TAccountMetas[13];\n };\n data: CompressInstructionData;\n}\n\nexport function parseCompressInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedCompressInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 14) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 14,\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 leafOwner: getNextAccount(),\n leafDelegate: getNextAccount(),\n merkleTree: getNextAccount(),\n tokenAccount: getNextAccount(),\n mint: getNextAccount(),\n metadata: getNextAccount(),\n masterEdition: getNextAccount(),\n payer: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n tokenProgram: getNextAccount(),\n tokenMetadataProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getCompressInstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"compress.js","names":[],"sources":["../../../src/generated/instructions/compress.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 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 COMPRESS_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([\n 82, 193, 176, 117, 176, 21, 115, 253,\n]);\n\nexport function getCompressDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(COMPRESS_DISCRIMINATOR);\n}\n\nexport type CompressInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountLeafDelegate extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountTokenAccount extends string | AccountMeta<string> = string,\n TAccountMint extends string | AccountMeta<string> = string,\n TAccountMetadata extends string | AccountMeta<string> = string,\n TAccountMasterEdition extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountLogWrapper extends string | AccountMeta<string> =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\",\n TAccountCompressionProgram extends string | AccountMeta<string> =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\",\n TAccountTokenProgram extends string | AccountMeta<string> =\n \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\",\n TAccountTokenMetadataProgram extends string | AccountMeta<string> =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\",\n TAccountSystemProgram extends string | AccountMeta<string> =\n \"11111111111111111111111111111111\",\n TRemainingAccounts extends readonly AccountMeta<string>[] = [],\n> = Instruction<TProgram> &\n InstructionWithData<ReadonlyUint8Array> &\n InstructionWithAccounts<\n [\n TAccountTreeAuthority extends string\n ? ReadonlyAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountLeafOwner extends string\n ? ReadonlySignerAccount<TAccountLeafOwner> &\n AccountSignerMeta<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountLeafDelegate extends string\n ? ReadonlyAccount<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountMerkleTree extends string\n ? ReadonlyAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountTokenAccount extends string\n ? WritableAccount<TAccountTokenAccount>\n : TAccountTokenAccount,\n TAccountMint extends string\n ? WritableAccount<TAccountMint>\n : TAccountMint,\n TAccountMetadata extends string\n ? WritableAccount<TAccountMetadata>\n : TAccountMetadata,\n TAccountMasterEdition extends string\n ? WritableAccount<TAccountMasterEdition>\n : TAccountMasterEdition,\n TAccountPayer extends string\n ? WritableSignerAccount<TAccountPayer> &\n AccountSignerMeta<TAccountPayer>\n : TAccountPayer,\n TAccountLogWrapper extends string\n ? ReadonlyAccount<TAccountLogWrapper>\n : TAccountLogWrapper,\n TAccountCompressionProgram extends string\n ? ReadonlyAccount<TAccountCompressionProgram>\n : TAccountCompressionProgram,\n TAccountTokenProgram extends string\n ? ReadonlyAccount<TAccountTokenProgram>\n : TAccountTokenProgram,\n TAccountTokenMetadataProgram extends string\n ? ReadonlyAccount<TAccountTokenMetadataProgram>\n : TAccountTokenMetadataProgram,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport type CompressInstructionData = { discriminator: ReadonlyUint8Array };\n\nexport type CompressInstructionDataArgs = {};\n\nexport function getCompressInstructionDataEncoder(): FixedSizeEncoder<CompressInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([[\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)]]),\n (value) => ({ ...value, discriminator: COMPRESS_DISCRIMINATOR }),\n );\n}\n\nexport function getCompressInstructionDataDecoder(): FixedSizeDecoder<CompressInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n ]);\n}\n\nexport function getCompressInstructionDataCodec(): FixedSizeCodec<\n CompressInstructionDataArgs,\n CompressInstructionData\n> {\n return combineCodec(\n getCompressInstructionDataEncoder(),\n getCompressInstructionDataDecoder(),\n );\n}\n\nexport type CompressAsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountTokenAccount extends string = string,\n TAccountMint extends string = string,\n TAccountMetadata extends string = string,\n TAccountMasterEdition extends string = string,\n TAccountPayer extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountTokenProgram extends string = string,\n TAccountTokenMetadataProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> = {\n /**\n * The tree's `TreeConfig` PDA, which stores its configuration and acts\n * as the tree's authority for CPIs into the compression program.\n */\n treeAuthority?: Address<TAccountTreeAuthority>;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: TransactionSigner<TAccountLeafOwner>;\n /**\n * Delegate authority for the leaf; defaults to the leaf owner when no\n * delegate is set.\n */\n leafDelegate: Address<TAccountLeafDelegate>;\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /** Token account that will hold the decompressed NFT for `leafOwner`. */\n tokenAccount: Address<TAccountTokenAccount>;\n /** Mint account of the decompressed NFT, created fresh during decompression. */\n mint: Address<TAccountMint>;\n /** Metadata account created for the decompressed NFT. */\n metadata: Address<TAccountMetadata>;\n /** Master edition account created for the decompressed NFT. */\n masterEdition: Address<TAccountMasterEdition>;\n /** Account that pays for the transaction and any account rent. */\n payer: TransactionSigner<TAccountPayer>;\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 SPL Token program. */\n tokenProgram?: Address<TAccountTokenProgram>;\n /**\n * The Token Metadata program, invoked to read or (un)verify the\n * legacy collection accounts.\n */\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n /** The Solana System program. */\n systemProgram?: Address<TAccountSystemProgram>;\n};\n\n/**\n * Compresses an existing decompressed (SPL/Token Metadata) NFT into a\n * new leaf of a compressed Merkle tree.\n *\n * Reads the mint, token account, metadata and master edition of the\n * decompressed NFT to build the leaf, then appends it to the tree.\n */\nexport async function getCompressInstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountTokenAccount extends string,\n TAccountMint extends string,\n TAccountMetadata extends string,\n TAccountMasterEdition extends string,\n TAccountPayer extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountTokenProgram extends string,\n TAccountTokenMetadataProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: CompressAsyncInput<\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountPayer,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n CompressInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountPayer,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: false },\n tokenAccount: { value: input.tokenAccount ?? null, isWritable: true },\n mint: { value: input.mint ?? null, isWritable: true },\n metadata: { value: input.metadata ?? null, isWritable: true },\n masterEdition: { value: input.masterEdition ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: true },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },\n tokenMetadataProgram: {\n value: input.tokenMetadataProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Resolve default values.\n if (!accounts.treeAuthority.value) {\n accounts.treeAuthority.value = await findTreeConfigPda({\n merkleTree: getAddressFromResolvedInstructionAccount(\n \"merkleTree\",\n accounts.merkleTree.value,\n ),\n });\n }\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\n }\n if (!accounts.tokenProgram.value) {\n accounts.tokenProgram.value =\n \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\" as Address<\"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\">;\n }\n if (!accounts.tokenMetadataProgram.value) {\n accounts.tokenMetadataProgram.value =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\" as Address<\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\">;\n }\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"tokenAccount\", accounts.tokenAccount),\n getAccountMeta(\"mint\", accounts.mint),\n getAccountMeta(\"metadata\", accounts.metadata),\n getAccountMeta(\"masterEdition\", accounts.masterEdition),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"tokenProgram\", accounts.tokenProgram),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getCompressInstructionDataEncoder().encode({}),\n programAddress,\n } as CompressInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountPayer,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >);\n}\n\nexport type CompressInput<\n TAccountTreeAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountTokenAccount extends string = string,\n TAccountMint extends string = string,\n TAccountMetadata extends string = string,\n TAccountMasterEdition extends string = string,\n TAccountPayer extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountTokenProgram extends string = string,\n TAccountTokenMetadataProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> = {\n /**\n * The tree's `TreeConfig` PDA, which stores its configuration and acts\n * as the tree's authority for CPIs into the compression program.\n */\n treeAuthority: Address<TAccountTreeAuthority>;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: TransactionSigner<TAccountLeafOwner>;\n /**\n * Delegate authority for the leaf; defaults to the leaf owner when no\n * delegate is set.\n */\n leafDelegate: Address<TAccountLeafDelegate>;\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /** Token account that will hold the decompressed NFT for `leafOwner`. */\n tokenAccount: Address<TAccountTokenAccount>;\n /** Mint account of the decompressed NFT, created fresh during decompression. */\n mint: Address<TAccountMint>;\n /** Metadata account created for the decompressed NFT. */\n metadata: Address<TAccountMetadata>;\n /** Master edition account created for the decompressed NFT. */\n masterEdition: Address<TAccountMasterEdition>;\n /** Account that pays for the transaction and any account rent. */\n payer: TransactionSigner<TAccountPayer>;\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 SPL Token program. */\n tokenProgram?: Address<TAccountTokenProgram>;\n /**\n * The Token Metadata program, invoked to read or (un)verify the\n * legacy collection accounts.\n */\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n /** The Solana System program. */\n systemProgram?: Address<TAccountSystemProgram>;\n};\n\n/**\n * Compresses an existing decompressed (SPL/Token Metadata) NFT into a\n * new leaf of a compressed Merkle tree.\n *\n * Reads the mint, token account, metadata and master edition of the\n * decompressed NFT to build the leaf, then appends it to the tree.\n */\nexport function getCompressInstruction<\n TAccountTreeAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountTokenAccount extends string,\n TAccountMint extends string,\n TAccountMetadata extends string,\n TAccountMasterEdition extends string,\n TAccountPayer extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountTokenProgram extends string,\n TAccountTokenMetadataProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: CompressInput<\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountPayer,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): CompressInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountPayer,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: false },\n tokenAccount: { value: input.tokenAccount ?? null, isWritable: true },\n mint: { value: input.mint ?? null, isWritable: true },\n metadata: { value: input.metadata ?? null, isWritable: true },\n masterEdition: { value: input.masterEdition ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: true },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },\n tokenMetadataProgram: {\n value: input.tokenMetadataProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Resolve default values.\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\n }\n if (!accounts.tokenProgram.value) {\n accounts.tokenProgram.value =\n \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\" as Address<\"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\">;\n }\n if (!accounts.tokenMetadataProgram.value) {\n accounts.tokenMetadataProgram.value =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\" as Address<\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\">;\n }\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"tokenAccount\", accounts.tokenAccount),\n getAccountMeta(\"mint\", accounts.mint),\n getAccountMeta(\"metadata\", accounts.metadata),\n getAccountMeta(\"masterEdition\", accounts.masterEdition),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"tokenProgram\", accounts.tokenProgram),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getCompressInstructionDataEncoder().encode({}),\n programAddress,\n } as CompressInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountPayer,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >);\n}\n\nexport type ParsedCompressInstruction<\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 /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: TAccountMetas[1];\n /**\n * Delegate authority for the leaf; defaults to the leaf owner when no\n * delegate is set.\n */\n leafDelegate: 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 /** Token account that will hold the decompressed NFT for `leafOwner`. */\n tokenAccount: TAccountMetas[4];\n /** Mint account of the decompressed NFT, created fresh during decompression. */\n mint: TAccountMetas[5];\n /** Metadata account created for the decompressed NFT. */\n metadata: TAccountMetas[6];\n /** Master edition account created for the decompressed NFT. */\n masterEdition: TAccountMetas[7];\n /** Account that pays for the transaction and any account rent. */\n payer: TAccountMetas[8];\n /**\n * The SPL/MPL Noop program, used to log leaf data so off-chain indexers\n * can reconstruct the tree.\n */\n logWrapper: TAccountMetas[9];\n /**\n * The SPL/MPL Account Compression program that owns and manages the\n * Merkle tree.\n */\n compressionProgram: TAccountMetas[10];\n /** The SPL Token program. */\n tokenProgram: TAccountMetas[11];\n /**\n * The Token Metadata program, invoked to read or (un)verify the\n * legacy collection accounts.\n */\n tokenMetadataProgram: TAccountMetas[12];\n /** The Solana System program. */\n systemProgram: TAccountMetas[13];\n };\n data: CompressInstructionData;\n};\n\nexport function parseCompressInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedCompressInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 14) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 14,\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 leafOwner: getNextAccount(),\n leafDelegate: getNextAccount(),\n merkleTree: getNextAccount(),\n tokenAccount: getNextAccount(),\n mint: getNextAccount(),\n metadata: getNextAccount(),\n masterEdition: getNextAccount(),\n payer: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n tokenProgram: getNextAccount(),\n tokenMetadataProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getCompressInstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}
@@ -1,67 +1,173 @@
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/createTree.d.ts
5
5
  declare const CREATE_TREE_DISCRIMINATOR: ReadonlyUint8Array;
6
6
  declare function getCreateTreeDiscriminatorBytes(): ReadonlyUint8Array;
7
7
  type CreateTreeInstruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountTreeAuthority extends string | AccountMeta<string> = string, TAccountMerkleTree extends string | AccountMeta<string> = string, TAccountPayer extends string | AccountMeta<string> = string, TAccountTreeCreator extends string | AccountMeta<string> = string, TAccountLogWrapper extends string | AccountMeta<string> = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV", TAccountCompressionProgram extends string | AccountMeta<string> = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK", TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountTreeAuthority extends string ? WritableAccount<TAccountTreeAuthority> : TAccountTreeAuthority, TAccountMerkleTree extends string ? WritableAccount<TAccountMerkleTree> : TAccountMerkleTree, TAccountPayer extends string ? WritableSignerAccount<TAccountPayer> & AccountSignerMeta<TAccountPayer> : TAccountPayer, TAccountTreeCreator extends string ? ReadonlySignerAccount<TAccountTreeCreator> & AccountSignerMeta<TAccountTreeCreator> : TAccountTreeCreator, TAccountLogWrapper extends string ? ReadonlyAccount<TAccountLogWrapper> : TAccountLogWrapper, TAccountCompressionProgram extends string ? ReadonlyAccount<TAccountCompressionProgram> : TAccountCompressionProgram, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, ...TRemainingAccounts]>;
8
- interface CreateTreeInstructionData {
8
+ type CreateTreeInstructionData = {
9
9
  discriminator: ReadonlyUint8Array;
10
+ /**
11
+ * Maximum depth of the Merkle tree, i.e. log2 of the maximum number of
12
+ * leaves it can hold. Fixed for the lifetime of the tree.
13
+ */
10
14
  maxDepth: number;
15
+ /**
16
+ * Maximum number of concurrent, unconflicting modifications the tree's
17
+ * changelog buffer can track. Fixed for the lifetime of the tree.
18
+ */
11
19
  maxBufferSize: number;
20
+ /**
21
+ * Optional flag; when `true`, any signer may mint into the tree, not
22
+ * just the tree delegate. Defaults to `false`.
23
+ */
12
24
  public: Option<boolean>;
13
- }
14
- interface CreateTreeInstructionDataArgs {
25
+ };
26
+ type CreateTreeInstructionDataArgs = {
27
+ /**
28
+ * Maximum depth of the Merkle tree, i.e. log2 of the maximum number of
29
+ * leaves it can hold. Fixed for the lifetime of the tree.
30
+ */
15
31
  maxDepth: number;
32
+ /**
33
+ * Maximum number of concurrent, unconflicting modifications the tree's
34
+ * changelog buffer can track. Fixed for the lifetime of the tree.
35
+ */
16
36
  maxBufferSize: number;
37
+ /**
38
+ * Optional flag; when `true`, any signer may mint into the tree, not
39
+ * just the tree delegate. Defaults to `false`.
40
+ */
17
41
  public: OptionOrNullable<boolean>;
18
- }
42
+ };
19
43
  declare function getCreateTreeInstructionDataEncoder(): Encoder<CreateTreeInstructionDataArgs>;
20
44
  declare function getCreateTreeInstructionDataDecoder(): Decoder<CreateTreeInstructionData>;
21
45
  declare function getCreateTreeInstructionDataCodec(): Codec<CreateTreeInstructionDataArgs, CreateTreeInstructionData>;
22
- interface CreateTreeAsyncInput<TAccountTreeAuthority extends string = string, TAccountMerkleTree extends string = string, TAccountPayer extends string = string, TAccountTreeCreator extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> {
46
+ type CreateTreeAsyncInput<TAccountTreeAuthority extends string = string, TAccountMerkleTree extends string = string, TAccountPayer extends string = string, TAccountTreeCreator extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> = {
47
+ /**
48
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
49
+ * as the tree's authority for CPIs into the compression program.
50
+ */
23
51
  treeAuthority?: Address<TAccountTreeAuthority>;
52
+ /**
53
+ * The concurrent Merkle tree account storing the compressed leaves,
54
+ * owned by the account compression program.
55
+ */
24
56
  merkleTree: Address<TAccountMerkleTree>;
57
+ /** Account that pays for the transaction and any account rent. */
25
58
  payer: TransactionSigner<TAccountPayer>;
59
+ /**
60
+ * Creator of the tree, recorded in `TreeConfig` when the tree was
61
+ * created.
62
+ */
26
63
  treeCreator: TransactionSigner<TAccountTreeCreator>;
64
+ /**
65
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
66
+ * can reconstruct the tree.
67
+ */
27
68
  logWrapper?: Address<TAccountLogWrapper>;
69
+ /**
70
+ * The SPL/MPL Account Compression program that owns and manages the
71
+ * Merkle tree.
72
+ */
28
73
  compressionProgram?: Address<TAccountCompressionProgram>;
74
+ /** The Solana System program. */
29
75
  systemProgram?: Address<TAccountSystemProgram>;
30
76
  maxDepth: CreateTreeInstructionDataArgs["maxDepth"];
31
77
  maxBufferSize: CreateTreeInstructionDataArgs["maxBufferSize"];
32
78
  public: CreateTreeInstructionDataArgs["public"];
33
- }
79
+ };
80
+ /**
81
+ * Creates a new empty Merkle tree for storing compressed (V1) NFTs.
82
+ *
83
+ * Initializes both the underlying concurrent Merkle tree account and its
84
+ * `TreeConfig` PDA. `maxDepth` and `maxBufferSize` are fixed for the life
85
+ * of the tree and bound its maximum leaf capacity and the number of
86
+ * concurrent modifications it can support.
87
+ */
34
88
  declare function getCreateTreeInstructionAsync<TAccountTreeAuthority extends string, TAccountMerkleTree extends string, TAccountPayer extends string, TAccountTreeCreator extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: CreateTreeAsyncInput<TAccountTreeAuthority, TAccountMerkleTree, TAccountPayer, TAccountTreeCreator, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>, config?: {
35
89
  programAddress?: TProgramAddress;
36
90
  }): Promise<CreateTreeInstruction<TProgramAddress, TAccountTreeAuthority, TAccountMerkleTree, TAccountPayer, TAccountTreeCreator, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>>;
37
- interface CreateTreeInput<TAccountTreeAuthority extends string = string, TAccountMerkleTree extends string = string, TAccountPayer extends string = string, TAccountTreeCreator extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> {
91
+ type CreateTreeInput<TAccountTreeAuthority extends string = string, TAccountMerkleTree extends string = string, TAccountPayer extends string = string, TAccountTreeCreator extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> = {
92
+ /**
93
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
94
+ * as the tree's authority for CPIs into the compression program.
95
+ */
38
96
  treeAuthority: Address<TAccountTreeAuthority>;
97
+ /**
98
+ * The concurrent Merkle tree account storing the compressed leaves,
99
+ * owned by the account compression program.
100
+ */
39
101
  merkleTree: Address<TAccountMerkleTree>;
102
+ /** Account that pays for the transaction and any account rent. */
40
103
  payer: TransactionSigner<TAccountPayer>;
104
+ /**
105
+ * Creator of the tree, recorded in `TreeConfig` when the tree was
106
+ * created.
107
+ */
41
108
  treeCreator: TransactionSigner<TAccountTreeCreator>;
109
+ /**
110
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
111
+ * can reconstruct the tree.
112
+ */
42
113
  logWrapper?: Address<TAccountLogWrapper>;
114
+ /**
115
+ * The SPL/MPL Account Compression program that owns and manages the
116
+ * Merkle tree.
117
+ */
43
118
  compressionProgram?: Address<TAccountCompressionProgram>;
119
+ /** The Solana System program. */
44
120
  systemProgram?: Address<TAccountSystemProgram>;
45
121
  maxDepth: CreateTreeInstructionDataArgs["maxDepth"];
46
122
  maxBufferSize: CreateTreeInstructionDataArgs["maxBufferSize"];
47
123
  public: CreateTreeInstructionDataArgs["public"];
48
- }
124
+ };
125
+ /**
126
+ * Creates a new empty Merkle tree for storing compressed (V1) NFTs.
127
+ *
128
+ * Initializes both the underlying concurrent Merkle tree account and its
129
+ * `TreeConfig` PDA. `maxDepth` and `maxBufferSize` are fixed for the life
130
+ * of the tree and bound its maximum leaf capacity and the number of
131
+ * concurrent modifications it can support.
132
+ */
49
133
  declare function getCreateTreeInstruction<TAccountTreeAuthority extends string, TAccountMerkleTree extends string, TAccountPayer extends string, TAccountTreeCreator extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: CreateTreeInput<TAccountTreeAuthority, TAccountMerkleTree, TAccountPayer, TAccountTreeCreator, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>, config?: {
50
134
  programAddress?: TProgramAddress;
51
135
  }): CreateTreeInstruction<TProgramAddress, TAccountTreeAuthority, TAccountMerkleTree, TAccountPayer, TAccountTreeCreator, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>;
52
- interface ParsedCreateTreeInstruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> {
136
+ type ParsedCreateTreeInstruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
53
137
  programAddress: Address<TProgram>;
54
138
  accounts: {
139
+ /**
140
+ * The tree's `TreeConfig` PDA, which stores its configuration and acts
141
+ * as the tree's authority for CPIs into the compression program.
142
+ */
55
143
  treeAuthority: TAccountMetas[0];
144
+ /**
145
+ * The concurrent Merkle tree account storing the compressed leaves,
146
+ * owned by the account compression program.
147
+ */
56
148
  merkleTree: TAccountMetas[1];
149
+ /** Account that pays for the transaction and any account rent. */
57
150
  payer: TAccountMetas[2];
151
+ /**
152
+ * Creator of the tree, recorded in `TreeConfig` when the tree was
153
+ * created.
154
+ */
58
155
  treeCreator: TAccountMetas[3];
156
+ /**
157
+ * The SPL/MPL Noop program, used to log leaf data so off-chain indexers
158
+ * can reconstruct the tree.
159
+ */
59
160
  logWrapper: TAccountMetas[4];
161
+ /**
162
+ * The SPL/MPL Account Compression program that owns and manages the
163
+ * Merkle tree.
164
+ */
60
165
  compressionProgram: TAccountMetas[5];
166
+ /** The Solana System program. */
61
167
  systemProgram: TAccountMetas[6];
62
168
  };
63
169
  data: CreateTreeInstructionData;
64
- }
170
+ };
65
171
  declare function parseCreateTreeInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedCreateTreeInstruction<TProgram, TAccountMetas>;
66
172
  //#endregion
67
173
  export { CREATE_TREE_DISCRIMINATOR, CreateTreeAsyncInput, CreateTreeInput, CreateTreeInstruction, CreateTreeInstructionData, CreateTreeInstructionDataArgs, ParsedCreateTreeInstruction, getCreateTreeDiscriminatorBytes, getCreateTreeInstruction, getCreateTreeInstructionAsync, getCreateTreeInstructionDataCodec, getCreateTreeInstructionDataDecoder, getCreateTreeInstructionDataEncoder, parseCreateTreeInstruction };
@@ -1 +1 @@
1
- {"version":3,"file":"createTree.d.ts","names":[],"sources":["../../../src/generated/instructions/createTree.ts"],"mappings":"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"}
1
+ {"version":3,"file":"createTree.d.ts","names":[],"sources":["../../../src/generated/instructions/createTree.ts"],"mappings":";;;;cAmDa,2BAA2B;iBAIxB,mCAAmC;KAIvC,sBACV,iCAAiC,2BACjC,uCAAuC,8BACvC,oCAAoC,8BACpC,+BAA+B,8BAC/B,qCAAqC,8BACrC,oCAAoC,qEAEpC,4CAA4C,qEAE5C,uCAAuC,0DAEvC,oCAAoC,8BAClC,YAAY,YACd,oBAAoB,sBACpB,yBAEI,uCACI,gBAAgB,yBAChB,uBACJ,oCACI,gBAAgB,sBAChB,oBACJ,+BACI,sBAAsB,iBACpB,kBAAkB,iBACpB,eACJ,qCACI,sBAAsB,uBACpB,kBAAkB,uBACpB,qBACJ,oCACI,gBAAgB,sBAChB,oBACJ,4CACI,gBAAgB,8BAChB,4BACJ,uCACI,gBAAgB,yBAChB,0BACD;KAIG;EACV,eAAe;;;;;EAKf;;;;;EAKA;;;;;EAKA,QAAQ;;KAGE;;;;;EAKV;;;;;EAKA;;;;;EAKA,QAAQ;;iBAGM,uCAAuC,QAAQ;iBAY/C,uCAAuC,QAAQ;iBAS/C,qCAAqC,MACnD,+BACA;KAQU,qBACV,+CACA,4CACA,uCACA,6CACA,4CACA,oDACA;;;;;EAMA,gBAAgB,QAAQ;;;;;EAKxB,YAAY,QAAQ;;EAEpB,OAAO,kBAAkB;;;;;EAKzB,aAAa,kBAAkB;;;;;EAK/B,aAAa,QAAQ;;;;;EAKrB,qBAAqB,QAAQ;;EAE7B,gBAAgB,QAAQ;EACxB,UAAU;EACV,eAAe;EACf,QAAQ;;;;;;;;;;iBAWY,8BACpB,sCACA,mCACA,8BACA,oCACA,mCACA,2CACA,sCACA,wBAAwB,iBAAiB,2BAEzC,OAAO,qBACL,uBACA,oBACA,eACA,qBACA,oBACA,4BACA,wBAEF;EAAW,iBAAiB;IAC3B,QACD,sBACE,iBACA,uBACA,oBACA,eACA,qBACA,oBACA,4BACA;KA4EQ,gBACV,+CACA,4CACA,uCACA,6CACA,4CACA,oDACA;;;;;EAMA,eAAe,QAAQ;;;;;EAKvB,YAAY,QAAQ;;EAEpB,OAAO,kBAAkB;;;;;EAKzB,aAAa,kBAAkB;;;;;EAK/B,aAAa,QAAQ;;;;;EAKrB,qBAAqB,QAAQ;;EAE7B,gBAAgB,QAAQ;EACxB,UAAU;EACV,eAAe;EACf,QAAQ;;;;;;;;;;iBAWM,yBACd,sCACA,mCACA,8BACA,oCACA,mCACA,2CACA,sCACA,wBAAwB,iBAAiB,2BAEzC,OAAO,gBACL,uBACA,oBACA,eACA,qBACA,oBACA,4BACA,wBAEF;EAAW,iBAAiB;IAC3B,sBACD,iBACA,uBACA,oBACA,eACA,qBACA,oBACA,4BACA;KAmEU,4BACV,iCAAiC,2BACjC,+BAA+B,yBAAyB;EAExD,gBAAgB,QAAQ;EACxB;;;;;IAKE,eAAe;;;;;IAKf,YAAY;;IAEZ,OAAO;;;;;IAKP,aAAa;;;;;IAKb,YAAY;;;;;IAKZ,oBAAoB;;IAEpB,eAAe;;EAEjB,MAAM;;iBAGQ,2BACd,yBACA,+BAA+B,eAE/B,aAAa,YAAY,YACvB,wBAAwB,iBACxB,oBAAoB,sBACrB,4BAA4B,UAAU"}
@@ -3,6 +3,13 @@ import "../programs/bubblegum.js";
3
3
  import { SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, combineCodec, fixDecoderSize, fixEncoderSize, getBooleanDecoder, getBooleanEncoder, getBytesDecoder, getBytesEncoder, getOptionDecoder, getOptionEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, transformEncoder } from "@solana/kit";
4
4
  import { getAccountMetaFactory, getAddressFromResolvedInstructionAccount } from "@solana/program-client-core";
5
5
  //#region src/generated/instructions/createTree.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 CREATE_TREE_DISCRIMINATOR = new Uint8Array([
7
14
  165,
8
15
  83,
@@ -38,6 +45,14 @@ function getCreateTreeInstructionDataDecoder() {
38
45
  function getCreateTreeInstructionDataCodec() {
39
46
  return combineCodec(getCreateTreeInstructionDataEncoder(), getCreateTreeInstructionDataDecoder());
40
47
  }
48
+ /**
49
+ * Creates a new empty Merkle tree for storing compressed (V1) NFTs.
50
+ *
51
+ * Initializes both the underlying concurrent Merkle tree account and its
52
+ * `TreeConfig` PDA. `maxDepth` and `maxBufferSize` are fixed for the life
53
+ * of the tree and bound its maximum leaf capacity and the number of
54
+ * concurrent modifications it can support.
55
+ */
41
56
  async function getCreateTreeInstructionAsync(input, config) {
42
57
  const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
43
58
  const accounts = {
@@ -90,6 +105,14 @@ async function getCreateTreeInstructionAsync(input, config) {
90
105
  programAddress
91
106
  });
92
107
  }
108
+ /**
109
+ * Creates a new empty Merkle tree for storing compressed (V1) NFTs.
110
+ *
111
+ * Initializes both the underlying concurrent Merkle tree account and its
112
+ * `TreeConfig` PDA. `maxDepth` and `maxBufferSize` are fixed for the life
113
+ * of the tree and bound its maximum leaf capacity and the number of
114
+ * concurrent modifications it can support.
115
+ */
93
116
  function getCreateTreeInstruction(input, config) {
94
117
  const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
95
118
  const accounts = {
@@ -1 +1 @@
1
- {"version":3,"file":"createTree.js","names":[],"sources":["../../../src/generated/instructions/createTree.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 getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\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 CREATE_TREE_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([\n 165, 83, 136, 142, 89, 202, 47, 220,\n]);\n\nexport function getCreateTreeDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(CREATE_TREE_DISCRIMINATOR);\n}\n\nexport type CreateTreeInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountTreeCreator extends string | AccountMeta<string> = string,\n TAccountLogWrapper extends\n | string\n | AccountMeta<string> = \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\",\n TAccountCompressionProgram extends\n | string\n | AccountMeta<string> = \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\",\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 TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountPayer extends string\n ? WritableSignerAccount<TAccountPayer> &\n AccountSignerMeta<TAccountPayer>\n : TAccountPayer,\n TAccountTreeCreator extends string\n ? ReadonlySignerAccount<TAccountTreeCreator> &\n AccountSignerMeta<TAccountTreeCreator>\n : TAccountTreeCreator,\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 CreateTreeInstructionData {\n discriminator: ReadonlyUint8Array;\n maxDepth: number;\n maxBufferSize: number;\n public: Option<boolean>;\n}\n\nexport interface CreateTreeInstructionDataArgs {\n maxDepth: number;\n maxBufferSize: number;\n public: OptionOrNullable<boolean>;\n}\n\nexport function getCreateTreeInstructionDataEncoder(): Encoder<CreateTreeInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"maxDepth\", getU32Encoder()],\n [\"maxBufferSize\", getU32Encoder()],\n [\"public\", getOptionEncoder(getBooleanEncoder())],\n ]),\n (value) => ({ ...value, discriminator: CREATE_TREE_DISCRIMINATOR }),\n );\n}\n\nexport function getCreateTreeInstructionDataDecoder(): Decoder<CreateTreeInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"maxDepth\", getU32Decoder()],\n [\"maxBufferSize\", getU32Decoder()],\n [\"public\", getOptionDecoder(getBooleanDecoder())],\n ]);\n}\n\nexport function getCreateTreeInstructionDataCodec(): Codec<\n CreateTreeInstructionDataArgs,\n CreateTreeInstructionData\n> {\n return combineCodec(\n getCreateTreeInstructionDataEncoder(),\n getCreateTreeInstructionDataDecoder(),\n );\n}\n\nexport interface CreateTreeAsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountPayer extends string = string,\n TAccountTreeCreator extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority?: Address<TAccountTreeAuthority>;\n merkleTree: Address<TAccountMerkleTree>;\n payer: TransactionSigner<TAccountPayer>;\n treeCreator: TransactionSigner<TAccountTreeCreator>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n maxDepth: CreateTreeInstructionDataArgs[\"maxDepth\"];\n maxBufferSize: CreateTreeInstructionDataArgs[\"maxBufferSize\"];\n public: CreateTreeInstructionDataArgs[\"public\"];\n}\n\nexport async function getCreateTreeInstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountMerkleTree extends string,\n TAccountPayer extends string,\n TAccountTreeCreator 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: CreateTreeAsyncInput<\n TAccountTreeAuthority,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeCreator,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n CreateTreeInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeCreator,\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 merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: true },\n treeCreator: { value: input.treeCreator ?? null, isWritable: false },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Original args.\n const args = { ...input };\n\n // Resolve default values.\n if (!accounts.treeAuthority.value) {\n accounts.treeAuthority.value = await findTreeConfigPda({\n merkleTree: getAddressFromResolvedInstructionAccount(\n \"merkleTree\",\n accounts.merkleTree.value,\n ),\n });\n }\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\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(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"treeCreator\", accounts.treeCreator),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getCreateTreeInstructionDataEncoder().encode(\n args as CreateTreeInstructionDataArgs,\n ),\n programAddress,\n } as CreateTreeInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeCreator,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface CreateTreeInput<\n TAccountTreeAuthority extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountPayer extends string = string,\n TAccountTreeCreator extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority: Address<TAccountTreeAuthority>;\n merkleTree: Address<TAccountMerkleTree>;\n payer: TransactionSigner<TAccountPayer>;\n treeCreator: TransactionSigner<TAccountTreeCreator>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n maxDepth: CreateTreeInstructionDataArgs[\"maxDepth\"];\n maxBufferSize: CreateTreeInstructionDataArgs[\"maxBufferSize\"];\n public: CreateTreeInstructionDataArgs[\"public\"];\n}\n\nexport function getCreateTreeInstruction<\n TAccountTreeAuthority extends string,\n TAccountMerkleTree extends string,\n TAccountPayer extends string,\n TAccountTreeCreator 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: CreateTreeInput<\n TAccountTreeAuthority,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeCreator,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): CreateTreeInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeCreator,\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 merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: true },\n treeCreator: { value: input.treeCreator ?? null, isWritable: false },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Original args.\n const args = { ...input };\n\n // Resolve default values.\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\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(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"treeCreator\", accounts.treeCreator),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getCreateTreeInstructionDataEncoder().encode(\n args as CreateTreeInstructionDataArgs,\n ),\n programAddress,\n } as CreateTreeInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeCreator,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface ParsedCreateTreeInstruction<\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 merkleTree: TAccountMetas[1];\n payer: TAccountMetas[2];\n treeCreator: TAccountMetas[3];\n logWrapper: TAccountMetas[4];\n compressionProgram: TAccountMetas[5];\n systemProgram: TAccountMetas[6];\n };\n data: CreateTreeInstructionData;\n}\n\nexport function parseCreateTreeInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedCreateTreeInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 7) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 7,\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 merkleTree: getNextAccount(),\n payer: getNextAccount(),\n treeCreator: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getCreateTreeInstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":";;;;;AAqDA,MAAa,4BAAgD,IAAI,WAAW;CAC1E;CAAK;CAAI;CAAK;CAAK;CAAI;CAAK;CAAI;AAClC,CAAC;AAED,SAAgB,kCAAsD;CACpE,OAAO,eAAe,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO,yBAAyB;AAC9E;AA8DA,SAAgB,sCAA8E;CAC5F,OAAO,iBACL,iBAAiB;EACf,CAAC,iBAAiB,eAAe,gBAAgB,GAAG,CAAC,CAAC;EACtD,CAAC,YAAY,cAAc,CAAC;EAC5B,CAAC,iBAAiB,cAAc,CAAC;EACjC,CAAC,UAAU,iBAAiB,kBAAkB,CAAC,CAAC;CAClD,CAAC,IACA,WAAW;EAAE,GAAG;EAAO,eAAe;CAA0B,EACnE;AACF;AAEA,SAAgB,sCAA0E;CACxF,OAAO,iBAAiB;EACtB,CAAC,iBAAiB,eAAe,gBAAgB,GAAG,CAAC,CAAC;EACtD,CAAC,YAAY,cAAc,CAAC;EAC5B,CAAC,iBAAiB,cAAc,CAAC;EACjC,CAAC,UAAU,iBAAiB,kBAAkB,CAAC,CAAC;CAClD,CAAC;AACH;AAEA,SAAgB,oCAGd;CACA,OAAO,aACL,oCAAoC,GACpC,oCAAoC,CACtC;AACF;AAuBA,eAAsB,8BAUpB,OASA,QAYA;CAEA,MAAM,iBAAiB,QAAQ,kBAAA;CAe/B,MAAM,WAAW;EAXf,eAAe;GAAE,OAAO,MAAM,iBAAiB;GAAM,YAAY;EAAK;EACtE,YAAY;GAAE,OAAO,MAAM,cAAc;GAAM,YAAY;EAAK;EAChE,OAAO;GAAE,OAAO,MAAM,SAAS;GAAM,YAAY;EAAK;EACtD,aAAa;GAAE,OAAO,MAAM,eAAe;GAAM,YAAY;EAAM;EACnE,YAAY;GAAE,OAAO,MAAM,cAAc;GAAM,YAAY;EAAM;EACjE,oBAAoB;GAClB,OAAO,MAAM,sBAAsB;GACnC,YAAY;EACd;EACA,eAAe;GAAE,OAAO,MAAM,iBAAiB;GAAM,YAAY;EAAM;CAEzC;CAMhC,MAAM,OAAO,EAAE,GAAG,MAAM;CAGxB,IAAI,CAAC,SAAS,cAAc,OAC1B,SAAS,cAAc,QAAQ,MAAM,kBAAkB,EACrD,YAAY,yCACV,cACA,SAAS,WAAW,KACtB,EACF,CAAC;CAEH,IAAI,CAAC,SAAS,WAAW,OACvB,SAAS,WAAW,QAClB;CAEJ,IAAI,CAAC,SAAS,mBAAmB,OAC/B,SAAS,mBAAmB,QAC1B;CAEJ,IAAI,CAAC,SAAS,cAAc,OAC1B,SAAS,cAAc,QACrB;CAGJ,MAAM,iBAAiB,sBAAsB,gBAAgB,WAAW;CACxE,OAAO,OAAO,OAAO;EACnB,UAAU;GACR,eAAe,iBAAiB,SAAS,aAAa;GACtD,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,SAAS,SAAS,KAAK;GACtC,eAAe,eAAe,SAAS,WAAW;GAClD,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,sBAAsB,SAAS,kBAAkB;GAChE,eAAe,iBAAiB,SAAS,aAAa;EACxD;EACA,MAAM,oCAAoC,CAAC,CAAC,OAC1C,IACF;EACA;CACF,CASC;AACH;AAuBA,SAAgB,yBAUd,OASA,QAUA;CAEA,MAAM,iBAAiB,QAAQ,kBAAA;CAe/B,MAAM,WAAW;EAXf,eAAe;GAAE,OAAO,MAAM,iBAAiB;GAAM,YAAY;EAAK;EACtE,YAAY;GAAE,OAAO,MAAM,cAAc;GAAM,YAAY;EAAK;EAChE,OAAO;GAAE,OAAO,MAAM,SAAS;GAAM,YAAY;EAAK;EACtD,aAAa;GAAE,OAAO,MAAM,eAAe;GAAM,YAAY;EAAM;EACnE,YAAY;GAAE,OAAO,MAAM,cAAc;GAAM,YAAY;EAAM;EACjE,oBAAoB;GAClB,OAAO,MAAM,sBAAsB;GACnC,YAAY;EACd;EACA,eAAe;GAAE,OAAO,MAAM,iBAAiB;GAAM,YAAY;EAAM;CAEzC;CAMhC,MAAM,OAAO,EAAE,GAAG,MAAM;CAGxB,IAAI,CAAC,SAAS,WAAW,OACvB,SAAS,WAAW,QAClB;CAEJ,IAAI,CAAC,SAAS,mBAAmB,OAC/B,SAAS,mBAAmB,QAC1B;CAEJ,IAAI,CAAC,SAAS,cAAc,OAC1B,SAAS,cAAc,QACrB;CAGJ,MAAM,iBAAiB,sBAAsB,gBAAgB,WAAW;CACxE,OAAO,OAAO,OAAO;EACnB,UAAU;GACR,eAAe,iBAAiB,SAAS,aAAa;GACtD,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,SAAS,SAAS,KAAK;GACtC,eAAe,eAAe,SAAS,WAAW;GAClD,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,sBAAsB,SAAS,kBAAkB;GAChE,eAAe,iBAAiB,SAAS,aAAa;EACxD;EACA,MAAM,oCAAoC,CAAC,CAAC,OAC1C,IACF;EACA;CACF,CASC;AACH;AAmBA,SAAgB,2BAId,aAGsD;CACtD,IAAI,YAAY,SAAS,SAAS,GAChC,MAAM,IAAI,YACR,2DACA;EACE,oBAAoB,YAAY,SAAS;EACzC,sBAAsB;CACxB,CACF;CAEF,IAAI,eAAe;CACnB,MAAM,uBAAuB;EAC3B,MAAM,cAAe,YAAY,SAA2B;EAC5D,gBAAgB;EAChB,OAAO;CACT;CACA,OAAO;EACL,gBAAgB,YAAY;EAC5B,UAAU;GACR,eAAe,eAAe;GAC9B,YAAY,eAAe;GAC3B,OAAO,eAAe;GACtB,aAAa,eAAe;GAC5B,YAAY,eAAe;GAC3B,oBAAoB,eAAe;GACnC,eAAe,eAAe;EAChC;EACA,MAAM,oCAAoC,CAAC,CAAC,OAAO,YAAY,IAAI;CACrE;AACF"}
1
+ {"version":3,"file":"createTree.js","names":[],"sources":["../../../src/generated/instructions/createTree.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 getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\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 CREATE_TREE_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([\n 165, 83, 136, 142, 89, 202, 47, 220,\n]);\n\nexport function getCreateTreeDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(CREATE_TREE_DISCRIMINATOR);\n}\n\nexport type CreateTreeInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountTreeCreator extends string | AccountMeta<string> = string,\n TAccountLogWrapper extends string | AccountMeta<string> =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\",\n TAccountCompressionProgram extends string | AccountMeta<string> =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\",\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 TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountPayer extends string\n ? WritableSignerAccount<TAccountPayer> &\n AccountSignerMeta<TAccountPayer>\n : TAccountPayer,\n TAccountTreeCreator extends string\n ? ReadonlySignerAccount<TAccountTreeCreator> &\n AccountSignerMeta<TAccountTreeCreator>\n : TAccountTreeCreator,\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 CreateTreeInstructionData = {\n discriminator: ReadonlyUint8Array;\n /**\n * Maximum depth of the Merkle tree, i.e. log2 of the maximum number of\n * leaves it can hold. Fixed for the lifetime of the tree.\n */\n maxDepth: number;\n /**\n * Maximum number of concurrent, unconflicting modifications the tree's\n * changelog buffer can track. Fixed for the lifetime of the tree.\n */\n maxBufferSize: number;\n /**\n * Optional flag; when `true`, any signer may mint into the tree, not\n * just the tree delegate. Defaults to `false`.\n */\n public: Option<boolean>;\n};\n\nexport type CreateTreeInstructionDataArgs = {\n /**\n * Maximum depth of the Merkle tree, i.e. log2 of the maximum number of\n * leaves it can hold. Fixed for the lifetime of the tree.\n */\n maxDepth: number;\n /**\n * Maximum number of concurrent, unconflicting modifications the tree's\n * changelog buffer can track. Fixed for the lifetime of the tree.\n */\n maxBufferSize: number;\n /**\n * Optional flag; when `true`, any signer may mint into the tree, not\n * just the tree delegate. Defaults to `false`.\n */\n public: OptionOrNullable<boolean>;\n};\n\nexport function getCreateTreeInstructionDataEncoder(): Encoder<CreateTreeInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"maxDepth\", getU32Encoder()],\n [\"maxBufferSize\", getU32Encoder()],\n [\"public\", getOptionEncoder(getBooleanEncoder())],\n ]),\n (value) => ({ ...value, discriminator: CREATE_TREE_DISCRIMINATOR }),\n );\n}\n\nexport function getCreateTreeInstructionDataDecoder(): Decoder<CreateTreeInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"maxDepth\", getU32Decoder()],\n [\"maxBufferSize\", getU32Decoder()],\n [\"public\", getOptionDecoder(getBooleanDecoder())],\n ]);\n}\n\nexport function getCreateTreeInstructionDataCodec(): Codec<\n CreateTreeInstructionDataArgs,\n CreateTreeInstructionData\n> {\n return combineCodec(\n getCreateTreeInstructionDataEncoder(),\n getCreateTreeInstructionDataDecoder(),\n );\n}\n\nexport type CreateTreeAsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountPayer extends string = string,\n TAccountTreeCreator 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 /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /** Account that pays for the transaction and any account rent. */\n payer: TransactionSigner<TAccountPayer>;\n /**\n * Creator of the tree, recorded in `TreeConfig` when the tree was\n * created.\n */\n treeCreator: TransactionSigner<TAccountTreeCreator>;\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 maxDepth: CreateTreeInstructionDataArgs[\"maxDepth\"];\n maxBufferSize: CreateTreeInstructionDataArgs[\"maxBufferSize\"];\n public: CreateTreeInstructionDataArgs[\"public\"];\n};\n\n/**\n * Creates a new empty Merkle tree for storing compressed (V1) NFTs.\n *\n * Initializes both the underlying concurrent Merkle tree account and its\n * `TreeConfig` PDA. `maxDepth` and `maxBufferSize` are fixed for the life\n * of the tree and bound its maximum leaf capacity and the number of\n * concurrent modifications it can support.\n */\nexport async function getCreateTreeInstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountMerkleTree extends string,\n TAccountPayer extends string,\n TAccountTreeCreator 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: CreateTreeAsyncInput<\n TAccountTreeAuthority,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeCreator,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n CreateTreeInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeCreator,\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 merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: true },\n treeCreator: { value: input.treeCreator ?? null, isWritable: false },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Original args.\n const args = { ...input };\n\n // Resolve default values.\n if (!accounts.treeAuthority.value) {\n accounts.treeAuthority.value = await findTreeConfigPda({\n merkleTree: getAddressFromResolvedInstructionAccount(\n \"merkleTree\",\n accounts.merkleTree.value,\n ),\n });\n }\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\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(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"treeCreator\", accounts.treeCreator),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getCreateTreeInstructionDataEncoder().encode(\n args as CreateTreeInstructionDataArgs,\n ),\n programAddress,\n } as CreateTreeInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeCreator,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport type CreateTreeInput<\n TAccountTreeAuthority extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountPayer extends string = string,\n TAccountTreeCreator 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 /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /** Account that pays for the transaction and any account rent. */\n payer: TransactionSigner<TAccountPayer>;\n /**\n * Creator of the tree, recorded in `TreeConfig` when the tree was\n * created.\n */\n treeCreator: TransactionSigner<TAccountTreeCreator>;\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 maxDepth: CreateTreeInstructionDataArgs[\"maxDepth\"];\n maxBufferSize: CreateTreeInstructionDataArgs[\"maxBufferSize\"];\n public: CreateTreeInstructionDataArgs[\"public\"];\n};\n\n/**\n * Creates a new empty Merkle tree for storing compressed (V1) NFTs.\n *\n * Initializes both the underlying concurrent Merkle tree account and its\n * `TreeConfig` PDA. `maxDepth` and `maxBufferSize` are fixed for the life\n * of the tree and bound its maximum leaf capacity and the number of\n * concurrent modifications it can support.\n */\nexport function getCreateTreeInstruction<\n TAccountTreeAuthority extends string,\n TAccountMerkleTree extends string,\n TAccountPayer extends string,\n TAccountTreeCreator 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: CreateTreeInput<\n TAccountTreeAuthority,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeCreator,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): CreateTreeInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeCreator,\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 merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: true },\n treeCreator: { value: input.treeCreator ?? null, isWritable: false },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Original args.\n const args = { ...input };\n\n // Resolve default values.\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\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(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"treeCreator\", accounts.treeCreator),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getCreateTreeInstructionDataEncoder().encode(\n args as CreateTreeInstructionDataArgs,\n ),\n programAddress,\n } as CreateTreeInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeCreator,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport type ParsedCreateTreeInstruction<\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 * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: TAccountMetas[1];\n /** Account that pays for the transaction and any account rent. */\n payer: TAccountMetas[2];\n /**\n * Creator of the tree, recorded in `TreeConfig` when the tree was\n * created.\n */\n treeCreator: TAccountMetas[3];\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[4];\n /**\n * The SPL/MPL Account Compression program that owns and manages the\n * Merkle tree.\n */\n compressionProgram: TAccountMetas[5];\n /** The Solana System program. */\n systemProgram: TAccountMetas[6];\n };\n data: CreateTreeInstructionData;\n};\n\nexport function parseCreateTreeInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedCreateTreeInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 7) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 7,\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 merkleTree: getNextAccount(),\n payer: getNextAccount(),\n treeCreator: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getCreateTreeInstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}