@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
|
@@ -3,6 +3,13 @@ import "../programs/bubblegum.js";
|
|
|
3
3
|
import { SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, combineCodec, fixDecoderSize, fixEncoderSize, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, transformEncoder } from "@solana/kit";
|
|
4
4
|
import { getAccountMetaFactory, getAddressFromResolvedInstructionAccount } from "@solana/program-client-core";
|
|
5
5
|
//#region src/generated/instructions/setTreeDelegate.ts
|
|
6
|
+
/**
|
|
7
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
8
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
9
|
+
* to add features, then rerun Codama to update it.
|
|
10
|
+
*
|
|
11
|
+
* @see https://github.com/codama-idl/codama
|
|
12
|
+
*/
|
|
6
13
|
const SET_TREE_DELEGATE_DISCRIMINATOR = new Uint8Array([
|
|
7
14
|
253,
|
|
8
15
|
118,
|
|
@@ -28,6 +35,13 @@ function getSetTreeDelegateInstructionDataDecoder() {
|
|
|
28
35
|
function getSetTreeDelegateInstructionDataCodec() {
|
|
29
36
|
return combineCodec(getSetTreeDelegateInstructionDataEncoder(), getSetTreeDelegateInstructionDataDecoder());
|
|
30
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Sets a new delegate authority for a tree.
|
|
40
|
+
*
|
|
41
|
+
* Only the current tree creator may reassign the tree delegate, which
|
|
42
|
+
* is authorized to mint into the tree and manage it on the creator's
|
|
43
|
+
* behalf.
|
|
44
|
+
*/
|
|
31
45
|
async function getSetTreeDelegateInstructionAsync(input, config) {
|
|
32
46
|
const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
|
|
33
47
|
const accounts = {
|
|
@@ -67,6 +81,13 @@ async function getSetTreeDelegateInstructionAsync(input, config) {
|
|
|
67
81
|
programAddress
|
|
68
82
|
});
|
|
69
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Sets a new delegate authority for a tree.
|
|
86
|
+
*
|
|
87
|
+
* Only the current tree creator may reassign the tree delegate, which
|
|
88
|
+
* is authorized to mint into the tree and manage it on the creator's
|
|
89
|
+
* behalf.
|
|
90
|
+
*/
|
|
70
91
|
function getSetTreeDelegateInstruction(input, config) {
|
|
71
92
|
const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
|
|
72
93
|
const accounts = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setTreeDelegate.js","names":[],"sources":["../../../src/generated/instructions/setTreeDelegate.ts"],"sourcesContent":["/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport type {\n AccountMeta,\n AccountSignerMeta,\n Address,\n FixedSizeCodec,\n FixedSizeDecoder,\n FixedSizeEncoder,\n Instruction,\n InstructionWithAccounts,\n InstructionWithData,\n ReadonlyAccount,\n ReadonlySignerAccount,\n ReadonlyUint8Array,\n TransactionSigner,\n WritableAccount,\n} from \"@solana/kit\";\nimport type { ResolvedInstructionAccount } from \"@solana/program-client-core\";\nimport {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getBytesDecoder,\n getBytesEncoder,\n getStructDecoder,\n getStructEncoder,\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n SolanaError,\n transformEncoder,\n} from \"@solana/kit\";\nimport {\n getAccountMetaFactory,\n getAddressFromResolvedInstructionAccount,\n} from \"@solana/program-client-core\";\nimport { findTreeConfigPda } from \"../pdas/index.js\";\nimport { BUBBLEGUM_PROGRAM_ADDRESS } from \"../programs/index.js\";\n\nexport const SET_TREE_DELEGATE_DISCRIMINATOR: ReadonlyUint8Array =\n new Uint8Array([253, 118, 66, 37, 190, 49, 154, 102]);\n\nexport function getSetTreeDelegateDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n SET_TREE_DELEGATE_DISCRIMINATOR,\n );\n}\n\nexport type SetTreeDelegateInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountTreeCreator extends string | AccountMeta<string> = string,\n TAccountNewTreeDelegate extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountSystemProgram extends string | AccountMeta<string> =\n \"11111111111111111111111111111111\",\n TRemainingAccounts extends readonly AccountMeta<string>[] = [],\n> = Instruction<TProgram> &\n InstructionWithData<ReadonlyUint8Array> &\n InstructionWithAccounts<\n [\n TAccountTreeAuthority extends string\n ? WritableAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountTreeCreator extends string\n ? ReadonlySignerAccount<TAccountTreeCreator> &\n AccountSignerMeta<TAccountTreeCreator>\n : TAccountTreeCreator,\n TAccountNewTreeDelegate extends string\n ? ReadonlyAccount<TAccountNewTreeDelegate>\n : TAccountNewTreeDelegate,\n TAccountMerkleTree extends string\n ? ReadonlyAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport interface SetTreeDelegateInstructionData {\n discriminator: ReadonlyUint8Array;\n}\n\nexport type SetTreeDelegateInstructionDataArgs = {};\n\nexport function getSetTreeDelegateInstructionDataEncoder(): FixedSizeEncoder<SetTreeDelegateInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([[\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)]]),\n (value) => ({ ...value, discriminator: SET_TREE_DELEGATE_DISCRIMINATOR }),\n );\n}\n\nexport function getSetTreeDelegateInstructionDataDecoder(): FixedSizeDecoder<SetTreeDelegateInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n ]);\n}\n\nexport function getSetTreeDelegateInstructionDataCodec(): FixedSizeCodec<\n SetTreeDelegateInstructionDataArgs,\n SetTreeDelegateInstructionData\n> {\n return combineCodec(\n getSetTreeDelegateInstructionDataEncoder(),\n getSetTreeDelegateInstructionDataDecoder(),\n );\n}\n\nexport interface SetTreeDelegateAsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountTreeCreator extends string = string,\n TAccountNewTreeDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority?: Address<TAccountTreeAuthority>;\n treeCreator: TransactionSigner<TAccountTreeCreator>;\n newTreeDelegate: Address<TAccountNewTreeDelegate>;\n merkleTree: Address<TAccountMerkleTree>;\n systemProgram?: Address<TAccountSystemProgram>;\n}\n\nexport async function getSetTreeDelegateInstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountTreeCreator extends string,\n TAccountNewTreeDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: SetTreeDelegateAsyncInput<\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: true },\n treeCreator: { value: input.treeCreator ?? null, isWritable: false },\n newTreeDelegate: {\n value: input.newTreeDelegate ?? null,\n isWritable: false,\n },\n merkleTree: { value: input.merkleTree ?? null, isWritable: false },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Resolve default values.\n if (!accounts.treeAuthority.value) {\n accounts.treeAuthority.value = await findTreeConfigPda({\n merkleTree: getAddressFromResolvedInstructionAccount(\n \"merkleTree\",\n accounts.merkleTree.value,\n ),\n });\n }\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"treeCreator\", accounts.treeCreator),\n getAccountMeta(\"newTreeDelegate\", accounts.newTreeDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getSetTreeDelegateInstructionDataEncoder().encode({}),\n programAddress,\n } as SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >);\n}\n\nexport interface SetTreeDelegateInput<\n TAccountTreeAuthority extends string = string,\n TAccountTreeCreator extends string = string,\n TAccountNewTreeDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority: Address<TAccountTreeAuthority>;\n treeCreator: TransactionSigner<TAccountTreeCreator>;\n newTreeDelegate: Address<TAccountNewTreeDelegate>;\n merkleTree: Address<TAccountMerkleTree>;\n systemProgram?: Address<TAccountSystemProgram>;\n}\n\nexport function getSetTreeDelegateInstruction<\n TAccountTreeAuthority extends string,\n TAccountTreeCreator extends string,\n TAccountNewTreeDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: SetTreeDelegateInput<\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: true },\n treeCreator: { value: input.treeCreator ?? null, isWritable: false },\n newTreeDelegate: {\n value: input.newTreeDelegate ?? null,\n isWritable: false,\n },\n merkleTree: { value: input.merkleTree ?? null, isWritable: false },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Resolve default values.\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"treeCreator\", accounts.treeCreator),\n getAccountMeta(\"newTreeDelegate\", accounts.newTreeDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getSetTreeDelegateInstructionDataEncoder().encode({}),\n programAddress,\n } as SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >);\n}\n\nexport interface ParsedSetTreeDelegateInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],\n> {\n programAddress: Address<TProgram>;\n accounts: {\n treeAuthority: TAccountMetas[0];\n treeCreator: TAccountMetas[1];\n newTreeDelegate: TAccountMetas[2];\n merkleTree: TAccountMetas[3];\n systemProgram: TAccountMetas[4];\n };\n data: SetTreeDelegateInstructionData;\n}\n\nexport function parseSetTreeDelegateInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedSetTreeDelegateInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 5) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 5,\n },\n );\n }\n let accountIndex = 0;\n const getNextAccount = () => {\n const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;\n accountIndex += 1;\n return accountMeta;\n };\n return {\n programAddress: instruction.programAddress,\n accounts: {\n treeAuthority: getNextAccount(),\n treeCreator: getNextAccount(),\n newTreeDelegate: getNextAccount(),\n merkleTree: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getSetTreeDelegateInstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setTreeDelegate.js","names":[],"sources":["../../../src/generated/instructions/setTreeDelegate.ts"],"sourcesContent":["/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getBytesDecoder,\n getBytesEncoder,\n getStructDecoder,\n getStructEncoder,\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n SolanaError,\n transformEncoder,\n type AccountMeta,\n type AccountSignerMeta,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n type Instruction,\n type InstructionWithAccounts,\n type InstructionWithData,\n type ReadonlyAccount,\n type ReadonlySignerAccount,\n type ReadonlyUint8Array,\n type TransactionSigner,\n type WritableAccount,\n} from \"@solana/kit\";\nimport {\n getAccountMetaFactory,\n getAddressFromResolvedInstructionAccount,\n type ResolvedInstructionAccount,\n} from \"@solana/program-client-core\";\nimport { findTreeConfigPda } from \"../pdas/index.js\";\nimport { BUBBLEGUM_PROGRAM_ADDRESS } from \"../programs/index.js\";\n\nexport const SET_TREE_DELEGATE_DISCRIMINATOR: ReadonlyUint8Array =\n new Uint8Array([253, 118, 66, 37, 190, 49, 154, 102]);\n\nexport function getSetTreeDelegateDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n SET_TREE_DELEGATE_DISCRIMINATOR,\n );\n}\n\nexport type SetTreeDelegateInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountTreeCreator extends string | AccountMeta<string> = string,\n TAccountNewTreeDelegate extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountSystemProgram extends string | AccountMeta<string> =\n \"11111111111111111111111111111111\",\n TRemainingAccounts extends readonly AccountMeta<string>[] = [],\n> = Instruction<TProgram> &\n InstructionWithData<ReadonlyUint8Array> &\n InstructionWithAccounts<\n [\n TAccountTreeAuthority extends string\n ? WritableAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountTreeCreator extends string\n ? ReadonlySignerAccount<TAccountTreeCreator> &\n AccountSignerMeta<TAccountTreeCreator>\n : TAccountTreeCreator,\n TAccountNewTreeDelegate extends string\n ? ReadonlyAccount<TAccountNewTreeDelegate>\n : TAccountNewTreeDelegate,\n TAccountMerkleTree extends string\n ? ReadonlyAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport type SetTreeDelegateInstructionData = {\n discriminator: ReadonlyUint8Array;\n};\n\nexport type SetTreeDelegateInstructionDataArgs = {};\n\nexport function getSetTreeDelegateInstructionDataEncoder(): FixedSizeEncoder<SetTreeDelegateInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([[\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)]]),\n (value) => ({ ...value, discriminator: SET_TREE_DELEGATE_DISCRIMINATOR }),\n );\n}\n\nexport function getSetTreeDelegateInstructionDataDecoder(): FixedSizeDecoder<SetTreeDelegateInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n ]);\n}\n\nexport function getSetTreeDelegateInstructionDataCodec(): FixedSizeCodec<\n SetTreeDelegateInstructionDataArgs,\n SetTreeDelegateInstructionData\n> {\n return combineCodec(\n getSetTreeDelegateInstructionDataEncoder(),\n getSetTreeDelegateInstructionDataDecoder(),\n );\n}\n\nexport type SetTreeDelegateAsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountTreeCreator extends string = string,\n TAccountNewTreeDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountSystemProgram extends string = string,\n> = {\n /**\n * The tree's `TreeConfig` PDA, which stores its configuration and acts\n * as the tree's authority for CPIs into the compression program.\n */\n treeAuthority?: Address<TAccountTreeAuthority>;\n /**\n * Creator of the tree, recorded in `TreeConfig` when the tree was\n * created.\n */\n treeCreator: TransactionSigner<TAccountTreeCreator>;\n /** New delegate authority to set for the tree. */\n newTreeDelegate: Address<TAccountNewTreeDelegate>;\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /** The Solana System program. */\n systemProgram?: Address<TAccountSystemProgram>;\n};\n\n/**\n * Sets a new delegate authority for a tree.\n *\n * Only the current tree creator may reassign the tree delegate, which\n * is authorized to mint into the tree and manage it on the creator's\n * behalf.\n */\nexport async function getSetTreeDelegateInstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountTreeCreator extends string,\n TAccountNewTreeDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: SetTreeDelegateAsyncInput<\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: true },\n treeCreator: { value: input.treeCreator ?? null, isWritable: false },\n newTreeDelegate: {\n value: input.newTreeDelegate ?? null,\n isWritable: false,\n },\n merkleTree: { value: input.merkleTree ?? null, isWritable: false },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Resolve default values.\n if (!accounts.treeAuthority.value) {\n accounts.treeAuthority.value = await findTreeConfigPda({\n merkleTree: getAddressFromResolvedInstructionAccount(\n \"merkleTree\",\n accounts.merkleTree.value,\n ),\n });\n }\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"treeCreator\", accounts.treeCreator),\n getAccountMeta(\"newTreeDelegate\", accounts.newTreeDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getSetTreeDelegateInstructionDataEncoder().encode({}),\n programAddress,\n } as SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >);\n}\n\nexport type SetTreeDelegateInput<\n TAccountTreeAuthority extends string = string,\n TAccountTreeCreator extends string = string,\n TAccountNewTreeDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountSystemProgram extends string = string,\n> = {\n /**\n * The tree's `TreeConfig` PDA, which stores its configuration and acts\n * as the tree's authority for CPIs into the compression program.\n */\n treeAuthority: Address<TAccountTreeAuthority>;\n /**\n * Creator of the tree, recorded in `TreeConfig` when the tree was\n * created.\n */\n treeCreator: TransactionSigner<TAccountTreeCreator>;\n /** New delegate authority to set for the tree. */\n newTreeDelegate: Address<TAccountNewTreeDelegate>;\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /** The Solana System program. */\n systemProgram?: Address<TAccountSystemProgram>;\n};\n\n/**\n * Sets a new delegate authority for a tree.\n *\n * Only the current tree creator may reassign the tree delegate, which\n * is authorized to mint into the tree and manage it on the creator's\n * behalf.\n */\nexport function getSetTreeDelegateInstruction<\n TAccountTreeAuthority extends string,\n TAccountTreeCreator extends string,\n TAccountNewTreeDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: SetTreeDelegateInput<\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: true },\n treeCreator: { value: input.treeCreator ?? null, isWritable: false },\n newTreeDelegate: {\n value: input.newTreeDelegate ?? null,\n isWritable: false,\n },\n merkleTree: { value: input.merkleTree ?? null, isWritable: false },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Resolve default values.\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"treeCreator\", accounts.treeCreator),\n getAccountMeta(\"newTreeDelegate\", accounts.newTreeDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getSetTreeDelegateInstructionDataEncoder().encode({}),\n programAddress,\n } as SetTreeDelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountTreeCreator,\n TAccountNewTreeDelegate,\n TAccountMerkleTree,\n TAccountSystemProgram\n >);\n}\n\nexport type ParsedSetTreeDelegateInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],\n> = {\n programAddress: Address<TProgram>;\n accounts: {\n /**\n * The tree's `TreeConfig` PDA, which stores its configuration and acts\n * as the tree's authority for CPIs into the compression program.\n */\n treeAuthority: TAccountMetas[0];\n /**\n * Creator of the tree, recorded in `TreeConfig` when the tree was\n * created.\n */\n treeCreator: TAccountMetas[1];\n /** New delegate authority to set for the tree. */\n newTreeDelegate: TAccountMetas[2];\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: TAccountMetas[3];\n /** The Solana System program. */\n systemProgram: TAccountMetas[4];\n };\n data: SetTreeDelegateInstructionData;\n};\n\nexport function parseSetTreeDelegateInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedSetTreeDelegateInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 5) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 5,\n },\n );\n }\n let accountIndex = 0;\n const getNextAccount = () => {\n const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;\n accountIndex += 1;\n return accountMeta;\n };\n return {\n programAddress: instruction.programAddress,\n accounts: {\n treeAuthority: getNextAccount(),\n treeCreator: getNextAccount(),\n newTreeDelegate: getNextAccount(),\n merkleTree: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getSetTreeDelegateInstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,43 +1,128 @@
|
|
|
1
1
|
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/bubblegum.js";
|
|
2
|
+
import "../programs/index.js";
|
|
2
3
|
import { AccountMeta, AccountSignerMeta, Address, Codec, Decoder, Encoder, Instruction, InstructionWithAccounts, InstructionWithData, Option, OptionOrNullable, ReadonlyAccount, ReadonlySignerAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount, WritableSignerAccount } from "@solana/kit";
|
|
3
|
-
|
|
4
4
|
//#region src/generated/instructions/thawAndRevokeV2.d.ts
|
|
5
5
|
declare const THAW_AND_REVOKE_V2_DISCRIMINATOR: ReadonlyUint8Array;
|
|
6
6
|
declare function getThawAndRevokeV2DiscriminatorBytes(): ReadonlyUint8Array;
|
|
7
7
|
type ThawAndRevokeV2Instruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountTreeAuthority extends string | AccountMeta<string> = string, TAccountPayer extends string | AccountMeta<string> = string, TAccountLeafDelegate extends string | AccountMeta<string> = string, TAccountLeafOwner extends string | AccountMeta<string> = string, TAccountMerkleTree extends string | AccountMeta<string> = string, TAccountLogWrapper extends string | AccountMeta<string> = "mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3", TAccountCompressionProgram extends string | AccountMeta<string> = "mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW", TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountTreeAuthority extends string ? WritableAccount<TAccountTreeAuthority> : TAccountTreeAuthority, TAccountPayer extends string ? WritableSignerAccount<TAccountPayer> & AccountSignerMeta<TAccountPayer> : TAccountPayer, TAccountLeafDelegate extends string ? ReadonlySignerAccount<TAccountLeafDelegate> & AccountSignerMeta<TAccountLeafDelegate> : TAccountLeafDelegate, TAccountLeafOwner extends string ? ReadonlyAccount<TAccountLeafOwner> : TAccountLeafOwner, TAccountMerkleTree extends string ? WritableAccount<TAccountMerkleTree> : TAccountMerkleTree, TAccountLogWrapper extends string ? ReadonlyAccount<TAccountLogWrapper> : TAccountLogWrapper, TAccountCompressionProgram extends string ? ReadonlyAccount<TAccountCompressionProgram> : TAccountCompressionProgram, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, ...TRemainingAccounts]>;
|
|
8
|
-
|
|
8
|
+
type ThawAndRevokeV2InstructionData = {
|
|
9
9
|
discriminator: ReadonlyUint8Array;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Current Merkle root of the tree, used together with the Merkle proof
|
|
12
|
+
* (passed as remaining accounts) to verify the leaf being operated on.
|
|
13
|
+
*/
|
|
14
|
+
root: Array<number>;
|
|
15
|
+
/**
|
|
16
|
+
* Keccak256 hash of the leaf's metadata, used together with `root` to
|
|
17
|
+
* verify the leaf before it is modified.
|
|
18
|
+
*/
|
|
19
|
+
dataHash: Array<number>;
|
|
20
|
+
/**
|
|
21
|
+
* Keccak256 hash of the leaf's creators array, used together with
|
|
22
|
+
* `root` to verify the leaf before it is modified.
|
|
23
|
+
*/
|
|
24
|
+
creatorHash: Array<number>;
|
|
25
|
+
/**
|
|
26
|
+
* Expected current `collectionHash` of the `LeafSchema` V2 leaf, if
|
|
27
|
+
* any, verified before this instruction updates the leaf.
|
|
28
|
+
*/
|
|
29
|
+
collectionHash: Option<Array<number>>;
|
|
30
|
+
/**
|
|
31
|
+
* Expected current `assetDataHash` of the `LeafSchema` V2 leaf, if any,
|
|
32
|
+
* carried through unchanged by this instruction.
|
|
33
|
+
*/
|
|
34
|
+
assetDataHash: Option<Array<number>>;
|
|
35
|
+
/**
|
|
36
|
+
* Expected current status flags (e.g. frozen, non-transferable) of the
|
|
37
|
+
* `LeafSchema` V2 leaf, verified before this instruction updates them.
|
|
38
|
+
*/
|
|
15
39
|
flags: Option<number>;
|
|
40
|
+
/**
|
|
41
|
+
* Tree-scoped nonce identifying the leaf, equal to the tree's
|
|
42
|
+
* `numMinted` at the time the leaf was minted. Combined with the tree
|
|
43
|
+
* address to derive the leaf's asset id.
|
|
44
|
+
*/
|
|
16
45
|
nonce: bigint;
|
|
46
|
+
/**
|
|
47
|
+
* Position of the leaf within the Merkle tree, used with the Merkle
|
|
48
|
+
* proof to locate and verify the leaf.
|
|
49
|
+
*/
|
|
17
50
|
index: number;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
51
|
+
};
|
|
52
|
+
type ThawAndRevokeV2InstructionDataArgs = {
|
|
53
|
+
/**
|
|
54
|
+
* Current Merkle root of the tree, used together with the Merkle proof
|
|
55
|
+
* (passed as remaining accounts) to verify the leaf being operated on.
|
|
56
|
+
*/
|
|
57
|
+
root: Array<number>;
|
|
58
|
+
/**
|
|
59
|
+
* Keccak256 hash of the leaf's metadata, used together with `root` to
|
|
60
|
+
* verify the leaf before it is modified.
|
|
61
|
+
*/
|
|
62
|
+
dataHash: Array<number>;
|
|
63
|
+
/**
|
|
64
|
+
* Keccak256 hash of the leaf's creators array, used together with
|
|
65
|
+
* `root` to verify the leaf before it is modified.
|
|
66
|
+
*/
|
|
67
|
+
creatorHash: Array<number>;
|
|
68
|
+
/**
|
|
69
|
+
* Expected current `collectionHash` of the `LeafSchema` V2 leaf, if
|
|
70
|
+
* any, verified before this instruction updates the leaf.
|
|
71
|
+
*/
|
|
72
|
+
collectionHash: OptionOrNullable<Array<number>>;
|
|
73
|
+
/**
|
|
74
|
+
* Expected current `assetDataHash` of the `LeafSchema` V2 leaf, if any,
|
|
75
|
+
* carried through unchanged by this instruction.
|
|
76
|
+
*/
|
|
77
|
+
assetDataHash: OptionOrNullable<Array<number>>;
|
|
78
|
+
/**
|
|
79
|
+
* Expected current status flags (e.g. frozen, non-transferable) of the
|
|
80
|
+
* `LeafSchema` V2 leaf, verified before this instruction updates them.
|
|
81
|
+
*/
|
|
25
82
|
flags: OptionOrNullable<number>;
|
|
83
|
+
/**
|
|
84
|
+
* Tree-scoped nonce identifying the leaf, equal to the tree's
|
|
85
|
+
* `numMinted` at the time the leaf was minted. Combined with the tree
|
|
86
|
+
* address to derive the leaf's asset id.
|
|
87
|
+
*/
|
|
26
88
|
nonce: number | bigint;
|
|
89
|
+
/**
|
|
90
|
+
* Position of the leaf within the Merkle tree, used with the Merkle
|
|
91
|
+
* proof to locate and verify the leaf.
|
|
92
|
+
*/
|
|
27
93
|
index: number;
|
|
28
|
-
}
|
|
94
|
+
};
|
|
29
95
|
declare function getThawAndRevokeV2InstructionDataEncoder(): Encoder<ThawAndRevokeV2InstructionDataArgs>;
|
|
30
96
|
declare function getThawAndRevokeV2InstructionDataDecoder(): Decoder<ThawAndRevokeV2InstructionData>;
|
|
31
97
|
declare function getThawAndRevokeV2InstructionDataCodec(): Codec<ThawAndRevokeV2InstructionDataArgs, ThawAndRevokeV2InstructionData>;
|
|
32
|
-
|
|
98
|
+
type ThawAndRevokeV2AsyncInput<TAccountTreeAuthority extends string = string, TAccountPayer extends string = string, TAccountLeafDelegate extends string = string, TAccountLeafOwner extends string = string, TAccountMerkleTree extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> = {
|
|
99
|
+
/**
|
|
100
|
+
* The tree's `TreeConfig` PDA, which stores its configuration and acts
|
|
101
|
+
* as the tree's authority for CPIs into the compression program.
|
|
102
|
+
*/
|
|
33
103
|
treeAuthority?: Address<TAccountTreeAuthority>;
|
|
104
|
+
/** Account that pays for the transaction and any account rent. */
|
|
34
105
|
payer: TransactionSigner<TAccountPayer>;
|
|
35
|
-
/** Optional leaf delegate, defaults to `payer
|
|
106
|
+
/** Optional leaf delegate, defaults to `payer`. */
|
|
36
107
|
leafDelegate?: TransactionSigner<TAccountLeafDelegate>;
|
|
108
|
+
/** Owner of the compressed NFT leaf being operated on. */
|
|
37
109
|
leafOwner: Address<TAccountLeafOwner>;
|
|
110
|
+
/**
|
|
111
|
+
* The concurrent Merkle tree account storing the compressed leaves,
|
|
112
|
+
* owned by the account compression program.
|
|
113
|
+
*/
|
|
38
114
|
merkleTree: Address<TAccountMerkleTree>;
|
|
115
|
+
/**
|
|
116
|
+
* The SPL/MPL Noop program, used to log leaf data so off-chain indexers
|
|
117
|
+
* can reconstruct the tree.
|
|
118
|
+
*/
|
|
39
119
|
logWrapper?: Address<TAccountLogWrapper>;
|
|
120
|
+
/**
|
|
121
|
+
* The SPL/MPL Account Compression program that owns and manages the
|
|
122
|
+
* Merkle tree.
|
|
123
|
+
*/
|
|
40
124
|
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
125
|
+
/** The Solana System program. */
|
|
41
126
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
42
127
|
root: ThawAndRevokeV2InstructionDataArgs["root"];
|
|
43
128
|
dataHash: ThawAndRevokeV2InstructionDataArgs["dataHash"];
|
|
@@ -47,19 +132,43 @@ interface ThawAndRevokeV2AsyncInput<TAccountTreeAuthority extends string = strin
|
|
|
47
132
|
flags: ThawAndRevokeV2InstructionDataArgs["flags"];
|
|
48
133
|
nonce: ThawAndRevokeV2InstructionDataArgs["nonce"];
|
|
49
134
|
index: ThawAndRevokeV2InstructionDataArgs["index"];
|
|
50
|
-
}
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Thaws a previously frozen `LeafSchema` V2 leaf node and revokes its
|
|
138
|
+
* delegate (resetting the delegate back to the leaf owner) in a single
|
|
139
|
+
* instruction.
|
|
140
|
+
*/
|
|
51
141
|
declare function getThawAndRevokeV2InstructionAsync<TAccountTreeAuthority extends string, TAccountPayer extends string, TAccountLeafDelegate extends string, TAccountLeafOwner extends string, TAccountMerkleTree extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: ThawAndRevokeV2AsyncInput<TAccountTreeAuthority, TAccountPayer, TAccountLeafDelegate, TAccountLeafOwner, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>, config?: {
|
|
52
142
|
programAddress?: TProgramAddress;
|
|
53
143
|
}): Promise<ThawAndRevokeV2Instruction<TProgramAddress, TAccountTreeAuthority, TAccountPayer, TAccountLeafDelegate, TAccountLeafOwner, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>>;
|
|
54
|
-
|
|
144
|
+
type ThawAndRevokeV2Input<TAccountTreeAuthority extends string = string, TAccountPayer extends string = string, TAccountLeafDelegate extends string = string, TAccountLeafOwner extends string = string, TAccountMerkleTree extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> = {
|
|
145
|
+
/**
|
|
146
|
+
* The tree's `TreeConfig` PDA, which stores its configuration and acts
|
|
147
|
+
* as the tree's authority for CPIs into the compression program.
|
|
148
|
+
*/
|
|
55
149
|
treeAuthority: Address<TAccountTreeAuthority>;
|
|
150
|
+
/** Account that pays for the transaction and any account rent. */
|
|
56
151
|
payer: TransactionSigner<TAccountPayer>;
|
|
57
|
-
/** Optional leaf delegate, defaults to `payer
|
|
152
|
+
/** Optional leaf delegate, defaults to `payer`. */
|
|
58
153
|
leafDelegate?: TransactionSigner<TAccountLeafDelegate>;
|
|
154
|
+
/** Owner of the compressed NFT leaf being operated on. */
|
|
59
155
|
leafOwner: Address<TAccountLeafOwner>;
|
|
156
|
+
/**
|
|
157
|
+
* The concurrent Merkle tree account storing the compressed leaves,
|
|
158
|
+
* owned by the account compression program.
|
|
159
|
+
*/
|
|
60
160
|
merkleTree: Address<TAccountMerkleTree>;
|
|
161
|
+
/**
|
|
162
|
+
* The SPL/MPL Noop program, used to log leaf data so off-chain indexers
|
|
163
|
+
* can reconstruct the tree.
|
|
164
|
+
*/
|
|
61
165
|
logWrapper?: Address<TAccountLogWrapper>;
|
|
166
|
+
/**
|
|
167
|
+
* The SPL/MPL Account Compression program that owns and manages the
|
|
168
|
+
* Merkle tree.
|
|
169
|
+
*/
|
|
62
170
|
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
171
|
+
/** The Solana System program. */
|
|
63
172
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
64
173
|
root: ThawAndRevokeV2InstructionDataArgs["root"];
|
|
65
174
|
dataHash: ThawAndRevokeV2InstructionDataArgs["dataHash"];
|
|
@@ -69,24 +178,49 @@ interface ThawAndRevokeV2Input<TAccountTreeAuthority extends string = string, TA
|
|
|
69
178
|
flags: ThawAndRevokeV2InstructionDataArgs["flags"];
|
|
70
179
|
nonce: ThawAndRevokeV2InstructionDataArgs["nonce"];
|
|
71
180
|
index: ThawAndRevokeV2InstructionDataArgs["index"];
|
|
72
|
-
}
|
|
181
|
+
};
|
|
182
|
+
/**
|
|
183
|
+
* Thaws a previously frozen `LeafSchema` V2 leaf node and revokes its
|
|
184
|
+
* delegate (resetting the delegate back to the leaf owner) in a single
|
|
185
|
+
* instruction.
|
|
186
|
+
*/
|
|
73
187
|
declare function getThawAndRevokeV2Instruction<TAccountTreeAuthority extends string, TAccountPayer extends string, TAccountLeafDelegate extends string, TAccountLeafOwner extends string, TAccountMerkleTree extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: ThawAndRevokeV2Input<TAccountTreeAuthority, TAccountPayer, TAccountLeafDelegate, TAccountLeafOwner, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>, config?: {
|
|
74
188
|
programAddress?: TProgramAddress;
|
|
75
189
|
}): ThawAndRevokeV2Instruction<TProgramAddress, TAccountTreeAuthority, TAccountPayer, TAccountLeafDelegate, TAccountLeafOwner, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>;
|
|
76
|
-
|
|
190
|
+
type ParsedThawAndRevokeV2Instruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
|
|
77
191
|
programAddress: Address<TProgram>;
|
|
78
192
|
accounts: {
|
|
193
|
+
/**
|
|
194
|
+
* The tree's `TreeConfig` PDA, which stores its configuration and acts
|
|
195
|
+
* as the tree's authority for CPIs into the compression program.
|
|
196
|
+
*/
|
|
79
197
|
treeAuthority: TAccountMetas[0];
|
|
80
|
-
|
|
198
|
+
/** Account that pays for the transaction and any account rent. */
|
|
199
|
+
payer: TAccountMetas[1];
|
|
200
|
+
/** Optional leaf delegate, defaults to `payer`. */
|
|
81
201
|
leafDelegate?: TAccountMetas[2] | undefined;
|
|
202
|
+
/** Owner of the compressed NFT leaf being operated on. */
|
|
82
203
|
leafOwner: TAccountMetas[3];
|
|
204
|
+
/**
|
|
205
|
+
* The concurrent Merkle tree account storing the compressed leaves,
|
|
206
|
+
* owned by the account compression program.
|
|
207
|
+
*/
|
|
83
208
|
merkleTree: TAccountMetas[4];
|
|
209
|
+
/**
|
|
210
|
+
* The SPL/MPL Noop program, used to log leaf data so off-chain indexers
|
|
211
|
+
* can reconstruct the tree.
|
|
212
|
+
*/
|
|
84
213
|
logWrapper: TAccountMetas[5];
|
|
214
|
+
/**
|
|
215
|
+
* The SPL/MPL Account Compression program that owns and manages the
|
|
216
|
+
* Merkle tree.
|
|
217
|
+
*/
|
|
85
218
|
compressionProgram: TAccountMetas[6];
|
|
219
|
+
/** The Solana System program. */
|
|
86
220
|
systemProgram: TAccountMetas[7];
|
|
87
221
|
};
|
|
88
222
|
data: ThawAndRevokeV2InstructionData;
|
|
89
|
-
}
|
|
223
|
+
};
|
|
90
224
|
declare function parseThawAndRevokeV2Instruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedThawAndRevokeV2Instruction<TProgram, TAccountMetas>;
|
|
91
225
|
//#endregion
|
|
92
226
|
export { ParsedThawAndRevokeV2Instruction, THAW_AND_REVOKE_V2_DISCRIMINATOR, ThawAndRevokeV2AsyncInput, ThawAndRevokeV2Input, ThawAndRevokeV2Instruction, ThawAndRevokeV2InstructionData, ThawAndRevokeV2InstructionDataArgs, getThawAndRevokeV2DiscriminatorBytes, getThawAndRevokeV2Instruction, getThawAndRevokeV2InstructionAsync, getThawAndRevokeV2InstructionDataCodec, getThawAndRevokeV2InstructionDataDecoder, getThawAndRevokeV2InstructionDataEncoder, parseThawAndRevokeV2Instruction };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thawAndRevokeV2.d.ts","names":[],"sources":["../../../src/generated/instructions/thawAndRevokeV2.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"thawAndRevokeV2.d.ts","names":[],"sources":["../../../src/generated/instructions/thawAndRevokeV2.ts"],"mappings":"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"}
|
|
@@ -3,6 +3,13 @@ import "../programs/bubblegum.js";
|
|
|
3
3
|
import { SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, combineCodec, fixDecoderSize, fixEncoderSize, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getOptionDecoder, getOptionEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, transformEncoder } from "@solana/kit";
|
|
4
4
|
import { getAccountMetaFactory, getAddressFromResolvedInstructionAccount } from "@solana/program-client-core";
|
|
5
5
|
//#region src/generated/instructions/thawAndRevokeV2.ts
|
|
6
|
+
/**
|
|
7
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
8
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
9
|
+
* to add features, then rerun Codama to update it.
|
|
10
|
+
*
|
|
11
|
+
* @see https://github.com/codama-idl/codama
|
|
12
|
+
*/
|
|
6
13
|
const THAW_AND_REVOKE_V2_DISCRIMINATOR = new Uint8Array([
|
|
7
14
|
86,
|
|
8
15
|
214,
|
|
@@ -48,6 +55,11 @@ function getThawAndRevokeV2InstructionDataDecoder() {
|
|
|
48
55
|
function getThawAndRevokeV2InstructionDataCodec() {
|
|
49
56
|
return combineCodec(getThawAndRevokeV2InstructionDataEncoder(), getThawAndRevokeV2InstructionDataDecoder());
|
|
50
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Thaws a previously frozen `LeafSchema` V2 leaf node and revokes its
|
|
60
|
+
* delegate (resetting the delegate back to the leaf owner) in a single
|
|
61
|
+
* instruction.
|
|
62
|
+
*/
|
|
51
63
|
async function getThawAndRevokeV2InstructionAsync(input, config) {
|
|
52
64
|
const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
|
|
53
65
|
const accounts = {
|
|
@@ -105,6 +117,11 @@ async function getThawAndRevokeV2InstructionAsync(input, config) {
|
|
|
105
117
|
programAddress
|
|
106
118
|
});
|
|
107
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Thaws a previously frozen `LeafSchema` V2 leaf node and revokes its
|
|
122
|
+
* delegate (resetting the delegate back to the leaf owner) in a single
|
|
123
|
+
* instruction.
|
|
124
|
+
*/
|
|
108
125
|
function getThawAndRevokeV2Instruction(input, config) {
|
|
109
126
|
const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
|
|
110
127
|
const accounts = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thawAndRevokeV2.js","names":[],"sources":["../../../src/generated/instructions/thawAndRevokeV2.ts"],"sourcesContent":["/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport type {\n AccountMeta,\n AccountSignerMeta,\n Address,\n Codec,\n Decoder,\n Encoder,\n Instruction,\n InstructionWithAccounts,\n InstructionWithData,\n Option,\n OptionOrNullable,\n ReadonlyAccount,\n ReadonlySignerAccount,\n ReadonlyUint8Array,\n TransactionSigner,\n WritableAccount,\n WritableSignerAccount,\n} from \"@solana/kit\";\nimport type { ResolvedInstructionAccount } from \"@solana/program-client-core\";\nimport {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n SolanaError,\n transformEncoder,\n} from \"@solana/kit\";\nimport {\n getAccountMetaFactory,\n getAddressFromResolvedInstructionAccount,\n} from \"@solana/program-client-core\";\nimport { findTreeConfigPda } from \"../pdas/index.js\";\nimport { BUBBLEGUM_PROGRAM_ADDRESS } from \"../programs/index.js\";\n\nexport const THAW_AND_REVOKE_V2_DISCRIMINATOR: ReadonlyUint8Array =\n new Uint8Array([86, 214, 190, 37, 167, 4, 28, 116]);\n\nexport function getThawAndRevokeV2DiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n THAW_AND_REVOKE_V2_DISCRIMINATOR,\n );\n}\n\nexport type ThawAndRevokeV2Instruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountLeafDelegate extends string | AccountMeta<string> = string,\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountLogWrapper extends string | AccountMeta<string> =\n \"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\",\n TAccountCompressionProgram extends string | AccountMeta<string> =\n \"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\",\n TAccountSystemProgram extends string | AccountMeta<string> =\n \"11111111111111111111111111111111\",\n TRemainingAccounts extends readonly AccountMeta<string>[] = [],\n> = Instruction<TProgram> &\n InstructionWithData<ReadonlyUint8Array> &\n InstructionWithAccounts<\n [\n TAccountTreeAuthority extends string\n ? WritableAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountPayer extends string\n ? WritableSignerAccount<TAccountPayer> &\n AccountSignerMeta<TAccountPayer>\n : TAccountPayer,\n TAccountLeafDelegate extends string\n ? ReadonlySignerAccount<TAccountLeafDelegate> &\n AccountSignerMeta<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountLeafOwner extends string\n ? ReadonlyAccount<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountLogWrapper extends string\n ? ReadonlyAccount<TAccountLogWrapper>\n : TAccountLogWrapper,\n TAccountCompressionProgram extends string\n ? ReadonlyAccount<TAccountCompressionProgram>\n : TAccountCompressionProgram,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport interface ThawAndRevokeV2InstructionData {\n discriminator: ReadonlyUint8Array;\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n collectionHash: Option<number[]>;\n assetDataHash: Option<number[]>;\n flags: Option<number>;\n nonce: bigint;\n index: number;\n}\n\nexport interface ThawAndRevokeV2InstructionDataArgs {\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n collectionHash: OptionOrNullable<number[]>;\n assetDataHash: OptionOrNullable<number[]>;\n flags: OptionOrNullable<number>;\n nonce: number | bigint;\n index: number;\n}\n\nexport function getThawAndRevokeV2InstructionDataEncoder(): Encoder<ThawAndRevokeV2InstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"root\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"dataHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"creatorHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\n \"collectionHash\",\n getOptionEncoder(getArrayEncoder(getU8Encoder(), { size: 32 })),\n ],\n [\n \"assetDataHash\",\n getOptionEncoder(getArrayEncoder(getU8Encoder(), { size: 32 })),\n ],\n [\"flags\", getOptionEncoder(getU8Encoder())],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n ]),\n (value) => ({ ...value, discriminator: THAW_AND_REVOKE_V2_DISCRIMINATOR }),\n );\n}\n\nexport function getThawAndRevokeV2InstructionDataDecoder(): Decoder<ThawAndRevokeV2InstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"root\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"dataHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"creatorHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\n \"collectionHash\",\n getOptionDecoder(getArrayDecoder(getU8Decoder(), { size: 32 })),\n ],\n [\n \"assetDataHash\",\n getOptionDecoder(getArrayDecoder(getU8Decoder(), { size: 32 })),\n ],\n [\"flags\", getOptionDecoder(getU8Decoder())],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n ]);\n}\n\nexport function getThawAndRevokeV2InstructionDataCodec(): Codec<\n ThawAndRevokeV2InstructionDataArgs,\n ThawAndRevokeV2InstructionData\n> {\n return combineCodec(\n getThawAndRevokeV2InstructionDataEncoder(),\n getThawAndRevokeV2InstructionDataDecoder(),\n );\n}\n\nexport interface ThawAndRevokeV2AsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority?: Address<TAccountTreeAuthority>;\n payer: TransactionSigner<TAccountPayer>;\n /** Optional leaf delegate, defaults to `payer` */\n leafDelegate?: TransactionSigner<TAccountLeafDelegate>;\n leafOwner: Address<TAccountLeafOwner>;\n merkleTree: Address<TAccountMerkleTree>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: ThawAndRevokeV2InstructionDataArgs[\"root\"];\n dataHash: ThawAndRevokeV2InstructionDataArgs[\"dataHash\"];\n creatorHash: ThawAndRevokeV2InstructionDataArgs[\"creatorHash\"];\n collectionHash: ThawAndRevokeV2InstructionDataArgs[\"collectionHash\"];\n assetDataHash: ThawAndRevokeV2InstructionDataArgs[\"assetDataHash\"];\n flags: ThawAndRevokeV2InstructionDataArgs[\"flags\"];\n nonce: ThawAndRevokeV2InstructionDataArgs[\"nonce\"];\n index: ThawAndRevokeV2InstructionDataArgs[\"index\"];\n}\n\nexport async function getThawAndRevokeV2InstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountLeafDelegate extends string,\n TAccountLeafOwner extends string,\n TAccountMerkleTree extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: ThawAndRevokeV2AsyncInput<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: true },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Original args.\n const args = { ...input };\n\n // Resolve default values.\n if (!accounts.treeAuthority.value) {\n accounts.treeAuthority.value = await findTreeConfigPda({\n merkleTree: getAddressFromResolvedInstructionAccount(\n \"merkleTree\",\n accounts.merkleTree.value,\n ),\n });\n }\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\" as Address<\"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\" as Address<\"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\">;\n }\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getThawAndRevokeV2InstructionDataEncoder().encode(\n args as ThawAndRevokeV2InstructionDataArgs,\n ),\n programAddress,\n } as ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface ThawAndRevokeV2Input<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority: Address<TAccountTreeAuthority>;\n payer: TransactionSigner<TAccountPayer>;\n /** Optional leaf delegate, defaults to `payer` */\n leafDelegate?: TransactionSigner<TAccountLeafDelegate>;\n leafOwner: Address<TAccountLeafOwner>;\n merkleTree: Address<TAccountMerkleTree>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: ThawAndRevokeV2InstructionDataArgs[\"root\"];\n dataHash: ThawAndRevokeV2InstructionDataArgs[\"dataHash\"];\n creatorHash: ThawAndRevokeV2InstructionDataArgs[\"creatorHash\"];\n collectionHash: ThawAndRevokeV2InstructionDataArgs[\"collectionHash\"];\n assetDataHash: ThawAndRevokeV2InstructionDataArgs[\"assetDataHash\"];\n flags: ThawAndRevokeV2InstructionDataArgs[\"flags\"];\n nonce: ThawAndRevokeV2InstructionDataArgs[\"nonce\"];\n index: ThawAndRevokeV2InstructionDataArgs[\"index\"];\n}\n\nexport function getThawAndRevokeV2Instruction<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountLeafDelegate extends string,\n TAccountLeafOwner extends string,\n TAccountMerkleTree extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: ThawAndRevokeV2Input<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: true },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Original args.\n const args = { ...input };\n\n // Resolve default values.\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\" as Address<\"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\" as Address<\"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\">;\n }\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getThawAndRevokeV2InstructionDataEncoder().encode(\n args as ThawAndRevokeV2InstructionDataArgs,\n ),\n programAddress,\n } as ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface ParsedThawAndRevokeV2Instruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],\n> {\n programAddress: Address<TProgram>;\n accounts: {\n treeAuthority: TAccountMetas[0];\n payer: TAccountMetas[1];\n /** Optional leaf delegate, defaults to `payer` */\n leafDelegate?: TAccountMetas[2] | undefined;\n leafOwner: TAccountMetas[3];\n merkleTree: TAccountMetas[4];\n logWrapper: TAccountMetas[5];\n compressionProgram: TAccountMetas[6];\n systemProgram: TAccountMetas[7];\n };\n data: ThawAndRevokeV2InstructionData;\n}\n\nexport function parseThawAndRevokeV2Instruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedThawAndRevokeV2Instruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 8) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 8,\n },\n );\n }\n let accountIndex = 0;\n const getNextAccount = () => {\n const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;\n accountIndex += 1;\n return accountMeta;\n };\n const getNextOptionalAccount = () => {\n const accountMeta = getNextAccount();\n return accountMeta.address === BUBBLEGUM_PROGRAM_ADDRESS\n ? undefined\n : accountMeta;\n };\n return {\n programAddress: instruction.programAddress,\n accounts: {\n treeAuthority: getNextAccount(),\n payer: getNextAccount(),\n leafDelegate: getNextOptionalAccount(),\n leafOwner: getNextAccount(),\n merkleTree: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getThawAndRevokeV2InstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":";;;;;AAyDA,MAAa,mCACX,IAAI,WAAW;CAAC;CAAI;CAAK;CAAK;CAAI;CAAK;CAAG;CAAI;AAAG,CAAC;AAEpD,SAAgB,uCAA2D;CACzE,OAAO,eAAe,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAC1C,gCACF;AACF;AAyEA,SAAgB,2CAAwF;CACtG,OAAO,iBACL,iBAAiB;EACf,CAAC,iBAAiB,eAAe,gBAAgB,GAAG,CAAC,CAAC;EACtD,CAAC,QAAQ,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;EACtD,CAAC,YAAY,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;EAC1D,CAAC,eAAe,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;EAC7D,CACE,kBACA,iBAAiB,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,CAChE;EACA,CACE,iBACA,iBAAiB,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,CAChE;EACA,CAAC,SAAS,iBAAiB,aAAa,CAAC,CAAC;EAC1C,CAAC,SAAS,cAAc,CAAC;EACzB,CAAC,SAAS,cAAc,CAAC;CAC3B,CAAC,IACA,WAAW;EAAE,GAAG;EAAO,eAAe;CAAiC,EAC1E;AACF;AAEA,SAAgB,2CAAoF;CAClG,OAAO,iBAAiB;EACtB,CAAC,iBAAiB,eAAe,gBAAgB,GAAG,CAAC,CAAC;EACtD,CAAC,QAAQ,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;EACtD,CAAC,YAAY,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;EAC1D,CAAC,eAAe,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;EAC7D,CACE,kBACA,iBAAiB,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,CAChE;EACA,CACE,iBACA,iBAAiB,gBAAgB,aAAa,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,CAChE;EACA,CAAC,SAAS,iBAAiB,aAAa,CAAC,CAAC;EAC1C,CAAC,SAAS,cAAc,CAAC;EACzB,CAAC,SAAS,cAAc,CAAC;CAC3B,CAAC;AACH;AAEA,SAAgB,yCAGd;CACA,OAAO,aACL,yCAAyC,GACzC,yCAAyC,CAC3C;AACF;AA+BA,eAAsB,mCAWpB,OAUA,QAaA;CAEA,MAAM,iBAAiB,QAAQ,kBAAA;CAgB/B,MAAM,WAAW;EAZf,eAAe;GAAE,OAAO,MAAM,iBAAiB;GAAM,YAAY;EAAK;EACtE,OAAO;GAAE,OAAO,MAAM,SAAS;GAAM,YAAY;EAAK;EACtD,cAAc;GAAE,OAAO,MAAM,gBAAgB;GAAM,YAAY;EAAM;EACrE,WAAW;GAAE,OAAO,MAAM,aAAa;GAAM,YAAY;EAAM;EAC/D,YAAY;GAAE,OAAO,MAAM,cAAc;GAAM,YAAY;EAAK;EAChE,YAAY;GAAE,OAAO,MAAM,cAAc;GAAM,YAAY;EAAM;EACjE,oBAAoB;GAClB,OAAO,MAAM,sBAAsB;GACnC,YAAY;EACd;EACA,eAAe;GAAE,OAAO,MAAM,iBAAiB;GAAM,YAAY;EAAM;CAEzC;CAMhC,MAAM,OAAO,EAAE,GAAG,MAAM;CAGxB,IAAI,CAAC,SAAS,cAAc,OAC1B,SAAS,cAAc,QAAQ,MAAM,kBAAkB,EACrD,YAAY,yCACV,cACA,SAAS,WAAW,KACtB,EACF,CAAC;CAEH,IAAI,CAAC,SAAS,WAAW,OACvB,SAAS,WAAW,QAClB;CAEJ,IAAI,CAAC,SAAS,mBAAmB,OAC/B,SAAS,mBAAmB,QAC1B;CAEJ,IAAI,CAAC,SAAS,cAAc,OAC1B,SAAS,cAAc,QACrB;CAGJ,MAAM,iBAAiB,sBAAsB,gBAAgB,WAAW;CACxE,OAAO,OAAO,OAAO;EACnB,UAAU;GACR,eAAe,iBAAiB,SAAS,aAAa;GACtD,eAAe,SAAS,SAAS,KAAK;GACtC,eAAe,gBAAgB,SAAS,YAAY;GACpD,eAAe,aAAa,SAAS,SAAS;GAC9C,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,sBAAsB,SAAS,kBAAkB;GAChE,eAAe,iBAAiB,SAAS,aAAa;EACxD;EACA,MAAM,yCAAyC,CAAC,CAAC,OAC/C,IACF;EACA;CACF,CAUC;AACH;AA+BA,SAAgB,8BAWd,OAUA,QAWA;CAEA,MAAM,iBAAiB,QAAQ,kBAAA;CAgB/B,MAAM,WAAW;EAZf,eAAe;GAAE,OAAO,MAAM,iBAAiB;GAAM,YAAY;EAAK;EACtE,OAAO;GAAE,OAAO,MAAM,SAAS;GAAM,YAAY;EAAK;EACtD,cAAc;GAAE,OAAO,MAAM,gBAAgB;GAAM,YAAY;EAAM;EACrE,WAAW;GAAE,OAAO,MAAM,aAAa;GAAM,YAAY;EAAM;EAC/D,YAAY;GAAE,OAAO,MAAM,cAAc;GAAM,YAAY;EAAK;EAChE,YAAY;GAAE,OAAO,MAAM,cAAc;GAAM,YAAY;EAAM;EACjE,oBAAoB;GAClB,OAAO,MAAM,sBAAsB;GACnC,YAAY;EACd;EACA,eAAe;GAAE,OAAO,MAAM,iBAAiB;GAAM,YAAY;EAAM;CAEzC;CAMhC,MAAM,OAAO,EAAE,GAAG,MAAM;CAGxB,IAAI,CAAC,SAAS,WAAW,OACvB,SAAS,WAAW,QAClB;CAEJ,IAAI,CAAC,SAAS,mBAAmB,OAC/B,SAAS,mBAAmB,QAC1B;CAEJ,IAAI,CAAC,SAAS,cAAc,OAC1B,SAAS,cAAc,QACrB;CAGJ,MAAM,iBAAiB,sBAAsB,gBAAgB,WAAW;CACxE,OAAO,OAAO,OAAO;EACnB,UAAU;GACR,eAAe,iBAAiB,SAAS,aAAa;GACtD,eAAe,SAAS,SAAS,KAAK;GACtC,eAAe,gBAAgB,SAAS,YAAY;GACpD,eAAe,aAAa,SAAS,SAAS;GAC9C,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,sBAAsB,SAAS,kBAAkB;GAChE,eAAe,iBAAiB,SAAS,aAAa;EACxD;EACA,MAAM,yCAAyC,CAAC,CAAC,OAC/C,IACF;EACA;CACF,CAUC;AACH;AAqBA,SAAgB,gCAId,aAG2D;CAC3D,IAAI,YAAY,SAAS,SAAS,GAChC,MAAM,IAAI,YACR,2DACA;EACE,oBAAoB,YAAY,SAAS;EACzC,sBAAsB;CACxB,CACF;CAEF,IAAI,eAAe;CACnB,MAAM,uBAAuB;EAC3B,MAAM,cAAe,YAAY,SAA2B;EAC5D,gBAAgB;EAChB,OAAO;CACT;CACA,MAAM,+BAA+B;EACnC,MAAM,cAAc,eAAe;EACnC,OAAO,YAAY,YAAA,iDACf,KAAA,IACA;CACN;CACA,OAAO;EACL,gBAAgB,YAAY;EAC5B,UAAU;GACR,eAAe,eAAe;GAC9B,OAAO,eAAe;GACtB,cAAc,uBAAuB;GACrC,WAAW,eAAe;GAC1B,YAAY,eAAe;GAC3B,YAAY,eAAe;GAC3B,oBAAoB,eAAe;GACnC,eAAe,eAAe;EAChC;EACA,MAAM,yCAAyC,CAAC,CAAC,OAAO,YAAY,IAAI;CAC1E;AACF"}
|
|
1
|
+
{"version":3,"file":"thawAndRevokeV2.js","names":[],"sources":["../../../src/generated/instructions/thawAndRevokeV2.ts"],"sourcesContent":["/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n SolanaError,\n transformEncoder,\n type AccountMeta,\n type AccountSignerMeta,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type Instruction,\n type InstructionWithAccounts,\n type InstructionWithData,\n type Option,\n type OptionOrNullable,\n type ReadonlyAccount,\n type ReadonlySignerAccount,\n type ReadonlyUint8Array,\n type TransactionSigner,\n type WritableAccount,\n type WritableSignerAccount,\n} from \"@solana/kit\";\nimport {\n getAccountMetaFactory,\n getAddressFromResolvedInstructionAccount,\n type ResolvedInstructionAccount,\n} from \"@solana/program-client-core\";\nimport { findTreeConfigPda } from \"../pdas/index.js\";\nimport { BUBBLEGUM_PROGRAM_ADDRESS } from \"../programs/index.js\";\n\nexport const THAW_AND_REVOKE_V2_DISCRIMINATOR: ReadonlyUint8Array =\n new Uint8Array([86, 214, 190, 37, 167, 4, 28, 116]);\n\nexport function getThawAndRevokeV2DiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n THAW_AND_REVOKE_V2_DISCRIMINATOR,\n );\n}\n\nexport type ThawAndRevokeV2Instruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountLeafDelegate extends string | AccountMeta<string> = string,\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountLogWrapper extends string | AccountMeta<string> =\n \"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\",\n TAccountCompressionProgram extends string | AccountMeta<string> =\n \"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\",\n TAccountSystemProgram extends string | AccountMeta<string> =\n \"11111111111111111111111111111111\",\n TRemainingAccounts extends readonly AccountMeta<string>[] = [],\n> = Instruction<TProgram> &\n InstructionWithData<ReadonlyUint8Array> &\n InstructionWithAccounts<\n [\n TAccountTreeAuthority extends string\n ? WritableAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountPayer extends string\n ? WritableSignerAccount<TAccountPayer> &\n AccountSignerMeta<TAccountPayer>\n : TAccountPayer,\n TAccountLeafDelegate extends string\n ? ReadonlySignerAccount<TAccountLeafDelegate> &\n AccountSignerMeta<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountLeafOwner extends string\n ? ReadonlyAccount<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountLogWrapper extends string\n ? ReadonlyAccount<TAccountLogWrapper>\n : TAccountLogWrapper,\n TAccountCompressionProgram extends string\n ? ReadonlyAccount<TAccountCompressionProgram>\n : TAccountCompressionProgram,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport type ThawAndRevokeV2InstructionData = {\n discriminator: ReadonlyUint8Array;\n /**\n * Current Merkle root of the tree, used together with the Merkle proof\n * (passed as remaining accounts) to verify the leaf being operated on.\n */\n root: Array<number>;\n /**\n * Keccak256 hash of the leaf's metadata, used together with `root` to\n * verify the leaf before it is modified.\n */\n dataHash: Array<number>;\n /**\n * Keccak256 hash of the leaf's creators array, used together with\n * `root` to verify the leaf before it is modified.\n */\n creatorHash: Array<number>;\n /**\n * Expected current `collectionHash` of the `LeafSchema` V2 leaf, if\n * any, verified before this instruction updates the leaf.\n */\n collectionHash: Option<Array<number>>;\n /**\n * Expected current `assetDataHash` of the `LeafSchema` V2 leaf, if any,\n * carried through unchanged by this instruction.\n */\n assetDataHash: Option<Array<number>>;\n /**\n * Expected current status flags (e.g. frozen, non-transferable) of the\n * `LeafSchema` V2 leaf, verified before this instruction updates them.\n */\n flags: Option<number>;\n /**\n * Tree-scoped nonce identifying the leaf, equal to the tree's\n * `numMinted` at the time the leaf was minted. Combined with the tree\n * address to derive the leaf's asset id.\n */\n nonce: bigint;\n /**\n * Position of the leaf within the Merkle tree, used with the Merkle\n * proof to locate and verify the leaf.\n */\n index: number;\n};\n\nexport type ThawAndRevokeV2InstructionDataArgs = {\n /**\n * Current Merkle root of the tree, used together with the Merkle proof\n * (passed as remaining accounts) to verify the leaf being operated on.\n */\n root: Array<number>;\n /**\n * Keccak256 hash of the leaf's metadata, used together with `root` to\n * verify the leaf before it is modified.\n */\n dataHash: Array<number>;\n /**\n * Keccak256 hash of the leaf's creators array, used together with\n * `root` to verify the leaf before it is modified.\n */\n creatorHash: Array<number>;\n /**\n * Expected current `collectionHash` of the `LeafSchema` V2 leaf, if\n * any, verified before this instruction updates the leaf.\n */\n collectionHash: OptionOrNullable<Array<number>>;\n /**\n * Expected current `assetDataHash` of the `LeafSchema` V2 leaf, if any,\n * carried through unchanged by this instruction.\n */\n assetDataHash: OptionOrNullable<Array<number>>;\n /**\n * Expected current status flags (e.g. frozen, non-transferable) of the\n * `LeafSchema` V2 leaf, verified before this instruction updates them.\n */\n flags: OptionOrNullable<number>;\n /**\n * Tree-scoped nonce identifying the leaf, equal to the tree's\n * `numMinted` at the time the leaf was minted. Combined with the tree\n * address to derive the leaf's asset id.\n */\n nonce: number | bigint;\n /**\n * Position of the leaf within the Merkle tree, used with the Merkle\n * proof to locate and verify the leaf.\n */\n index: number;\n};\n\nexport function getThawAndRevokeV2InstructionDataEncoder(): Encoder<ThawAndRevokeV2InstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"root\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"dataHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"creatorHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\n \"collectionHash\",\n getOptionEncoder(getArrayEncoder(getU8Encoder(), { size: 32 })),\n ],\n [\n \"assetDataHash\",\n getOptionEncoder(getArrayEncoder(getU8Encoder(), { size: 32 })),\n ],\n [\"flags\", getOptionEncoder(getU8Encoder())],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n ]),\n (value) => ({ ...value, discriminator: THAW_AND_REVOKE_V2_DISCRIMINATOR }),\n );\n}\n\nexport function getThawAndRevokeV2InstructionDataDecoder(): Decoder<ThawAndRevokeV2InstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"root\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"dataHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"creatorHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\n \"collectionHash\",\n getOptionDecoder(getArrayDecoder(getU8Decoder(), { size: 32 })),\n ],\n [\n \"assetDataHash\",\n getOptionDecoder(getArrayDecoder(getU8Decoder(), { size: 32 })),\n ],\n [\"flags\", getOptionDecoder(getU8Decoder())],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n ]);\n}\n\nexport function getThawAndRevokeV2InstructionDataCodec(): Codec<\n ThawAndRevokeV2InstructionDataArgs,\n ThawAndRevokeV2InstructionData\n> {\n return combineCodec(\n getThawAndRevokeV2InstructionDataEncoder(),\n getThawAndRevokeV2InstructionDataDecoder(),\n );\n}\n\nexport type ThawAndRevokeV2AsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> = {\n /**\n * The tree's `TreeConfig` PDA, which stores its configuration and acts\n * as the tree's authority for CPIs into the compression program.\n */\n treeAuthority?: Address<TAccountTreeAuthority>;\n /** Account that pays for the transaction and any account rent. */\n payer: TransactionSigner<TAccountPayer>;\n /** Optional leaf delegate, defaults to `payer`. */\n leafDelegate?: TransactionSigner<TAccountLeafDelegate>;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: Address<TAccountLeafOwner>;\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /**\n * The SPL/MPL Noop program, used to log leaf data so off-chain indexers\n * can reconstruct the tree.\n */\n logWrapper?: Address<TAccountLogWrapper>;\n /**\n * The SPL/MPL Account Compression program that owns and manages the\n * Merkle tree.\n */\n compressionProgram?: Address<TAccountCompressionProgram>;\n /** The Solana System program. */\n systemProgram?: Address<TAccountSystemProgram>;\n root: ThawAndRevokeV2InstructionDataArgs[\"root\"];\n dataHash: ThawAndRevokeV2InstructionDataArgs[\"dataHash\"];\n creatorHash: ThawAndRevokeV2InstructionDataArgs[\"creatorHash\"];\n collectionHash: ThawAndRevokeV2InstructionDataArgs[\"collectionHash\"];\n assetDataHash: ThawAndRevokeV2InstructionDataArgs[\"assetDataHash\"];\n flags: ThawAndRevokeV2InstructionDataArgs[\"flags\"];\n nonce: ThawAndRevokeV2InstructionDataArgs[\"nonce\"];\n index: ThawAndRevokeV2InstructionDataArgs[\"index\"];\n};\n\n/**\n * Thaws a previously frozen `LeafSchema` V2 leaf node and revokes its\n * delegate (resetting the delegate back to the leaf owner) in a single\n * instruction.\n */\nexport async function getThawAndRevokeV2InstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountLeafDelegate extends string,\n TAccountLeafOwner extends string,\n TAccountMerkleTree extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: ThawAndRevokeV2AsyncInput<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: true },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Original args.\n const args = { ...input };\n\n // Resolve default values.\n if (!accounts.treeAuthority.value) {\n accounts.treeAuthority.value = await findTreeConfigPda({\n merkleTree: getAddressFromResolvedInstructionAccount(\n \"merkleTree\",\n accounts.merkleTree.value,\n ),\n });\n }\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\" as Address<\"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\" as Address<\"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\">;\n }\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getThawAndRevokeV2InstructionDataEncoder().encode(\n args as ThawAndRevokeV2InstructionDataArgs,\n ),\n programAddress,\n } as ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport type ThawAndRevokeV2Input<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> = {\n /**\n * The tree's `TreeConfig` PDA, which stores its configuration and acts\n * as the tree's authority for CPIs into the compression program.\n */\n treeAuthority: Address<TAccountTreeAuthority>;\n /** Account that pays for the transaction and any account rent. */\n payer: TransactionSigner<TAccountPayer>;\n /** Optional leaf delegate, defaults to `payer`. */\n leafDelegate?: TransactionSigner<TAccountLeafDelegate>;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: Address<TAccountLeafOwner>;\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /**\n * The SPL/MPL Noop program, used to log leaf data so off-chain indexers\n * can reconstruct the tree.\n */\n logWrapper?: Address<TAccountLogWrapper>;\n /**\n * The SPL/MPL Account Compression program that owns and manages the\n * Merkle tree.\n */\n compressionProgram?: Address<TAccountCompressionProgram>;\n /** The Solana System program. */\n systemProgram?: Address<TAccountSystemProgram>;\n root: ThawAndRevokeV2InstructionDataArgs[\"root\"];\n dataHash: ThawAndRevokeV2InstructionDataArgs[\"dataHash\"];\n creatorHash: ThawAndRevokeV2InstructionDataArgs[\"creatorHash\"];\n collectionHash: ThawAndRevokeV2InstructionDataArgs[\"collectionHash\"];\n assetDataHash: ThawAndRevokeV2InstructionDataArgs[\"assetDataHash\"];\n flags: ThawAndRevokeV2InstructionDataArgs[\"flags\"];\n nonce: ThawAndRevokeV2InstructionDataArgs[\"nonce\"];\n index: ThawAndRevokeV2InstructionDataArgs[\"index\"];\n};\n\n/**\n * Thaws a previously frozen `LeafSchema` V2 leaf node and revokes its\n * delegate (resetting the delegate back to the leaf owner) in a single\n * instruction.\n */\nexport function getThawAndRevokeV2Instruction<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountLeafDelegate extends string,\n TAccountLeafOwner extends string,\n TAccountMerkleTree extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: ThawAndRevokeV2Input<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: true },\n payer: { value: input.payer ?? null, isWritable: true },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Original args.\n const args = { ...input };\n\n // Resolve default values.\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\" as Address<\"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\" as Address<\"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\">;\n }\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"treeAuthority\", accounts.treeAuthority),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getThawAndRevokeV2InstructionDataEncoder().encode(\n args as ThawAndRevokeV2InstructionDataArgs,\n ),\n programAddress,\n } as ThawAndRevokeV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountLeafDelegate,\n TAccountLeafOwner,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport type ParsedThawAndRevokeV2Instruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],\n> = {\n programAddress: Address<TProgram>;\n accounts: {\n /**\n * The tree's `TreeConfig` PDA, which stores its configuration and acts\n * as the tree's authority for CPIs into the compression program.\n */\n treeAuthority: TAccountMetas[0];\n /** Account that pays for the transaction and any account rent. */\n payer: TAccountMetas[1];\n /** Optional leaf delegate, defaults to `payer`. */\n leafDelegate?: TAccountMetas[2] | undefined;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: TAccountMetas[3];\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: TAccountMetas[4];\n /**\n * The SPL/MPL Noop program, used to log leaf data so off-chain indexers\n * can reconstruct the tree.\n */\n logWrapper: TAccountMetas[5];\n /**\n * The SPL/MPL Account Compression program that owns and manages the\n * Merkle tree.\n */\n compressionProgram: TAccountMetas[6];\n /** The Solana System program. */\n systemProgram: TAccountMetas[7];\n };\n data: ThawAndRevokeV2InstructionData;\n};\n\nexport function parseThawAndRevokeV2Instruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedThawAndRevokeV2Instruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 8) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 8,\n },\n );\n }\n let accountIndex = 0;\n const getNextAccount = () => {\n const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;\n accountIndex += 1;\n return accountMeta;\n };\n const getNextOptionalAccount = () => {\n const accountMeta = getNextAccount();\n return accountMeta.address === BUBBLEGUM_PROGRAM_ADDRESS\n ? undefined\n : accountMeta;\n };\n return {\n programAddress: instruction.programAddress,\n accounts: {\n treeAuthority: getNextAccount(),\n payer: getNextAccount(),\n leafDelegate: getNextOptionalAccount(),\n leafOwner: getNextAccount(),\n merkleTree: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getThawAndRevokeV2InstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}
|