@macalinao/clients-mpl-bubblegum 0.3.0 → 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 +8 -12
- 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 +163 -44
- package/src/generated/instructions/burnV2.ts +205 -64
- package/src/generated/instructions/cancelRedeem.ts +122 -41
- package/src/generated/instructions/closeTreeV2.ts +102 -44
- package/src/generated/instructions/collectV2.ts +34 -23
- package/src/generated/instructions/compress.ts +146 -45
- package/src/generated/instructions/createTree.ts +143 -42
- package/src/generated/instructions/createTreeV2.ts +134 -45
- package/src/generated/instructions/decompressV1.ts +136 -49
- package/src/generated/instructions/delegate.ts +165 -47
- package/src/generated/instructions/delegateAndFreezeV2.ts +197 -60
- package/src/generated/instructions/delegateV2.ts +195 -60
- package/src/generated/instructions/freezeV2.ts +199 -58
- package/src/generated/instructions/mintToCollectionV1.ts +196 -52
- package/src/generated/instructions/mintV1.ts +133 -40
- package/src/generated/instructions/mintV2.ts +192 -57
- package/src/generated/instructions/redeem.ts +178 -47
- package/src/generated/instructions/setAndVerifyCollection.ts +246 -69
- package/src/generated/instructions/setCollectionV2.ts +212 -73
- package/src/generated/instructions/setDecompressableState.ts +59 -31
- package/src/generated/instructions/setDecompressibleState.ts +60 -31
- package/src/generated/instructions/setNonTransferableV2.ts +190 -61
- package/src/generated/instructions/setTreeDelegate.ts +84 -31
- package/src/generated/instructions/thawAndRevokeV2.ts +185 -57
- package/src/generated/instructions/thawV2.ts +191 -58
- package/src/generated/instructions/transfer.ts +162 -44
- package/src/generated/instructions/transferV2.ts +191 -61
- package/src/generated/instructions/unverifyCollection.ts +239 -69
- package/src/generated/instructions/unverifyCreator.ts +187 -48
- package/src/generated/instructions/unverifyCreatorV2.ts +170 -55
- package/src/generated/instructions/updateAssetDataV2.ts +206 -59
- package/src/generated/instructions/updateMetadata.ts +210 -67
- package/src/generated/instructions/updateMetadataV2.ts +189 -63
- package/src/generated/instructions/verifyCollection.ts +239 -69
- package/src/generated/instructions/verifyCreator.ts +187 -48
- package/src/generated/instructions/verifyCreatorV2.ts +170 -55
- 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
|
@@ -1,48 +1,127 @@
|
|
|
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/transferV2.d.ts
|
|
5
5
|
declare const TRANSFER_V2_DISCRIMINATOR: ReadonlyUint8Array;
|
|
6
6
|
declare function getTransferV2DiscriminatorBytes(): ReadonlyUint8Array;
|
|
7
7
|
type TransferV2Instruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountTreeAuthority extends string | AccountMeta<string> = string, TAccountPayer extends string | AccountMeta<string> = string, TAccountAuthority extends string | AccountMeta<string> = string, TAccountLeafOwner extends string | AccountMeta<string> = string, TAccountLeafDelegate extends string | AccountMeta<string> = string, TAccountNewLeafOwner extends string | AccountMeta<string> = string, TAccountMerkleTree extends string | AccountMeta<string> = string, TAccountCoreCollection 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, TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority, TAccountLeafOwner extends string ? ReadonlyAccount<TAccountLeafOwner> : TAccountLeafOwner, TAccountLeafDelegate extends string ? ReadonlyAccount<TAccountLeafDelegate> : TAccountLeafDelegate, TAccountNewLeafOwner extends string ? ReadonlyAccount<TAccountNewLeafOwner> : TAccountNewLeafOwner, TAccountMerkleTree extends string ? WritableAccount<TAccountMerkleTree> : TAccountMerkleTree, TAccountCoreCollection extends string ? ReadonlyAccount<TAccountCoreCollection> : TAccountCoreCollection, TAccountLogWrapper extends string ? ReadonlyAccount<TAccountLogWrapper> : TAccountLogWrapper, TAccountCompressionProgram extends string ? ReadonlyAccount<TAccountCompressionProgram> : TAccountCompressionProgram, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, ...TRemainingAccounts]>;
|
|
8
|
-
|
|
8
|
+
type TransferV2InstructionData = {
|
|
9
9
|
discriminator: ReadonlyUint8Array;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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 `assetDataHash` of the `LeafSchema` V2 leaf, if any,
|
|
27
|
+
* carried through unchanged by this instruction.
|
|
28
|
+
*/
|
|
29
|
+
assetDataHash: Option<Array<number>>;
|
|
30
|
+
/**
|
|
31
|
+
* Expected current status flags (e.g. frozen, non-transferable) of the
|
|
32
|
+
* `LeafSchema` V2 leaf, verified before this instruction updates them.
|
|
33
|
+
*/
|
|
14
34
|
flags: Option<number>;
|
|
35
|
+
/**
|
|
36
|
+
* Tree-scoped nonce identifying the leaf, equal to the tree's
|
|
37
|
+
* `numMinted` at the time the leaf was minted. Combined with the tree
|
|
38
|
+
* address to derive the leaf's asset id.
|
|
39
|
+
*/
|
|
15
40
|
nonce: bigint;
|
|
41
|
+
/**
|
|
42
|
+
* Position of the leaf within the Merkle tree, used with the Merkle
|
|
43
|
+
* proof to locate and verify the leaf.
|
|
44
|
+
*/
|
|
16
45
|
index: number;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
46
|
+
};
|
|
47
|
+
type TransferV2InstructionDataArgs = {
|
|
48
|
+
/**
|
|
49
|
+
* Current Merkle root of the tree, used together with the Merkle proof
|
|
50
|
+
* (passed as remaining accounts) to verify the leaf being operated on.
|
|
51
|
+
*/
|
|
52
|
+
root: Array<number>;
|
|
53
|
+
/**
|
|
54
|
+
* Keccak256 hash of the leaf's metadata, used together with `root` to
|
|
55
|
+
* verify the leaf before it is modified.
|
|
56
|
+
*/
|
|
57
|
+
dataHash: Array<number>;
|
|
58
|
+
/**
|
|
59
|
+
* Keccak256 hash of the leaf's creators array, used together with
|
|
60
|
+
* `root` to verify the leaf before it is modified.
|
|
61
|
+
*/
|
|
62
|
+
creatorHash: Array<number>;
|
|
63
|
+
/**
|
|
64
|
+
* Expected current `assetDataHash` of the `LeafSchema` V2 leaf, if any,
|
|
65
|
+
* carried through unchanged by this instruction.
|
|
66
|
+
*/
|
|
67
|
+
assetDataHash: OptionOrNullable<Array<number>>;
|
|
68
|
+
/**
|
|
69
|
+
* Expected current status flags (e.g. frozen, non-transferable) of the
|
|
70
|
+
* `LeafSchema` V2 leaf, verified before this instruction updates them.
|
|
71
|
+
*/
|
|
23
72
|
flags: OptionOrNullable<number>;
|
|
73
|
+
/**
|
|
74
|
+
* Tree-scoped nonce identifying the leaf, equal to the tree's
|
|
75
|
+
* `numMinted` at the time the leaf was minted. Combined with the tree
|
|
76
|
+
* address to derive the leaf's asset id.
|
|
77
|
+
*/
|
|
24
78
|
nonce: number | bigint;
|
|
79
|
+
/**
|
|
80
|
+
* Position of the leaf within the Merkle tree, used with the Merkle
|
|
81
|
+
* proof to locate and verify the leaf.
|
|
82
|
+
*/
|
|
25
83
|
index: number;
|
|
26
|
-
}
|
|
84
|
+
};
|
|
27
85
|
declare function getTransferV2InstructionDataEncoder(): Encoder<TransferV2InstructionDataArgs>;
|
|
28
86
|
declare function getTransferV2InstructionDataDecoder(): Decoder<TransferV2InstructionData>;
|
|
29
87
|
declare function getTransferV2InstructionDataCodec(): Codec<TransferV2InstructionDataArgs, TransferV2InstructionData>;
|
|
30
|
-
|
|
88
|
+
type TransferV2AsyncInput<TAccountTreeAuthority extends string = string, TAccountPayer extends string = string, TAccountAuthority extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountNewLeafOwner extends string = string, TAccountMerkleTree extends string = string, TAccountCoreCollection extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> = {
|
|
89
|
+
/**
|
|
90
|
+
* The tree's `TreeConfig` PDA, which stores its configuration and acts
|
|
91
|
+
* as the tree's authority for CPIs into the compression program.
|
|
92
|
+
*/
|
|
31
93
|
treeAuthority?: Address<TAccountTreeAuthority>;
|
|
94
|
+
/** Account that pays for the transaction and any account rent. */
|
|
32
95
|
payer: TransactionSigner<TAccountPayer>;
|
|
33
96
|
/**
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
97
|
+
* Optional authority, defaults to `payer`. Must be either the leaf
|
|
98
|
+
* owner or a permanent transfer delegate plugin on the collection.
|
|
99
|
+
*/
|
|
37
100
|
authority?: TransactionSigner<TAccountAuthority>;
|
|
101
|
+
/** Owner of the compressed NFT leaf being operated on. */
|
|
38
102
|
leafOwner: Address<TAccountLeafOwner>;
|
|
39
|
-
/** Defaults to `
|
|
103
|
+
/** Defaults to `leafOwner`. */
|
|
40
104
|
leafDelegate?: Address<TAccountLeafDelegate>;
|
|
105
|
+
/** New owner the leaf is being transferred to. */
|
|
41
106
|
newLeafOwner: Address<TAccountNewLeafOwner>;
|
|
107
|
+
/**
|
|
108
|
+
* The concurrent Merkle tree account storing the compressed leaves,
|
|
109
|
+
* owned by the account compression program.
|
|
110
|
+
*/
|
|
42
111
|
merkleTree: Address<TAccountMerkleTree>;
|
|
112
|
+
/** MPL Core collection account the asset belongs to (V2 collections). */
|
|
43
113
|
coreCollection?: Address<TAccountCoreCollection>;
|
|
114
|
+
/**
|
|
115
|
+
* The SPL/MPL Noop program, used to log leaf data so off-chain indexers
|
|
116
|
+
* can reconstruct the tree.
|
|
117
|
+
*/
|
|
44
118
|
logWrapper?: Address<TAccountLogWrapper>;
|
|
119
|
+
/**
|
|
120
|
+
* The SPL/MPL Account Compression program that owns and manages the
|
|
121
|
+
* Merkle tree.
|
|
122
|
+
*/
|
|
45
123
|
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
124
|
+
/** The Solana System program. */
|
|
46
125
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
47
126
|
root: TransferV2InstructionDataArgs["root"];
|
|
48
127
|
dataHash: TransferV2InstructionDataArgs["dataHash"];
|
|
@@ -51,26 +130,54 @@ interface TransferV2AsyncInput<TAccountTreeAuthority extends string = string, TA
|
|
|
51
130
|
flags: TransferV2InstructionDataArgs["flags"];
|
|
52
131
|
nonce: TransferV2InstructionDataArgs["nonce"];
|
|
53
132
|
index: TransferV2InstructionDataArgs["index"];
|
|
54
|
-
}
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Transfers a `LeafSchema` V2 leaf node from one owner to another.
|
|
136
|
+
*
|
|
137
|
+
* Must be signed by the leaf owner or, when the asset belongs to an MPL
|
|
138
|
+
* Core collection, a permanent transfer delegate plugin on that
|
|
139
|
+
* collection. Frozen or non-transferable leaves cannot be transferred.
|
|
140
|
+
*/
|
|
55
141
|
declare function getTransferV2InstructionAsync<TAccountTreeAuthority extends string, TAccountPayer extends string, TAccountAuthority extends string, TAccountLeafOwner extends string, TAccountLeafDelegate extends string, TAccountNewLeafOwner extends string, TAccountMerkleTree extends string, TAccountCoreCollection extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: TransferV2AsyncInput<TAccountTreeAuthority, TAccountPayer, TAccountAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountNewLeafOwner, TAccountMerkleTree, TAccountCoreCollection, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>, config?: {
|
|
56
142
|
programAddress?: TProgramAddress;
|
|
57
143
|
}): Promise<TransferV2Instruction<TProgramAddress, TAccountTreeAuthority, TAccountPayer, TAccountAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountNewLeafOwner, TAccountMerkleTree, TAccountCoreCollection, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>>;
|
|
58
|
-
|
|
144
|
+
type TransferV2Input<TAccountTreeAuthority extends string = string, TAccountPayer extends string = string, TAccountAuthority extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountNewLeafOwner extends string = string, TAccountMerkleTree extends string = string, TAccountCoreCollection 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
|
+
*/
|
|
59
149
|
treeAuthority: Address<TAccountTreeAuthority>;
|
|
150
|
+
/** Account that pays for the transaction and any account rent. */
|
|
60
151
|
payer: TransactionSigner<TAccountPayer>;
|
|
61
152
|
/**
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
153
|
+
* Optional authority, defaults to `payer`. Must be either the leaf
|
|
154
|
+
* owner or a permanent transfer delegate plugin on the collection.
|
|
155
|
+
*/
|
|
65
156
|
authority?: TransactionSigner<TAccountAuthority>;
|
|
157
|
+
/** Owner of the compressed NFT leaf being operated on. */
|
|
66
158
|
leafOwner: Address<TAccountLeafOwner>;
|
|
67
|
-
/** Defaults to `
|
|
159
|
+
/** Defaults to `leafOwner`. */
|
|
68
160
|
leafDelegate?: Address<TAccountLeafDelegate>;
|
|
161
|
+
/** New owner the leaf is being transferred to. */
|
|
69
162
|
newLeafOwner: Address<TAccountNewLeafOwner>;
|
|
163
|
+
/**
|
|
164
|
+
* The concurrent Merkle tree account storing the compressed leaves,
|
|
165
|
+
* owned by the account compression program.
|
|
166
|
+
*/
|
|
70
167
|
merkleTree: Address<TAccountMerkleTree>;
|
|
168
|
+
/** MPL Core collection account the asset belongs to (V2 collections). */
|
|
71
169
|
coreCollection?: Address<TAccountCoreCollection>;
|
|
170
|
+
/**
|
|
171
|
+
* The SPL/MPL Noop program, used to log leaf data so off-chain indexers
|
|
172
|
+
* can reconstruct the tree.
|
|
173
|
+
*/
|
|
72
174
|
logWrapper?: Address<TAccountLogWrapper>;
|
|
175
|
+
/**
|
|
176
|
+
* The SPL/MPL Account Compression program that owns and manages the
|
|
177
|
+
* Merkle tree.
|
|
178
|
+
*/
|
|
73
179
|
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
180
|
+
/** The Solana System program. */
|
|
74
181
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
75
182
|
root: TransferV2InstructionDataArgs["root"];
|
|
76
183
|
dataHash: TransferV2InstructionDataArgs["dataHash"];
|
|
@@ -79,31 +186,60 @@ interface TransferV2Input<TAccountTreeAuthority extends string = string, TAccoun
|
|
|
79
186
|
flags: TransferV2InstructionDataArgs["flags"];
|
|
80
187
|
nonce: TransferV2InstructionDataArgs["nonce"];
|
|
81
188
|
index: TransferV2InstructionDataArgs["index"];
|
|
82
|
-
}
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* Transfers a `LeafSchema` V2 leaf node from one owner to another.
|
|
192
|
+
*
|
|
193
|
+
* Must be signed by the leaf owner or, when the asset belongs to an MPL
|
|
194
|
+
* Core collection, a permanent transfer delegate plugin on that
|
|
195
|
+
* collection. Frozen or non-transferable leaves cannot be transferred.
|
|
196
|
+
*/
|
|
83
197
|
declare function getTransferV2Instruction<TAccountTreeAuthority extends string, TAccountPayer extends string, TAccountAuthority extends string, TAccountLeafOwner extends string, TAccountLeafDelegate extends string, TAccountNewLeafOwner extends string, TAccountMerkleTree extends string, TAccountCoreCollection extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: TransferV2Input<TAccountTreeAuthority, TAccountPayer, TAccountAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountNewLeafOwner, TAccountMerkleTree, TAccountCoreCollection, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>, config?: {
|
|
84
198
|
programAddress?: TProgramAddress;
|
|
85
199
|
}): TransferV2Instruction<TProgramAddress, TAccountTreeAuthority, TAccountPayer, TAccountAuthority, TAccountLeafOwner, TAccountLeafDelegate, TAccountNewLeafOwner, TAccountMerkleTree, TAccountCoreCollection, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>;
|
|
86
|
-
|
|
200
|
+
type ParsedTransferV2Instruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
|
|
87
201
|
programAddress: Address<TProgram>;
|
|
88
202
|
accounts: {
|
|
203
|
+
/**
|
|
204
|
+
* The tree's `TreeConfig` PDA, which stores its configuration and acts
|
|
205
|
+
* as the tree's authority for CPIs into the compression program.
|
|
206
|
+
*/
|
|
89
207
|
treeAuthority: TAccountMetas[0];
|
|
208
|
+
/** Account that pays for the transaction and any account rent. */
|
|
90
209
|
payer: TAccountMetas[1];
|
|
91
210
|
/**
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
211
|
+
* Optional authority, defaults to `payer`. Must be either the leaf
|
|
212
|
+
* owner or a permanent transfer delegate plugin on the collection.
|
|
213
|
+
*/
|
|
95
214
|
authority?: TAccountMetas[2] | undefined;
|
|
96
|
-
|
|
215
|
+
/** Owner of the compressed NFT leaf being operated on. */
|
|
216
|
+
leafOwner: TAccountMetas[3];
|
|
217
|
+
/** Defaults to `leafOwner`. */
|
|
97
218
|
leafDelegate?: TAccountMetas[4] | undefined;
|
|
219
|
+
/** New owner the leaf is being transferred to. */
|
|
98
220
|
newLeafOwner: TAccountMetas[5];
|
|
221
|
+
/**
|
|
222
|
+
* The concurrent Merkle tree account storing the compressed leaves,
|
|
223
|
+
* owned by the account compression program.
|
|
224
|
+
*/
|
|
99
225
|
merkleTree: TAccountMetas[6];
|
|
226
|
+
/** MPL Core collection account the asset belongs to (V2 collections). */
|
|
100
227
|
coreCollection?: TAccountMetas[7] | undefined;
|
|
228
|
+
/**
|
|
229
|
+
* The SPL/MPL Noop program, used to log leaf data so off-chain indexers
|
|
230
|
+
* can reconstruct the tree.
|
|
231
|
+
*/
|
|
101
232
|
logWrapper: TAccountMetas[8];
|
|
233
|
+
/**
|
|
234
|
+
* The SPL/MPL Account Compression program that owns and manages the
|
|
235
|
+
* Merkle tree.
|
|
236
|
+
*/
|
|
102
237
|
compressionProgram: TAccountMetas[9];
|
|
238
|
+
/** The Solana System program. */
|
|
103
239
|
systemProgram: TAccountMetas[10];
|
|
104
240
|
};
|
|
105
241
|
data: TransferV2InstructionData;
|
|
106
|
-
}
|
|
242
|
+
};
|
|
107
243
|
declare function parseTransferV2Instruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedTransferV2Instruction<TProgram, TAccountMetas>;
|
|
108
244
|
//#endregion
|
|
109
245
|
export { ParsedTransferV2Instruction, TRANSFER_V2_DISCRIMINATOR, TransferV2AsyncInput, TransferV2Input, TransferV2Instruction, TransferV2InstructionData, TransferV2InstructionDataArgs, getTransferV2DiscriminatorBytes, getTransferV2Instruction, getTransferV2InstructionAsync, getTransferV2InstructionDataCodec, getTransferV2InstructionDataDecoder, getTransferV2InstructionDataEncoder, parseTransferV2Instruction };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferV2.d.ts","names":[],"sources":["../../../src/generated/instructions/transferV2.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"transferV2.d.ts","names":[],"sources":["../../../src/generated/instructions/transferV2.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/transferV2.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 TRANSFER_V2_DISCRIMINATOR = new Uint8Array([
|
|
7
14
|
119,
|
|
8
15
|
40,
|
|
@@ -46,6 +53,13 @@ function getTransferV2InstructionDataDecoder() {
|
|
|
46
53
|
function getTransferV2InstructionDataCodec() {
|
|
47
54
|
return combineCodec(getTransferV2InstructionDataEncoder(), getTransferV2InstructionDataDecoder());
|
|
48
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Transfers a `LeafSchema` V2 leaf node from one owner to another.
|
|
58
|
+
*
|
|
59
|
+
* Must be signed by the leaf owner or, when the asset belongs to an MPL
|
|
60
|
+
* Core collection, a permanent transfer delegate plugin on that
|
|
61
|
+
* collection. Frozen or non-transferable leaves cannot be transferred.
|
|
62
|
+
*/
|
|
49
63
|
async function getTransferV2InstructionAsync(input, config) {
|
|
50
64
|
const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
|
|
51
65
|
const accounts = {
|
|
@@ -118,6 +132,13 @@ async function getTransferV2InstructionAsync(input, config) {
|
|
|
118
132
|
programAddress
|
|
119
133
|
});
|
|
120
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Transfers a `LeafSchema` V2 leaf node from one owner to another.
|
|
137
|
+
*
|
|
138
|
+
* Must be signed by the leaf owner or, when the asset belongs to an MPL
|
|
139
|
+
* Core collection, a permanent transfer delegate plugin on that
|
|
140
|
+
* collection. Frozen or non-transferable leaves cannot be transferred.
|
|
141
|
+
*/
|
|
121
142
|
function getTransferV2Instruction(input, config) {
|
|
122
143
|
const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
|
|
123
144
|
const accounts = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferV2.js","names":[],"sources":["../../../src/generated/instructions/transferV2.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 TRANSFER_V2_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([\n 119, 40, 6, 235, 234, 221, 248, 49,\n]);\n\nexport function getTransferV2DiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(TRANSFER_V2_DISCRIMINATOR);\n}\n\nexport type TransferV2Instruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountAuthority extends string | AccountMeta<string> = string,\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountLeafDelegate extends string | AccountMeta<string> = string,\n TAccountNewLeafOwner extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountCoreCollection extends string | AccountMeta<string> = string,\n TAccountLogWrapper extends\n | string\n | AccountMeta<string> = \"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3\",\n TAccountCompressionProgram extends\n | string\n | AccountMeta<string> = \"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW\",\n TAccountSystemProgram extends\n | string\n | AccountMeta<string> = \"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 TAccountAuthority extends string\n ? ReadonlySignerAccount<TAccountAuthority> &\n AccountSignerMeta<TAccountAuthority>\n : TAccountAuthority,\n TAccountLeafOwner extends string\n ? ReadonlyAccount<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountLeafDelegate extends string\n ? ReadonlyAccount<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountNewLeafOwner extends string\n ? ReadonlyAccount<TAccountNewLeafOwner>\n : TAccountNewLeafOwner,\n TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountCoreCollection extends string\n ? ReadonlyAccount<TAccountCoreCollection>\n : TAccountCoreCollection,\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 TransferV2InstructionData {\n discriminator: ReadonlyUint8Array;\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n assetDataHash: Option<number[]>;\n flags: Option<number>;\n nonce: bigint;\n index: number;\n}\n\nexport interface TransferV2InstructionDataArgs {\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n assetDataHash: OptionOrNullable<number[]>;\n flags: OptionOrNullable<number>;\n nonce: number | bigint;\n index: number;\n}\n\nexport function getTransferV2InstructionDataEncoder(): Encoder<TransferV2InstructionDataArgs> {\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 \"assetDataHash\",\n getOptionEncoder(getArrayEncoder(getU8Encoder(), { size: 32 })),\n ],\n [\"flags\", getOptionEncoder(getU8Encoder())],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n ]),\n (value) => ({ ...value, discriminator: TRANSFER_V2_DISCRIMINATOR }),\n );\n}\n\nexport function getTransferV2InstructionDataDecoder(): Decoder<TransferV2InstructionData> {\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 \"assetDataHash\",\n getOptionDecoder(getArrayDecoder(getU8Decoder(), { size: 32 })),\n ],\n [\"flags\", getOptionDecoder(getU8Decoder())],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n ]);\n}\n\nexport function getTransferV2InstructionDataCodec(): Codec<\n TransferV2InstructionDataArgs,\n TransferV2InstructionData\n> {\n return combineCodec(\n getTransferV2InstructionDataEncoder(),\n getTransferV2InstructionDataDecoder(),\n );\n}\n\nexport interface TransferV2AsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountNewLeafOwner extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountCoreCollection 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 /**\n * Optional authority, defaults to `payer`. Must be either\n * the leaf owner or collection permanent transfer delegate.\n */\n authority?: TransactionSigner<TAccountAuthority>;\n leafOwner: Address<TAccountLeafOwner>;\n /** Defaults to `leaf_owner` */\n leafDelegate?: Address<TAccountLeafDelegate>;\n newLeafOwner: Address<TAccountNewLeafOwner>;\n merkleTree: Address<TAccountMerkleTree>;\n coreCollection?: Address<TAccountCoreCollection>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: TransferV2InstructionDataArgs[\"root\"];\n dataHash: TransferV2InstructionDataArgs[\"dataHash\"];\n creatorHash: TransferV2InstructionDataArgs[\"creatorHash\"];\n assetDataHash: TransferV2InstructionDataArgs[\"assetDataHash\"];\n flags: TransferV2InstructionDataArgs[\"flags\"];\n nonce: TransferV2InstructionDataArgs[\"nonce\"];\n index: TransferV2InstructionDataArgs[\"index\"];\n}\n\nexport async function getTransferV2InstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountNewLeafOwner extends string,\n TAccountMerkleTree extends string,\n TAccountCoreCollection 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: TransferV2AsyncInput<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountNewLeafOwner,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n TransferV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountNewLeafOwner,\n TAccountMerkleTree,\n TAccountCoreCollection,\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 authority: { value: input.authority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n newLeafOwner: { value: input.newLeafOwner ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n coreCollection: { value: input.coreCollection ?? null, isWritable: false },\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(\"authority\", accounts.authority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"newLeafOwner\", accounts.newLeafOwner),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"coreCollection\", accounts.coreCollection),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getTransferV2InstructionDataEncoder().encode(\n args as TransferV2InstructionDataArgs,\n ),\n programAddress,\n } as TransferV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountNewLeafOwner,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface TransferV2Input<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountNewLeafOwner extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountCoreCollection 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 /**\n * Optional authority, defaults to `payer`. Must be either\n * the leaf owner or collection permanent transfer delegate.\n */\n authority?: TransactionSigner<TAccountAuthority>;\n leafOwner: Address<TAccountLeafOwner>;\n /** Defaults to `leaf_owner` */\n leafDelegate?: Address<TAccountLeafDelegate>;\n newLeafOwner: Address<TAccountNewLeafOwner>;\n merkleTree: Address<TAccountMerkleTree>;\n coreCollection?: Address<TAccountCoreCollection>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: TransferV2InstructionDataArgs[\"root\"];\n dataHash: TransferV2InstructionDataArgs[\"dataHash\"];\n creatorHash: TransferV2InstructionDataArgs[\"creatorHash\"];\n assetDataHash: TransferV2InstructionDataArgs[\"assetDataHash\"];\n flags: TransferV2InstructionDataArgs[\"flags\"];\n nonce: TransferV2InstructionDataArgs[\"nonce\"];\n index: TransferV2InstructionDataArgs[\"index\"];\n}\n\nexport function getTransferV2Instruction<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountNewLeafOwner extends string,\n TAccountMerkleTree extends string,\n TAccountCoreCollection 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: TransferV2Input<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountNewLeafOwner,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): TransferV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountNewLeafOwner,\n TAccountMerkleTree,\n TAccountCoreCollection,\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 authority: { value: input.authority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n newLeafOwner: { value: input.newLeafOwner ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n coreCollection: { value: input.coreCollection ?? null, isWritable: false },\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(\"authority\", accounts.authority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"newLeafOwner\", accounts.newLeafOwner),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"coreCollection\", accounts.coreCollection),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getTransferV2InstructionDataEncoder().encode(\n args as TransferV2InstructionDataArgs,\n ),\n programAddress,\n } as TransferV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountNewLeafOwner,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface ParsedTransferV2Instruction<\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 /**\n * Optional authority, defaults to `payer`. Must be either\n * the leaf owner or collection permanent transfer delegate.\n */\n authority?: TAccountMetas[2] | undefined;\n leafOwner: TAccountMetas[3];\n /** Defaults to `leaf_owner` */\n leafDelegate?: TAccountMetas[4] | undefined;\n newLeafOwner: TAccountMetas[5];\n merkleTree: TAccountMetas[6];\n coreCollection?: TAccountMetas[7] | undefined;\n logWrapper: TAccountMetas[8];\n compressionProgram: TAccountMetas[9];\n systemProgram: TAccountMetas[10];\n };\n data: TransferV2InstructionData;\n}\n\nexport function parseTransferV2Instruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedTransferV2Instruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 11) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 11,\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 authority: getNextOptionalAccount(),\n leafOwner: getNextAccount(),\n leafDelegate: getNextOptionalAccount(),\n newLeafOwner: getNextAccount(),\n merkleTree: getNextAccount(),\n coreCollection: getNextOptionalAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getTransferV2InstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":";;;;;AAyDA,MAAa,4BAAgD,IAAI,WAAW;CAC1E;CAAK;CAAI;CAAG;CAAK;CAAK;CAAK;CAAK;AAClC,CAAC;AAED,SAAgB,kCAAsD;CACpE,OAAO,eAAe,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO,yBAAyB;AAC9E;AAsFA,SAAgB,sCAA8E;CAC5F,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,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;CAA0B,EACnE;AACF;AAEA,SAAgB,sCAA0E;CACxF,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,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,oCAGd;CACA,OAAO,aACL,oCAAoC,GACpC,oCAAoC,CACtC;AACF;AAwCA,eAAsB,8BAcpB,OAaA,QAgBA;CAEA,MAAM,iBAAiB,QAAQ,kBAAA;CAmB/B,MAAM,WAAW;EAff,eAAe;GAAE,OAAO,MAAM,iBAAiB;GAAM,YAAY;EAAK;EACtE,OAAO;GAAE,OAAO,MAAM,SAAS;GAAM,YAAY;EAAK;EACtD,WAAW;GAAE,OAAO,MAAM,aAAa;GAAM,YAAY;EAAM;EAC/D,WAAW;GAAE,OAAO,MAAM,aAAa;GAAM,YAAY;EAAM;EAC/D,cAAc;GAAE,OAAO,MAAM,gBAAgB;GAAM,YAAY;EAAM;EACrE,cAAc;GAAE,OAAO,MAAM,gBAAgB;GAAM,YAAY;EAAM;EACrE,YAAY;GAAE,OAAO,MAAM,cAAc;GAAM,YAAY;EAAK;EAChE,gBAAgB;GAAE,OAAO,MAAM,kBAAkB;GAAM,YAAY;EAAM;EACzE,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,aAAa,SAAS,SAAS;GAC9C,eAAe,aAAa,SAAS,SAAS;GAC9C,eAAe,gBAAgB,SAAS,YAAY;GACpD,eAAe,gBAAgB,SAAS,YAAY;GACpD,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,kBAAkB,SAAS,cAAc;GACxD,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,sBAAsB,SAAS,kBAAkB;GAChE,eAAe,iBAAiB,SAAS,aAAa;EACxD;EACA,MAAM,oCAAoC,CAAC,CAAC,OAC1C,IACF;EACA;CACF,CAaC;AACH;AAwCA,SAAgB,yBAcd,OAaA,QAcA;CAEA,MAAM,iBAAiB,QAAQ,kBAAA;CAmB/B,MAAM,WAAW;EAff,eAAe;GAAE,OAAO,MAAM,iBAAiB;GAAM,YAAY;EAAK;EACtE,OAAO;GAAE,OAAO,MAAM,SAAS;GAAM,YAAY;EAAK;EACtD,WAAW;GAAE,OAAO,MAAM,aAAa;GAAM,YAAY;EAAM;EAC/D,WAAW;GAAE,OAAO,MAAM,aAAa;GAAM,YAAY;EAAM;EAC/D,cAAc;GAAE,OAAO,MAAM,gBAAgB;GAAM,YAAY;EAAM;EACrE,cAAc;GAAE,OAAO,MAAM,gBAAgB;GAAM,YAAY;EAAM;EACrE,YAAY;GAAE,OAAO,MAAM,cAAc;GAAM,YAAY;EAAK;EAChE,gBAAgB;GAAE,OAAO,MAAM,kBAAkB;GAAM,YAAY;EAAM;EACzE,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,aAAa,SAAS,SAAS;GAC9C,eAAe,aAAa,SAAS,SAAS;GAC9C,eAAe,gBAAgB,SAAS,YAAY;GACpD,eAAe,gBAAgB,SAAS,YAAY;GACpD,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,kBAAkB,SAAS,cAAc;GACxD,eAAe,cAAc,SAAS,UAAU;GAChD,eAAe,sBAAsB,SAAS,kBAAkB;GAChE,eAAe,iBAAiB,SAAS,aAAa;EACxD;EACA,MAAM,oCAAoC,CAAC,CAAC,OAC1C,IACF;EACA;CACF,CAaC;AACH;AA4BA,SAAgB,2BAId,aAGsD;CACtD,IAAI,YAAY,SAAS,SAAS,IAChC,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,WAAW,uBAAuB;GAClC,WAAW,eAAe;GAC1B,cAAc,uBAAuB;GACrC,cAAc,eAAe;GAC7B,YAAY,eAAe;GAC3B,gBAAgB,uBAAuB;GACvC,YAAY,eAAe;GAC3B,oBAAoB,eAAe;GACnC,eAAe,eAAe;EAChC;EACA,MAAM,oCAAoC,CAAC,CAAC,OAAO,YAAY,IAAI;CACrE;AACF"}
|
|
1
|
+
{"version":3,"file":"transferV2.js","names":[],"sources":["../../../src/generated/instructions/transferV2.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 TRANSFER_V2_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([\n 119, 40, 6, 235, 234, 221, 248, 49,\n]);\n\nexport function getTransferV2DiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(TRANSFER_V2_DISCRIMINATOR);\n}\n\nexport type TransferV2Instruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountAuthority extends string | AccountMeta<string> = string,\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountLeafDelegate extends string | AccountMeta<string> = string,\n TAccountNewLeafOwner extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountCoreCollection 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 TAccountAuthority extends string\n ? ReadonlySignerAccount<TAccountAuthority> &\n AccountSignerMeta<TAccountAuthority>\n : TAccountAuthority,\n TAccountLeafOwner extends string\n ? ReadonlyAccount<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountLeafDelegate extends string\n ? ReadonlyAccount<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountNewLeafOwner extends string\n ? ReadonlyAccount<TAccountNewLeafOwner>\n : TAccountNewLeafOwner,\n TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountCoreCollection extends string\n ? ReadonlyAccount<TAccountCoreCollection>\n : TAccountCoreCollection,\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 TransferV2InstructionData = {\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 `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 TransferV2InstructionDataArgs = {\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 `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 getTransferV2InstructionDataEncoder(): Encoder<TransferV2InstructionDataArgs> {\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 \"assetDataHash\",\n getOptionEncoder(getArrayEncoder(getU8Encoder(), { size: 32 })),\n ],\n [\"flags\", getOptionEncoder(getU8Encoder())],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n ]),\n (value) => ({ ...value, discriminator: TRANSFER_V2_DISCRIMINATOR }),\n );\n}\n\nexport function getTransferV2InstructionDataDecoder(): Decoder<TransferV2InstructionData> {\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 \"assetDataHash\",\n getOptionDecoder(getArrayDecoder(getU8Decoder(), { size: 32 })),\n ],\n [\"flags\", getOptionDecoder(getU8Decoder())],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n ]);\n}\n\nexport function getTransferV2InstructionDataCodec(): Codec<\n TransferV2InstructionDataArgs,\n TransferV2InstructionData\n> {\n return combineCodec(\n getTransferV2InstructionDataEncoder(),\n getTransferV2InstructionDataDecoder(),\n );\n}\n\nexport type TransferV2AsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountNewLeafOwner extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountCoreCollection 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 /**\n * Optional authority, defaults to `payer`. Must be either the leaf\n * owner or a permanent transfer delegate plugin on the collection.\n */\n authority?: TransactionSigner<TAccountAuthority>;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: Address<TAccountLeafOwner>;\n /** Defaults to `leafOwner`. */\n leafDelegate?: Address<TAccountLeafDelegate>;\n /** New owner the leaf is being transferred to. */\n newLeafOwner: Address<TAccountNewLeafOwner>;\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /** MPL Core collection account the asset belongs to (V2 collections). */\n coreCollection?: Address<TAccountCoreCollection>;\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: TransferV2InstructionDataArgs[\"root\"];\n dataHash: TransferV2InstructionDataArgs[\"dataHash\"];\n creatorHash: TransferV2InstructionDataArgs[\"creatorHash\"];\n assetDataHash: TransferV2InstructionDataArgs[\"assetDataHash\"];\n flags: TransferV2InstructionDataArgs[\"flags\"];\n nonce: TransferV2InstructionDataArgs[\"nonce\"];\n index: TransferV2InstructionDataArgs[\"index\"];\n};\n\n/**\n * Transfers a `LeafSchema` V2 leaf node from one owner to another.\n *\n * Must be signed by the leaf owner or, when the asset belongs to an MPL\n * Core collection, a permanent transfer delegate plugin on that\n * collection. Frozen or non-transferable leaves cannot be transferred.\n */\nexport async function getTransferV2InstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountNewLeafOwner extends string,\n TAccountMerkleTree extends string,\n TAccountCoreCollection 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: TransferV2AsyncInput<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountNewLeafOwner,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n TransferV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountNewLeafOwner,\n TAccountMerkleTree,\n TAccountCoreCollection,\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 authority: { value: input.authority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n newLeafOwner: { value: input.newLeafOwner ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n coreCollection: { value: input.coreCollection ?? null, isWritable: false },\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(\"authority\", accounts.authority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"newLeafOwner\", accounts.newLeafOwner),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"coreCollection\", accounts.coreCollection),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getTransferV2InstructionDataEncoder().encode(\n args as TransferV2InstructionDataArgs,\n ),\n programAddress,\n } as TransferV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountNewLeafOwner,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport type TransferV2Input<\n TAccountTreeAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountNewLeafOwner extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountCoreCollection 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 /**\n * Optional authority, defaults to `payer`. Must be either the leaf\n * owner or a permanent transfer delegate plugin on the collection.\n */\n authority?: TransactionSigner<TAccountAuthority>;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: Address<TAccountLeafOwner>;\n /** Defaults to `leafOwner`. */\n leafDelegate?: Address<TAccountLeafDelegate>;\n /** New owner the leaf is being transferred to. */\n newLeafOwner: Address<TAccountNewLeafOwner>;\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: Address<TAccountMerkleTree>;\n /** MPL Core collection account the asset belongs to (V2 collections). */\n coreCollection?: Address<TAccountCoreCollection>;\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: TransferV2InstructionDataArgs[\"root\"];\n dataHash: TransferV2InstructionDataArgs[\"dataHash\"];\n creatorHash: TransferV2InstructionDataArgs[\"creatorHash\"];\n assetDataHash: TransferV2InstructionDataArgs[\"assetDataHash\"];\n flags: TransferV2InstructionDataArgs[\"flags\"];\n nonce: TransferV2InstructionDataArgs[\"nonce\"];\n index: TransferV2InstructionDataArgs[\"index\"];\n};\n\n/**\n * Transfers a `LeafSchema` V2 leaf node from one owner to another.\n *\n * Must be signed by the leaf owner or, when the asset belongs to an MPL\n * Core collection, a permanent transfer delegate plugin on that\n * collection. Frozen or non-transferable leaves cannot be transferred.\n */\nexport function getTransferV2Instruction<\n TAccountTreeAuthority extends string,\n TAccountPayer extends string,\n TAccountAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountNewLeafOwner extends string,\n TAccountMerkleTree extends string,\n TAccountCoreCollection 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: TransferV2Input<\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountNewLeafOwner,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): TransferV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountNewLeafOwner,\n TAccountMerkleTree,\n TAccountCoreCollection,\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 authority: { value: input.authority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n newLeafOwner: { value: input.newLeafOwner ?? null, isWritable: false },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n coreCollection: { value: input.coreCollection ?? null, isWritable: false },\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(\"authority\", accounts.authority),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"newLeafOwner\", accounts.newLeafOwner),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"coreCollection\", accounts.coreCollection),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getTransferV2InstructionDataEncoder().encode(\n args as TransferV2InstructionDataArgs,\n ),\n programAddress,\n } as TransferV2Instruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountPayer,\n TAccountAuthority,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountNewLeafOwner,\n TAccountMerkleTree,\n TAccountCoreCollection,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport type ParsedTransferV2Instruction<\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 /**\n * Optional authority, defaults to `payer`. Must be either the leaf\n * owner or a permanent transfer delegate plugin on the collection.\n */\n authority?: TAccountMetas[2] | undefined;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: TAccountMetas[3];\n /** Defaults to `leafOwner`. */\n leafDelegate?: TAccountMetas[4] | undefined;\n /** New owner the leaf is being transferred to. */\n newLeafOwner: TAccountMetas[5];\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: TAccountMetas[6];\n /** MPL Core collection account the asset belongs to (V2 collections). */\n coreCollection?: TAccountMetas[7] | undefined;\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[8];\n /**\n * The SPL/MPL Account Compression program that owns and manages the\n * Merkle tree.\n */\n compressionProgram: TAccountMetas[9];\n /** The Solana System program. */\n systemProgram: TAccountMetas[10];\n };\n data: TransferV2InstructionData;\n};\n\nexport function parseTransferV2Instruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedTransferV2Instruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 11) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 11,\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 authority: getNextOptionalAccount(),\n leafOwner: getNextAccount(),\n leafDelegate: getNextOptionalAccount(),\n newLeafOwner: getNextAccount(),\n merkleTree: getNextAccount(),\n coreCollection: getNextOptionalAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getTransferV2InstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}
|