@macalinao/clients-mpl-bubblegum 0.0.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/README.md +15 -1
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/generated/accounts/index.d.ts +10 -0
  4. package/dist/generated/accounts/index.d.ts.map +1 -0
  5. package/dist/generated/accounts/index.js +10 -0
  6. package/dist/generated/accounts/index.js.map +1 -0
  7. package/dist/generated/accounts/treeConfig.d.ts +44 -0
  8. package/dist/generated/accounts/treeConfig.d.ts.map +1 -0
  9. package/dist/generated/accounts/treeConfig.js +67 -0
  10. package/dist/generated/accounts/treeConfig.js.map +1 -0
  11. package/dist/generated/accounts/voucher.d.ts +36 -0
  12. package/dist/generated/accounts/voucher.d.ts.map +1 -0
  13. package/dist/generated/accounts/voucher.js +59 -0
  14. package/dist/generated/accounts/voucher.js.map +1 -0
  15. package/dist/generated/errors/bubblegum.d.ts +134 -0
  16. package/dist/generated/errors/bubblegum.d.ts.map +1 -0
  17. package/dist/generated/errors/bubblegum.js +195 -0
  18. package/dist/generated/errors/bubblegum.js.map +1 -0
  19. package/dist/generated/errors/index.d.ts +9 -0
  20. package/dist/generated/errors/index.d.ts.map +1 -0
  21. package/dist/generated/errors/index.js +9 -0
  22. package/dist/generated/errors/index.js.map +1 -0
  23. package/dist/generated/index.d.ts +13 -0
  24. package/dist/generated/index.d.ts.map +1 -0
  25. package/dist/generated/index.js +13 -0
  26. package/dist/generated/index.js.map +1 -0
  27. package/dist/generated/instructions/burn.d.ts +71 -0
  28. package/dist/generated/instructions/burn.d.ts.map +1 -0
  29. package/dist/generated/instructions/burn.js +106 -0
  30. package/dist/generated/instructions/burn.js.map +1 -0
  31. package/dist/generated/instructions/burnV2.d.ts +102 -0
  32. package/dist/generated/instructions/burnV2.d.ts.map +1 -0
  33. package/dist/generated/instructions/burnV2.js +144 -0
  34. package/dist/generated/instructions/burnV2.js.map +1 -0
  35. package/dist/generated/instructions/cancelRedeem.d.ts +59 -0
  36. package/dist/generated/instructions/cancelRedeem.d.ts.map +1 -0
  37. package/dist/generated/instructions/cancelRedeem.js +98 -0
  38. package/dist/generated/instructions/cancelRedeem.js.map +1 -0
  39. package/dist/generated/instructions/closeTreeV2.d.ts +65 -0
  40. package/dist/generated/instructions/closeTreeV2.d.ts.map +1 -0
  41. package/dist/generated/instructions/closeTreeV2.js +92 -0
  42. package/dist/generated/instructions/closeTreeV2.js.map +1 -0
  43. package/dist/generated/instructions/collectV2.d.ts +40 -0
  44. package/dist/generated/instructions/collectV2.d.ts.map +1 -0
  45. package/dist/generated/instructions/collectV2.js +69 -0
  46. package/dist/generated/instructions/collectV2.js.map +1 -0
  47. package/dist/generated/instructions/compress.d.ts +76 -0
  48. package/dist/generated/instructions/compress.d.ts.map +1 -0
  49. package/dist/generated/instructions/compress.js +124 -0
  50. package/dist/generated/instructions/compress.js.map +1 -0
  51. package/dist/generated/instructions/createTree.d.ts +65 -0
  52. package/dist/generated/instructions/createTree.d.ts.map +1 -0
  53. package/dist/generated/instructions/createTree.js +102 -0
  54. package/dist/generated/instructions/createTree.js.map +1 -0
  55. package/dist/generated/instructions/createTreeV2.d.ts +67 -0
  56. package/dist/generated/instructions/createTreeV2.d.ts.map +1 -0
  57. package/dist/generated/instructions/createTreeV2.js +108 -0
  58. package/dist/generated/instructions/createTreeV2.js.map +1 -0
  59. package/dist/generated/instructions/decompressV1.d.ts +78 -0
  60. package/dist/generated/instructions/decompressV1.d.ts.map +1 -0
  61. package/dist/generated/instructions/decompressV1.js +136 -0
  62. package/dist/generated/instructions/decompressV1.js.map +1 -0
  63. package/dist/generated/instructions/delegate.d.ts +74 -0
  64. package/dist/generated/instructions/delegate.d.ts.map +1 -0
  65. package/dist/generated/instructions/delegate.js +115 -0
  66. package/dist/generated/instructions/delegate.js.map +1 -0
  67. package/dist/generated/instructions/delegateAndFreezeV2.d.ts +90 -0
  68. package/dist/generated/instructions/delegateAndFreezeV2.d.ts.map +1 -0
  69. package/dist/generated/instructions/delegateAndFreezeV2.js +143 -0
  70. package/dist/generated/instructions/delegateAndFreezeV2.js.map +1 -0
  71. package/dist/generated/instructions/delegateV2.d.ts +90 -0
  72. package/dist/generated/instructions/delegateV2.d.ts.map +1 -0
  73. package/dist/generated/instructions/delegateV2.js +142 -0
  74. package/dist/generated/instructions/delegateV2.js.map +1 -0
  75. package/dist/generated/instructions/freezeV2.d.ts +94 -0
  76. package/dist/generated/instructions/freezeV2.d.ts.map +1 -0
  77. package/dist/generated/instructions/freezeV2.js +131 -0
  78. package/dist/generated/instructions/freezeV2.js.map +1 -0
  79. package/dist/generated/instructions/index.d.ts +44 -0
  80. package/dist/generated/instructions/index.d.ts.map +1 -0
  81. package/dist/generated/instructions/index.js +44 -0
  82. package/dist/generated/instructions/index.js.map +1 -0
  83. package/dist/generated/instructions/mintToCollectionV1.d.ts +95 -0
  84. package/dist/generated/instructions/mintToCollectionV1.d.ts.map +1 -0
  85. package/dist/generated/instructions/mintToCollectionV1.js +146 -0
  86. package/dist/generated/instructions/mintToCollectionV1.js.map +1 -0
  87. package/dist/generated/instructions/mintV1.d.ts +66 -0
  88. package/dist/generated/instructions/mintV1.d.ts.map +1 -0
  89. package/dist/generated/instructions/mintV1.js +105 -0
  90. package/dist/generated/instructions/mintV1.js.map +1 -0
  91. package/dist/generated/instructions/mintV2.d.ts +88 -0
  92. package/dist/generated/instructions/mintV2.d.ts.map +1 -0
  93. package/dist/generated/instructions/mintV2.js +143 -0
  94. package/dist/generated/instructions/mintV2.js.map +1 -0
  95. package/dist/generated/instructions/redeem.d.ts +74 -0
  96. package/dist/generated/instructions/redeem.d.ts.map +1 -0
  97. package/dist/generated/instructions/redeem.js +109 -0
  98. package/dist/generated/instructions/redeem.js.map +1 -0
  99. package/dist/generated/instructions/setAndVerifyCollection.d.ts +123 -0
  100. package/dist/generated/instructions/setAndVerifyCollection.d.ts.map +1 -0
  101. package/dist/generated/instructions/setAndVerifyCollection.js +158 -0
  102. package/dist/generated/instructions/setAndVerifyCollection.js.map +1 -0
  103. package/dist/generated/instructions/setCollectionV2.d.ts +116 -0
  104. package/dist/generated/instructions/setCollectionV2.d.ts.map +1 -0
  105. package/dist/generated/instructions/setCollectionV2.js +153 -0
  106. package/dist/generated/instructions/setCollectionV2.js.map +1 -0
  107. package/dist/generated/instructions/setDecompressableState.d.ts +45 -0
  108. package/dist/generated/instructions/setDecompressableState.d.ts.map +1 -0
  109. package/dist/generated/instructions/setDecompressableState.js +77 -0
  110. package/dist/generated/instructions/setDecompressableState.js.map +1 -0
  111. package/dist/generated/instructions/setDecompressibleState.d.ts +45 -0
  112. package/dist/generated/instructions/setDecompressibleState.d.ts.map +1 -0
  113. package/dist/generated/instructions/setDecompressibleState.js +77 -0
  114. package/dist/generated/instructions/setDecompressibleState.js.map +1 -0
  115. package/dist/generated/instructions/setNonTransferableV2.d.ts +96 -0
  116. package/dist/generated/instructions/setNonTransferableV2.d.ts.map +1 -0
  117. package/dist/generated/instructions/setNonTransferableV2.js +132 -0
  118. package/dist/generated/instructions/setNonTransferableV2.js.map +1 -0
  119. package/dist/generated/instructions/setTreeDelegate.d.ts +49 -0
  120. package/dist/generated/instructions/setTreeDelegate.d.ts.map +1 -0
  121. package/dist/generated/instructions/setTreeDelegate.js +84 -0
  122. package/dist/generated/instructions/setTreeDelegate.js.map +1 -0
  123. package/dist/generated/instructions/thawAndRevokeV2.d.ts +85 -0
  124. package/dist/generated/instructions/thawAndRevokeV2.d.ts.map +1 -0
  125. package/dist/generated/instructions/thawAndRevokeV2.js +131 -0
  126. package/dist/generated/instructions/thawAndRevokeV2.js.map +1 -0
  127. package/dist/generated/instructions/thawV2.d.ts +94 -0
  128. package/dist/generated/instructions/thawV2.d.ts.map +1 -0
  129. package/dist/generated/instructions/thawV2.js +131 -0
  130. package/dist/generated/instructions/thawV2.js.map +1 -0
  131. package/dist/generated/instructions/transfer.d.ts +74 -0
  132. package/dist/generated/instructions/transfer.d.ts.map +1 -0
  133. package/dist/generated/instructions/transfer.js +109 -0
  134. package/dist/generated/instructions/transfer.js.map +1 -0
  135. package/dist/generated/instructions/transferV2.d.ts +99 -0
  136. package/dist/generated/instructions/transferV2.d.ts.map +1 -0
  137. package/dist/generated/instructions/transferV2.js +134 -0
  138. package/dist/generated/instructions/transferV2.js.map +1 -0
  139. package/dist/generated/instructions/unverifyCollection.d.ts +120 -0
  140. package/dist/generated/instructions/unverifyCollection.d.ts.map +1 -0
  141. package/dist/generated/instructions/unverifyCollection.js +153 -0
  142. package/dist/generated/instructions/unverifyCollection.js.map +1 -0
  143. package/dist/generated/instructions/unverifyCreator.d.ts +81 -0
  144. package/dist/generated/instructions/unverifyCreator.d.ts.map +1 -0
  145. package/dist/generated/instructions/unverifyCreator.js +113 -0
  146. package/dist/generated/instructions/unverifyCreator.js.map +1 -0
  147. package/dist/generated/instructions/unverifyCreatorV2.d.ts +85 -0
  148. package/dist/generated/instructions/unverifyCreatorV2.d.ts.map +1 -0
  149. package/dist/generated/instructions/unverifyCreatorV2.js +125 -0
  150. package/dist/generated/instructions/unverifyCreatorV2.js.map +1 -0
  151. package/dist/generated/instructions/updateAssetDataV2.d.ts +101 -0
  152. package/dist/generated/instructions/updateAssetDataV2.d.ts.map +1 -0
  153. package/dist/generated/instructions/updateAssetDataV2.js +143 -0
  154. package/dist/generated/instructions/updateAssetDataV2.js.map +1 -0
  155. package/dist/generated/instructions/updateMetadata.d.ts +102 -0
  156. package/dist/generated/instructions/updateMetadata.d.ts.map +1 -0
  157. package/dist/generated/instructions/updateMetadata.js +142 -0
  158. package/dist/generated/instructions/updateMetadata.js.map +1 -0
  159. package/dist/generated/instructions/updateMetadataV2.d.ts +97 -0
  160. package/dist/generated/instructions/updateMetadataV2.d.ts.map +1 -0
  161. package/dist/generated/instructions/updateMetadataV2.js +130 -0
  162. package/dist/generated/instructions/updateMetadataV2.js.map +1 -0
  163. package/dist/generated/instructions/verifyCollection.d.ts +120 -0
  164. package/dist/generated/instructions/verifyCollection.d.ts.map +1 -0
  165. package/dist/generated/instructions/verifyCollection.js +153 -0
  166. package/dist/generated/instructions/verifyCollection.js.map +1 -0
  167. package/dist/generated/instructions/verifyCreator.d.ts +81 -0
  168. package/dist/generated/instructions/verifyCreator.d.ts.map +1 -0
  169. package/dist/generated/instructions/verifyCreator.js +115 -0
  170. package/dist/generated/instructions/verifyCreator.js.map +1 -0
  171. package/dist/generated/instructions/verifyCreatorV2.d.ts +85 -0
  172. package/dist/generated/instructions/verifyCreatorV2.d.ts.map +1 -0
  173. package/dist/generated/instructions/verifyCreatorV2.js +125 -0
  174. package/dist/generated/instructions/verifyCreatorV2.js.map +1 -0
  175. package/dist/generated/programs/bubblegum.d.ts +189 -0
  176. package/dist/generated/programs/bubblegum.d.ts.map +1 -0
  177. package/dist/generated/programs/bubblegum.js +566 -0
  178. package/dist/generated/programs/bubblegum.js.map +1 -0
  179. package/dist/generated/programs/index.d.ts +9 -0
  180. package/dist/generated/programs/index.d.ts.map +1 -0
  181. package/dist/generated/programs/index.js +9 -0
  182. package/dist/generated/programs/index.js.map +1 -0
  183. package/dist/generated/types/assetDataSchema.d.ts +18 -0
  184. package/dist/generated/types/assetDataSchema.d.ts.map +1 -0
  185. package/dist/generated/types/assetDataSchema.js +24 -0
  186. package/dist/generated/types/assetDataSchema.js.map +1 -0
  187. package/dist/generated/types/bubblegumEventType.d.ts +17 -0
  188. package/dist/generated/types/bubblegumEventType.d.ts.map +1 -0
  189. package/dist/generated/types/bubblegumEventType.js +23 -0
  190. package/dist/generated/types/bubblegumEventType.js.map +1 -0
  191. package/dist/generated/types/collection.d.ts +17 -0
  192. package/dist/generated/types/collection.d.ts.map +1 -0
  193. package/dist/generated/types/collection.js +24 -0
  194. package/dist/generated/types/collection.js.map +1 -0
  195. package/dist/generated/types/creator.d.ts +23 -0
  196. package/dist/generated/types/creator.d.ts.map +1 -0
  197. package/dist/generated/types/creator.js +26 -0
  198. package/dist/generated/types/creator.js.map +1 -0
  199. package/dist/generated/types/decompressibleState.d.ts +17 -0
  200. package/dist/generated/types/decompressibleState.d.ts.map +1 -0
  201. package/dist/generated/types/decompressibleState.js +23 -0
  202. package/dist/generated/types/decompressibleState.js.map +1 -0
  203. package/dist/generated/types/index.d.ts +23 -0
  204. package/dist/generated/types/index.d.ts.map +1 -0
  205. package/dist/generated/types/index.js +23 -0
  206. package/dist/generated/types/index.js.map +1 -0
  207. package/dist/generated/types/instructionName.d.ts +50 -0
  208. package/dist/generated/types/instructionName.d.ts.map +1 -0
  209. package/dist/generated/types/instructionName.js +56 -0
  210. package/dist/generated/types/instructionName.js.map +1 -0
  211. package/dist/generated/types/leafSchema.d.ts +57 -0
  212. package/dist/generated/types/leafSchema.d.ts.map +1 -0
  213. package/dist/generated/types/leafSchema.js +78 -0
  214. package/dist/generated/types/leafSchema.js.map +1 -0
  215. package/dist/generated/types/metadataArgs.d.ts +61 -0
  216. package/dist/generated/types/metadataArgs.d.ts.map +1 -0
  217. package/dist/generated/types/metadataArgs.js +45 -0
  218. package/dist/generated/types/metadataArgs.js.map +1 -0
  219. package/dist/generated/types/metadataArgsV2.d.ts +53 -0
  220. package/dist/generated/types/metadataArgsV2.d.ts.map +1 -0
  221. package/dist/generated/types/metadataArgsV2.js +39 -0
  222. package/dist/generated/types/metadataArgsV2.js.map +1 -0
  223. package/dist/generated/types/tokenProgramVersion.d.ts +17 -0
  224. package/dist/generated/types/tokenProgramVersion.d.ts.map +1 -0
  225. package/dist/generated/types/tokenProgramVersion.js +23 -0
  226. package/dist/generated/types/tokenProgramVersion.js.map +1 -0
  227. package/dist/generated/types/tokenStandard.d.ts +19 -0
  228. package/dist/generated/types/tokenStandard.d.ts.map +1 -0
  229. package/dist/generated/types/tokenStandard.js +25 -0
  230. package/dist/generated/types/tokenStandard.js.map +1 -0
  231. package/dist/generated/types/updateArgs.d.ts +31 -0
  232. package/dist/generated/types/updateArgs.d.ts.map +1 -0
  233. package/dist/generated/types/updateArgs.js +53 -0
  234. package/dist/generated/types/updateArgs.js.map +1 -0
  235. package/dist/generated/types/useMethod.d.ts +18 -0
  236. package/dist/generated/types/useMethod.d.ts.map +1 -0
  237. package/dist/generated/types/useMethod.js +24 -0
  238. package/dist/generated/types/useMethod.js.map +1 -0
  239. package/dist/generated/types/uses.d.ts +23 -0
  240. package/dist/generated/types/uses.d.ts.map +1 -0
  241. package/dist/generated/types/uses.js +27 -0
  242. package/dist/generated/types/uses.js.map +1 -0
  243. package/dist/generated/types/version.d.ts +17 -0
  244. package/dist/generated/types/version.d.ts.map +1 -0
  245. package/dist/generated/types/version.js +23 -0
  246. package/dist/generated/types/version.js.map +1 -0
  247. package/dist/index.d.ts +8 -0
  248. package/dist/index.d.ts.map +1 -0
  249. package/dist/index.js +8 -0
  250. package/dist/index.js.map +1 -0
  251. package/package.json +51 -5
  252. package/src/generated/accounts/index.ts +10 -0
  253. package/src/generated/accounts/treeConfig.ts +175 -0
  254. package/src/generated/accounts/voucher.ts +144 -0
  255. package/src/generated/errors/bubblegum.ts +309 -0
  256. package/src/generated/errors/index.ts +9 -0
  257. package/src/generated/index.ts +13 -0
  258. package/src/generated/instructions/burn.ts +310 -0
  259. package/src/generated/instructions/burnV2.ts +431 -0
  260. package/src/generated/instructions/cancelRedeem.ts +292 -0
  261. package/src/generated/instructions/closeTreeV2.ts +285 -0
  262. package/src/generated/instructions/collectV2.ts +184 -0
  263. package/src/generated/instructions/compress.ts +388 -0
  264. package/src/generated/instructions/createTree.ts +306 -0
  265. package/src/generated/instructions/createTreeV2.ts +316 -0
  266. package/src/generated/instructions/decompressV1.ts +404 -0
  267. package/src/generated/instructions/delegate.ts +334 -0
  268. package/src/generated/instructions/delegateAndFreezeV2.ts +397 -0
  269. package/src/generated/instructions/delegateV2.ts +391 -0
  270. package/src/generated/instructions/freezeV2.ts +392 -0
  271. package/src/generated/instructions/index.ts +44 -0
  272. package/src/generated/instructions/mintToCollectionV1.ts +457 -0
  273. package/src/generated/instructions/mintV1.ts +320 -0
  274. package/src/generated/instructions/mintV2.ts +435 -0
  275. package/src/generated/instructions/redeem.ts +328 -0
  276. package/src/generated/instructions/setAndVerifyCollection.ts +506 -0
  277. package/src/generated/instructions/setCollectionV2.ts +477 -0
  278. package/src/generated/instructions/setDecompressableState.ts +218 -0
  279. package/src/generated/instructions/setDecompressibleState.ts +218 -0
  280. package/src/generated/instructions/setNonTransferableV2.ts +400 -0
  281. package/src/generated/instructions/setTreeDelegate.ts +246 -0
  282. package/src/generated/instructions/thawAndRevokeV2.ts +370 -0
  283. package/src/generated/instructions/thawV2.ts +392 -0
  284. package/src/generated/instructions/transfer.ts +324 -0
  285. package/src/generated/instructions/transferV2.ts +408 -0
  286. package/src/generated/instructions/unverifyCollection.ts +496 -0
  287. package/src/generated/instructions/unverifyCreator.ts +354 -0
  288. package/src/generated/instructions/unverifyCreatorV2.ts +375 -0
  289. package/src/generated/instructions/updateAssetDataV2.ts +423 -0
  290. package/src/generated/instructions/updateMetadata.ts +449 -0
  291. package/src/generated/instructions/updateMetadataV2.ts +407 -0
  292. package/src/generated/instructions/verifyCollection.ts +494 -0
  293. package/src/generated/instructions/verifyCreator.ts +355 -0
  294. package/src/generated/instructions/verifyCreatorV2.ts +375 -0
  295. package/src/generated/programs/bubblegum.ts +1466 -0
  296. package/src/generated/programs/index.ts +9 -0
  297. package/src/generated/types/assetDataSchema.ts +37 -0
  298. package/src/generated/types/bubblegumEventType.ts +39 -0
  299. package/src/generated/types/collection.ts +51 -0
  300. package/src/generated/types/creator.ts +58 -0
  301. package/src/generated/types/decompressibleState.ts +39 -0
  302. package/src/generated/types/index.ts +23 -0
  303. package/src/generated/types/instructionName.ts +69 -0
  304. package/src/generated/types/leafSchema.ts +166 -0
  305. package/src/generated/types/metadataArgs.ts +148 -0
  306. package/src/generated/types/metadataArgsV2.ts +126 -0
  307. package/src/generated/types/tokenProgramVersion.ts +39 -0
  308. package/src/generated/types/tokenStandard.ts +38 -0
  309. package/src/generated/types/updateArgs.ts +102 -0
  310. package/src/generated/types/useMethod.ts +34 -0
  311. package/src/generated/types/uses.ts +54 -0
  312. package/src/generated/types/version.ts +33 -0
  313. package/src/index.ts +8 -0
