@macalinao/clients-mpl-bubblegum 0.2.0 → 0.3.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/dist/generated/accounts/index.d.ts +2 -10
- package/dist/generated/accounts/treeConfig.d.ts +42 -38
- package/dist/generated/accounts/treeConfig.d.ts.map +1 -1
- package/dist/generated/accounts/treeConfig.js +70 -53
- package/dist/generated/accounts/treeConfig.js.map +1 -1
- package/dist/generated/accounts/voucher.d.ts +33 -30
- package/dist/generated/accounts/voucher.d.ts.map +1 -1
- package/dist/generated/accounts/voucher.js +61 -45
- package/dist/generated/accounts/voucher.js.map +1 -1
- package/dist/generated/errors/bubblegum.d.ts +71 -74
- package/dist/generated/errors/bubblegum.d.ts.map +1 -1
- package/dist/generated/errors/bubblegum.js +126 -133
- package/dist/generated/errors/bubblegum.js.map +1 -1
- package/dist/generated/errors/index.d.ts +1 -9
- package/dist/generated/index.d.ts +63 -13
- package/dist/generated/instructions/burn.d.ts +70 -65
- package/dist/generated/instructions/burn.d.ts.map +1 -1
- package/dist/generated/instructions/burn.js +168 -98
- package/dist/generated/instructions/burn.js.map +1 -1
- package/dist/generated/instructions/burnV2.d.ts +107 -96
- package/dist/generated/instructions/burnV2.d.ts.map +1 -1
- package/dist/generated/instructions/burnV2.js +239 -136
- package/dist/generated/instructions/burnV2.js.map +1 -1
- package/dist/generated/instructions/cancelRedeem.d.ts +54 -53
- package/dist/generated/instructions/cancelRedeem.d.ts.map +1 -1
- package/dist/generated/instructions/cancelRedeem.js +154 -90
- package/dist/generated/instructions/cancelRedeem.js.map +1 -1
- package/dist/generated/instructions/closeTreeV2.d.ts +64 -60
- package/dist/generated/instructions/closeTreeV2.d.ts.map +1 -1
- package/dist/generated/instructions/closeTreeV2.js +152 -84
- package/dist/generated/instructions/closeTreeV2.js.map +1 -1
- package/dist/generated/instructions/collectV2.d.ts +28 -35
- package/dist/generated/instructions/collectV2.d.ts.map +1 -1
- package/dist/generated/instructions/collectV2.js +63 -60
- package/dist/generated/instructions/collectV2.js.map +1 -1
- package/dist/generated/instructions/compress.d.ts +71 -71
- package/dist/generated/instructions/compress.d.ts.map +1 -1
- package/dist/generated/instructions/compress.js +233 -116
- package/dist/generated/instructions/compress.js.map +1 -1
- package/dist/generated/instructions/createTree.d.ts +62 -59
- package/dist/generated/instructions/createTree.d.ts.map +1 -1
- package/dist/generated/instructions/createTree.js +164 -94
- package/dist/generated/instructions/createTree.js.map +1 -1
- package/dist/generated/instructions/createTreeV2.d.ts +64 -61
- package/dist/generated/instructions/createTreeV2.d.ts.map +1 -1
- package/dist/generated/instructions/createTreeV2.js +168 -100
- package/dist/generated/instructions/createTreeV2.js.map +1 -1
- package/dist/generated/instructions/decompressV1.d.ts +73 -72
- package/dist/generated/instructions/decompressV1.d.ts.map +1 -1
- package/dist/generated/instructions/decompressV1.js +251 -128
- package/dist/generated/instructions/decompressV1.js.map +1 -1
- package/dist/generated/instructions/delegate.d.ts +73 -68
- package/dist/generated/instructions/delegate.d.ts.map +1 -1
- package/dist/generated/instructions/delegate.js +179 -107
- package/dist/generated/instructions/delegate.js.map +1 -1
- package/dist/generated/instructions/delegateAndFreezeV2.d.ts +92 -84
- package/dist/generated/instructions/delegateAndFreezeV2.d.ts.map +1 -1
- package/dist/generated/instructions/delegateAndFreezeV2.js +201 -136
- package/dist/generated/instructions/delegateAndFreezeV2.js.map +1 -1
- package/dist/generated/instructions/delegateV2.d.ts +92 -84
- package/dist/generated/instructions/delegateV2.d.ts.map +1 -1
- package/dist/generated/instructions/delegateV2.js +200 -134
- package/dist/generated/instructions/delegateV2.js.map +1 -1
- package/dist/generated/instructions/freezeV2.d.ts +99 -88
- package/dist/generated/instructions/freezeV2.d.ts.map +1 -1
- package/dist/generated/instructions/freezeV2.js +209 -123
- package/dist/generated/instructions/freezeV2.js.map +1 -1
- package/dist/generated/instructions/index.d.ts +36 -44
- package/dist/generated/instructions/mintToCollectionV1.d.ts +94 -89
- package/dist/generated/instructions/mintToCollectionV1.d.ts.map +1 -1
- package/dist/generated/instructions/mintToCollectionV1.js +277 -139
- package/dist/generated/instructions/mintToCollectionV1.js.map +1 -1
- package/dist/generated/instructions/mintV1.d.ts +61 -60
- package/dist/generated/instructions/mintV1.d.ts.map +1 -1
- package/dist/generated/instructions/mintV1.js +177 -97
- package/dist/generated/instructions/mintV1.js.map +1 -1
- package/dist/generated/instructions/mintV2.d.ts +86 -82
- package/dist/generated/instructions/mintV2.d.ts.map +1 -1
- package/dist/generated/instructions/mintV2.js +244 -135
- package/dist/generated/instructions/mintV2.js.map +1 -1
- package/dist/generated/instructions/redeem.d.ts +73 -68
- package/dist/generated/instructions/redeem.d.ts.map +1 -1
- package/dist/generated/instructions/redeem.js +179 -101
- package/dist/generated/instructions/redeem.js.map +1 -1
- package/dist/generated/instructions/setAndVerifyCollection.d.ts +133 -117
- package/dist/generated/instructions/setAndVerifyCollection.d.ts.map +1 -1
- package/dist/generated/instructions/setAndVerifyCollection.js +295 -151
- package/dist/generated/instructions/setAndVerifyCollection.js.map +1 -1
- package/dist/generated/instructions/setCollectionV2.d.ts +125 -110
- package/dist/generated/instructions/setCollectionV2.d.ts.map +1 -1
- package/dist/generated/instructions/setCollectionV2.js +257 -146
- package/dist/generated/instructions/setCollectionV2.js.map +1 -1
- package/dist/generated/instructions/setDecompressableState.d.ts +32 -39
- package/dist/generated/instructions/setDecompressableState.d.ts.map +1 -1
- package/dist/generated/instructions/setDecompressableState.js +66 -69
- package/dist/generated/instructions/setDecompressableState.js.map +1 -1
- package/dist/generated/instructions/setDecompressibleState.d.ts +32 -39
- package/dist/generated/instructions/setDecompressibleState.d.ts.map +1 -1
- package/dist/generated/instructions/setDecompressibleState.js +66 -69
- package/dist/generated/instructions/setDecompressibleState.js.map +1 -1
- package/dist/generated/instructions/setNonTransferableV2.d.ts +101 -90
- package/dist/generated/instructions/setNonTransferableV2.d.ts.map +1 -1
- package/dist/generated/instructions/setNonTransferableV2.js +210 -125
- package/dist/generated/instructions/setNonTransferableV2.js.map +1 -1
- package/dist/generated/instructions/setTreeDelegate.d.ts +44 -44
- package/dist/generated/instructions/setTreeDelegate.d.ts.map +1 -1
- package/dist/generated/instructions/setTreeDelegate.js +127 -77
- package/dist/generated/instructions/setTreeDelegate.js.map +1 -1
- package/dist/generated/instructions/thawAndRevokeV2.d.ts +87 -79
- package/dist/generated/instructions/thawAndRevokeV2.d.ts.map +1 -1
- package/dist/generated/instructions/thawAndRevokeV2.js +190 -124
- package/dist/generated/instructions/thawAndRevokeV2.js.map +1 -1
- package/dist/generated/instructions/thawV2.d.ts +99 -88
- package/dist/generated/instructions/thawV2.d.ts.map +1 -1
- package/dist/generated/instructions/thawV2.js +209 -123
- package/dist/generated/instructions/thawV2.js.map +1 -1
- package/dist/generated/instructions/transfer.d.ts +73 -68
- package/dist/generated/instructions/transfer.d.ts.map +1 -1
- package/dist/generated/instructions/transfer.js +179 -101
- package/dist/generated/instructions/transfer.js.map +1 -1
- package/dist/generated/instructions/transferV2.d.ts +104 -93
- package/dist/generated/instructions/transferV2.d.ts.map +1 -1
- package/dist/generated/instructions/transferV2.js +220 -126
- package/dist/generated/instructions/transferV2.js.map +1 -1
- package/dist/generated/instructions/unverifyCollection.d.ts +129 -114
- package/dist/generated/instructions/unverifyCollection.d.ts.map +1 -1
- package/dist/generated/instructions/unverifyCollection.js +293 -146
- package/dist/generated/instructions/unverifyCollection.js.map +1 -1
- package/dist/generated/instructions/unverifyCreator.d.ts +81 -75
- package/dist/generated/instructions/unverifyCreator.d.ts.map +1 -1
- package/dist/generated/instructions/unverifyCreator.js +194 -106
- package/dist/generated/instructions/unverifyCreator.js.map +1 -1
- package/dist/generated/instructions/unverifyCreatorV2.d.ts +85 -79
- package/dist/generated/instructions/unverifyCreatorV2.d.ts.map +1 -1
- package/dist/generated/instructions/unverifyCreatorV2.js +198 -118
- package/dist/generated/instructions/unverifyCreatorV2.js.map +1 -1
- package/dist/generated/instructions/updateAssetDataV2.d.ts +108 -95
- package/dist/generated/instructions/updateAssetDataV2.d.ts.map +1 -1
- package/dist/generated/instructions/updateAssetDataV2.js +215 -136
- package/dist/generated/instructions/updateAssetDataV2.js.map +1 -1
- package/dist/generated/instructions/updateMetadata.d.ts +106 -96
- package/dist/generated/instructions/updateMetadata.d.ts.map +1 -1
- package/dist/generated/instructions/updateMetadata.js +243 -135
- package/dist/generated/instructions/updateMetadata.js.map +1 -1
- package/dist/generated/instructions/updateMetadataV2.d.ts +103 -91
- package/dist/generated/instructions/updateMetadataV2.d.ts.map +1 -1
- package/dist/generated/instructions/updateMetadataV2.js +212 -123
- package/dist/generated/instructions/updateMetadataV2.js.map +1 -1
- package/dist/generated/instructions/verifyCollection.d.ts +129 -114
- package/dist/generated/instructions/verifyCollection.d.ts.map +1 -1
- package/dist/generated/instructions/verifyCollection.js +293 -146
- package/dist/generated/instructions/verifyCollection.js.map +1 -1
- package/dist/generated/instructions/verifyCreator.d.ts +81 -75
- package/dist/generated/instructions/verifyCreator.d.ts.map +1 -1
- package/dist/generated/instructions/verifyCreator.js +193 -107
- package/dist/generated/instructions/verifyCreator.js.map +1 -1
- package/dist/generated/instructions/verifyCreatorV2.d.ts +85 -79
- package/dist/generated/instructions/verifyCreatorV2.d.ts.map +1 -1
- package/dist/generated/instructions/verifyCreatorV2.js +198 -118
- package/dist/generated/instructions/verifyCreatorV2.js.map +1 -1
- package/dist/generated/pdas/assetId.d.ts +16 -0
- package/dist/generated/pdas/assetId.d.ts.map +1 -0
- package/dist/generated/pdas/assetId.js +18 -0
- package/dist/generated/pdas/assetId.js.map +1 -0
- package/dist/generated/pdas/bubblegumSigner.d.ts +10 -0
- package/dist/generated/pdas/bubblegumSigner.d.ts.map +1 -0
- package/dist/generated/pdas/bubblegumSigner.js +14 -0
- package/dist/generated/pdas/bubblegumSigner.js.map +1 -0
- package/dist/generated/pdas/index.d.ts +7 -0
- package/dist/generated/pdas/masterEdition.d.ts +14 -0
- package/dist/generated/pdas/masterEdition.d.ts.map +1 -0
- package/dist/generated/pdas/masterEdition.js +19 -0
- package/dist/generated/pdas/masterEdition.js.map +1 -0
- package/dist/generated/pdas/metadata.d.ts +14 -0
- package/dist/generated/pdas/metadata.d.ts.map +1 -0
- package/dist/generated/pdas/metadata.js +18 -0
- package/dist/generated/pdas/metadata.js.map +1 -0
- package/dist/generated/pdas/mintAuthority.d.ts +14 -0
- package/dist/generated/pdas/mintAuthority.d.ts.map +1 -0
- package/dist/generated/pdas/mintAuthority.js +14 -0
- package/dist/generated/pdas/mintAuthority.js.map +1 -0
- package/dist/generated/pdas/treeConfig.d.ts +14 -0
- package/dist/generated/pdas/treeConfig.d.ts.map +1 -0
- package/dist/generated/pdas/treeConfig.js +14 -0
- package/dist/generated/pdas/treeConfig.js.map +1 -0
- package/dist/generated/pdas/voucher.d.ts +16 -0
- package/dist/generated/pdas/voucher.d.ts.map +1 -0
- package/dist/generated/pdas/voucher.js +18 -0
- package/dist/generated/pdas/voucher.js.map +1 -0
- package/dist/generated/programs/bubblegum.d.ts +186 -143
- package/dist/generated/programs/bubblegum.d.ts.map +1 -1
- package/dist/generated/programs/bubblegum.js +839 -561
- package/dist/generated/programs/bubblegum.js.map +1 -1
- package/dist/generated/programs/index.d.ts +2 -9
- package/dist/generated/programs/mplTokenMetadata.d.ts +20 -0
- package/dist/generated/programs/mplTokenMetadata.d.ts.map +1 -0
- package/dist/generated/programs/mplTokenMetadata.js +17 -0
- package/dist/generated/programs/mplTokenMetadata.js.map +1 -0
- package/dist/generated/types/assetDataSchema.d.ts +13 -16
- package/dist/generated/types/assetDataSchema.d.ts.map +1 -1
- package/dist/generated/types/assetDataSchema.js +16 -19
- package/dist/generated/types/assetDataSchema.js.map +1 -1
- package/dist/generated/types/bubblegumEventType.d.ts +12 -15
- package/dist/generated/types/bubblegumEventType.d.ts.map +1 -1
- package/dist/generated/types/bubblegumEventType.js +15 -18
- package/dist/generated/types/bubblegumEventType.js.map +1 -1
- package/dist/generated/types/collection.d.ts +12 -15
- package/dist/generated/types/collection.d.ts.map +1 -1
- package/dist/generated/types/collection.js +11 -20
- package/dist/generated/types/collection.js.map +1 -1
- package/dist/generated/types/creator.d.ts +18 -21
- package/dist/generated/types/creator.d.ts.map +1 -1
- package/dist/generated/types/creator.js +19 -22
- package/dist/generated/types/creator.js.map +1 -1
- package/dist/generated/types/decompressibleState.d.ts +12 -15
- package/dist/generated/types/decompressibleState.d.ts.map +1 -1
- package/dist/generated/types/decompressibleState.js +15 -18
- package/dist/generated/types/decompressibleState.js.map +1 -1
- package/dist/generated/types/index.d.ts +15 -23
- package/dist/generated/types/instructionName.d.ts +45 -48
- package/dist/generated/types/instructionName.d.ts.map +1 -1
- package/dist/generated/types/instructionName.js +48 -51
- package/dist/generated/types/instructionName.js.map +1 -1
- package/dist/generated/types/leafSchema.d.ts +48 -51
- package/dist/generated/types/leafSchema.d.ts.map +1 -1
- package/dist/generated/types/leafSchema.js +55 -72
- package/dist/generated/types/leafSchema.js.map +1 -1
- package/dist/generated/types/metadataArgs.d.ts +59 -58
- package/dist/generated/types/metadataArgs.d.ts.map +1 -1
- package/dist/generated/types/metadataArgs.js +42 -41
- package/dist/generated/types/metadataArgs.js.map +1 -1
- package/dist/generated/types/metadataArgsV2.d.ts +48 -50
- package/dist/generated/types/metadataArgsV2.d.ts.map +1 -1
- package/dist/generated/types/metadataArgsV2.js +33 -35
- package/dist/generated/types/metadataArgsV2.js.map +1 -1
- package/dist/generated/types/tokenProgramVersion.d.ts +12 -15
- package/dist/generated/types/tokenProgramVersion.d.ts.map +1 -1
- package/dist/generated/types/tokenProgramVersion.js +15 -18
- package/dist/generated/types/tokenProgramVersion.js.map +1 -1
- package/dist/generated/types/tokenStandard.d.ts +14 -17
- package/dist/generated/types/tokenStandard.d.ts.map +1 -1
- package/dist/generated/types/tokenStandard.js +17 -20
- package/dist/generated/types/tokenStandard.js.map +1 -1
- package/dist/generated/types/updateArgs.d.ts +25 -28
- package/dist/generated/types/updateArgs.d.ts.map +1 -1
- package/dist/generated/types/updateArgs.js +28 -49
- package/dist/generated/types/updateArgs.js.map +1 -1
- package/dist/generated/types/useMethod.d.ts +13 -16
- package/dist/generated/types/useMethod.d.ts.map +1 -1
- package/dist/generated/types/useMethod.js +16 -19
- package/dist/generated/types/useMethod.js.map +1 -1
- package/dist/generated/types/uses.d.ts +17 -20
- package/dist/generated/types/uses.d.ts.map +1 -1
- package/dist/generated/types/uses.js +20 -23
- package/dist/generated/types/uses.js.map +1 -1
- package/dist/generated/types/version.d.ts +12 -15
- package/dist/generated/types/version.d.ts.map +1 -1
- package/dist/generated/types/version.js +15 -18
- package/dist/generated/types/version.js.map +1 -1
- package/dist/index.d.ts +64 -8
- package/dist/index.js +64 -8
- package/package.json +7 -5
- package/src/generated/accounts/treeConfig.ts +22 -0
- package/src/generated/accounts/voucher.ts +22 -0
- package/src/generated/errors/bubblegum.ts +1 -1
- package/src/generated/index.ts +1 -0
- package/src/generated/instructions/burn.ts +155 -11
- package/src/generated/instructions/burnV2.ts +226 -16
- package/src/generated/instructions/cancelRedeem.ts +151 -11
- package/src/generated/instructions/closeTreeV2.ts +150 -11
- package/src/generated/instructions/collectV2.ts +3 -3
- package/src/generated/instructions/compress.ts +219 -18
- package/src/generated/instructions/createTree.ts +153 -11
- package/src/generated/instructions/createTreeV2.ts +154 -11
- package/src/generated/instructions/decompressV1.ts +258 -16
- package/src/generated/instructions/delegate.ts +170 -12
- package/src/generated/instructions/delegateAndFreezeV2.ts +184 -13
- package/src/generated/instructions/delegateV2.ts +184 -13
- package/src/generated/instructions/freezeV2.ts +188 -14
- package/src/generated/instructions/mintToCollectionV1.ts +296 -21
- package/src/generated/instructions/mintV1.ts +169 -13
- package/src/generated/instructions/mintV2.ts +231 -17
- package/src/generated/instructions/redeem.ts +164 -12
- package/src/generated/instructions/setAndVerifyCollection.ts +307 -21
- package/src/generated/instructions/setCollectionV2.ts +253 -19
- package/src/generated/instructions/setDecompressableState.ts +3 -3
- package/src/generated/instructions/setDecompressibleState.ts +3 -3
- package/src/generated/instructions/setNonTransferableV2.ts +189 -14
- package/src/generated/instructions/setTreeDelegate.ts +105 -7
- package/src/generated/instructions/thawAndRevokeV2.ts +168 -12
- package/src/generated/instructions/thawV2.ts +188 -14
- package/src/generated/instructions/transfer.ts +164 -12
- package/src/generated/instructions/transferV2.ts +198 -15
- package/src/generated/instructions/unverifyCollection.ts +306 -21
- package/src/generated/instructions/unverifyCreator.ts +174 -13
- package/src/generated/instructions/unverifyCreatorV2.ts +176 -13
- package/src/generated/instructions/updateAssetDataV2.ts +190 -14
- package/src/generated/instructions/updateMetadata.ts +233 -17
- package/src/generated/instructions/updateMetadataV2.ts +189 -14
- package/src/generated/instructions/verifyCollection.ts +306 -21
- package/src/generated/instructions/verifyCreator.ts +174 -13
- package/src/generated/instructions/verifyCreatorV2.ts +176 -13
- package/src/generated/pdas/assetId.ts +40 -0
- package/src/generated/pdas/bubblegumSigner.ts +23 -0
- package/{dist/generated/accounts/index.js → src/generated/pdas/index.ts} +6 -1
- package/src/generated/pdas/masterEdition.ts +38 -0
- package/src/generated/pdas/metadata.ts +37 -0
- package/src/generated/pdas/mintAuthority.ts +29 -0
- package/src/generated/pdas/treeConfig.ts +29 -0
- package/src/generated/pdas/voucher.ts +40 -0
- package/src/generated/programs/bubblegum.ts +208 -165
- package/src/generated/programs/index.ts +1 -0
- package/src/generated/programs/mplTokenMetadata.ts +42 -0
- package/dist/.tsbuildinfo +0 -1
- package/dist/generated/accounts/index.d.ts.map +0 -1
- package/dist/generated/accounts/index.js.map +0 -1
- package/dist/generated/errors/index.d.ts.map +0 -1
- package/dist/generated/errors/index.js +0 -9
- package/dist/generated/errors/index.js.map +0 -1
- package/dist/generated/index.d.ts.map +0 -1
- package/dist/generated/index.js +0 -13
- package/dist/generated/index.js.map +0 -1
- package/dist/generated/instructions/index.d.ts.map +0 -1
- package/dist/generated/instructions/index.js +0 -44
- package/dist/generated/instructions/index.js.map +0 -1
- package/dist/generated/programs/index.d.ts.map +0 -1
- package/dist/generated/programs/index.js +0 -9
- package/dist/generated/programs/index.js.map +0 -1
- package/dist/generated/types/index.d.ts.map +0 -1
- package/dist/generated/types/index.js +0 -23
- package/dist/generated/types/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -43,7 +43,11 @@ import {
|
|
|
43
43
|
SolanaError,
|
|
44
44
|
transformEncoder,
|
|
45
45
|
} from "@solana/kit";
|
|
46
|
-
import {
|
|
46
|
+
import {
|
|
47
|
+
getAccountMetaFactory,
|
|
48
|
+
getAddressFromResolvedInstructionAccount,
|
|
49
|
+
} from "@solana/program-client-core";
|
|
50
|
+
import { findTreeConfigPda } from "../pdas/index.js";
|
|
47
51
|
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
48
52
|
|
|
49
53
|
export const REDEEM_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([
|
|
@@ -56,17 +60,21 @@ export function getRedeemDiscriminatorBytes(): ReadonlyUint8Array {
|
|
|
56
60
|
|
|
57
61
|
export type RedeemInstruction<
|
|
58
62
|
TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
59
|
-
TAccountTreeAuthority extends string | AccountMeta = string,
|
|
60
|
-
TAccountLeafOwner extends string | AccountMeta = string,
|
|
61
|
-
TAccountLeafDelegate extends string | AccountMeta = string,
|
|
62
|
-
TAccountMerkleTree extends string | AccountMeta = string,
|
|
63
|
-
TAccountVoucher extends string | AccountMeta = string,
|
|
64
|
-
TAccountLogWrapper extends
|
|
65
|
-
|
|
63
|
+
TAccountTreeAuthority extends string | AccountMeta<string> = string,
|
|
64
|
+
TAccountLeafOwner extends string | AccountMeta<string> = string,
|
|
65
|
+
TAccountLeafDelegate extends string | AccountMeta<string> = string,
|
|
66
|
+
TAccountMerkleTree extends string | AccountMeta<string> = string,
|
|
67
|
+
TAccountVoucher extends string | AccountMeta<string> = string,
|
|
68
|
+
TAccountLogWrapper extends
|
|
69
|
+
| string
|
|
70
|
+
| AccountMeta<string> = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV",
|
|
71
|
+
TAccountCompressionProgram extends
|
|
72
|
+
| string
|
|
73
|
+
| AccountMeta<string> = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK",
|
|
66
74
|
TAccountSystemProgram extends
|
|
67
75
|
| string
|
|
68
|
-
| AccountMeta = "11111111111111111111111111111111",
|
|
69
|
-
TRemainingAccounts extends readonly AccountMeta[] = [],
|
|
76
|
+
| AccountMeta<string> = "11111111111111111111111111111111",
|
|
77
|
+
TRemainingAccounts extends readonly AccountMeta<string>[] = [],
|
|
70
78
|
> = Instruction<TProgram> &
|
|
71
79
|
InstructionWithData<ReadonlyUint8Array> &
|
|
72
80
|
InstructionWithAccounts<
|
|
@@ -152,6 +160,142 @@ export function getRedeemInstructionDataCodec(): FixedSizeCodec<
|
|
|
152
160
|
);
|
|
153
161
|
}
|
|
154
162
|
|
|
163
|
+
export interface RedeemAsyncInput<
|
|
164
|
+
TAccountTreeAuthority extends string = string,
|
|
165
|
+
TAccountLeafOwner extends string = string,
|
|
166
|
+
TAccountLeafDelegate extends string = string,
|
|
167
|
+
TAccountMerkleTree extends string = string,
|
|
168
|
+
TAccountVoucher extends string = string,
|
|
169
|
+
TAccountLogWrapper extends string = string,
|
|
170
|
+
TAccountCompressionProgram extends string = string,
|
|
171
|
+
TAccountSystemProgram extends string = string,
|
|
172
|
+
> {
|
|
173
|
+
treeAuthority?: Address<TAccountTreeAuthority>;
|
|
174
|
+
leafOwner: TransactionSigner<TAccountLeafOwner>;
|
|
175
|
+
leafDelegate: Address<TAccountLeafDelegate>;
|
|
176
|
+
merkleTree: Address<TAccountMerkleTree>;
|
|
177
|
+
voucher: Address<TAccountVoucher>;
|
|
178
|
+
logWrapper?: Address<TAccountLogWrapper>;
|
|
179
|
+
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
180
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
181
|
+
root: RedeemInstructionDataArgs["root"];
|
|
182
|
+
dataHash: RedeemInstructionDataArgs["dataHash"];
|
|
183
|
+
creatorHash: RedeemInstructionDataArgs["creatorHash"];
|
|
184
|
+
nonce: RedeemInstructionDataArgs["nonce"];
|
|
185
|
+
index: RedeemInstructionDataArgs["index"];
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
export async function getRedeemInstructionAsync<
|
|
189
|
+
TAccountTreeAuthority extends string,
|
|
190
|
+
TAccountLeafOwner extends string,
|
|
191
|
+
TAccountLeafDelegate extends string,
|
|
192
|
+
TAccountMerkleTree extends string,
|
|
193
|
+
TAccountVoucher extends string,
|
|
194
|
+
TAccountLogWrapper extends string,
|
|
195
|
+
TAccountCompressionProgram extends string,
|
|
196
|
+
TAccountSystemProgram extends string,
|
|
197
|
+
TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
198
|
+
>(
|
|
199
|
+
input: RedeemAsyncInput<
|
|
200
|
+
TAccountTreeAuthority,
|
|
201
|
+
TAccountLeafOwner,
|
|
202
|
+
TAccountLeafDelegate,
|
|
203
|
+
TAccountMerkleTree,
|
|
204
|
+
TAccountVoucher,
|
|
205
|
+
TAccountLogWrapper,
|
|
206
|
+
TAccountCompressionProgram,
|
|
207
|
+
TAccountSystemProgram
|
|
208
|
+
>,
|
|
209
|
+
config?: { programAddress?: TProgramAddress },
|
|
210
|
+
): Promise<
|
|
211
|
+
RedeemInstruction<
|
|
212
|
+
TProgramAddress,
|
|
213
|
+
TAccountTreeAuthority,
|
|
214
|
+
TAccountLeafOwner,
|
|
215
|
+
TAccountLeafDelegate,
|
|
216
|
+
TAccountMerkleTree,
|
|
217
|
+
TAccountVoucher,
|
|
218
|
+
TAccountLogWrapper,
|
|
219
|
+
TAccountCompressionProgram,
|
|
220
|
+
TAccountSystemProgram
|
|
221
|
+
>
|
|
222
|
+
> {
|
|
223
|
+
// Program address.
|
|
224
|
+
const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
|
|
225
|
+
|
|
226
|
+
// Original accounts.
|
|
227
|
+
const originalAccounts = {
|
|
228
|
+
treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
|
|
229
|
+
leafOwner: { value: input.leafOwner ?? null, isWritable: true },
|
|
230
|
+
leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
|
|
231
|
+
merkleTree: { value: input.merkleTree ?? null, isWritable: true },
|
|
232
|
+
voucher: { value: input.voucher ?? null, isWritable: true },
|
|
233
|
+
logWrapper: { value: input.logWrapper ?? null, isWritable: false },
|
|
234
|
+
compressionProgram: {
|
|
235
|
+
value: input.compressionProgram ?? null,
|
|
236
|
+
isWritable: false,
|
|
237
|
+
},
|
|
238
|
+
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
239
|
+
};
|
|
240
|
+
const accounts = originalAccounts as Record<
|
|
241
|
+
keyof typeof originalAccounts,
|
|
242
|
+
ResolvedInstructionAccount
|
|
243
|
+
>;
|
|
244
|
+
|
|
245
|
+
// Original args.
|
|
246
|
+
const args = { ...input };
|
|
247
|
+
|
|
248
|
+
// Resolve default values.
|
|
249
|
+
if (!accounts.treeAuthority.value) {
|
|
250
|
+
accounts.treeAuthority.value = await findTreeConfigPda({
|
|
251
|
+
merkleTree: getAddressFromResolvedInstructionAccount(
|
|
252
|
+
"merkleTree",
|
|
253
|
+
accounts.merkleTree.value,
|
|
254
|
+
),
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
if (!accounts.logWrapper.value) {
|
|
258
|
+
accounts.logWrapper.value =
|
|
259
|
+
"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
|
|
260
|
+
}
|
|
261
|
+
if (!accounts.compressionProgram.value) {
|
|
262
|
+
accounts.compressionProgram.value =
|
|
263
|
+
"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
|
|
264
|
+
}
|
|
265
|
+
if (!accounts.systemProgram.value) {
|
|
266
|
+
accounts.systemProgram.value =
|
|
267
|
+
"11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
271
|
+
return Object.freeze({
|
|
272
|
+
accounts: [
|
|
273
|
+
getAccountMeta("treeAuthority", accounts.treeAuthority),
|
|
274
|
+
getAccountMeta("leafOwner", accounts.leafOwner),
|
|
275
|
+
getAccountMeta("leafDelegate", accounts.leafDelegate),
|
|
276
|
+
getAccountMeta("merkleTree", accounts.merkleTree),
|
|
277
|
+
getAccountMeta("voucher", accounts.voucher),
|
|
278
|
+
getAccountMeta("logWrapper", accounts.logWrapper),
|
|
279
|
+
getAccountMeta("compressionProgram", accounts.compressionProgram),
|
|
280
|
+
getAccountMeta("systemProgram", accounts.systemProgram),
|
|
281
|
+
],
|
|
282
|
+
data: getRedeemInstructionDataEncoder().encode(
|
|
283
|
+
args as RedeemInstructionDataArgs,
|
|
284
|
+
),
|
|
285
|
+
programAddress,
|
|
286
|
+
} as RedeemInstruction<
|
|
287
|
+
TProgramAddress,
|
|
288
|
+
TAccountTreeAuthority,
|
|
289
|
+
TAccountLeafOwner,
|
|
290
|
+
TAccountLeafDelegate,
|
|
291
|
+
TAccountMerkleTree,
|
|
292
|
+
TAccountVoucher,
|
|
293
|
+
TAccountLogWrapper,
|
|
294
|
+
TAccountCompressionProgram,
|
|
295
|
+
TAccountSystemProgram
|
|
296
|
+
>);
|
|
297
|
+
}
|
|
298
|
+
|
|
155
299
|
export interface RedeemInput<
|
|
156
300
|
TAccountTreeAuthority extends string = string,
|
|
157
301
|
TAccountLeafOwner extends string = string,
|
|
@@ -167,8 +311,8 @@ export interface RedeemInput<
|
|
|
167
311
|
leafDelegate: Address<TAccountLeafDelegate>;
|
|
168
312
|
merkleTree: Address<TAccountMerkleTree>;
|
|
169
313
|
voucher: Address<TAccountVoucher>;
|
|
170
|
-
logWrapper
|
|
171
|
-
compressionProgram
|
|
314
|
+
logWrapper?: Address<TAccountLogWrapper>;
|
|
315
|
+
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
172
316
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
173
317
|
root: RedeemInstructionDataArgs["root"];
|
|
174
318
|
dataHash: RedeemInstructionDataArgs["dataHash"];
|
|
@@ -236,6 +380,14 @@ export function getRedeemInstruction<
|
|
|
236
380
|
const args = { ...input };
|
|
237
381
|
|
|
238
382
|
// Resolve default values.
|
|
383
|
+
if (!accounts.logWrapper.value) {
|
|
384
|
+
accounts.logWrapper.value =
|
|
385
|
+
"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
|
|
386
|
+
}
|
|
387
|
+
if (!accounts.compressionProgram.value) {
|
|
388
|
+
accounts.compressionProgram.value =
|
|
389
|
+
"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
|
|
390
|
+
}
|
|
239
391
|
if (!accounts.systemProgram.value) {
|
|
240
392
|
accounts.systemProgram.value =
|
|
241
393
|
"11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
|
|
@@ -25,6 +25,7 @@ import type {
|
|
|
25
25
|
import type { ResolvedInstructionAccount } from "@solana/program-client-core";
|
|
26
26
|
import type { MetadataArgs, MetadataArgsArgs } from "../types/index.js";
|
|
27
27
|
import {
|
|
28
|
+
address,
|
|
28
29
|
combineCodec,
|
|
29
30
|
fixDecoderSize,
|
|
30
31
|
fixEncoderSize,
|
|
@@ -46,7 +47,16 @@ import {
|
|
|
46
47
|
SolanaError,
|
|
47
48
|
transformEncoder,
|
|
48
49
|
} from "@solana/kit";
|
|
49
|
-
import {
|
|
50
|
+
import {
|
|
51
|
+
getAccountMetaFactory,
|
|
52
|
+
getAddressFromResolvedInstructionAccount,
|
|
53
|
+
} from "@solana/program-client-core";
|
|
54
|
+
import {
|
|
55
|
+
findBubblegumSignerPda,
|
|
56
|
+
findMasterEditionPda,
|
|
57
|
+
findMetadataPda,
|
|
58
|
+
findTreeConfigPda,
|
|
59
|
+
} from "../pdas/index.js";
|
|
50
60
|
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
51
61
|
import {
|
|
52
62
|
getMetadataArgsDecoder,
|
|
@@ -64,27 +74,33 @@ export function getSetAndVerifyCollectionDiscriminatorBytes(): ReadonlyUint8Arra
|
|
|
64
74
|
|
|
65
75
|
export type SetAndVerifyCollectionInstruction<
|
|
66
76
|
TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
67
|
-
TAccountTreeAuthority extends string | AccountMeta = string,
|
|
68
|
-
TAccountLeafOwner extends string | AccountMeta = string,
|
|
69
|
-
TAccountLeafDelegate extends string | AccountMeta = string,
|
|
70
|
-
TAccountMerkleTree extends string | AccountMeta = string,
|
|
71
|
-
TAccountPayer extends string | AccountMeta = string,
|
|
72
|
-
TAccountTreeDelegate extends string | AccountMeta = string,
|
|
73
|
-
TAccountCollectionAuthority extends string | AccountMeta = string,
|
|
74
|
-
TAccountCollectionAuthorityRecordPda extends
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
TAccountTreeAuthority extends string | AccountMeta<string> = string,
|
|
78
|
+
TAccountLeafOwner extends string | AccountMeta<string> = string,
|
|
79
|
+
TAccountLeafDelegate extends string | AccountMeta<string> = string,
|
|
80
|
+
TAccountMerkleTree extends string | AccountMeta<string> = string,
|
|
81
|
+
TAccountPayer extends string | AccountMeta<string> = string,
|
|
82
|
+
TAccountTreeDelegate extends string | AccountMeta<string> = string,
|
|
83
|
+
TAccountCollectionAuthority extends string | AccountMeta<string> = string,
|
|
84
|
+
TAccountCollectionAuthorityRecordPda extends
|
|
85
|
+
| string
|
|
86
|
+
| AccountMeta<string> = "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY",
|
|
87
|
+
TAccountCollectionMint extends string | AccountMeta<string> = string,
|
|
88
|
+
TAccountCollectionMetadata extends string | AccountMeta<string> = string,
|
|
89
|
+
TAccountEditionAccount extends string | AccountMeta<string> = string,
|
|
90
|
+
TAccountBubblegumSigner extends string | AccountMeta<string> = string,
|
|
91
|
+
TAccountLogWrapper extends
|
|
92
|
+
| string
|
|
93
|
+
| AccountMeta<string> = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV",
|
|
94
|
+
TAccountCompressionProgram extends
|
|
95
|
+
| string
|
|
96
|
+
| AccountMeta<string> = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK",
|
|
81
97
|
TAccountTokenMetadataProgram extends
|
|
82
98
|
| string
|
|
83
|
-
| AccountMeta = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
|
|
99
|
+
| AccountMeta<string> = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
|
|
84
100
|
TAccountSystemProgram extends
|
|
85
101
|
| string
|
|
86
|
-
| AccountMeta = "11111111111111111111111111111111",
|
|
87
|
-
TRemainingAccounts extends readonly AccountMeta[] = [],
|
|
102
|
+
| AccountMeta<string> = "11111111111111111111111111111111",
|
|
103
|
+
TRemainingAccounts extends readonly AccountMeta<string>[] = [],
|
|
88
104
|
> = Instruction<TProgram> &
|
|
89
105
|
InstructionWithData<ReadonlyUint8Array> &
|
|
90
106
|
InstructionWithAccounts<
|
|
@@ -206,6 +222,264 @@ export function getSetAndVerifyCollectionInstructionDataCodec(): Codec<
|
|
|
206
222
|
);
|
|
207
223
|
}
|
|
208
224
|
|
|
225
|
+
export interface SetAndVerifyCollectionAsyncInput<
|
|
226
|
+
TAccountTreeAuthority extends string = string,
|
|
227
|
+
TAccountLeafOwner extends string = string,
|
|
228
|
+
TAccountLeafDelegate extends string = string,
|
|
229
|
+
TAccountMerkleTree extends string = string,
|
|
230
|
+
TAccountPayer extends string = string,
|
|
231
|
+
TAccountTreeDelegate extends string = string,
|
|
232
|
+
TAccountCollectionAuthority extends string = string,
|
|
233
|
+
TAccountCollectionAuthorityRecordPda extends string = string,
|
|
234
|
+
TAccountCollectionMint extends string = string,
|
|
235
|
+
TAccountCollectionMetadata extends string = string,
|
|
236
|
+
TAccountEditionAccount extends string = string,
|
|
237
|
+
TAccountBubblegumSigner extends string = string,
|
|
238
|
+
TAccountLogWrapper extends string = string,
|
|
239
|
+
TAccountCompressionProgram extends string = string,
|
|
240
|
+
TAccountTokenMetadataProgram extends string = string,
|
|
241
|
+
TAccountSystemProgram extends string = string,
|
|
242
|
+
> {
|
|
243
|
+
treeAuthority?: Address<TAccountTreeAuthority>;
|
|
244
|
+
leafOwner: Address<TAccountLeafOwner>;
|
|
245
|
+
leafDelegate: Address<TAccountLeafDelegate>;
|
|
246
|
+
merkleTree: Address<TAccountMerkleTree>;
|
|
247
|
+
payer: TransactionSigner<TAccountPayer>;
|
|
248
|
+
/**
|
|
249
|
+
* This account is checked to be a signer in
|
|
250
|
+
* the case of `set_and_verify_collection` where
|
|
251
|
+
* we are actually changing the NFT metadata.
|
|
252
|
+
*/
|
|
253
|
+
treeDelegate: Address<TAccountTreeDelegate>;
|
|
254
|
+
collectionAuthority: TransactionSigner<TAccountCollectionAuthority>;
|
|
255
|
+
/**
|
|
256
|
+
* If there is no collecton authority record PDA then
|
|
257
|
+
* this must be the Bubblegum program address.
|
|
258
|
+
*/
|
|
259
|
+
collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
|
|
260
|
+
collectionMint: Address<TAccountCollectionMint>;
|
|
261
|
+
collectionMetadata?: Address<TAccountCollectionMetadata>;
|
|
262
|
+
editionAccount?: Address<TAccountEditionAccount>;
|
|
263
|
+
bubblegumSigner?: Address<TAccountBubblegumSigner>;
|
|
264
|
+
logWrapper?: Address<TAccountLogWrapper>;
|
|
265
|
+
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
266
|
+
tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
|
|
267
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
268
|
+
root: SetAndVerifyCollectionInstructionDataArgs["root"];
|
|
269
|
+
dataHash: SetAndVerifyCollectionInstructionDataArgs["dataHash"];
|
|
270
|
+
creatorHash: SetAndVerifyCollectionInstructionDataArgs["creatorHash"];
|
|
271
|
+
nonce: SetAndVerifyCollectionInstructionDataArgs["nonce"];
|
|
272
|
+
index: SetAndVerifyCollectionInstructionDataArgs["index"];
|
|
273
|
+
message: SetAndVerifyCollectionInstructionDataArgs["message"];
|
|
274
|
+
collection: SetAndVerifyCollectionInstructionDataArgs["collection"];
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
export async function getSetAndVerifyCollectionInstructionAsync<
|
|
278
|
+
TAccountTreeAuthority extends string,
|
|
279
|
+
TAccountLeafOwner extends string,
|
|
280
|
+
TAccountLeafDelegate extends string,
|
|
281
|
+
TAccountMerkleTree extends string,
|
|
282
|
+
TAccountPayer extends string,
|
|
283
|
+
TAccountTreeDelegate extends string,
|
|
284
|
+
TAccountCollectionAuthority extends string,
|
|
285
|
+
TAccountCollectionAuthorityRecordPda extends string,
|
|
286
|
+
TAccountCollectionMint extends string,
|
|
287
|
+
TAccountCollectionMetadata extends string,
|
|
288
|
+
TAccountEditionAccount extends string,
|
|
289
|
+
TAccountBubblegumSigner extends string,
|
|
290
|
+
TAccountLogWrapper extends string,
|
|
291
|
+
TAccountCompressionProgram extends string,
|
|
292
|
+
TAccountTokenMetadataProgram extends string,
|
|
293
|
+
TAccountSystemProgram extends string,
|
|
294
|
+
TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
295
|
+
>(
|
|
296
|
+
input: SetAndVerifyCollectionAsyncInput<
|
|
297
|
+
TAccountTreeAuthority,
|
|
298
|
+
TAccountLeafOwner,
|
|
299
|
+
TAccountLeafDelegate,
|
|
300
|
+
TAccountMerkleTree,
|
|
301
|
+
TAccountPayer,
|
|
302
|
+
TAccountTreeDelegate,
|
|
303
|
+
TAccountCollectionAuthority,
|
|
304
|
+
TAccountCollectionAuthorityRecordPda,
|
|
305
|
+
TAccountCollectionMint,
|
|
306
|
+
TAccountCollectionMetadata,
|
|
307
|
+
TAccountEditionAccount,
|
|
308
|
+
TAccountBubblegumSigner,
|
|
309
|
+
TAccountLogWrapper,
|
|
310
|
+
TAccountCompressionProgram,
|
|
311
|
+
TAccountTokenMetadataProgram,
|
|
312
|
+
TAccountSystemProgram
|
|
313
|
+
>,
|
|
314
|
+
config?: { programAddress?: TProgramAddress },
|
|
315
|
+
): Promise<
|
|
316
|
+
SetAndVerifyCollectionInstruction<
|
|
317
|
+
TProgramAddress,
|
|
318
|
+
TAccountTreeAuthority,
|
|
319
|
+
TAccountLeafOwner,
|
|
320
|
+
TAccountLeafDelegate,
|
|
321
|
+
TAccountMerkleTree,
|
|
322
|
+
TAccountPayer,
|
|
323
|
+
TAccountTreeDelegate,
|
|
324
|
+
TAccountCollectionAuthority,
|
|
325
|
+
TAccountCollectionAuthorityRecordPda,
|
|
326
|
+
TAccountCollectionMint,
|
|
327
|
+
TAccountCollectionMetadata,
|
|
328
|
+
TAccountEditionAccount,
|
|
329
|
+
TAccountBubblegumSigner,
|
|
330
|
+
TAccountLogWrapper,
|
|
331
|
+
TAccountCompressionProgram,
|
|
332
|
+
TAccountTokenMetadataProgram,
|
|
333
|
+
TAccountSystemProgram
|
|
334
|
+
>
|
|
335
|
+
> {
|
|
336
|
+
// Program address.
|
|
337
|
+
const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
|
|
338
|
+
|
|
339
|
+
// Original accounts.
|
|
340
|
+
const originalAccounts = {
|
|
341
|
+
treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
|
|
342
|
+
leafOwner: { value: input.leafOwner ?? null, isWritable: false },
|
|
343
|
+
leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
|
|
344
|
+
merkleTree: { value: input.merkleTree ?? null, isWritable: true },
|
|
345
|
+
payer: { value: input.payer ?? null, isWritable: false },
|
|
346
|
+
treeDelegate: { value: input.treeDelegate ?? null, isWritable: false },
|
|
347
|
+
collectionAuthority: {
|
|
348
|
+
value: input.collectionAuthority ?? null,
|
|
349
|
+
isWritable: false,
|
|
350
|
+
},
|
|
351
|
+
collectionAuthorityRecordPda: {
|
|
352
|
+
value: input.collectionAuthorityRecordPda ?? null,
|
|
353
|
+
isWritable: false,
|
|
354
|
+
},
|
|
355
|
+
collectionMint: { value: input.collectionMint ?? null, isWritable: false },
|
|
356
|
+
collectionMetadata: {
|
|
357
|
+
value: input.collectionMetadata ?? null,
|
|
358
|
+
isWritable: true,
|
|
359
|
+
},
|
|
360
|
+
editionAccount: { value: input.editionAccount ?? null, isWritable: false },
|
|
361
|
+
bubblegumSigner: {
|
|
362
|
+
value: input.bubblegumSigner ?? null,
|
|
363
|
+
isWritable: false,
|
|
364
|
+
},
|
|
365
|
+
logWrapper: { value: input.logWrapper ?? null, isWritable: false },
|
|
366
|
+
compressionProgram: {
|
|
367
|
+
value: input.compressionProgram ?? null,
|
|
368
|
+
isWritable: false,
|
|
369
|
+
},
|
|
370
|
+
tokenMetadataProgram: {
|
|
371
|
+
value: input.tokenMetadataProgram ?? null,
|
|
372
|
+
isWritable: false,
|
|
373
|
+
},
|
|
374
|
+
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
375
|
+
};
|
|
376
|
+
const accounts = originalAccounts as Record<
|
|
377
|
+
keyof typeof originalAccounts,
|
|
378
|
+
ResolvedInstructionAccount
|
|
379
|
+
>;
|
|
380
|
+
|
|
381
|
+
// Original args.
|
|
382
|
+
const args = { ...input };
|
|
383
|
+
|
|
384
|
+
// Resolve default values.
|
|
385
|
+
if (!accounts.treeAuthority.value) {
|
|
386
|
+
accounts.treeAuthority.value = await findTreeConfigPda({
|
|
387
|
+
merkleTree: getAddressFromResolvedInstructionAccount(
|
|
388
|
+
"merkleTree",
|
|
389
|
+
accounts.merkleTree.value,
|
|
390
|
+
),
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
if (!accounts.collectionAuthorityRecordPda.value) {
|
|
394
|
+
accounts.collectionAuthorityRecordPda.value = programAddress;
|
|
395
|
+
accounts.collectionAuthorityRecordPda.isWritable = false;
|
|
396
|
+
}
|
|
397
|
+
if (!accounts.collectionMetadata.value) {
|
|
398
|
+
accounts.collectionMetadata.value = await findMetadataPda({
|
|
399
|
+
programId: address("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),
|
|
400
|
+
mint: getAddressFromResolvedInstructionAccount(
|
|
401
|
+
"collectionMint",
|
|
402
|
+
accounts.collectionMint.value,
|
|
403
|
+
),
|
|
404
|
+
});
|
|
405
|
+
}
|
|
406
|
+
if (!accounts.editionAccount.value) {
|
|
407
|
+
accounts.editionAccount.value = await findMasterEditionPda({
|
|
408
|
+
programId: address("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),
|
|
409
|
+
mint: getAddressFromResolvedInstructionAccount(
|
|
410
|
+
"collectionMint",
|
|
411
|
+
accounts.collectionMint.value,
|
|
412
|
+
),
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
if (!accounts.bubblegumSigner.value) {
|
|
416
|
+
accounts.bubblegumSigner.value = await findBubblegumSignerPda();
|
|
417
|
+
}
|
|
418
|
+
if (!accounts.logWrapper.value) {
|
|
419
|
+
accounts.logWrapper.value =
|
|
420
|
+
"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
|
|
421
|
+
}
|
|
422
|
+
if (!accounts.compressionProgram.value) {
|
|
423
|
+
accounts.compressionProgram.value =
|
|
424
|
+
"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
|
|
425
|
+
}
|
|
426
|
+
if (!accounts.tokenMetadataProgram.value) {
|
|
427
|
+
accounts.tokenMetadataProgram.value =
|
|
428
|
+
"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
|
|
429
|
+
}
|
|
430
|
+
if (!accounts.systemProgram.value) {
|
|
431
|
+
accounts.systemProgram.value =
|
|
432
|
+
"11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
436
|
+
return Object.freeze({
|
|
437
|
+
accounts: [
|
|
438
|
+
getAccountMeta("treeAuthority", accounts.treeAuthority),
|
|
439
|
+
getAccountMeta("leafOwner", accounts.leafOwner),
|
|
440
|
+
getAccountMeta("leafDelegate", accounts.leafDelegate),
|
|
441
|
+
getAccountMeta("merkleTree", accounts.merkleTree),
|
|
442
|
+
getAccountMeta("payer", accounts.payer),
|
|
443
|
+
getAccountMeta("treeDelegate", accounts.treeDelegate),
|
|
444
|
+
getAccountMeta("collectionAuthority", accounts.collectionAuthority),
|
|
445
|
+
getAccountMeta(
|
|
446
|
+
"collectionAuthorityRecordPda",
|
|
447
|
+
accounts.collectionAuthorityRecordPda,
|
|
448
|
+
),
|
|
449
|
+
getAccountMeta("collectionMint", accounts.collectionMint),
|
|
450
|
+
getAccountMeta("collectionMetadata", accounts.collectionMetadata),
|
|
451
|
+
getAccountMeta("editionAccount", accounts.editionAccount),
|
|
452
|
+
getAccountMeta("bubblegumSigner", accounts.bubblegumSigner),
|
|
453
|
+
getAccountMeta("logWrapper", accounts.logWrapper),
|
|
454
|
+
getAccountMeta("compressionProgram", accounts.compressionProgram),
|
|
455
|
+
getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
|
|
456
|
+
getAccountMeta("systemProgram", accounts.systemProgram),
|
|
457
|
+
],
|
|
458
|
+
data: getSetAndVerifyCollectionInstructionDataEncoder().encode(
|
|
459
|
+
args as SetAndVerifyCollectionInstructionDataArgs,
|
|
460
|
+
),
|
|
461
|
+
programAddress,
|
|
462
|
+
} as SetAndVerifyCollectionInstruction<
|
|
463
|
+
TProgramAddress,
|
|
464
|
+
TAccountTreeAuthority,
|
|
465
|
+
TAccountLeafOwner,
|
|
466
|
+
TAccountLeafDelegate,
|
|
467
|
+
TAccountMerkleTree,
|
|
468
|
+
TAccountPayer,
|
|
469
|
+
TAccountTreeDelegate,
|
|
470
|
+
TAccountCollectionAuthority,
|
|
471
|
+
TAccountCollectionAuthorityRecordPda,
|
|
472
|
+
TAccountCollectionMint,
|
|
473
|
+
TAccountCollectionMetadata,
|
|
474
|
+
TAccountEditionAccount,
|
|
475
|
+
TAccountBubblegumSigner,
|
|
476
|
+
TAccountLogWrapper,
|
|
477
|
+
TAccountCompressionProgram,
|
|
478
|
+
TAccountTokenMetadataProgram,
|
|
479
|
+
TAccountSystemProgram
|
|
480
|
+
>);
|
|
481
|
+
}
|
|
482
|
+
|
|
209
483
|
export interface SetAndVerifyCollectionInput<
|
|
210
484
|
TAccountTreeAuthority extends string = string,
|
|
211
485
|
TAccountLeafOwner extends string = string,
|
|
@@ -240,13 +514,13 @@ export interface SetAndVerifyCollectionInput<
|
|
|
240
514
|
* If there is no collecton authority record PDA then
|
|
241
515
|
* this must be the Bubblegum program address.
|
|
242
516
|
*/
|
|
243
|
-
collectionAuthorityRecordPda
|
|
517
|
+
collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
|
|
244
518
|
collectionMint: Address<TAccountCollectionMint>;
|
|
245
519
|
collectionMetadata: Address<TAccountCollectionMetadata>;
|
|
246
520
|
editionAccount: Address<TAccountEditionAccount>;
|
|
247
521
|
bubblegumSigner: Address<TAccountBubblegumSigner>;
|
|
248
|
-
logWrapper
|
|
249
|
-
compressionProgram
|
|
522
|
+
logWrapper?: Address<TAccountLogWrapper>;
|
|
523
|
+
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
250
524
|
tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
|
|
251
525
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
252
526
|
root: SetAndVerifyCollectionInstructionDataArgs["root"];
|
|
@@ -364,6 +638,18 @@ export function getSetAndVerifyCollectionInstruction<
|
|
|
364
638
|
const args = { ...input };
|
|
365
639
|
|
|
366
640
|
// Resolve default values.
|
|
641
|
+
if (!accounts.collectionAuthorityRecordPda.value) {
|
|
642
|
+
accounts.collectionAuthorityRecordPda.value = programAddress;
|
|
643
|
+
accounts.collectionAuthorityRecordPda.isWritable = false;
|
|
644
|
+
}
|
|
645
|
+
if (!accounts.logWrapper.value) {
|
|
646
|
+
accounts.logWrapper.value =
|
|
647
|
+
"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
|
|
648
|
+
}
|
|
649
|
+
if (!accounts.compressionProgram.value) {
|
|
650
|
+
accounts.compressionProgram.value =
|
|
651
|
+
"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
|
|
652
|
+
}
|
|
367
653
|
if (!accounts.tokenMetadataProgram.value) {
|
|
368
654
|
accounts.tokenMetadataProgram.value =
|
|
369
655
|
"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
|