@macalinao/clients-mpl-bubblegum 0.3.1 → 0.3.2
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 -1
- package/dist/generated/accounts/treeConfig.d.ts +22 -7
- package/dist/generated/accounts/treeConfig.d.ts.map +1 -1
- package/dist/generated/accounts/treeConfig.js +7 -0
- package/dist/generated/accounts/treeConfig.js.map +1 -1
- package/dist/generated/accounts/voucher.d.ts +14 -7
- package/dist/generated/accounts/voucher.d.ts.map +1 -1
- package/dist/generated/accounts/voucher.js +7 -0
- package/dist/generated/accounts/voucher.js.map +1 -1
- package/dist/generated/errors/bubblegum.d.ts +0 -1
- package/dist/generated/errors/bubblegum.d.ts.map +1 -1
- package/dist/generated/errors/bubblegum.js +66 -59
- package/dist/generated/errors/bubblegum.js.map +1 -1
- package/dist/generated/errors/index.d.ts +2 -1
- package/dist/generated/index.d.ts +8 -1
- package/dist/generated/instructions/burn.d.ts +141 -17
- package/dist/generated/instructions/burn.d.ts.map +1 -1
- package/dist/generated/instructions/burn.js +23 -0
- package/dist/generated/instructions/burn.js.map +1 -1
- package/dist/generated/instructions/burnV2.d.ts +179 -31
- package/dist/generated/instructions/burnV2.d.ts.map +1 -1
- package/dist/generated/instructions/burnV2.js +21 -0
- package/dist/generated/instructions/burnV2.js.map +1 -1
- package/dist/generated/instructions/cancelRedeem.d.ts +99 -13
- package/dist/generated/instructions/cancelRedeem.d.ts.map +1 -1
- package/dist/generated/instructions/cancelRedeem.js +19 -0
- package/dist/generated/instructions/cancelRedeem.js.map +1 -1
- package/dist/generated/instructions/closeTreeV2.d.ts +85 -19
- package/dist/generated/instructions/closeTreeV2.d.ts.map +1 -1
- package/dist/generated/instructions/closeTreeV2.js +21 -0
- package/dist/generated/instructions/closeTreeV2.js.map +1 -1
- package/dist/generated/instructions/collectV2.d.ts +20 -7
- package/dist/generated/instructions/collectV2.d.ts.map +1 -1
- package/dist/generated/instructions/collectV2.js +10 -0
- package/dist/generated/instructions/collectV2.js.map +1 -1
- package/dist/generated/instructions/compress.d.ts +119 -9
- package/dist/generated/instructions/compress.d.ts.map +1 -1
- package/dist/generated/instructions/compress.js +21 -0
- package/dist/generated/instructions/compress.js.map +1 -1
- package/dist/generated/instructions/createTree.d.ts +117 -11
- package/dist/generated/instructions/createTree.d.ts.map +1 -1
- package/dist/generated/instructions/createTree.js +23 -0
- package/dist/generated/instructions/createTree.js.map +1 -1
- package/dist/generated/instructions/createTreeV2.d.ts +109 -14
- package/dist/generated/instructions/createTreeV2.d.ts.map +1 -1
- package/dist/generated/instructions/createTreeV2.js +23 -0
- package/dist/generated/instructions/createTreeV2.js.map +1 -1
- package/dist/generated/instructions/decompressV1.d.ts +106 -11
- package/dist/generated/instructions/decompressV1.d.ts.map +1 -1
- package/dist/generated/instructions/decompressV1.js +25 -0
- package/dist/generated/instructions/decompressV1.js.map +1 -1
- package/dist/generated/instructions/delegate.d.ts +140 -17
- package/dist/generated/instructions/delegate.d.ts.map +1 -1
- package/dist/generated/instructions/delegate.js +19 -0
- package/dist/generated/instructions/delegate.js.map +1 -1
- package/dist/generated/instructions/delegateAndFreezeV2.d.ts +171 -27
- package/dist/generated/instructions/delegateAndFreezeV2.d.ts.map +1 -1
- package/dist/generated/instructions/delegateAndFreezeV2.js +17 -0
- package/dist/generated/instructions/delegateAndFreezeV2.js.map +1 -1
- package/dist/generated/instructions/delegateV2.d.ts +169 -27
- package/dist/generated/instructions/delegateV2.d.ts.map +1 -1
- package/dist/generated/instructions/delegateV2.js +15 -0
- package/dist/generated/instructions/delegateV2.js.map +1 -1
- package/dist/generated/instructions/freezeV2.d.ts +174 -28
- package/dist/generated/instructions/freezeV2.d.ts.map +1 -1
- package/dist/generated/instructions/freezeV2.js +23 -0
- package/dist/generated/instructions/freezeV2.js.map +1 -1
- package/dist/generated/instructions/index.d.ts +2 -1
- package/dist/generated/instructions/mintToCollectionV1.d.ts +171 -20
- package/dist/generated/instructions/mintToCollectionV1.d.ts.map +1 -1
- package/dist/generated/instructions/mintToCollectionV1.js +23 -0
- package/dist/generated/instructions/mintToCollectionV1.js.map +1 -1
- package/dist/generated/instructions/mintV1.d.ts +109 -11
- package/dist/generated/instructions/mintV1.d.ts.map +1 -1
- package/dist/generated/instructions/mintV1.js +21 -0
- package/dist/generated/instructions/mintV1.js.map +1 -1
- package/dist/generated/instructions/mintV2.d.ts +163 -17
- package/dist/generated/instructions/mintV2.d.ts.map +1 -1
- package/dist/generated/instructions/mintV2.js +45 -0
- package/dist/generated/instructions/mintV2.js.map +1 -1
- package/dist/generated/instructions/redeem.d.ts +153 -17
- package/dist/generated/instructions/redeem.d.ts.map +1 -1
- package/dist/generated/instructions/redeem.js +23 -0
- package/dist/generated/instructions/redeem.js.map +1 -1
- package/dist/generated/instructions/setAndVerifyCollection.d.ts +222 -38
- package/dist/generated/instructions/setAndVerifyCollection.d.ts.map +1 -1
- package/dist/generated/instructions/setAndVerifyCollection.js +21 -0
- package/dist/generated/instructions/setAndVerifyCollection.js.map +1 -1
- package/dist/generated/instructions/setCollectionV2.d.ts +186 -39
- package/dist/generated/instructions/setCollectionV2.d.ts.map +1 -1
- package/dist/generated/instructions/setCollectionV2.js +21 -0
- package/dist/generated/instructions/setCollectionV2.js.map +1 -1
- package/dist/generated/instructions/setDecompressableState.d.ts +40 -9
- package/dist/generated/instructions/setDecompressableState.d.ts.map +1 -1
- package/dist/generated/instructions/setDecompressableState.js +13 -0
- package/dist/generated/instructions/setDecompressableState.js.map +1 -1
- package/dist/generated/instructions/setDecompressibleState.d.ts +41 -9
- package/dist/generated/instructions/setDecompressibleState.d.ts.map +1 -1
- package/dist/generated/instructions/setDecompressibleState.js +14 -0
- package/dist/generated/instructions/setDecompressibleState.js.map +1 -1
- package/dist/generated/instructions/setNonTransferableV2.d.ts +166 -31
- package/dist/generated/instructions/setNonTransferableV2.d.ts.map +1 -1
- package/dist/generated/instructions/setNonTransferableV2.js +23 -0
- package/dist/generated/instructions/setNonTransferableV2.js.map +1 -1
- package/dist/generated/instructions/setTreeDelegate.d.ts +65 -9
- package/dist/generated/instructions/setTreeDelegate.d.ts.map +1 -1
- package/dist/generated/instructions/setTreeDelegate.js +21 -0
- package/dist/generated/instructions/setTreeDelegate.js.map +1 -1
- package/dist/generated/instructions/thawAndRevokeV2.d.ts +158 -24
- package/dist/generated/instructions/thawAndRevokeV2.d.ts.map +1 -1
- package/dist/generated/instructions/thawAndRevokeV2.js +17 -0
- package/dist/generated/instructions/thawAndRevokeV2.js.map +1 -1
- package/dist/generated/instructions/thawV2.d.ts +166 -28
- package/dist/generated/instructions/thawV2.d.ts.map +1 -1
- package/dist/generated/instructions/thawV2.js +15 -0
- package/dist/generated/instructions/thawV2.js.map +1 -1
- package/dist/generated/instructions/transfer.d.ts +140 -17
- package/dist/generated/instructions/transfer.d.ts.map +1 -1
- package/dist/generated/instructions/transfer.js +19 -0
- package/dist/generated/instructions/transfer.js.map +1 -1
- package/dist/generated/instructions/transferV2.d.ts +167 -31
- package/dist/generated/instructions/transferV2.d.ts.map +1 -1
- package/dist/generated/instructions/transferV2.js +21 -0
- package/dist/generated/instructions/transferV2.js.map +1 -1
- package/dist/generated/instructions/unverifyCollection.d.ts +215 -38
- package/dist/generated/instructions/unverifyCollection.d.ts.map +1 -1
- package/dist/generated/instructions/unverifyCollection.js +19 -0
- package/dist/generated/instructions/unverifyCollection.js.map +1 -1
- package/dist/generated/instructions/unverifyCreator.d.ts +161 -17
- package/dist/generated/instructions/unverifyCreator.d.ts.map +1 -1
- package/dist/generated/instructions/unverifyCreator.js +19 -0
- package/dist/generated/instructions/unverifyCreator.js.map +1 -1
- package/dist/generated/instructions/unverifyCreatorV2.d.ts +143 -21
- package/dist/generated/instructions/unverifyCreatorV2.d.ts.map +1 -1
- package/dist/generated/instructions/unverifyCreatorV2.js +19 -0
- package/dist/generated/instructions/unverifyCreatorV2.js.map +1 -1
- package/dist/generated/instructions/updateAssetDataV2.d.ts +180 -28
- package/dist/generated/instructions/updateAssetDataV2.d.ts.map +1 -1
- package/dist/generated/instructions/updateAssetDataV2.js +21 -0
- package/dist/generated/instructions/updateAssetDataV2.js.map +1 -1
- package/dist/generated/instructions/updateMetadata.d.ts +183 -28
- package/dist/generated/instructions/updateMetadata.d.ts.map +1 -1
- package/dist/generated/instructions/updateMetadata.js +21 -0
- package/dist/generated/instructions/updateMetadata.js.map +1 -1
- package/dist/generated/instructions/updateMetadataV2.d.ts +162 -27
- package/dist/generated/instructions/updateMetadataV2.d.ts.map +1 -1
- package/dist/generated/instructions/updateMetadataV2.js +19 -0
- package/dist/generated/instructions/updateMetadataV2.js.map +1 -1
- package/dist/generated/instructions/verifyCollection.d.ts +215 -38
- package/dist/generated/instructions/verifyCollection.d.ts.map +1 -1
- package/dist/generated/instructions/verifyCollection.js +19 -0
- package/dist/generated/instructions/verifyCollection.js.map +1 -1
- package/dist/generated/instructions/verifyCreator.d.ts +161 -17
- package/dist/generated/instructions/verifyCreator.d.ts.map +1 -1
- package/dist/generated/instructions/verifyCreator.js +19 -0
- package/dist/generated/instructions/verifyCreator.js.map +1 -1
- package/dist/generated/instructions/verifyCreatorV2.d.ts +143 -21
- package/dist/generated/instructions/verifyCreatorV2.d.ts.map +1 -1
- package/dist/generated/instructions/verifyCreatorV2.js +19 -0
- package/dist/generated/instructions/verifyCreatorV2.js.map +1 -1
- package/dist/generated/pdas/assetId.d.ts +2 -3
- package/dist/generated/pdas/assetId.d.ts.map +1 -1
- package/dist/generated/pdas/assetId.js +7 -0
- package/dist/generated/pdas/assetId.js.map +1 -1
- package/dist/generated/pdas/bubblegumSigner.d.ts +0 -1
- package/dist/generated/pdas/bubblegumSigner.d.ts.map +1 -1
- package/dist/generated/pdas/bubblegumSigner.js +7 -0
- package/dist/generated/pdas/bubblegumSigner.js.map +1 -1
- package/dist/generated/pdas/index.d.ts +2 -1
- package/dist/generated/pdas/masterEdition.d.ts +2 -3
- package/dist/generated/pdas/masterEdition.d.ts.map +1 -1
- package/dist/generated/pdas/masterEdition.js +7 -0
- package/dist/generated/pdas/masterEdition.js.map +1 -1
- package/dist/generated/pdas/metadata.d.ts +2 -3
- package/dist/generated/pdas/metadata.d.ts.map +1 -1
- package/dist/generated/pdas/metadata.js +7 -0
- package/dist/generated/pdas/metadata.js.map +1 -1
- package/dist/generated/pdas/mintAuthority.d.ts +2 -3
- package/dist/generated/pdas/mintAuthority.d.ts.map +1 -1
- package/dist/generated/pdas/mintAuthority.js +7 -0
- package/dist/generated/pdas/mintAuthority.js.map +1 -1
- package/dist/generated/pdas/treeConfig.d.ts +2 -3
- package/dist/generated/pdas/treeConfig.d.ts.map +1 -1
- package/dist/generated/pdas/treeConfig.js +7 -0
- package/dist/generated/pdas/treeConfig.js.map +1 -1
- package/dist/generated/pdas/voucher.d.ts +2 -3
- package/dist/generated/pdas/voucher.d.ts.map +1 -1
- package/dist/generated/pdas/voucher.js +7 -0
- package/dist/generated/pdas/voucher.js.map +1 -1
- package/dist/generated/programs/bubblegum.d.ts +17 -12
- package/dist/generated/programs/bubblegum.d.ts.map +1 -1
- package/dist/generated/programs/bubblegum.js +11 -1
- package/dist/generated/programs/bubblegum.js.map +1 -1
- package/dist/generated/programs/index.d.ts +2 -1
- package/dist/generated/programs/mplTokenMetadata.d.ts +8 -8
- package/dist/generated/programs/mplTokenMetadata.d.ts.map +1 -1
- package/dist/generated/programs/mplTokenMetadata.js +7 -0
- package/dist/generated/programs/mplTokenMetadata.js.map +1 -1
- package/dist/generated/types/assetDataSchema.d.ts +4 -1
- package/dist/generated/types/assetDataSchema.d.ts.map +1 -1
- package/dist/generated/types/assetDataSchema.js +11 -0
- package/dist/generated/types/assetDataSchema.js.map +1 -1
- package/dist/generated/types/bubblegumEventType.d.ts +4 -1
- package/dist/generated/types/bubblegumEventType.d.ts.map +1 -1
- package/dist/generated/types/bubblegumEventType.js +11 -0
- package/dist/generated/types/bubblegumEventType.js.map +1 -1
- package/dist/generated/types/collection.d.ts +9 -3
- package/dist/generated/types/collection.d.ts.map +1 -1
- package/dist/generated/types/collection.js +7 -0
- package/dist/generated/types/collection.js.map +1 -1
- package/dist/generated/types/creator.d.ts +9 -7
- package/dist/generated/types/creator.d.ts.map +1 -1
- package/dist/generated/types/creator.js +7 -0
- package/dist/generated/types/creator.js.map +1 -1
- package/dist/generated/types/decompressibleState.d.ts +5 -1
- package/dist/generated/types/decompressibleState.d.ts.map +1 -1
- package/dist/generated/types/decompressibleState.js +12 -0
- package/dist/generated/types/decompressibleState.js.map +1 -1
- package/dist/generated/types/index.d.ts +2 -1
- package/dist/generated/types/instructionName.d.ts +4 -1
- package/dist/generated/types/instructionName.d.ts.map +1 -1
- package/dist/generated/types/instructionName.js +11 -0
- package/dist/generated/types/instructionName.js.map +1 -1
- package/dist/generated/types/leafSchema.d.ts +51 -13
- package/dist/generated/types/leafSchema.d.ts.map +1 -1
- package/dist/generated/types/leafSchema.js +7 -0
- package/dist/generated/types/leafSchema.js.map +1 -1
- package/dist/generated/types/metadataArgs.d.ts +19 -7
- package/dist/generated/types/metadataArgs.d.ts.map +1 -1
- package/dist/generated/types/metadataArgs.js +7 -0
- package/dist/generated/types/metadataArgs.js.map +1 -1
- package/dist/generated/types/metadataArgsV2.d.ts +14 -7
- package/dist/generated/types/metadataArgsV2.d.ts.map +1 -1
- package/dist/generated/types/metadataArgsV2.js +7 -0
- package/dist/generated/types/metadataArgsV2.js.map +1 -1
- package/dist/generated/types/tokenProgramVersion.d.ts +1 -1
- package/dist/generated/types/tokenProgramVersion.d.ts.map +1 -1
- package/dist/generated/types/tokenProgramVersion.js +8 -0
- package/dist/generated/types/tokenProgramVersion.js.map +1 -1
- package/dist/generated/types/tokenStandard.d.ts +5 -1
- package/dist/generated/types/tokenStandard.d.ts.map +1 -1
- package/dist/generated/types/tokenStandard.js +12 -0
- package/dist/generated/types/tokenStandard.js.map +1 -1
- package/dist/generated/types/updateArgs.d.ts +26 -7
- package/dist/generated/types/updateArgs.d.ts.map +1 -1
- package/dist/generated/types/updateArgs.js +7 -0
- package/dist/generated/types/updateArgs.js.map +1 -1
- package/dist/generated/types/useMethod.d.ts +1 -1
- package/dist/generated/types/useMethod.d.ts.map +1 -1
- package/dist/generated/types/useMethod.js +8 -0
- package/dist/generated/types/useMethod.js.map +1 -1
- package/dist/generated/types/uses.d.ts +16 -5
- package/dist/generated/types/uses.d.ts.map +1 -1
- package/dist/generated/types/uses.js +7 -0
- package/dist/generated/types/uses.js.map +1 -1
- package/dist/generated/types/version.d.ts +5 -1
- package/dist/generated/types/version.d.ts.map +1 -1
- package/dist/generated/types/version.js +12 -0
- package/dist/generated/types/version.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/package.json +6 -6
- package/src/generated/accounts/treeConfig.ts +36 -27
- package/src/generated/accounts/voucher.ts +30 -23
- package/src/generated/errors/bubblegum.ts +121 -154
- package/src/generated/instructions/burn.ts +157 -35
- package/src/generated/instructions/burnV2.ts +197 -52
- package/src/generated/instructions/cancelRedeem.ts +116 -32
- package/src/generated/instructions/closeTreeV2.ts +96 -35
- package/src/generated/instructions/collectV2.ts +34 -23
- package/src/generated/instructions/compress.ts +136 -30
- package/src/generated/instructions/createTree.ts +137 -33
- package/src/generated/instructions/createTreeV2.ts +128 -36
- package/src/generated/instructions/decompressV1.ts +124 -31
- package/src/generated/instructions/delegate.ts +159 -38
- package/src/generated/instructions/delegateAndFreezeV2.ts +191 -51
- package/src/generated/instructions/delegateV2.ts +189 -51
- package/src/generated/instructions/freezeV2.ts +193 -49
- package/src/generated/instructions/mintToCollectionV1.ts +186 -37
- package/src/generated/instructions/mintV1.ts +127 -31
- package/src/generated/instructions/mintV2.ts +184 -45
- package/src/generated/instructions/redeem.ts +172 -38
- package/src/generated/instructions/setAndVerifyCollection.ts +236 -54
- package/src/generated/instructions/setCollectionV2.ts +202 -58
- package/src/generated/instructions/setDecompressableState.ts +59 -31
- package/src/generated/instructions/setDecompressibleState.ts +60 -31
- package/src/generated/instructions/setNonTransferableV2.ts +184 -52
- package/src/generated/instructions/setTreeDelegate.ts +82 -28
- package/src/generated/instructions/thawAndRevokeV2.ts +179 -48
- package/src/generated/instructions/thawV2.ts +185 -49
- package/src/generated/instructions/transfer.ts +156 -35
- package/src/generated/instructions/transferV2.ts +185 -52
- package/src/generated/instructions/unverifyCollection.ts +229 -54
- package/src/generated/instructions/unverifyCreator.ts +181 -39
- package/src/generated/instructions/unverifyCreatorV2.ts +164 -46
- package/src/generated/instructions/updateAssetDataV2.ts +200 -50
- package/src/generated/instructions/updateMetadata.ts +200 -52
- package/src/generated/instructions/updateMetadataV2.ts +183 -54
- package/src/generated/instructions/verifyCollection.ts +229 -54
- package/src/generated/instructions/verifyCreator.ts +181 -39
- package/src/generated/instructions/verifyCreatorV2.ts +164 -46
- package/src/generated/pdas/assetId.ts +4 -3
- package/src/generated/pdas/bubblegumSigner.ts +6 -2
- package/src/generated/pdas/masterEdition.ts +4 -3
- package/src/generated/pdas/metadata.ts +4 -3
- package/src/generated/pdas/mintAuthority.ts +8 -4
- package/src/generated/pdas/treeConfig.ts +8 -4
- package/src/generated/pdas/voucher.ts +4 -3
- package/src/generated/programs/bubblegum.ts +146 -144
- package/src/generated/programs/mplTokenMetadata.ts +5 -10
- package/src/generated/types/assetDataSchema.ts +14 -8
- package/src/generated/types/bubblegumEventType.ts +13 -7
- package/src/generated/types/collection.ts +13 -8
- package/src/generated/types/creator.ts +11 -10
- package/src/generated/types/decompressibleState.ts +14 -7
- package/src/generated/types/instructionName.ts +46 -40
- package/src/generated/types/leafSchema.ts +59 -22
- package/src/generated/types/metadataArgs.ts +35 -27
- package/src/generated/types/metadataArgsV2.ts +23 -20
- package/src/generated/types/tokenProgramVersion.ts +10 -7
- package/src/generated/types/tokenStandard.ts +16 -9
- package/src/generated/types/updateArgs.ts +36 -15
- package/src/generated/types/useMethod.ts +11 -8
- package/src/generated/types/uses.ts +24 -11
- package/src/generated/types/version.ts +14 -7
|
@@ -6,32 +6,6 @@
|
|
|
6
6
|
* @see https://github.com/codama-idl/codama
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import type {
|
|
10
|
-
AccountMeta,
|
|
11
|
-
AccountSignerMeta,
|
|
12
|
-
Address,
|
|
13
|
-
Codec,
|
|
14
|
-
Decoder,
|
|
15
|
-
Encoder,
|
|
16
|
-
Instruction,
|
|
17
|
-
InstructionWithAccounts,
|
|
18
|
-
InstructionWithData,
|
|
19
|
-
Option,
|
|
20
|
-
OptionOrNullable,
|
|
21
|
-
ReadonlyAccount,
|
|
22
|
-
ReadonlySignerAccount,
|
|
23
|
-
ReadonlyUint8Array,
|
|
24
|
-
TransactionSigner,
|
|
25
|
-
WritableAccount,
|
|
26
|
-
WritableSignerAccount,
|
|
27
|
-
} from "@solana/kit";
|
|
28
|
-
import type { ResolvedInstructionAccount } from "@solana/program-client-core";
|
|
29
|
-
import type {
|
|
30
|
-
AssetDataSchema,
|
|
31
|
-
AssetDataSchemaArgs,
|
|
32
|
-
MetadataArgsV2,
|
|
33
|
-
MetadataArgsV2Args,
|
|
34
|
-
} from "../types/index.js";
|
|
35
9
|
import {
|
|
36
10
|
addDecoderSizePrefix,
|
|
37
11
|
addEncoderSizePrefix,
|
|
@@ -49,10 +23,28 @@ import {
|
|
|
49
23
|
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
50
24
|
SolanaError,
|
|
51
25
|
transformEncoder,
|
|
26
|
+
type AccountMeta,
|
|
27
|
+
type AccountSignerMeta,
|
|
28
|
+
type Address,
|
|
29
|
+
type Codec,
|
|
30
|
+
type Decoder,
|
|
31
|
+
type Encoder,
|
|
32
|
+
type Instruction,
|
|
33
|
+
type InstructionWithAccounts,
|
|
34
|
+
type InstructionWithData,
|
|
35
|
+
type Option,
|
|
36
|
+
type OptionOrNullable,
|
|
37
|
+
type ReadonlyAccount,
|
|
38
|
+
type ReadonlySignerAccount,
|
|
39
|
+
type ReadonlyUint8Array,
|
|
40
|
+
type TransactionSigner,
|
|
41
|
+
type WritableAccount,
|
|
42
|
+
type WritableSignerAccount,
|
|
52
43
|
} from "@solana/kit";
|
|
53
44
|
import {
|
|
54
45
|
getAccountMetaFactory,
|
|
55
46
|
getAddressFromResolvedInstructionAccount,
|
|
47
|
+
type ResolvedInstructionAccount,
|
|
56
48
|
} from "@solana/program-client-core";
|
|
57
49
|
import { findTreeConfigPda } from "../pdas/index.js";
|
|
58
50
|
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
@@ -61,6 +53,10 @@ import {
|
|
|
61
53
|
getAssetDataSchemaEncoder,
|
|
62
54
|
getMetadataArgsV2Decoder,
|
|
63
55
|
getMetadataArgsV2Encoder,
|
|
56
|
+
type AssetDataSchema,
|
|
57
|
+
type AssetDataSchemaArgs,
|
|
58
|
+
type MetadataArgsV2,
|
|
59
|
+
type MetadataArgsV2Args,
|
|
64
60
|
} from "../types/index.js";
|
|
65
61
|
|
|
66
62
|
export const MINT_V2_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([
|
|
@@ -141,18 +137,36 @@ export type MintV2Instruction<
|
|
|
141
137
|
]
|
|
142
138
|
>;
|
|
143
139
|
|
|
144
|
-
export
|
|
140
|
+
export type MintV2InstructionData = {
|
|
145
141
|
discriminator: ReadonlyUint8Array;
|
|
142
|
+
/** Metadata for the newly minted `LeafSchema` V2 asset. */
|
|
146
143
|
metadataArgs: MetadataArgsV2;
|
|
144
|
+
/**
|
|
145
|
+
* Optional raw asset data blob to associate with the newly minted
|
|
146
|
+
* asset. Reserved for future use.
|
|
147
|
+
*/
|
|
147
148
|
assetData: Option<ReadonlyUint8Array>;
|
|
149
|
+
/**
|
|
150
|
+
* Schema describing the format of `assetData`. Reserved for future
|
|
151
|
+
* use.
|
|
152
|
+
*/
|
|
148
153
|
assetDataSchema: Option<AssetDataSchema>;
|
|
149
|
-
}
|
|
154
|
+
};
|
|
150
155
|
|
|
151
|
-
export
|
|
156
|
+
export type MintV2InstructionDataArgs = {
|
|
157
|
+
/** Metadata for the newly minted `LeafSchema` V2 asset. */
|
|
152
158
|
metadataArgs: MetadataArgsV2Args;
|
|
159
|
+
/**
|
|
160
|
+
* Optional raw asset data blob to associate with the newly minted
|
|
161
|
+
* asset. Reserved for future use.
|
|
162
|
+
*/
|
|
153
163
|
assetData: OptionOrNullable<ReadonlyUint8Array>;
|
|
164
|
+
/**
|
|
165
|
+
* Schema describing the format of `assetData`. Reserved for future
|
|
166
|
+
* use.
|
|
167
|
+
*/
|
|
154
168
|
assetDataSchema: OptionOrNullable<AssetDataSchemaArgs>;
|
|
155
|
-
}
|
|
169
|
+
};
|
|
156
170
|
|
|
157
171
|
export function getMintV2InstructionDataEncoder(): Encoder<MintV2InstructionDataArgs> {
|
|
158
172
|
return transformEncoder(
|
|
@@ -195,7 +209,7 @@ export function getMintV2InstructionDataCodec(): Codec<
|
|
|
195
209
|
);
|
|
196
210
|
}
|
|
197
211
|
|
|
198
|
-
export
|
|
212
|
+
export type MintV2AsyncInput<
|
|
199
213
|
TAccountTreeAuthority extends string = string,
|
|
200
214
|
TAccountPayer extends string = string,
|
|
201
215
|
TAccountTreeDelegate extends string = string,
|
|
@@ -209,27 +223,75 @@ export interface MintV2AsyncInput<
|
|
|
209
223
|
TAccountCompressionProgram extends string = string,
|
|
210
224
|
TAccountMplCoreProgram extends string = string,
|
|
211
225
|
TAccountSystemProgram extends string = string,
|
|
212
|
-
> {
|
|
226
|
+
> = {
|
|
227
|
+
/**
|
|
228
|
+
* The tree's `TreeConfig` PDA, which stores its configuration and acts
|
|
229
|
+
* as the tree's authority for CPIs into the compression program.
|
|
230
|
+
*/
|
|
213
231
|
treeAuthority?: Address<TAccountTreeAuthority>;
|
|
232
|
+
/** Account that pays for the transaction and any account rent. */
|
|
214
233
|
payer: TransactionSigner<TAccountPayer>;
|
|
215
|
-
/** Optional tree delegate, defaults to `payer
|
|
234
|
+
/** Optional tree delegate, defaults to `payer`. */
|
|
216
235
|
treeDelegate?: TransactionSigner<TAccountTreeDelegate>;
|
|
217
|
-
/** Optional collection authority, defaults to `
|
|
236
|
+
/** Optional collection authority, defaults to `treeDelegate`. */
|
|
218
237
|
collectionAuthority?: TransactionSigner<TAccountCollectionAuthority>;
|
|
238
|
+
/** Owner of the compressed NFT leaf being operated on. */
|
|
219
239
|
leafOwner: Address<TAccountLeafOwner>;
|
|
240
|
+
/**
|
|
241
|
+
* Delegate authority for the leaf; defaults to the leaf owner when no
|
|
242
|
+
* delegate is set.
|
|
243
|
+
*/
|
|
220
244
|
leafDelegate?: Address<TAccountLeafDelegate>;
|
|
245
|
+
/**
|
|
246
|
+
* The concurrent Merkle tree account storing the compressed leaves,
|
|
247
|
+
* owned by the account compression program.
|
|
248
|
+
*/
|
|
221
249
|
merkleTree: Address<TAccountMerkleTree>;
|
|
250
|
+
/** MPL Core collection account the asset belongs to (V2 collections). */
|
|
222
251
|
coreCollection?: Address<TAccountCoreCollection>;
|
|
252
|
+
/**
|
|
253
|
+
* PDA Bubblegum uses to sign CPIs into the MPL Core program on behalf
|
|
254
|
+
* of a core collection.
|
|
255
|
+
*/
|
|
223
256
|
mplCoreCpiSigner?: Address<TAccountMplCoreCpiSigner>;
|
|
257
|
+
/**
|
|
258
|
+
* The SPL/MPL Noop program, used to log leaf data so off-chain indexers
|
|
259
|
+
* can reconstruct the tree.
|
|
260
|
+
*/
|
|
224
261
|
logWrapper?: Address<TAccountLogWrapper>;
|
|
262
|
+
/**
|
|
263
|
+
* The SPL/MPL Account Compression program that owns and manages the
|
|
264
|
+
* Merkle tree.
|
|
265
|
+
*/
|
|
225
266
|
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
267
|
+
/** The MPL Core program, invoked for V2 collection CPIs. */
|
|
226
268
|
mplCoreProgram?: Address<TAccountMplCoreProgram>;
|
|
269
|
+
/** The Solana System program. */
|
|
227
270
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
228
271
|
metadataArgs: MintV2InstructionDataArgs["metadataArgs"];
|
|
229
272
|
assetData: MintV2InstructionDataArgs["assetData"];
|
|
230
273
|
assetDataSchema: MintV2InstructionDataArgs["assetDataSchema"];
|
|
231
|
-
}
|
|
274
|
+
};
|
|
232
275
|
|
|
276
|
+
/**
|
|
277
|
+
* Mints a new asset using `LeafSchema` V2 and optionally adds it to an
|
|
278
|
+
* MPL Core collection. Requires a tree created with `createTreeV2`.
|
|
279
|
+
*
|
|
280
|
+
* `LeafSchema` V2 enables new functionality over V1 minting:
|
|
281
|
+
*
|
|
282
|
+
* 1. Uses MPL Core collections instead of Token Metadata collections.
|
|
283
|
+
* 2. Uses the streamlined `MetadataArgsV2` arguments, which eliminate
|
|
284
|
+
* the collection verified flag: any collection included is
|
|
285
|
+
* automatically considered verified.
|
|
286
|
+
* 3. Allows plugins such as Royalties or Permanent Burn Delegate on the
|
|
287
|
+
* MPL Core collection to authorize operations on the Bubblegum
|
|
288
|
+
* asset. The `BubblegumV2` plugin must also be present on the MPL
|
|
289
|
+
* Core collection for it to be usable with Bubblegum.
|
|
290
|
+
* 4. Allows freezing/thawing of the asset, as well as marking it
|
|
291
|
+
* permanently non-transferable (soulbound).
|
|
292
|
+
* 5. Reserves (but does not yet use) an optional data blob and schema
|
|
293
|
+
* that can be associated with the asset.
|
|
294
|
+
*/
|
|
233
295
|
export async function getMintV2InstructionAsync<
|
|
234
296
|
TAccountTreeAuthority extends string,
|
|
235
297
|
TAccountPayer extends string,
|
|
@@ -387,7 +449,7 @@ export async function getMintV2InstructionAsync<
|
|
|
387
449
|
>);
|
|
388
450
|
}
|
|
389
451
|
|
|
390
|
-
export
|
|
452
|
+
export type MintV2Input<
|
|
391
453
|
TAccountTreeAuthority extends string = string,
|
|
392
454
|
TAccountPayer extends string = string,
|
|
393
455
|
TAccountTreeDelegate extends string = string,
|
|
@@ -401,27 +463,75 @@ export interface MintV2Input<
|
|
|
401
463
|
TAccountCompressionProgram extends string = string,
|
|
402
464
|
TAccountMplCoreProgram extends string = string,
|
|
403
465
|
TAccountSystemProgram extends string = string,
|
|
404
|
-
> {
|
|
466
|
+
> = {
|
|
467
|
+
/**
|
|
468
|
+
* The tree's `TreeConfig` PDA, which stores its configuration and acts
|
|
469
|
+
* as the tree's authority for CPIs into the compression program.
|
|
470
|
+
*/
|
|
405
471
|
treeAuthority: Address<TAccountTreeAuthority>;
|
|
472
|
+
/** Account that pays for the transaction and any account rent. */
|
|
406
473
|
payer: TransactionSigner<TAccountPayer>;
|
|
407
|
-
/** Optional tree delegate, defaults to `payer
|
|
474
|
+
/** Optional tree delegate, defaults to `payer`. */
|
|
408
475
|
treeDelegate?: TransactionSigner<TAccountTreeDelegate>;
|
|
409
|
-
/** Optional collection authority, defaults to `
|
|
476
|
+
/** Optional collection authority, defaults to `treeDelegate`. */
|
|
410
477
|
collectionAuthority?: TransactionSigner<TAccountCollectionAuthority>;
|
|
478
|
+
/** Owner of the compressed NFT leaf being operated on. */
|
|
411
479
|
leafOwner: Address<TAccountLeafOwner>;
|
|
480
|
+
/**
|
|
481
|
+
* Delegate authority for the leaf; defaults to the leaf owner when no
|
|
482
|
+
* delegate is set.
|
|
483
|
+
*/
|
|
412
484
|
leafDelegate?: Address<TAccountLeafDelegate>;
|
|
485
|
+
/**
|
|
486
|
+
* The concurrent Merkle tree account storing the compressed leaves,
|
|
487
|
+
* owned by the account compression program.
|
|
488
|
+
*/
|
|
413
489
|
merkleTree: Address<TAccountMerkleTree>;
|
|
490
|
+
/** MPL Core collection account the asset belongs to (V2 collections). */
|
|
414
491
|
coreCollection?: Address<TAccountCoreCollection>;
|
|
492
|
+
/**
|
|
493
|
+
* PDA Bubblegum uses to sign CPIs into the MPL Core program on behalf
|
|
494
|
+
* of a core collection.
|
|
495
|
+
*/
|
|
415
496
|
mplCoreCpiSigner?: Address<TAccountMplCoreCpiSigner>;
|
|
497
|
+
/**
|
|
498
|
+
* The SPL/MPL Noop program, used to log leaf data so off-chain indexers
|
|
499
|
+
* can reconstruct the tree.
|
|
500
|
+
*/
|
|
416
501
|
logWrapper?: Address<TAccountLogWrapper>;
|
|
502
|
+
/**
|
|
503
|
+
* The SPL/MPL Account Compression program that owns and manages the
|
|
504
|
+
* Merkle tree.
|
|
505
|
+
*/
|
|
417
506
|
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
507
|
+
/** The MPL Core program, invoked for V2 collection CPIs. */
|
|
418
508
|
mplCoreProgram?: Address<TAccountMplCoreProgram>;
|
|
509
|
+
/** The Solana System program. */
|
|
419
510
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
420
511
|
metadataArgs: MintV2InstructionDataArgs["metadataArgs"];
|
|
421
512
|
assetData: MintV2InstructionDataArgs["assetData"];
|
|
422
513
|
assetDataSchema: MintV2InstructionDataArgs["assetDataSchema"];
|
|
423
|
-
}
|
|
514
|
+
};
|
|
424
515
|
|
|
516
|
+
/**
|
|
517
|
+
* Mints a new asset using `LeafSchema` V2 and optionally adds it to an
|
|
518
|
+
* MPL Core collection. Requires a tree created with `createTreeV2`.
|
|
519
|
+
*
|
|
520
|
+
* `LeafSchema` V2 enables new functionality over V1 minting:
|
|
521
|
+
*
|
|
522
|
+
* 1. Uses MPL Core collections instead of Token Metadata collections.
|
|
523
|
+
* 2. Uses the streamlined `MetadataArgsV2` arguments, which eliminate
|
|
524
|
+
* the collection verified flag: any collection included is
|
|
525
|
+
* automatically considered verified.
|
|
526
|
+
* 3. Allows plugins such as Royalties or Permanent Burn Delegate on the
|
|
527
|
+
* MPL Core collection to authorize operations on the Bubblegum
|
|
528
|
+
* asset. The `BubblegumV2` plugin must also be present on the MPL
|
|
529
|
+
* Core collection for it to be usable with Bubblegum.
|
|
530
|
+
* 4. Allows freezing/thawing of the asset, as well as marking it
|
|
531
|
+
* permanently non-transferable (soulbound).
|
|
532
|
+
* 5. Reserves (but does not yet use) an optional data blob and schema
|
|
533
|
+
* that can be associated with the asset.
|
|
534
|
+
*/
|
|
425
535
|
export function getMintV2Instruction<
|
|
426
536
|
TAccountTreeAuthority extends string,
|
|
427
537
|
TAccountPayer extends string,
|
|
@@ -569,30 +679,59 @@ export function getMintV2Instruction<
|
|
|
569
679
|
>);
|
|
570
680
|
}
|
|
571
681
|
|
|
572
|
-
export
|
|
682
|
+
export type ParsedMintV2Instruction<
|
|
573
683
|
TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
574
684
|
TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],
|
|
575
|
-
> {
|
|
685
|
+
> = {
|
|
576
686
|
programAddress: Address<TProgram>;
|
|
577
687
|
accounts: {
|
|
688
|
+
/**
|
|
689
|
+
* The tree's `TreeConfig` PDA, which stores its configuration and acts
|
|
690
|
+
* as the tree's authority for CPIs into the compression program.
|
|
691
|
+
*/
|
|
578
692
|
treeAuthority: TAccountMetas[0];
|
|
693
|
+
/** Account that pays for the transaction and any account rent. */
|
|
579
694
|
payer: TAccountMetas[1];
|
|
580
|
-
/** Optional tree delegate, defaults to `payer
|
|
695
|
+
/** Optional tree delegate, defaults to `payer`. */
|
|
581
696
|
treeDelegate?: TAccountMetas[2] | undefined;
|
|
582
|
-
/** Optional collection authority, defaults to `
|
|
697
|
+
/** Optional collection authority, defaults to `treeDelegate`. */
|
|
583
698
|
collectionAuthority?: TAccountMetas[3] | undefined;
|
|
699
|
+
/** Owner of the compressed NFT leaf being operated on. */
|
|
584
700
|
leafOwner: TAccountMetas[4];
|
|
701
|
+
/**
|
|
702
|
+
* Delegate authority for the leaf; defaults to the leaf owner when no
|
|
703
|
+
* delegate is set.
|
|
704
|
+
*/
|
|
585
705
|
leafDelegate?: TAccountMetas[5] | undefined;
|
|
706
|
+
/**
|
|
707
|
+
* The concurrent Merkle tree account storing the compressed leaves,
|
|
708
|
+
* owned by the account compression program.
|
|
709
|
+
*/
|
|
586
710
|
merkleTree: TAccountMetas[6];
|
|
711
|
+
/** MPL Core collection account the asset belongs to (V2 collections). */
|
|
587
712
|
coreCollection?: TAccountMetas[7] | undefined;
|
|
713
|
+
/**
|
|
714
|
+
* PDA Bubblegum uses to sign CPIs into the MPL Core program on behalf
|
|
715
|
+
* of a core collection.
|
|
716
|
+
*/
|
|
588
717
|
mplCoreCpiSigner?: TAccountMetas[8] | undefined;
|
|
718
|
+
/**
|
|
719
|
+
* The SPL/MPL Noop program, used to log leaf data so off-chain indexers
|
|
720
|
+
* can reconstruct the tree.
|
|
721
|
+
*/
|
|
589
722
|
logWrapper: TAccountMetas[9];
|
|
723
|
+
/**
|
|
724
|
+
* The SPL/MPL Account Compression program that owns and manages the
|
|
725
|
+
* Merkle tree.
|
|
726
|
+
*/
|
|
590
727
|
compressionProgram: TAccountMetas[10];
|
|
728
|
+
/** The MPL Core program, invoked for V2 collection CPIs. */
|
|
591
729
|
mplCoreProgram: TAccountMetas[11];
|
|
730
|
+
/** The Solana System program. */
|
|
592
731
|
systemProgram: TAccountMetas[12];
|
|
593
732
|
};
|
|
594
733
|
data: MintV2InstructionData;
|
|
595
|
-
}
|
|
734
|
+
};
|
|
596
735
|
|
|
597
736
|
export function parseMintV2Instruction<
|
|
598
737
|
TProgram extends string,
|
|
@@ -6,23 +6,6 @@
|
|
|
6
6
|
* @see https://github.com/codama-idl/codama
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import type {
|
|
10
|
-
AccountMeta,
|
|
11
|
-
AccountSignerMeta,
|
|
12
|
-
Address,
|
|
13
|
-
FixedSizeCodec,
|
|
14
|
-
FixedSizeDecoder,
|
|
15
|
-
FixedSizeEncoder,
|
|
16
|
-
Instruction,
|
|
17
|
-
InstructionWithAccounts,
|
|
18
|
-
InstructionWithData,
|
|
19
|
-
ReadonlyAccount,
|
|
20
|
-
ReadonlyUint8Array,
|
|
21
|
-
TransactionSigner,
|
|
22
|
-
WritableAccount,
|
|
23
|
-
WritableSignerAccount,
|
|
24
|
-
} from "@solana/kit";
|
|
25
|
-
import type { ResolvedInstructionAccount } from "@solana/program-client-core";
|
|
26
9
|
import {
|
|
27
10
|
combineCodec,
|
|
28
11
|
fixDecoderSize,
|
|
@@ -33,19 +16,34 @@ import {
|
|
|
33
16
|
getBytesEncoder,
|
|
34
17
|
getStructDecoder,
|
|
35
18
|
getStructEncoder,
|
|
36
|
-
getU8Decoder,
|
|
37
|
-
getU8Encoder,
|
|
38
19
|
getU32Decoder,
|
|
39
20
|
getU32Encoder,
|
|
40
21
|
getU64Decoder,
|
|
41
22
|
getU64Encoder,
|
|
23
|
+
getU8Decoder,
|
|
24
|
+
getU8Encoder,
|
|
42
25
|
SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
|
|
43
26
|
SolanaError,
|
|
44
27
|
transformEncoder,
|
|
28
|
+
type AccountMeta,
|
|
29
|
+
type AccountSignerMeta,
|
|
30
|
+
type Address,
|
|
31
|
+
type FixedSizeCodec,
|
|
32
|
+
type FixedSizeDecoder,
|
|
33
|
+
type FixedSizeEncoder,
|
|
34
|
+
type Instruction,
|
|
35
|
+
type InstructionWithAccounts,
|
|
36
|
+
type InstructionWithData,
|
|
37
|
+
type ReadonlyAccount,
|
|
38
|
+
type ReadonlyUint8Array,
|
|
39
|
+
type TransactionSigner,
|
|
40
|
+
type WritableAccount,
|
|
41
|
+
type WritableSignerAccount,
|
|
45
42
|
} from "@solana/kit";
|
|
46
43
|
import {
|
|
47
44
|
getAccountMetaFactory,
|
|
48
45
|
getAddressFromResolvedInstructionAccount,
|
|
46
|
+
type ResolvedInstructionAccount,
|
|
49
47
|
} from "@solana/program-client-core";
|
|
50
48
|
import { findTreeConfigPda } from "../pdas/index.js";
|
|
51
49
|
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
@@ -105,22 +103,64 @@ export type RedeemInstruction<
|
|
|
105
103
|
]
|
|
106
104
|
>;
|
|
107
105
|
|
|
108
|
-
export
|
|
106
|
+
export type RedeemInstructionData = {
|
|
109
107
|
discriminator: ReadonlyUint8Array;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
108
|
+
/**
|
|
109
|
+
* Current Merkle root of the tree, used together with the Merkle proof
|
|
110
|
+
* (passed as remaining accounts) to verify the leaf being operated on.
|
|
111
|
+
*/
|
|
112
|
+
root: Array<number>;
|
|
113
|
+
/**
|
|
114
|
+
* Keccak256 hash of the leaf's metadata, used together with `root` to
|
|
115
|
+
* verify the leaf before it is modified.
|
|
116
|
+
*/
|
|
117
|
+
dataHash: Array<number>;
|
|
118
|
+
/**
|
|
119
|
+
* Keccak256 hash of the leaf's creators array, used together with
|
|
120
|
+
* `root` to verify the leaf before it is modified.
|
|
121
|
+
*/
|
|
122
|
+
creatorHash: Array<number>;
|
|
123
|
+
/**
|
|
124
|
+
* Tree-scoped nonce identifying the leaf, equal to the tree's
|
|
125
|
+
* `numMinted` at the time the leaf was minted. Combined with the tree
|
|
126
|
+
* address to derive the leaf's asset id.
|
|
127
|
+
*/
|
|
113
128
|
nonce: bigint;
|
|
129
|
+
/**
|
|
130
|
+
* Position of the leaf within the Merkle tree, used with the Merkle
|
|
131
|
+
* proof to locate and verify the leaf.
|
|
132
|
+
*/
|
|
114
133
|
index: number;
|
|
115
|
-
}
|
|
134
|
+
};
|
|
116
135
|
|
|
117
|
-
export
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
136
|
+
export type RedeemInstructionDataArgs = {
|
|
137
|
+
/**
|
|
138
|
+
* Current Merkle root of the tree, used together with the Merkle proof
|
|
139
|
+
* (passed as remaining accounts) to verify the leaf being operated on.
|
|
140
|
+
*/
|
|
141
|
+
root: Array<number>;
|
|
142
|
+
/**
|
|
143
|
+
* Keccak256 hash of the leaf's metadata, used together with `root` to
|
|
144
|
+
* verify the leaf before it is modified.
|
|
145
|
+
*/
|
|
146
|
+
dataHash: Array<number>;
|
|
147
|
+
/**
|
|
148
|
+
* Keccak256 hash of the leaf's creators array, used together with
|
|
149
|
+
* `root` to verify the leaf before it is modified.
|
|
150
|
+
*/
|
|
151
|
+
creatorHash: Array<number>;
|
|
152
|
+
/**
|
|
153
|
+
* Tree-scoped nonce identifying the leaf, equal to the tree's
|
|
154
|
+
* `numMinted` at the time the leaf was minted. Combined with the tree
|
|
155
|
+
* address to derive the leaf's asset id.
|
|
156
|
+
*/
|
|
121
157
|
nonce: number | bigint;
|
|
158
|
+
/**
|
|
159
|
+
* Position of the leaf within the Merkle tree, used with the Merkle
|
|
160
|
+
* proof to locate and verify the leaf.
|
|
161
|
+
*/
|
|
122
162
|
index: number;
|
|
123
|
-
}
|
|
163
|
+
};
|
|
124
164
|
|
|
125
165
|
export function getRedeemInstructionDataEncoder(): FixedSizeEncoder<RedeemInstructionDataArgs> {
|
|
126
166
|
return transformEncoder(
|
|
@@ -157,7 +197,7 @@ export function getRedeemInstructionDataCodec(): FixedSizeCodec<
|
|
|
157
197
|
);
|
|
158
198
|
}
|
|
159
199
|
|
|
160
|
-
export
|
|
200
|
+
export type RedeemAsyncInput<
|
|
161
201
|
TAccountTreeAuthority extends string = string,
|
|
162
202
|
TAccountLeafOwner extends string = string,
|
|
163
203
|
TAccountLeafDelegate extends string = string,
|
|
@@ -166,22 +206,56 @@ export interface RedeemAsyncInput<
|
|
|
166
206
|
TAccountLogWrapper extends string = string,
|
|
167
207
|
TAccountCompressionProgram extends string = string,
|
|
168
208
|
TAccountSystemProgram extends string = string,
|
|
169
|
-
> {
|
|
209
|
+
> = {
|
|
210
|
+
/**
|
|
211
|
+
* The tree's `TreeConfig` PDA, which stores its configuration and acts
|
|
212
|
+
* as the tree's authority for CPIs into the compression program.
|
|
213
|
+
*/
|
|
170
214
|
treeAuthority?: Address<TAccountTreeAuthority>;
|
|
215
|
+
/** Owner of the compressed NFT leaf being operated on. */
|
|
171
216
|
leafOwner: TransactionSigner<TAccountLeafOwner>;
|
|
217
|
+
/**
|
|
218
|
+
* Delegate authority for the leaf; defaults to the leaf owner when no
|
|
219
|
+
* delegate is set.
|
|
220
|
+
*/
|
|
172
221
|
leafDelegate: Address<TAccountLeafDelegate>;
|
|
222
|
+
/**
|
|
223
|
+
* The concurrent Merkle tree account storing the compressed leaves,
|
|
224
|
+
* owned by the account compression program.
|
|
225
|
+
*/
|
|
173
226
|
merkleTree: Address<TAccountMerkleTree>;
|
|
227
|
+
/**
|
|
228
|
+
* Voucher PDA created by this instruction to record the redeemed
|
|
229
|
+
* leaf's data until it is decompressed or the redeem is cancelled.
|
|
230
|
+
*/
|
|
174
231
|
voucher: Address<TAccountVoucher>;
|
|
232
|
+
/**
|
|
233
|
+
* The SPL/MPL Noop program, used to log leaf data so off-chain indexers
|
|
234
|
+
* can reconstruct the tree.
|
|
235
|
+
*/
|
|
175
236
|
logWrapper?: Address<TAccountLogWrapper>;
|
|
237
|
+
/**
|
|
238
|
+
* The SPL/MPL Account Compression program that owns and manages the
|
|
239
|
+
* Merkle tree.
|
|
240
|
+
*/
|
|
176
241
|
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
242
|
+
/** The Solana System program. */
|
|
177
243
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
178
244
|
root: RedeemInstructionDataArgs["root"];
|
|
179
245
|
dataHash: RedeemInstructionDataArgs["dataHash"];
|
|
180
246
|
creatorHash: RedeemInstructionDataArgs["creatorHash"];
|
|
181
247
|
nonce: RedeemInstructionDataArgs["nonce"];
|
|
182
248
|
index: RedeemInstructionDataArgs["index"];
|
|
183
|
-
}
|
|
249
|
+
};
|
|
184
250
|
|
|
251
|
+
/**
|
|
252
|
+
* Redeems (vouches for) a leaf, removing it from the tree and recording
|
|
253
|
+
* its data in a new `voucher` PDA.
|
|
254
|
+
*
|
|
255
|
+
* This is the first step of decompression: once redeemed, the leaf slot
|
|
256
|
+
* in the tree is emptied and the leaf's data is preserved in `voucher`
|
|
257
|
+
* until `decompressV1` consumes it, or `cancelRedeem` restores it.
|
|
258
|
+
*/
|
|
185
259
|
export async function getRedeemInstructionAsync<
|
|
186
260
|
TAccountTreeAuthority extends string,
|
|
187
261
|
TAccountLeafOwner extends string,
|
|
@@ -293,7 +367,7 @@ export async function getRedeemInstructionAsync<
|
|
|
293
367
|
>);
|
|
294
368
|
}
|
|
295
369
|
|
|
296
|
-
export
|
|
370
|
+
export type RedeemInput<
|
|
297
371
|
TAccountTreeAuthority extends string = string,
|
|
298
372
|
TAccountLeafOwner extends string = string,
|
|
299
373
|
TAccountLeafDelegate extends string = string,
|
|
@@ -302,22 +376,56 @@ export interface RedeemInput<
|
|
|
302
376
|
TAccountLogWrapper extends string = string,
|
|
303
377
|
TAccountCompressionProgram extends string = string,
|
|
304
378
|
TAccountSystemProgram extends string = string,
|
|
305
|
-
> {
|
|
379
|
+
> = {
|
|
380
|
+
/**
|
|
381
|
+
* The tree's `TreeConfig` PDA, which stores its configuration and acts
|
|
382
|
+
* as the tree's authority for CPIs into the compression program.
|
|
383
|
+
*/
|
|
306
384
|
treeAuthority: Address<TAccountTreeAuthority>;
|
|
385
|
+
/** Owner of the compressed NFT leaf being operated on. */
|
|
307
386
|
leafOwner: TransactionSigner<TAccountLeafOwner>;
|
|
387
|
+
/**
|
|
388
|
+
* Delegate authority for the leaf; defaults to the leaf owner when no
|
|
389
|
+
* delegate is set.
|
|
390
|
+
*/
|
|
308
391
|
leafDelegate: Address<TAccountLeafDelegate>;
|
|
392
|
+
/**
|
|
393
|
+
* The concurrent Merkle tree account storing the compressed leaves,
|
|
394
|
+
* owned by the account compression program.
|
|
395
|
+
*/
|
|
309
396
|
merkleTree: Address<TAccountMerkleTree>;
|
|
397
|
+
/**
|
|
398
|
+
* Voucher PDA created by this instruction to record the redeemed
|
|
399
|
+
* leaf's data until it is decompressed or the redeem is cancelled.
|
|
400
|
+
*/
|
|
310
401
|
voucher: Address<TAccountVoucher>;
|
|
402
|
+
/**
|
|
403
|
+
* The SPL/MPL Noop program, used to log leaf data so off-chain indexers
|
|
404
|
+
* can reconstruct the tree.
|
|
405
|
+
*/
|
|
311
406
|
logWrapper?: Address<TAccountLogWrapper>;
|
|
407
|
+
/**
|
|
408
|
+
* The SPL/MPL Account Compression program that owns and manages the
|
|
409
|
+
* Merkle tree.
|
|
410
|
+
*/
|
|
312
411
|
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
412
|
+
/** The Solana System program. */
|
|
313
413
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
314
414
|
root: RedeemInstructionDataArgs["root"];
|
|
315
415
|
dataHash: RedeemInstructionDataArgs["dataHash"];
|
|
316
416
|
creatorHash: RedeemInstructionDataArgs["creatorHash"];
|
|
317
417
|
nonce: RedeemInstructionDataArgs["nonce"];
|
|
318
418
|
index: RedeemInstructionDataArgs["index"];
|
|
319
|
-
}
|
|
419
|
+
};
|
|
320
420
|
|
|
421
|
+
/**
|
|
422
|
+
* Redeems (vouches for) a leaf, removing it from the tree and recording
|
|
423
|
+
* its data in a new `voucher` PDA.
|
|
424
|
+
*
|
|
425
|
+
* This is the first step of decompression: once redeemed, the leaf slot
|
|
426
|
+
* in the tree is emptied and the leaf's data is preserved in `voucher`
|
|
427
|
+
* until `decompressV1` consumes it, or `cancelRedeem` restores it.
|
|
428
|
+
*/
|
|
321
429
|
export function getRedeemInstruction<
|
|
322
430
|
TAccountTreeAuthority extends string,
|
|
323
431
|
TAccountLeafOwner extends string,
|
|
@@ -419,23 +527,49 @@ export function getRedeemInstruction<
|
|
|
419
527
|
>);
|
|
420
528
|
}
|
|
421
529
|
|
|
422
|
-
export
|
|
530
|
+
export type ParsedRedeemInstruction<
|
|
423
531
|
TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
424
532
|
TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],
|
|
425
|
-
> {
|
|
533
|
+
> = {
|
|
426
534
|
programAddress: Address<TProgram>;
|
|
427
535
|
accounts: {
|
|
536
|
+
/**
|
|
537
|
+
* The tree's `TreeConfig` PDA, which stores its configuration and acts
|
|
538
|
+
* as the tree's authority for CPIs into the compression program.
|
|
539
|
+
*/
|
|
428
540
|
treeAuthority: TAccountMetas[0];
|
|
541
|
+
/** Owner of the compressed NFT leaf being operated on. */
|
|
429
542
|
leafOwner: TAccountMetas[1];
|
|
543
|
+
/**
|
|
544
|
+
* Delegate authority for the leaf; defaults to the leaf owner when no
|
|
545
|
+
* delegate is set.
|
|
546
|
+
*/
|
|
430
547
|
leafDelegate: TAccountMetas[2];
|
|
548
|
+
/**
|
|
549
|
+
* The concurrent Merkle tree account storing the compressed leaves,
|
|
550
|
+
* owned by the account compression program.
|
|
551
|
+
*/
|
|
431
552
|
merkleTree: TAccountMetas[3];
|
|
553
|
+
/**
|
|
554
|
+
* Voucher PDA created by this instruction to record the redeemed
|
|
555
|
+
* leaf's data until it is decompressed or the redeem is cancelled.
|
|
556
|
+
*/
|
|
432
557
|
voucher: TAccountMetas[4];
|
|
558
|
+
/**
|
|
559
|
+
* The SPL/MPL Noop program, used to log leaf data so off-chain indexers
|
|
560
|
+
* can reconstruct the tree.
|
|
561
|
+
*/
|
|
433
562
|
logWrapper: TAccountMetas[5];
|
|
563
|
+
/**
|
|
564
|
+
* The SPL/MPL Account Compression program that owns and manages the
|
|
565
|
+
* Merkle tree.
|
|
566
|
+
*/
|
|
434
567
|
compressionProgram: TAccountMetas[6];
|
|
568
|
+
/** The Solana System program. */
|
|
435
569
|
systemProgram: TAccountMetas[7];
|
|
436
570
|
};
|
|
437
571
|
data: RedeemInstructionData;
|
|
438
|
-
}
|
|
572
|
+
};
|
|
439
573
|
|
|
440
574
|
export function parseRedeemInstruction<
|
|
441
575
|
TProgram extends string,
|