@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.
- package/README.md +15 -1
- package/dist/.tsbuildinfo +1 -0
- package/dist/generated/accounts/index.d.ts +10 -0
- package/dist/generated/accounts/index.d.ts.map +1 -0
- package/dist/generated/accounts/index.js +10 -0
- package/dist/generated/accounts/index.js.map +1 -0
- package/dist/generated/accounts/treeConfig.d.ts +44 -0
- package/dist/generated/accounts/treeConfig.d.ts.map +1 -0
- package/dist/generated/accounts/treeConfig.js +67 -0
- package/dist/generated/accounts/treeConfig.js.map +1 -0
- package/dist/generated/accounts/voucher.d.ts +36 -0
- package/dist/generated/accounts/voucher.d.ts.map +1 -0
- package/dist/generated/accounts/voucher.js +59 -0
- package/dist/generated/accounts/voucher.js.map +1 -0
- package/dist/generated/errors/bubblegum.d.ts +134 -0
- package/dist/generated/errors/bubblegum.d.ts.map +1 -0
- package/dist/generated/errors/bubblegum.js +195 -0
- package/dist/generated/errors/bubblegum.js.map +1 -0
- package/dist/generated/errors/index.d.ts +9 -0
- package/dist/generated/errors/index.d.ts.map +1 -0
- package/dist/generated/errors/index.js +9 -0
- package/dist/generated/errors/index.js.map +1 -0
- package/dist/generated/index.d.ts +13 -0
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/index.js +13 -0
- package/dist/generated/index.js.map +1 -0
- package/dist/generated/instructions/burn.d.ts +71 -0
- package/dist/generated/instructions/burn.d.ts.map +1 -0
- package/dist/generated/instructions/burn.js +106 -0
- package/dist/generated/instructions/burn.js.map +1 -0
- package/dist/generated/instructions/burnV2.d.ts +102 -0
- package/dist/generated/instructions/burnV2.d.ts.map +1 -0
- package/dist/generated/instructions/burnV2.js +144 -0
- package/dist/generated/instructions/burnV2.js.map +1 -0
- package/dist/generated/instructions/cancelRedeem.d.ts +59 -0
- package/dist/generated/instructions/cancelRedeem.d.ts.map +1 -0
- package/dist/generated/instructions/cancelRedeem.js +98 -0
- package/dist/generated/instructions/cancelRedeem.js.map +1 -0
- package/dist/generated/instructions/closeTreeV2.d.ts +65 -0
- package/dist/generated/instructions/closeTreeV2.d.ts.map +1 -0
- package/dist/generated/instructions/closeTreeV2.js +92 -0
- package/dist/generated/instructions/closeTreeV2.js.map +1 -0
- package/dist/generated/instructions/collectV2.d.ts +40 -0
- package/dist/generated/instructions/collectV2.d.ts.map +1 -0
- package/dist/generated/instructions/collectV2.js +69 -0
- package/dist/generated/instructions/collectV2.js.map +1 -0
- package/dist/generated/instructions/compress.d.ts +76 -0
- package/dist/generated/instructions/compress.d.ts.map +1 -0
- package/dist/generated/instructions/compress.js +124 -0
- package/dist/generated/instructions/compress.js.map +1 -0
- package/dist/generated/instructions/createTree.d.ts +65 -0
- package/dist/generated/instructions/createTree.d.ts.map +1 -0
- package/dist/generated/instructions/createTree.js +102 -0
- package/dist/generated/instructions/createTree.js.map +1 -0
- package/dist/generated/instructions/createTreeV2.d.ts +67 -0
- package/dist/generated/instructions/createTreeV2.d.ts.map +1 -0
- package/dist/generated/instructions/createTreeV2.js +108 -0
- package/dist/generated/instructions/createTreeV2.js.map +1 -0
- package/dist/generated/instructions/decompressV1.d.ts +78 -0
- package/dist/generated/instructions/decompressV1.d.ts.map +1 -0
- package/dist/generated/instructions/decompressV1.js +136 -0
- package/dist/generated/instructions/decompressV1.js.map +1 -0
- package/dist/generated/instructions/delegate.d.ts +74 -0
- package/dist/generated/instructions/delegate.d.ts.map +1 -0
- package/dist/generated/instructions/delegate.js +115 -0
- package/dist/generated/instructions/delegate.js.map +1 -0
- package/dist/generated/instructions/delegateAndFreezeV2.d.ts +90 -0
- package/dist/generated/instructions/delegateAndFreezeV2.d.ts.map +1 -0
- package/dist/generated/instructions/delegateAndFreezeV2.js +143 -0
- package/dist/generated/instructions/delegateAndFreezeV2.js.map +1 -0
- package/dist/generated/instructions/delegateV2.d.ts +90 -0
- package/dist/generated/instructions/delegateV2.d.ts.map +1 -0
- package/dist/generated/instructions/delegateV2.js +142 -0
- package/dist/generated/instructions/delegateV2.js.map +1 -0
- package/dist/generated/instructions/freezeV2.d.ts +94 -0
- package/dist/generated/instructions/freezeV2.d.ts.map +1 -0
- package/dist/generated/instructions/freezeV2.js +131 -0
- package/dist/generated/instructions/freezeV2.js.map +1 -0
- package/dist/generated/instructions/index.d.ts +44 -0
- package/dist/generated/instructions/index.d.ts.map +1 -0
- package/dist/generated/instructions/index.js +44 -0
- package/dist/generated/instructions/index.js.map +1 -0
- package/dist/generated/instructions/mintToCollectionV1.d.ts +95 -0
- package/dist/generated/instructions/mintToCollectionV1.d.ts.map +1 -0
- package/dist/generated/instructions/mintToCollectionV1.js +146 -0
- package/dist/generated/instructions/mintToCollectionV1.js.map +1 -0
- package/dist/generated/instructions/mintV1.d.ts +66 -0
- package/dist/generated/instructions/mintV1.d.ts.map +1 -0
- package/dist/generated/instructions/mintV1.js +105 -0
- package/dist/generated/instructions/mintV1.js.map +1 -0
- package/dist/generated/instructions/mintV2.d.ts +88 -0
- package/dist/generated/instructions/mintV2.d.ts.map +1 -0
- package/dist/generated/instructions/mintV2.js +143 -0
- package/dist/generated/instructions/mintV2.js.map +1 -0
- package/dist/generated/instructions/redeem.d.ts +74 -0
- package/dist/generated/instructions/redeem.d.ts.map +1 -0
- package/dist/generated/instructions/redeem.js +109 -0
- package/dist/generated/instructions/redeem.js.map +1 -0
- package/dist/generated/instructions/setAndVerifyCollection.d.ts +123 -0
- package/dist/generated/instructions/setAndVerifyCollection.d.ts.map +1 -0
- package/dist/generated/instructions/setAndVerifyCollection.js +158 -0
- package/dist/generated/instructions/setAndVerifyCollection.js.map +1 -0
- package/dist/generated/instructions/setCollectionV2.d.ts +116 -0
- package/dist/generated/instructions/setCollectionV2.d.ts.map +1 -0
- package/dist/generated/instructions/setCollectionV2.js +153 -0
- package/dist/generated/instructions/setCollectionV2.js.map +1 -0
- package/dist/generated/instructions/setDecompressableState.d.ts +45 -0
- package/dist/generated/instructions/setDecompressableState.d.ts.map +1 -0
- package/dist/generated/instructions/setDecompressableState.js +77 -0
- package/dist/generated/instructions/setDecompressableState.js.map +1 -0
- package/dist/generated/instructions/setDecompressibleState.d.ts +45 -0
- package/dist/generated/instructions/setDecompressibleState.d.ts.map +1 -0
- package/dist/generated/instructions/setDecompressibleState.js +77 -0
- package/dist/generated/instructions/setDecompressibleState.js.map +1 -0
- package/dist/generated/instructions/setNonTransferableV2.d.ts +96 -0
- package/dist/generated/instructions/setNonTransferableV2.d.ts.map +1 -0
- package/dist/generated/instructions/setNonTransferableV2.js +132 -0
- package/dist/generated/instructions/setNonTransferableV2.js.map +1 -0
- package/dist/generated/instructions/setTreeDelegate.d.ts +49 -0
- package/dist/generated/instructions/setTreeDelegate.d.ts.map +1 -0
- package/dist/generated/instructions/setTreeDelegate.js +84 -0
- package/dist/generated/instructions/setTreeDelegate.js.map +1 -0
- package/dist/generated/instructions/thawAndRevokeV2.d.ts +85 -0
- package/dist/generated/instructions/thawAndRevokeV2.d.ts.map +1 -0
- package/dist/generated/instructions/thawAndRevokeV2.js +131 -0
- package/dist/generated/instructions/thawAndRevokeV2.js.map +1 -0
- package/dist/generated/instructions/thawV2.d.ts +94 -0
- package/dist/generated/instructions/thawV2.d.ts.map +1 -0
- package/dist/generated/instructions/thawV2.js +131 -0
- package/dist/generated/instructions/thawV2.js.map +1 -0
- package/dist/generated/instructions/transfer.d.ts +74 -0
- package/dist/generated/instructions/transfer.d.ts.map +1 -0
- package/dist/generated/instructions/transfer.js +109 -0
- package/dist/generated/instructions/transfer.js.map +1 -0
- package/dist/generated/instructions/transferV2.d.ts +99 -0
- package/dist/generated/instructions/transferV2.d.ts.map +1 -0
- package/dist/generated/instructions/transferV2.js +134 -0
- package/dist/generated/instructions/transferV2.js.map +1 -0
- package/dist/generated/instructions/unverifyCollection.d.ts +120 -0
- package/dist/generated/instructions/unverifyCollection.d.ts.map +1 -0
- package/dist/generated/instructions/unverifyCollection.js +153 -0
- package/dist/generated/instructions/unverifyCollection.js.map +1 -0
- package/dist/generated/instructions/unverifyCreator.d.ts +81 -0
- package/dist/generated/instructions/unverifyCreator.d.ts.map +1 -0
- package/dist/generated/instructions/unverifyCreator.js +113 -0
- package/dist/generated/instructions/unverifyCreator.js.map +1 -0
- package/dist/generated/instructions/unverifyCreatorV2.d.ts +85 -0
- package/dist/generated/instructions/unverifyCreatorV2.d.ts.map +1 -0
- package/dist/generated/instructions/unverifyCreatorV2.js +125 -0
- package/dist/generated/instructions/unverifyCreatorV2.js.map +1 -0
- package/dist/generated/instructions/updateAssetDataV2.d.ts +101 -0
- package/dist/generated/instructions/updateAssetDataV2.d.ts.map +1 -0
- package/dist/generated/instructions/updateAssetDataV2.js +143 -0
- package/dist/generated/instructions/updateAssetDataV2.js.map +1 -0
- package/dist/generated/instructions/updateMetadata.d.ts +102 -0
- package/dist/generated/instructions/updateMetadata.d.ts.map +1 -0
- package/dist/generated/instructions/updateMetadata.js +142 -0
- package/dist/generated/instructions/updateMetadata.js.map +1 -0
- package/dist/generated/instructions/updateMetadataV2.d.ts +97 -0
- package/dist/generated/instructions/updateMetadataV2.d.ts.map +1 -0
- package/dist/generated/instructions/updateMetadataV2.js +130 -0
- package/dist/generated/instructions/updateMetadataV2.js.map +1 -0
- package/dist/generated/instructions/verifyCollection.d.ts +120 -0
- package/dist/generated/instructions/verifyCollection.d.ts.map +1 -0
- package/dist/generated/instructions/verifyCollection.js +153 -0
- package/dist/generated/instructions/verifyCollection.js.map +1 -0
- package/dist/generated/instructions/verifyCreator.d.ts +81 -0
- package/dist/generated/instructions/verifyCreator.d.ts.map +1 -0
- package/dist/generated/instructions/verifyCreator.js +115 -0
- package/dist/generated/instructions/verifyCreator.js.map +1 -0
- package/dist/generated/instructions/verifyCreatorV2.d.ts +85 -0
- package/dist/generated/instructions/verifyCreatorV2.d.ts.map +1 -0
- package/dist/generated/instructions/verifyCreatorV2.js +125 -0
- package/dist/generated/instructions/verifyCreatorV2.js.map +1 -0
- package/dist/generated/programs/bubblegum.d.ts +189 -0
- package/dist/generated/programs/bubblegum.d.ts.map +1 -0
- package/dist/generated/programs/bubblegum.js +566 -0
- package/dist/generated/programs/bubblegum.js.map +1 -0
- package/dist/generated/programs/index.d.ts +9 -0
- package/dist/generated/programs/index.d.ts.map +1 -0
- package/dist/generated/programs/index.js +9 -0
- package/dist/generated/programs/index.js.map +1 -0
- package/dist/generated/types/assetDataSchema.d.ts +18 -0
- package/dist/generated/types/assetDataSchema.d.ts.map +1 -0
- package/dist/generated/types/assetDataSchema.js +24 -0
- package/dist/generated/types/assetDataSchema.js.map +1 -0
- package/dist/generated/types/bubblegumEventType.d.ts +17 -0
- package/dist/generated/types/bubblegumEventType.d.ts.map +1 -0
- package/dist/generated/types/bubblegumEventType.js +23 -0
- package/dist/generated/types/bubblegumEventType.js.map +1 -0
- package/dist/generated/types/collection.d.ts +17 -0
- package/dist/generated/types/collection.d.ts.map +1 -0
- package/dist/generated/types/collection.js +24 -0
- package/dist/generated/types/collection.js.map +1 -0
- package/dist/generated/types/creator.d.ts +23 -0
- package/dist/generated/types/creator.d.ts.map +1 -0
- package/dist/generated/types/creator.js +26 -0
- package/dist/generated/types/creator.js.map +1 -0
- package/dist/generated/types/decompressibleState.d.ts +17 -0
- package/dist/generated/types/decompressibleState.d.ts.map +1 -0
- package/dist/generated/types/decompressibleState.js +23 -0
- package/dist/generated/types/decompressibleState.js.map +1 -0
- package/dist/generated/types/index.d.ts +23 -0
- package/dist/generated/types/index.d.ts.map +1 -0
- package/dist/generated/types/index.js +23 -0
- package/dist/generated/types/index.js.map +1 -0
- package/dist/generated/types/instructionName.d.ts +50 -0
- package/dist/generated/types/instructionName.d.ts.map +1 -0
- package/dist/generated/types/instructionName.js +56 -0
- package/dist/generated/types/instructionName.js.map +1 -0
- package/dist/generated/types/leafSchema.d.ts +57 -0
- package/dist/generated/types/leafSchema.d.ts.map +1 -0
- package/dist/generated/types/leafSchema.js +78 -0
- package/dist/generated/types/leafSchema.js.map +1 -0
- package/dist/generated/types/metadataArgs.d.ts +61 -0
- package/dist/generated/types/metadataArgs.d.ts.map +1 -0
- package/dist/generated/types/metadataArgs.js +45 -0
- package/dist/generated/types/metadataArgs.js.map +1 -0
- package/dist/generated/types/metadataArgsV2.d.ts +53 -0
- package/dist/generated/types/metadataArgsV2.d.ts.map +1 -0
- package/dist/generated/types/metadataArgsV2.js +39 -0
- package/dist/generated/types/metadataArgsV2.js.map +1 -0
- package/dist/generated/types/tokenProgramVersion.d.ts +17 -0
- package/dist/generated/types/tokenProgramVersion.d.ts.map +1 -0
- package/dist/generated/types/tokenProgramVersion.js +23 -0
- package/dist/generated/types/tokenProgramVersion.js.map +1 -0
- package/dist/generated/types/tokenStandard.d.ts +19 -0
- package/dist/generated/types/tokenStandard.d.ts.map +1 -0
- package/dist/generated/types/tokenStandard.js +25 -0
- package/dist/generated/types/tokenStandard.js.map +1 -0
- package/dist/generated/types/updateArgs.d.ts +31 -0
- package/dist/generated/types/updateArgs.d.ts.map +1 -0
- package/dist/generated/types/updateArgs.js +53 -0
- package/dist/generated/types/updateArgs.js.map +1 -0
- package/dist/generated/types/useMethod.d.ts +18 -0
- package/dist/generated/types/useMethod.d.ts.map +1 -0
- package/dist/generated/types/useMethod.js +24 -0
- package/dist/generated/types/useMethod.js.map +1 -0
- package/dist/generated/types/uses.d.ts +23 -0
- package/dist/generated/types/uses.d.ts.map +1 -0
- package/dist/generated/types/uses.js +27 -0
- package/dist/generated/types/uses.js.map +1 -0
- package/dist/generated/types/version.d.ts +17 -0
- package/dist/generated/types/version.d.ts.map +1 -0
- package/dist/generated/types/version.js +23 -0
- package/dist/generated/types/version.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/package.json +51 -5
- package/src/generated/accounts/index.ts +10 -0
- package/src/generated/accounts/treeConfig.ts +175 -0
- package/src/generated/accounts/voucher.ts +144 -0
- package/src/generated/errors/bubblegum.ts +309 -0
- package/src/generated/errors/index.ts +9 -0
- package/src/generated/index.ts +13 -0
- package/src/generated/instructions/burn.ts +310 -0
- package/src/generated/instructions/burnV2.ts +431 -0
- package/src/generated/instructions/cancelRedeem.ts +292 -0
- package/src/generated/instructions/closeTreeV2.ts +285 -0
- package/src/generated/instructions/collectV2.ts +184 -0
- package/src/generated/instructions/compress.ts +388 -0
- package/src/generated/instructions/createTree.ts +306 -0
- package/src/generated/instructions/createTreeV2.ts +316 -0
- package/src/generated/instructions/decompressV1.ts +404 -0
- package/src/generated/instructions/delegate.ts +334 -0
- package/src/generated/instructions/delegateAndFreezeV2.ts +397 -0
- package/src/generated/instructions/delegateV2.ts +391 -0
- package/src/generated/instructions/freezeV2.ts +392 -0
- package/src/generated/instructions/index.ts +44 -0
- package/src/generated/instructions/mintToCollectionV1.ts +457 -0
- package/src/generated/instructions/mintV1.ts +320 -0
- package/src/generated/instructions/mintV2.ts +435 -0
- package/src/generated/instructions/redeem.ts +328 -0
- package/src/generated/instructions/setAndVerifyCollection.ts +506 -0
- package/src/generated/instructions/setCollectionV2.ts +477 -0
- package/src/generated/instructions/setDecompressableState.ts +218 -0
- package/src/generated/instructions/setDecompressibleState.ts +218 -0
- package/src/generated/instructions/setNonTransferableV2.ts +400 -0
- package/src/generated/instructions/setTreeDelegate.ts +246 -0
- package/src/generated/instructions/thawAndRevokeV2.ts +370 -0
- package/src/generated/instructions/thawV2.ts +392 -0
- package/src/generated/instructions/transfer.ts +324 -0
- package/src/generated/instructions/transferV2.ts +408 -0
- package/src/generated/instructions/unverifyCollection.ts +496 -0
- package/src/generated/instructions/unverifyCreator.ts +354 -0
- package/src/generated/instructions/unverifyCreatorV2.ts +375 -0
- package/src/generated/instructions/updateAssetDataV2.ts +423 -0
- package/src/generated/instructions/updateMetadata.ts +449 -0
- package/src/generated/instructions/updateMetadataV2.ts +407 -0
- package/src/generated/instructions/verifyCollection.ts +494 -0
- package/src/generated/instructions/verifyCreator.ts +355 -0
- package/src/generated/instructions/verifyCreatorV2.ts +375 -0
- package/src/generated/programs/bubblegum.ts +1466 -0
- package/src/generated/programs/index.ts +9 -0
- package/src/generated/types/assetDataSchema.ts +37 -0
- package/src/generated/types/bubblegumEventType.ts +39 -0
- package/src/generated/types/collection.ts +51 -0
- package/src/generated/types/creator.ts +58 -0
- package/src/generated/types/decompressibleState.ts +39 -0
- package/src/generated/types/index.ts +23 -0
- package/src/generated/types/instructionName.ts +69 -0
- package/src/generated/types/leafSchema.ts +166 -0
- package/src/generated/types/metadataArgs.ts +148 -0
- package/src/generated/types/metadataArgsV2.ts +126 -0
- package/src/generated/types/tokenProgramVersion.ts +39 -0
- package/src/generated/types/tokenStandard.ts +38 -0
- package/src/generated/types/updateArgs.ts +102 -0
- package/src/generated/types/useMethod.ts +34 -0
- package/src/generated/types/uses.ts +54 -0
- package/src/generated/types/version.ts +33 -0
- package/src/index.ts +8 -0
|
@@ -0,0 +1,477 @@
|
|
|
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
|
+
Option,
|
|
20
|
+
OptionOrNullable,
|
|
21
|
+
ReadonlyAccount,
|
|
22
|
+
ReadonlySignerAccount,
|
|
23
|
+
ReadonlyUint8Array,
|
|
24
|
+
TransactionSigner,
|
|
25
|
+
WritableAccount,
|
|
26
|
+
WritableSignerAccount,
|
|
27
|
+
} from "@solana/kit";
|
|
28
|
+
import type { ResolvedInstructionAccount } from "@solana/program-client-core";
|
|
29
|
+
import type { MetadataArgsV2, MetadataArgsV2Args } from "../types/index.js";
|
|
30
|
+
import {
|
|
31
|
+
combineCodec,
|
|
32
|
+
fixDecoderSize,
|
|
33
|
+
fixEncoderSize,
|
|
34
|
+
getArrayDecoder,
|
|
35
|
+
getArrayEncoder,
|
|
36
|
+
getBytesDecoder,
|
|
37
|
+
getBytesEncoder,
|
|
38
|
+
getOptionDecoder,
|
|
39
|
+
getOptionEncoder,
|
|
40
|
+
getStructDecoder,
|
|
41
|
+
getStructEncoder,
|
|
42
|
+
getU8Decoder,
|
|
43
|
+
getU8Encoder,
|
|
44
|
+
getU32Decoder,
|
|
45
|
+
getU32Encoder,
|
|
46
|
+
getU64Decoder,
|
|
47
|
+
getU64Encoder,
|
|
48
|
+
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
49
|
+
SolanaError,
|
|
50
|
+
transformEncoder,
|
|
51
|
+
} from "@solana/kit";
|
|
52
|
+
import { getAccountMetaFactory } from "@solana/program-client-core";
|
|
53
|
+
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
54
|
+
import {
|
|
55
|
+
getMetadataArgsV2Decoder,
|
|
56
|
+
getMetadataArgsV2Encoder,
|
|
57
|
+
} from "../types/index.js";
|
|
58
|
+
|
|
59
|
+
export const SET_COLLECTION_V2_DISCRIMINATOR: ReadonlyUint8Array =
|
|
60
|
+
new Uint8Array([229, 35, 61, 91, 15, 14, 99, 160]);
|
|
61
|
+
|
|
62
|
+
export function getSetCollectionV2DiscriminatorBytes(): ReadonlyUint8Array {
|
|
63
|
+
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
64
|
+
SET_COLLECTION_V2_DISCRIMINATOR,
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export type SetCollectionV2Instruction<
|
|
69
|
+
TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
70
|
+
TAccountTreeAuthority extends string | AccountMeta = string,
|
|
71
|
+
TAccountPayer extends string | AccountMeta = string,
|
|
72
|
+
TAccountAuthority extends string | AccountMeta = string,
|
|
73
|
+
TAccountNewCollectionAuthority extends string | AccountMeta = string,
|
|
74
|
+
TAccountLeafOwner extends string | AccountMeta = string,
|
|
75
|
+
TAccountLeafDelegate extends string | AccountMeta = string,
|
|
76
|
+
TAccountMerkleTree extends string | AccountMeta = string,
|
|
77
|
+
TAccountCoreCollection extends string | AccountMeta = string,
|
|
78
|
+
TAccountNewCoreCollection extends string | AccountMeta = string,
|
|
79
|
+
TAccountMplCoreCpiSigner extends string | AccountMeta = string,
|
|
80
|
+
TAccountLogWrapper extends string | AccountMeta = string,
|
|
81
|
+
TAccountCompressionProgram extends string | AccountMeta = string,
|
|
82
|
+
TAccountMplCoreProgram extends
|
|
83
|
+
| string
|
|
84
|
+
| AccountMeta = "CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d",
|
|
85
|
+
TAccountSystemProgram extends
|
|
86
|
+
| string
|
|
87
|
+
| AccountMeta = "11111111111111111111111111111111",
|
|
88
|
+
TRemainingAccounts extends readonly AccountMeta[] = [],
|
|
89
|
+
> = Instruction<TProgram> &
|
|
90
|
+
InstructionWithData<ReadonlyUint8Array> &
|
|
91
|
+
InstructionWithAccounts<
|
|
92
|
+
[
|
|
93
|
+
TAccountTreeAuthority extends string
|
|
94
|
+
? WritableAccount<TAccountTreeAuthority>
|
|
95
|
+
: TAccountTreeAuthority,
|
|
96
|
+
TAccountPayer extends string
|
|
97
|
+
? WritableSignerAccount<TAccountPayer> &
|
|
98
|
+
AccountSignerMeta<TAccountPayer>
|
|
99
|
+
: TAccountPayer,
|
|
100
|
+
TAccountAuthority extends string
|
|
101
|
+
? ReadonlySignerAccount<TAccountAuthority> &
|
|
102
|
+
AccountSignerMeta<TAccountAuthority>
|
|
103
|
+
: TAccountAuthority,
|
|
104
|
+
TAccountNewCollectionAuthority extends string
|
|
105
|
+
? ReadonlySignerAccount<TAccountNewCollectionAuthority> &
|
|
106
|
+
AccountSignerMeta<TAccountNewCollectionAuthority>
|
|
107
|
+
: TAccountNewCollectionAuthority,
|
|
108
|
+
TAccountLeafOwner extends string
|
|
109
|
+
? ReadonlyAccount<TAccountLeafOwner>
|
|
110
|
+
: TAccountLeafOwner,
|
|
111
|
+
TAccountLeafDelegate extends string
|
|
112
|
+
? ReadonlyAccount<TAccountLeafDelegate>
|
|
113
|
+
: TAccountLeafDelegate,
|
|
114
|
+
TAccountMerkleTree extends string
|
|
115
|
+
? WritableAccount<TAccountMerkleTree>
|
|
116
|
+
: TAccountMerkleTree,
|
|
117
|
+
TAccountCoreCollection extends string
|
|
118
|
+
? WritableAccount<TAccountCoreCollection>
|
|
119
|
+
: TAccountCoreCollection,
|
|
120
|
+
TAccountNewCoreCollection extends string
|
|
121
|
+
? WritableAccount<TAccountNewCoreCollection>
|
|
122
|
+
: TAccountNewCoreCollection,
|
|
123
|
+
TAccountMplCoreCpiSigner extends string
|
|
124
|
+
? ReadonlyAccount<TAccountMplCoreCpiSigner>
|
|
125
|
+
: TAccountMplCoreCpiSigner,
|
|
126
|
+
TAccountLogWrapper extends string
|
|
127
|
+
? ReadonlyAccount<TAccountLogWrapper>
|
|
128
|
+
: TAccountLogWrapper,
|
|
129
|
+
TAccountCompressionProgram extends string
|
|
130
|
+
? ReadonlyAccount<TAccountCompressionProgram>
|
|
131
|
+
: TAccountCompressionProgram,
|
|
132
|
+
TAccountMplCoreProgram extends string
|
|
133
|
+
? ReadonlyAccount<TAccountMplCoreProgram>
|
|
134
|
+
: TAccountMplCoreProgram,
|
|
135
|
+
TAccountSystemProgram extends string
|
|
136
|
+
? ReadonlyAccount<TAccountSystemProgram>
|
|
137
|
+
: TAccountSystemProgram,
|
|
138
|
+
...TRemainingAccounts,
|
|
139
|
+
]
|
|
140
|
+
>;
|
|
141
|
+
|
|
142
|
+
export interface SetCollectionV2InstructionData {
|
|
143
|
+
discriminator: ReadonlyUint8Array;
|
|
144
|
+
root: number[];
|
|
145
|
+
assetDataHash: Option<number[]>;
|
|
146
|
+
flags: Option<number>;
|
|
147
|
+
nonce: bigint;
|
|
148
|
+
index: number;
|
|
149
|
+
message: MetadataArgsV2;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export interface SetCollectionV2InstructionDataArgs {
|
|
153
|
+
root: number[];
|
|
154
|
+
assetDataHash: OptionOrNullable<number[]>;
|
|
155
|
+
flags: OptionOrNullable<number>;
|
|
156
|
+
nonce: number | bigint;
|
|
157
|
+
index: number;
|
|
158
|
+
message: MetadataArgsV2Args;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export function getSetCollectionV2InstructionDataEncoder(): Encoder<SetCollectionV2InstructionDataArgs> {
|
|
162
|
+
return transformEncoder(
|
|
163
|
+
getStructEncoder([
|
|
164
|
+
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
165
|
+
["root", getArrayEncoder(getU8Encoder(), { size: 32 })],
|
|
166
|
+
[
|
|
167
|
+
"assetDataHash",
|
|
168
|
+
getOptionEncoder(getArrayEncoder(getU8Encoder(), { size: 32 })),
|
|
169
|
+
],
|
|
170
|
+
["flags", getOptionEncoder(getU8Encoder())],
|
|
171
|
+
["nonce", getU64Encoder()],
|
|
172
|
+
["index", getU32Encoder()],
|
|
173
|
+
["message", getMetadataArgsV2Encoder()],
|
|
174
|
+
]),
|
|
175
|
+
(value) => ({ ...value, discriminator: SET_COLLECTION_V2_DISCRIMINATOR }),
|
|
176
|
+
);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export function getSetCollectionV2InstructionDataDecoder(): Decoder<SetCollectionV2InstructionData> {
|
|
180
|
+
return getStructDecoder([
|
|
181
|
+
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
182
|
+
["root", getArrayDecoder(getU8Decoder(), { size: 32 })],
|
|
183
|
+
[
|
|
184
|
+
"assetDataHash",
|
|
185
|
+
getOptionDecoder(getArrayDecoder(getU8Decoder(), { size: 32 })),
|
|
186
|
+
],
|
|
187
|
+
["flags", getOptionDecoder(getU8Decoder())],
|
|
188
|
+
["nonce", getU64Decoder()],
|
|
189
|
+
["index", getU32Decoder()],
|
|
190
|
+
["message", getMetadataArgsV2Decoder()],
|
|
191
|
+
]);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export function getSetCollectionV2InstructionDataCodec(): Codec<
|
|
195
|
+
SetCollectionV2InstructionDataArgs,
|
|
196
|
+
SetCollectionV2InstructionData
|
|
197
|
+
> {
|
|
198
|
+
return combineCodec(
|
|
199
|
+
getSetCollectionV2InstructionDataEncoder(),
|
|
200
|
+
getSetCollectionV2InstructionDataDecoder(),
|
|
201
|
+
);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export interface SetCollectionV2Input<
|
|
205
|
+
TAccountTreeAuthority extends string = string,
|
|
206
|
+
TAccountPayer extends string = string,
|
|
207
|
+
TAccountAuthority extends string = string,
|
|
208
|
+
TAccountNewCollectionAuthority extends string = string,
|
|
209
|
+
TAccountLeafOwner extends string = string,
|
|
210
|
+
TAccountLeafDelegate extends string = string,
|
|
211
|
+
TAccountMerkleTree extends string = string,
|
|
212
|
+
TAccountCoreCollection extends string = string,
|
|
213
|
+
TAccountNewCoreCollection extends string = string,
|
|
214
|
+
TAccountMplCoreCpiSigner extends string = string,
|
|
215
|
+
TAccountLogWrapper extends string = string,
|
|
216
|
+
TAccountCompressionProgram extends string = string,
|
|
217
|
+
TAccountMplCoreProgram extends string = string,
|
|
218
|
+
TAccountSystemProgram extends string = string,
|
|
219
|
+
> {
|
|
220
|
+
treeAuthority: Address<TAccountTreeAuthority>;
|
|
221
|
+
payer: TransactionSigner<TAccountPayer>;
|
|
222
|
+
/**
|
|
223
|
+
* If item is not in a collection, then authority must be tree owner/delegate. If item is
|
|
224
|
+
* getting removed from a collection, then this must be an authority for the existing
|
|
225
|
+
* collection. Defaults to `payer`
|
|
226
|
+
*/
|
|
227
|
+
authority?: TransactionSigner<TAccountAuthority>;
|
|
228
|
+
/**
|
|
229
|
+
* If item is getting added to a new collection, then this must be the authority
|
|
230
|
+
* for the new collection. Defaults to `authority`
|
|
231
|
+
*/
|
|
232
|
+
newCollectionAuthority?: TransactionSigner<TAccountNewCollectionAuthority>;
|
|
233
|
+
leafOwner: Address<TAccountLeafOwner>;
|
|
234
|
+
/** Defaults to `leaf_owner` */
|
|
235
|
+
leafDelegate?: Address<TAccountLeafDelegate>;
|
|
236
|
+
merkleTree: Address<TAccountMerkleTree>;
|
|
237
|
+
coreCollection?: Address<TAccountCoreCollection>;
|
|
238
|
+
newCoreCollection?: Address<TAccountNewCoreCollection>;
|
|
239
|
+
mplCoreCpiSigner: Address<TAccountMplCoreCpiSigner>;
|
|
240
|
+
logWrapper: Address<TAccountLogWrapper>;
|
|
241
|
+
compressionProgram: Address<TAccountCompressionProgram>;
|
|
242
|
+
mplCoreProgram?: Address<TAccountMplCoreProgram>;
|
|
243
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
244
|
+
root: SetCollectionV2InstructionDataArgs["root"];
|
|
245
|
+
assetDataHash: SetCollectionV2InstructionDataArgs["assetDataHash"];
|
|
246
|
+
flags: SetCollectionV2InstructionDataArgs["flags"];
|
|
247
|
+
nonce: SetCollectionV2InstructionDataArgs["nonce"];
|
|
248
|
+
index: SetCollectionV2InstructionDataArgs["index"];
|
|
249
|
+
message: SetCollectionV2InstructionDataArgs["message"];
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
export function getSetCollectionV2Instruction<
|
|
253
|
+
TAccountTreeAuthority extends string,
|
|
254
|
+
TAccountPayer extends string,
|
|
255
|
+
TAccountAuthority extends string,
|
|
256
|
+
TAccountNewCollectionAuthority extends string,
|
|
257
|
+
TAccountLeafOwner extends string,
|
|
258
|
+
TAccountLeafDelegate extends string,
|
|
259
|
+
TAccountMerkleTree extends string,
|
|
260
|
+
TAccountCoreCollection extends string,
|
|
261
|
+
TAccountNewCoreCollection extends string,
|
|
262
|
+
TAccountMplCoreCpiSigner extends string,
|
|
263
|
+
TAccountLogWrapper extends string,
|
|
264
|
+
TAccountCompressionProgram extends string,
|
|
265
|
+
TAccountMplCoreProgram extends string,
|
|
266
|
+
TAccountSystemProgram extends string,
|
|
267
|
+
TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
268
|
+
>(
|
|
269
|
+
input: SetCollectionV2Input<
|
|
270
|
+
TAccountTreeAuthority,
|
|
271
|
+
TAccountPayer,
|
|
272
|
+
TAccountAuthority,
|
|
273
|
+
TAccountNewCollectionAuthority,
|
|
274
|
+
TAccountLeafOwner,
|
|
275
|
+
TAccountLeafDelegate,
|
|
276
|
+
TAccountMerkleTree,
|
|
277
|
+
TAccountCoreCollection,
|
|
278
|
+
TAccountNewCoreCollection,
|
|
279
|
+
TAccountMplCoreCpiSigner,
|
|
280
|
+
TAccountLogWrapper,
|
|
281
|
+
TAccountCompressionProgram,
|
|
282
|
+
TAccountMplCoreProgram,
|
|
283
|
+
TAccountSystemProgram
|
|
284
|
+
>,
|
|
285
|
+
config?: { programAddress?: TProgramAddress },
|
|
286
|
+
): SetCollectionV2Instruction<
|
|
287
|
+
TProgramAddress,
|
|
288
|
+
TAccountTreeAuthority,
|
|
289
|
+
TAccountPayer,
|
|
290
|
+
TAccountAuthority,
|
|
291
|
+
TAccountNewCollectionAuthority,
|
|
292
|
+
TAccountLeafOwner,
|
|
293
|
+
TAccountLeafDelegate,
|
|
294
|
+
TAccountMerkleTree,
|
|
295
|
+
TAccountCoreCollection,
|
|
296
|
+
TAccountNewCoreCollection,
|
|
297
|
+
TAccountMplCoreCpiSigner,
|
|
298
|
+
TAccountLogWrapper,
|
|
299
|
+
TAccountCompressionProgram,
|
|
300
|
+
TAccountMplCoreProgram,
|
|
301
|
+
TAccountSystemProgram
|
|
302
|
+
> {
|
|
303
|
+
// Program address.
|
|
304
|
+
const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
|
|
305
|
+
|
|
306
|
+
// Original accounts.
|
|
307
|
+
const originalAccounts = {
|
|
308
|
+
treeAuthority: { value: input.treeAuthority ?? null, isWritable: true },
|
|
309
|
+
payer: { value: input.payer ?? null, isWritable: true },
|
|
310
|
+
authority: { value: input.authority ?? null, isWritable: false },
|
|
311
|
+
newCollectionAuthority: {
|
|
312
|
+
value: input.newCollectionAuthority ?? null,
|
|
313
|
+
isWritable: false,
|
|
314
|
+
},
|
|
315
|
+
leafOwner: { value: input.leafOwner ?? null, isWritable: false },
|
|
316
|
+
leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
|
|
317
|
+
merkleTree: { value: input.merkleTree ?? null, isWritable: true },
|
|
318
|
+
coreCollection: { value: input.coreCollection ?? null, isWritable: true },
|
|
319
|
+
newCoreCollection: {
|
|
320
|
+
value: input.newCoreCollection ?? null,
|
|
321
|
+
isWritable: true,
|
|
322
|
+
},
|
|
323
|
+
mplCoreCpiSigner: {
|
|
324
|
+
value: input.mplCoreCpiSigner ?? null,
|
|
325
|
+
isWritable: false,
|
|
326
|
+
},
|
|
327
|
+
logWrapper: { value: input.logWrapper ?? null, isWritable: false },
|
|
328
|
+
compressionProgram: {
|
|
329
|
+
value: input.compressionProgram ?? null,
|
|
330
|
+
isWritable: false,
|
|
331
|
+
},
|
|
332
|
+
mplCoreProgram: { value: input.mplCoreProgram ?? null, isWritable: false },
|
|
333
|
+
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
334
|
+
};
|
|
335
|
+
const accounts = originalAccounts as Record<
|
|
336
|
+
keyof typeof originalAccounts,
|
|
337
|
+
ResolvedInstructionAccount
|
|
338
|
+
>;
|
|
339
|
+
|
|
340
|
+
// Original args.
|
|
341
|
+
const args = { ...input };
|
|
342
|
+
|
|
343
|
+
// Resolve default values.
|
|
344
|
+
if (!accounts.mplCoreProgram.value) {
|
|
345
|
+
accounts.mplCoreProgram.value =
|
|
346
|
+
"CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d" as Address<"CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d">;
|
|
347
|
+
}
|
|
348
|
+
if (!accounts.systemProgram.value) {
|
|
349
|
+
accounts.systemProgram.value =
|
|
350
|
+
"11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
354
|
+
return Object.freeze({
|
|
355
|
+
accounts: [
|
|
356
|
+
getAccountMeta("treeAuthority", accounts.treeAuthority),
|
|
357
|
+
getAccountMeta("payer", accounts.payer),
|
|
358
|
+
getAccountMeta("authority", accounts.authority),
|
|
359
|
+
getAccountMeta("newCollectionAuthority", accounts.newCollectionAuthority),
|
|
360
|
+
getAccountMeta("leafOwner", accounts.leafOwner),
|
|
361
|
+
getAccountMeta("leafDelegate", accounts.leafDelegate),
|
|
362
|
+
getAccountMeta("merkleTree", accounts.merkleTree),
|
|
363
|
+
getAccountMeta("coreCollection", accounts.coreCollection),
|
|
364
|
+
getAccountMeta("newCoreCollection", accounts.newCoreCollection),
|
|
365
|
+
getAccountMeta("mplCoreCpiSigner", accounts.mplCoreCpiSigner),
|
|
366
|
+
getAccountMeta("logWrapper", accounts.logWrapper),
|
|
367
|
+
getAccountMeta("compressionProgram", accounts.compressionProgram),
|
|
368
|
+
getAccountMeta("mplCoreProgram", accounts.mplCoreProgram),
|
|
369
|
+
getAccountMeta("systemProgram", accounts.systemProgram),
|
|
370
|
+
],
|
|
371
|
+
data: getSetCollectionV2InstructionDataEncoder().encode(
|
|
372
|
+
args as SetCollectionV2InstructionDataArgs,
|
|
373
|
+
),
|
|
374
|
+
programAddress,
|
|
375
|
+
} as SetCollectionV2Instruction<
|
|
376
|
+
TProgramAddress,
|
|
377
|
+
TAccountTreeAuthority,
|
|
378
|
+
TAccountPayer,
|
|
379
|
+
TAccountAuthority,
|
|
380
|
+
TAccountNewCollectionAuthority,
|
|
381
|
+
TAccountLeafOwner,
|
|
382
|
+
TAccountLeafDelegate,
|
|
383
|
+
TAccountMerkleTree,
|
|
384
|
+
TAccountCoreCollection,
|
|
385
|
+
TAccountNewCoreCollection,
|
|
386
|
+
TAccountMplCoreCpiSigner,
|
|
387
|
+
TAccountLogWrapper,
|
|
388
|
+
TAccountCompressionProgram,
|
|
389
|
+
TAccountMplCoreProgram,
|
|
390
|
+
TAccountSystemProgram
|
|
391
|
+
>);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
export interface ParsedSetCollectionV2Instruction<
|
|
395
|
+
TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
396
|
+
TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],
|
|
397
|
+
> {
|
|
398
|
+
programAddress: Address<TProgram>;
|
|
399
|
+
accounts: {
|
|
400
|
+
treeAuthority: TAccountMetas[0];
|
|
401
|
+
payer: TAccountMetas[1];
|
|
402
|
+
/**
|
|
403
|
+
* If item is not in a collection, then authority must be tree owner/delegate. If item is
|
|
404
|
+
* getting removed from a collection, then this must be an authority for the existing
|
|
405
|
+
* collection. Defaults to `payer`
|
|
406
|
+
*/
|
|
407
|
+
authority?: TAccountMetas[2] | undefined;
|
|
408
|
+
/**
|
|
409
|
+
* If item is getting added to a new collection, then this must be the authority
|
|
410
|
+
* for the new collection. Defaults to `authority`
|
|
411
|
+
*/
|
|
412
|
+
newCollectionAuthority?: TAccountMetas[3] | undefined;
|
|
413
|
+
leafOwner: TAccountMetas[4];
|
|
414
|
+
/** Defaults to `leaf_owner` */
|
|
415
|
+
leafDelegate?: TAccountMetas[5] | undefined;
|
|
416
|
+
merkleTree: TAccountMetas[6];
|
|
417
|
+
coreCollection?: TAccountMetas[7] | undefined;
|
|
418
|
+
newCoreCollection?: TAccountMetas[8] | undefined;
|
|
419
|
+
mplCoreCpiSigner: TAccountMetas[9];
|
|
420
|
+
logWrapper: TAccountMetas[10];
|
|
421
|
+
compressionProgram: TAccountMetas[11];
|
|
422
|
+
mplCoreProgram: TAccountMetas[12];
|
|
423
|
+
systemProgram: TAccountMetas[13];
|
|
424
|
+
};
|
|
425
|
+
data: SetCollectionV2InstructionData;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
export function parseSetCollectionV2Instruction<
|
|
429
|
+
TProgram extends string,
|
|
430
|
+
TAccountMetas extends readonly AccountMeta[],
|
|
431
|
+
>(
|
|
432
|
+
instruction: Instruction<TProgram> &
|
|
433
|
+
InstructionWithAccounts<TAccountMetas> &
|
|
434
|
+
InstructionWithData<ReadonlyUint8Array>,
|
|
435
|
+
): ParsedSetCollectionV2Instruction<TProgram, TAccountMetas> {
|
|
436
|
+
if (instruction.accounts.length < 14) {
|
|
437
|
+
throw new SolanaError(
|
|
438
|
+
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
439
|
+
{
|
|
440
|
+
actualAccountMetas: instruction.accounts.length,
|
|
441
|
+
expectedAccountMetas: 14,
|
|
442
|
+
},
|
|
443
|
+
);
|
|
444
|
+
}
|
|
445
|
+
let accountIndex = 0;
|
|
446
|
+
const getNextAccount = () => {
|
|
447
|
+
const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;
|
|
448
|
+
accountIndex += 1;
|
|
449
|
+
return accountMeta;
|
|
450
|
+
};
|
|
451
|
+
const getNextOptionalAccount = () => {
|
|
452
|
+
const accountMeta = getNextAccount();
|
|
453
|
+
return accountMeta.address === BUBBLEGUM_PROGRAM_ADDRESS
|
|
454
|
+
? undefined
|
|
455
|
+
: accountMeta;
|
|
456
|
+
};
|
|
457
|
+
return {
|
|
458
|
+
programAddress: instruction.programAddress,
|
|
459
|
+
accounts: {
|
|
460
|
+
treeAuthority: getNextAccount(),
|
|
461
|
+
payer: getNextAccount(),
|
|
462
|
+
authority: getNextOptionalAccount(),
|
|
463
|
+
newCollectionAuthority: getNextOptionalAccount(),
|
|
464
|
+
leafOwner: getNextAccount(),
|
|
465
|
+
leafDelegate: getNextOptionalAccount(),
|
|
466
|
+
merkleTree: getNextAccount(),
|
|
467
|
+
coreCollection: getNextOptionalAccount(),
|
|
468
|
+
newCoreCollection: getNextOptionalAccount(),
|
|
469
|
+
mplCoreCpiSigner: getNextAccount(),
|
|
470
|
+
logWrapper: getNextAccount(),
|
|
471
|
+
compressionProgram: getNextAccount(),
|
|
472
|
+
mplCoreProgram: getNextAccount(),
|
|
473
|
+
systemProgram: getNextAccount(),
|
|
474
|
+
},
|
|
475
|
+
data: getSetCollectionV2InstructionDataDecoder().decode(instruction.data),
|
|
476
|
+
};
|
|
477
|
+
}
|
|
@@ -0,0 +1,218 @@
|
|
|
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
|
+
ReadonlySignerAccount,
|
|
20
|
+
ReadonlyUint8Array,
|
|
21
|
+
TransactionSigner,
|
|
22
|
+
WritableAccount,
|
|
23
|
+
} from "@solana/kit";
|
|
24
|
+
import type { ResolvedInstructionAccount } from "@solana/program-client-core";
|
|
25
|
+
import type {
|
|
26
|
+
DecompressibleState,
|
|
27
|
+
DecompressibleStateArgs,
|
|
28
|
+
} from "../types/index.js";
|
|
29
|
+
import {
|
|
30
|
+
combineCodec,
|
|
31
|
+
fixDecoderSize,
|
|
32
|
+
fixEncoderSize,
|
|
33
|
+
getBytesDecoder,
|
|
34
|
+
getBytesEncoder,
|
|
35
|
+
getStructDecoder,
|
|
36
|
+
getStructEncoder,
|
|
37
|
+
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
38
|
+
SolanaError,
|
|
39
|
+
transformEncoder,
|
|
40
|
+
} from "@solana/kit";
|
|
41
|
+
import { getAccountMetaFactory } from "@solana/program-client-core";
|
|
42
|
+
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
43
|
+
import {
|
|
44
|
+
getDecompressibleStateDecoder,
|
|
45
|
+
getDecompressibleStateEncoder,
|
|
46
|
+
} from "../types/index.js";
|
|
47
|
+
|
|
48
|
+
export const SET_DECOMPRESSABLE_STATE_DISCRIMINATOR: ReadonlyUint8Array =
|
|
49
|
+
new Uint8Array([18, 135, 238, 168, 246, 195, 61, 115]);
|
|
50
|
+
|
|
51
|
+
export function getSetDecompressableStateDiscriminatorBytes(): ReadonlyUint8Array {
|
|
52
|
+
return fixEncoderSize(getBytesEncoder(), 8).encode(
|
|
53
|
+
SET_DECOMPRESSABLE_STATE_DISCRIMINATOR,
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export type SetDecompressableStateInstruction<
|
|
58
|
+
TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
59
|
+
TAccountTreeAuthority extends string | AccountMeta = string,
|
|
60
|
+
TAccountTreeCreator extends string | AccountMeta = string,
|
|
61
|
+
TRemainingAccounts extends readonly AccountMeta[] = [],
|
|
62
|
+
> = Instruction<TProgram> &
|
|
63
|
+
InstructionWithData<ReadonlyUint8Array> &
|
|
64
|
+
InstructionWithAccounts<
|
|
65
|
+
[
|
|
66
|
+
TAccountTreeAuthority extends string
|
|
67
|
+
? WritableAccount<TAccountTreeAuthority>
|
|
68
|
+
: TAccountTreeAuthority,
|
|
69
|
+
TAccountTreeCreator extends string
|
|
70
|
+
? ReadonlySignerAccount<TAccountTreeCreator> &
|
|
71
|
+
AccountSignerMeta<TAccountTreeCreator>
|
|
72
|
+
: TAccountTreeCreator,
|
|
73
|
+
...TRemainingAccounts,
|
|
74
|
+
]
|
|
75
|
+
>;
|
|
76
|
+
|
|
77
|
+
export interface SetDecompressableStateInstructionData {
|
|
78
|
+
discriminator: ReadonlyUint8Array;
|
|
79
|
+
decompressableState: DecompressibleState;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export interface SetDecompressableStateInstructionDataArgs {
|
|
83
|
+
decompressableState: DecompressibleStateArgs;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export function getSetDecompressableStateInstructionDataEncoder(): FixedSizeEncoder<SetDecompressableStateInstructionDataArgs> {
|
|
87
|
+
return transformEncoder(
|
|
88
|
+
getStructEncoder([
|
|
89
|
+
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
90
|
+
["decompressableState", getDecompressibleStateEncoder()],
|
|
91
|
+
]),
|
|
92
|
+
(value) => ({
|
|
93
|
+
...value,
|
|
94
|
+
discriminator: SET_DECOMPRESSABLE_STATE_DISCRIMINATOR,
|
|
95
|
+
}),
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export function getSetDecompressableStateInstructionDataDecoder(): FixedSizeDecoder<SetDecompressableStateInstructionData> {
|
|
100
|
+
return getStructDecoder([
|
|
101
|
+
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
102
|
+
["decompressableState", getDecompressibleStateDecoder()],
|
|
103
|
+
]);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export function getSetDecompressableStateInstructionDataCodec(): FixedSizeCodec<
|
|
107
|
+
SetDecompressableStateInstructionDataArgs,
|
|
108
|
+
SetDecompressableStateInstructionData
|
|
109
|
+
> {
|
|
110
|
+
return combineCodec(
|
|
111
|
+
getSetDecompressableStateInstructionDataEncoder(),
|
|
112
|
+
getSetDecompressableStateInstructionDataDecoder(),
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export interface SetDecompressableStateInput<
|
|
117
|
+
TAccountTreeAuthority extends string = string,
|
|
118
|
+
TAccountTreeCreator extends string = string,
|
|
119
|
+
> {
|
|
120
|
+
treeAuthority: Address<TAccountTreeAuthority>;
|
|
121
|
+
treeCreator: TransactionSigner<TAccountTreeCreator>;
|
|
122
|
+
decompressableState: SetDecompressableStateInstructionDataArgs["decompressableState"];
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export function getSetDecompressableStateInstruction<
|
|
126
|
+
TAccountTreeAuthority extends string,
|
|
127
|
+
TAccountTreeCreator extends string,
|
|
128
|
+
TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
129
|
+
>(
|
|
130
|
+
input: SetDecompressableStateInput<
|
|
131
|
+
TAccountTreeAuthority,
|
|
132
|
+
TAccountTreeCreator
|
|
133
|
+
>,
|
|
134
|
+
config?: { programAddress?: TProgramAddress },
|
|
135
|
+
): SetDecompressableStateInstruction<
|
|
136
|
+
TProgramAddress,
|
|
137
|
+
TAccountTreeAuthority,
|
|
138
|
+
TAccountTreeCreator
|
|
139
|
+
> {
|
|
140
|
+
// Program address.
|
|
141
|
+
const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
|
|
142
|
+
|
|
143
|
+
// Original accounts.
|
|
144
|
+
const originalAccounts = {
|
|
145
|
+
treeAuthority: { value: input.treeAuthority ?? null, isWritable: true },
|
|
146
|
+
treeCreator: { value: input.treeCreator ?? null, isWritable: false },
|
|
147
|
+
};
|
|
148
|
+
const accounts = originalAccounts as Record<
|
|
149
|
+
keyof typeof originalAccounts,
|
|
150
|
+
ResolvedInstructionAccount
|
|
151
|
+
>;
|
|
152
|
+
|
|
153
|
+
// Original args.
|
|
154
|
+
const args = { ...input };
|
|
155
|
+
|
|
156
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
157
|
+
return Object.freeze({
|
|
158
|
+
accounts: [
|
|
159
|
+
getAccountMeta("treeAuthority", accounts.treeAuthority),
|
|
160
|
+
getAccountMeta("treeCreator", accounts.treeCreator),
|
|
161
|
+
],
|
|
162
|
+
data: getSetDecompressableStateInstructionDataEncoder().encode(
|
|
163
|
+
args as SetDecompressableStateInstructionDataArgs,
|
|
164
|
+
),
|
|
165
|
+
programAddress,
|
|
166
|
+
} as SetDecompressableStateInstruction<
|
|
167
|
+
TProgramAddress,
|
|
168
|
+
TAccountTreeAuthority,
|
|
169
|
+
TAccountTreeCreator
|
|
170
|
+
>);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export interface ParsedSetDecompressableStateInstruction<
|
|
174
|
+
TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
175
|
+
TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],
|
|
176
|
+
> {
|
|
177
|
+
programAddress: Address<TProgram>;
|
|
178
|
+
accounts: {
|
|
179
|
+
treeAuthority: TAccountMetas[0];
|
|
180
|
+
treeCreator: TAccountMetas[1];
|
|
181
|
+
};
|
|
182
|
+
data: SetDecompressableStateInstructionData;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export function parseSetDecompressableStateInstruction<
|
|
186
|
+
TProgram extends string,
|
|
187
|
+
TAccountMetas extends readonly AccountMeta[],
|
|
188
|
+
>(
|
|
189
|
+
instruction: Instruction<TProgram> &
|
|
190
|
+
InstructionWithAccounts<TAccountMetas> &
|
|
191
|
+
InstructionWithData<ReadonlyUint8Array>,
|
|
192
|
+
): ParsedSetDecompressableStateInstruction<TProgram, TAccountMetas> {
|
|
193
|
+
if (instruction.accounts.length < 2) {
|
|
194
|
+
throw new SolanaError(
|
|
195
|
+
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
196
|
+
{
|
|
197
|
+
actualAccountMetas: instruction.accounts.length,
|
|
198
|
+
expectedAccountMetas: 2,
|
|
199
|
+
},
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
let accountIndex = 0;
|
|
203
|
+
const getNextAccount = () => {
|
|
204
|
+
const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;
|
|
205
|
+
accountIndex += 1;
|
|
206
|
+
return accountMeta;
|
|
207
|
+
};
|
|
208
|
+
return {
|
|
209
|
+
programAddress: instruction.programAddress,
|
|
210
|
+
accounts: {
|
|
211
|
+
treeAuthority: getNextAccount(),
|
|
212
|
+
treeCreator: getNextAccount(),
|
|
213
|
+
},
|
|
214
|
+
data: getSetDecompressableStateInstructionDataDecoder().decode(
|
|
215
|
+
instruction.data,
|
|
216
|
+
),
|
|
217
|
+
};
|
|
218
|
+
}
|