@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,109 @@
|
|
|
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
|
+
import { combineCodec, fixDecoderSize, fixEncoderSize, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU8Decoder, getU8Encoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, transformEncoder, } from "@solana/kit";
|
|
9
|
+
import { getAccountMetaFactory } from "@solana/program-client-core";
|
|
10
|
+
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
11
|
+
export const REDEEM_DISCRIMINATOR = new Uint8Array([
|
|
12
|
+
184, 12, 86, 149, 70, 196, 97, 225,
|
|
13
|
+
]);
|
|
14
|
+
export function getRedeemDiscriminatorBytes() {
|
|
15
|
+
return fixEncoderSize(getBytesEncoder(), 8).encode(REDEEM_DISCRIMINATOR);
|
|
16
|
+
}
|
|
17
|
+
export function getRedeemInstructionDataEncoder() {
|
|
18
|
+
return transformEncoder(getStructEncoder([
|
|
19
|
+
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
20
|
+
["root", getArrayEncoder(getU8Encoder(), { size: 32 })],
|
|
21
|
+
["dataHash", getArrayEncoder(getU8Encoder(), { size: 32 })],
|
|
22
|
+
["creatorHash", getArrayEncoder(getU8Encoder(), { size: 32 })],
|
|
23
|
+
["nonce", getU64Encoder()],
|
|
24
|
+
["index", getU32Encoder()],
|
|
25
|
+
]), (value) => ({ ...value, discriminator: REDEEM_DISCRIMINATOR }));
|
|
26
|
+
}
|
|
27
|
+
export function getRedeemInstructionDataDecoder() {
|
|
28
|
+
return getStructDecoder([
|
|
29
|
+
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
30
|
+
["root", getArrayDecoder(getU8Decoder(), { size: 32 })],
|
|
31
|
+
["dataHash", getArrayDecoder(getU8Decoder(), { size: 32 })],
|
|
32
|
+
["creatorHash", getArrayDecoder(getU8Decoder(), { size: 32 })],
|
|
33
|
+
["nonce", getU64Decoder()],
|
|
34
|
+
["index", getU32Decoder()],
|
|
35
|
+
]);
|
|
36
|
+
}
|
|
37
|
+
export function getRedeemInstructionDataCodec() {
|
|
38
|
+
return combineCodec(getRedeemInstructionDataEncoder(), getRedeemInstructionDataDecoder());
|
|
39
|
+
}
|
|
40
|
+
export function getRedeemInstruction(input, config) {
|
|
41
|
+
// Program address.
|
|
42
|
+
const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
|
|
43
|
+
// Original accounts.
|
|
44
|
+
const originalAccounts = {
|
|
45
|
+
treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
|
|
46
|
+
leafOwner: { value: input.leafOwner ?? null, isWritable: true },
|
|
47
|
+
leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
|
|
48
|
+
merkleTree: { value: input.merkleTree ?? null, isWritable: true },
|
|
49
|
+
voucher: { value: input.voucher ?? null, isWritable: true },
|
|
50
|
+
logWrapper: { value: input.logWrapper ?? null, isWritable: false },
|
|
51
|
+
compressionProgram: {
|
|
52
|
+
value: input.compressionProgram ?? null,
|
|
53
|
+
isWritable: false,
|
|
54
|
+
},
|
|
55
|
+
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
56
|
+
};
|
|
57
|
+
const accounts = originalAccounts;
|
|
58
|
+
// Original args.
|
|
59
|
+
const args = { ...input };
|
|
60
|
+
// Resolve default values.
|
|
61
|
+
if (!accounts.systemProgram.value) {
|
|
62
|
+
accounts.systemProgram.value =
|
|
63
|
+
"11111111111111111111111111111111";
|
|
64
|
+
}
|
|
65
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
66
|
+
return Object.freeze({
|
|
67
|
+
accounts: [
|
|
68
|
+
getAccountMeta("treeAuthority", accounts.treeAuthority),
|
|
69
|
+
getAccountMeta("leafOwner", accounts.leafOwner),
|
|
70
|
+
getAccountMeta("leafDelegate", accounts.leafDelegate),
|
|
71
|
+
getAccountMeta("merkleTree", accounts.merkleTree),
|
|
72
|
+
getAccountMeta("voucher", accounts.voucher),
|
|
73
|
+
getAccountMeta("logWrapper", accounts.logWrapper),
|
|
74
|
+
getAccountMeta("compressionProgram", accounts.compressionProgram),
|
|
75
|
+
getAccountMeta("systemProgram", accounts.systemProgram),
|
|
76
|
+
],
|
|
77
|
+
data: getRedeemInstructionDataEncoder().encode(args),
|
|
78
|
+
programAddress,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
export function parseRedeemInstruction(instruction) {
|
|
82
|
+
if (instruction.accounts.length < 8) {
|
|
83
|
+
throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, {
|
|
84
|
+
actualAccountMetas: instruction.accounts.length,
|
|
85
|
+
expectedAccountMetas: 8,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
let accountIndex = 0;
|
|
89
|
+
const getNextAccount = () => {
|
|
90
|
+
const accountMeta = instruction.accounts[accountIndex];
|
|
91
|
+
accountIndex += 1;
|
|
92
|
+
return accountMeta;
|
|
93
|
+
};
|
|
94
|
+
return {
|
|
95
|
+
programAddress: instruction.programAddress,
|
|
96
|
+
accounts: {
|
|
97
|
+
treeAuthority: getNextAccount(),
|
|
98
|
+
leafOwner: getNextAccount(),
|
|
99
|
+
leafDelegate: getNextAccount(),
|
|
100
|
+
merkleTree: getNextAccount(),
|
|
101
|
+
voucher: getNextAccount(),
|
|
102
|
+
logWrapper: getNextAccount(),
|
|
103
|
+
compressionProgram: getNextAccount(),
|
|
104
|
+
systemProgram: getNextAccount(),
|
|
105
|
+
},
|
|
106
|
+
data: getRedeemInstructionDataDecoder().decode(instruction.data),
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=redeem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redeem.js","sourceRoot":"","sources":["../../../src/generated/instructions/redeem.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport type {\n AccountMeta,\n AccountSignerMeta,\n Address,\n FixedSizeCodec,\n FixedSizeDecoder,\n FixedSizeEncoder,\n Instruction,\n InstructionWithAccounts,\n InstructionWithData,\n ReadonlyAccount,\n ReadonlyUint8Array,\n TransactionSigner,\n WritableAccount,\n WritableSignerAccount,\n} from \"@solana/kit\";\nimport type { ResolvedInstructionAccount } from \"@solana/program-client-core\";\nimport {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n SolanaError,\n transformEncoder,\n} from \"@solana/kit\";\nimport { getAccountMetaFactory } from \"@solana/program-client-core\";\nimport { BUBBLEGUM_PROGRAM_ADDRESS } from \"../programs/index.js\";\n\nexport const REDEEM_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([\n 184, 12, 86, 149, 70, 196, 97, 225,\n]);\n\nexport function getRedeemDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(REDEEM_DISCRIMINATOR);\n}\n\nexport type RedeemInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta = string,\n TAccountLeafOwner extends string | AccountMeta = string,\n TAccountLeafDelegate extends string | AccountMeta = string,\n TAccountMerkleTree extends string | AccountMeta = string,\n TAccountVoucher extends string | AccountMeta = string,\n TAccountLogWrapper extends string | AccountMeta = string,\n TAccountCompressionProgram extends string | AccountMeta = string,\n TAccountSystemProgram extends\n | string\n | AccountMeta = \"11111111111111111111111111111111\",\n TRemainingAccounts extends readonly AccountMeta[] = [],\n> = Instruction<TProgram> &\n InstructionWithData<ReadonlyUint8Array> &\n InstructionWithAccounts<\n [\n TAccountTreeAuthority extends string\n ? ReadonlyAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountLeafOwner extends string\n ? WritableSignerAccount<TAccountLeafOwner> &\n AccountSignerMeta<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountLeafDelegate extends string\n ? ReadonlyAccount<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountVoucher extends string\n ? WritableAccount<TAccountVoucher>\n : TAccountVoucher,\n TAccountLogWrapper extends string\n ? ReadonlyAccount<TAccountLogWrapper>\n : TAccountLogWrapper,\n TAccountCompressionProgram extends string\n ? ReadonlyAccount<TAccountCompressionProgram>\n : TAccountCompressionProgram,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport interface RedeemInstructionData {\n discriminator: ReadonlyUint8Array;\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n nonce: bigint;\n index: number;\n}\n\nexport interface RedeemInstructionDataArgs {\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n nonce: number | bigint;\n index: number;\n}\n\nexport function getRedeemInstructionDataEncoder(): FixedSizeEncoder<RedeemInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"root\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"dataHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"creatorHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n ]),\n (value) => ({ ...value, discriminator: REDEEM_DISCRIMINATOR }),\n );\n}\n\nexport function getRedeemInstructionDataDecoder(): FixedSizeDecoder<RedeemInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"root\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"dataHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"creatorHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n ]);\n}\n\nexport function getRedeemInstructionDataCodec(): FixedSizeCodec<\n RedeemInstructionDataArgs,\n RedeemInstructionData\n> {\n return combineCodec(\n getRedeemInstructionDataEncoder(),\n getRedeemInstructionDataDecoder(),\n );\n}\n\nexport interface RedeemInput<\n TAccountTreeAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountVoucher extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority: Address<TAccountTreeAuthority>;\n leafOwner: TransactionSigner<TAccountLeafOwner>;\n leafDelegate: Address<TAccountLeafDelegate>;\n merkleTree: Address<TAccountMerkleTree>;\n voucher: Address<TAccountVoucher>;\n logWrapper: Address<TAccountLogWrapper>;\n compressionProgram: Address<TAccountCompressionProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: RedeemInstructionDataArgs[\"root\"];\n dataHash: RedeemInstructionDataArgs[\"dataHash\"];\n creatorHash: RedeemInstructionDataArgs[\"creatorHash\"];\n nonce: RedeemInstructionDataArgs[\"nonce\"];\n index: RedeemInstructionDataArgs[\"index\"];\n}\n\nexport function getRedeemInstruction<\n TAccountTreeAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountVoucher extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: RedeemInput<\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountVoucher,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): RedeemInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountVoucher,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: true },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n voucher: { value: input.voucher ?? null, isWritable: true },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Original args.\n const args = { ...input };\n\n // Resolve default values.\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"voucher\", accounts.voucher),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getRedeemInstructionDataEncoder().encode(\n args as RedeemInstructionDataArgs,\n ),\n programAddress,\n } as RedeemInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountVoucher,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface ParsedRedeemInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],\n> {\n programAddress: Address<TProgram>;\n accounts: {\n treeAuthority: TAccountMetas[0];\n leafOwner: TAccountMetas[1];\n leafDelegate: TAccountMetas[2];\n merkleTree: TAccountMetas[3];\n voucher: TAccountMetas[4];\n logWrapper: TAccountMetas[5];\n compressionProgram: TAccountMetas[6];\n systemProgram: TAccountMetas[7];\n };\n data: RedeemInstructionData;\n}\n\nexport function parseRedeemInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedRedeemInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 8) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 8,\n },\n );\n }\n let accountIndex = 0;\n const getNextAccount = () => {\n const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;\n accountIndex += 1;\n return accountMeta;\n };\n return {\n programAddress: instruction.programAddress,\n accounts: {\n treeAuthority: getNextAccount(),\n leafOwner: getNextAccount(),\n leafDelegate: getNextAccount(),\n merkleTree: getNextAccount(),\n voucher: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getRedeemInstructionDataDecoder().decode(instruction.data),\n };\n}\n"]}
|
|
@@ -0,0 +1,123 @@
|
|
|
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
|
+
import type { AccountMeta, AccountSignerMeta, Address, Codec, Decoder, Encoder, Instruction, InstructionWithAccounts, InstructionWithData, ReadonlyAccount, ReadonlySignerAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount } from "@solana/kit";
|
|
9
|
+
import type { MetadataArgs, MetadataArgsArgs } from "../types/index.js";
|
|
10
|
+
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
11
|
+
export declare const SET_AND_VERIFY_COLLECTION_DISCRIMINATOR: ReadonlyUint8Array;
|
|
12
|
+
export declare function getSetAndVerifyCollectionDiscriminatorBytes(): ReadonlyUint8Array;
|
|
13
|
+
export type SetAndVerifyCollectionInstruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountTreeAuthority extends string | AccountMeta = string, TAccountLeafOwner extends string | AccountMeta = string, TAccountLeafDelegate extends string | AccountMeta = string, TAccountMerkleTree extends string | AccountMeta = string, TAccountPayer extends string | AccountMeta = string, TAccountTreeDelegate extends string | AccountMeta = string, TAccountCollectionAuthority extends string | AccountMeta = string, TAccountCollectionAuthorityRecordPda extends string | AccountMeta = string, TAccountCollectionMint extends string | AccountMeta = string, TAccountCollectionMetadata extends string | AccountMeta = string, TAccountEditionAccount extends string | AccountMeta = string, TAccountBubblegumSigner extends string | AccountMeta = string, TAccountLogWrapper extends string | AccountMeta = string, TAccountCompressionProgram extends string | AccountMeta = string, TAccountTokenMetadataProgram extends string | AccountMeta = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s", TAccountSystemProgram extends string | AccountMeta = "11111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
|
|
14
|
+
TAccountTreeAuthority extends string ? ReadonlyAccount<TAccountTreeAuthority> : TAccountTreeAuthority,
|
|
15
|
+
TAccountLeafOwner extends string ? ReadonlyAccount<TAccountLeafOwner> : TAccountLeafOwner,
|
|
16
|
+
TAccountLeafDelegate extends string ? ReadonlyAccount<TAccountLeafDelegate> : TAccountLeafDelegate,
|
|
17
|
+
TAccountMerkleTree extends string ? WritableAccount<TAccountMerkleTree> : TAccountMerkleTree,
|
|
18
|
+
TAccountPayer extends string ? ReadonlySignerAccount<TAccountPayer> & AccountSignerMeta<TAccountPayer> : TAccountPayer,
|
|
19
|
+
TAccountTreeDelegate extends string ? ReadonlyAccount<TAccountTreeDelegate> : TAccountTreeDelegate,
|
|
20
|
+
TAccountCollectionAuthority extends string ? ReadonlySignerAccount<TAccountCollectionAuthority> & AccountSignerMeta<TAccountCollectionAuthority> : TAccountCollectionAuthority,
|
|
21
|
+
TAccountCollectionAuthorityRecordPda extends string ? ReadonlyAccount<TAccountCollectionAuthorityRecordPda> : TAccountCollectionAuthorityRecordPda,
|
|
22
|
+
TAccountCollectionMint extends string ? ReadonlyAccount<TAccountCollectionMint> : TAccountCollectionMint,
|
|
23
|
+
TAccountCollectionMetadata extends string ? WritableAccount<TAccountCollectionMetadata> : TAccountCollectionMetadata,
|
|
24
|
+
TAccountEditionAccount extends string ? ReadonlyAccount<TAccountEditionAccount> : TAccountEditionAccount,
|
|
25
|
+
TAccountBubblegumSigner extends string ? ReadonlyAccount<TAccountBubblegumSigner> : TAccountBubblegumSigner,
|
|
26
|
+
TAccountLogWrapper extends string ? ReadonlyAccount<TAccountLogWrapper> : TAccountLogWrapper,
|
|
27
|
+
TAccountCompressionProgram extends string ? ReadonlyAccount<TAccountCompressionProgram> : TAccountCompressionProgram,
|
|
28
|
+
TAccountTokenMetadataProgram extends string ? ReadonlyAccount<TAccountTokenMetadataProgram> : TAccountTokenMetadataProgram,
|
|
29
|
+
TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
|
|
30
|
+
...TRemainingAccounts
|
|
31
|
+
]>;
|
|
32
|
+
export interface SetAndVerifyCollectionInstructionData {
|
|
33
|
+
discriminator: ReadonlyUint8Array;
|
|
34
|
+
root: number[];
|
|
35
|
+
dataHash: number[];
|
|
36
|
+
creatorHash: number[];
|
|
37
|
+
nonce: bigint;
|
|
38
|
+
index: number;
|
|
39
|
+
message: MetadataArgs;
|
|
40
|
+
collection: Address;
|
|
41
|
+
}
|
|
42
|
+
export interface SetAndVerifyCollectionInstructionDataArgs {
|
|
43
|
+
root: number[];
|
|
44
|
+
dataHash: number[];
|
|
45
|
+
creatorHash: number[];
|
|
46
|
+
nonce: number | bigint;
|
|
47
|
+
index: number;
|
|
48
|
+
message: MetadataArgsArgs;
|
|
49
|
+
collection: Address;
|
|
50
|
+
}
|
|
51
|
+
export declare function getSetAndVerifyCollectionInstructionDataEncoder(): Encoder<SetAndVerifyCollectionInstructionDataArgs>;
|
|
52
|
+
export declare function getSetAndVerifyCollectionInstructionDataDecoder(): Decoder<SetAndVerifyCollectionInstructionData>;
|
|
53
|
+
export declare function getSetAndVerifyCollectionInstructionDataCodec(): Codec<SetAndVerifyCollectionInstructionDataArgs, SetAndVerifyCollectionInstructionData>;
|
|
54
|
+
export interface SetAndVerifyCollectionInput<TAccountTreeAuthority extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountMerkleTree extends string = string, TAccountPayer extends string = string, TAccountTreeDelegate extends string = string, TAccountCollectionAuthority extends string = string, TAccountCollectionAuthorityRecordPda extends string = string, TAccountCollectionMint extends string = string, TAccountCollectionMetadata extends string = string, TAccountEditionAccount extends string = string, TAccountBubblegumSigner extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountTokenMetadataProgram extends string = string, TAccountSystemProgram extends string = string> {
|
|
55
|
+
treeAuthority: Address<TAccountTreeAuthority>;
|
|
56
|
+
leafOwner: Address<TAccountLeafOwner>;
|
|
57
|
+
leafDelegate: Address<TAccountLeafDelegate>;
|
|
58
|
+
merkleTree: Address<TAccountMerkleTree>;
|
|
59
|
+
payer: TransactionSigner<TAccountPayer>;
|
|
60
|
+
/**
|
|
61
|
+
* This account is checked to be a signer in
|
|
62
|
+
* the case of `set_and_verify_collection` where
|
|
63
|
+
* we are actually changing the NFT metadata.
|
|
64
|
+
*/
|
|
65
|
+
treeDelegate: Address<TAccountTreeDelegate>;
|
|
66
|
+
collectionAuthority: TransactionSigner<TAccountCollectionAuthority>;
|
|
67
|
+
/**
|
|
68
|
+
* If there is no collecton authority record PDA then
|
|
69
|
+
* this must be the Bubblegum program address.
|
|
70
|
+
*/
|
|
71
|
+
collectionAuthorityRecordPda: Address<TAccountCollectionAuthorityRecordPda>;
|
|
72
|
+
collectionMint: Address<TAccountCollectionMint>;
|
|
73
|
+
collectionMetadata: Address<TAccountCollectionMetadata>;
|
|
74
|
+
editionAccount: Address<TAccountEditionAccount>;
|
|
75
|
+
bubblegumSigner: Address<TAccountBubblegumSigner>;
|
|
76
|
+
logWrapper: Address<TAccountLogWrapper>;
|
|
77
|
+
compressionProgram: Address<TAccountCompressionProgram>;
|
|
78
|
+
tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
|
|
79
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
80
|
+
root: SetAndVerifyCollectionInstructionDataArgs["root"];
|
|
81
|
+
dataHash: SetAndVerifyCollectionInstructionDataArgs["dataHash"];
|
|
82
|
+
creatorHash: SetAndVerifyCollectionInstructionDataArgs["creatorHash"];
|
|
83
|
+
nonce: SetAndVerifyCollectionInstructionDataArgs["nonce"];
|
|
84
|
+
index: SetAndVerifyCollectionInstructionDataArgs["index"];
|
|
85
|
+
message: SetAndVerifyCollectionInstructionDataArgs["message"];
|
|
86
|
+
collection: SetAndVerifyCollectionInstructionDataArgs["collection"];
|
|
87
|
+
}
|
|
88
|
+
export declare function getSetAndVerifyCollectionInstruction<TAccountTreeAuthority extends string, TAccountLeafOwner extends string, TAccountLeafDelegate extends string, TAccountMerkleTree extends string, TAccountPayer extends string, TAccountTreeDelegate extends string, TAccountCollectionAuthority extends string, TAccountCollectionAuthorityRecordPda extends string, TAccountCollectionMint extends string, TAccountCollectionMetadata extends string, TAccountEditionAccount extends string, TAccountBubblegumSigner extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountTokenMetadataProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: SetAndVerifyCollectionInput<TAccountTreeAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountMerkleTree, TAccountPayer, TAccountTreeDelegate, TAccountCollectionAuthority, TAccountCollectionAuthorityRecordPda, TAccountCollectionMint, TAccountCollectionMetadata, TAccountEditionAccount, TAccountBubblegumSigner, TAccountLogWrapper, TAccountCompressionProgram, TAccountTokenMetadataProgram, TAccountSystemProgram>, config?: {
|
|
89
|
+
programAddress?: TProgramAddress;
|
|
90
|
+
}): SetAndVerifyCollectionInstruction<TProgramAddress, TAccountTreeAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountMerkleTree, TAccountPayer, TAccountTreeDelegate, TAccountCollectionAuthority, TAccountCollectionAuthorityRecordPda, TAccountCollectionMint, TAccountCollectionMetadata, TAccountEditionAccount, TAccountBubblegumSigner, TAccountLogWrapper, TAccountCompressionProgram, TAccountTokenMetadataProgram, TAccountSystemProgram>;
|
|
91
|
+
export interface ParsedSetAndVerifyCollectionInstruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> {
|
|
92
|
+
programAddress: Address<TProgram>;
|
|
93
|
+
accounts: {
|
|
94
|
+
treeAuthority: TAccountMetas[0];
|
|
95
|
+
leafOwner: TAccountMetas[1];
|
|
96
|
+
leafDelegate: TAccountMetas[2];
|
|
97
|
+
merkleTree: TAccountMetas[3];
|
|
98
|
+
payer: TAccountMetas[4];
|
|
99
|
+
/**
|
|
100
|
+
* This account is checked to be a signer in
|
|
101
|
+
* the case of `set_and_verify_collection` where
|
|
102
|
+
* we are actually changing the NFT metadata.
|
|
103
|
+
*/
|
|
104
|
+
treeDelegate: TAccountMetas[5];
|
|
105
|
+
collectionAuthority: TAccountMetas[6];
|
|
106
|
+
/**
|
|
107
|
+
* If there is no collecton authority record PDA then
|
|
108
|
+
* this must be the Bubblegum program address.
|
|
109
|
+
*/
|
|
110
|
+
collectionAuthorityRecordPda: TAccountMetas[7];
|
|
111
|
+
collectionMint: TAccountMetas[8];
|
|
112
|
+
collectionMetadata: TAccountMetas[9];
|
|
113
|
+
editionAccount: TAccountMetas[10];
|
|
114
|
+
bubblegumSigner: TAccountMetas[11];
|
|
115
|
+
logWrapper: TAccountMetas[12];
|
|
116
|
+
compressionProgram: TAccountMetas[13];
|
|
117
|
+
tokenMetadataProgram: TAccountMetas[14];
|
|
118
|
+
systemProgram: TAccountMetas[15];
|
|
119
|
+
};
|
|
120
|
+
data: SetAndVerifyCollectionInstructionData;
|
|
121
|
+
}
|
|
122
|
+
export declare function parseSetAndVerifyCollectionInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedSetAndVerifyCollectionInstruction<TProgram, TAccountMetas>;
|
|
123
|
+
//# sourceMappingURL=setAndVerifyCollection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setAndVerifyCollection.d.ts","sourceRoot":"","sources":["../../../src/generated/instructions/setAndVerifyCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,158 @@
|
|
|
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
|
+
import { combineCodec, fixDecoderSize, fixEncoderSize, getAddressDecoder, getAddressEncoder, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU8Decoder, getU8Encoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, transformEncoder, } from "@solana/kit";
|
|
9
|
+
import { getAccountMetaFactory } from "@solana/program-client-core";
|
|
10
|
+
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
11
|
+
import { getMetadataArgsDecoder, getMetadataArgsEncoder, } from "../types/index.js";
|
|
12
|
+
export const SET_AND_VERIFY_COLLECTION_DISCRIMINATOR = new Uint8Array([235, 242, 121, 216, 158, 234, 180, 234]);
|
|
13
|
+
export function getSetAndVerifyCollectionDiscriminatorBytes() {
|
|
14
|
+
return fixEncoderSize(getBytesEncoder(), 8).encode(SET_AND_VERIFY_COLLECTION_DISCRIMINATOR);
|
|
15
|
+
}
|
|
16
|
+
export function getSetAndVerifyCollectionInstructionDataEncoder() {
|
|
17
|
+
return transformEncoder(getStructEncoder([
|
|
18
|
+
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
19
|
+
["root", getArrayEncoder(getU8Encoder(), { size: 32 })],
|
|
20
|
+
["dataHash", getArrayEncoder(getU8Encoder(), { size: 32 })],
|
|
21
|
+
["creatorHash", getArrayEncoder(getU8Encoder(), { size: 32 })],
|
|
22
|
+
["nonce", getU64Encoder()],
|
|
23
|
+
["index", getU32Encoder()],
|
|
24
|
+
["message", getMetadataArgsEncoder()],
|
|
25
|
+
["collection", getAddressEncoder()],
|
|
26
|
+
]), (value) => ({
|
|
27
|
+
...value,
|
|
28
|
+
discriminator: SET_AND_VERIFY_COLLECTION_DISCRIMINATOR,
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
export function getSetAndVerifyCollectionInstructionDataDecoder() {
|
|
32
|
+
return getStructDecoder([
|
|
33
|
+
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
34
|
+
["root", getArrayDecoder(getU8Decoder(), { size: 32 })],
|
|
35
|
+
["dataHash", getArrayDecoder(getU8Decoder(), { size: 32 })],
|
|
36
|
+
["creatorHash", getArrayDecoder(getU8Decoder(), { size: 32 })],
|
|
37
|
+
["nonce", getU64Decoder()],
|
|
38
|
+
["index", getU32Decoder()],
|
|
39
|
+
["message", getMetadataArgsDecoder()],
|
|
40
|
+
["collection", getAddressDecoder()],
|
|
41
|
+
]);
|
|
42
|
+
}
|
|
43
|
+
export function getSetAndVerifyCollectionInstructionDataCodec() {
|
|
44
|
+
return combineCodec(getSetAndVerifyCollectionInstructionDataEncoder(), getSetAndVerifyCollectionInstructionDataDecoder());
|
|
45
|
+
}
|
|
46
|
+
export function getSetAndVerifyCollectionInstruction(input, config) {
|
|
47
|
+
// Program address.
|
|
48
|
+
const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
|
|
49
|
+
// Original accounts.
|
|
50
|
+
const originalAccounts = {
|
|
51
|
+
treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
|
|
52
|
+
leafOwner: { value: input.leafOwner ?? null, isWritable: false },
|
|
53
|
+
leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
|
|
54
|
+
merkleTree: { value: input.merkleTree ?? null, isWritable: true },
|
|
55
|
+
payer: { value: input.payer ?? null, isWritable: false },
|
|
56
|
+
treeDelegate: { value: input.treeDelegate ?? null, isWritable: false },
|
|
57
|
+
collectionAuthority: {
|
|
58
|
+
value: input.collectionAuthority ?? null,
|
|
59
|
+
isWritable: false,
|
|
60
|
+
},
|
|
61
|
+
collectionAuthorityRecordPda: {
|
|
62
|
+
value: input.collectionAuthorityRecordPda ?? null,
|
|
63
|
+
isWritable: false,
|
|
64
|
+
},
|
|
65
|
+
collectionMint: { value: input.collectionMint ?? null, isWritable: false },
|
|
66
|
+
collectionMetadata: {
|
|
67
|
+
value: input.collectionMetadata ?? null,
|
|
68
|
+
isWritable: true,
|
|
69
|
+
},
|
|
70
|
+
editionAccount: { value: input.editionAccount ?? null, isWritable: false },
|
|
71
|
+
bubblegumSigner: {
|
|
72
|
+
value: input.bubblegumSigner ?? null,
|
|
73
|
+
isWritable: false,
|
|
74
|
+
},
|
|
75
|
+
logWrapper: { value: input.logWrapper ?? null, isWritable: false },
|
|
76
|
+
compressionProgram: {
|
|
77
|
+
value: input.compressionProgram ?? null,
|
|
78
|
+
isWritable: false,
|
|
79
|
+
},
|
|
80
|
+
tokenMetadataProgram: {
|
|
81
|
+
value: input.tokenMetadataProgram ?? null,
|
|
82
|
+
isWritable: false,
|
|
83
|
+
},
|
|
84
|
+
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
85
|
+
};
|
|
86
|
+
const accounts = originalAccounts;
|
|
87
|
+
// Original args.
|
|
88
|
+
const args = { ...input };
|
|
89
|
+
// Resolve default values.
|
|
90
|
+
if (!accounts.tokenMetadataProgram.value) {
|
|
91
|
+
accounts.tokenMetadataProgram.value =
|
|
92
|
+
"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
|
|
93
|
+
}
|
|
94
|
+
if (!accounts.systemProgram.value) {
|
|
95
|
+
accounts.systemProgram.value =
|
|
96
|
+
"11111111111111111111111111111111";
|
|
97
|
+
}
|
|
98
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
99
|
+
return Object.freeze({
|
|
100
|
+
accounts: [
|
|
101
|
+
getAccountMeta("treeAuthority", accounts.treeAuthority),
|
|
102
|
+
getAccountMeta("leafOwner", accounts.leafOwner),
|
|
103
|
+
getAccountMeta("leafDelegate", accounts.leafDelegate),
|
|
104
|
+
getAccountMeta("merkleTree", accounts.merkleTree),
|
|
105
|
+
getAccountMeta("payer", accounts.payer),
|
|
106
|
+
getAccountMeta("treeDelegate", accounts.treeDelegate),
|
|
107
|
+
getAccountMeta("collectionAuthority", accounts.collectionAuthority),
|
|
108
|
+
getAccountMeta("collectionAuthorityRecordPda", accounts.collectionAuthorityRecordPda),
|
|
109
|
+
getAccountMeta("collectionMint", accounts.collectionMint),
|
|
110
|
+
getAccountMeta("collectionMetadata", accounts.collectionMetadata),
|
|
111
|
+
getAccountMeta("editionAccount", accounts.editionAccount),
|
|
112
|
+
getAccountMeta("bubblegumSigner", accounts.bubblegumSigner),
|
|
113
|
+
getAccountMeta("logWrapper", accounts.logWrapper),
|
|
114
|
+
getAccountMeta("compressionProgram", accounts.compressionProgram),
|
|
115
|
+
getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
|
|
116
|
+
getAccountMeta("systemProgram", accounts.systemProgram),
|
|
117
|
+
],
|
|
118
|
+
data: getSetAndVerifyCollectionInstructionDataEncoder().encode(args),
|
|
119
|
+
programAddress,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
export function parseSetAndVerifyCollectionInstruction(instruction) {
|
|
123
|
+
if (instruction.accounts.length < 16) {
|
|
124
|
+
throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, {
|
|
125
|
+
actualAccountMetas: instruction.accounts.length,
|
|
126
|
+
expectedAccountMetas: 16,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
let accountIndex = 0;
|
|
130
|
+
const getNextAccount = () => {
|
|
131
|
+
const accountMeta = instruction.accounts[accountIndex];
|
|
132
|
+
accountIndex += 1;
|
|
133
|
+
return accountMeta;
|
|
134
|
+
};
|
|
135
|
+
return {
|
|
136
|
+
programAddress: instruction.programAddress,
|
|
137
|
+
accounts: {
|
|
138
|
+
treeAuthority: getNextAccount(),
|
|
139
|
+
leafOwner: getNextAccount(),
|
|
140
|
+
leafDelegate: getNextAccount(),
|
|
141
|
+
merkleTree: getNextAccount(),
|
|
142
|
+
payer: getNextAccount(),
|
|
143
|
+
treeDelegate: getNextAccount(),
|
|
144
|
+
collectionAuthority: getNextAccount(),
|
|
145
|
+
collectionAuthorityRecordPda: getNextAccount(),
|
|
146
|
+
collectionMint: getNextAccount(),
|
|
147
|
+
collectionMetadata: getNextAccount(),
|
|
148
|
+
editionAccount: getNextAccount(),
|
|
149
|
+
bubblegumSigner: getNextAccount(),
|
|
150
|
+
logWrapper: getNextAccount(),
|
|
151
|
+
compressionProgram: getNextAccount(),
|
|
152
|
+
tokenMetadataProgram: getNextAccount(),
|
|
153
|
+
systemProgram: getNextAccount(),
|
|
154
|
+
},
|
|
155
|
+
data: getSetAndVerifyCollectionInstructionDataDecoder().decode(instruction.data),
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=setAndVerifyCollection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setAndVerifyCollection.js","sourceRoot":"","sources":["../../../src/generated/instructions/setAndVerifyCollection.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport type {\n AccountMeta,\n AccountSignerMeta,\n Address,\n Codec,\n Decoder,\n Encoder,\n Instruction,\n InstructionWithAccounts,\n InstructionWithData,\n ReadonlyAccount,\n ReadonlySignerAccount,\n ReadonlyUint8Array,\n TransactionSigner,\n WritableAccount,\n} from \"@solana/kit\";\nimport type { ResolvedInstructionAccount } from \"@solana/program-client-core\";\nimport type { MetadataArgs, MetadataArgsArgs } from \"../types/index.js\";\nimport {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n SolanaError,\n transformEncoder,\n} from \"@solana/kit\";\nimport { getAccountMetaFactory } from \"@solana/program-client-core\";\nimport { BUBBLEGUM_PROGRAM_ADDRESS } from \"../programs/index.js\";\nimport {\n getMetadataArgsDecoder,\n getMetadataArgsEncoder,\n} from \"../types/index.js\";\n\nexport const SET_AND_VERIFY_COLLECTION_DISCRIMINATOR: ReadonlyUint8Array =\n new Uint8Array([235, 242, 121, 216, 158, 234, 180, 234]);\n\nexport function getSetAndVerifyCollectionDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n SET_AND_VERIFY_COLLECTION_DISCRIMINATOR,\n );\n}\n\nexport type SetAndVerifyCollectionInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta = string,\n TAccountLeafOwner extends string | AccountMeta = string,\n TAccountLeafDelegate extends string | AccountMeta = string,\n TAccountMerkleTree extends string | AccountMeta = string,\n TAccountPayer extends string | AccountMeta = string,\n TAccountTreeDelegate extends string | AccountMeta = string,\n TAccountCollectionAuthority extends string | AccountMeta = string,\n TAccountCollectionAuthorityRecordPda extends string | AccountMeta = string,\n TAccountCollectionMint extends string | AccountMeta = string,\n TAccountCollectionMetadata extends string | AccountMeta = string,\n TAccountEditionAccount extends string | AccountMeta = string,\n TAccountBubblegumSigner extends string | AccountMeta = string,\n TAccountLogWrapper extends string | AccountMeta = string,\n TAccountCompressionProgram extends string | AccountMeta = string,\n TAccountTokenMetadataProgram extends\n | string\n | AccountMeta = \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\",\n TAccountSystemProgram extends\n | string\n | AccountMeta = \"11111111111111111111111111111111\",\n TRemainingAccounts extends readonly AccountMeta[] = [],\n> = Instruction<TProgram> &\n InstructionWithData<ReadonlyUint8Array> &\n InstructionWithAccounts<\n [\n TAccountTreeAuthority extends string\n ? ReadonlyAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountLeafOwner extends string\n ? ReadonlyAccount<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountLeafDelegate extends string\n ? ReadonlyAccount<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountPayer extends string\n ? ReadonlySignerAccount<TAccountPayer> &\n AccountSignerMeta<TAccountPayer>\n : TAccountPayer,\n TAccountTreeDelegate extends string\n ? ReadonlyAccount<TAccountTreeDelegate>\n : TAccountTreeDelegate,\n TAccountCollectionAuthority extends string\n ? ReadonlySignerAccount<TAccountCollectionAuthority> &\n AccountSignerMeta<TAccountCollectionAuthority>\n : TAccountCollectionAuthority,\n TAccountCollectionAuthorityRecordPda extends string\n ? ReadonlyAccount<TAccountCollectionAuthorityRecordPda>\n : TAccountCollectionAuthorityRecordPda,\n TAccountCollectionMint extends string\n ? ReadonlyAccount<TAccountCollectionMint>\n : TAccountCollectionMint,\n TAccountCollectionMetadata extends string\n ? WritableAccount<TAccountCollectionMetadata>\n : TAccountCollectionMetadata,\n TAccountEditionAccount extends string\n ? ReadonlyAccount<TAccountEditionAccount>\n : TAccountEditionAccount,\n TAccountBubblegumSigner extends string\n ? ReadonlyAccount<TAccountBubblegumSigner>\n : TAccountBubblegumSigner,\n TAccountLogWrapper extends string\n ? ReadonlyAccount<TAccountLogWrapper>\n : TAccountLogWrapper,\n TAccountCompressionProgram extends string\n ? ReadonlyAccount<TAccountCompressionProgram>\n : TAccountCompressionProgram,\n TAccountTokenMetadataProgram extends string\n ? ReadonlyAccount<TAccountTokenMetadataProgram>\n : TAccountTokenMetadataProgram,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport interface SetAndVerifyCollectionInstructionData {\n discriminator: ReadonlyUint8Array;\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n nonce: bigint;\n index: number;\n message: MetadataArgs;\n collection: Address;\n}\n\nexport interface SetAndVerifyCollectionInstructionDataArgs {\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n nonce: number | bigint;\n index: number;\n message: MetadataArgsArgs;\n collection: Address;\n}\n\nexport function getSetAndVerifyCollectionInstructionDataEncoder(): Encoder<SetAndVerifyCollectionInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"root\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"dataHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"creatorHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n [\"message\", getMetadataArgsEncoder()],\n [\"collection\", getAddressEncoder()],\n ]),\n (value) => ({\n ...value,\n discriminator: SET_AND_VERIFY_COLLECTION_DISCRIMINATOR,\n }),\n );\n}\n\nexport function getSetAndVerifyCollectionInstructionDataDecoder(): Decoder<SetAndVerifyCollectionInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"root\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"dataHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"creatorHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n [\"message\", getMetadataArgsDecoder()],\n [\"collection\", getAddressDecoder()],\n ]);\n}\n\nexport function getSetAndVerifyCollectionInstructionDataCodec(): Codec<\n SetAndVerifyCollectionInstructionDataArgs,\n SetAndVerifyCollectionInstructionData\n> {\n return combineCodec(\n getSetAndVerifyCollectionInstructionDataEncoder(),\n getSetAndVerifyCollectionInstructionDataDecoder(),\n );\n}\n\nexport interface SetAndVerifyCollectionInput<\n TAccountTreeAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountPayer extends string = string,\n TAccountTreeDelegate extends string = string,\n TAccountCollectionAuthority extends string = string,\n TAccountCollectionAuthorityRecordPda extends string = string,\n TAccountCollectionMint extends string = string,\n TAccountCollectionMetadata extends string = string,\n TAccountEditionAccount extends string = string,\n TAccountBubblegumSigner extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountTokenMetadataProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority: Address<TAccountTreeAuthority>;\n leafOwner: Address<TAccountLeafOwner>;\n leafDelegate: Address<TAccountLeafDelegate>;\n merkleTree: Address<TAccountMerkleTree>;\n payer: TransactionSigner<TAccountPayer>;\n /**\n * This account is checked to be a signer in\n * the case of `set_and_verify_collection` where\n * we are actually changing the NFT metadata.\n */\n treeDelegate: Address<TAccountTreeDelegate>;\n collectionAuthority: TransactionSigner<TAccountCollectionAuthority>;\n /**\n * If there is no collecton authority record PDA then\n * this must be the Bubblegum program address.\n */\n collectionAuthorityRecordPda: Address<TAccountCollectionAuthorityRecordPda>;\n collectionMint: Address<TAccountCollectionMint>;\n collectionMetadata: Address<TAccountCollectionMetadata>;\n editionAccount: Address<TAccountEditionAccount>;\n bubblegumSigner: Address<TAccountBubblegumSigner>;\n logWrapper: Address<TAccountLogWrapper>;\n compressionProgram: Address<TAccountCompressionProgram>;\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: SetAndVerifyCollectionInstructionDataArgs[\"root\"];\n dataHash: SetAndVerifyCollectionInstructionDataArgs[\"dataHash\"];\n creatorHash: SetAndVerifyCollectionInstructionDataArgs[\"creatorHash\"];\n nonce: SetAndVerifyCollectionInstructionDataArgs[\"nonce\"];\n index: SetAndVerifyCollectionInstructionDataArgs[\"index\"];\n message: SetAndVerifyCollectionInstructionDataArgs[\"message\"];\n collection: SetAndVerifyCollectionInstructionDataArgs[\"collection\"];\n}\n\nexport function getSetAndVerifyCollectionInstruction<\n TAccountTreeAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountPayer extends string,\n TAccountTreeDelegate extends string,\n TAccountCollectionAuthority extends string,\n TAccountCollectionAuthorityRecordPda extends string,\n TAccountCollectionMint extends string,\n TAccountCollectionMetadata extends string,\n TAccountEditionAccount extends string,\n TAccountBubblegumSigner extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountTokenMetadataProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: SetAndVerifyCollectionInput<\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeDelegate,\n TAccountCollectionAuthority,\n TAccountCollectionAuthorityRecordPda,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountEditionAccount,\n TAccountBubblegumSigner,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): SetAndVerifyCollectionInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeDelegate,\n TAccountCollectionAuthority,\n TAccountCollectionAuthorityRecordPda,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountEditionAccount,\n TAccountBubblegumSigner,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: false },\n treeDelegate: { value: input.treeDelegate ?? null, isWritable: false },\n collectionAuthority: {\n value: input.collectionAuthority ?? null,\n isWritable: false,\n },\n collectionAuthorityRecordPda: {\n value: input.collectionAuthorityRecordPda ?? null,\n isWritable: false,\n },\n collectionMint: { value: input.collectionMint ?? null, isWritable: false },\n collectionMetadata: {\n value: input.collectionMetadata ?? null,\n isWritable: true,\n },\n editionAccount: { value: input.editionAccount ?? null, isWritable: false },\n bubblegumSigner: {\n value: input.bubblegumSigner ?? null,\n isWritable: false,\n },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n tokenMetadataProgram: {\n value: input.tokenMetadataProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Original args.\n const args = { ...input };\n\n // Resolve default values.\n if (!accounts.tokenMetadataProgram.value) {\n accounts.tokenMetadataProgram.value =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\" as Address<\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\">;\n }\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"treeDelegate\", accounts.treeDelegate),\n getAccountMeta(\"collectionAuthority\", accounts.collectionAuthority),\n getAccountMeta(\n \"collectionAuthorityRecordPda\",\n accounts.collectionAuthorityRecordPda,\n ),\n getAccountMeta(\"collectionMint\", accounts.collectionMint),\n getAccountMeta(\"collectionMetadata\", accounts.collectionMetadata),\n getAccountMeta(\"editionAccount\", accounts.editionAccount),\n getAccountMeta(\"bubblegumSigner\", accounts.bubblegumSigner),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getSetAndVerifyCollectionInstructionDataEncoder().encode(\n args as SetAndVerifyCollectionInstructionDataArgs,\n ),\n programAddress,\n } as SetAndVerifyCollectionInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountMerkleTree,\n TAccountPayer,\n TAccountTreeDelegate,\n TAccountCollectionAuthority,\n TAccountCollectionAuthorityRecordPda,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountEditionAccount,\n TAccountBubblegumSigner,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface ParsedSetAndVerifyCollectionInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],\n> {\n programAddress: Address<TProgram>;\n accounts: {\n treeAuthority: TAccountMetas[0];\n leafOwner: TAccountMetas[1];\n leafDelegate: TAccountMetas[2];\n merkleTree: TAccountMetas[3];\n payer: TAccountMetas[4];\n /**\n * This account is checked to be a signer in\n * the case of `set_and_verify_collection` where\n * we are actually changing the NFT metadata.\n */\n treeDelegate: TAccountMetas[5];\n collectionAuthority: TAccountMetas[6];\n /**\n * If there is no collecton authority record PDA then\n * this must be the Bubblegum program address.\n */\n collectionAuthorityRecordPda: TAccountMetas[7];\n collectionMint: TAccountMetas[8];\n collectionMetadata: TAccountMetas[9];\n editionAccount: TAccountMetas[10];\n bubblegumSigner: TAccountMetas[11];\n logWrapper: TAccountMetas[12];\n compressionProgram: TAccountMetas[13];\n tokenMetadataProgram: TAccountMetas[14];\n systemProgram: TAccountMetas[15];\n };\n data: SetAndVerifyCollectionInstructionData;\n}\n\nexport function parseSetAndVerifyCollectionInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedSetAndVerifyCollectionInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 16) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 16,\n },\n );\n }\n let accountIndex = 0;\n const getNextAccount = () => {\n const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;\n accountIndex += 1;\n return accountMeta;\n };\n return {\n programAddress: instruction.programAddress,\n accounts: {\n treeAuthority: getNextAccount(),\n leafOwner: getNextAccount(),\n leafDelegate: getNextAccount(),\n merkleTree: getNextAccount(),\n payer: getNextAccount(),\n treeDelegate: getNextAccount(),\n collectionAuthority: getNextAccount(),\n collectionAuthorityRecordPda: getNextAccount(),\n collectionMint: getNextAccount(),\n collectionMetadata: getNextAccount(),\n editionAccount: getNextAccount(),\n bubblegumSigner: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n tokenMetadataProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getSetAndVerifyCollectionInstructionDataDecoder().decode(\n instruction.data,\n ),\n };\n}\n"]}
|
|
@@ -0,0 +1,116 @@
|
|
|
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
|
+
import type { AccountMeta, AccountSignerMeta, Address, Codec, Decoder, Encoder, Instruction, InstructionWithAccounts, InstructionWithData, Option, OptionOrNullable, ReadonlyAccount, ReadonlySignerAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount, WritableSignerAccount } from "@solana/kit";
|
|
9
|
+
import type { MetadataArgsV2, MetadataArgsV2Args } from "../types/index.js";
|
|
10
|
+
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
11
|
+
export declare const SET_COLLECTION_V2_DISCRIMINATOR: ReadonlyUint8Array;
|
|
12
|
+
export declare function getSetCollectionV2DiscriminatorBytes(): ReadonlyUint8Array;
|
|
13
|
+
export type SetCollectionV2Instruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountTreeAuthority extends string | AccountMeta = string, TAccountPayer extends string | AccountMeta = string, TAccountAuthority extends string | AccountMeta = string, TAccountNewCollectionAuthority extends string | AccountMeta = string, TAccountLeafOwner extends string | AccountMeta = string, TAccountLeafDelegate extends string | AccountMeta = string, TAccountMerkleTree extends string | AccountMeta = string, TAccountCoreCollection extends string | AccountMeta = string, TAccountNewCoreCollection extends string | AccountMeta = string, TAccountMplCoreCpiSigner extends string | AccountMeta = string, TAccountLogWrapper extends string | AccountMeta = string, TAccountCompressionProgram extends string | AccountMeta = string, TAccountMplCoreProgram extends string | AccountMeta = "CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d", TAccountSystemProgram extends string | AccountMeta = "11111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
|
|
14
|
+
TAccountTreeAuthority extends string ? WritableAccount<TAccountTreeAuthority> : TAccountTreeAuthority,
|
|
15
|
+
TAccountPayer extends string ? WritableSignerAccount<TAccountPayer> & AccountSignerMeta<TAccountPayer> : TAccountPayer,
|
|
16
|
+
TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
|
|
17
|
+
TAccountNewCollectionAuthority extends string ? ReadonlySignerAccount<TAccountNewCollectionAuthority> & AccountSignerMeta<TAccountNewCollectionAuthority> : TAccountNewCollectionAuthority,
|
|
18
|
+
TAccountLeafOwner extends string ? ReadonlyAccount<TAccountLeafOwner> : TAccountLeafOwner,
|
|
19
|
+
TAccountLeafDelegate extends string ? ReadonlyAccount<TAccountLeafDelegate> : TAccountLeafDelegate,
|
|
20
|
+
TAccountMerkleTree extends string ? WritableAccount<TAccountMerkleTree> : TAccountMerkleTree,
|
|
21
|
+
TAccountCoreCollection extends string ? WritableAccount<TAccountCoreCollection> : TAccountCoreCollection,
|
|
22
|
+
TAccountNewCoreCollection extends string ? WritableAccount<TAccountNewCoreCollection> : TAccountNewCoreCollection,
|
|
23
|
+
TAccountMplCoreCpiSigner extends string ? ReadonlyAccount<TAccountMplCoreCpiSigner> : TAccountMplCoreCpiSigner,
|
|
24
|
+
TAccountLogWrapper extends string ? ReadonlyAccount<TAccountLogWrapper> : TAccountLogWrapper,
|
|
25
|
+
TAccountCompressionProgram extends string ? ReadonlyAccount<TAccountCompressionProgram> : TAccountCompressionProgram,
|
|
26
|
+
TAccountMplCoreProgram extends string ? ReadonlyAccount<TAccountMplCoreProgram> : TAccountMplCoreProgram,
|
|
27
|
+
TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
|
|
28
|
+
...TRemainingAccounts
|
|
29
|
+
]>;
|
|
30
|
+
export interface SetCollectionV2InstructionData {
|
|
31
|
+
discriminator: ReadonlyUint8Array;
|
|
32
|
+
root: number[];
|
|
33
|
+
assetDataHash: Option<number[]>;
|
|
34
|
+
flags: Option<number>;
|
|
35
|
+
nonce: bigint;
|
|
36
|
+
index: number;
|
|
37
|
+
message: MetadataArgsV2;
|
|
38
|
+
}
|
|
39
|
+
export interface SetCollectionV2InstructionDataArgs {
|
|
40
|
+
root: number[];
|
|
41
|
+
assetDataHash: OptionOrNullable<number[]>;
|
|
42
|
+
flags: OptionOrNullable<number>;
|
|
43
|
+
nonce: number | bigint;
|
|
44
|
+
index: number;
|
|
45
|
+
message: MetadataArgsV2Args;
|
|
46
|
+
}
|
|
47
|
+
export declare function getSetCollectionV2InstructionDataEncoder(): Encoder<SetCollectionV2InstructionDataArgs>;
|
|
48
|
+
export declare function getSetCollectionV2InstructionDataDecoder(): Decoder<SetCollectionV2InstructionData>;
|
|
49
|
+
export declare function getSetCollectionV2InstructionDataCodec(): Codec<SetCollectionV2InstructionDataArgs, SetCollectionV2InstructionData>;
|
|
50
|
+
export interface SetCollectionV2Input<TAccountTreeAuthority extends string = string, TAccountPayer extends string = string, TAccountAuthority extends string = string, TAccountNewCollectionAuthority extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountMerkleTree extends string = string, TAccountCoreCollection extends string = string, TAccountNewCoreCollection extends string = string, TAccountMplCoreCpiSigner extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountMplCoreProgram extends string = string, TAccountSystemProgram extends string = string> {
|
|
51
|
+
treeAuthority: Address<TAccountTreeAuthority>;
|
|
52
|
+
payer: TransactionSigner<TAccountPayer>;
|
|
53
|
+
/**
|
|
54
|
+
* If item is not in a collection, then authority must be tree owner/delegate. If item is
|
|
55
|
+
* getting removed from a collection, then this must be an authority for the existing
|
|
56
|
+
* collection. Defaults to `payer`
|
|
57
|
+
*/
|
|
58
|
+
authority?: TransactionSigner<TAccountAuthority>;
|
|
59
|
+
/**
|
|
60
|
+
* If item is getting added to a new collection, then this must be the authority
|
|
61
|
+
* for the new collection. Defaults to `authority`
|
|
62
|
+
*/
|
|
63
|
+
newCollectionAuthority?: TransactionSigner<TAccountNewCollectionAuthority>;
|
|
64
|
+
leafOwner: Address<TAccountLeafOwner>;
|
|
65
|
+
/** Defaults to `leaf_owner` */
|
|
66
|
+
leafDelegate?: Address<TAccountLeafDelegate>;
|
|
67
|
+
merkleTree: Address<TAccountMerkleTree>;
|
|
68
|
+
coreCollection?: Address<TAccountCoreCollection>;
|
|
69
|
+
newCoreCollection?: Address<TAccountNewCoreCollection>;
|
|
70
|
+
mplCoreCpiSigner: Address<TAccountMplCoreCpiSigner>;
|
|
71
|
+
logWrapper: Address<TAccountLogWrapper>;
|
|
72
|
+
compressionProgram: Address<TAccountCompressionProgram>;
|
|
73
|
+
mplCoreProgram?: Address<TAccountMplCoreProgram>;
|
|
74
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
75
|
+
root: SetCollectionV2InstructionDataArgs["root"];
|
|
76
|
+
assetDataHash: SetCollectionV2InstructionDataArgs["assetDataHash"];
|
|
77
|
+
flags: SetCollectionV2InstructionDataArgs["flags"];
|
|
78
|
+
nonce: SetCollectionV2InstructionDataArgs["nonce"];
|
|
79
|
+
index: SetCollectionV2InstructionDataArgs["index"];
|
|
80
|
+
message: SetCollectionV2InstructionDataArgs["message"];
|
|
81
|
+
}
|
|
82
|
+
export declare function getSetCollectionV2Instruction<TAccountTreeAuthority extends string, TAccountPayer extends string, TAccountAuthority extends string, TAccountNewCollectionAuthority extends string, TAccountLeafOwner extends string, TAccountLeafDelegate extends string, TAccountMerkleTree extends string, TAccountCoreCollection extends string, TAccountNewCoreCollection extends string, TAccountMplCoreCpiSigner extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountMplCoreProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: SetCollectionV2Input<TAccountTreeAuthority, TAccountPayer, TAccountAuthority, TAccountNewCollectionAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountMerkleTree, TAccountCoreCollection, TAccountNewCoreCollection, TAccountMplCoreCpiSigner, TAccountLogWrapper, TAccountCompressionProgram, TAccountMplCoreProgram, TAccountSystemProgram>, config?: {
|
|
83
|
+
programAddress?: TProgramAddress;
|
|
84
|
+
}): SetCollectionV2Instruction<TProgramAddress, TAccountTreeAuthority, TAccountPayer, TAccountAuthority, TAccountNewCollectionAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountMerkleTree, TAccountCoreCollection, TAccountNewCoreCollection, TAccountMplCoreCpiSigner, TAccountLogWrapper, TAccountCompressionProgram, TAccountMplCoreProgram, TAccountSystemProgram>;
|
|
85
|
+
export interface ParsedSetCollectionV2Instruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> {
|
|
86
|
+
programAddress: Address<TProgram>;
|
|
87
|
+
accounts: {
|
|
88
|
+
treeAuthority: TAccountMetas[0];
|
|
89
|
+
payer: TAccountMetas[1];
|
|
90
|
+
/**
|
|
91
|
+
* If item is not in a collection, then authority must be tree owner/delegate. If item is
|
|
92
|
+
* getting removed from a collection, then this must be an authority for the existing
|
|
93
|
+
* collection. Defaults to `payer`
|
|
94
|
+
*/
|
|
95
|
+
authority?: TAccountMetas[2] | undefined;
|
|
96
|
+
/**
|
|
97
|
+
* If item is getting added to a new collection, then this must be the authority
|
|
98
|
+
* for the new collection. Defaults to `authority`
|
|
99
|
+
*/
|
|
100
|
+
newCollectionAuthority?: TAccountMetas[3] | undefined;
|
|
101
|
+
leafOwner: TAccountMetas[4];
|
|
102
|
+
/** Defaults to `leaf_owner` */
|
|
103
|
+
leafDelegate?: TAccountMetas[5] | undefined;
|
|
104
|
+
merkleTree: TAccountMetas[6];
|
|
105
|
+
coreCollection?: TAccountMetas[7] | undefined;
|
|
106
|
+
newCoreCollection?: TAccountMetas[8] | undefined;
|
|
107
|
+
mplCoreCpiSigner: TAccountMetas[9];
|
|
108
|
+
logWrapper: TAccountMetas[10];
|
|
109
|
+
compressionProgram: TAccountMetas[11];
|
|
110
|
+
mplCoreProgram: TAccountMetas[12];
|
|
111
|
+
systemProgram: TAccountMetas[13];
|
|
112
|
+
};
|
|
113
|
+
data: SetCollectionV2InstructionData;
|
|
114
|
+
}
|
|
115
|
+
export declare function parseSetCollectionV2Instruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedSetCollectionV2Instruction<TProgram, TAccountMetas>;
|
|
116
|
+
//# sourceMappingURL=setCollectionV2.d.ts.map
|