@macalinao/clients-mpl-bubblegum 0.2.0 → 0.3.1
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 -9
- 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 +154 -13
- package/src/generated/instructions/burnV2.ts +226 -20
- package/src/generated/instructions/cancelRedeem.ts +150 -13
- package/src/generated/instructions/closeTreeV2.ts +149 -13
- package/src/generated/instructions/collectV2.ts +3 -3
- package/src/generated/instructions/compress.ts +220 -24
- package/src/generated/instructions/createTree.ts +152 -13
- package/src/generated/instructions/createTreeV2.ts +153 -13
- package/src/generated/instructions/decompressV1.ts +262 -26
- package/src/generated/instructions/delegate.ts +169 -14
- package/src/generated/instructions/delegateAndFreezeV2.ts +183 -15
- package/src/generated/instructions/delegateV2.ts +183 -15
- package/src/generated/instructions/freezeV2.ts +187 -16
- package/src/generated/instructions/mintToCollectionV1.ts +295 -25
- package/src/generated/instructions/mintV1.ts +168 -15
- package/src/generated/instructions/mintV2.ts +231 -21
- package/src/generated/instructions/redeem.ts +163 -14
- package/src/generated/instructions/setAndVerifyCollection.ts +306 -25
- package/src/generated/instructions/setCollectionV2.ts +252 -23
- package/src/generated/instructions/setDecompressableState.ts +3 -3
- package/src/generated/instructions/setDecompressibleState.ts +3 -3
- package/src/generated/instructions/setNonTransferableV2.ts +188 -16
- package/src/generated/instructions/setTreeDelegate.ts +106 -9
- package/src/generated/instructions/thawAndRevokeV2.ts +167 -14
- package/src/generated/instructions/thawV2.ts +187 -16
- package/src/generated/instructions/transfer.ts +163 -14
- package/src/generated/instructions/transferV2.ts +197 -17
- package/src/generated/instructions/unverifyCollection.ts +305 -25
- package/src/generated/instructions/unverifyCreator.ts +173 -15
- package/src/generated/instructions/unverifyCreatorV2.ts +175 -15
- package/src/generated/instructions/updateAssetDataV2.ts +189 -16
- package/src/generated/instructions/updateMetadata.ts +232 -21
- package/src/generated/instructions/updateMetadataV2.ts +188 -16
- package/src/generated/instructions/verifyCollection.ts +305 -25
- package/src/generated/instructions/verifyCreator.ts +173 -15
- package/src/generated/instructions/verifyCreatorV2.ts +175 -15
- 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
|
@@ -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,
|
|
@@ -44,7 +45,16 @@ import {
|
|
|
44
45
|
SolanaError,
|
|
45
46
|
transformEncoder,
|
|
46
47
|
} from "@solana/kit";
|
|
47
|
-
import {
|
|
48
|
+
import {
|
|
49
|
+
getAccountMetaFactory,
|
|
50
|
+
getAddressFromResolvedInstructionAccount,
|
|
51
|
+
} from "@solana/program-client-core";
|
|
52
|
+
import {
|
|
53
|
+
findBubblegumSignerPda,
|
|
54
|
+
findMasterEditionPda,
|
|
55
|
+
findMetadataPda,
|
|
56
|
+
findTreeConfigPda,
|
|
57
|
+
} from "../pdas/index.js";
|
|
48
58
|
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
49
59
|
import {
|
|
50
60
|
getMetadataArgsDecoder,
|
|
@@ -62,27 +72,28 @@ export function getVerifyCollectionDiscriminatorBytes(): ReadonlyUint8Array {
|
|
|
62
72
|
|
|
63
73
|
export type VerifyCollectionInstruction<
|
|
64
74
|
TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
65
|
-
TAccountTreeAuthority extends string | AccountMeta = string,
|
|
66
|
-
TAccountLeafOwner extends string | AccountMeta = string,
|
|
67
|
-
TAccountLeafDelegate extends string | AccountMeta = string,
|
|
68
|
-
TAccountMerkleTree extends string | AccountMeta = string,
|
|
69
|
-
TAccountPayer extends string | AccountMeta = string,
|
|
70
|
-
TAccountTreeDelegate extends string | AccountMeta = string,
|
|
71
|
-
TAccountCollectionAuthority extends string | AccountMeta = string,
|
|
72
|
-
TAccountCollectionAuthorityRecordPda extends string | AccountMeta =
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
75
|
+
TAccountTreeAuthority extends string | AccountMeta<string> = string,
|
|
76
|
+
TAccountLeafOwner extends string | AccountMeta<string> = string,
|
|
77
|
+
TAccountLeafDelegate extends string | AccountMeta<string> = string,
|
|
78
|
+
TAccountMerkleTree extends string | AccountMeta<string> = string,
|
|
79
|
+
TAccountPayer extends string | AccountMeta<string> = string,
|
|
80
|
+
TAccountTreeDelegate extends string | AccountMeta<string> = string,
|
|
81
|
+
TAccountCollectionAuthority extends string | AccountMeta<string> = string,
|
|
82
|
+
TAccountCollectionAuthorityRecordPda extends string | AccountMeta<string> =
|
|
83
|
+
"BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY",
|
|
84
|
+
TAccountCollectionMint extends string | AccountMeta<string> = string,
|
|
85
|
+
TAccountCollectionMetadata extends string | AccountMeta<string> = string,
|
|
86
|
+
TAccountEditionAccount extends string | AccountMeta<string> = string,
|
|
87
|
+
TAccountBubblegumSigner extends string | AccountMeta<string> = string,
|
|
88
|
+
TAccountLogWrapper extends string | AccountMeta<string> =
|
|
89
|
+
"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV",
|
|
90
|
+
TAccountCompressionProgram extends string | AccountMeta<string> =
|
|
91
|
+
"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK",
|
|
92
|
+
TAccountTokenMetadataProgram extends string | AccountMeta<string> =
|
|
93
|
+
"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
|
|
94
|
+
TAccountSystemProgram extends string | AccountMeta<string> =
|
|
95
|
+
"11111111111111111111111111111111",
|
|
96
|
+
TRemainingAccounts extends readonly AccountMeta<string>[] = [],
|
|
86
97
|
> = Instruction<TProgram> &
|
|
87
98
|
InstructionWithData<ReadonlyUint8Array> &
|
|
88
99
|
InstructionWithAccounts<
|
|
@@ -197,6 +208,263 @@ export function getVerifyCollectionInstructionDataCodec(): Codec<
|
|
|
197
208
|
);
|
|
198
209
|
}
|
|
199
210
|
|
|
211
|
+
export interface VerifyCollectionAsyncInput<
|
|
212
|
+
TAccountTreeAuthority extends string = string,
|
|
213
|
+
TAccountLeafOwner extends string = string,
|
|
214
|
+
TAccountLeafDelegate extends string = string,
|
|
215
|
+
TAccountMerkleTree extends string = string,
|
|
216
|
+
TAccountPayer extends string = string,
|
|
217
|
+
TAccountTreeDelegate extends string = string,
|
|
218
|
+
TAccountCollectionAuthority extends string = string,
|
|
219
|
+
TAccountCollectionAuthorityRecordPda extends string = string,
|
|
220
|
+
TAccountCollectionMint extends string = string,
|
|
221
|
+
TAccountCollectionMetadata extends string = string,
|
|
222
|
+
TAccountEditionAccount extends string = string,
|
|
223
|
+
TAccountBubblegumSigner extends string = string,
|
|
224
|
+
TAccountLogWrapper extends string = string,
|
|
225
|
+
TAccountCompressionProgram extends string = string,
|
|
226
|
+
TAccountTokenMetadataProgram extends string = string,
|
|
227
|
+
TAccountSystemProgram extends string = string,
|
|
228
|
+
> {
|
|
229
|
+
treeAuthority?: Address<TAccountTreeAuthority>;
|
|
230
|
+
leafOwner: Address<TAccountLeafOwner>;
|
|
231
|
+
leafDelegate: Address<TAccountLeafDelegate>;
|
|
232
|
+
merkleTree: Address<TAccountMerkleTree>;
|
|
233
|
+
payer: TransactionSigner<TAccountPayer>;
|
|
234
|
+
/**
|
|
235
|
+
* This account is checked to be a signer in
|
|
236
|
+
* the case of `set_and_verify_collection` where
|
|
237
|
+
* we are actually changing the NFT metadata.
|
|
238
|
+
*/
|
|
239
|
+
treeDelegate: Address<TAccountTreeDelegate>;
|
|
240
|
+
collectionAuthority: TransactionSigner<TAccountCollectionAuthority>;
|
|
241
|
+
/**
|
|
242
|
+
* If there is no collecton authority record PDA then
|
|
243
|
+
* this must be the Bubblegum program address.
|
|
244
|
+
*/
|
|
245
|
+
collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
|
|
246
|
+
collectionMint: Address<TAccountCollectionMint>;
|
|
247
|
+
collectionMetadata?: Address<TAccountCollectionMetadata>;
|
|
248
|
+
editionAccount?: Address<TAccountEditionAccount>;
|
|
249
|
+
bubblegumSigner?: Address<TAccountBubblegumSigner>;
|
|
250
|
+
logWrapper?: Address<TAccountLogWrapper>;
|
|
251
|
+
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
252
|
+
tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
|
|
253
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
254
|
+
root: VerifyCollectionInstructionDataArgs["root"];
|
|
255
|
+
dataHash: VerifyCollectionInstructionDataArgs["dataHash"];
|
|
256
|
+
creatorHash: VerifyCollectionInstructionDataArgs["creatorHash"];
|
|
257
|
+
nonce: VerifyCollectionInstructionDataArgs["nonce"];
|
|
258
|
+
index: VerifyCollectionInstructionDataArgs["index"];
|
|
259
|
+
message: VerifyCollectionInstructionDataArgs["message"];
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
export async function getVerifyCollectionInstructionAsync<
|
|
263
|
+
TAccountTreeAuthority extends string,
|
|
264
|
+
TAccountLeafOwner extends string,
|
|
265
|
+
TAccountLeafDelegate extends string,
|
|
266
|
+
TAccountMerkleTree extends string,
|
|
267
|
+
TAccountPayer extends string,
|
|
268
|
+
TAccountTreeDelegate extends string,
|
|
269
|
+
TAccountCollectionAuthority extends string,
|
|
270
|
+
TAccountCollectionAuthorityRecordPda extends string,
|
|
271
|
+
TAccountCollectionMint extends string,
|
|
272
|
+
TAccountCollectionMetadata extends string,
|
|
273
|
+
TAccountEditionAccount extends string,
|
|
274
|
+
TAccountBubblegumSigner extends string,
|
|
275
|
+
TAccountLogWrapper extends string,
|
|
276
|
+
TAccountCompressionProgram extends string,
|
|
277
|
+
TAccountTokenMetadataProgram extends string,
|
|
278
|
+
TAccountSystemProgram extends string,
|
|
279
|
+
TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
280
|
+
>(
|
|
281
|
+
input: VerifyCollectionAsyncInput<
|
|
282
|
+
TAccountTreeAuthority,
|
|
283
|
+
TAccountLeafOwner,
|
|
284
|
+
TAccountLeafDelegate,
|
|
285
|
+
TAccountMerkleTree,
|
|
286
|
+
TAccountPayer,
|
|
287
|
+
TAccountTreeDelegate,
|
|
288
|
+
TAccountCollectionAuthority,
|
|
289
|
+
TAccountCollectionAuthorityRecordPda,
|
|
290
|
+
TAccountCollectionMint,
|
|
291
|
+
TAccountCollectionMetadata,
|
|
292
|
+
TAccountEditionAccount,
|
|
293
|
+
TAccountBubblegumSigner,
|
|
294
|
+
TAccountLogWrapper,
|
|
295
|
+
TAccountCompressionProgram,
|
|
296
|
+
TAccountTokenMetadataProgram,
|
|
297
|
+
TAccountSystemProgram
|
|
298
|
+
>,
|
|
299
|
+
config?: { programAddress?: TProgramAddress },
|
|
300
|
+
): Promise<
|
|
301
|
+
VerifyCollectionInstruction<
|
|
302
|
+
TProgramAddress,
|
|
303
|
+
TAccountTreeAuthority,
|
|
304
|
+
TAccountLeafOwner,
|
|
305
|
+
TAccountLeafDelegate,
|
|
306
|
+
TAccountMerkleTree,
|
|
307
|
+
TAccountPayer,
|
|
308
|
+
TAccountTreeDelegate,
|
|
309
|
+
TAccountCollectionAuthority,
|
|
310
|
+
TAccountCollectionAuthorityRecordPda,
|
|
311
|
+
TAccountCollectionMint,
|
|
312
|
+
TAccountCollectionMetadata,
|
|
313
|
+
TAccountEditionAccount,
|
|
314
|
+
TAccountBubblegumSigner,
|
|
315
|
+
TAccountLogWrapper,
|
|
316
|
+
TAccountCompressionProgram,
|
|
317
|
+
TAccountTokenMetadataProgram,
|
|
318
|
+
TAccountSystemProgram
|
|
319
|
+
>
|
|
320
|
+
> {
|
|
321
|
+
// Program address.
|
|
322
|
+
const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
|
|
323
|
+
|
|
324
|
+
// Original accounts.
|
|
325
|
+
const originalAccounts = {
|
|
326
|
+
treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
|
|
327
|
+
leafOwner: { value: input.leafOwner ?? null, isWritable: false },
|
|
328
|
+
leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
|
|
329
|
+
merkleTree: { value: input.merkleTree ?? null, isWritable: true },
|
|
330
|
+
payer: { value: input.payer ?? null, isWritable: false },
|
|
331
|
+
treeDelegate: { value: input.treeDelegate ?? null, isWritable: false },
|
|
332
|
+
collectionAuthority: {
|
|
333
|
+
value: input.collectionAuthority ?? null,
|
|
334
|
+
isWritable: false,
|
|
335
|
+
},
|
|
336
|
+
collectionAuthorityRecordPda: {
|
|
337
|
+
value: input.collectionAuthorityRecordPda ?? null,
|
|
338
|
+
isWritable: false,
|
|
339
|
+
},
|
|
340
|
+
collectionMint: { value: input.collectionMint ?? null, isWritable: false },
|
|
341
|
+
collectionMetadata: {
|
|
342
|
+
value: input.collectionMetadata ?? null,
|
|
343
|
+
isWritable: true,
|
|
344
|
+
},
|
|
345
|
+
editionAccount: { value: input.editionAccount ?? null, isWritable: false },
|
|
346
|
+
bubblegumSigner: {
|
|
347
|
+
value: input.bubblegumSigner ?? null,
|
|
348
|
+
isWritable: false,
|
|
349
|
+
},
|
|
350
|
+
logWrapper: { value: input.logWrapper ?? null, isWritable: false },
|
|
351
|
+
compressionProgram: {
|
|
352
|
+
value: input.compressionProgram ?? null,
|
|
353
|
+
isWritable: false,
|
|
354
|
+
},
|
|
355
|
+
tokenMetadataProgram: {
|
|
356
|
+
value: input.tokenMetadataProgram ?? null,
|
|
357
|
+
isWritable: false,
|
|
358
|
+
},
|
|
359
|
+
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
360
|
+
};
|
|
361
|
+
const accounts = originalAccounts as Record<
|
|
362
|
+
keyof typeof originalAccounts,
|
|
363
|
+
ResolvedInstructionAccount
|
|
364
|
+
>;
|
|
365
|
+
|
|
366
|
+
// Original args.
|
|
367
|
+
const args = { ...input };
|
|
368
|
+
|
|
369
|
+
// Resolve default values.
|
|
370
|
+
if (!accounts.treeAuthority.value) {
|
|
371
|
+
accounts.treeAuthority.value = await findTreeConfigPda({
|
|
372
|
+
merkleTree: getAddressFromResolvedInstructionAccount(
|
|
373
|
+
"merkleTree",
|
|
374
|
+
accounts.merkleTree.value,
|
|
375
|
+
),
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
if (!accounts.collectionAuthorityRecordPda.value) {
|
|
379
|
+
accounts.collectionAuthorityRecordPda.value = programAddress;
|
|
380
|
+
accounts.collectionAuthorityRecordPda.isWritable = false;
|
|
381
|
+
}
|
|
382
|
+
if (!accounts.collectionMetadata.value) {
|
|
383
|
+
accounts.collectionMetadata.value = await findMetadataPda({
|
|
384
|
+
programId: address("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),
|
|
385
|
+
mint: getAddressFromResolvedInstructionAccount(
|
|
386
|
+
"collectionMint",
|
|
387
|
+
accounts.collectionMint.value,
|
|
388
|
+
),
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
if (!accounts.editionAccount.value) {
|
|
392
|
+
accounts.editionAccount.value = await findMasterEditionPda({
|
|
393
|
+
programId: address("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),
|
|
394
|
+
mint: getAddressFromResolvedInstructionAccount(
|
|
395
|
+
"collectionMint",
|
|
396
|
+
accounts.collectionMint.value,
|
|
397
|
+
),
|
|
398
|
+
});
|
|
399
|
+
}
|
|
400
|
+
if (!accounts.bubblegumSigner.value) {
|
|
401
|
+
accounts.bubblegumSigner.value = await findBubblegumSignerPda();
|
|
402
|
+
}
|
|
403
|
+
if (!accounts.logWrapper.value) {
|
|
404
|
+
accounts.logWrapper.value =
|
|
405
|
+
"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
|
|
406
|
+
}
|
|
407
|
+
if (!accounts.compressionProgram.value) {
|
|
408
|
+
accounts.compressionProgram.value =
|
|
409
|
+
"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
|
|
410
|
+
}
|
|
411
|
+
if (!accounts.tokenMetadataProgram.value) {
|
|
412
|
+
accounts.tokenMetadataProgram.value =
|
|
413
|
+
"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
|
|
414
|
+
}
|
|
415
|
+
if (!accounts.systemProgram.value) {
|
|
416
|
+
accounts.systemProgram.value =
|
|
417
|
+
"11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
421
|
+
return Object.freeze({
|
|
422
|
+
accounts: [
|
|
423
|
+
getAccountMeta("treeAuthority", accounts.treeAuthority),
|
|
424
|
+
getAccountMeta("leafOwner", accounts.leafOwner),
|
|
425
|
+
getAccountMeta("leafDelegate", accounts.leafDelegate),
|
|
426
|
+
getAccountMeta("merkleTree", accounts.merkleTree),
|
|
427
|
+
getAccountMeta("payer", accounts.payer),
|
|
428
|
+
getAccountMeta("treeDelegate", accounts.treeDelegate),
|
|
429
|
+
getAccountMeta("collectionAuthority", accounts.collectionAuthority),
|
|
430
|
+
getAccountMeta(
|
|
431
|
+
"collectionAuthorityRecordPda",
|
|
432
|
+
accounts.collectionAuthorityRecordPda,
|
|
433
|
+
),
|
|
434
|
+
getAccountMeta("collectionMint", accounts.collectionMint),
|
|
435
|
+
getAccountMeta("collectionMetadata", accounts.collectionMetadata),
|
|
436
|
+
getAccountMeta("editionAccount", accounts.editionAccount),
|
|
437
|
+
getAccountMeta("bubblegumSigner", accounts.bubblegumSigner),
|
|
438
|
+
getAccountMeta("logWrapper", accounts.logWrapper),
|
|
439
|
+
getAccountMeta("compressionProgram", accounts.compressionProgram),
|
|
440
|
+
getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
|
|
441
|
+
getAccountMeta("systemProgram", accounts.systemProgram),
|
|
442
|
+
],
|
|
443
|
+
data: getVerifyCollectionInstructionDataEncoder().encode(
|
|
444
|
+
args as VerifyCollectionInstructionDataArgs,
|
|
445
|
+
),
|
|
446
|
+
programAddress,
|
|
447
|
+
} as VerifyCollectionInstruction<
|
|
448
|
+
TProgramAddress,
|
|
449
|
+
TAccountTreeAuthority,
|
|
450
|
+
TAccountLeafOwner,
|
|
451
|
+
TAccountLeafDelegate,
|
|
452
|
+
TAccountMerkleTree,
|
|
453
|
+
TAccountPayer,
|
|
454
|
+
TAccountTreeDelegate,
|
|
455
|
+
TAccountCollectionAuthority,
|
|
456
|
+
TAccountCollectionAuthorityRecordPda,
|
|
457
|
+
TAccountCollectionMint,
|
|
458
|
+
TAccountCollectionMetadata,
|
|
459
|
+
TAccountEditionAccount,
|
|
460
|
+
TAccountBubblegumSigner,
|
|
461
|
+
TAccountLogWrapper,
|
|
462
|
+
TAccountCompressionProgram,
|
|
463
|
+
TAccountTokenMetadataProgram,
|
|
464
|
+
TAccountSystemProgram
|
|
465
|
+
>);
|
|
466
|
+
}
|
|
467
|
+
|
|
200
468
|
export interface VerifyCollectionInput<
|
|
201
469
|
TAccountTreeAuthority extends string = string,
|
|
202
470
|
TAccountLeafOwner extends string = string,
|
|
@@ -231,13 +499,13 @@ export interface VerifyCollectionInput<
|
|
|
231
499
|
* If there is no collecton authority record PDA then
|
|
232
500
|
* this must be the Bubblegum program address.
|
|
233
501
|
*/
|
|
234
|
-
collectionAuthorityRecordPda
|
|
502
|
+
collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
|
|
235
503
|
collectionMint: Address<TAccountCollectionMint>;
|
|
236
504
|
collectionMetadata: Address<TAccountCollectionMetadata>;
|
|
237
505
|
editionAccount: Address<TAccountEditionAccount>;
|
|
238
506
|
bubblegumSigner: Address<TAccountBubblegumSigner>;
|
|
239
|
-
logWrapper
|
|
240
|
-
compressionProgram
|
|
507
|
+
logWrapper?: Address<TAccountLogWrapper>;
|
|
508
|
+
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
241
509
|
tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
|
|
242
510
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
243
511
|
root: VerifyCollectionInstructionDataArgs["root"];
|
|
@@ -354,6 +622,18 @@ export function getVerifyCollectionInstruction<
|
|
|
354
622
|
const args = { ...input };
|
|
355
623
|
|
|
356
624
|
// Resolve default values.
|
|
625
|
+
if (!accounts.collectionAuthorityRecordPda.value) {
|
|
626
|
+
accounts.collectionAuthorityRecordPda.value = programAddress;
|
|
627
|
+
accounts.collectionAuthorityRecordPda.isWritable = false;
|
|
628
|
+
}
|
|
629
|
+
if (!accounts.logWrapper.value) {
|
|
630
|
+
accounts.logWrapper.value =
|
|
631
|
+
"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
|
|
632
|
+
}
|
|
633
|
+
if (!accounts.compressionProgram.value) {
|
|
634
|
+
accounts.compressionProgram.value =
|
|
635
|
+
"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
|
|
636
|
+
}
|
|
357
637
|
if (!accounts.tokenMetadataProgram.value) {
|
|
358
638
|
accounts.tokenMetadataProgram.value =
|
|
359
639
|
"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
|
|
@@ -44,7 +44,11 @@ import {
|
|
|
44
44
|
SolanaError,
|
|
45
45
|
transformEncoder,
|
|
46
46
|
} from "@solana/kit";
|
|
47
|
-
import {
|
|
47
|
+
import {
|
|
48
|
+
getAccountMetaFactory,
|
|
49
|
+
getAddressFromResolvedInstructionAccount,
|
|
50
|
+
} from "@solana/program-client-core";
|
|
51
|
+
import { findTreeConfigPda } from "../pdas/index.js";
|
|
48
52
|
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
49
53
|
import {
|
|
50
54
|
getMetadataArgsDecoder,
|
|
@@ -63,18 +67,19 @@ export function getVerifyCreatorDiscriminatorBytes(): ReadonlyUint8Array {
|
|
|
63
67
|
|
|
64
68
|
export type VerifyCreatorInstruction<
|
|
65
69
|
TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
66
|
-
TAccountTreeAuthority extends string | AccountMeta = string,
|
|
67
|
-
TAccountLeafOwner extends string | AccountMeta = string,
|
|
68
|
-
TAccountLeafDelegate extends string | AccountMeta = string,
|
|
69
|
-
TAccountMerkleTree extends string | AccountMeta = string,
|
|
70
|
-
TAccountPayer extends string | AccountMeta = string,
|
|
71
|
-
TAccountCreator extends string | AccountMeta = string,
|
|
72
|
-
TAccountLogWrapper extends string | AccountMeta =
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
70
|
+
TAccountTreeAuthority extends string | AccountMeta<string> = string,
|
|
71
|
+
TAccountLeafOwner extends string | AccountMeta<string> = string,
|
|
72
|
+
TAccountLeafDelegate extends string | AccountMeta<string> = string,
|
|
73
|
+
TAccountMerkleTree extends string | AccountMeta<string> = string,
|
|
74
|
+
TAccountPayer extends string | AccountMeta<string> = string,
|
|
75
|
+
TAccountCreator extends string | AccountMeta<string> = string,
|
|
76
|
+
TAccountLogWrapper extends string | AccountMeta<string> =
|
|
77
|
+
"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV",
|
|
78
|
+
TAccountCompressionProgram extends string | AccountMeta<string> =
|
|
79
|
+
"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK",
|
|
80
|
+
TAccountSystemProgram extends string | AccountMeta<string> =
|
|
81
|
+
"11111111111111111111111111111111",
|
|
82
|
+
TRemainingAccounts extends readonly AccountMeta<string>[] = [],
|
|
78
83
|
> = Instruction<TProgram> &
|
|
79
84
|
InstructionWithData<ReadonlyUint8Array> &
|
|
80
85
|
InstructionWithAccounts<
|
|
@@ -168,6 +173,151 @@ export function getVerifyCreatorInstructionDataCodec(): Codec<
|
|
|
168
173
|
);
|
|
169
174
|
}
|
|
170
175
|
|
|
176
|
+
export interface VerifyCreatorAsyncInput<
|
|
177
|
+
TAccountTreeAuthority extends string = string,
|
|
178
|
+
TAccountLeafOwner extends string = string,
|
|
179
|
+
TAccountLeafDelegate extends string = string,
|
|
180
|
+
TAccountMerkleTree extends string = string,
|
|
181
|
+
TAccountPayer extends string = string,
|
|
182
|
+
TAccountCreator extends string = string,
|
|
183
|
+
TAccountLogWrapper extends string = string,
|
|
184
|
+
TAccountCompressionProgram extends string = string,
|
|
185
|
+
TAccountSystemProgram extends string = string,
|
|
186
|
+
> {
|
|
187
|
+
treeAuthority?: Address<TAccountTreeAuthority>;
|
|
188
|
+
leafOwner: Address<TAccountLeafOwner>;
|
|
189
|
+
leafDelegate: Address<TAccountLeafDelegate>;
|
|
190
|
+
merkleTree: Address<TAccountMerkleTree>;
|
|
191
|
+
payer: TransactionSigner<TAccountPayer>;
|
|
192
|
+
creator: TransactionSigner<TAccountCreator>;
|
|
193
|
+
logWrapper?: Address<TAccountLogWrapper>;
|
|
194
|
+
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
195
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
196
|
+
root: VerifyCreatorInstructionDataArgs["root"];
|
|
197
|
+
dataHash: VerifyCreatorInstructionDataArgs["dataHash"];
|
|
198
|
+
creatorHash: VerifyCreatorInstructionDataArgs["creatorHash"];
|
|
199
|
+
nonce: VerifyCreatorInstructionDataArgs["nonce"];
|
|
200
|
+
index: VerifyCreatorInstructionDataArgs["index"];
|
|
201
|
+
message: VerifyCreatorInstructionDataArgs["message"];
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export async function getVerifyCreatorInstructionAsync<
|
|
205
|
+
TAccountTreeAuthority extends string,
|
|
206
|
+
TAccountLeafOwner extends string,
|
|
207
|
+
TAccountLeafDelegate extends string,
|
|
208
|
+
TAccountMerkleTree extends string,
|
|
209
|
+
TAccountPayer extends string,
|
|
210
|
+
TAccountCreator extends string,
|
|
211
|
+
TAccountLogWrapper extends string,
|
|
212
|
+
TAccountCompressionProgram extends string,
|
|
213
|
+
TAccountSystemProgram extends string,
|
|
214
|
+
TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
215
|
+
>(
|
|
216
|
+
input: VerifyCreatorAsyncInput<
|
|
217
|
+
TAccountTreeAuthority,
|
|
218
|
+
TAccountLeafOwner,
|
|
219
|
+
TAccountLeafDelegate,
|
|
220
|
+
TAccountMerkleTree,
|
|
221
|
+
TAccountPayer,
|
|
222
|
+
TAccountCreator,
|
|
223
|
+
TAccountLogWrapper,
|
|
224
|
+
TAccountCompressionProgram,
|
|
225
|
+
TAccountSystemProgram
|
|
226
|
+
>,
|
|
227
|
+
config?: { programAddress?: TProgramAddress },
|
|
228
|
+
): Promise<
|
|
229
|
+
VerifyCreatorInstruction<
|
|
230
|
+
TProgramAddress,
|
|
231
|
+
TAccountTreeAuthority,
|
|
232
|
+
TAccountLeafOwner,
|
|
233
|
+
TAccountLeafDelegate,
|
|
234
|
+
TAccountMerkleTree,
|
|
235
|
+
TAccountPayer,
|
|
236
|
+
TAccountCreator,
|
|
237
|
+
TAccountLogWrapper,
|
|
238
|
+
TAccountCompressionProgram,
|
|
239
|
+
TAccountSystemProgram
|
|
240
|
+
>
|
|
241
|
+
> {
|
|
242
|
+
// Program address.
|
|
243
|
+
const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
|
|
244
|
+
|
|
245
|
+
// Original accounts.
|
|
246
|
+
const originalAccounts = {
|
|
247
|
+
treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
|
|
248
|
+
leafOwner: { value: input.leafOwner ?? null, isWritable: false },
|
|
249
|
+
leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
|
|
250
|
+
merkleTree: { value: input.merkleTree ?? null, isWritable: true },
|
|
251
|
+
payer: { value: input.payer ?? null, isWritable: false },
|
|
252
|
+
creator: { value: input.creator ?? null, isWritable: false },
|
|
253
|
+
logWrapper: { value: input.logWrapper ?? null, isWritable: false },
|
|
254
|
+
compressionProgram: {
|
|
255
|
+
value: input.compressionProgram ?? null,
|
|
256
|
+
isWritable: false,
|
|
257
|
+
},
|
|
258
|
+
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
259
|
+
};
|
|
260
|
+
const accounts = originalAccounts as Record<
|
|
261
|
+
keyof typeof originalAccounts,
|
|
262
|
+
ResolvedInstructionAccount
|
|
263
|
+
>;
|
|
264
|
+
|
|
265
|
+
// Original args.
|
|
266
|
+
const args = { ...input };
|
|
267
|
+
|
|
268
|
+
// Resolve default values.
|
|
269
|
+
if (!accounts.treeAuthority.value) {
|
|
270
|
+
accounts.treeAuthority.value = await findTreeConfigPda({
|
|
271
|
+
merkleTree: getAddressFromResolvedInstructionAccount(
|
|
272
|
+
"merkleTree",
|
|
273
|
+
accounts.merkleTree.value,
|
|
274
|
+
),
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
if (!accounts.logWrapper.value) {
|
|
278
|
+
accounts.logWrapper.value =
|
|
279
|
+
"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
|
|
280
|
+
}
|
|
281
|
+
if (!accounts.compressionProgram.value) {
|
|
282
|
+
accounts.compressionProgram.value =
|
|
283
|
+
"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
|
|
284
|
+
}
|
|
285
|
+
if (!accounts.systemProgram.value) {
|
|
286
|
+
accounts.systemProgram.value =
|
|
287
|
+
"11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
291
|
+
return Object.freeze({
|
|
292
|
+
accounts: [
|
|
293
|
+
getAccountMeta("treeAuthority", accounts.treeAuthority),
|
|
294
|
+
getAccountMeta("leafOwner", accounts.leafOwner),
|
|
295
|
+
getAccountMeta("leafDelegate", accounts.leafDelegate),
|
|
296
|
+
getAccountMeta("merkleTree", accounts.merkleTree),
|
|
297
|
+
getAccountMeta("payer", accounts.payer),
|
|
298
|
+
getAccountMeta("creator", accounts.creator),
|
|
299
|
+
getAccountMeta("logWrapper", accounts.logWrapper),
|
|
300
|
+
getAccountMeta("compressionProgram", accounts.compressionProgram),
|
|
301
|
+
getAccountMeta("systemProgram", accounts.systemProgram),
|
|
302
|
+
],
|
|
303
|
+
data: getVerifyCreatorInstructionDataEncoder().encode(
|
|
304
|
+
args as VerifyCreatorInstructionDataArgs,
|
|
305
|
+
),
|
|
306
|
+
programAddress,
|
|
307
|
+
} as VerifyCreatorInstruction<
|
|
308
|
+
TProgramAddress,
|
|
309
|
+
TAccountTreeAuthority,
|
|
310
|
+
TAccountLeafOwner,
|
|
311
|
+
TAccountLeafDelegate,
|
|
312
|
+
TAccountMerkleTree,
|
|
313
|
+
TAccountPayer,
|
|
314
|
+
TAccountCreator,
|
|
315
|
+
TAccountLogWrapper,
|
|
316
|
+
TAccountCompressionProgram,
|
|
317
|
+
TAccountSystemProgram
|
|
318
|
+
>);
|
|
319
|
+
}
|
|
320
|
+
|
|
171
321
|
export interface VerifyCreatorInput<
|
|
172
322
|
TAccountTreeAuthority extends string = string,
|
|
173
323
|
TAccountLeafOwner extends string = string,
|
|
@@ -185,8 +335,8 @@ export interface VerifyCreatorInput<
|
|
|
185
335
|
merkleTree: Address<TAccountMerkleTree>;
|
|
186
336
|
payer: TransactionSigner<TAccountPayer>;
|
|
187
337
|
creator: TransactionSigner<TAccountCreator>;
|
|
188
|
-
logWrapper
|
|
189
|
-
compressionProgram
|
|
338
|
+
logWrapper?: Address<TAccountLogWrapper>;
|
|
339
|
+
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
190
340
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
191
341
|
root: VerifyCreatorInstructionDataArgs["root"];
|
|
192
342
|
dataHash: VerifyCreatorInstructionDataArgs["dataHash"];
|
|
@@ -259,6 +409,14 @@ export function getVerifyCreatorInstruction<
|
|
|
259
409
|
const args = { ...input };
|
|
260
410
|
|
|
261
411
|
// Resolve default values.
|
|
412
|
+
if (!accounts.logWrapper.value) {
|
|
413
|
+
accounts.logWrapper.value =
|
|
414
|
+
"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
|
|
415
|
+
}
|
|
416
|
+
if (!accounts.compressionProgram.value) {
|
|
417
|
+
accounts.compressionProgram.value =
|
|
418
|
+
"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
|
|
419
|
+
}
|
|
262
420
|
if (!accounts.systemProgram.value) {
|
|
263
421
|
accounts.systemProgram.value =
|
|
264
422
|
"11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
|