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