@macalinao/clients-mpl-bubblegum 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/accounts/index.d.ts +2 -10
- package/dist/generated/accounts/treeConfig.d.ts +42 -38
- package/dist/generated/accounts/treeConfig.d.ts.map +1 -1
- package/dist/generated/accounts/treeConfig.js +70 -53
- package/dist/generated/accounts/treeConfig.js.map +1 -1
- package/dist/generated/accounts/voucher.d.ts +33 -30
- package/dist/generated/accounts/voucher.d.ts.map +1 -1
- package/dist/generated/accounts/voucher.js +61 -45
- package/dist/generated/accounts/voucher.js.map +1 -1
- package/dist/generated/errors/bubblegum.d.ts +71 -74
- package/dist/generated/errors/bubblegum.d.ts.map +1 -1
- package/dist/generated/errors/bubblegum.js +126 -133
- package/dist/generated/errors/bubblegum.js.map +1 -1
- package/dist/generated/errors/index.d.ts +1 -9
- package/dist/generated/index.d.ts +63 -13
- package/dist/generated/instructions/burn.d.ts +70 -65
- package/dist/generated/instructions/burn.d.ts.map +1 -1
- package/dist/generated/instructions/burn.js +168 -98
- package/dist/generated/instructions/burn.js.map +1 -1
- package/dist/generated/instructions/burnV2.d.ts +107 -96
- package/dist/generated/instructions/burnV2.d.ts.map +1 -1
- package/dist/generated/instructions/burnV2.js +239 -136
- package/dist/generated/instructions/burnV2.js.map +1 -1
- package/dist/generated/instructions/cancelRedeem.d.ts +54 -53
- package/dist/generated/instructions/cancelRedeem.d.ts.map +1 -1
- package/dist/generated/instructions/cancelRedeem.js +154 -90
- package/dist/generated/instructions/cancelRedeem.js.map +1 -1
- package/dist/generated/instructions/closeTreeV2.d.ts +64 -60
- package/dist/generated/instructions/closeTreeV2.d.ts.map +1 -1
- package/dist/generated/instructions/closeTreeV2.js +152 -84
- package/dist/generated/instructions/closeTreeV2.js.map +1 -1
- package/dist/generated/instructions/collectV2.d.ts +28 -35
- package/dist/generated/instructions/collectV2.d.ts.map +1 -1
- package/dist/generated/instructions/collectV2.js +63 -60
- package/dist/generated/instructions/collectV2.js.map +1 -1
- package/dist/generated/instructions/compress.d.ts +71 -71
- package/dist/generated/instructions/compress.d.ts.map +1 -1
- package/dist/generated/instructions/compress.js +233 -116
- package/dist/generated/instructions/compress.js.map +1 -1
- package/dist/generated/instructions/createTree.d.ts +62 -59
- package/dist/generated/instructions/createTree.d.ts.map +1 -1
- package/dist/generated/instructions/createTree.js +164 -94
- package/dist/generated/instructions/createTree.js.map +1 -1
- package/dist/generated/instructions/createTreeV2.d.ts +64 -61
- package/dist/generated/instructions/createTreeV2.d.ts.map +1 -1
- package/dist/generated/instructions/createTreeV2.js +168 -100
- package/dist/generated/instructions/createTreeV2.js.map +1 -1
- package/dist/generated/instructions/decompressV1.d.ts +73 -72
- package/dist/generated/instructions/decompressV1.d.ts.map +1 -1
- package/dist/generated/instructions/decompressV1.js +251 -128
- package/dist/generated/instructions/decompressV1.js.map +1 -1
- package/dist/generated/instructions/delegate.d.ts +73 -68
- package/dist/generated/instructions/delegate.d.ts.map +1 -1
- package/dist/generated/instructions/delegate.js +179 -107
- package/dist/generated/instructions/delegate.js.map +1 -1
- package/dist/generated/instructions/delegateAndFreezeV2.d.ts +92 -84
- package/dist/generated/instructions/delegateAndFreezeV2.d.ts.map +1 -1
- package/dist/generated/instructions/delegateAndFreezeV2.js +201 -136
- package/dist/generated/instructions/delegateAndFreezeV2.js.map +1 -1
- package/dist/generated/instructions/delegateV2.d.ts +92 -84
- package/dist/generated/instructions/delegateV2.d.ts.map +1 -1
- package/dist/generated/instructions/delegateV2.js +200 -134
- package/dist/generated/instructions/delegateV2.js.map +1 -1
- package/dist/generated/instructions/freezeV2.d.ts +99 -88
- package/dist/generated/instructions/freezeV2.d.ts.map +1 -1
- package/dist/generated/instructions/freezeV2.js +209 -123
- package/dist/generated/instructions/freezeV2.js.map +1 -1
- package/dist/generated/instructions/index.d.ts +36 -44
- package/dist/generated/instructions/mintToCollectionV1.d.ts +94 -89
- package/dist/generated/instructions/mintToCollectionV1.d.ts.map +1 -1
- package/dist/generated/instructions/mintToCollectionV1.js +277 -139
- package/dist/generated/instructions/mintToCollectionV1.js.map +1 -1
- package/dist/generated/instructions/mintV1.d.ts +61 -60
- package/dist/generated/instructions/mintV1.d.ts.map +1 -1
- package/dist/generated/instructions/mintV1.js +177 -97
- package/dist/generated/instructions/mintV1.js.map +1 -1
- package/dist/generated/instructions/mintV2.d.ts +86 -82
- package/dist/generated/instructions/mintV2.d.ts.map +1 -1
- package/dist/generated/instructions/mintV2.js +244 -135
- package/dist/generated/instructions/mintV2.js.map +1 -1
- package/dist/generated/instructions/redeem.d.ts +73 -68
- package/dist/generated/instructions/redeem.d.ts.map +1 -1
- package/dist/generated/instructions/redeem.js +179 -101
- package/dist/generated/instructions/redeem.js.map +1 -1
- package/dist/generated/instructions/setAndVerifyCollection.d.ts +133 -117
- package/dist/generated/instructions/setAndVerifyCollection.d.ts.map +1 -1
- package/dist/generated/instructions/setAndVerifyCollection.js +295 -151
- package/dist/generated/instructions/setAndVerifyCollection.js.map +1 -1
- package/dist/generated/instructions/setCollectionV2.d.ts +125 -110
- package/dist/generated/instructions/setCollectionV2.d.ts.map +1 -1
- package/dist/generated/instructions/setCollectionV2.js +257 -146
- package/dist/generated/instructions/setCollectionV2.js.map +1 -1
- package/dist/generated/instructions/setDecompressableState.d.ts +32 -39
- package/dist/generated/instructions/setDecompressableState.d.ts.map +1 -1
- package/dist/generated/instructions/setDecompressableState.js +66 -69
- package/dist/generated/instructions/setDecompressableState.js.map +1 -1
- package/dist/generated/instructions/setDecompressibleState.d.ts +32 -39
- package/dist/generated/instructions/setDecompressibleState.d.ts.map +1 -1
- package/dist/generated/instructions/setDecompressibleState.js +66 -69
- package/dist/generated/instructions/setDecompressibleState.js.map +1 -1
- package/dist/generated/instructions/setNonTransferableV2.d.ts +101 -90
- package/dist/generated/instructions/setNonTransferableV2.d.ts.map +1 -1
- package/dist/generated/instructions/setNonTransferableV2.js +210 -125
- package/dist/generated/instructions/setNonTransferableV2.js.map +1 -1
- package/dist/generated/instructions/setTreeDelegate.d.ts +44 -44
- package/dist/generated/instructions/setTreeDelegate.d.ts.map +1 -1
- package/dist/generated/instructions/setTreeDelegate.js +127 -77
- package/dist/generated/instructions/setTreeDelegate.js.map +1 -1
- package/dist/generated/instructions/thawAndRevokeV2.d.ts +87 -79
- package/dist/generated/instructions/thawAndRevokeV2.d.ts.map +1 -1
- package/dist/generated/instructions/thawAndRevokeV2.js +190 -124
- package/dist/generated/instructions/thawAndRevokeV2.js.map +1 -1
- package/dist/generated/instructions/thawV2.d.ts +99 -88
- package/dist/generated/instructions/thawV2.d.ts.map +1 -1
- package/dist/generated/instructions/thawV2.js +209 -123
- package/dist/generated/instructions/thawV2.js.map +1 -1
- package/dist/generated/instructions/transfer.d.ts +73 -68
- package/dist/generated/instructions/transfer.d.ts.map +1 -1
- package/dist/generated/instructions/transfer.js +179 -101
- package/dist/generated/instructions/transfer.js.map +1 -1
- package/dist/generated/instructions/transferV2.d.ts +104 -93
- package/dist/generated/instructions/transferV2.d.ts.map +1 -1
- package/dist/generated/instructions/transferV2.js +220 -126
- package/dist/generated/instructions/transferV2.js.map +1 -1
- package/dist/generated/instructions/unverifyCollection.d.ts +129 -114
- package/dist/generated/instructions/unverifyCollection.d.ts.map +1 -1
- package/dist/generated/instructions/unverifyCollection.js +293 -146
- package/dist/generated/instructions/unverifyCollection.js.map +1 -1
- package/dist/generated/instructions/unverifyCreator.d.ts +81 -75
- package/dist/generated/instructions/unverifyCreator.d.ts.map +1 -1
- package/dist/generated/instructions/unverifyCreator.js +194 -106
- package/dist/generated/instructions/unverifyCreator.js.map +1 -1
- package/dist/generated/instructions/unverifyCreatorV2.d.ts +85 -79
- package/dist/generated/instructions/unverifyCreatorV2.d.ts.map +1 -1
- package/dist/generated/instructions/unverifyCreatorV2.js +198 -118
- package/dist/generated/instructions/unverifyCreatorV2.js.map +1 -1
- package/dist/generated/instructions/updateAssetDataV2.d.ts +108 -95
- package/dist/generated/instructions/updateAssetDataV2.d.ts.map +1 -1
- package/dist/generated/instructions/updateAssetDataV2.js +215 -136
- package/dist/generated/instructions/updateAssetDataV2.js.map +1 -1
- package/dist/generated/instructions/updateMetadata.d.ts +106 -96
- package/dist/generated/instructions/updateMetadata.d.ts.map +1 -1
- package/dist/generated/instructions/updateMetadata.js +243 -135
- package/dist/generated/instructions/updateMetadata.js.map +1 -1
- package/dist/generated/instructions/updateMetadataV2.d.ts +103 -91
- package/dist/generated/instructions/updateMetadataV2.d.ts.map +1 -1
- package/dist/generated/instructions/updateMetadataV2.js +212 -123
- package/dist/generated/instructions/updateMetadataV2.js.map +1 -1
- package/dist/generated/instructions/verifyCollection.d.ts +129 -114
- package/dist/generated/instructions/verifyCollection.d.ts.map +1 -1
- package/dist/generated/instructions/verifyCollection.js +293 -146
- package/dist/generated/instructions/verifyCollection.js.map +1 -1
- package/dist/generated/instructions/verifyCreator.d.ts +81 -75
- package/dist/generated/instructions/verifyCreator.d.ts.map +1 -1
- package/dist/generated/instructions/verifyCreator.js +193 -107
- package/dist/generated/instructions/verifyCreator.js.map +1 -1
- package/dist/generated/instructions/verifyCreatorV2.d.ts +85 -79
- package/dist/generated/instructions/verifyCreatorV2.d.ts.map +1 -1
- package/dist/generated/instructions/verifyCreatorV2.js +198 -118
- package/dist/generated/instructions/verifyCreatorV2.js.map +1 -1
- package/dist/generated/pdas/assetId.d.ts +16 -0
- package/dist/generated/pdas/assetId.d.ts.map +1 -0
- package/dist/generated/pdas/assetId.js +18 -0
- package/dist/generated/pdas/assetId.js.map +1 -0
- package/dist/generated/pdas/bubblegumSigner.d.ts +10 -0
- package/dist/generated/pdas/bubblegumSigner.d.ts.map +1 -0
- package/dist/generated/pdas/bubblegumSigner.js +14 -0
- package/dist/generated/pdas/bubblegumSigner.js.map +1 -0
- package/dist/generated/pdas/index.d.ts +7 -0
- package/dist/generated/pdas/masterEdition.d.ts +14 -0
- package/dist/generated/pdas/masterEdition.d.ts.map +1 -0
- package/dist/generated/pdas/masterEdition.js +19 -0
- package/dist/generated/pdas/masterEdition.js.map +1 -0
- package/dist/generated/pdas/metadata.d.ts +14 -0
- package/dist/generated/pdas/metadata.d.ts.map +1 -0
- package/dist/generated/pdas/metadata.js +18 -0
- package/dist/generated/pdas/metadata.js.map +1 -0
- package/dist/generated/pdas/mintAuthority.d.ts +14 -0
- package/dist/generated/pdas/mintAuthority.d.ts.map +1 -0
- package/dist/generated/pdas/mintAuthority.js +14 -0
- package/dist/generated/pdas/mintAuthority.js.map +1 -0
- package/dist/generated/pdas/treeConfig.d.ts +14 -0
- package/dist/generated/pdas/treeConfig.d.ts.map +1 -0
- package/dist/generated/pdas/treeConfig.js +14 -0
- package/dist/generated/pdas/treeConfig.js.map +1 -0
- package/dist/generated/pdas/voucher.d.ts +16 -0
- package/dist/generated/pdas/voucher.d.ts.map +1 -0
- package/dist/generated/pdas/voucher.js +18 -0
- package/dist/generated/pdas/voucher.js.map +1 -0
- package/dist/generated/programs/bubblegum.d.ts +186 -143
- package/dist/generated/programs/bubblegum.d.ts.map +1 -1
- package/dist/generated/programs/bubblegum.js +839 -561
- package/dist/generated/programs/bubblegum.js.map +1 -1
- package/dist/generated/programs/index.d.ts +2 -9
- package/dist/generated/programs/mplTokenMetadata.d.ts +20 -0
- package/dist/generated/programs/mplTokenMetadata.d.ts.map +1 -0
- package/dist/generated/programs/mplTokenMetadata.js +17 -0
- package/dist/generated/programs/mplTokenMetadata.js.map +1 -0
- package/dist/generated/types/assetDataSchema.d.ts +13 -16
- package/dist/generated/types/assetDataSchema.d.ts.map +1 -1
- package/dist/generated/types/assetDataSchema.js +16 -19
- package/dist/generated/types/assetDataSchema.js.map +1 -1
- package/dist/generated/types/bubblegumEventType.d.ts +12 -15
- package/dist/generated/types/bubblegumEventType.d.ts.map +1 -1
- package/dist/generated/types/bubblegumEventType.js +15 -18
- package/dist/generated/types/bubblegumEventType.js.map +1 -1
- package/dist/generated/types/collection.d.ts +12 -15
- package/dist/generated/types/collection.d.ts.map +1 -1
- package/dist/generated/types/collection.js +11 -20
- package/dist/generated/types/collection.js.map +1 -1
- package/dist/generated/types/creator.d.ts +18 -21
- package/dist/generated/types/creator.d.ts.map +1 -1
- package/dist/generated/types/creator.js +19 -22
- package/dist/generated/types/creator.js.map +1 -1
- package/dist/generated/types/decompressibleState.d.ts +12 -15
- package/dist/generated/types/decompressibleState.d.ts.map +1 -1
- package/dist/generated/types/decompressibleState.js +15 -18
- package/dist/generated/types/decompressibleState.js.map +1 -1
- package/dist/generated/types/index.d.ts +15 -23
- package/dist/generated/types/instructionName.d.ts +45 -48
- package/dist/generated/types/instructionName.d.ts.map +1 -1
- package/dist/generated/types/instructionName.js +48 -51
- package/dist/generated/types/instructionName.js.map +1 -1
- package/dist/generated/types/leafSchema.d.ts +48 -51
- package/dist/generated/types/leafSchema.d.ts.map +1 -1
- package/dist/generated/types/leafSchema.js +55 -72
- package/dist/generated/types/leafSchema.js.map +1 -1
- package/dist/generated/types/metadataArgs.d.ts +59 -58
- package/dist/generated/types/metadataArgs.d.ts.map +1 -1
- package/dist/generated/types/metadataArgs.js +42 -41
- package/dist/generated/types/metadataArgs.js.map +1 -1
- package/dist/generated/types/metadataArgsV2.d.ts +48 -50
- package/dist/generated/types/metadataArgsV2.d.ts.map +1 -1
- package/dist/generated/types/metadataArgsV2.js +33 -35
- package/dist/generated/types/metadataArgsV2.js.map +1 -1
- package/dist/generated/types/tokenProgramVersion.d.ts +12 -15
- package/dist/generated/types/tokenProgramVersion.d.ts.map +1 -1
- package/dist/generated/types/tokenProgramVersion.js +15 -18
- package/dist/generated/types/tokenProgramVersion.js.map +1 -1
- package/dist/generated/types/tokenStandard.d.ts +14 -17
- package/dist/generated/types/tokenStandard.d.ts.map +1 -1
- package/dist/generated/types/tokenStandard.js +17 -20
- package/dist/generated/types/tokenStandard.js.map +1 -1
- package/dist/generated/types/updateArgs.d.ts +25 -28
- package/dist/generated/types/updateArgs.d.ts.map +1 -1
- package/dist/generated/types/updateArgs.js +28 -49
- package/dist/generated/types/updateArgs.js.map +1 -1
- package/dist/generated/types/useMethod.d.ts +13 -16
- package/dist/generated/types/useMethod.d.ts.map +1 -1
- package/dist/generated/types/useMethod.js +16 -19
- package/dist/generated/types/useMethod.js.map +1 -1
- package/dist/generated/types/uses.d.ts +17 -20
- package/dist/generated/types/uses.d.ts.map +1 -1
- package/dist/generated/types/uses.js +20 -23
- package/dist/generated/types/uses.js.map +1 -1
- package/dist/generated/types/version.d.ts +12 -15
- package/dist/generated/types/version.d.ts.map +1 -1
- package/dist/generated/types/version.js +15 -18
- package/dist/generated/types/version.js.map +1 -1
- package/dist/index.d.ts +64 -8
- package/dist/index.js +64 -8
- package/package.json +7 -5
- package/src/generated/accounts/treeConfig.ts +22 -0
- package/src/generated/accounts/voucher.ts +22 -0
- package/src/generated/errors/bubblegum.ts +1 -1
- package/src/generated/index.ts +1 -0
- package/src/generated/instructions/burn.ts +155 -11
- package/src/generated/instructions/burnV2.ts +226 -16
- package/src/generated/instructions/cancelRedeem.ts +151 -11
- package/src/generated/instructions/closeTreeV2.ts +150 -11
- package/src/generated/instructions/collectV2.ts +3 -3
- package/src/generated/instructions/compress.ts +219 -18
- package/src/generated/instructions/createTree.ts +153 -11
- package/src/generated/instructions/createTreeV2.ts +154 -11
- package/src/generated/instructions/decompressV1.ts +258 -16
- package/src/generated/instructions/delegate.ts +170 -12
- package/src/generated/instructions/delegateAndFreezeV2.ts +184 -13
- package/src/generated/instructions/delegateV2.ts +184 -13
- package/src/generated/instructions/freezeV2.ts +188 -14
- package/src/generated/instructions/mintToCollectionV1.ts +296 -21
- package/src/generated/instructions/mintV1.ts +169 -13
- package/src/generated/instructions/mintV2.ts +231 -17
- package/src/generated/instructions/redeem.ts +164 -12
- package/src/generated/instructions/setAndVerifyCollection.ts +307 -21
- package/src/generated/instructions/setCollectionV2.ts +253 -19
- package/src/generated/instructions/setDecompressableState.ts +3 -3
- package/src/generated/instructions/setDecompressibleState.ts +3 -3
- package/src/generated/instructions/setNonTransferableV2.ts +189 -14
- package/src/generated/instructions/setTreeDelegate.ts +105 -7
- package/src/generated/instructions/thawAndRevokeV2.ts +168 -12
- package/src/generated/instructions/thawV2.ts +188 -14
- package/src/generated/instructions/transfer.ts +164 -12
- package/src/generated/instructions/transferV2.ts +198 -15
- package/src/generated/instructions/unverifyCollection.ts +306 -21
- package/src/generated/instructions/unverifyCreator.ts +174 -13
- package/src/generated/instructions/unverifyCreatorV2.ts +176 -13
- package/src/generated/instructions/updateAssetDataV2.ts +190 -14
- package/src/generated/instructions/updateMetadata.ts +233 -17
- package/src/generated/instructions/updateMetadataV2.ts +189 -14
- package/src/generated/instructions/verifyCollection.ts +306 -21
- package/src/generated/instructions/verifyCreator.ts +174 -13
- package/src/generated/instructions/verifyCreatorV2.ts +176 -13
- package/src/generated/pdas/assetId.ts +40 -0
- package/src/generated/pdas/bubblegumSigner.ts +23 -0
- package/{dist/generated/accounts/index.js → src/generated/pdas/index.ts} +6 -1
- package/src/generated/pdas/masterEdition.ts +38 -0
- package/src/generated/pdas/metadata.ts +37 -0
- package/src/generated/pdas/mintAuthority.ts +29 -0
- package/src/generated/pdas/treeConfig.ts +29 -0
- package/src/generated/pdas/voucher.ts +40 -0
- package/src/generated/programs/bubblegum.ts +208 -165
- package/src/generated/programs/index.ts +1 -0
- package/src/generated/programs/mplTokenMetadata.ts +42 -0
- package/dist/.tsbuildinfo +0 -1
- package/dist/generated/accounts/index.d.ts.map +0 -1
- package/dist/generated/accounts/index.js.map +0 -1
- package/dist/generated/errors/index.d.ts.map +0 -1
- package/dist/generated/errors/index.js +0 -9
- package/dist/generated/errors/index.js.map +0 -1
- package/dist/generated/index.d.ts.map +0 -1
- package/dist/generated/index.js +0 -13
- package/dist/generated/index.js.map +0 -1
- package/dist/generated/instructions/index.d.ts.map +0 -1
- package/dist/generated/instructions/index.js +0 -44
- package/dist/generated/instructions/index.js.map +0 -1
- package/dist/generated/programs/index.d.ts.map +0 -1
- package/dist/generated/programs/index.js +0 -9
- package/dist/generated/programs/index.js.map +0 -1
- package/dist/generated/types/index.d.ts.map +0 -1
- package/dist/generated/types/index.js +0 -23
- package/dist/generated/types/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -49,7 +49,11 @@ import {
|
|
|
49
49
|
SolanaError,
|
|
50
50
|
transformEncoder,
|
|
51
51
|
} from "@solana/kit";
|
|
52
|
-
import {
|
|
52
|
+
import {
|
|
53
|
+
getAccountMetaFactory,
|
|
54
|
+
getAddressFromResolvedInstructionAccount,
|
|
55
|
+
} from "@solana/program-client-core";
|
|
56
|
+
import { findTreeConfigPda } from "../pdas/index.js";
|
|
53
57
|
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
54
58
|
import {
|
|
55
59
|
getMetadataArgsDecoder,
|
|
@@ -70,24 +74,30 @@ export function getUpdateMetadataDiscriminatorBytes(): ReadonlyUint8Array {
|
|
|
70
74
|
|
|
71
75
|
export type UpdateMetadataInstruction<
|
|
72
76
|
TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
73
|
-
TAccountTreeAuthority extends string | AccountMeta = string,
|
|
74
|
-
TAccountAuthority extends string | AccountMeta = string,
|
|
75
|
-
TAccountCollectionMint extends string | AccountMeta = string,
|
|
76
|
-
TAccountCollectionMetadata extends string | AccountMeta = string,
|
|
77
|
-
TAccountCollectionAuthorityRecordPda extends
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
77
|
+
TAccountTreeAuthority extends string | AccountMeta<string> = string,
|
|
78
|
+
TAccountAuthority extends string | AccountMeta<string> = string,
|
|
79
|
+
TAccountCollectionMint extends string | AccountMeta<string> = string,
|
|
80
|
+
TAccountCollectionMetadata extends string | AccountMeta<string> = string,
|
|
81
|
+
TAccountCollectionAuthorityRecordPda extends
|
|
82
|
+
| string
|
|
83
|
+
| AccountMeta<string> = "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY",
|
|
84
|
+
TAccountLeafOwner extends string | AccountMeta<string> = string,
|
|
85
|
+
TAccountLeafDelegate extends string | AccountMeta<string> = string,
|
|
86
|
+
TAccountPayer extends string | AccountMeta<string> = string,
|
|
87
|
+
TAccountMerkleTree extends string | AccountMeta<string> = string,
|
|
88
|
+
TAccountLogWrapper extends
|
|
89
|
+
| string
|
|
90
|
+
| AccountMeta<string> = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV",
|
|
91
|
+
TAccountCompressionProgram extends
|
|
92
|
+
| string
|
|
93
|
+
| AccountMeta<string> = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK",
|
|
84
94
|
TAccountTokenMetadataProgram extends
|
|
85
95
|
| string
|
|
86
|
-
| AccountMeta = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
|
|
96
|
+
| AccountMeta<string> = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",
|
|
87
97
|
TAccountSystemProgram extends
|
|
88
98
|
| string
|
|
89
|
-
| AccountMeta = "11111111111111111111111111111111",
|
|
90
|
-
TRemainingAccounts extends readonly AccountMeta[] = [],
|
|
99
|
+
| AccountMeta<string> = "11111111111111111111111111111111",
|
|
100
|
+
TRemainingAccounts extends readonly AccountMeta<string>[] = [],
|
|
91
101
|
> = Instruction<TProgram> &
|
|
92
102
|
InstructionWithData<ReadonlyUint8Array> &
|
|
93
103
|
InstructionWithAccounts<
|
|
@@ -189,6 +199,204 @@ export function getUpdateMetadataInstructionDataCodec(): Codec<
|
|
|
189
199
|
);
|
|
190
200
|
}
|
|
191
201
|
|
|
202
|
+
export interface UpdateMetadataAsyncInput<
|
|
203
|
+
TAccountTreeAuthority extends string = string,
|
|
204
|
+
TAccountAuthority extends string = string,
|
|
205
|
+
TAccountCollectionMint extends string = string,
|
|
206
|
+
TAccountCollectionMetadata extends string = string,
|
|
207
|
+
TAccountCollectionAuthorityRecordPda extends string = string,
|
|
208
|
+
TAccountLeafOwner extends string = string,
|
|
209
|
+
TAccountLeafDelegate extends string = string,
|
|
210
|
+
TAccountPayer extends string = string,
|
|
211
|
+
TAccountMerkleTree extends string = string,
|
|
212
|
+
TAccountLogWrapper extends string = string,
|
|
213
|
+
TAccountCompressionProgram extends string = string,
|
|
214
|
+
TAccountTokenMetadataProgram extends string = string,
|
|
215
|
+
TAccountSystemProgram extends string = string,
|
|
216
|
+
> {
|
|
217
|
+
treeAuthority?: Address<TAccountTreeAuthority>;
|
|
218
|
+
/**
|
|
219
|
+
* Either collection authority or tree owner/delegate, depending
|
|
220
|
+
* on whether the item is in a verified collection
|
|
221
|
+
*/
|
|
222
|
+
authority: TransactionSigner<TAccountAuthority>;
|
|
223
|
+
/** Used when item is in a verified collection */
|
|
224
|
+
collectionMint?: Address<TAccountCollectionMint>;
|
|
225
|
+
/** Used when item is in a verified collection */
|
|
226
|
+
collectionMetadata?: Address<TAccountCollectionMetadata>;
|
|
227
|
+
collectionAuthorityRecordPda?: Address<TAccountCollectionAuthorityRecordPda>;
|
|
228
|
+
leafOwner: Address<TAccountLeafOwner>;
|
|
229
|
+
leafDelegate: Address<TAccountLeafDelegate>;
|
|
230
|
+
payer: TransactionSigner<TAccountPayer>;
|
|
231
|
+
merkleTree: Address<TAccountMerkleTree>;
|
|
232
|
+
logWrapper?: Address<TAccountLogWrapper>;
|
|
233
|
+
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
234
|
+
tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
|
|
235
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
236
|
+
root: UpdateMetadataInstructionDataArgs["root"];
|
|
237
|
+
nonce: UpdateMetadataInstructionDataArgs["nonce"];
|
|
238
|
+
index: UpdateMetadataInstructionDataArgs["index"];
|
|
239
|
+
currentMetadata: UpdateMetadataInstructionDataArgs["currentMetadata"];
|
|
240
|
+
updateArgs: UpdateMetadataInstructionDataArgs["updateArgs"];
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
export async function getUpdateMetadataInstructionAsync<
|
|
244
|
+
TAccountTreeAuthority extends string,
|
|
245
|
+
TAccountAuthority extends string,
|
|
246
|
+
TAccountCollectionMint extends string,
|
|
247
|
+
TAccountCollectionMetadata extends string,
|
|
248
|
+
TAccountCollectionAuthorityRecordPda extends string,
|
|
249
|
+
TAccountLeafOwner extends string,
|
|
250
|
+
TAccountLeafDelegate extends string,
|
|
251
|
+
TAccountPayer extends string,
|
|
252
|
+
TAccountMerkleTree extends string,
|
|
253
|
+
TAccountLogWrapper extends string,
|
|
254
|
+
TAccountCompressionProgram extends string,
|
|
255
|
+
TAccountTokenMetadataProgram extends string,
|
|
256
|
+
TAccountSystemProgram extends string,
|
|
257
|
+
TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
258
|
+
>(
|
|
259
|
+
input: UpdateMetadataAsyncInput<
|
|
260
|
+
TAccountTreeAuthority,
|
|
261
|
+
TAccountAuthority,
|
|
262
|
+
TAccountCollectionMint,
|
|
263
|
+
TAccountCollectionMetadata,
|
|
264
|
+
TAccountCollectionAuthorityRecordPda,
|
|
265
|
+
TAccountLeafOwner,
|
|
266
|
+
TAccountLeafDelegate,
|
|
267
|
+
TAccountPayer,
|
|
268
|
+
TAccountMerkleTree,
|
|
269
|
+
TAccountLogWrapper,
|
|
270
|
+
TAccountCompressionProgram,
|
|
271
|
+
TAccountTokenMetadataProgram,
|
|
272
|
+
TAccountSystemProgram
|
|
273
|
+
>,
|
|
274
|
+
config?: { programAddress?: TProgramAddress },
|
|
275
|
+
): Promise<
|
|
276
|
+
UpdateMetadataInstruction<
|
|
277
|
+
TProgramAddress,
|
|
278
|
+
TAccountTreeAuthority,
|
|
279
|
+
TAccountAuthority,
|
|
280
|
+
TAccountCollectionMint,
|
|
281
|
+
TAccountCollectionMetadata,
|
|
282
|
+
TAccountCollectionAuthorityRecordPda,
|
|
283
|
+
TAccountLeafOwner,
|
|
284
|
+
TAccountLeafDelegate,
|
|
285
|
+
TAccountPayer,
|
|
286
|
+
TAccountMerkleTree,
|
|
287
|
+
TAccountLogWrapper,
|
|
288
|
+
TAccountCompressionProgram,
|
|
289
|
+
TAccountTokenMetadataProgram,
|
|
290
|
+
TAccountSystemProgram
|
|
291
|
+
>
|
|
292
|
+
> {
|
|
293
|
+
// Program address.
|
|
294
|
+
const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
|
|
295
|
+
|
|
296
|
+
// Original accounts.
|
|
297
|
+
const originalAccounts = {
|
|
298
|
+
treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },
|
|
299
|
+
authority: { value: input.authority ?? null, isWritable: false },
|
|
300
|
+
collectionMint: { value: input.collectionMint ?? null, isWritable: false },
|
|
301
|
+
collectionMetadata: {
|
|
302
|
+
value: input.collectionMetadata ?? null,
|
|
303
|
+
isWritable: false,
|
|
304
|
+
},
|
|
305
|
+
collectionAuthorityRecordPda: {
|
|
306
|
+
value: input.collectionAuthorityRecordPda ?? null,
|
|
307
|
+
isWritable: false,
|
|
308
|
+
},
|
|
309
|
+
leafOwner: { value: input.leafOwner ?? null, isWritable: false },
|
|
310
|
+
leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
|
|
311
|
+
payer: { value: input.payer ?? null, isWritable: false },
|
|
312
|
+
merkleTree: { value: input.merkleTree ?? null, isWritable: true },
|
|
313
|
+
logWrapper: { value: input.logWrapper ?? null, isWritable: false },
|
|
314
|
+
compressionProgram: {
|
|
315
|
+
value: input.compressionProgram ?? null,
|
|
316
|
+
isWritable: false,
|
|
317
|
+
},
|
|
318
|
+
tokenMetadataProgram: {
|
|
319
|
+
value: input.tokenMetadataProgram ?? null,
|
|
320
|
+
isWritable: false,
|
|
321
|
+
},
|
|
322
|
+
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
323
|
+
};
|
|
324
|
+
const accounts = originalAccounts as Record<
|
|
325
|
+
keyof typeof originalAccounts,
|
|
326
|
+
ResolvedInstructionAccount
|
|
327
|
+
>;
|
|
328
|
+
|
|
329
|
+
// Original args.
|
|
330
|
+
const args = { ...input };
|
|
331
|
+
|
|
332
|
+
// Resolve default values.
|
|
333
|
+
if (!accounts.treeAuthority.value) {
|
|
334
|
+
accounts.treeAuthority.value = await findTreeConfigPda({
|
|
335
|
+
merkleTree: getAddressFromResolvedInstructionAccount(
|
|
336
|
+
"merkleTree",
|
|
337
|
+
accounts.merkleTree.value,
|
|
338
|
+
),
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
if (!accounts.logWrapper.value) {
|
|
342
|
+
accounts.logWrapper.value =
|
|
343
|
+
"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
|
|
344
|
+
}
|
|
345
|
+
if (!accounts.compressionProgram.value) {
|
|
346
|
+
accounts.compressionProgram.value =
|
|
347
|
+
"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
|
|
348
|
+
}
|
|
349
|
+
if (!accounts.tokenMetadataProgram.value) {
|
|
350
|
+
accounts.tokenMetadataProgram.value =
|
|
351
|
+
"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
|
|
352
|
+
}
|
|
353
|
+
if (!accounts.systemProgram.value) {
|
|
354
|
+
accounts.systemProgram.value =
|
|
355
|
+
"11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
359
|
+
return Object.freeze({
|
|
360
|
+
accounts: [
|
|
361
|
+
getAccountMeta("treeAuthority", accounts.treeAuthority),
|
|
362
|
+
getAccountMeta("authority", accounts.authority),
|
|
363
|
+
getAccountMeta("collectionMint", accounts.collectionMint),
|
|
364
|
+
getAccountMeta("collectionMetadata", accounts.collectionMetadata),
|
|
365
|
+
getAccountMeta(
|
|
366
|
+
"collectionAuthorityRecordPda",
|
|
367
|
+
accounts.collectionAuthorityRecordPda,
|
|
368
|
+
),
|
|
369
|
+
getAccountMeta("leafOwner", accounts.leafOwner),
|
|
370
|
+
getAccountMeta("leafDelegate", accounts.leafDelegate),
|
|
371
|
+
getAccountMeta("payer", accounts.payer),
|
|
372
|
+
getAccountMeta("merkleTree", accounts.merkleTree),
|
|
373
|
+
getAccountMeta("logWrapper", accounts.logWrapper),
|
|
374
|
+
getAccountMeta("compressionProgram", accounts.compressionProgram),
|
|
375
|
+
getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
|
|
376
|
+
getAccountMeta("systemProgram", accounts.systemProgram),
|
|
377
|
+
],
|
|
378
|
+
data: getUpdateMetadataInstructionDataEncoder().encode(
|
|
379
|
+
args as UpdateMetadataInstructionDataArgs,
|
|
380
|
+
),
|
|
381
|
+
programAddress,
|
|
382
|
+
} as UpdateMetadataInstruction<
|
|
383
|
+
TProgramAddress,
|
|
384
|
+
TAccountTreeAuthority,
|
|
385
|
+
TAccountAuthority,
|
|
386
|
+
TAccountCollectionMint,
|
|
387
|
+
TAccountCollectionMetadata,
|
|
388
|
+
TAccountCollectionAuthorityRecordPda,
|
|
389
|
+
TAccountLeafOwner,
|
|
390
|
+
TAccountLeafDelegate,
|
|
391
|
+
TAccountPayer,
|
|
392
|
+
TAccountMerkleTree,
|
|
393
|
+
TAccountLogWrapper,
|
|
394
|
+
TAccountCompressionProgram,
|
|
395
|
+
TAccountTokenMetadataProgram,
|
|
396
|
+
TAccountSystemProgram
|
|
397
|
+
>);
|
|
398
|
+
}
|
|
399
|
+
|
|
192
400
|
export interface UpdateMetadataInput<
|
|
193
401
|
TAccountTreeAuthority extends string = string,
|
|
194
402
|
TAccountAuthority extends string = string,
|
|
@@ -219,8 +427,8 @@ export interface UpdateMetadataInput<
|
|
|
219
427
|
leafDelegate: Address<TAccountLeafDelegate>;
|
|
220
428
|
payer: TransactionSigner<TAccountPayer>;
|
|
221
429
|
merkleTree: Address<TAccountMerkleTree>;
|
|
222
|
-
logWrapper
|
|
223
|
-
compressionProgram
|
|
430
|
+
logWrapper?: Address<TAccountLogWrapper>;
|
|
431
|
+
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
224
432
|
tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;
|
|
225
433
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
226
434
|
root: UpdateMetadataInstructionDataArgs["root"];
|
|
@@ -318,6 +526,14 @@ export function getUpdateMetadataInstruction<
|
|
|
318
526
|
const args = { ...input };
|
|
319
527
|
|
|
320
528
|
// Resolve default values.
|
|
529
|
+
if (!accounts.logWrapper.value) {
|
|
530
|
+
accounts.logWrapper.value =
|
|
531
|
+
"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" as Address<"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV">;
|
|
532
|
+
}
|
|
533
|
+
if (!accounts.compressionProgram.value) {
|
|
534
|
+
accounts.compressionProgram.value =
|
|
535
|
+
"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" as Address<"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK">;
|
|
536
|
+
}
|
|
321
537
|
if (!accounts.tokenMetadataProgram.value) {
|
|
322
538
|
accounts.tokenMetadataProgram.value =
|
|
323
539
|
"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" as Address<"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s">;
|
|
@@ -54,7 +54,11 @@ import {
|
|
|
54
54
|
SolanaError,
|
|
55
55
|
transformEncoder,
|
|
56
56
|
} from "@solana/kit";
|
|
57
|
-
import {
|
|
57
|
+
import {
|
|
58
|
+
getAccountMetaFactory,
|
|
59
|
+
getAddressFromResolvedInstructionAccount,
|
|
60
|
+
} from "@solana/program-client-core";
|
|
61
|
+
import { findTreeConfigPda } from "../pdas/index.js";
|
|
58
62
|
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
59
63
|
import {
|
|
60
64
|
getMetadataArgsV2Decoder,
|
|
@@ -74,19 +78,23 @@ export function getUpdateMetadataV2DiscriminatorBytes(): ReadonlyUint8Array {
|
|
|
74
78
|
|
|
75
79
|
export type UpdateMetadataV2Instruction<
|
|
76
80
|
TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
77
|
-
TAccountTreeAuthority extends string | AccountMeta = string,
|
|
78
|
-
TAccountPayer extends string | AccountMeta = string,
|
|
79
|
-
TAccountAuthority extends string | AccountMeta = string,
|
|
80
|
-
TAccountLeafOwner extends string | AccountMeta = string,
|
|
81
|
-
TAccountLeafDelegate extends string | AccountMeta = string,
|
|
82
|
-
TAccountMerkleTree extends string | AccountMeta = string,
|
|
83
|
-
TAccountCoreCollection extends string | AccountMeta = string,
|
|
84
|
-
TAccountLogWrapper extends
|
|
85
|
-
|
|
81
|
+
TAccountTreeAuthority extends string | AccountMeta<string> = string,
|
|
82
|
+
TAccountPayer extends string | AccountMeta<string> = string,
|
|
83
|
+
TAccountAuthority extends string | AccountMeta<string> = string,
|
|
84
|
+
TAccountLeafOwner extends string | AccountMeta<string> = string,
|
|
85
|
+
TAccountLeafDelegate extends string | AccountMeta<string> = string,
|
|
86
|
+
TAccountMerkleTree extends string | AccountMeta<string> = string,
|
|
87
|
+
TAccountCoreCollection extends string | AccountMeta<string> = string,
|
|
88
|
+
TAccountLogWrapper extends
|
|
89
|
+
| string
|
|
90
|
+
| AccountMeta<string> = "mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3",
|
|
91
|
+
TAccountCompressionProgram extends
|
|
92
|
+
| string
|
|
93
|
+
| AccountMeta<string> = "mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW",
|
|
86
94
|
TAccountSystemProgram extends
|
|
87
95
|
| string
|
|
88
|
-
| AccountMeta = "11111111111111111111111111111111",
|
|
89
|
-
TRemainingAccounts extends readonly AccountMeta[] = [],
|
|
96
|
+
| AccountMeta<string> = "11111111111111111111111111111111",
|
|
97
|
+
TRemainingAccounts extends readonly AccountMeta<string>[] = [],
|
|
90
98
|
> = Instruction<TProgram> &
|
|
91
99
|
InstructionWithData<ReadonlyUint8Array> &
|
|
92
100
|
InstructionWithAccounts<
|
|
@@ -193,6 +201,165 @@ export function getUpdateMetadataV2InstructionDataCodec(): Codec<
|
|
|
193
201
|
);
|
|
194
202
|
}
|
|
195
203
|
|
|
204
|
+
export interface UpdateMetadataV2AsyncInput<
|
|
205
|
+
TAccountTreeAuthority extends string = string,
|
|
206
|
+
TAccountPayer extends string = string,
|
|
207
|
+
TAccountAuthority extends string = string,
|
|
208
|
+
TAccountLeafOwner extends string = string,
|
|
209
|
+
TAccountLeafDelegate extends string = string,
|
|
210
|
+
TAccountMerkleTree extends string = string,
|
|
211
|
+
TAccountCoreCollection extends string = string,
|
|
212
|
+
TAccountLogWrapper extends string = string,
|
|
213
|
+
TAccountCompressionProgram extends string = string,
|
|
214
|
+
TAccountSystemProgram extends string = string,
|
|
215
|
+
> {
|
|
216
|
+
treeAuthority?: Address<TAccountTreeAuthority>;
|
|
217
|
+
payer: TransactionSigner<TAccountPayer>;
|
|
218
|
+
/**
|
|
219
|
+
* Either collection authority or tree owner/delegate, depending
|
|
220
|
+
* on whether the item is in a verified collection. Defaults to `payer`
|
|
221
|
+
*/
|
|
222
|
+
authority?: TransactionSigner<TAccountAuthority>;
|
|
223
|
+
leafOwner: Address<TAccountLeafOwner>;
|
|
224
|
+
/** Defaults to `leaf_owner` */
|
|
225
|
+
leafDelegate?: Address<TAccountLeafDelegate>;
|
|
226
|
+
merkleTree: Address<TAccountMerkleTree>;
|
|
227
|
+
coreCollection?: Address<TAccountCoreCollection>;
|
|
228
|
+
logWrapper?: Address<TAccountLogWrapper>;
|
|
229
|
+
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
230
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
231
|
+
root: UpdateMetadataV2InstructionDataArgs["root"];
|
|
232
|
+
assetDataHash: UpdateMetadataV2InstructionDataArgs["assetDataHash"];
|
|
233
|
+
flags: UpdateMetadataV2InstructionDataArgs["flags"];
|
|
234
|
+
nonce: UpdateMetadataV2InstructionDataArgs["nonce"];
|
|
235
|
+
index: UpdateMetadataV2InstructionDataArgs["index"];
|
|
236
|
+
currentMetadata: UpdateMetadataV2InstructionDataArgs["currentMetadata"];
|
|
237
|
+
updateArgs: UpdateMetadataV2InstructionDataArgs["updateArgs"];
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
export async function getUpdateMetadataV2InstructionAsync<
|
|
241
|
+
TAccountTreeAuthority extends string,
|
|
242
|
+
TAccountPayer extends string,
|
|
243
|
+
TAccountAuthority extends string,
|
|
244
|
+
TAccountLeafOwner extends string,
|
|
245
|
+
TAccountLeafDelegate extends string,
|
|
246
|
+
TAccountMerkleTree extends string,
|
|
247
|
+
TAccountCoreCollection extends string,
|
|
248
|
+
TAccountLogWrapper extends string,
|
|
249
|
+
TAccountCompressionProgram extends string,
|
|
250
|
+
TAccountSystemProgram extends string,
|
|
251
|
+
TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,
|
|
252
|
+
>(
|
|
253
|
+
input: UpdateMetadataV2AsyncInput<
|
|
254
|
+
TAccountTreeAuthority,
|
|
255
|
+
TAccountPayer,
|
|
256
|
+
TAccountAuthority,
|
|
257
|
+
TAccountLeafOwner,
|
|
258
|
+
TAccountLeafDelegate,
|
|
259
|
+
TAccountMerkleTree,
|
|
260
|
+
TAccountCoreCollection,
|
|
261
|
+
TAccountLogWrapper,
|
|
262
|
+
TAccountCompressionProgram,
|
|
263
|
+
TAccountSystemProgram
|
|
264
|
+
>,
|
|
265
|
+
config?: { programAddress?: TProgramAddress },
|
|
266
|
+
): Promise<
|
|
267
|
+
UpdateMetadataV2Instruction<
|
|
268
|
+
TProgramAddress,
|
|
269
|
+
TAccountTreeAuthority,
|
|
270
|
+
TAccountPayer,
|
|
271
|
+
TAccountAuthority,
|
|
272
|
+
TAccountLeafOwner,
|
|
273
|
+
TAccountLeafDelegate,
|
|
274
|
+
TAccountMerkleTree,
|
|
275
|
+
TAccountCoreCollection,
|
|
276
|
+
TAccountLogWrapper,
|
|
277
|
+
TAccountCompressionProgram,
|
|
278
|
+
TAccountSystemProgram
|
|
279
|
+
>
|
|
280
|
+
> {
|
|
281
|
+
// Program address.
|
|
282
|
+
const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;
|
|
283
|
+
|
|
284
|
+
// Original accounts.
|
|
285
|
+
const originalAccounts = {
|
|
286
|
+
treeAuthority: { value: input.treeAuthority ?? null, isWritable: true },
|
|
287
|
+
payer: { value: input.payer ?? null, isWritable: true },
|
|
288
|
+
authority: { value: input.authority ?? null, isWritable: false },
|
|
289
|
+
leafOwner: { value: input.leafOwner ?? null, isWritable: false },
|
|
290
|
+
leafDelegate: { value: input.leafDelegate ?? null, isWritable: false },
|
|
291
|
+
merkleTree: { value: input.merkleTree ?? null, isWritable: true },
|
|
292
|
+
coreCollection: { value: input.coreCollection ?? null, isWritable: false },
|
|
293
|
+
logWrapper: { value: input.logWrapper ?? null, isWritable: false },
|
|
294
|
+
compressionProgram: {
|
|
295
|
+
value: input.compressionProgram ?? null,
|
|
296
|
+
isWritable: false,
|
|
297
|
+
},
|
|
298
|
+
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
299
|
+
};
|
|
300
|
+
const accounts = originalAccounts as Record<
|
|
301
|
+
keyof typeof originalAccounts,
|
|
302
|
+
ResolvedInstructionAccount
|
|
303
|
+
>;
|
|
304
|
+
|
|
305
|
+
// Original args.
|
|
306
|
+
const args = { ...input };
|
|
307
|
+
|
|
308
|
+
// Resolve default values.
|
|
309
|
+
if (!accounts.treeAuthority.value) {
|
|
310
|
+
accounts.treeAuthority.value = await findTreeConfigPda({
|
|
311
|
+
merkleTree: getAddressFromResolvedInstructionAccount(
|
|
312
|
+
"merkleTree",
|
|
313
|
+
accounts.merkleTree.value,
|
|
314
|
+
),
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
if (!accounts.logWrapper.value) {
|
|
318
|
+
accounts.logWrapper.value =
|
|
319
|
+
"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3" as Address<"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3">;
|
|
320
|
+
}
|
|
321
|
+
if (!accounts.compressionProgram.value) {
|
|
322
|
+
accounts.compressionProgram.value =
|
|
323
|
+
"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW" as Address<"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW">;
|
|
324
|
+
}
|
|
325
|
+
if (!accounts.systemProgram.value) {
|
|
326
|
+
accounts.systemProgram.value =
|
|
327
|
+
"11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
331
|
+
return Object.freeze({
|
|
332
|
+
accounts: [
|
|
333
|
+
getAccountMeta("treeAuthority", accounts.treeAuthority),
|
|
334
|
+
getAccountMeta("payer", accounts.payer),
|
|
335
|
+
getAccountMeta("authority", accounts.authority),
|
|
336
|
+
getAccountMeta("leafOwner", accounts.leafOwner),
|
|
337
|
+
getAccountMeta("leafDelegate", accounts.leafDelegate),
|
|
338
|
+
getAccountMeta("merkleTree", accounts.merkleTree),
|
|
339
|
+
getAccountMeta("coreCollection", accounts.coreCollection),
|
|
340
|
+
getAccountMeta("logWrapper", accounts.logWrapper),
|
|
341
|
+
getAccountMeta("compressionProgram", accounts.compressionProgram),
|
|
342
|
+
getAccountMeta("systemProgram", accounts.systemProgram),
|
|
343
|
+
],
|
|
344
|
+
data: getUpdateMetadataV2InstructionDataEncoder().encode(
|
|
345
|
+
args as UpdateMetadataV2InstructionDataArgs,
|
|
346
|
+
),
|
|
347
|
+
programAddress,
|
|
348
|
+
} as UpdateMetadataV2Instruction<
|
|
349
|
+
TProgramAddress,
|
|
350
|
+
TAccountTreeAuthority,
|
|
351
|
+
TAccountPayer,
|
|
352
|
+
TAccountAuthority,
|
|
353
|
+
TAccountLeafOwner,
|
|
354
|
+
TAccountLeafDelegate,
|
|
355
|
+
TAccountMerkleTree,
|
|
356
|
+
TAccountCoreCollection,
|
|
357
|
+
TAccountLogWrapper,
|
|
358
|
+
TAccountCompressionProgram,
|
|
359
|
+
TAccountSystemProgram
|
|
360
|
+
>);
|
|
361
|
+
}
|
|
362
|
+
|
|
196
363
|
export interface UpdateMetadataV2Input<
|
|
197
364
|
TAccountTreeAuthority extends string = string,
|
|
198
365
|
TAccountPayer extends string = string,
|
|
@@ -217,8 +384,8 @@ export interface UpdateMetadataV2Input<
|
|
|
217
384
|
leafDelegate?: Address<TAccountLeafDelegate>;
|
|
218
385
|
merkleTree: Address<TAccountMerkleTree>;
|
|
219
386
|
coreCollection?: Address<TAccountCoreCollection>;
|
|
220
|
-
logWrapper
|
|
221
|
-
compressionProgram
|
|
387
|
+
logWrapper?: Address<TAccountLogWrapper>;
|
|
388
|
+
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
222
389
|
systemProgram?: Address<TAccountSystemProgram>;
|
|
223
390
|
root: UpdateMetadataV2InstructionDataArgs["root"];
|
|
224
391
|
assetDataHash: UpdateMetadataV2InstructionDataArgs["assetDataHash"];
|
|
@@ -296,6 +463,14 @@ export function getUpdateMetadataV2Instruction<
|
|
|
296
463
|
const args = { ...input };
|
|
297
464
|
|
|
298
465
|
// Resolve default values.
|
|
466
|
+
if (!accounts.logWrapper.value) {
|
|
467
|
+
accounts.logWrapper.value =
|
|
468
|
+
"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3" as Address<"mnoopTCrg4p8ry25e4bcWA9XZjbNjMTfgYVGGEdRsf3">;
|
|
469
|
+
}
|
|
470
|
+
if (!accounts.compressionProgram.value) {
|
|
471
|
+
accounts.compressionProgram.value =
|
|
472
|
+
"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW" as Address<"mcmt6YrQEMKw8Mw43FmpRLmf7BqRnFMKmAcbxE3xkAW">;
|
|
473
|
+
}
|
|
299
474
|
if (!accounts.systemProgram.value) {
|
|
300
475
|
accounts.systemProgram.value =
|
|
301
476
|
"11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
|