@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,506 @@
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
+ ReadonlySignerAccount,
21
+ ReadonlyUint8Array,
22
+ TransactionSigner,
23
+ WritableAccount,
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
+ getAddressDecoder,
32
+ getAddressEncoder,
33
+ getArrayDecoder,
34
+ getArrayEncoder,
35
+ getBytesDecoder,
36
+ getBytesEncoder,
37
+ getStructDecoder,
38
+ getStructEncoder,
39
+ getU8Decoder,
40
+ getU8Encoder,
41
+ getU32Decoder,
42
+ getU32Encoder,
43
+ getU64Decoder,
44
+ getU64Encoder,
45
+ SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
46
+ SolanaError,
47
+ transformEncoder,
48
+ } from "@solana/kit";
49
+ import { getAccountMetaFactory } from "@solana/program-client-core";
50
+ import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
51
+ import {
52
+ getMetadataArgsDecoder,
53
+ getMetadataArgsEncoder,
54
+ } from "../types/index.js";
55
+
56
+ export const SET_AND_VERIFY_COLLECTION_DISCRIMINATOR: ReadonlyUint8Array =
57
+ new Uint8Array([235, 242, 121, 216, 158, 234, 180, 234]);
58
+
59
+ export function getSetAndVerifyCollectionDiscriminatorBytes(): ReadonlyUint8Array {
60
+ return fixEncoderSize(getBytesEncoder(), 8).encode(
61
+ SET_AND_VERIFY_COLLECTION_DISCRIMINATOR,
62
+ );
63
+ }
64
+
65
+ export type SetAndVerifyCollectionInstruction<
66
+ TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
67
+ TAccountTreeAuthority extends string | AccountMeta = string,
68
+ TAccountLeafOwner extends string | AccountMeta = string,
69
+ TAccountLeafDelegate extends string | AccountMeta = string,
70
+ TAccountMerkleTree extends string | AccountMeta = string,
71
+ TAccountPayer extends string | AccountMeta = string,
72
+ TAccountTreeDelegate extends string | AccountMeta = string,
73
+ TAccountCollectionAuthority extends string | AccountMeta = string,
74
+ TAccountCollectionAuthorityRecordPda extends string | AccountMeta = string,
75
+ TAccountCollectionMint extends string | AccountMeta = string,
76
+ TAccountCollectionMetadata extends string | AccountMeta = string,
77
+ TAccountEditionAccount extends string | AccountMeta = string,
78
+ TAccountBubblegumSigner extends string | AccountMeta = string,
79
+ TAccountLogWrapper extends string | AccountMeta = string,
80
+ TAccountCompressionProgram extends string | AccountMeta = string,
81
+ TAccountTokenMetadataProgram extends
82
+ | string
83
+ | AccountMeta = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
84
+ TAccountSystemProgram extends
85
+ | string
86
+ | AccountMeta = "11111111111111111111111111111111",
87
+ TRemainingAccounts extends readonly AccountMeta[] = [],
88
+ > = Instruction<TProgram> &
89
+ InstructionWithData<ReadonlyUint8Array> &
90
+ InstructionWithAccounts<
91
+ [
92
+ TAccountTreeAuthority extends string
93
+ ? ReadonlyAccount<TAccountTreeAuthority>
94
+ : TAccountTreeAuthority,
95
+ TAccountLeafOwner extends string
96
+ ? ReadonlyAccount<TAccountLeafOwner>
97
+ : TAccountLeafOwner,
98
+ TAccountLeafDelegate extends string
99
+ ? ReadonlyAccount<TAccountLeafDelegate>
100
+ : TAccountLeafDelegate,
101
+ TAccountMerkleTree extends string
102
+ ? WritableAccount<TAccountMerkleTree>
103
+ : TAccountMerkleTree,
104
+ TAccountPayer extends string
105
+ ? ReadonlySignerAccount<TAccountPayer> &
106
+ AccountSignerMeta<TAccountPayer>
107
+ : TAccountPayer,
108
+ TAccountTreeDelegate extends string
109
+ ? ReadonlyAccount<TAccountTreeDelegate>
110
+ : TAccountTreeDelegate,
111
+ TAccountCollectionAuthority extends string
112
+ ? ReadonlySignerAccount<TAccountCollectionAuthority> &
113
+ AccountSignerMeta<TAccountCollectionAuthority>
114
+ : TAccountCollectionAuthority,
115
+ TAccountCollectionAuthorityRecordPda extends string
116
+ ? ReadonlyAccount<TAccountCollectionAuthorityRecordPda>
117
+ : TAccountCollectionAuthorityRecordPda,
118
+ TAccountCollectionMint extends string
119
+ ? ReadonlyAccount<TAccountCollectionMint>
120
+ : TAccountCollectionMint,
121
+ TAccountCollectionMetadata extends string
122
+ ? WritableAccount<TAccountCollectionMetadata>
123
+ : TAccountCollectionMetadata,
124
+ TAccountEditionAccount extends string
125
+ ? ReadonlyAccount<TAccountEditionAccount>
126
+ : TAccountEditionAccount,
127
+ TAccountBubblegumSigner extends string
128
+ ? ReadonlyAccount<TAccountBubblegumSigner>
129
+ : TAccountBubblegumSigner,
130
+ TAccountLogWrapper extends string
131
+ ? ReadonlyAccount<TAccountLogWrapper>
132
+ : TAccountLogWrapper,
133
+ TAccountCompressionProgram extends string
134
+ ? ReadonlyAccount<TAccountCompressionProgram>
135
+ : TAccountCompressionProgram,
136
+ TAccountTokenMetadataProgram extends string
137
+ ? ReadonlyAccount<TAccountTokenMetadataProgram>
138
+ : TAccountTokenMetadataProgram,
139
+ TAccountSystemProgram extends string
140
+ ? ReadonlyAccount<TAccountSystemProgram>
141
+ : TAccountSystemProgram,
142
+ ...TRemainingAccounts,
143
+ ]
144
+ >;
145
+
146
+ export interface SetAndVerifyCollectionInstructionData {
147
+ discriminator: ReadonlyUint8Array;
148
+ root: number[];
149
+ dataHash: number[];
150
+ creatorHash: number[];
151
+ nonce: bigint;
152
+ index: number;
153
+ message: MetadataArgs;
154
+ collection: Address;
155
+ }
156
+
157
+ export interface SetAndVerifyCollectionInstructionDataArgs {
158
+ root: number[];
159
+ dataHash: number[];
160
+ creatorHash: number[];
161
+ nonce: number | bigint;
162
+ index: number;
163
+ message: MetadataArgsArgs;
164
+ collection: Address;
165
+ }
166
+
167
+ export function getSetAndVerifyCollectionInstructionDataEncoder(): Encoder<SetAndVerifyCollectionInstructionDataArgs> {
168
+ return transformEncoder(
169
+ getStructEncoder([
170
+ ["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
171
+ ["root", getArrayEncoder(getU8Encoder(), { size: 32 })],
172
+ ["dataHash", getArrayEncoder(getU8Encoder(), { size: 32 })],
173
+ ["creatorHash", getArrayEncoder(getU8Encoder(), { size: 32 })],
174
+ ["nonce", getU64Encoder()],
175
+ ["index", getU32Encoder()],
176
+ ["message", getMetadataArgsEncoder()],
177
+ ["collection", getAddressEncoder()],
178
+ ]),
179
+ (value) => ({
180
+ ...value,
181
+ discriminator: SET_AND_VERIFY_COLLECTION_DISCRIMINATOR,
182
+ }),
183
+ );
184
+ }
185
+
186
+ export function getSetAndVerifyCollectionInstructionDataDecoder(): Decoder<SetAndVerifyCollectionInstructionData> {
187
+ return getStructDecoder([
188
+ ["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
189
+ ["root", getArrayDecoder(getU8Decoder(), { size: 32 })],
190
+ ["dataHash", getArrayDecoder(getU8Decoder(), { size: 32 })],
191
+ ["creatorHash", getArrayDecoder(getU8Decoder(), { size: 32 })],
192
+ ["nonce", getU64Decoder()],
193
+ ["index", getU32Decoder()],
194
+ ["message", getMetadataArgsDecoder()],
195
+ ["collection", getAddressDecoder()],
196
+ ]);
197
+ }
198
+
199
+ export function getSetAndVerifyCollectionInstructionDataCodec(): Codec<
200
+ SetAndVerifyCollectionInstructionDataArgs,
201
+ SetAndVerifyCollectionInstructionData
202
+ > {
203
+ return combineCodec(
204
+ getSetAndVerifyCollectionInstructionDataEncoder(),
205
+ getSetAndVerifyCollectionInstructionDataDecoder(),
206
+ );
207
+ }
208
+
209
+ export interface SetAndVerifyCollectionInput<
210
+ TAccountTreeAuthority extends string = string,
211
+ TAccountLeafOwner extends string = string,
212
+ TAccountLeafDelegate extends string = string,
213
+ TAccountMerkleTree extends string = string,
214
+ TAccountPayer extends string = string,
215
+ TAccountTreeDelegate extends string = string,
216
+ TAccountCollectionAuthority extends string = string,
217
+ TAccountCollectionAuthorityRecordPda extends string = string,
218
+ TAccountCollectionMint extends string = string,
219
+ TAccountCollectionMetadata extends string = string,
220
+ TAccountEditionAccount extends string = string,
221
+ TAccountBubblegumSigner extends string = string,
222
+ TAccountLogWrapper extends string = string,
223
+ TAccountCompressionProgram extends string = string,
224
+ TAccountTokenMetadataProgram extends string = string,
225
+ TAccountSystemProgram extends string = string,
226
+ > {
227
+ treeAuthority: Address<TAccountTreeAuthority>;
228
+ leafOwner: Address<TAccountLeafOwner>;
229
+ leafDelegate: Address<TAccountLeafDelegate>;
230
+ merkleTree: Address<TAccountMerkleTree>;
231
+ payer: TransactionSigner<TAccountPayer>;
232
+ /**
233
+ * This account is checked to be a signer in
234
+ * the case of `set_and_verify_collection` where
235
+ * we are actually changing the NFT metadata.
236
+ */
237
+ treeDelegate: Address<TAccountTreeDelegate>;
238
+ collectionAuthority: TransactionSigner<TAccountCollectionAuthority>;
239
+ /**
240
+ * If there is no collecton authority record PDA then
241
+ * this must be the Bubblegum program address.
242
+ */
243
+ collectionAuthorityRecordPda: Address<TAccountCollectionAuthorityRecordPda>;
244
+ collectionMint: Address<TAccountCollectionMint>;
245
+ collectionMetadata: Address<TAccountCollectionMetadata>;
246
+ editionAccount: Address<TAccountEditionAccount>;
247
+ bubblegumSigner: Address<TAccountBubblegumSigner>;
248
+ logWrapper: Address<TAccountLogWrapper>;
249
+ compressionProgram: Address<TAccountCompressionProgram>;
250
+ tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
251
+ systemProgram?: Address<TAccountSystemProgram>;
252
+ root: SetAndVerifyCollectionInstructionDataArgs["root"];
253
+ dataHash: SetAndVerifyCollectionInstructionDataArgs["dataHash"];
254
+ creatorHash: SetAndVerifyCollectionInstructionDataArgs["creatorHash"];
255
+ nonce: SetAndVerifyCollectionInstructionDataArgs["nonce"];
256
+ index: SetAndVerifyCollectionInstructionDataArgs["index"];
257
+ message: SetAndVerifyCollectionInstructionDataArgs["message"];
258
+ collection: SetAndVerifyCollectionInstructionDataArgs["collection"];
259
+ }
260
+
261
+ export function getSetAndVerifyCollectionInstruction<
262
+ TAccountTreeAuthority extends string,
263
+ TAccountLeafOwner extends string,
264
+ TAccountLeafDelegate extends string,
265
+ TAccountMerkleTree extends string,
266
+ TAccountPayer extends string,
267
+ TAccountTreeDelegate extends string,
268
+ TAccountCollectionAuthority extends string,
269
+ TAccountCollectionAuthorityRecordPda extends string,
270
+ TAccountCollectionMint extends string,
271
+ TAccountCollectionMetadata extends string,
272
+ TAccountEditionAccount extends string,
273
+ TAccountBubblegumSigner extends string,
274
+ TAccountLogWrapper extends string,
275
+ TAccountCompressionProgram extends string,
276
+ TAccountTokenMetadataProgram extends string,
277
+ TAccountSystemProgram extends string,
278
+ TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
279
+ >(
280
+ input: SetAndVerifyCollectionInput<
281
+ TAccountTreeAuthority,
282
+ TAccountLeafOwner,
283
+ TAccountLeafDelegate,
284
+ TAccountMerkleTree,
285
+ TAccountPayer,
286
+ TAccountTreeDelegate,
287
+ TAccountCollectionAuthority,
288
+ TAccountCollectionAuthorityRecordPda,
289
+ TAccountCollectionMint,
290
+ TAccountCollectionMetadata,
291
+ TAccountEditionAccount,
292
+ TAccountBubblegumSigner,
293
+ TAccountLogWrapper,
294
+ TAccountCompressionProgram,
295
+ TAccountTokenMetadataProgram,
296
+ TAccountSystemProgram
297
+ >,
298
+ config?: { programAddress?: TProgramAddress },
299
+ ): SetAndVerifyCollectionInstruction<
300
+ TProgramAddress,
301
+ TAccountTreeAuthority,
302
+ TAccountLeafOwner,
303
+ TAccountLeafDelegate,
304
+ TAccountMerkleTree,
305
+ TAccountPayer,
306
+ TAccountTreeDelegate,
307
+ TAccountCollectionAuthority,
308
+ TAccountCollectionAuthorityRecordPda,
309
+ TAccountCollectionMint,
310
+ TAccountCollectionMetadata,
311
+ TAccountEditionAccount,
312
+ TAccountBubblegumSigner,
313
+ TAccountLogWrapper,
314
+ TAccountCompressionProgram,
315
+ TAccountTokenMetadataProgram,
316
+ TAccountSystemProgram
317
+ > {
318
+ // Program address.
319
+ const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
320
+
321
+ // Original accounts.
322
+ const originalAccounts = {
323
+ treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
324
+ leafOwner: { value: input.leafOwner ?? null, isWritable: false },
325
+ leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
326
+ merkleTree: { value: input.merkleTree ?? null, isWritable: true },
327
+ payer: { value: input.payer ?? null, isWritable: false },
328
+ treeDelegate: { value: input.treeDelegate ?? null, isWritable: false },
329
+ collectionAuthority: {
330
+ value: input.collectionAuthority ?? null,
331
+ isWritable: false,
332
+ },
333
+ collectionAuthorityRecordPda: {
334
+ value: input.collectionAuthorityRecordPda ?? null,
335
+ isWritable: false,
336
+ },
337
+ collectionMint: { value: input.collectionMint ?? null, isWritable: false },
338
+ collectionMetadata: {
339
+ value: input.collectionMetadata ?? null,
340
+ isWritable: true,
341
+ },
342
+ editionAccount: { value: input.editionAccount ?? null, isWritable: false },
343
+ bubblegumSigner: {
344
+ value: input.bubblegumSigner ?? null,
345
+ isWritable: false,
346
+ },
347
+ logWrapper: { value: input.logWrapper ?? null, isWritable: false },
348
+ compressionProgram: {
349
+ value: input.compressionProgram ?? null,
350
+ isWritable: false,
351
+ },
352
+ tokenMetadataProgram: {
353
+ value: input.tokenMetadataProgram ?? null,
354
+ isWritable: false,
355
+ },
356
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
357
+ };
358
+ const accounts = originalAccounts as Record<
359
+ keyof typeof originalAccounts,
360
+ ResolvedInstructionAccount
361
+ >;
362
+
363
+ // Original args.
364
+ const args = { ...input };
365
+
366
+ // Resolve default values.
367
+ if (!accounts.tokenMetadataProgram.value) {
368
+ accounts.tokenMetadataProgram.value =
369
+ "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
370
+ }
371
+ if (!accounts.systemProgram.value) {
372
+ accounts.systemProgram.value =
373
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
374
+ }
375
+
376
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
377
+ return Object.freeze({
378
+ accounts: [
379
+ getAccountMeta("treeAuthority", accounts.treeAuthority),
380
+ getAccountMeta("leafOwner", accounts.leafOwner),
381
+ getAccountMeta("leafDelegate", accounts.leafDelegate),
382
+ getAccountMeta("merkleTree", accounts.merkleTree),
383
+ getAccountMeta("payer", accounts.payer),
384
+ getAccountMeta("treeDelegate", accounts.treeDelegate),
385
+ getAccountMeta("collectionAuthority", accounts.collectionAuthority),
386
+ getAccountMeta(
387
+ "collectionAuthorityRecordPda",
388
+ accounts.collectionAuthorityRecordPda,
389
+ ),
390
+ getAccountMeta("collectionMint", accounts.collectionMint),
391
+ getAccountMeta("collectionMetadata", accounts.collectionMetadata),
392
+ getAccountMeta("editionAccount", accounts.editionAccount),
393
+ getAccountMeta("bubblegumSigner", accounts.bubblegumSigner),
394
+ getAccountMeta("logWrapper", accounts.logWrapper),
395
+ getAccountMeta("compressionProgram", accounts.compressionProgram),
396
+ getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
397
+ getAccountMeta("systemProgram", accounts.systemProgram),
398
+ ],
399
+ data: getSetAndVerifyCollectionInstructionDataEncoder().encode(
400
+ args as SetAndVerifyCollectionInstructionDataArgs,
401
+ ),
402
+ programAddress,
403
+ } as SetAndVerifyCollectionInstruction<
404
+ TProgramAddress,
405
+ TAccountTreeAuthority,
406
+ TAccountLeafOwner,
407
+ TAccountLeafDelegate,
408
+ TAccountMerkleTree,
409
+ TAccountPayer,
410
+ TAccountTreeDelegate,
411
+ TAccountCollectionAuthority,
412
+ TAccountCollectionAuthorityRecordPda,
413
+ TAccountCollectionMint,
414
+ TAccountCollectionMetadata,
415
+ TAccountEditionAccount,
416
+ TAccountBubblegumSigner,
417
+ TAccountLogWrapper,
418
+ TAccountCompressionProgram,
419
+ TAccountTokenMetadataProgram,
420
+ TAccountSystemProgram
421
+ >);
422
+ }
423
+
424
+ export interface ParsedSetAndVerifyCollectionInstruction<
425
+ TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
426
+ TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],
427
+ > {
428
+ programAddress: Address<TProgram>;
429
+ accounts: {
430
+ treeAuthority: TAccountMetas[0];
431
+ leafOwner: TAccountMetas[1];
432
+ leafDelegate: TAccountMetas[2];
433
+ merkleTree: TAccountMetas[3];
434
+ payer: TAccountMetas[4];
435
+ /**
436
+ * This account is checked to be a signer in
437
+ * the case of `set_and_verify_collection` where
438
+ * we are actually changing the NFT metadata.
439
+ */
440
+ treeDelegate: TAccountMetas[5];
441
+ collectionAuthority: TAccountMetas[6];
442
+ /**
443
+ * If there is no collecton authority record PDA then
444
+ * this must be the Bubblegum program address.
445
+ */
446
+ collectionAuthorityRecordPda: TAccountMetas[7];
447
+ collectionMint: TAccountMetas[8];
448
+ collectionMetadata: TAccountMetas[9];
449
+ editionAccount: TAccountMetas[10];
450
+ bubblegumSigner: TAccountMetas[11];
451
+ logWrapper: TAccountMetas[12];
452
+ compressionProgram: TAccountMetas[13];
453
+ tokenMetadataProgram: TAccountMetas[14];
454
+ systemProgram: TAccountMetas[15];
455
+ };
456
+ data: SetAndVerifyCollectionInstructionData;
457
+ }
458
+
459
+ export function parseSetAndVerifyCollectionInstruction<
460
+ TProgram extends string,
461
+ TAccountMetas extends readonly AccountMeta[],
462
+ >(
463
+ instruction: Instruction<TProgram> &
464
+ InstructionWithAccounts<TAccountMetas> &
465
+ InstructionWithData<ReadonlyUint8Array>,
466
+ ): ParsedSetAndVerifyCollectionInstruction<TProgram, TAccountMetas> {
467
+ if (instruction.accounts.length < 16) {
468
+ throw new SolanaError(
469
+ SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
470
+ {
471
+ actualAccountMetas: instruction.accounts.length,
472
+ expectedAccountMetas: 16,
473
+ },
474
+ );
475
+ }
476
+ let accountIndex = 0;
477
+ const getNextAccount = () => {
478
+ const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;
479
+ accountIndex += 1;
480
+ return accountMeta;
481
+ };
482
+ return {
483
+ programAddress: instruction.programAddress,
484
+ accounts: {
485
+ treeAuthority: getNextAccount(),
486
+ leafOwner: getNextAccount(),
487
+ leafDelegate: getNextAccount(),
488
+ merkleTree: getNextAccount(),
489
+ payer: getNextAccount(),
490
+ treeDelegate: getNextAccount(),
491
+ collectionAuthority: getNextAccount(),
492
+ collectionAuthorityRecordPda: getNextAccount(),
493
+ collectionMint: getNextAccount(),
494
+ collectionMetadata: getNextAccount(),
495
+ editionAccount: getNextAccount(),
496
+ bubblegumSigner: getNextAccount(),
497
+ logWrapper: getNextAccount(),
498
+ compressionProgram: getNextAccount(),
499
+ tokenMetadataProgram: getNextAccount(),
500
+ systemProgram: getNextAccount(),
501
+ },
502
+ data: getSetAndVerifyCollectionInstructionDataDecoder().decode(
503
+ instruction.data,
504
+ ),
505
+ };
506
+ }