@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,111 +1,266 @@
|
|
|
1
1
|
import { MetadataArgs, MetadataArgsArgs } from "../types/metadataArgs.js";
|
|
2
2
|
import { UpdateArgs, UpdateArgsArgs } from "../types/updateArgs.js";
|
|
3
|
+
import "../types/index.js";
|
|
3
4
|
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/bubblegum.js";
|
|
5
|
+
import "../programs/index.js";
|
|
4
6
|
import { AccountMeta, AccountSignerMeta, Address, Codec, Decoder, Encoder, Instruction, InstructionWithAccounts, InstructionWithData, ReadonlyAccount, ReadonlySignerAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount } from "@solana/kit";
|
|
5
|
-
|
|
6
7
|
//#region src/generated/instructions/updateMetadata.d.ts
|
|
7
8
|
declare const UPDATE_METADATA_DISCRIMINATOR: ReadonlyUint8Array;
|
|
8
9
|
declare function getUpdateMetadataDiscriminatorBytes(): ReadonlyUint8Array;
|
|
9
10
|
type UpdateMetadataInstruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountTreeAuthority extends string | AccountMeta<string> = string, TAccountAuthority extends string | AccountMeta<string> = string, TAccountCollectionMint extends string | AccountMeta<string> = string, TAccountCollectionMetadata extends string | AccountMeta<string> = string, TAccountCollectionAuthorityRecordPda extends string | AccountMeta<string> = "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY", TAccountLeafOwner extends string | AccountMeta<string> = string, TAccountLeafDelegate extends string | AccountMeta<string> = string, TAccountPayer extends string | AccountMeta<string> = string, TAccountMerkleTree extends string | AccountMeta<string> = string, TAccountLogWrapper extends string | AccountMeta<string> = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV", TAccountCompressionProgram extends string | AccountMeta<string> = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK", TAccountTokenMetadataProgram extends string | AccountMeta<string> = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s", TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountTreeAuthority extends string ? ReadonlyAccount<TAccountTreeAuthority> : TAccountTreeAuthority, TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority, TAccountCollectionMint extends string ? ReadonlyAccount<TAccountCollectionMint> : TAccountCollectionMint, TAccountCollectionMetadata extends string ? ReadonlyAccount<TAccountCollectionMetadata> : TAccountCollectionMetadata, TAccountCollectionAuthorityRecordPda extends string ? ReadonlyAccount<TAccountCollectionAuthorityRecordPda> : TAccountCollectionAuthorityRecordPda, TAccountLeafOwner extends string ? ReadonlyAccount<TAccountLeafOwner> : TAccountLeafOwner, TAccountLeafDelegate extends string ? ReadonlyAccount<TAccountLeafDelegate> : TAccountLeafDelegate, TAccountPayer extends string ? ReadonlySignerAccount<TAccountPayer> & AccountSignerMeta<TAccountPayer> : TAccountPayer, TAccountMerkleTree extends string ? WritableAccount<TAccountMerkleTree> : TAccountMerkleTree, TAccountLogWrapper extends string ? ReadonlyAccount<TAccountLogWrapper> : TAccountLogWrapper, TAccountCompressionProgram extends string ? ReadonlyAccount<TAccountCompressionProgram> : TAccountCompressionProgram, TAccountTokenMetadataProgram extends string ? ReadonlyAccount<TAccountTokenMetadataProgram> : TAccountTokenMetadataProgram, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, ...TRemainingAccounts]>;
|
|
10
|
-
|
|
11
|
+
type UpdateMetadataInstructionData = {
|
|
11
12
|
discriminator: ReadonlyUint8Array;
|
|
12
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Current Merkle root of the tree, used together with the Merkle proof
|
|
15
|
+
* (passed as remaining accounts) to verify the leaf being operated on.
|
|
16
|
+
*/
|
|
17
|
+
root: Array<number>;
|
|
18
|
+
/**
|
|
19
|
+
* Tree-scoped nonce identifying the leaf, equal to the tree's
|
|
20
|
+
* `numMinted` at the time the leaf was minted. Combined with the tree
|
|
21
|
+
* address to derive the leaf's asset id.
|
|
22
|
+
*/
|
|
13
23
|
nonce: bigint;
|
|
24
|
+
/**
|
|
25
|
+
* Position of the leaf within the Merkle tree, used with the Merkle
|
|
26
|
+
* proof to locate and verify the leaf.
|
|
27
|
+
*/
|
|
14
28
|
index: number;
|
|
29
|
+
/**
|
|
30
|
+
* The leaf's current metadata args, verified against `dataHash` before
|
|
31
|
+
* `updateArgs` is applied.
|
|
32
|
+
*/
|
|
15
33
|
currentMetadata: MetadataArgs;
|
|
34
|
+
/**
|
|
35
|
+
* The metadata fields to change; fields left unset keep their current
|
|
36
|
+
* value on the leaf.
|
|
37
|
+
*/
|
|
16
38
|
updateArgs: UpdateArgs;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
39
|
+
};
|
|
40
|
+
type UpdateMetadataInstructionDataArgs = {
|
|
41
|
+
/**
|
|
42
|
+
* Current Merkle root of the tree, used together with the Merkle proof
|
|
43
|
+
* (passed as remaining accounts) to verify the leaf being operated on.
|
|
44
|
+
*/
|
|
45
|
+
root: Array<number>;
|
|
46
|
+
/**
|
|
47
|
+
* Tree-scoped nonce identifying the leaf, equal to the tree's
|
|
48
|
+
* `numMinted` at the time the leaf was minted. Combined with the tree
|
|
49
|
+
* address to derive the leaf's asset id.
|
|
50
|
+
*/
|
|
20
51
|
nonce: number | bigint;
|
|
52
|
+
/**
|
|
53
|
+
* Position of the leaf within the Merkle tree, used with the Merkle
|
|
54
|
+
* proof to locate and verify the leaf.
|
|
55
|
+
*/
|
|
21
56
|
index: number;
|
|
57
|
+
/**
|
|
58
|
+
* The leaf's current metadata args, verified against `dataHash` before
|
|
59
|
+
* `updateArgs` is applied.
|
|
60
|
+
*/
|
|
22
61
|
currentMetadata: MetadataArgsArgs;
|
|
62
|
+
/**
|
|
63
|
+
* The metadata fields to change; fields left unset keep their current
|
|
64
|
+
* value on the leaf.
|
|
65
|
+
*/
|
|
23
66
|
updateArgs: UpdateArgsArgs;
|
|
24
|
-
}
|
|
67
|
+
};
|
|
25
68
|
declare function getUpdateMetadataInstructionDataEncoder(): Encoder<UpdateMetadataInstructionDataArgs>;
|
|
26
69
|
declare function getUpdateMetadataInstructionDataDecoder(): Decoder<UpdateMetadataInstructionData>;
|
|
27
70
|
declare function getUpdateMetadataInstructionDataCodec(): Codec<UpdateMetadataInstructionDataArgs, UpdateMetadataInstructionData>;
|
|
28
|
-
|
|
71
|
+
type UpdateMetadataAsyncInput<TAccountTreeAuthority extends string = string, TAccountAuthority extends string = string, TAccountCollectionMint extends string = string, TAccountCollectionMetadata extends string = string, TAccountCollectionAuthorityRecordPda extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountPayer extends string = string, TAccountMerkleTree extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountTokenMetadataProgram extends string = string, TAccountSystemProgram extends string = string> = {
|
|
72
|
+
/**
|
|
73
|
+
* The tree's `TreeConfig` PDA, which stores its configuration and acts
|
|
74
|
+
* as the tree's authority for CPIs into the compression program.
|
|
75
|
+
*/
|
|
29
76
|
treeAuthority?: Address<TAccountTreeAuthority>;
|
|
30
77
|
/**
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
78
|
+
* Either the collection authority or the tree owner/delegate,
|
|
79
|
+
* depending on whether the asset is in a verified collection.
|
|
80
|
+
*/
|
|
34
81
|
authority: TransactionSigner<TAccountAuthority>;
|
|
35
|
-
/** Used when
|
|
82
|
+
/** Used when the asset is in a verified collection. */
|
|
36
83
|
collectionMint?: Address<TAccountCollectionMint>;
|
|
37
|
-
/** Used when
|
|
84
|
+
/** Used when the asset is in a verified collection. */
|
|
38
85
|
collectionMetadata?: Address<TAccountCollectionMetadata>;
|
|
86
|
+
/**
|
|
87
|
+
* Delegated collection authority record PDA. Pass the Bubblegum
|
|
88
|
+
* program id if `collectionAuthority` is the collection's direct
|
|
89
|
+
* update authority rather than a delegate.
|
|
90
|
+
*/
|
|
39
91
|
collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
|
|
92
|
+
/** Owner of the compressed NFT leaf being operated on. */
|
|
40
93
|
leafOwner: Address<TAccountLeafOwner>;
|
|
94
|
+
/**
|
|
95
|
+
* Delegate authority for the leaf; defaults to the leaf owner when no
|
|
96
|
+
* delegate is set.
|
|
97
|
+
*/
|
|
41
98
|
leafDelegate: Address<TAccountLeafDelegate>;
|
|
99
|
+
/** Account that pays for the transaction and any account rent. */
|
|
42
100
|
payer: TransactionSigner<TAccountPayer>;
|
|
101
|
+
/**
|
|
102
|
+
* The concurrent Merkle tree account storing the compressed leaves,
|
|
103
|
+
* owned by the account compression program.
|
|
104
|
+
*/
|
|
43
105
|
merkleTree: Address<TAccountMerkleTree>;
|
|
106
|
+
/**
|
|
107
|
+
* The SPL/MPL Noop program, used to log leaf data so off-chain indexers
|
|
108
|
+
* can reconstruct the tree.
|
|
109
|
+
*/
|
|
44
110
|
logWrapper?: Address<TAccountLogWrapper>;
|
|
111
|
+
/**
|
|
112
|
+
* The SPL/MPL Account Compression program that owns and manages the
|
|
113
|
+
* Merkle tree.
|
|
114
|
+
*/
|
|
45
115
|
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
116
|
+
/**
|
|
117
|
+
* The Token Metadata program, invoked to read or (un)verify the
|
|
118
|
+
* legacy collection accounts.
|
|
119
|
+
*/
|
|
46
120
|
tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
|
|
121
|
+
/** The Solana System program. */
|
|
47
122
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
48
123
|
root: UpdateMetadataInstructionDataArgs["root"];
|
|
49
124
|
nonce: UpdateMetadataInstructionDataArgs["nonce"];
|
|
50
125
|
index: UpdateMetadataInstructionDataArgs["index"];
|
|
51
126
|
currentMetadata: UpdateMetadataInstructionDataArgs["currentMetadata"];
|
|
52
127
|
updateArgs: UpdateMetadataInstructionDataArgs["updateArgs"];
|
|
53
|
-
}
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Updates the on-chain metadata fields of a compressed NFT leaf.
|
|
131
|
+
*
|
|
132
|
+
* The caller supplies `currentMetadata` (verified against the leaf's
|
|
133
|
+
* stored `dataHash`) and `updateArgs` describing which fields to
|
|
134
|
+
* change; unset fields in `updateArgs` are left as-is.
|
|
135
|
+
*/
|
|
54
136
|
declare function getUpdateMetadataInstructionAsync<TAccountTreeAuthority extends string, TAccountAuthority extends string, TAccountCollectionMint extends string, TAccountCollectionMetadata extends string, TAccountCollectionAuthorityRecordPda extends string, TAccountLeafOwner extends string, TAccountLeafDelegate extends string, TAccountPayer extends string, TAccountMerkleTree extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountTokenMetadataProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: UpdateMetadataAsyncInput<TAccountTreeAuthority, TAccountAuthority, TAccountCollectionMint, TAccountCollectionMetadata, TAccountCollectionAuthorityRecordPda, TAccountLeafOwner, TAccountLeafDelegate, TAccountPayer, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountTokenMetadataProgram, TAccountSystemProgram>, config?: {
|
|
55
137
|
programAddress?: TProgramAddress;
|
|
56
138
|
}): Promise<UpdateMetadataInstruction<TProgramAddress, TAccountTreeAuthority, TAccountAuthority, TAccountCollectionMint, TAccountCollectionMetadata, TAccountCollectionAuthorityRecordPda, TAccountLeafOwner, TAccountLeafDelegate, TAccountPayer, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountTokenMetadataProgram, TAccountSystemProgram>>;
|
|
57
|
-
|
|
139
|
+
type UpdateMetadataInput<TAccountTreeAuthority extends string = string, TAccountAuthority extends string = string, TAccountCollectionMint extends string = string, TAccountCollectionMetadata extends string = string, TAccountCollectionAuthorityRecordPda extends string = string, TAccountLeafOwner extends string = string, TAccountLeafDelegate extends string = string, TAccountPayer extends string = string, TAccountMerkleTree extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountTokenMetadataProgram extends string = string, TAccountSystemProgram extends string = string> = {
|
|
140
|
+
/**
|
|
141
|
+
* The tree's `TreeConfig` PDA, which stores its configuration and acts
|
|
142
|
+
* as the tree's authority for CPIs into the compression program.
|
|
143
|
+
*/
|
|
58
144
|
treeAuthority: Address<TAccountTreeAuthority>;
|
|
59
145
|
/**
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
146
|
+
* Either the collection authority or the tree owner/delegate,
|
|
147
|
+
* depending on whether the asset is in a verified collection.
|
|
148
|
+
*/
|
|
63
149
|
authority: TransactionSigner<TAccountAuthority>;
|
|
64
|
-
/** Used when
|
|
150
|
+
/** Used when the asset is in a verified collection. */
|
|
65
151
|
collectionMint?: Address<TAccountCollectionMint>;
|
|
66
|
-
/** Used when
|
|
152
|
+
/** Used when the asset is in a verified collection. */
|
|
67
153
|
collectionMetadata?: Address<TAccountCollectionMetadata>;
|
|
154
|
+
/**
|
|
155
|
+
* Delegated collection authority record PDA. Pass the Bubblegum
|
|
156
|
+
* program id if `collectionAuthority` is the collection's direct
|
|
157
|
+
* update authority rather than a delegate.
|
|
158
|
+
*/
|
|
68
159
|
collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
|
|
160
|
+
/** Owner of the compressed NFT leaf being operated on. */
|
|
69
161
|
leafOwner: Address<TAccountLeafOwner>;
|
|
162
|
+
/**
|
|
163
|
+
* Delegate authority for the leaf; defaults to the leaf owner when no
|
|
164
|
+
* delegate is set.
|
|
165
|
+
*/
|
|
70
166
|
leafDelegate: Address<TAccountLeafDelegate>;
|
|
167
|
+
/** Account that pays for the transaction and any account rent. */
|
|
71
168
|
payer: TransactionSigner<TAccountPayer>;
|
|
169
|
+
/**
|
|
170
|
+
* The concurrent Merkle tree account storing the compressed leaves,
|
|
171
|
+
* owned by the account compression program.
|
|
172
|
+
*/
|
|
72
173
|
merkleTree: Address<TAccountMerkleTree>;
|
|
174
|
+
/**
|
|
175
|
+
* The SPL/MPL Noop program, used to log leaf data so off-chain indexers
|
|
176
|
+
* can reconstruct the tree.
|
|
177
|
+
*/
|
|
73
178
|
logWrapper?: Address<TAccountLogWrapper>;
|
|
179
|
+
/**
|
|
180
|
+
* The SPL/MPL Account Compression program that owns and manages the
|
|
181
|
+
* Merkle tree.
|
|
182
|
+
*/
|
|
74
183
|
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
184
|
+
/**
|
|
185
|
+
* The Token Metadata program, invoked to read or (un)verify the
|
|
186
|
+
* legacy collection accounts.
|
|
187
|
+
*/
|
|
75
188
|
tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
|
|
189
|
+
/** The Solana System program. */
|
|
76
190
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
77
191
|
root: UpdateMetadataInstructionDataArgs["root"];
|
|
78
192
|
nonce: UpdateMetadataInstructionDataArgs["nonce"];
|
|
79
193
|
index: UpdateMetadataInstructionDataArgs["index"];
|
|
80
194
|
currentMetadata: UpdateMetadataInstructionDataArgs["currentMetadata"];
|
|
81
195
|
updateArgs: UpdateMetadataInstructionDataArgs["updateArgs"];
|
|
82
|
-
}
|
|
196
|
+
};
|
|
197
|
+
/**
|
|
198
|
+
* Updates the on-chain metadata fields of a compressed NFT leaf.
|
|
199
|
+
*
|
|
200
|
+
* The caller supplies `currentMetadata` (verified against the leaf's
|
|
201
|
+
* stored `dataHash`) and `updateArgs` describing which fields to
|
|
202
|
+
* change; unset fields in `updateArgs` are left as-is.
|
|
203
|
+
*/
|
|
83
204
|
declare function getUpdateMetadataInstruction<TAccountTreeAuthority extends string, TAccountAuthority extends string, TAccountCollectionMint extends string, TAccountCollectionMetadata extends string, TAccountCollectionAuthorityRecordPda extends string, TAccountLeafOwner extends string, TAccountLeafDelegate extends string, TAccountPayer extends string, TAccountMerkleTree extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountTokenMetadataProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: UpdateMetadataInput<TAccountTreeAuthority, TAccountAuthority, TAccountCollectionMint, TAccountCollectionMetadata, TAccountCollectionAuthorityRecordPda, TAccountLeafOwner, TAccountLeafDelegate, TAccountPayer, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountTokenMetadataProgram, TAccountSystemProgram>, config?: {
|
|
84
205
|
programAddress?: TProgramAddress;
|
|
85
206
|
}): UpdateMetadataInstruction<TProgramAddress, TAccountTreeAuthority, TAccountAuthority, TAccountCollectionMint, TAccountCollectionMetadata, TAccountCollectionAuthorityRecordPda, TAccountLeafOwner, TAccountLeafDelegate, TAccountPayer, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountTokenMetadataProgram, TAccountSystemProgram>;
|
|
86
|
-
|
|
207
|
+
type ParsedUpdateMetadataInstruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
|
|
87
208
|
programAddress: Address<TProgram>;
|
|
88
209
|
accounts: {
|
|
210
|
+
/**
|
|
211
|
+
* The tree's `TreeConfig` PDA, which stores its configuration and acts
|
|
212
|
+
* as the tree's authority for CPIs into the compression program.
|
|
213
|
+
*/
|
|
89
214
|
treeAuthority: TAccountMetas[0];
|
|
90
215
|
/**
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
authority: TAccountMetas[1];
|
|
95
|
-
|
|
216
|
+
* Either the collection authority or the tree owner/delegate,
|
|
217
|
+
* depending on whether the asset is in a verified collection.
|
|
218
|
+
*/
|
|
219
|
+
authority: TAccountMetas[1];
|
|
220
|
+
/** Used when the asset is in a verified collection. */
|
|
221
|
+
collectionMint?: TAccountMetas[2] | undefined;
|
|
222
|
+
/** Used when the asset is in a verified collection. */
|
|
96
223
|
collectionMetadata?: TAccountMetas[3] | undefined;
|
|
224
|
+
/**
|
|
225
|
+
* Delegated collection authority record PDA. Pass the Bubblegum
|
|
226
|
+
* program id if `collectionAuthority` is the collection's direct
|
|
227
|
+
* update authority rather than a delegate.
|
|
228
|
+
*/
|
|
97
229
|
collectionAuthorityRecordPda?: TAccountMetas[4] | undefined;
|
|
230
|
+
/** Owner of the compressed NFT leaf being operated on. */
|
|
98
231
|
leafOwner: TAccountMetas[5];
|
|
232
|
+
/**
|
|
233
|
+
* Delegate authority for the leaf; defaults to the leaf owner when no
|
|
234
|
+
* delegate is set.
|
|
235
|
+
*/
|
|
99
236
|
leafDelegate: TAccountMetas[6];
|
|
237
|
+
/** Account that pays for the transaction and any account rent. */
|
|
100
238
|
payer: TAccountMetas[7];
|
|
239
|
+
/**
|
|
240
|
+
* The concurrent Merkle tree account storing the compressed leaves,
|
|
241
|
+
* owned by the account compression program.
|
|
242
|
+
*/
|
|
101
243
|
merkleTree: TAccountMetas[8];
|
|
244
|
+
/**
|
|
245
|
+
* The SPL/MPL Noop program, used to log leaf data so off-chain indexers
|
|
246
|
+
* can reconstruct the tree.
|
|
247
|
+
*/
|
|
102
248
|
logWrapper: TAccountMetas[9];
|
|
249
|
+
/**
|
|
250
|
+
* The SPL/MPL Account Compression program that owns and manages the
|
|
251
|
+
* Merkle tree.
|
|
252
|
+
*/
|
|
103
253
|
compressionProgram: TAccountMetas[10];
|
|
254
|
+
/**
|
|
255
|
+
* The Token Metadata program, invoked to read or (un)verify the
|
|
256
|
+
* legacy collection accounts.
|
|
257
|
+
*/
|
|
104
258
|
tokenMetadataProgram: TAccountMetas[11];
|
|
259
|
+
/** The Solana System program. */
|
|
105
260
|
systemProgram: TAccountMetas[12];
|
|
106
261
|
};
|
|
107
262
|
data: UpdateMetadataInstructionData;
|
|
108
|
-
}
|
|
263
|
+
};
|
|
109
264
|
declare function parseUpdateMetadataInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedUpdateMetadataInstruction<TProgram, TAccountMetas>;
|
|
110
265
|
//#endregion
|
|
111
266
|
export { ParsedUpdateMetadataInstruction, UPDATE_METADATA_DISCRIMINATOR, UpdateMetadataAsyncInput, UpdateMetadataInput, UpdateMetadataInstruction, UpdateMetadataInstructionData, UpdateMetadataInstructionDataArgs, getUpdateMetadataDiscriminatorBytes, getUpdateMetadataInstruction, getUpdateMetadataInstructionAsync, getUpdateMetadataInstructionDataCodec, getUpdateMetadataInstructionDataDecoder, getUpdateMetadataInstructionDataEncoder, parseUpdateMetadataInstruction };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateMetadata.d.ts","names":[],"sources":["../../../src/generated/instructions/updateMetadata.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"updateMetadata.d.ts","names":[],"sources":["../../../src/generated/instructions/updateMetadata.ts"],"mappings":"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"}
|
|
@@ -5,6 +5,13 @@ import "../programs/bubblegum.js";
|
|
|
5
5
|
import { SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, combineCodec, fixDecoderSize, fixEncoderSize, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, transformEncoder } from "@solana/kit";
|
|
6
6
|
import { getAccountMetaFactory, getAddressFromResolvedInstructionAccount } from "@solana/program-client-core";
|
|
7
7
|
//#region src/generated/instructions/updateMetadata.ts
|
|
8
|
+
/**
|
|
9
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
10
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
11
|
+
* to add features, then rerun Codama to update it.
|
|
12
|
+
*
|
|
13
|
+
* @see https://github.com/codama-idl/codama
|
|
14
|
+
*/
|
|
8
15
|
const UPDATE_METADATA_DISCRIMINATOR = new Uint8Array([
|
|
9
16
|
170,
|
|
10
17
|
182,
|
|
@@ -44,6 +51,13 @@ function getUpdateMetadataInstructionDataDecoder() {
|
|
|
44
51
|
function getUpdateMetadataInstructionDataCodec() {
|
|
45
52
|
return combineCodec(getUpdateMetadataInstructionDataEncoder(), getUpdateMetadataInstructionDataDecoder());
|
|
46
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Updates the on-chain metadata fields of a compressed NFT leaf.
|
|
56
|
+
*
|
|
57
|
+
* The caller supplies `currentMetadata` (verified against the leaf's
|
|
58
|
+
* stored `dataHash`) and `updateArgs` describing which fields to
|
|
59
|
+
* change; unset fields in `updateArgs` are left as-is.
|
|
60
|
+
*/
|
|
47
61
|
async function getUpdateMetadataInstructionAsync(input, config) {
|
|
48
62
|
const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
|
|
49
63
|
const accounts = {
|
|
@@ -127,6 +141,13 @@ async function getUpdateMetadataInstructionAsync(input, config) {
|
|
|
127
141
|
programAddress
|
|
128
142
|
});
|
|
129
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Updates the on-chain metadata fields of a compressed NFT leaf.
|
|
146
|
+
*
|
|
147
|
+
* The caller supplies `currentMetadata` (verified against the leaf's
|
|
148
|
+
* stored `dataHash`) and `updateArgs` describing which fields to
|
|
149
|
+
* change; unset fields in `updateArgs` are left as-is.
|
|
150
|
+
*/
|
|
130
151
|
function getUpdateMetadataInstruction(input, config) {
|
|
131
152
|
const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
|
|
132
153
|
const accounts = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateMetadata.js","names":[],"sources":["../../../src/generated/instructions/updateMetadata.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 ReadonlyAccount,\n ReadonlySignerAccount,\n ReadonlyUint8Array,\n TransactionSigner,\n WritableAccount,\n} from \"@solana/kit\";\nimport type { ResolvedInstructionAccount } from \"@solana/program-client-core\";\nimport type {\n MetadataArgs,\n MetadataArgsArgs,\n UpdateArgs,\n UpdateArgsArgs,\n} from \"../types/index.js\";\nimport {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\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\";\nimport {\n getMetadataArgsDecoder,\n getMetadataArgsEncoder,\n getUpdateArgsDecoder,\n getUpdateArgsEncoder,\n} from \"../types/index.js\";\n\nexport const UPDATE_METADATA_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array(\n [170, 182, 43, 239, 97, 78, 225, 186],\n);\n\nexport function getUpdateMetadataDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n UPDATE_METADATA_DISCRIMINATOR,\n );\n}\n\nexport type UpdateMetadataInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountAuthority extends string | AccountMeta<string> = string,\n TAccountCollectionMint extends string | AccountMeta<string> = string,\n TAccountCollectionMetadata extends string | AccountMeta<string> = string,\n TAccountCollectionAuthorityRecordPda extends\n | string\n | AccountMeta<string> = \"BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY\",\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountLeafDelegate extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountLogWrapper extends\n | string\n | AccountMeta<string> = \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\",\n TAccountCompressionProgram extends\n | string\n | AccountMeta<string> = \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\",\n TAccountTokenMetadataProgram extends\n | string\n | AccountMeta<string> = \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\",\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 ? ReadonlyAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountAuthority extends string\n ? ReadonlySignerAccount<TAccountAuthority> &\n AccountSignerMeta<TAccountAuthority>\n : TAccountAuthority,\n TAccountCollectionMint extends string\n ? ReadonlyAccount<TAccountCollectionMint>\n : TAccountCollectionMint,\n TAccountCollectionMetadata extends string\n ? ReadonlyAccount<TAccountCollectionMetadata>\n : TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda extends string\n ? ReadonlyAccount<TAccountCollectionAuthorityRecordPda>\n : TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner extends string\n ? ReadonlyAccount<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountLeafDelegate extends string\n ? ReadonlyAccount<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountPayer extends string\n ? ReadonlySignerAccount<TAccountPayer> &\n AccountSignerMeta<TAccountPayer>\n : TAccountPayer,\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 TAccountTokenMetadataProgram extends string\n ? ReadonlyAccount<TAccountTokenMetadataProgram>\n : TAccountTokenMetadataProgram,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport interface UpdateMetadataInstructionData {\n discriminator: ReadonlyUint8Array;\n root: number[];\n nonce: bigint;\n index: number;\n currentMetadata: MetadataArgs;\n updateArgs: UpdateArgs;\n}\n\nexport interface UpdateMetadataInstructionDataArgs {\n root: number[];\n nonce: number | bigint;\n index: number;\n currentMetadata: MetadataArgsArgs;\n updateArgs: UpdateArgsArgs;\n}\n\nexport function getUpdateMetadataInstructionDataEncoder(): Encoder<UpdateMetadataInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"root\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n [\"currentMetadata\", getMetadataArgsEncoder()],\n [\"updateArgs\", getUpdateArgsEncoder()],\n ]),\n (value) => ({ ...value, discriminator: UPDATE_METADATA_DISCRIMINATOR }),\n );\n}\n\nexport function getUpdateMetadataInstructionDataDecoder(): Decoder<UpdateMetadataInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"root\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n [\"currentMetadata\", getMetadataArgsDecoder()],\n [\"updateArgs\", getUpdateArgsDecoder()],\n ]);\n}\n\nexport function getUpdateMetadataInstructionDataCodec(): Codec<\n UpdateMetadataInstructionDataArgs,\n UpdateMetadataInstructionData\n> {\n return combineCodec(\n getUpdateMetadataInstructionDataEncoder(),\n getUpdateMetadataInstructionDataDecoder(),\n );\n}\n\nexport interface UpdateMetadataAsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountAuthority extends string = string,\n TAccountCollectionMint extends string = string,\n TAccountCollectionMetadata extends string = string,\n TAccountCollectionAuthorityRecordPda extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountPayer extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountTokenMetadataProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority?: Address<TAccountTreeAuthority>;\n /**\n * Either collection authority or tree owner/delegate, depending\n * on whether the item is in a verified collection\n */\n authority: TransactionSigner<TAccountAuthority>;\n /** Used when item is in a verified collection */\n collectionMint?: Address<TAccountCollectionMint>;\n /** Used when item is in a verified collection */\n collectionMetadata?: Address<TAccountCollectionMetadata>;\n collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;\n leafOwner: Address<TAccountLeafOwner>;\n leafDelegate: Address<TAccountLeafDelegate>;\n payer: TransactionSigner<TAccountPayer>;\n merkleTree: Address<TAccountMerkleTree>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: UpdateMetadataInstructionDataArgs[\"root\"];\n nonce: UpdateMetadataInstructionDataArgs[\"nonce\"];\n index: UpdateMetadataInstructionDataArgs[\"index\"];\n currentMetadata: UpdateMetadataInstructionDataArgs[\"currentMetadata\"];\n updateArgs: UpdateMetadataInstructionDataArgs[\"updateArgs\"];\n}\n\nexport async function getUpdateMetadataInstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountAuthority extends string,\n TAccountCollectionMint extends string,\n TAccountCollectionMetadata extends string,\n TAccountCollectionAuthorityRecordPda extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountPayer extends string,\n TAccountMerkleTree extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountTokenMetadataProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: UpdateMetadataAsyncInput<\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n UpdateMetadataInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\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: false },\n authority: { value: input.authority ?? null, isWritable: false },\n collectionMint: { value: input.collectionMint ?? null, isWritable: false },\n collectionMetadata: {\n value: input.collectionMetadata ?? null,\n isWritable: false,\n },\n collectionAuthorityRecordPda: {\n value: input.collectionAuthorityRecordPda ?? null,\n isWritable: false,\n },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n payer: { value: input.payer ?? 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 tokenMetadataProgram: {\n value: input.tokenMetadataProgram ?? 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 \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\n }\n if (!accounts.tokenMetadataProgram.value) {\n accounts.tokenMetadataProgram.value =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\" as Address<\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\">;\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(\"authority\", accounts.authority),\n getAccountMeta(\"collectionMint\", accounts.collectionMint),\n getAccountMeta(\"collectionMetadata\", accounts.collectionMetadata),\n getAccountMeta(\n \"collectionAuthorityRecordPda\",\n accounts.collectionAuthorityRecordPda,\n ),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getUpdateMetadataInstructionDataEncoder().encode(\n args as UpdateMetadataInstructionDataArgs,\n ),\n programAddress,\n } as UpdateMetadataInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface UpdateMetadataInput<\n TAccountTreeAuthority extends string = string,\n TAccountAuthority extends string = string,\n TAccountCollectionMint extends string = string,\n TAccountCollectionMetadata extends string = string,\n TAccountCollectionAuthorityRecordPda extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountPayer extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountTokenMetadataProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority: Address<TAccountTreeAuthority>;\n /**\n * Either collection authority or tree owner/delegate, depending\n * on whether the item is in a verified collection\n */\n authority: TransactionSigner<TAccountAuthority>;\n /** Used when item is in a verified collection */\n collectionMint?: Address<TAccountCollectionMint>;\n /** Used when item is in a verified collection */\n collectionMetadata?: Address<TAccountCollectionMetadata>;\n collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;\n leafOwner: Address<TAccountLeafOwner>;\n leafDelegate: Address<TAccountLeafDelegate>;\n payer: TransactionSigner<TAccountPayer>;\n merkleTree: Address<TAccountMerkleTree>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: UpdateMetadataInstructionDataArgs[\"root\"];\n nonce: UpdateMetadataInstructionDataArgs[\"nonce\"];\n index: UpdateMetadataInstructionDataArgs[\"index\"];\n currentMetadata: UpdateMetadataInstructionDataArgs[\"currentMetadata\"];\n updateArgs: UpdateMetadataInstructionDataArgs[\"updateArgs\"];\n}\n\nexport function getUpdateMetadataInstruction<\n TAccountTreeAuthority extends string,\n TAccountAuthority extends string,\n TAccountCollectionMint extends string,\n TAccountCollectionMetadata extends string,\n TAccountCollectionAuthorityRecordPda extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountPayer extends string,\n TAccountMerkleTree extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountTokenMetadataProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: UpdateMetadataInput<\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): UpdateMetadataInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\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: false },\n authority: { value: input.authority ?? null, isWritable: false },\n collectionMint: { value: input.collectionMint ?? null, isWritable: false },\n collectionMetadata: {\n value: input.collectionMetadata ?? null,\n isWritable: false,\n },\n collectionAuthorityRecordPda: {\n value: input.collectionAuthorityRecordPda ?? null,\n isWritable: false,\n },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n payer: { value: input.payer ?? 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 tokenMetadataProgram: {\n value: input.tokenMetadataProgram ?? 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 \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\n }\n if (!accounts.tokenMetadataProgram.value) {\n accounts.tokenMetadataProgram.value =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\" as Address<\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\">;\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(\"authority\", accounts.authority),\n getAccountMeta(\"collectionMint\", accounts.collectionMint),\n getAccountMeta(\"collectionMetadata\", accounts.collectionMetadata),\n getAccountMeta(\n \"collectionAuthorityRecordPda\",\n accounts.collectionAuthorityRecordPda,\n ),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getUpdateMetadataInstructionDataEncoder().encode(\n args as UpdateMetadataInstructionDataArgs,\n ),\n programAddress,\n } as UpdateMetadataInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface ParsedUpdateMetadataInstruction<\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 /**\n * Either collection authority or tree owner/delegate, depending\n * on whether the item is in a verified collection\n */\n authority: TAccountMetas[1];\n /** Used when item is in a verified collection */\n collectionMint?: TAccountMetas[2] | undefined;\n /** Used when item is in a verified collection */\n collectionMetadata?: TAccountMetas[3] | undefined;\n collectionAuthorityRecordPda?: TAccountMetas[4] | undefined;\n leafOwner: TAccountMetas[5];\n leafDelegate: TAccountMetas[6];\n payer: TAccountMetas[7];\n merkleTree: TAccountMetas[8];\n logWrapper: TAccountMetas[9];\n compressionProgram: TAccountMetas[10];\n tokenMetadataProgram: TAccountMetas[11];\n systemProgram: TAccountMetas[12];\n };\n data: UpdateMetadataInstructionData;\n}\n\nexport function parseUpdateMetadataInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedUpdateMetadataInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 13) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 13,\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 authority: getNextAccount(),\n collectionMint: getNextOptionalAccount(),\n collectionMetadata: getNextOptionalAccount(),\n collectionAuthorityRecordPda: getNextOptionalAccount(),\n leafOwner: getNextAccount(),\n leafDelegate: getNextAccount(),\n payer: getNextAccount(),\n merkleTree: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n tokenMetadataProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getUpdateMetadataInstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updateMetadata.js","names":[],"sources":["../../../src/generated/instructions/updateMetadata.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 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 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\";\nimport {\n getMetadataArgsDecoder,\n getMetadataArgsEncoder,\n getUpdateArgsDecoder,\n getUpdateArgsEncoder,\n type MetadataArgs,\n type MetadataArgsArgs,\n type UpdateArgs,\n type UpdateArgsArgs,\n} from \"../types/index.js\";\n\nexport const UPDATE_METADATA_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array(\n [170, 182, 43, 239, 97, 78, 225, 186],\n);\n\nexport function getUpdateMetadataDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n UPDATE_METADATA_DISCRIMINATOR,\n );\n}\n\nexport type UpdateMetadataInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountAuthority extends string | AccountMeta<string> = string,\n TAccountCollectionMint extends string | AccountMeta<string> = string,\n TAccountCollectionMetadata extends string | AccountMeta<string> = string,\n TAccountCollectionAuthorityRecordPda extends string | AccountMeta<string> =\n \"BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY\",\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountLeafDelegate extends string | AccountMeta<string> = string,\n TAccountPayer extends string | AccountMeta<string> = string,\n TAccountMerkleTree extends string | AccountMeta<string> = string,\n TAccountLogWrapper extends string | AccountMeta<string> =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\",\n TAccountCompressionProgram extends string | AccountMeta<string> =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\",\n TAccountTokenMetadataProgram extends string | AccountMeta<string> =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\",\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 ? ReadonlyAccount<TAccountTreeAuthority>\n : TAccountTreeAuthority,\n TAccountAuthority extends string\n ? ReadonlySignerAccount<TAccountAuthority> &\n AccountSignerMeta<TAccountAuthority>\n : TAccountAuthority,\n TAccountCollectionMint extends string\n ? ReadonlyAccount<TAccountCollectionMint>\n : TAccountCollectionMint,\n TAccountCollectionMetadata extends string\n ? ReadonlyAccount<TAccountCollectionMetadata>\n : TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda extends string\n ? ReadonlyAccount<TAccountCollectionAuthorityRecordPda>\n : TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner extends string\n ? ReadonlyAccount<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountLeafDelegate extends string\n ? ReadonlyAccount<TAccountLeafDelegate>\n : TAccountLeafDelegate,\n TAccountPayer extends string\n ? ReadonlySignerAccount<TAccountPayer> &\n AccountSignerMeta<TAccountPayer>\n : TAccountPayer,\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 TAccountTokenMetadataProgram extends string\n ? ReadonlyAccount<TAccountTokenMetadataProgram>\n : TAccountTokenMetadataProgram,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport type UpdateMetadataInstructionData = {\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 * 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 * The leaf's current metadata args, verified against `dataHash` before\n * `updateArgs` is applied.\n */\n currentMetadata: MetadataArgs;\n /**\n * The metadata fields to change; fields left unset keep their current\n * value on the leaf.\n */\n updateArgs: UpdateArgs;\n};\n\nexport type UpdateMetadataInstructionDataArgs = {\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 * 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 * The leaf's current metadata args, verified against `dataHash` before\n * `updateArgs` is applied.\n */\n currentMetadata: MetadataArgsArgs;\n /**\n * The metadata fields to change; fields left unset keep their current\n * value on the leaf.\n */\n updateArgs: UpdateArgsArgs;\n};\n\nexport function getUpdateMetadataInstructionDataEncoder(): Encoder<UpdateMetadataInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"root\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n [\"currentMetadata\", getMetadataArgsEncoder()],\n [\"updateArgs\", getUpdateArgsEncoder()],\n ]),\n (value) => ({ ...value, discriminator: UPDATE_METADATA_DISCRIMINATOR }),\n );\n}\n\nexport function getUpdateMetadataInstructionDataDecoder(): Decoder<UpdateMetadataInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"root\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n [\"currentMetadata\", getMetadataArgsDecoder()],\n [\"updateArgs\", getUpdateArgsDecoder()],\n ]);\n}\n\nexport function getUpdateMetadataInstructionDataCodec(): Codec<\n UpdateMetadataInstructionDataArgs,\n UpdateMetadataInstructionData\n> {\n return combineCodec(\n getUpdateMetadataInstructionDataEncoder(),\n getUpdateMetadataInstructionDataDecoder(),\n );\n}\n\nexport type UpdateMetadataAsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountAuthority extends string = string,\n TAccountCollectionMint extends string = string,\n TAccountCollectionMetadata extends string = string,\n TAccountCollectionAuthorityRecordPda extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountPayer extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountTokenMetadataProgram 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 * Either the collection authority or the tree owner/delegate,\n * depending on whether the asset is in a verified collection.\n */\n authority: TransactionSigner<TAccountAuthority>;\n /** Used when the asset is in a verified collection. */\n collectionMint?: Address<TAccountCollectionMint>;\n /** Used when the asset is in a verified collection. */\n collectionMetadata?: Address<TAccountCollectionMetadata>;\n /**\n * Delegated collection authority record PDA. Pass the Bubblegum\n * program id if `collectionAuthority` is the collection's direct\n * update authority rather than a delegate.\n */\n collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: Address<TAccountLeafOwner>;\n /**\n * Delegate authority for the leaf; defaults to the leaf owner when no\n * delegate is set.\n */\n leafDelegate: Address<TAccountLeafDelegate>;\n /** Account that pays for the transaction and any account rent. */\n payer: TransactionSigner<TAccountPayer>;\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 /**\n * The Token Metadata program, invoked to read or (un)verify the\n * legacy collection accounts.\n */\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n /** The Solana System program. */\n systemProgram?: Address<TAccountSystemProgram>;\n root: UpdateMetadataInstructionDataArgs[\"root\"];\n nonce: UpdateMetadataInstructionDataArgs[\"nonce\"];\n index: UpdateMetadataInstructionDataArgs[\"index\"];\n currentMetadata: UpdateMetadataInstructionDataArgs[\"currentMetadata\"];\n updateArgs: UpdateMetadataInstructionDataArgs[\"updateArgs\"];\n};\n\n/**\n * Updates the on-chain metadata fields of a compressed NFT leaf.\n *\n * The caller supplies `currentMetadata` (verified against the leaf's\n * stored `dataHash`) and `updateArgs` describing which fields to\n * change; unset fields in `updateArgs` are left as-is.\n */\nexport async function getUpdateMetadataInstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountAuthority extends string,\n TAccountCollectionMint extends string,\n TAccountCollectionMetadata extends string,\n TAccountCollectionAuthorityRecordPda extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountPayer extends string,\n TAccountMerkleTree extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountTokenMetadataProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: UpdateMetadataAsyncInput<\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n UpdateMetadataInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\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: false },\n authority: { value: input.authority ?? null, isWritable: false },\n collectionMint: { value: input.collectionMint ?? null, isWritable: false },\n collectionMetadata: {\n value: input.collectionMetadata ?? null,\n isWritable: false,\n },\n collectionAuthorityRecordPda: {\n value: input.collectionAuthorityRecordPda ?? null,\n isWritable: false,\n },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n payer: { value: input.payer ?? 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 tokenMetadataProgram: {\n value: input.tokenMetadataProgram ?? 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 \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\n }\n if (!accounts.tokenMetadataProgram.value) {\n accounts.tokenMetadataProgram.value =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\" as Address<\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\">;\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(\"authority\", accounts.authority),\n getAccountMeta(\"collectionMint\", accounts.collectionMint),\n getAccountMeta(\"collectionMetadata\", accounts.collectionMetadata),\n getAccountMeta(\n \"collectionAuthorityRecordPda\",\n accounts.collectionAuthorityRecordPda,\n ),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getUpdateMetadataInstructionDataEncoder().encode(\n args as UpdateMetadataInstructionDataArgs,\n ),\n programAddress,\n } as UpdateMetadataInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >);\n}\n\nexport type UpdateMetadataInput<\n TAccountTreeAuthority extends string = string,\n TAccountAuthority extends string = string,\n TAccountCollectionMint extends string = string,\n TAccountCollectionMetadata extends string = string,\n TAccountCollectionAuthorityRecordPda extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountLeafDelegate extends string = string,\n TAccountPayer extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountTokenMetadataProgram 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 * Either the collection authority or the tree owner/delegate,\n * depending on whether the asset is in a verified collection.\n */\n authority: TransactionSigner<TAccountAuthority>;\n /** Used when the asset is in a verified collection. */\n collectionMint?: Address<TAccountCollectionMint>;\n /** Used when the asset is in a verified collection. */\n collectionMetadata?: Address<TAccountCollectionMetadata>;\n /**\n * Delegated collection authority record PDA. Pass the Bubblegum\n * program id if `collectionAuthority` is the collection's direct\n * update authority rather than a delegate.\n */\n collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: Address<TAccountLeafOwner>;\n /**\n * Delegate authority for the leaf; defaults to the leaf owner when no\n * delegate is set.\n */\n leafDelegate: Address<TAccountLeafDelegate>;\n /** Account that pays for the transaction and any account rent. */\n payer: TransactionSigner<TAccountPayer>;\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 /**\n * The Token Metadata program, invoked to read or (un)verify the\n * legacy collection accounts.\n */\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n /** The Solana System program. */\n systemProgram?: Address<TAccountSystemProgram>;\n root: UpdateMetadataInstructionDataArgs[\"root\"];\n nonce: UpdateMetadataInstructionDataArgs[\"nonce\"];\n index: UpdateMetadataInstructionDataArgs[\"index\"];\n currentMetadata: UpdateMetadataInstructionDataArgs[\"currentMetadata\"];\n updateArgs: UpdateMetadataInstructionDataArgs[\"updateArgs\"];\n};\n\n/**\n * Updates the on-chain metadata fields of a compressed NFT leaf.\n *\n * The caller supplies `currentMetadata` (verified against the leaf's\n * stored `dataHash`) and `updateArgs` describing which fields to\n * change; unset fields in `updateArgs` are left as-is.\n */\nexport function getUpdateMetadataInstruction<\n TAccountTreeAuthority extends string,\n TAccountAuthority extends string,\n TAccountCollectionMint extends string,\n TAccountCollectionMetadata extends string,\n TAccountCollectionAuthorityRecordPda extends string,\n TAccountLeafOwner extends string,\n TAccountLeafDelegate extends string,\n TAccountPayer extends string,\n TAccountMerkleTree extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountTokenMetadataProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: UpdateMetadataInput<\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): UpdateMetadataInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\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: false },\n authority: { value: input.authority ?? null, isWritable: false },\n collectionMint: { value: input.collectionMint ?? null, isWritable: false },\n collectionMetadata: {\n value: input.collectionMetadata ?? null,\n isWritable: false,\n },\n collectionAuthorityRecordPda: {\n value: input.collectionAuthorityRecordPda ?? null,\n isWritable: false,\n },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },\n payer: { value: input.payer ?? 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 tokenMetadataProgram: {\n value: input.tokenMetadataProgram ?? 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 \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\n }\n if (!accounts.tokenMetadataProgram.value) {\n accounts.tokenMetadataProgram.value =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\" as Address<\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\">;\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(\"authority\", accounts.authority),\n getAccountMeta(\"collectionMint\", accounts.collectionMint),\n getAccountMeta(\"collectionMetadata\", accounts.collectionMetadata),\n getAccountMeta(\n \"collectionAuthorityRecordPda\",\n accounts.collectionAuthorityRecordPda,\n ),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"leafDelegate\", accounts.leafDelegate),\n getAccountMeta(\"payer\", accounts.payer),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getUpdateMetadataInstructionDataEncoder().encode(\n args as UpdateMetadataInstructionDataArgs,\n ),\n programAddress,\n } as UpdateMetadataInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountAuthority,\n TAccountCollectionMint,\n TAccountCollectionMetadata,\n TAccountCollectionAuthorityRecordPda,\n TAccountLeafOwner,\n TAccountLeafDelegate,\n TAccountPayer,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountTokenMetadataProgram,\n TAccountSystemProgram\n >);\n}\n\nexport type ParsedUpdateMetadataInstruction<\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 * Either the collection authority or the tree owner/delegate,\n * depending on whether the asset is in a verified collection.\n */\n authority: TAccountMetas[1];\n /** Used when the asset is in a verified collection. */\n collectionMint?: TAccountMetas[2] | undefined;\n /** Used when the asset is in a verified collection. */\n collectionMetadata?: TAccountMetas[3] | undefined;\n /**\n * Delegated collection authority record PDA. Pass the Bubblegum\n * program id if `collectionAuthority` is the collection's direct\n * update authority rather than a delegate.\n */\n collectionAuthorityRecordPda?: TAccountMetas[4] | undefined;\n /** Owner of the compressed NFT leaf being operated on. */\n leafOwner: TAccountMetas[5];\n /**\n * Delegate authority for the leaf; defaults to the leaf owner when no\n * delegate is set.\n */\n leafDelegate: TAccountMetas[6];\n /** Account that pays for the transaction and any account rent. */\n payer: TAccountMetas[7];\n /**\n * The concurrent Merkle tree account storing the compressed leaves,\n * owned by the account compression program.\n */\n merkleTree: TAccountMetas[8];\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[9];\n /**\n * The SPL/MPL Account Compression program that owns and manages the\n * Merkle tree.\n */\n compressionProgram: TAccountMetas[10];\n /**\n * The Token Metadata program, invoked to read or (un)verify the\n * legacy collection accounts.\n */\n tokenMetadataProgram: TAccountMetas[11];\n /** The Solana System program. */\n systemProgram: TAccountMetas[12];\n };\n data: UpdateMetadataInstructionData;\n};\n\nexport function parseUpdateMetadataInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedUpdateMetadataInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 13) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 13,\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 authority: getNextAccount(),\n collectionMint: getNextOptionalAccount(),\n collectionMetadata: getNextOptionalAccount(),\n collectionAuthorityRecordPda: getNextOptionalAccount(),\n leafOwner: getNextAccount(),\n leafDelegate: getNextAccount(),\n payer: getNextAccount(),\n merkleTree: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n tokenMetadataProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getUpdateMetadataInstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}
|