@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,184 @@
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
+ Address,
12
+ FixedSizeCodec,
13
+ FixedSizeDecoder,
14
+ FixedSizeEncoder,
15
+ Instruction,
16
+ InstructionWithAccounts,
17
+ InstructionWithData,
18
+ ReadonlyUint8Array,
19
+ WritableAccount,
20
+ } from "@solana/kit";
21
+ import type { ResolvedInstructionAccount } from "@solana/program-client-core";
22
+ import {
23
+ combineCodec,
24
+ fixDecoderSize,
25
+ fixEncoderSize,
26
+ getBytesDecoder,
27
+ getBytesEncoder,
28
+ getStructDecoder,
29
+ getStructEncoder,
30
+ SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
31
+ SolanaError,
32
+ transformEncoder,
33
+ } from "@solana/kit";
34
+ import { getAccountMetaFactory } from "@solana/program-client-core";
35
+ import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
36
+
37
+ export const COLLECT_V2_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([
38
+ 21, 11, 159, 47, 4, 195, 106, 56,
39
+ ]);
40
+
41
+ export function getCollectV2DiscriminatorBytes(): ReadonlyUint8Array {
42
+ return fixEncoderSize(getBytesEncoder(), 8).encode(COLLECT_V2_DISCRIMINATOR);
43
+ }
44
+
45
+ export type CollectV2Instruction<
46
+ TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
47
+ TAccountTreeAuthority extends string | AccountMeta = string,
48
+ TAccountDestination extends string | AccountMeta = string,
49
+ TRemainingAccounts extends readonly AccountMeta[] = [],
50
+ > = Instruction<TProgram> &
51
+ InstructionWithData<ReadonlyUint8Array> &
52
+ InstructionWithAccounts<
53
+ [
54
+ TAccountTreeAuthority extends string
55
+ ? WritableAccount<TAccountTreeAuthority>
56
+ : TAccountTreeAuthority,
57
+ TAccountDestination extends string
58
+ ? WritableAccount<TAccountDestination>
59
+ : TAccountDestination,
60
+ ...TRemainingAccounts,
61
+ ]
62
+ >;
63
+
64
+ export interface CollectV2InstructionData {
65
+ discriminator: ReadonlyUint8Array;
66
+ }
67
+
68
+ export type CollectV2InstructionDataArgs = {};
69
+
70
+ export function getCollectV2InstructionDataEncoder(): FixedSizeEncoder<CollectV2InstructionDataArgs> {
71
+ return transformEncoder(
72
+ getStructEncoder([["discriminator", fixEncoderSize(getBytesEncoder(), 8)]]),
73
+ (value) => ({ ...value, discriminator: COLLECT_V2_DISCRIMINATOR }),
74
+ );
75
+ }
76
+
77
+ export function getCollectV2InstructionDataDecoder(): FixedSizeDecoder<CollectV2InstructionData> {
78
+ return getStructDecoder([
79
+ ["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
80
+ ]);
81
+ }
82
+
83
+ export function getCollectV2InstructionDataCodec(): FixedSizeCodec<
84
+ CollectV2InstructionDataArgs,
85
+ CollectV2InstructionData
86
+ > {
87
+ return combineCodec(
88
+ getCollectV2InstructionDataEncoder(),
89
+ getCollectV2InstructionDataDecoder(),
90
+ );
91
+ }
92
+
93
+ export interface CollectV2Input<
94
+ TAccountTreeAuthority extends string = string,
95
+ TAccountDestination extends string = string,
96
+ > {
97
+ treeAuthority: Address<TAccountTreeAuthority>;
98
+ destination: Address<TAccountDestination>;
99
+ }
100
+
101
+ export function getCollectV2Instruction<
102
+ TAccountTreeAuthority extends string,
103
+ TAccountDestination extends string,
104
+ TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
105
+ >(
106
+ input: CollectV2Input<TAccountTreeAuthority, TAccountDestination>,
107
+ config?: { programAddress?: TProgramAddress },
108
+ ): CollectV2Instruction<
109
+ TProgramAddress,
110
+ TAccountTreeAuthority,
111
+ TAccountDestination
112
+ > {
113
+ // Program address.
114
+ const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
115
+
116
+ // Original accounts.
117
+ const originalAccounts = {
118
+ treeAuthority: { value: input.treeAuthority ?? null, isWritable: true },
119
+ destination: { value: input.destination ?? null, isWritable: true },
120
+ };
121
+ const accounts = originalAccounts as Record<
122
+ keyof typeof originalAccounts,
123
+ ResolvedInstructionAccount
124
+ >;
125
+
126
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
127
+ return Object.freeze({
128
+ accounts: [
129
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
130
+ getAccountMeta("destination", accounts.destination),
131
+ ],
132
+ data: getCollectV2InstructionDataEncoder().encode({}),
133
+ programAddress,
134
+ } as CollectV2Instruction<
135
+ TProgramAddress,
136
+ TAccountTreeAuthority,
137
+ TAccountDestination
138
+ >);
139
+ }
140
+
141
+ export interface ParsedCollectV2Instruction<
142
+ TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
143
+ TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],
144
+ > {
145
+ programAddress: Address<TProgram>;
146
+ accounts: {
147
+ treeAuthority: TAccountMetas[0];
148
+ destination: TAccountMetas[1];
149
+ };
150
+ data: CollectV2InstructionData;
151
+ }
152
+
153
+ export function parseCollectV2Instruction<
154
+ TProgram extends string,
155
+ TAccountMetas extends readonly AccountMeta[],
156
+ >(
157
+ instruction: Instruction<TProgram> &
158
+ InstructionWithAccounts<TAccountMetas> &
159
+ InstructionWithData<ReadonlyUint8Array>,
160
+ ): ParsedCollectV2Instruction<TProgram, TAccountMetas> {
161
+ if (instruction.accounts.length < 2) {
162
+ throw new SolanaError(
163
+ SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
164
+ {
165
+ actualAccountMetas: instruction.accounts.length,
166
+ expectedAccountMetas: 2,
167
+ },
168
+ );
169
+ }
170
+ let accountIndex = 0;
171
+ const getNextAccount = () => {
172
+ const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;
173
+ accountIndex += 1;
174
+ return accountMeta;
175
+ };
176
+ return {
177
+ programAddress: instruction.programAddress,
178
+ accounts: {
179
+ treeAuthority: getNextAccount(),
180
+ destination: getNextAccount(),
181
+ },
182
+ data: getCollectV2InstructionDataDecoder().decode(instruction.data),
183
+ };
184
+ }
@@ -0,0 +1,388 @@
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
+ FixedSizeCodec,
14
+ FixedSizeDecoder,
15
+ FixedSizeEncoder,
16
+ Instruction,
17
+ InstructionWithAccounts,
18
+ InstructionWithData,
19
+ ReadonlyAccount,
20
+ ReadonlySignerAccount,
21
+ ReadonlyUint8Array,
22
+ TransactionSigner,
23
+ WritableAccount,
24
+ WritableSignerAccount,
25
+ } from "@solana/kit";
26
+ import type { ResolvedInstructionAccount } from "@solana/program-client-core";
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
+
42
+ export const COMPRESS_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([
43
+ 82, 193, 176, 117, 176, 21, 115, 253,
44
+ ]);
45
+
46
+ export function getCompressDiscriminatorBytes(): ReadonlyUint8Array {
47
+ return fixEncoderSize(getBytesEncoder(), 8).encode(COMPRESS_DISCRIMINATOR);
48
+ }
49
+
50
+ export type CompressInstruction<
51
+ TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
52
+ TAccountTreeAuthority extends string | AccountMeta = string,
53
+ TAccountLeafOwner extends string | AccountMeta = string,
54
+ TAccountLeafDelegate extends string | AccountMeta = string,
55
+ TAccountMerkleTree extends string | AccountMeta = string,
56
+ TAccountTokenAccount extends string | AccountMeta = string,
57
+ TAccountMint extends string | AccountMeta = string,
58
+ TAccountMetadata extends string | AccountMeta = string,
59
+ TAccountMasterEdition extends string | AccountMeta = string,
60
+ TAccountPayer extends string | AccountMeta = string,
61
+ TAccountLogWrapper extends string | AccountMeta = string,
62
+ TAccountCompressionProgram extends string | AccountMeta = string,
63
+ TAccountTokenProgram extends
64
+ | string
65
+ | AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
66
+ TAccountTokenMetadataProgram extends
67
+ | string
68
+ | AccountMeta = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
69
+ TAccountSystemProgram extends
70
+ | string
71
+ | AccountMeta = "11111111111111111111111111111111",
72
+ TRemainingAccounts extends readonly AccountMeta[] = [],
73
+ > = Instruction<TProgram> &
74
+ InstructionWithData<ReadonlyUint8Array> &
75
+ InstructionWithAccounts<
76
+ [
77
+ TAccountTreeAuthority extends string
78
+ ? ReadonlyAccount<TAccountTreeAuthority>
79
+ : TAccountTreeAuthority,
80
+ TAccountLeafOwner extends string
81
+ ? ReadonlySignerAccount<TAccountLeafOwner> &
82
+ AccountSignerMeta<TAccountLeafOwner>
83
+ : TAccountLeafOwner,
84
+ TAccountLeafDelegate extends string
85
+ ? ReadonlyAccount<TAccountLeafDelegate>
86
+ : TAccountLeafDelegate,
87
+ TAccountMerkleTree extends string
88
+ ? ReadonlyAccount<TAccountMerkleTree>
89
+ : TAccountMerkleTree,
90
+ TAccountTokenAccount extends string
91
+ ? WritableAccount<TAccountTokenAccount>
92
+ : TAccountTokenAccount,
93
+ TAccountMint extends string
94
+ ? WritableAccount<TAccountMint>
95
+ : TAccountMint,
96
+ TAccountMetadata extends string
97
+ ? WritableAccount<TAccountMetadata>
98
+ : TAccountMetadata,
99
+ TAccountMasterEdition extends string
100
+ ? WritableAccount<TAccountMasterEdition>
101
+ : TAccountMasterEdition,
102
+ TAccountPayer extends string
103
+ ? WritableSignerAccount<TAccountPayer> &
104
+ AccountSignerMeta<TAccountPayer>
105
+ : TAccountPayer,
106
+ TAccountLogWrapper extends string
107
+ ? ReadonlyAccount<TAccountLogWrapper>
108
+ : TAccountLogWrapper,
109
+ TAccountCompressionProgram extends string
110
+ ? ReadonlyAccount<TAccountCompressionProgram>
111
+ : TAccountCompressionProgram,
112
+ TAccountTokenProgram extends string
113
+ ? ReadonlyAccount<TAccountTokenProgram>
114
+ : TAccountTokenProgram,
115
+ TAccountTokenMetadataProgram extends string
116
+ ? ReadonlyAccount<TAccountTokenMetadataProgram>
117
+ : TAccountTokenMetadataProgram,
118
+ TAccountSystemProgram extends string
119
+ ? ReadonlyAccount<TAccountSystemProgram>
120
+ : TAccountSystemProgram,
121
+ ...TRemainingAccounts,
122
+ ]
123
+ >;
124
+
125
+ export interface CompressInstructionData {
126
+ discriminator: ReadonlyUint8Array;
127
+ }
128
+
129
+ export type CompressInstructionDataArgs = {};
130
+
131
+ export function getCompressInstructionDataEncoder(): FixedSizeEncoder<CompressInstructionDataArgs> {
132
+ return transformEncoder(
133
+ getStructEncoder([["discriminator", fixEncoderSize(getBytesEncoder(), 8)]]),
134
+ (value) => ({ ...value, discriminator: COMPRESS_DISCRIMINATOR }),
135
+ );
136
+ }
137
+
138
+ export function getCompressInstructionDataDecoder(): FixedSizeDecoder<CompressInstructionData> {
139
+ return getStructDecoder([
140
+ ["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
141
+ ]);
142
+ }
143
+
144
+ export function getCompressInstructionDataCodec(): FixedSizeCodec<
145
+ CompressInstructionDataArgs,
146
+ CompressInstructionData
147
+ > {
148
+ return combineCodec(
149
+ getCompressInstructionDataEncoder(),
150
+ getCompressInstructionDataDecoder(),
151
+ );
152
+ }
153
+
154
+ export interface CompressInput<
155
+ TAccountTreeAuthority extends string = string,
156
+ TAccountLeafOwner extends string = string,
157
+ TAccountLeafDelegate extends string = string,
158
+ TAccountMerkleTree extends string = string,
159
+ TAccountTokenAccount extends string = string,
160
+ TAccountMint extends string = string,
161
+ TAccountMetadata extends string = string,
162
+ TAccountMasterEdition extends string = string,
163
+ TAccountPayer extends string = string,
164
+ TAccountLogWrapper extends string = string,
165
+ TAccountCompressionProgram extends string = string,
166
+ TAccountTokenProgram extends string = string,
167
+ TAccountTokenMetadataProgram extends string = string,
168
+ TAccountSystemProgram extends string = string,
169
+ > {
170
+ treeAuthority: Address<TAccountTreeAuthority>;
171
+ leafOwner: TransactionSigner<TAccountLeafOwner>;
172
+ leafDelegate: Address<TAccountLeafDelegate>;
173
+ merkleTree: Address<TAccountMerkleTree>;
174
+ tokenAccount: Address<TAccountTokenAccount>;
175
+ mint: Address<TAccountMint>;
176
+ metadata: Address<TAccountMetadata>;
177
+ masterEdition: Address<TAccountMasterEdition>;
178
+ payer: TransactionSigner<TAccountPayer>;
179
+ logWrapper: Address<TAccountLogWrapper>;
180
+ compressionProgram: Address<TAccountCompressionProgram>;
181
+ tokenProgram?: Address<TAccountTokenProgram>;
182
+ tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
183
+ systemProgram?: Address<TAccountSystemProgram>;
184
+ }
185
+
186
+ export function getCompressInstruction<
187
+ TAccountTreeAuthority extends string,
188
+ TAccountLeafOwner extends string,
189
+ TAccountLeafDelegate extends string,
190
+ TAccountMerkleTree extends string,
191
+ TAccountTokenAccount extends string,
192
+ TAccountMint extends string,
193
+ TAccountMetadata extends string,
194
+ TAccountMasterEdition extends string,
195
+ TAccountPayer extends string,
196
+ TAccountLogWrapper extends string,
197
+ TAccountCompressionProgram extends string,
198
+ TAccountTokenProgram extends string,
199
+ TAccountTokenMetadataProgram extends string,
200
+ TAccountSystemProgram extends string,
201
+ TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
202
+ >(
203
+ input: CompressInput<
204
+ TAccountTreeAuthority,
205
+ TAccountLeafOwner,
206
+ TAccountLeafDelegate,
207
+ TAccountMerkleTree,
208
+ TAccountTokenAccount,
209
+ TAccountMint,
210
+ TAccountMetadata,
211
+ TAccountMasterEdition,
212
+ TAccountPayer,
213
+ TAccountLogWrapper,
214
+ TAccountCompressionProgram,
215
+ TAccountTokenProgram,
216
+ TAccountTokenMetadataProgram,
217
+ TAccountSystemProgram
218
+ >,
219
+ config?: { programAddress?: TProgramAddress },
220
+ ): CompressInstruction<
221
+ TProgramAddress,
222
+ TAccountTreeAuthority,
223
+ TAccountLeafOwner,
224
+ TAccountLeafDelegate,
225
+ TAccountMerkleTree,
226
+ TAccountTokenAccount,
227
+ TAccountMint,
228
+ TAccountMetadata,
229
+ TAccountMasterEdition,
230
+ TAccountPayer,
231
+ TAccountLogWrapper,
232
+ TAccountCompressionProgram,
233
+ TAccountTokenProgram,
234
+ TAccountTokenMetadataProgram,
235
+ TAccountSystemProgram
236
+ > {
237
+ // Program address.
238
+ const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
239
+
240
+ // Original accounts.
241
+ const originalAccounts = {
242
+ treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
243
+ leafOwner: { value: input.leafOwner ?? null, isWritable: false },
244
+ leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
245
+ merkleTree: { value: input.merkleTree ?? null, isWritable: false },
246
+ tokenAccount: { value: input.tokenAccount ?? null, isWritable: true },
247
+ mint: { value: input.mint ?? null, isWritable: true },
248
+ metadata: { value: input.metadata ?? null, isWritable: true },
249
+ masterEdition: { value: input.masterEdition ?? null, isWritable: true },
250
+ payer: { value: input.payer ?? null, isWritable: true },
251
+ logWrapper: { value: input.logWrapper ?? null, isWritable: false },
252
+ compressionProgram: {
253
+ value: input.compressionProgram ?? null,
254
+ isWritable: false,
255
+ },
256
+ tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
257
+ tokenMetadataProgram: {
258
+ value: input.tokenMetadataProgram ?? null,
259
+ isWritable: false,
260
+ },
261
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
262
+ };
263
+ const accounts = originalAccounts as Record<
264
+ keyof typeof originalAccounts,
265
+ ResolvedInstructionAccount
266
+ >;
267
+
268
+ // Resolve default values.
269
+ if (!accounts.tokenProgram.value) {
270
+ accounts.tokenProgram.value =
271
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
272
+ }
273
+ if (!accounts.tokenMetadataProgram.value) {
274
+ accounts.tokenMetadataProgram.value =
275
+ "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
276
+ }
277
+ if (!accounts.systemProgram.value) {
278
+ accounts.systemProgram.value =
279
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
280
+ }
281
+
282
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
283
+ return Object.freeze({
284
+ accounts: [
285
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
286
+ getAccountMeta("leafOwner", accounts.leafOwner),
287
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
288
+ getAccountMeta("merkleTree", accounts.merkleTree),
289
+ getAccountMeta("tokenAccount", accounts.tokenAccount),
290
+ getAccountMeta("mint", accounts.mint),
291
+ getAccountMeta("metadata", accounts.metadata),
292
+ getAccountMeta("masterEdition", accounts.masterEdition),
293
+ getAccountMeta("payer", accounts.payer),
294
+ getAccountMeta("logWrapper", accounts.logWrapper),
295
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
296
+ getAccountMeta("tokenProgram", accounts.tokenProgram),
297
+ getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
298
+ getAccountMeta("systemProgram", accounts.systemProgram),
299
+ ],
300
+ data: getCompressInstructionDataEncoder().encode({}),
301
+ programAddress,
302
+ } as CompressInstruction<
303
+ TProgramAddress,
304
+ TAccountTreeAuthority,
305
+ TAccountLeafOwner,
306
+ TAccountLeafDelegate,
307
+ TAccountMerkleTree,
308
+ TAccountTokenAccount,
309
+ TAccountMint,
310
+ TAccountMetadata,
311
+ TAccountMasterEdition,
312
+ TAccountPayer,
313
+ TAccountLogWrapper,
314
+ TAccountCompressionProgram,
315
+ TAccountTokenProgram,
316
+ TAccountTokenMetadataProgram,
317
+ TAccountSystemProgram
318
+ >);
319
+ }
320
+
321
+ export interface ParsedCompressInstruction<
322
+ TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
323
+ TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],
324
+ > {
325
+ programAddress: Address<TProgram>;
326
+ accounts: {
327
+ treeAuthority: TAccountMetas[0];
328
+ leafOwner: TAccountMetas[1];
329
+ leafDelegate: TAccountMetas[2];
330
+ merkleTree: TAccountMetas[3];
331
+ tokenAccount: TAccountMetas[4];
332
+ mint: TAccountMetas[5];
333
+ metadata: TAccountMetas[6];
334
+ masterEdition: TAccountMetas[7];
335
+ payer: TAccountMetas[8];
336
+ logWrapper: TAccountMetas[9];
337
+ compressionProgram: TAccountMetas[10];
338
+ tokenProgram: TAccountMetas[11];
339
+ tokenMetadataProgram: TAccountMetas[12];
340
+ systemProgram: TAccountMetas[13];
341
+ };
342
+ data: CompressInstructionData;
343
+ }
344
+
345
+ export function parseCompressInstruction<
346
+ TProgram extends string,
347
+ TAccountMetas extends readonly AccountMeta[],
348
+ >(
349
+ instruction: Instruction<TProgram> &
350
+ InstructionWithAccounts<TAccountMetas> &
351
+ InstructionWithData<ReadonlyUint8Array>,
352
+ ): ParsedCompressInstruction<TProgram, TAccountMetas> {
353
+ if (instruction.accounts.length < 14) {
354
+ throw new SolanaError(
355
+ SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
356
+ {
357
+ actualAccountMetas: instruction.accounts.length,
358
+ expectedAccountMetas: 14,
359
+ },
360
+ );
361
+ }
362
+ let accountIndex = 0;
363
+ const getNextAccount = () => {
364
+ const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;
365
+ accountIndex += 1;
366
+ return accountMeta;
367
+ };
368
+ return {
369
+ programAddress: instruction.programAddress,
370
+ accounts: {
371
+ treeAuthority: getNextAccount(),
372
+ leafOwner: getNextAccount(),
373
+ leafDelegate: getNextAccount(),
374
+ merkleTree: getNextAccount(),
375
+ tokenAccount: getNextAccount(),
376
+ mint: getNextAccount(),
377
+ metadata: getNextAccount(),
378
+ masterEdition: getNextAccount(),
379
+ payer: getNextAccount(),
380
+ logWrapper: getNextAccount(),
381
+ compressionProgram: getNextAccount(),
382
+ tokenProgram: getNextAccount(),
383
+ tokenMetadataProgram: getNextAccount(),
384
+ systemProgram: getNextAccount(),
385
+ },
386
+ data: getCompressInstructionDataDecoder().decode(instruction.data),
387
+ };
388
+ }