@@ -0,0 +1,404 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+
9
+ import type {
10
+ AccountMeta,
11
+ AccountSignerMeta,
12
+ Address,
13
+ Codec,
14
+ Decoder,
15
+ Encoder,
16
+ Instruction,
17
+ InstructionWithAccounts,
18
+ InstructionWithData,
19
+ ReadonlyAccount,
20
+ ReadonlyUint8Array,
21
+ TransactionSigner,
22
+ WritableAccount,
23
+ WritableSignerAccount,
24
+ } from "@solana/kit";
25
+ import type { ResolvedInstructionAccount } from "@solana/program-client-core";
26
+ import type { MetadataArgs, MetadataArgsArgs } from "../types/index.js";
27
+ import {
28
+ combineCodec,
29
+ fixDecoderSize,
30
+ fixEncoderSize,
31
+ getBytesDecoder,
32
+ getBytesEncoder,
33
+ getStructDecoder,
34
+ getStructEncoder,
35
+ SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
36
+ SolanaError,
37
+ transformEncoder,
38
+ } from "@solana/kit";
39
+ import { getAccountMetaFactory } from "@solana/program-client-core";
40
+ import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
41
+ import {
42
+ getMetadataArgsDecoder,
43
+ getMetadataArgsEncoder,
44
+ } from "../types/index.js";
45
+
46
+ export const DECOMPRESS_V1_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([
47
+ 54, 85, 76, 70, 228, 250, 164, 81,
48
+ ]);
49
+
50
+ export function getDecompressV1DiscriminatorBytes(): ReadonlyUint8Array {
51
+ return fixEncoderSize(getBytesEncoder(), 8).encode(
52
+ DECOMPRESS_V1_DISCRIMINATOR,
53
+ );
54
+ }
55
+
56
+ export type DecompressV1Instruction<
57
+ TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
58
+ TAccountVoucher extends string | AccountMeta = string,
59
+ TAccountLeafOwner extends string | AccountMeta = string,
60
+ TAccountTokenAccount extends string | AccountMeta = string,
61
+ TAccountMint extends string | AccountMeta = string,
62
+ TAccountMintAuthority extends string | AccountMeta = string,
63
+ TAccountMetadata extends string | AccountMeta = string,
64
+ TAccountMasterEdition extends string | AccountMeta = string,
65
+ TAccountSystemProgram extends
66
+ | string
67
+ | AccountMeta = "11111111111111111111111111111111",
68
+ TAccountSysvarRent extends
69
+ | string
70
+ | AccountMeta = "SysvarRent111111111111111111111111111111111",
71
+ TAccountTokenMetadataProgram extends
72
+ | string
73
+ | AccountMeta = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
74
+ TAccountTokenProgram extends
75
+ | string
76
+ | AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
77
+ TAccountAssociatedTokenProgram extends
78
+ | string
79
+ | AccountMeta = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
80
+ TAccountLogWrapper extends string | AccountMeta = string,
81
+ TRemainingAccounts extends readonly AccountMeta[] = [],
82
+ > = Instruction<TProgram> &
83
+ InstructionWithData<ReadonlyUint8Array> &
84
+ InstructionWithAccounts<
85
+ [
86
+ TAccountVoucher extends string
87
+ ? WritableAccount<TAccountVoucher>
88
+ : TAccountVoucher,
89
+ TAccountLeafOwner extends string
90
+ ? WritableSignerAccount<TAccountLeafOwner> &
91
+ AccountSignerMeta<TAccountLeafOwner>
92
+ : TAccountLeafOwner,
93
+ TAccountTokenAccount extends string
94
+ ? WritableAccount<TAccountTokenAccount>
95
+ : TAccountTokenAccount,
96
+ TAccountMint extends string
97
+ ? WritableAccount<TAccountMint>
98
+ : TAccountMint,
99
+ TAccountMintAuthority extends string
100
+ ? WritableAccount<TAccountMintAuthority>
101
+ : TAccountMintAuthority,
102
+ TAccountMetadata extends string
103
+ ? WritableAccount<TAccountMetadata>
104
+ : TAccountMetadata,
105
+ TAccountMasterEdition extends string
106
+ ? WritableAccount<TAccountMasterEdition>
107
+ : TAccountMasterEdition,
108
+ TAccountSystemProgram extends string
109
+ ? ReadonlyAccount<TAccountSystemProgram>
110
+ : TAccountSystemProgram,
111
+ TAccountSysvarRent extends string
112
+ ? ReadonlyAccount<TAccountSysvarRent>
113
+ : TAccountSysvarRent,
114
+ TAccountTokenMetadataProgram extends string
115
+ ? ReadonlyAccount<TAccountTokenMetadataProgram>
116
+ : TAccountTokenMetadataProgram,
117
+ TAccountTokenProgram extends string
118
+ ? ReadonlyAccount<TAccountTokenProgram>
119
+ : TAccountTokenProgram,
120
+ TAccountAssociatedTokenProgram extends string
121
+ ? ReadonlyAccount<TAccountAssociatedTokenProgram>
122
+ : TAccountAssociatedTokenProgram,
123
+ TAccountLogWrapper extends string
124
+ ? ReadonlyAccount<TAccountLogWrapper>
125
+ : TAccountLogWrapper,
126
+ ...TRemainingAccounts,
127
+ ]
128
+ >;
129
+
130
+ export interface DecompressV1InstructionData {
131
+ discriminator: ReadonlyUint8Array;
132
+ metadata: MetadataArgs;
133
+ }
134
+
135
+ export interface DecompressV1InstructionDataArgs {
136
+ metadata: MetadataArgsArgs;
137
+ }
138
+
139
+ export function getDecompressV1InstructionDataEncoder(): Encoder<DecompressV1InstructionDataArgs> {
140
+ return transformEncoder(
141
+ getStructEncoder([
142
+ ["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
143
+ ["metadata", getMetadataArgsEncoder()],
144
+ ]),
145
+ (value) => ({ ...value, discriminator: DECOMPRESS_V1_DISCRIMINATOR }),
146
+ );
147
+ }
148
+
149
+ export function getDecompressV1InstructionDataDecoder(): Decoder<DecompressV1InstructionData> {
150
+ return getStructDecoder([
151
+ ["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
152
+ ["metadata", getMetadataArgsDecoder()],
153
+ ]);
154
+ }
155
+
156
+ export function getDecompressV1InstructionDataCodec(): Codec<
157
+ DecompressV1InstructionDataArgs,
158
+ DecompressV1InstructionData
159
+ > {
160
+ return combineCodec(
161
+ getDecompressV1InstructionDataEncoder(),
162
+ getDecompressV1InstructionDataDecoder(),
163
+ );
164
+ }
165
+
166
+ export interface DecompressV1Input<
167
+ TAccountVoucher extends string = string,
168
+ TAccountLeafOwner extends string = string,
169
+ TAccountTokenAccount extends string = string,
170
+ TAccountMint extends string = string,
171
+ TAccountMintAuthority extends string = string,
172
+ TAccountMetadata extends string = string,
173
+ TAccountMasterEdition extends string = string,
174
+ TAccountSystemProgram extends string = string,
175
+ TAccountSysvarRent extends string = string,
176
+ TAccountTokenMetadataProgram extends string = string,
177
+ TAccountTokenProgram extends string = string,
178
+ TAccountAssociatedTokenProgram extends string = string,
179
+ TAccountLogWrapper extends string = string,
180
+ > {
181
+ voucher: Address<TAccountVoucher>;
182
+ leafOwner: TransactionSigner<TAccountLeafOwner>;
183
+ tokenAccount: Address<TAccountTokenAccount>;
184
+ mint: Address<TAccountMint>;
185
+ mintAuthority: Address<TAccountMintAuthority>;
186
+ metadata: Address<TAccountMetadata>;
187
+ masterEdition: Address<TAccountMasterEdition>;
188
+ systemProgram?: Address<TAccountSystemProgram>;
189
+ sysvarRent?: Address<TAccountSysvarRent>;
190
+ tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
191
+ tokenProgram?: Address<TAccountTokenProgram>;
192
+ associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
193
+ logWrapper: Address<TAccountLogWrapper>;
194
+ metadataArg: DecompressV1InstructionDataArgs["metadata"];
195
+ }
196
+
197
+ export function getDecompressV1Instruction<
198
+ TAccountVoucher extends string,
199
+ TAccountLeafOwner extends string,
200
+ TAccountTokenAccount extends string,
201
+ TAccountMint extends string,
202
+ TAccountMintAuthority extends string,
203
+ TAccountMetadata extends string,
204
+ TAccountMasterEdition extends string,
205
+ TAccountSystemProgram extends string,
206
+ TAccountSysvarRent extends string,
207
+ TAccountTokenMetadataProgram extends string,
208
+ TAccountTokenProgram extends string,
209
+ TAccountAssociatedTokenProgram extends string,
210
+ TAccountLogWrapper extends string,
211
+ TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
212
+ >(
213
+ input: DecompressV1Input<
214
+ TAccountVoucher,
215
+ TAccountLeafOwner,
216
+ TAccountTokenAccount,
217
+ TAccountMint,
218
+ TAccountMintAuthority,
219
+ TAccountMetadata,
220
+ TAccountMasterEdition,
221
+ TAccountSystemProgram,
222
+ TAccountSysvarRent,
223
+ TAccountTokenMetadataProgram,
224
+ TAccountTokenProgram,
225
+ TAccountAssociatedTokenProgram,
226
+ TAccountLogWrapper
227
+ >,
228
+ config?: { programAddress?: TProgramAddress },
229
+ ): DecompressV1Instruction<
230
+ TProgramAddress,
231
+ TAccountVoucher,
232
+ TAccountLeafOwner,
233
+ TAccountTokenAccount,
234
+ TAccountMint,
235
+ TAccountMintAuthority,
236
+ TAccountMetadata,
237
+ TAccountMasterEdition,
238
+ TAccountSystemProgram,
239
+ TAccountSysvarRent,
240
+ TAccountTokenMetadataProgram,
241
+ TAccountTokenProgram,
242
+ TAccountAssociatedTokenProgram,
243
+ TAccountLogWrapper
244
+ > {
245
+ // Program address.
246
+ const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
247
+
248
+ // Original accounts.
249
+ const originalAccounts = {
250
+ voucher: { value: input.voucher ?? null, isWritable: true },
251
+ leafOwner: { value: input.leafOwner ?? null, isWritable: true },
252
+ tokenAccount: { value: input.tokenAccount ?? null, isWritable: true },
253
+ mint: { value: input.mint ?? null, isWritable: true },
254
+ mintAuthority: { value: input.mintAuthority ?? null, isWritable: true },
255
+ metadata: { value: input.metadata ?? null, isWritable: true },
256
+ masterEdition: { value: input.masterEdition ?? null, isWritable: true },
257
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
258
+ sysvarRent: { value: input.sysvarRent ?? null, isWritable: false },
259
+ tokenMetadataProgram: {
260
+ value: input.tokenMetadataProgram ?? null,
261
+ isWritable: false,
262
+ },
263
+ tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
264
+ associatedTokenProgram: {
265
+ value: input.associatedTokenProgram ?? null,
266
+ isWritable: false,
267
+ },
268
+ logWrapper: { value: input.logWrapper ?? null, isWritable: false },
269
+ };
270
+ const accounts = originalAccounts as Record<
271
+ keyof typeof originalAccounts,
272
+ ResolvedInstructionAccount
273
+ >;
274
+
275
+ // Original args.
276
+ const args = { ...input, metadata: input.metadataArg };
277
+
278
+ // Resolve default values.
279
+ if (!accounts.systemProgram.value) {
280
+ accounts.systemProgram.value =
281
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
282
+ }
283
+ if (!accounts.sysvarRent.value) {
284
+ accounts.sysvarRent.value =
285
+ "SysvarRent111111111111111111111111111111111" as Address<"SysvarRent111111111111111111111111111111111">;
286
+ }
287
+ if (!accounts.tokenMetadataProgram.value) {
288
+ accounts.tokenMetadataProgram.value =
289
+ "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
290
+ }
291
+ if (!accounts.tokenProgram.value) {
292
+ accounts.tokenProgram.value =
293
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
294
+ }
295
+ if (!accounts.associatedTokenProgram.value) {
296
+ accounts.associatedTokenProgram.value =
297
+ "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" as Address<"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL">;
298
+ }
299
+
300
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
301
+ return Object.freeze({
302
+ accounts: [
303
+ getAccountMeta("voucher", accounts.voucher),
304
+ getAccountMeta("leafOwner", accounts.leafOwner),
305
+ getAccountMeta("tokenAccount", accounts.tokenAccount),
306
+ getAccountMeta("mint", accounts.mint),
307
+ getAccountMeta("mintAuthority", accounts.mintAuthority),
308
+ getAccountMeta("metadata", accounts.metadata),
309
+ getAccountMeta("masterEdition", accounts.masterEdition),
310
+ getAccountMeta("systemProgram", accounts.systemProgram),
311
+ getAccountMeta("sysvarRent", accounts.sysvarRent),
312
+ getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
313
+ getAccountMeta("tokenProgram", accounts.tokenProgram),
314
+ getAccountMeta("associatedTokenProgram", accounts.associatedTokenProgram),
315
+ getAccountMeta("logWrapper", accounts.logWrapper),
316
+ ],
317
+ data: getDecompressV1InstructionDataEncoder().encode(
318
+ args as DecompressV1InstructionDataArgs,
319
+ ),
320
+ programAddress,
321
+ } as DecompressV1Instruction<
322
+ TProgramAddress,
323
+ TAccountVoucher,
324
+ TAccountLeafOwner,
325
+ TAccountTokenAccount,
326
+ TAccountMint,
327
+ TAccountMintAuthority,
328
+ TAccountMetadata,
329
+ TAccountMasterEdition,
330
+ TAccountSystemProgram,
331
+ TAccountSysvarRent,
332
+ TAccountTokenMetadataProgram,
333
+ TAccountTokenProgram,
334
+ TAccountAssociatedTokenProgram,
335
+ TAccountLogWrapper
336
+ >);
337
+ }
338
+
339
+ export interface ParsedDecompressV1Instruction<
340
+ TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
341
+ TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],
342
+ > {
343
+ programAddress: Address<TProgram>;
344
+ accounts: {
345
+ voucher: TAccountMetas[0];
346
+ leafOwner: TAccountMetas[1];
347
+ tokenAccount: TAccountMetas[2];
348
+ mint: TAccountMetas[3];
349
+ mintAuthority: TAccountMetas[4];
350
+ metadata: TAccountMetas[5];
351
+ masterEdition: TAccountMetas[6];
352
+ systemProgram: TAccountMetas[7];
353
+ sysvarRent: TAccountMetas[8];
354
+ tokenMetadataProgram: TAccountMetas[9];
355
+ tokenProgram: TAccountMetas[10];
356
+ associatedTokenProgram: TAccountMetas[11];
357
+ logWrapper: TAccountMetas[12];
358
+ };
359
+ data: DecompressV1InstructionData;
360
+ }
361
+
362
+ export function parseDecompressV1Instruction<
363
+ TProgram extends string,
364
+ TAccountMetas extends readonly AccountMeta[],
365
+ >(
366
+ instruction: Instruction<TProgram> &
367
+ InstructionWithAccounts<TAccountMetas> &
368
+ InstructionWithData<ReadonlyUint8Array>,
369
+ ): ParsedDecompressV1Instruction<TProgram, TAccountMetas> {
370
+ if (instruction.accounts.length < 13) {
371
+ throw new SolanaError(
372
+ SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
373
+ {
374
+ actualAccountMetas: instruction.accounts.length,
375
+ expectedAccountMetas: 13,
376
+ },
377
+ );
378
+ }
379
+ let accountIndex = 0;
380
+ const getNextAccount = () => {
381
+ const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;
382
+ accountIndex += 1;
383
+ return accountMeta;
384
+ };
385
+ return {
386
+ programAddress: instruction.programAddress,
387
+ accounts: {
388
+ voucher: getNextAccount(),
389
+ leafOwner: getNextAccount(),
390
+ tokenAccount: getNextAccount(),
391
+ mint: getNextAccount(),
392
+ mintAuthority: getNextAccount(),
393
+ metadata: getNextAccount(),
394
+ masterEdition: getNextAccount(),
395
+ systemProgram: getNextAccount(),
396
+ sysvarRent: getNextAccount(),
397
+ tokenMetadataProgram: getNextAccount(),
398
+ tokenProgram: getNextAccount(),
399
+ associatedTokenProgram: getNextAccount(),
400
+ logWrapper: getNextAccount(),
401
+ },
402
+ data: getDecompressV1InstructionDataDecoder().decode(instruction.data),
403
+ };
404
+ }