@macalinao/clients-mpl-bubblegum 0.0.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/README.md +15 -1
- package/dist/generated/accounts/index.d.ts +2 -0
- package/dist/generated/accounts/treeConfig.d.ts +48 -0
- package/dist/generated/accounts/treeConfig.d.ts.map +1 -0
- package/dist/generated/accounts/treeConfig.js +84 -0
- package/dist/generated/accounts/treeConfig.js.map +1 -0
- package/dist/generated/accounts/voucher.d.ts +39 -0
- package/dist/generated/accounts/voucher.d.ts.map +1 -0
- package/dist/generated/accounts/voucher.js +75 -0
- package/dist/generated/accounts/voucher.js.map +1 -0
- package/dist/generated/errors/bubblegum.d.ts +131 -0
- package/dist/generated/errors/bubblegum.d.ts.map +1 -0
- package/dist/generated/errors/bubblegum.js +188 -0
- package/dist/generated/errors/bubblegum.js.map +1 -0
- package/dist/generated/errors/index.d.ts +1 -0
- package/dist/generated/index.d.ts +63 -0
- package/dist/generated/instructions/burn.d.ts +76 -0
- package/dist/generated/instructions/burn.d.ts.map +1 -0
- package/dist/generated/instructions/burn.js +176 -0
- package/dist/generated/instructions/burn.js.map +1 -0
- package/dist/generated/instructions/burnV2.d.ts +113 -0
- package/dist/generated/instructions/burnV2.d.ts.map +1 -0
- package/dist/generated/instructions/burnV2.js +247 -0
- package/dist/generated/instructions/burnV2.js.map +1 -0
- package/dist/generated/instructions/cancelRedeem.d.ts +60 -0
- package/dist/generated/instructions/cancelRedeem.d.ts.map +1 -0
- package/dist/generated/instructions/cancelRedeem.js +162 -0
- package/dist/generated/instructions/cancelRedeem.js.map +1 -0
- package/dist/generated/instructions/closeTreeV2.d.ts +69 -0
- package/dist/generated/instructions/closeTreeV2.d.ts.map +1 -0
- package/dist/generated/instructions/closeTreeV2.js +160 -0
- package/dist/generated/instructions/closeTreeV2.js.map +1 -0
- package/dist/generated/instructions/collectV2.d.ts +33 -0
- package/dist/generated/instructions/collectV2.d.ts.map +1 -0
- package/dist/generated/instructions/collectV2.js +72 -0
- package/dist/generated/instructions/collectV2.js.map +1 -0
- package/dist/generated/instructions/compress.d.ts +76 -0
- package/dist/generated/instructions/compress.d.ts.map +1 -0
- package/dist/generated/instructions/compress.js +241 -0
- package/dist/generated/instructions/compress.js.map +1 -0
- package/dist/generated/instructions/createTree.d.ts +68 -0
- package/dist/generated/instructions/createTree.d.ts.map +1 -0
- package/dist/generated/instructions/createTree.js +172 -0
- package/dist/generated/instructions/createTree.js.map +1 -0
- package/dist/generated/instructions/createTreeV2.d.ts +70 -0
- package/dist/generated/instructions/createTreeV2.d.ts.map +1 -0
- package/dist/generated/instructions/createTreeV2.js +176 -0
- package/dist/generated/instructions/createTreeV2.js.map +1 -0
- package/dist/generated/instructions/decompressV1.d.ts +79 -0
- package/dist/generated/instructions/decompressV1.d.ts.map +1 -0
- package/dist/generated/instructions/decompressV1.js +259 -0
- package/dist/generated/instructions/decompressV1.js.map +1 -0
- package/dist/generated/instructions/delegate.d.ts +79 -0
- package/dist/generated/instructions/delegate.d.ts.map +1 -0
- package/dist/generated/instructions/delegate.js +187 -0
- package/dist/generated/instructions/delegate.js.map +1 -0
- package/dist/generated/instructions/delegateAndFreezeV2.d.ts +98 -0
- package/dist/generated/instructions/delegateAndFreezeV2.d.ts.map +1 -0
- package/dist/generated/instructions/delegateAndFreezeV2.js +208 -0
- package/dist/generated/instructions/delegateAndFreezeV2.js.map +1 -0
- package/dist/generated/instructions/delegateV2.d.ts +98 -0
- package/dist/generated/instructions/delegateV2.d.ts.map +1 -0
- package/dist/generated/instructions/delegateV2.js +208 -0
- package/dist/generated/instructions/delegateV2.js.map +1 -0
- package/dist/generated/instructions/freezeV2.d.ts +105 -0
- package/dist/generated/instructions/freezeV2.d.ts.map +1 -0
- package/dist/generated/instructions/freezeV2.js +217 -0
- package/dist/generated/instructions/freezeV2.js.map +1 -0
- package/dist/generated/instructions/index.d.ts +36 -0
- package/dist/generated/instructions/mintToCollectionV1.d.ts +100 -0
- package/dist/generated/instructions/mintToCollectionV1.d.ts.map +1 -0
- package/dist/generated/instructions/mintToCollectionV1.js +284 -0
- package/dist/generated/instructions/mintToCollectionV1.js.map +1 -0
- package/dist/generated/instructions/mintV1.d.ts +67 -0
- package/dist/generated/instructions/mintV1.d.ts.map +1 -0
- package/dist/generated/instructions/mintV1.js +185 -0
- package/dist/generated/instructions/mintV1.js.map +1 -0
- package/dist/generated/instructions/mintV2.d.ts +92 -0
- package/dist/generated/instructions/mintV2.d.ts.map +1 -0
- package/dist/generated/instructions/mintV2.js +252 -0
- package/dist/generated/instructions/mintV2.js.map +1 -0
- package/dist/generated/instructions/redeem.d.ts +79 -0
- package/dist/generated/instructions/redeem.d.ts.map +1 -0
- package/dist/generated/instructions/redeem.js +187 -0
- package/dist/generated/instructions/redeem.js.map +1 -0
- package/dist/generated/instructions/setAndVerifyCollection.d.ts +139 -0
- package/dist/generated/instructions/setAndVerifyCollection.d.ts.map +1 -0
- package/dist/generated/instructions/setAndVerifyCollection.js +302 -0
- package/dist/generated/instructions/setAndVerifyCollection.js.map +1 -0
- package/dist/generated/instructions/setCollectionV2.d.ts +131 -0
- package/dist/generated/instructions/setCollectionV2.d.ts.map +1 -0
- package/dist/generated/instructions/setCollectionV2.js +264 -0
- package/dist/generated/instructions/setCollectionV2.js.map +1 -0
- package/dist/generated/instructions/setDecompressableState.d.ts +38 -0
- package/dist/generated/instructions/setDecompressableState.d.ts.map +1 -0
- package/dist/generated/instructions/setDecompressableState.js +74 -0
- package/dist/generated/instructions/setDecompressableState.js.map +1 -0
- package/dist/generated/instructions/setDecompressibleState.d.ts +38 -0
- package/dist/generated/instructions/setDecompressibleState.d.ts.map +1 -0
- package/dist/generated/instructions/setDecompressibleState.js +74 -0
- package/dist/generated/instructions/setDecompressibleState.js.map +1 -0
- package/dist/generated/instructions/setNonTransferableV2.d.ts +107 -0
- package/dist/generated/instructions/setNonTransferableV2.d.ts.map +1 -0
- package/dist/generated/instructions/setNonTransferableV2.js +217 -0
- package/dist/generated/instructions/setNonTransferableV2.js.map +1 -0
- package/dist/generated/instructions/setTreeDelegate.d.ts +49 -0
- package/dist/generated/instructions/setTreeDelegate.d.ts.map +1 -0
- package/dist/generated/instructions/setTreeDelegate.js +134 -0
- package/dist/generated/instructions/setTreeDelegate.js.map +1 -0
- package/dist/generated/instructions/thawAndRevokeV2.d.ts +93 -0
- package/dist/generated/instructions/thawAndRevokeV2.d.ts.map +1 -0
- package/dist/generated/instructions/thawAndRevokeV2.js +197 -0
- package/dist/generated/instructions/thawAndRevokeV2.js.map +1 -0
- package/dist/generated/instructions/thawV2.d.ts +105 -0
- package/dist/generated/instructions/thawV2.d.ts.map +1 -0
- package/dist/generated/instructions/thawV2.js +217 -0
- package/dist/generated/instructions/thawV2.js.map +1 -0
- package/dist/generated/instructions/transfer.d.ts +79 -0
- package/dist/generated/instructions/transfer.d.ts.map +1 -0
- package/dist/generated/instructions/transfer.js +187 -0
- package/dist/generated/instructions/transfer.js.map +1 -0
- package/dist/generated/instructions/transferV2.d.ts +110 -0
- package/dist/generated/instructions/transferV2.d.ts.map +1 -0
- package/dist/generated/instructions/transferV2.js +228 -0
- package/dist/generated/instructions/transferV2.js.map +1 -0
- package/dist/generated/instructions/unverifyCollection.d.ts +135 -0
- package/dist/generated/instructions/unverifyCollection.d.ts.map +1 -0
- package/dist/generated/instructions/unverifyCollection.js +300 -0
- package/dist/generated/instructions/unverifyCollection.js.map +1 -0
- package/dist/generated/instructions/unverifyCreator.d.ts +87 -0
- package/dist/generated/instructions/unverifyCreator.d.ts.map +1 -0
- package/dist/generated/instructions/unverifyCreator.js +201 -0
- package/dist/generated/instructions/unverifyCreator.js.map +1 -0
- package/dist/generated/instructions/unverifyCreatorV2.d.ts +91 -0
- package/dist/generated/instructions/unverifyCreatorV2.d.ts.map +1 -0
- package/dist/generated/instructions/unverifyCreatorV2.js +205 -0
- package/dist/generated/instructions/unverifyCreatorV2.js.map +1 -0
- package/dist/generated/instructions/updateAssetDataV2.d.ts +114 -0
- package/dist/generated/instructions/updateAssetDataV2.d.ts.map +1 -0
- package/dist/generated/instructions/updateAssetDataV2.js +222 -0
- package/dist/generated/instructions/updateAssetDataV2.js.map +1 -0
- package/dist/generated/instructions/updateMetadata.d.ts +112 -0
- package/dist/generated/instructions/updateMetadata.d.ts.map +1 -0
- package/dist/generated/instructions/updateMetadata.js +250 -0
- package/dist/generated/instructions/updateMetadata.js.map +1 -0
- package/dist/generated/instructions/updateMetadataV2.d.ts +109 -0
- package/dist/generated/instructions/updateMetadataV2.d.ts.map +1 -0
- package/dist/generated/instructions/updateMetadataV2.js +219 -0
- package/dist/generated/instructions/updateMetadataV2.js.map +1 -0
- package/dist/generated/instructions/verifyCollection.d.ts +135 -0
- package/dist/generated/instructions/verifyCollection.d.ts.map +1 -0
- package/dist/generated/instructions/verifyCollection.js +300 -0
- package/dist/generated/instructions/verifyCollection.js.map +1 -0
- package/dist/generated/instructions/verifyCreator.d.ts +87 -0
- package/dist/generated/instructions/verifyCreator.d.ts.map +1 -0
- package/dist/generated/instructions/verifyCreator.js +201 -0
- package/dist/generated/instructions/verifyCreator.js.map +1 -0
- package/dist/generated/instructions/verifyCreatorV2.d.ts +91 -0
- package/dist/generated/instructions/verifyCreatorV2.d.ts.map +1 -0
- package/dist/generated/instructions/verifyCreatorV2.js +205 -0
- package/dist/generated/instructions/verifyCreatorV2.js.map +1 -0
- 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 +232 -0
- package/dist/generated/programs/bubblegum.d.ts.map +1 -0
- package/dist/generated/programs/bubblegum.js +844 -0
- package/dist/generated/programs/bubblegum.js.map +1 -0
- package/dist/generated/programs/index.d.ts +2 -0
- 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 +15 -0
- package/dist/generated/types/assetDataSchema.d.ts.map +1 -0
- package/dist/generated/types/assetDataSchema.js +21 -0
- package/dist/generated/types/assetDataSchema.js.map +1 -0
- package/dist/generated/types/bubblegumEventType.d.ts +14 -0
- package/dist/generated/types/bubblegumEventType.d.ts.map +1 -0
- package/dist/generated/types/bubblegumEventType.js +20 -0
- package/dist/generated/types/bubblegumEventType.js.map +1 -0
- package/dist/generated/types/collection.d.ts +14 -0
- package/dist/generated/types/collection.d.ts.map +1 -0
- package/dist/generated/types/collection.js +15 -0
- package/dist/generated/types/collection.js.map +1 -0
- package/dist/generated/types/creator.d.ts +20 -0
- package/dist/generated/types/creator.d.ts.map +1 -0
- package/dist/generated/types/creator.js +23 -0
- package/dist/generated/types/creator.js.map +1 -0
- package/dist/generated/types/decompressibleState.d.ts +14 -0
- package/dist/generated/types/decompressibleState.d.ts.map +1 -0
- package/dist/generated/types/decompressibleState.js +20 -0
- package/dist/generated/types/decompressibleState.js.map +1 -0
- package/dist/generated/types/index.d.ts +15 -0
- package/dist/generated/types/instructionName.d.ts +47 -0
- package/dist/generated/types/instructionName.d.ts.map +1 -0
- package/dist/generated/types/instructionName.js +53 -0
- package/dist/generated/types/instructionName.js.map +1 -0
- package/dist/generated/types/leafSchema.d.ts +54 -0
- package/dist/generated/types/leafSchema.d.ts.map +1 -0
- package/dist/generated/types/leafSchema.js +61 -0
- package/dist/generated/types/leafSchema.js.map +1 -0
- package/dist/generated/types/metadataArgs.d.ts +62 -0
- package/dist/generated/types/metadataArgs.d.ts.map +1 -0
- package/dist/generated/types/metadataArgs.js +46 -0
- package/dist/generated/types/metadataArgs.js.map +1 -0
- package/dist/generated/types/metadataArgsV2.d.ts +51 -0
- package/dist/generated/types/metadataArgsV2.d.ts.map +1 -0
- package/dist/generated/types/metadataArgsV2.js +37 -0
- package/dist/generated/types/metadataArgsV2.js.map +1 -0
- package/dist/generated/types/tokenProgramVersion.d.ts +14 -0
- package/dist/generated/types/tokenProgramVersion.d.ts.map +1 -0
- package/dist/generated/types/tokenProgramVersion.js +20 -0
- package/dist/generated/types/tokenProgramVersion.js.map +1 -0
- package/dist/generated/types/tokenStandard.d.ts +16 -0
- package/dist/generated/types/tokenStandard.d.ts.map +1 -0
- package/dist/generated/types/tokenStandard.js +22 -0
- package/dist/generated/types/tokenStandard.js.map +1 -0
- package/dist/generated/types/updateArgs.d.ts +28 -0
- package/dist/generated/types/updateArgs.d.ts.map +1 -0
- package/dist/generated/types/updateArgs.js +32 -0
- package/dist/generated/types/updateArgs.js.map +1 -0
- package/dist/generated/types/useMethod.d.ts +15 -0
- package/dist/generated/types/useMethod.d.ts.map +1 -0
- package/dist/generated/types/useMethod.js +21 -0
- package/dist/generated/types/useMethod.js.map +1 -0
- package/dist/generated/types/uses.d.ts +20 -0
- package/dist/generated/types/uses.d.ts.map +1 -0
- package/dist/generated/types/uses.js +24 -0
- package/dist/generated/types/uses.js.map +1 -0
- package/dist/generated/types/version.d.ts +14 -0
- package/dist/generated/types/version.d.ts.map +1 -0
- package/dist/generated/types/version.js +20 -0
- package/dist/generated/types/version.js.map +1 -0
- package/dist/index.d.ts +64 -0
- package/dist/index.js +64 -0
- package/package.json +53 -5
- package/src/generated/accounts/index.ts +10 -0
- package/src/generated/accounts/treeConfig.ts +197 -0
- package/src/generated/accounts/voucher.ts +166 -0
- package/src/generated/errors/bubblegum.ts +309 -0
- package/src/generated/errors/index.ts +9 -0
- package/src/generated/index.ts +14 -0
- package/src/generated/instructions/burn.ts +454 -0
- package/src/generated/instructions/burnV2.ts +641 -0
- package/src/generated/instructions/cancelRedeem.ts +432 -0
- package/src/generated/instructions/closeTreeV2.ts +424 -0
- package/src/generated/instructions/collectV2.ts +184 -0
- package/src/generated/instructions/compress.ts +589 -0
- package/src/generated/instructions/createTree.ts +448 -0
- package/src/generated/instructions/createTreeV2.ts +459 -0
- package/src/generated/instructions/decompressV1.ts +646 -0
- package/src/generated/instructions/delegate.ts +492 -0
- package/src/generated/instructions/delegateAndFreezeV2.ts +568 -0
- package/src/generated/instructions/delegateV2.ts +562 -0
- package/src/generated/instructions/freezeV2.ts +566 -0
- package/src/generated/instructions/index.ts +44 -0
- package/src/generated/instructions/mintToCollectionV1.ts +732 -0
- package/src/generated/instructions/mintV1.ts +476 -0
- package/src/generated/instructions/mintV2.ts +649 -0
- package/src/generated/instructions/redeem.ts +480 -0
- package/src/generated/instructions/setAndVerifyCollection.ts +792 -0
- package/src/generated/instructions/setCollectionV2.ts +711 -0
- package/src/generated/instructions/setDecompressableState.ts +218 -0
- package/src/generated/instructions/setDecompressibleState.ts +218 -0
- package/src/generated/instructions/setNonTransferableV2.ts +575 -0
- package/src/generated/instructions/setTreeDelegate.ts +344 -0
- package/src/generated/instructions/thawAndRevokeV2.ts +526 -0
- package/src/generated/instructions/thawV2.ts +566 -0
- package/src/generated/instructions/transfer.ts +476 -0
- package/src/generated/instructions/transferV2.ts +591 -0
- package/src/generated/instructions/unverifyCollection.ts +781 -0
- package/src/generated/instructions/unverifyCreator.ts +515 -0
- package/src/generated/instructions/unverifyCreatorV2.ts +538 -0
- package/src/generated/instructions/updateAssetDataV2.ts +599 -0
- package/src/generated/instructions/updateMetadata.ts +665 -0
- package/src/generated/instructions/updateMetadataV2.ts +582 -0
- package/src/generated/instructions/verifyCollection.ts +779 -0
- package/src/generated/instructions/verifyCreator.ts +516 -0
- package/src/generated/instructions/verifyCreatorV2.ts +538 -0
- package/src/generated/pdas/assetId.ts +40 -0
- package/src/generated/pdas/bubblegumSigner.ts +23 -0
- package/src/generated/pdas/index.ts +15 -0
- 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 +1509 -0
- package/src/generated/programs/index.ts +10 -0
- package/src/generated/programs/mplTokenMetadata.ts +42 -0
- package/src/generated/types/assetDataSchema.ts +37 -0
- package/src/generated/types/bubblegumEventType.ts +39 -0
- package/src/generated/types/collection.ts +51 -0
- package/src/generated/types/creator.ts +58 -0
- package/src/generated/types/decompressibleState.ts +39 -0
- package/src/generated/types/index.ts +23 -0
- package/src/generated/types/instructionName.ts +69 -0
- package/src/generated/types/leafSchema.ts +166 -0
- package/src/generated/types/metadataArgs.ts +148 -0
- package/src/generated/types/metadataArgsV2.ts +126 -0
- package/src/generated/types/tokenProgramVersion.ts +39 -0
- package/src/generated/types/tokenStandard.ts +38 -0
- package/src/generated/types/updateArgs.ts +102 -0
- package/src/generated/types/useMethod.ts +34 -0
- package/src/generated/types/uses.ts +54 -0
- package/src/generated/types/version.ts +33 -0
- package/src/index.ts +8 -0
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import { findMasterEditionPda } from "../pdas/masterEdition.js";
|
|
2
|
+
import { findMetadataPda } from "../pdas/metadata.js";
|
|
3
|
+
import { findMintAuthorityPda } from "../pdas/mintAuthority.js";
|
|
4
|
+
import { getMetadataArgsDecoder, getMetadataArgsEncoder } from "../types/metadataArgs.js";
|
|
5
|
+
import "../programs/bubblegum.js";
|
|
6
|
+
import { SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, address, combineCodec, fixDecoderSize, fixEncoderSize, getAddressEncoder, getBytesDecoder, getBytesEncoder, getProgramDerivedAddress, getStructDecoder, getStructEncoder, transformEncoder } from "@solana/kit";
|
|
7
|
+
import { getAccountMetaFactory, getAddressFromResolvedInstructionAccount } from "@solana/program-client-core";
|
|
8
|
+
//#region src/generated/instructions/decompressV1.ts
|
|
9
|
+
const DECOMPRESS_V1_DISCRIMINATOR = new Uint8Array([
|
|
10
|
+
54,
|
|
11
|
+
85,
|
|
12
|
+
76,
|
|
13
|
+
70,
|
|
14
|
+
228,
|
|
15
|
+
250,
|
|
16
|
+
164,
|
|
17
|
+
81
|
|
18
|
+
]);
|
|
19
|
+
function getDecompressV1DiscriminatorBytes() {
|
|
20
|
+
return fixEncoderSize(getBytesEncoder(), 8).encode(DECOMPRESS_V1_DISCRIMINATOR);
|
|
21
|
+
}
|
|
22
|
+
function getDecompressV1InstructionDataEncoder() {
|
|
23
|
+
return transformEncoder(getStructEncoder([["discriminator", fixEncoderSize(getBytesEncoder(), 8)], ["metadata", getMetadataArgsEncoder()]]), (value) => ({
|
|
24
|
+
...value,
|
|
25
|
+
discriminator: DECOMPRESS_V1_DISCRIMINATOR
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
function getDecompressV1InstructionDataDecoder() {
|
|
29
|
+
return getStructDecoder([["discriminator", fixDecoderSize(getBytesDecoder(), 8)], ["metadata", getMetadataArgsDecoder()]]);
|
|
30
|
+
}
|
|
31
|
+
function getDecompressV1InstructionDataCodec() {
|
|
32
|
+
return combineCodec(getDecompressV1InstructionDataEncoder(), getDecompressV1InstructionDataDecoder());
|
|
33
|
+
}
|
|
34
|
+
async function getDecompressV1InstructionAsync(input, config) {
|
|
35
|
+
const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
|
|
36
|
+
const accounts = {
|
|
37
|
+
voucher: {
|
|
38
|
+
value: input.voucher ?? null,
|
|
39
|
+
isWritable: true
|
|
40
|
+
},
|
|
41
|
+
leafOwner: {
|
|
42
|
+
value: input.leafOwner ?? null,
|
|
43
|
+
isWritable: true
|
|
44
|
+
},
|
|
45
|
+
tokenAccount: {
|
|
46
|
+
value: input.tokenAccount ?? null,
|
|
47
|
+
isWritable: true
|
|
48
|
+
},
|
|
49
|
+
mint: {
|
|
50
|
+
value: input.mint ?? null,
|
|
51
|
+
isWritable: true
|
|
52
|
+
},
|
|
53
|
+
mintAuthority: {
|
|
54
|
+
value: input.mintAuthority ?? null,
|
|
55
|
+
isWritable: true
|
|
56
|
+
},
|
|
57
|
+
metadata: {
|
|
58
|
+
value: input.metadata ?? null,
|
|
59
|
+
isWritable: true
|
|
60
|
+
},
|
|
61
|
+
masterEdition: {
|
|
62
|
+
value: input.masterEdition ?? null,
|
|
63
|
+
isWritable: true
|
|
64
|
+
},
|
|
65
|
+
systemProgram: {
|
|
66
|
+
value: input.systemProgram ?? null,
|
|
67
|
+
isWritable: false
|
|
68
|
+
},
|
|
69
|
+
sysvarRent: {
|
|
70
|
+
value: input.sysvarRent ?? null,
|
|
71
|
+
isWritable: false
|
|
72
|
+
},
|
|
73
|
+
tokenMetadataProgram: {
|
|
74
|
+
value: input.tokenMetadataProgram ?? null,
|
|
75
|
+
isWritable: false
|
|
76
|
+
},
|
|
77
|
+
tokenProgram: {
|
|
78
|
+
value: input.tokenProgram ?? null,
|
|
79
|
+
isWritable: false
|
|
80
|
+
},
|
|
81
|
+
associatedTokenProgram: {
|
|
82
|
+
value: input.associatedTokenProgram ?? null,
|
|
83
|
+
isWritable: false
|
|
84
|
+
},
|
|
85
|
+
logWrapper: {
|
|
86
|
+
value: input.logWrapper ?? null,
|
|
87
|
+
isWritable: false
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
const args = {
|
|
91
|
+
...input,
|
|
92
|
+
metadata: input.metadataArg
|
|
93
|
+
};
|
|
94
|
+
if (!accounts.tokenAccount.value) accounts.tokenAccount.value = await getProgramDerivedAddress({
|
|
95
|
+
programAddress: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
|
|
96
|
+
seeds: [
|
|
97
|
+
getAddressEncoder().encode(getAddressFromResolvedInstructionAccount("leafOwner", accounts.leafOwner.value)),
|
|
98
|
+
getAddressEncoder().encode(address("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA")),
|
|
99
|
+
getAddressEncoder().encode(getAddressFromResolvedInstructionAccount("mint", accounts.mint.value))
|
|
100
|
+
]
|
|
101
|
+
});
|
|
102
|
+
if (!accounts.mintAuthority.value) accounts.mintAuthority.value = await findMintAuthorityPda({ mint: getAddressFromResolvedInstructionAccount("mint", accounts.mint.value) });
|
|
103
|
+
if (!accounts.metadata.value) accounts.metadata.value = await findMetadataPda({
|
|
104
|
+
programId: address("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),
|
|
105
|
+
mint: getAddressFromResolvedInstructionAccount("mint", accounts.mint.value)
|
|
106
|
+
});
|
|
107
|
+
if (!accounts.masterEdition.value) accounts.masterEdition.value = await findMasterEditionPda({
|
|
108
|
+
programId: address("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),
|
|
109
|
+
mint: getAddressFromResolvedInstructionAccount("mint", accounts.mint.value)
|
|
110
|
+
});
|
|
111
|
+
if (!accounts.systemProgram.value) accounts.systemProgram.value = "11111111111111111111111111111111";
|
|
112
|
+
if (!accounts.sysvarRent.value) accounts.sysvarRent.value = "SysvarRent111111111111111111111111111111111";
|
|
113
|
+
if (!accounts.tokenMetadataProgram.value) accounts.tokenMetadataProgram.value = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
|
|
114
|
+
if (!accounts.tokenProgram.value) accounts.tokenProgram.value = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
|
|
115
|
+
if (!accounts.associatedTokenProgram.value) accounts.associatedTokenProgram.value = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
|
|
116
|
+
if (!accounts.logWrapper.value) accounts.logWrapper.value = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV";
|
|
117
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
118
|
+
return Object.freeze({
|
|
119
|
+
accounts: [
|
|
120
|
+
getAccountMeta("voucher", accounts.voucher),
|
|
121
|
+
getAccountMeta("leafOwner", accounts.leafOwner),
|
|
122
|
+
getAccountMeta("tokenAccount", accounts.tokenAccount),
|
|
123
|
+
getAccountMeta("mint", accounts.mint),
|
|
124
|
+
getAccountMeta("mintAuthority", accounts.mintAuthority),
|
|
125
|
+
getAccountMeta("metadata", accounts.metadata),
|
|
126
|
+
getAccountMeta("masterEdition", accounts.masterEdition),
|
|
127
|
+
getAccountMeta("systemProgram", accounts.systemProgram),
|
|
128
|
+
getAccountMeta("sysvarRent", accounts.sysvarRent),
|
|
129
|
+
getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
|
|
130
|
+
getAccountMeta("tokenProgram", accounts.tokenProgram),
|
|
131
|
+
getAccountMeta("associatedTokenProgram", accounts.associatedTokenProgram),
|
|
132
|
+
getAccountMeta("logWrapper", accounts.logWrapper)
|
|
133
|
+
],
|
|
134
|
+
data: getDecompressV1InstructionDataEncoder().encode(args),
|
|
135
|
+
programAddress
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
function getDecompressV1Instruction(input, config) {
|
|
139
|
+
const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
|
|
140
|
+
const accounts = {
|
|
141
|
+
voucher: {
|
|
142
|
+
value: input.voucher ?? null,
|
|
143
|
+
isWritable: true
|
|
144
|
+
},
|
|
145
|
+
leafOwner: {
|
|
146
|
+
value: input.leafOwner ?? null,
|
|
147
|
+
isWritable: true
|
|
148
|
+
},
|
|
149
|
+
tokenAccount: {
|
|
150
|
+
value: input.tokenAccount ?? null,
|
|
151
|
+
isWritable: true
|
|
152
|
+
},
|
|
153
|
+
mint: {
|
|
154
|
+
value: input.mint ?? null,
|
|
155
|
+
isWritable: true
|
|
156
|
+
},
|
|
157
|
+
mintAuthority: {
|
|
158
|
+
value: input.mintAuthority ?? null,
|
|
159
|
+
isWritable: true
|
|
160
|
+
},
|
|
161
|
+
metadata: {
|
|
162
|
+
value: input.metadata ?? null,
|
|
163
|
+
isWritable: true
|
|
164
|
+
},
|
|
165
|
+
masterEdition: {
|
|
166
|
+
value: input.masterEdition ?? null,
|
|
167
|
+
isWritable: true
|
|
168
|
+
},
|
|
169
|
+
systemProgram: {
|
|
170
|
+
value: input.systemProgram ?? null,
|
|
171
|
+
isWritable: false
|
|
172
|
+
},
|
|
173
|
+
sysvarRent: {
|
|
174
|
+
value: input.sysvarRent ?? null,
|
|
175
|
+
isWritable: false
|
|
176
|
+
},
|
|
177
|
+
tokenMetadataProgram: {
|
|
178
|
+
value: input.tokenMetadataProgram ?? null,
|
|
179
|
+
isWritable: false
|
|
180
|
+
},
|
|
181
|
+
tokenProgram: {
|
|
182
|
+
value: input.tokenProgram ?? null,
|
|
183
|
+
isWritable: false
|
|
184
|
+
},
|
|
185
|
+
associatedTokenProgram: {
|
|
186
|
+
value: input.associatedTokenProgram ?? null,
|
|
187
|
+
isWritable: false
|
|
188
|
+
},
|
|
189
|
+
logWrapper: {
|
|
190
|
+
value: input.logWrapper ?? null,
|
|
191
|
+
isWritable: false
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
const args = {
|
|
195
|
+
...input,
|
|
196
|
+
metadata: input.metadataArg
|
|
197
|
+
};
|
|
198
|
+
if (!accounts.systemProgram.value) accounts.systemProgram.value = "11111111111111111111111111111111";
|
|
199
|
+
if (!accounts.sysvarRent.value) accounts.sysvarRent.value = "SysvarRent111111111111111111111111111111111";
|
|
200
|
+
if (!accounts.tokenMetadataProgram.value) accounts.tokenMetadataProgram.value = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
|
|
201
|
+
if (!accounts.tokenProgram.value) accounts.tokenProgram.value = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
|
|
202
|
+
if (!accounts.associatedTokenProgram.value) accounts.associatedTokenProgram.value = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
|
|
203
|
+
if (!accounts.logWrapper.value) accounts.logWrapper.value = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV";
|
|
204
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
205
|
+
return Object.freeze({
|
|
206
|
+
accounts: [
|
|
207
|
+
getAccountMeta("voucher", accounts.voucher),
|
|
208
|
+
getAccountMeta("leafOwner", accounts.leafOwner),
|
|
209
|
+
getAccountMeta("tokenAccount", accounts.tokenAccount),
|
|
210
|
+
getAccountMeta("mint", accounts.mint),
|
|
211
|
+
getAccountMeta("mintAuthority", accounts.mintAuthority),
|
|
212
|
+
getAccountMeta("metadata", accounts.metadata),
|
|
213
|
+
getAccountMeta("masterEdition", accounts.masterEdition),
|
|
214
|
+
getAccountMeta("systemProgram", accounts.systemProgram),
|
|
215
|
+
getAccountMeta("sysvarRent", accounts.sysvarRent),
|
|
216
|
+
getAccountMeta("tokenMetadataProgram", accounts.tokenMetadataProgram),
|
|
217
|
+
getAccountMeta("tokenProgram", accounts.tokenProgram),
|
|
218
|
+
getAccountMeta("associatedTokenProgram", accounts.associatedTokenProgram),
|
|
219
|
+
getAccountMeta("logWrapper", accounts.logWrapper)
|
|
220
|
+
],
|
|
221
|
+
data: getDecompressV1InstructionDataEncoder().encode(args),
|
|
222
|
+
programAddress
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
function parseDecompressV1Instruction(instruction) {
|
|
226
|
+
if (instruction.accounts.length < 13) throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, {
|
|
227
|
+
actualAccountMetas: instruction.accounts.length,
|
|
228
|
+
expectedAccountMetas: 13
|
|
229
|
+
});
|
|
230
|
+
let accountIndex = 0;
|
|
231
|
+
const getNextAccount = () => {
|
|
232
|
+
const accountMeta = instruction.accounts[accountIndex];
|
|
233
|
+
accountIndex += 1;
|
|
234
|
+
return accountMeta;
|
|
235
|
+
};
|
|
236
|
+
return {
|
|
237
|
+
programAddress: instruction.programAddress,
|
|
238
|
+
accounts: {
|
|
239
|
+
voucher: getNextAccount(),
|
|
240
|
+
leafOwner: getNextAccount(),
|
|
241
|
+
tokenAccount: getNextAccount(),
|
|
242
|
+
mint: getNextAccount(),
|
|
243
|
+
mintAuthority: getNextAccount(),
|
|
244
|
+
metadata: getNextAccount(),
|
|
245
|
+
masterEdition: getNextAccount(),
|
|
246
|
+
systemProgram: getNextAccount(),
|
|
247
|
+
sysvarRent: getNextAccount(),
|
|
248
|
+
tokenMetadataProgram: getNextAccount(),
|
|
249
|
+
tokenProgram: getNextAccount(),
|
|
250
|
+
associatedTokenProgram: getNextAccount(),
|
|
251
|
+
logWrapper: getNextAccount()
|
|
252
|
+
},
|
|
253
|
+
data: getDecompressV1InstructionDataDecoder().decode(instruction.data)
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
//#endregion
|
|
257
|
+
export { DECOMPRESS_V1_DISCRIMINATOR, getDecompressV1DiscriminatorBytes, getDecompressV1Instruction, getDecompressV1InstructionAsync, getDecompressV1InstructionDataCodec, getDecompressV1InstructionDataDecoder, getDecompressV1InstructionDataEncoder, parseDecompressV1Instruction };
|
|
258
|
+
|
|
259
|
+
//# sourceMappingURL=decompressV1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decompressV1.js","names":[],"sources":["../../../src/generated/instructions/decompressV1.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 ReadonlyUint8Array,\n TransactionSigner,\n WritableAccount,\n WritableSignerAccount,\n} from \"@solana/kit\";\nimport type { ResolvedInstructionAccount } from \"@solana/program-client-core\";\nimport type { MetadataArgs, MetadataArgsArgs } from \"../types/index.js\";\nimport {\n address,\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getAddressEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getProgramDerivedAddress,\n getStructDecoder,\n getStructEncoder,\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n SolanaError,\n transformEncoder,\n} from \"@solana/kit\";\nimport {\n getAccountMetaFactory,\n getAddressFromResolvedInstructionAccount,\n} from \"@solana/program-client-core\";\nimport {\n findMasterEditionPda,\n findMetadataPda,\n findMintAuthorityPda,\n} from \"../pdas/index.js\";\nimport { BUBBLEGUM_PROGRAM_ADDRESS } from \"../programs/index.js\";\nimport {\n getMetadataArgsDecoder,\n getMetadataArgsEncoder,\n} from \"../types/index.js\";\n\nexport const DECOMPRESS_V1_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([\n 54, 85, 76, 70, 228, 250, 164, 81,\n]);\n\nexport function getDecompressV1DiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n DECOMPRESS_V1_DISCRIMINATOR,\n );\n}\n\nexport type DecompressV1Instruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountVoucher extends string | AccountMeta<string> = string,\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountTokenAccount extends string | AccountMeta<string> = string,\n TAccountMint extends string | AccountMeta<string> = string,\n TAccountMintAuthority extends string | AccountMeta<string> = string,\n TAccountMetadata extends string | AccountMeta<string> = string,\n TAccountMasterEdition extends string | AccountMeta<string> = string,\n TAccountSystemProgram extends\n | string\n | AccountMeta<string> = \"11111111111111111111111111111111\",\n TAccountSysvarRent extends\n | string\n | AccountMeta<string> = \"SysvarRent111111111111111111111111111111111\",\n TAccountTokenMetadataProgram extends\n | string\n | AccountMeta<string> = \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\",\n TAccountTokenProgram extends\n | string\n | AccountMeta<string> = \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\",\n TAccountAssociatedTokenProgram extends\n | string\n | AccountMeta<string> = \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\",\n TAccountLogWrapper extends\n | string\n | AccountMeta<string> = \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\",\n TRemainingAccounts extends readonly AccountMeta<string>[] = [],\n> = Instruction<TProgram> &\n InstructionWithData<ReadonlyUint8Array> &\n InstructionWithAccounts<\n [\n TAccountVoucher extends string\n ? WritableAccount<TAccountVoucher>\n : TAccountVoucher,\n TAccountLeafOwner extends string\n ? WritableSignerAccount<TAccountLeafOwner> &\n AccountSignerMeta<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountTokenAccount extends string\n ? WritableAccount<TAccountTokenAccount>\n : TAccountTokenAccount,\n TAccountMint extends string\n ? WritableAccount<TAccountMint>\n : TAccountMint,\n TAccountMintAuthority extends string\n ? WritableAccount<TAccountMintAuthority>\n : TAccountMintAuthority,\n TAccountMetadata extends string\n ? WritableAccount<TAccountMetadata>\n : TAccountMetadata,\n TAccountMasterEdition extends string\n ? WritableAccount<TAccountMasterEdition>\n : TAccountMasterEdition,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n TAccountSysvarRent extends string\n ? ReadonlyAccount<TAccountSysvarRent>\n : TAccountSysvarRent,\n TAccountTokenMetadataProgram extends string\n ? ReadonlyAccount<TAccountTokenMetadataProgram>\n : TAccountTokenMetadataProgram,\n TAccountTokenProgram extends string\n ? ReadonlyAccount<TAccountTokenProgram>\n : TAccountTokenProgram,\n TAccountAssociatedTokenProgram extends string\n ? ReadonlyAccount<TAccountAssociatedTokenProgram>\n : TAccountAssociatedTokenProgram,\n TAccountLogWrapper extends string\n ? ReadonlyAccount<TAccountLogWrapper>\n : TAccountLogWrapper,\n ...TRemainingAccounts,\n ]\n >;\n\nexport interface DecompressV1InstructionData {\n discriminator: ReadonlyUint8Array;\n metadata: MetadataArgs;\n}\n\nexport interface DecompressV1InstructionDataArgs {\n metadata: MetadataArgsArgs;\n}\n\nexport function getDecompressV1InstructionDataEncoder(): Encoder<DecompressV1InstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"metadata\", getMetadataArgsEncoder()],\n ]),\n (value) => ({ ...value, discriminator: DECOMPRESS_V1_DISCRIMINATOR }),\n );\n}\n\nexport function getDecompressV1InstructionDataDecoder(): Decoder<DecompressV1InstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"metadata\", getMetadataArgsDecoder()],\n ]);\n}\n\nexport function getDecompressV1InstructionDataCodec(): Codec<\n DecompressV1InstructionDataArgs,\n DecompressV1InstructionData\n> {\n return combineCodec(\n getDecompressV1InstructionDataEncoder(),\n getDecompressV1InstructionDataDecoder(),\n );\n}\n\nexport interface DecompressV1AsyncInput<\n TAccountVoucher extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountTokenAccount extends string = string,\n TAccountMint extends string = string,\n TAccountMintAuthority extends string = string,\n TAccountMetadata extends string = string,\n TAccountMasterEdition extends string = string,\n TAccountSystemProgram extends string = string,\n TAccountSysvarRent extends string = string,\n TAccountTokenMetadataProgram extends string = string,\n TAccountTokenProgram extends string = string,\n TAccountAssociatedTokenProgram extends string = string,\n TAccountLogWrapper extends string = string,\n> {\n voucher: Address<TAccountVoucher>;\n leafOwner: TransactionSigner<TAccountLeafOwner>;\n tokenAccount?: Address<TAccountTokenAccount>;\n mint: Address<TAccountMint>;\n mintAuthority?: Address<TAccountMintAuthority>;\n metadata?: Address<TAccountMetadata>;\n masterEdition?: Address<TAccountMasterEdition>;\n systemProgram?: Address<TAccountSystemProgram>;\n sysvarRent?: Address<TAccountSysvarRent>;\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n tokenProgram?: Address<TAccountTokenProgram>;\n associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;\n logWrapper?: Address<TAccountLogWrapper>;\n metadataArg: DecompressV1InstructionDataArgs[\"metadata\"];\n}\n\nexport async function getDecompressV1InstructionAsync<\n TAccountVoucher extends string,\n TAccountLeafOwner extends string,\n TAccountTokenAccount extends string,\n TAccountMint extends string,\n TAccountMintAuthority extends string,\n TAccountMetadata extends string,\n TAccountMasterEdition extends string,\n TAccountSystemProgram extends string,\n TAccountSysvarRent extends string,\n TAccountTokenMetadataProgram extends string,\n TAccountTokenProgram extends string,\n TAccountAssociatedTokenProgram extends string,\n TAccountLogWrapper extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: DecompressV1AsyncInput<\n TAccountVoucher,\n TAccountLeafOwner,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMintAuthority,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountSystemProgram,\n TAccountSysvarRent,\n TAccountTokenMetadataProgram,\n TAccountTokenProgram,\n TAccountAssociatedTokenProgram,\n TAccountLogWrapper\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n DecompressV1Instruction<\n TProgramAddress,\n TAccountVoucher,\n TAccountLeafOwner,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMintAuthority,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountSystemProgram,\n TAccountSysvarRent,\n TAccountTokenMetadataProgram,\n TAccountTokenProgram,\n TAccountAssociatedTokenProgram,\n TAccountLogWrapper\n >\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n voucher: { value: input.voucher ?? null, isWritable: true },\n leafOwner: { value: input.leafOwner ?? null, isWritable: true },\n tokenAccount: { value: input.tokenAccount ?? null, isWritable: true },\n mint: { value: input.mint ?? null, isWritable: true },\n mintAuthority: { value: input.mintAuthority ?? null, isWritable: true },\n metadata: { value: input.metadata ?? null, isWritable: true },\n masterEdition: { value: input.masterEdition ?? null, isWritable: true },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n sysvarRent: { value: input.sysvarRent ?? null, isWritable: false },\n tokenMetadataProgram: {\n value: input.tokenMetadataProgram ?? null,\n isWritable: false,\n },\n tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },\n associatedTokenProgram: {\n value: input.associatedTokenProgram ?? null,\n isWritable: false,\n },\n logWrapper: { value: input.logWrapper ?? 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, metadata: input.metadataArg };\n\n // Resolve default values.\n if (!accounts.tokenAccount.value) {\n accounts.tokenAccount.value = await getProgramDerivedAddress({\n programAddress:\n \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\" as Address<\"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\">,\n seeds: [\n getAddressEncoder().encode(\n getAddressFromResolvedInstructionAccount(\n \"leafOwner\",\n accounts.leafOwner.value,\n ),\n ),\n getAddressEncoder().encode(\n address(\"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\"),\n ),\n getAddressEncoder().encode(\n getAddressFromResolvedInstructionAccount(\"mint\", accounts.mint.value),\n ),\n ],\n });\n }\n if (!accounts.mintAuthority.value) {\n accounts.mintAuthority.value = await findMintAuthorityPda({\n mint: getAddressFromResolvedInstructionAccount(\n \"mint\",\n accounts.mint.value,\n ),\n });\n }\n if (!accounts.metadata.value) {\n accounts.metadata.value = await findMetadataPda({\n programId: address(\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\"),\n mint: getAddressFromResolvedInstructionAccount(\n \"mint\",\n accounts.mint.value,\n ),\n });\n }\n if (!accounts.masterEdition.value) {\n accounts.masterEdition.value = await findMasterEditionPda({\n programId: address(\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\"),\n mint: getAddressFromResolvedInstructionAccount(\n \"mint\",\n accounts.mint.value,\n ),\n });\n }\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n if (!accounts.sysvarRent.value) {\n accounts.sysvarRent.value =\n \"SysvarRent111111111111111111111111111111111\" as Address<\"SysvarRent111111111111111111111111111111111\">;\n }\n if (!accounts.tokenMetadataProgram.value) {\n accounts.tokenMetadataProgram.value =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\" as Address<\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\">;\n }\n if (!accounts.tokenProgram.value) {\n accounts.tokenProgram.value =\n \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\" as Address<\"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\">;\n }\n if (!accounts.associatedTokenProgram.value) {\n accounts.associatedTokenProgram.value =\n \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\" as Address<\"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\">;\n }\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"voucher\", accounts.voucher),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"tokenAccount\", accounts.tokenAccount),\n getAccountMeta(\"mint\", accounts.mint),\n getAccountMeta(\"mintAuthority\", accounts.mintAuthority),\n getAccountMeta(\"metadata\", accounts.metadata),\n getAccountMeta(\"masterEdition\", accounts.masterEdition),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n getAccountMeta(\"sysvarRent\", accounts.sysvarRent),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"tokenProgram\", accounts.tokenProgram),\n getAccountMeta(\"associatedTokenProgram\", accounts.associatedTokenProgram),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n ],\n data: getDecompressV1InstructionDataEncoder().encode(\n args as DecompressV1InstructionDataArgs,\n ),\n programAddress,\n } as DecompressV1Instruction<\n TProgramAddress,\n TAccountVoucher,\n TAccountLeafOwner,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMintAuthority,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountSystemProgram,\n TAccountSysvarRent,\n TAccountTokenMetadataProgram,\n TAccountTokenProgram,\n TAccountAssociatedTokenProgram,\n TAccountLogWrapper\n >);\n}\n\nexport interface DecompressV1Input<\n TAccountVoucher extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountTokenAccount extends string = string,\n TAccountMint extends string = string,\n TAccountMintAuthority extends string = string,\n TAccountMetadata extends string = string,\n TAccountMasterEdition extends string = string,\n TAccountSystemProgram extends string = string,\n TAccountSysvarRent extends string = string,\n TAccountTokenMetadataProgram extends string = string,\n TAccountTokenProgram extends string = string,\n TAccountAssociatedTokenProgram extends string = string,\n TAccountLogWrapper extends string = string,\n> {\n voucher: Address<TAccountVoucher>;\n leafOwner: TransactionSigner<TAccountLeafOwner>;\n tokenAccount: Address<TAccountTokenAccount>;\n mint: Address<TAccountMint>;\n mintAuthority: Address<TAccountMintAuthority>;\n metadata: Address<TAccountMetadata>;\n masterEdition: Address<TAccountMasterEdition>;\n systemProgram?: Address<TAccountSystemProgram>;\n sysvarRent?: Address<TAccountSysvarRent>;\n tokenMetadataProgram?: Address<TAccountTokenMetadataProgram>;\n tokenProgram?: Address<TAccountTokenProgram>;\n associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;\n logWrapper?: Address<TAccountLogWrapper>;\n metadataArg: DecompressV1InstructionDataArgs[\"metadata\"];\n}\n\nexport function getDecompressV1Instruction<\n TAccountVoucher extends string,\n TAccountLeafOwner extends string,\n TAccountTokenAccount extends string,\n TAccountMint extends string,\n TAccountMintAuthority extends string,\n TAccountMetadata extends string,\n TAccountMasterEdition extends string,\n TAccountSystemProgram extends string,\n TAccountSysvarRent extends string,\n TAccountTokenMetadataProgram extends string,\n TAccountTokenProgram extends string,\n TAccountAssociatedTokenProgram extends string,\n TAccountLogWrapper extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: DecompressV1Input<\n TAccountVoucher,\n TAccountLeafOwner,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMintAuthority,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountSystemProgram,\n TAccountSysvarRent,\n TAccountTokenMetadataProgram,\n TAccountTokenProgram,\n TAccountAssociatedTokenProgram,\n TAccountLogWrapper\n >,\n config?: { programAddress?: TProgramAddress },\n): DecompressV1Instruction<\n TProgramAddress,\n TAccountVoucher,\n TAccountLeafOwner,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMintAuthority,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountSystemProgram,\n TAccountSysvarRent,\n TAccountTokenMetadataProgram,\n TAccountTokenProgram,\n TAccountAssociatedTokenProgram,\n TAccountLogWrapper\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n voucher: { value: input.voucher ?? null, isWritable: true },\n leafOwner: { value: input.leafOwner ?? null, isWritable: true },\n tokenAccount: { value: input.tokenAccount ?? null, isWritable: true },\n mint: { value: input.mint ?? null, isWritable: true },\n mintAuthority: { value: input.mintAuthority ?? null, isWritable: true },\n metadata: { value: input.metadata ?? null, isWritable: true },\n masterEdition: { value: input.masterEdition ?? null, isWritable: true },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n sysvarRent: { value: input.sysvarRent ?? null, isWritable: false },\n tokenMetadataProgram: {\n value: input.tokenMetadataProgram ?? null,\n isWritable: false,\n },\n tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },\n associatedTokenProgram: {\n value: input.associatedTokenProgram ?? null,\n isWritable: false,\n },\n logWrapper: { value: input.logWrapper ?? 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, metadata: input.metadataArg };\n\n // Resolve default values.\n if (!accounts.systemProgram.value) {\n accounts.systemProgram.value =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n }\n if (!accounts.sysvarRent.value) {\n accounts.sysvarRent.value =\n \"SysvarRent111111111111111111111111111111111\" as Address<\"SysvarRent111111111111111111111111111111111\">;\n }\n if (!accounts.tokenMetadataProgram.value) {\n accounts.tokenMetadataProgram.value =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\" as Address<\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\">;\n }\n if (!accounts.tokenProgram.value) {\n accounts.tokenProgram.value =\n \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\" as Address<\"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\">;\n }\n if (!accounts.associatedTokenProgram.value) {\n accounts.associatedTokenProgram.value =\n \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\" as Address<\"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\">;\n }\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n\n const getAccountMeta = getAccountMetaFactory(programAddress, \"programId\");\n return Object.freeze({\n accounts: [\n getAccountMeta(\"voucher\", accounts.voucher),\n getAccountMeta(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"tokenAccount\", accounts.tokenAccount),\n getAccountMeta(\"mint\", accounts.mint),\n getAccountMeta(\"mintAuthority\", accounts.mintAuthority),\n getAccountMeta(\"metadata\", accounts.metadata),\n getAccountMeta(\"masterEdition\", accounts.masterEdition),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n getAccountMeta(\"sysvarRent\", accounts.sysvarRent),\n getAccountMeta(\"tokenMetadataProgram\", accounts.tokenMetadataProgram),\n getAccountMeta(\"tokenProgram\", accounts.tokenProgram),\n getAccountMeta(\"associatedTokenProgram\", accounts.associatedTokenProgram),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n ],\n data: getDecompressV1InstructionDataEncoder().encode(\n args as DecompressV1InstructionDataArgs,\n ),\n programAddress,\n } as DecompressV1Instruction<\n TProgramAddress,\n TAccountVoucher,\n TAccountLeafOwner,\n TAccountTokenAccount,\n TAccountMint,\n TAccountMintAuthority,\n TAccountMetadata,\n TAccountMasterEdition,\n TAccountSystemProgram,\n TAccountSysvarRent,\n TAccountTokenMetadataProgram,\n TAccountTokenProgram,\n TAccountAssociatedTokenProgram,\n TAccountLogWrapper\n >);\n}\n\nexport interface ParsedDecompressV1Instruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],\n> {\n programAddress: Address<TProgram>;\n accounts: {\n voucher: TAccountMetas[0];\n leafOwner: TAccountMetas[1];\n tokenAccount: TAccountMetas[2];\n mint: TAccountMetas[3];\n mintAuthority: TAccountMetas[4];\n metadata: TAccountMetas[5];\n masterEdition: TAccountMetas[6];\n systemProgram: TAccountMetas[7];\n sysvarRent: TAccountMetas[8];\n tokenMetadataProgram: TAccountMetas[9];\n tokenProgram: TAccountMetas[10];\n associatedTokenProgram: TAccountMetas[11];\n logWrapper: TAccountMetas[12];\n };\n data: DecompressV1InstructionData;\n}\n\nexport function parseDecompressV1Instruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedDecompressV1Instruction<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 return {\n programAddress: instruction.programAddress,\n accounts: {\n voucher: getNextAccount(),\n leafOwner: getNextAccount(),\n tokenAccount: getNextAccount(),\n mint: getNextAccount(),\n mintAuthority: getNextAccount(),\n metadata: getNextAccount(),\n masterEdition: getNextAccount(),\n systemProgram: getNextAccount(),\n sysvarRent: getNextAccount(),\n tokenMetadataProgram: getNextAccount(),\n tokenProgram: getNextAccount(),\n associatedTokenProgram: getNextAccount(),\n logWrapper: getNextAccount(),\n },\n data: getDecompressV1InstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { BUBBLEGUM_PROGRAM_ADDRESS } from "../programs/bubblegum.js";
|
|
2
|
+
import { AccountMeta, AccountSignerMeta, Address, FixedSizeCodec, FixedSizeDecoder, FixedSizeEncoder, Instruction, InstructionWithAccounts, InstructionWithData, ReadonlyAccount, ReadonlySignerAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount } from "@solana/kit";
|
|
3
|
+
|
|
4
|
+
//#region src/generated/instructions/delegate.d.ts
|
|
5
|
+
declare const DELEGATE_DISCRIMINATOR: ReadonlyUint8Array;
|
|
6
|
+
declare function getDelegateDiscriminatorBytes(): ReadonlyUint8Array;
|
|
7
|
+
type DelegateInstruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountTreeAuthority extends string | AccountMeta<string> = string, TAccountLeafOwner extends string | AccountMeta<string> = string, TAccountPreviousLeafDelegate extends string | AccountMeta<string> = string, TAccountNewLeafDelegate extends string | AccountMeta<string> = string, TAccountMerkleTree extends string | AccountMeta<string> = string, TAccountLogWrapper extends string | AccountMeta<string> = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV", TAccountCompressionProgram extends string | AccountMeta<string> = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK", TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountTreeAuthority extends string ? ReadonlyAccount<TAccountTreeAuthority> : TAccountTreeAuthority, TAccountLeafOwner extends string ? ReadonlySignerAccount<TAccountLeafOwner> & AccountSignerMeta<TAccountLeafOwner> : TAccountLeafOwner, TAccountPreviousLeafDelegate extends string ? ReadonlyAccount<TAccountPreviousLeafDelegate> : TAccountPreviousLeafDelegate, TAccountNewLeafDelegate extends string ? ReadonlyAccount<TAccountNewLeafDelegate> : TAccountNewLeafDelegate, TAccountMerkleTree extends string ? WritableAccount<TAccountMerkleTree> : TAccountMerkleTree, TAccountLogWrapper extends string ? ReadonlyAccount<TAccountLogWrapper> : TAccountLogWrapper, TAccountCompressionProgram extends string ? ReadonlyAccount<TAccountCompressionProgram> : TAccountCompressionProgram, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, ...TRemainingAccounts]>;
|
|
8
|
+
interface DelegateInstructionData {
|
|
9
|
+
discriminator: ReadonlyUint8Array;
|
|
10
|
+
root: number[];
|
|
11
|
+
dataHash: number[];
|
|
12
|
+
creatorHash: number[];
|
|
13
|
+
nonce: bigint;
|
|
14
|
+
index: number;
|
|
15
|
+
}
|
|
16
|
+
interface DelegateInstructionDataArgs {
|
|
17
|
+
root: number[];
|
|
18
|
+
dataHash: number[];
|
|
19
|
+
creatorHash: number[];
|
|
20
|
+
nonce: number | bigint;
|
|
21
|
+
index: number;
|
|
22
|
+
}
|
|
23
|
+
declare function getDelegateInstructionDataEncoder(): FixedSizeEncoder<DelegateInstructionDataArgs>;
|
|
24
|
+
declare function getDelegateInstructionDataDecoder(): FixedSizeDecoder<DelegateInstructionData>;
|
|
25
|
+
declare function getDelegateInstructionDataCodec(): FixedSizeCodec<DelegateInstructionDataArgs, DelegateInstructionData>;
|
|
26
|
+
interface DelegateAsyncInput<TAccountTreeAuthority extends string = string, TAccountLeafOwner extends string = string, TAccountPreviousLeafDelegate extends string = string, TAccountNewLeafDelegate extends string = string, TAccountMerkleTree extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> {
|
|
27
|
+
treeAuthority?: Address<TAccountTreeAuthority>;
|
|
28
|
+
leafOwner: TransactionSigner<TAccountLeafOwner>;
|
|
29
|
+
previousLeafDelegate: Address<TAccountPreviousLeafDelegate>;
|
|
30
|
+
newLeafDelegate: Address<TAccountNewLeafDelegate>;
|
|
31
|
+
merkleTree: Address<TAccountMerkleTree>;
|
|
32
|
+
logWrapper?: Address<TAccountLogWrapper>;
|
|
33
|
+
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
34
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
35
|
+
root: DelegateInstructionDataArgs["root"];
|
|
36
|
+
dataHash: DelegateInstructionDataArgs["dataHash"];
|
|
37
|
+
creatorHash: DelegateInstructionDataArgs["creatorHash"];
|
|
38
|
+
nonce: DelegateInstructionDataArgs["nonce"];
|
|
39
|
+
index: DelegateInstructionDataArgs["index"];
|
|
40
|
+
}
|
|
41
|
+
declare function getDelegateInstructionAsync<TAccountTreeAuthority extends string, TAccountLeafOwner extends string, TAccountPreviousLeafDelegate extends string, TAccountNewLeafDelegate extends string, TAccountMerkleTree extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: DelegateAsyncInput<TAccountTreeAuthority, TAccountLeafOwner, TAccountPreviousLeafDelegate, TAccountNewLeafDelegate, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>, config?: {
|
|
42
|
+
programAddress?: TProgramAddress;
|
|
43
|
+
}): Promise<DelegateInstruction<TProgramAddress, TAccountTreeAuthority, TAccountLeafOwner, TAccountPreviousLeafDelegate, TAccountNewLeafDelegate, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>>;
|
|
44
|
+
interface DelegateInput<TAccountTreeAuthority extends string = string, TAccountLeafOwner extends string = string, TAccountPreviousLeafDelegate extends string = string, TAccountNewLeafDelegate extends string = string, TAccountMerkleTree extends string = string, TAccountLogWrapper extends string = string, TAccountCompressionProgram extends string = string, TAccountSystemProgram extends string = string> {
|
|
45
|
+
treeAuthority: Address<TAccountTreeAuthority>;
|
|
46
|
+
leafOwner: TransactionSigner<TAccountLeafOwner>;
|
|
47
|
+
previousLeafDelegate: Address<TAccountPreviousLeafDelegate>;
|
|
48
|
+
newLeafDelegate: Address<TAccountNewLeafDelegate>;
|
|
49
|
+
merkleTree: Address<TAccountMerkleTree>;
|
|
50
|
+
logWrapper?: Address<TAccountLogWrapper>;
|
|
51
|
+
compressionProgram?: Address<TAccountCompressionProgram>;
|
|
52
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
53
|
+
root: DelegateInstructionDataArgs["root"];
|
|
54
|
+
dataHash: DelegateInstructionDataArgs["dataHash"];
|
|
55
|
+
creatorHash: DelegateInstructionDataArgs["creatorHash"];
|
|
56
|
+
nonce: DelegateInstructionDataArgs["nonce"];
|
|
57
|
+
index: DelegateInstructionDataArgs["index"];
|
|
58
|
+
}
|
|
59
|
+
declare function getDelegateInstruction<TAccountTreeAuthority extends string, TAccountLeafOwner extends string, TAccountPreviousLeafDelegate extends string, TAccountNewLeafDelegate extends string, TAccountMerkleTree extends string, TAccountLogWrapper extends string, TAccountCompressionProgram extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS>(input: DelegateInput<TAccountTreeAuthority, TAccountLeafOwner, TAccountPreviousLeafDelegate, TAccountNewLeafDelegate, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>, config?: {
|
|
60
|
+
programAddress?: TProgramAddress;
|
|
61
|
+
}): DelegateInstruction<TProgramAddress, TAccountTreeAuthority, TAccountLeafOwner, TAccountPreviousLeafDelegate, TAccountNewLeafDelegate, TAccountMerkleTree, TAccountLogWrapper, TAccountCompressionProgram, TAccountSystemProgram>;
|
|
62
|
+
interface ParsedDelegateInstruction<TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> {
|
|
63
|
+
programAddress: Address<TProgram>;
|
|
64
|
+
accounts: {
|
|
65
|
+
treeAuthority: TAccountMetas[0];
|
|
66
|
+
leafOwner: TAccountMetas[1];
|
|
67
|
+
previousLeafDelegate: TAccountMetas[2];
|
|
68
|
+
newLeafDelegate: TAccountMetas[3];
|
|
69
|
+
merkleTree: TAccountMetas[4];
|
|
70
|
+
logWrapper: TAccountMetas[5];
|
|
71
|
+
compressionProgram: TAccountMetas[6];
|
|
72
|
+
systemProgram: TAccountMetas[7];
|
|
73
|
+
};
|
|
74
|
+
data: DelegateInstructionData;
|
|
75
|
+
}
|
|
76
|
+
declare function parseDelegateInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedDelegateInstruction<TProgram, TAccountMetas>;
|
|
77
|
+
//#endregion
|
|
78
|
+
export { DELEGATE_DISCRIMINATOR, DelegateAsyncInput, DelegateInput, DelegateInstruction, DelegateInstructionData, DelegateInstructionDataArgs, ParsedDelegateInstruction, getDelegateDiscriminatorBytes, getDelegateInstruction, getDelegateInstructionAsync, getDelegateInstructionDataCodec, getDelegateInstructionDataDecoder, getDelegateInstructionDataEncoder, parseDelegateInstruction };
|
|
79
|
+
//# sourceMappingURL=delegate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegate.d.ts","names":[],"sources":["../../../src/generated/instructions/delegate.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { findTreeConfigPda } from "../pdas/treeConfig.js";
|
|
2
|
+
import "../programs/bubblegum.js";
|
|
3
|
+
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";
|
|
4
|
+
import { getAccountMetaFactory, getAddressFromResolvedInstructionAccount } from "@solana/program-client-core";
|
|
5
|
+
//#region src/generated/instructions/delegate.ts
|
|
6
|
+
const DELEGATE_DISCRIMINATOR = new Uint8Array([
|
|
7
|
+
90,
|
|
8
|
+
147,
|
|
9
|
+
75,
|
|
10
|
+
178,
|
|
11
|
+
85,
|
|
12
|
+
88,
|
|
13
|
+
4,
|
|
14
|
+
137
|
|
15
|
+
]);
|
|
16
|
+
function getDelegateDiscriminatorBytes() {
|
|
17
|
+
return fixEncoderSize(getBytesEncoder(), 8).encode(DELEGATE_DISCRIMINATOR);
|
|
18
|
+
}
|
|
19
|
+
function getDelegateInstructionDataEncoder() {
|
|
20
|
+
return transformEncoder(getStructEncoder([
|
|
21
|
+
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
22
|
+
["root", getArrayEncoder(getU8Encoder(), { size: 32 })],
|
|
23
|
+
["dataHash", getArrayEncoder(getU8Encoder(), { size: 32 })],
|
|
24
|
+
["creatorHash", getArrayEncoder(getU8Encoder(), { size: 32 })],
|
|
25
|
+
["nonce", getU64Encoder()],
|
|
26
|
+
["index", getU32Encoder()]
|
|
27
|
+
]), (value) => ({
|
|
28
|
+
...value,
|
|
29
|
+
discriminator: DELEGATE_DISCRIMINATOR
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
function getDelegateInstructionDataDecoder() {
|
|
33
|
+
return getStructDecoder([
|
|
34
|
+
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
35
|
+
["root", getArrayDecoder(getU8Decoder(), { size: 32 })],
|
|
36
|
+
["dataHash", getArrayDecoder(getU8Decoder(), { size: 32 })],
|
|
37
|
+
["creatorHash", getArrayDecoder(getU8Decoder(), { size: 32 })],
|
|
38
|
+
["nonce", getU64Decoder()],
|
|
39
|
+
["index", getU32Decoder()]
|
|
40
|
+
]);
|
|
41
|
+
}
|
|
42
|
+
function getDelegateInstructionDataCodec() {
|
|
43
|
+
return combineCodec(getDelegateInstructionDataEncoder(), getDelegateInstructionDataDecoder());
|
|
44
|
+
}
|
|
45
|
+
async function getDelegateInstructionAsync(input, config) {
|
|
46
|
+
const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
|
|
47
|
+
const accounts = {
|
|
48
|
+
treeAuthority: {
|
|
49
|
+
value: input.treeAuthority ?? null,
|
|
50
|
+
isWritable: false
|
|
51
|
+
},
|
|
52
|
+
leafOwner: {
|
|
53
|
+
value: input.leafOwner ?? null,
|
|
54
|
+
isWritable: false
|
|
55
|
+
},
|
|
56
|
+
previousLeafDelegate: {
|
|
57
|
+
value: input.previousLeafDelegate ?? null,
|
|
58
|
+
isWritable: false
|
|
59
|
+
},
|
|
60
|
+
newLeafDelegate: {
|
|
61
|
+
value: input.newLeafDelegate ?? null,
|
|
62
|
+
isWritable: false
|
|
63
|
+
},
|
|
64
|
+
merkleTree: {
|
|
65
|
+
value: input.merkleTree ?? null,
|
|
66
|
+
isWritable: true
|
|
67
|
+
},
|
|
68
|
+
logWrapper: {
|
|
69
|
+
value: input.logWrapper ?? null,
|
|
70
|
+
isWritable: false
|
|
71
|
+
},
|
|
72
|
+
compressionProgram: {
|
|
73
|
+
value: input.compressionProgram ?? null,
|
|
74
|
+
isWritable: false
|
|
75
|
+
},
|
|
76
|
+
systemProgram: {
|
|
77
|
+
value: input.systemProgram ?? null,
|
|
78
|
+
isWritable: false
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
const args = { ...input };
|
|
82
|
+
if (!accounts.treeAuthority.value) accounts.treeAuthority.value = await findTreeConfigPda({ merkleTree: getAddressFromResolvedInstructionAccount("merkleTree", accounts.merkleTree.value) });
|
|
83
|
+
if (!accounts.logWrapper.value) accounts.logWrapper.value = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV";
|
|
84
|
+
if (!accounts.compressionProgram.value) accounts.compressionProgram.value = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK";
|
|
85
|
+
if (!accounts.systemProgram.value) accounts.systemProgram.value = "11111111111111111111111111111111";
|
|
86
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
87
|
+
return Object.freeze({
|
|
88
|
+
accounts: [
|
|
89
|
+
getAccountMeta("treeAuthority", accounts.treeAuthority),
|
|
90
|
+
getAccountMeta("leafOwner", accounts.leafOwner),
|
|
91
|
+
getAccountMeta("previousLeafDelegate", accounts.previousLeafDelegate),
|
|
92
|
+
getAccountMeta("newLeafDelegate", accounts.newLeafDelegate),
|
|
93
|
+
getAccountMeta("merkleTree", accounts.merkleTree),
|
|
94
|
+
getAccountMeta("logWrapper", accounts.logWrapper),
|
|
95
|
+
getAccountMeta("compressionProgram", accounts.compressionProgram),
|
|
96
|
+
getAccountMeta("systemProgram", accounts.systemProgram)
|
|
97
|
+
],
|
|
98
|
+
data: getDelegateInstructionDataEncoder().encode(args),
|
|
99
|
+
programAddress
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
function getDelegateInstruction(input, config) {
|
|
103
|
+
const programAddress = config?.programAddress ?? "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY";
|
|
104
|
+
const accounts = {
|
|
105
|
+
treeAuthority: {
|
|
106
|
+
value: input.treeAuthority ?? null,
|
|
107
|
+
isWritable: false
|
|
108
|
+
},
|
|
109
|
+
leafOwner: {
|
|
110
|
+
value: input.leafOwner ?? null,
|
|
111
|
+
isWritable: false
|
|
112
|
+
},
|
|
113
|
+
previousLeafDelegate: {
|
|
114
|
+
value: input.previousLeafDelegate ?? null,
|
|
115
|
+
isWritable: false
|
|
116
|
+
},
|
|
117
|
+
newLeafDelegate: {
|
|
118
|
+
value: input.newLeafDelegate ?? null,
|
|
119
|
+
isWritable: false
|
|
120
|
+
},
|
|
121
|
+
merkleTree: {
|
|
122
|
+
value: input.merkleTree ?? null,
|
|
123
|
+
isWritable: true
|
|
124
|
+
},
|
|
125
|
+
logWrapper: {
|
|
126
|
+
value: input.logWrapper ?? null,
|
|
127
|
+
isWritable: false
|
|
128
|
+
},
|
|
129
|
+
compressionProgram: {
|
|
130
|
+
value: input.compressionProgram ?? null,
|
|
131
|
+
isWritable: false
|
|
132
|
+
},
|
|
133
|
+
systemProgram: {
|
|
134
|
+
value: input.systemProgram ?? null,
|
|
135
|
+
isWritable: false
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
const args = { ...input };
|
|
139
|
+
if (!accounts.logWrapper.value) accounts.logWrapper.value = "noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV";
|
|
140
|
+
if (!accounts.compressionProgram.value) accounts.compressionProgram.value = "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK";
|
|
141
|
+
if (!accounts.systemProgram.value) accounts.systemProgram.value = "11111111111111111111111111111111";
|
|
142
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
143
|
+
return Object.freeze({
|
|
144
|
+
accounts: [
|
|
145
|
+
getAccountMeta("treeAuthority", accounts.treeAuthority),
|
|
146
|
+
getAccountMeta("leafOwner", accounts.leafOwner),
|
|
147
|
+
getAccountMeta("previousLeafDelegate", accounts.previousLeafDelegate),
|
|
148
|
+
getAccountMeta("newLeafDelegate", accounts.newLeafDelegate),
|
|
149
|
+
getAccountMeta("merkleTree", accounts.merkleTree),
|
|
150
|
+
getAccountMeta("logWrapper", accounts.logWrapper),
|
|
151
|
+
getAccountMeta("compressionProgram", accounts.compressionProgram),
|
|
152
|
+
getAccountMeta("systemProgram", accounts.systemProgram)
|
|
153
|
+
],
|
|
154
|
+
data: getDelegateInstructionDataEncoder().encode(args),
|
|
155
|
+
programAddress
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
function parseDelegateInstruction(instruction) {
|
|
159
|
+
if (instruction.accounts.length < 8) throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, {
|
|
160
|
+
actualAccountMetas: instruction.accounts.length,
|
|
161
|
+
expectedAccountMetas: 8
|
|
162
|
+
});
|
|
163
|
+
let accountIndex = 0;
|
|
164
|
+
const getNextAccount = () => {
|
|
165
|
+
const accountMeta = instruction.accounts[accountIndex];
|
|
166
|
+
accountIndex += 1;
|
|
167
|
+
return accountMeta;
|
|
168
|
+
};
|
|
169
|
+
return {
|
|
170
|
+
programAddress: instruction.programAddress,
|
|
171
|
+
accounts: {
|
|
172
|
+
treeAuthority: getNextAccount(),
|
|
173
|
+
leafOwner: getNextAccount(),
|
|
174
|
+
previousLeafDelegate: getNextAccount(),
|
|
175
|
+
newLeafDelegate: getNextAccount(),
|
|
176
|
+
merkleTree: getNextAccount(),
|
|
177
|
+
logWrapper: getNextAccount(),
|
|
178
|
+
compressionProgram: getNextAccount(),
|
|
179
|
+
systemProgram: getNextAccount()
|
|
180
|
+
},
|
|
181
|
+
data: getDelegateInstructionDataDecoder().decode(instruction.data)
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
//#endregion
|
|
185
|
+
export { DELEGATE_DISCRIMINATOR, getDelegateDiscriminatorBytes, getDelegateInstruction, getDelegateInstructionAsync, getDelegateInstructionDataCodec, getDelegateInstructionDataDecoder, getDelegateInstructionDataEncoder, parseDelegateInstruction };
|
|
186
|
+
|
|
187
|
+
//# sourceMappingURL=delegate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegate.js","names":[],"sources":["../../../src/generated/instructions/delegate.ts"],"sourcesContent":["/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport type {\n AccountMeta,\n AccountSignerMeta,\n Address,\n FixedSizeCodec,\n FixedSizeDecoder,\n FixedSizeEncoder,\n Instruction,\n InstructionWithAccounts,\n InstructionWithData,\n ReadonlyAccount,\n ReadonlySignerAccount,\n ReadonlyUint8Array,\n TransactionSigner,\n WritableAccount,\n} from \"@solana/kit\";\nimport type { ResolvedInstructionAccount } from \"@solana/program-client-core\";\nimport {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n 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\";\n\nexport const DELEGATE_DISCRIMINATOR: ReadonlyUint8Array = new Uint8Array([\n 90, 147, 75, 178, 85, 88, 4, 137,\n]);\n\nexport function getDelegateDiscriminatorBytes(): ReadonlyUint8Array {\n return fixEncoderSize(getBytesEncoder(), 8).encode(DELEGATE_DISCRIMINATOR);\n}\n\nexport type DelegateInstruction<\n TProgram extends string = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n TAccountTreeAuthority extends string | AccountMeta<string> = string,\n TAccountLeafOwner extends string | AccountMeta<string> = string,\n TAccountPreviousLeafDelegate extends string | AccountMeta<string> = string,\n TAccountNewLeafDelegate 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 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 TAccountLeafOwner extends string\n ? ReadonlySignerAccount<TAccountLeafOwner> &\n AccountSignerMeta<TAccountLeafOwner>\n : TAccountLeafOwner,\n TAccountPreviousLeafDelegate extends string\n ? ReadonlyAccount<TAccountPreviousLeafDelegate>\n : TAccountPreviousLeafDelegate,\n TAccountNewLeafDelegate extends string\n ? ReadonlyAccount<TAccountNewLeafDelegate>\n : TAccountNewLeafDelegate,\n TAccountMerkleTree extends string\n ? WritableAccount<TAccountMerkleTree>\n : TAccountMerkleTree,\n TAccountLogWrapper extends string\n ? ReadonlyAccount<TAccountLogWrapper>\n : TAccountLogWrapper,\n TAccountCompressionProgram extends string\n ? ReadonlyAccount<TAccountCompressionProgram>\n : TAccountCompressionProgram,\n TAccountSystemProgram extends string\n ? ReadonlyAccount<TAccountSystemProgram>\n : TAccountSystemProgram,\n ...TRemainingAccounts,\n ]\n >;\n\nexport interface DelegateInstructionData {\n discriminator: ReadonlyUint8Array;\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n nonce: bigint;\n index: number;\n}\n\nexport interface DelegateInstructionDataArgs {\n root: number[];\n dataHash: number[];\n creatorHash: number[];\n nonce: number | bigint;\n index: number;\n}\n\nexport function getDelegateInstructionDataEncoder(): FixedSizeEncoder<DelegateInstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"root\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"dataHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"creatorHash\", getArrayEncoder(getU8Encoder(), { size: 32 })],\n [\"nonce\", getU64Encoder()],\n [\"index\", getU32Encoder()],\n ]),\n (value) => ({ ...value, discriminator: DELEGATE_DISCRIMINATOR }),\n );\n}\n\nexport function getDelegateInstructionDataDecoder(): FixedSizeDecoder<DelegateInstructionData> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"root\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"dataHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"creatorHash\", getArrayDecoder(getU8Decoder(), { size: 32 })],\n [\"nonce\", getU64Decoder()],\n [\"index\", getU32Decoder()],\n ]);\n}\n\nexport function getDelegateInstructionDataCodec(): FixedSizeCodec<\n DelegateInstructionDataArgs,\n DelegateInstructionData\n> {\n return combineCodec(\n getDelegateInstructionDataEncoder(),\n getDelegateInstructionDataDecoder(),\n );\n}\n\nexport interface DelegateAsyncInput<\n TAccountTreeAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountPreviousLeafDelegate extends string = string,\n TAccountNewLeafDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority?: Address<TAccountTreeAuthority>;\n leafOwner: TransactionSigner<TAccountLeafOwner>;\n previousLeafDelegate: Address<TAccountPreviousLeafDelegate>;\n newLeafDelegate: Address<TAccountNewLeafDelegate>;\n merkleTree: Address<TAccountMerkleTree>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: DelegateInstructionDataArgs[\"root\"];\n dataHash: DelegateInstructionDataArgs[\"dataHash\"];\n creatorHash: DelegateInstructionDataArgs[\"creatorHash\"];\n nonce: DelegateInstructionDataArgs[\"nonce\"];\n index: DelegateInstructionDataArgs[\"index\"];\n}\n\nexport async function getDelegateInstructionAsync<\n TAccountTreeAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountPreviousLeafDelegate extends string,\n TAccountNewLeafDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: DelegateAsyncInput<\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountPreviousLeafDelegate,\n TAccountNewLeafDelegate,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): Promise<\n DelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountPreviousLeafDelegate,\n TAccountNewLeafDelegate,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n previousLeafDelegate: {\n value: input.previousLeafDelegate ?? null,\n isWritable: false,\n },\n newLeafDelegate: {\n value: input.newLeafDelegate ?? null,\n isWritable: false,\n },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Original args.\n const args = { ...input };\n\n // Resolve default values.\n if (!accounts.treeAuthority.value) {\n accounts.treeAuthority.value = await findTreeConfigPda({\n merkleTree: getAddressFromResolvedInstructionAccount(\n \"merkleTree\",\n accounts.merkleTree.value,\n ),\n });\n }\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\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(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"previousLeafDelegate\", accounts.previousLeafDelegate),\n getAccountMeta(\"newLeafDelegate\", accounts.newLeafDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getDelegateInstructionDataEncoder().encode(\n args as DelegateInstructionDataArgs,\n ),\n programAddress,\n } as DelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountPreviousLeafDelegate,\n TAccountNewLeafDelegate,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface DelegateInput<\n TAccountTreeAuthority extends string = string,\n TAccountLeafOwner extends string = string,\n TAccountPreviousLeafDelegate extends string = string,\n TAccountNewLeafDelegate extends string = string,\n TAccountMerkleTree extends string = string,\n TAccountLogWrapper extends string = string,\n TAccountCompressionProgram extends string = string,\n TAccountSystemProgram extends string = string,\n> {\n treeAuthority: Address<TAccountTreeAuthority>;\n leafOwner: TransactionSigner<TAccountLeafOwner>;\n previousLeafDelegate: Address<TAccountPreviousLeafDelegate>;\n newLeafDelegate: Address<TAccountNewLeafDelegate>;\n merkleTree: Address<TAccountMerkleTree>;\n logWrapper?: Address<TAccountLogWrapper>;\n compressionProgram?: Address<TAccountCompressionProgram>;\n systemProgram?: Address<TAccountSystemProgram>;\n root: DelegateInstructionDataArgs[\"root\"];\n dataHash: DelegateInstructionDataArgs[\"dataHash\"];\n creatorHash: DelegateInstructionDataArgs[\"creatorHash\"];\n nonce: DelegateInstructionDataArgs[\"nonce\"];\n index: DelegateInstructionDataArgs[\"index\"];\n}\n\nexport function getDelegateInstruction<\n TAccountTreeAuthority extends string,\n TAccountLeafOwner extends string,\n TAccountPreviousLeafDelegate extends string,\n TAccountNewLeafDelegate extends string,\n TAccountMerkleTree extends string,\n TAccountLogWrapper extends string,\n TAccountCompressionProgram extends string,\n TAccountSystemProgram extends string,\n TProgramAddress extends Address = typeof BUBBLEGUM_PROGRAM_ADDRESS,\n>(\n input: DelegateInput<\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountPreviousLeafDelegate,\n TAccountNewLeafDelegate,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >,\n config?: { programAddress?: TProgramAddress },\n): DelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountPreviousLeafDelegate,\n TAccountNewLeafDelegate,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n> {\n // Program address.\n const programAddress = config?.programAddress ?? BUBBLEGUM_PROGRAM_ADDRESS;\n\n // Original accounts.\n const originalAccounts = {\n treeAuthority: { value: input.treeAuthority ?? null, isWritable: false },\n leafOwner: { value: input.leafOwner ?? null, isWritable: false },\n previousLeafDelegate: {\n value: input.previousLeafDelegate ?? null,\n isWritable: false,\n },\n newLeafDelegate: {\n value: input.newLeafDelegate ?? null,\n isWritable: false,\n },\n merkleTree: { value: input.merkleTree ?? null, isWritable: true },\n logWrapper: { value: input.logWrapper ?? null, isWritable: false },\n compressionProgram: {\n value: input.compressionProgram ?? null,\n isWritable: false,\n },\n systemProgram: { value: input.systemProgram ?? null, isWritable: false },\n };\n const accounts = originalAccounts as Record<\n keyof typeof originalAccounts,\n ResolvedInstructionAccount\n >;\n\n // Original args.\n const args = { ...input };\n\n // Resolve default values.\n if (!accounts.logWrapper.value) {\n accounts.logWrapper.value =\n \"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\" as Address<\"noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV\">;\n }\n if (!accounts.compressionProgram.value) {\n accounts.compressionProgram.value =\n \"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\" as Address<\"cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK\">;\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(\"leafOwner\", accounts.leafOwner),\n getAccountMeta(\"previousLeafDelegate\", accounts.previousLeafDelegate),\n getAccountMeta(\"newLeafDelegate\", accounts.newLeafDelegate),\n getAccountMeta(\"merkleTree\", accounts.merkleTree),\n getAccountMeta(\"logWrapper\", accounts.logWrapper),\n getAccountMeta(\"compressionProgram\", accounts.compressionProgram),\n getAccountMeta(\"systemProgram\", accounts.systemProgram),\n ],\n data: getDelegateInstructionDataEncoder().encode(\n args as DelegateInstructionDataArgs,\n ),\n programAddress,\n } as DelegateInstruction<\n TProgramAddress,\n TAccountTreeAuthority,\n TAccountLeafOwner,\n TAccountPreviousLeafDelegate,\n TAccountNewLeafDelegate,\n TAccountMerkleTree,\n TAccountLogWrapper,\n TAccountCompressionProgram,\n TAccountSystemProgram\n >);\n}\n\nexport interface ParsedDelegateInstruction<\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 leafOwner: TAccountMetas[1];\n previousLeafDelegate: TAccountMetas[2];\n newLeafDelegate: TAccountMetas[3];\n merkleTree: TAccountMetas[4];\n logWrapper: TAccountMetas[5];\n compressionProgram: TAccountMetas[6];\n systemProgram: TAccountMetas[7];\n };\n data: DelegateInstructionData;\n}\n\nexport function parseDelegateInstruction<\n TProgram extends string,\n TAccountMetas extends readonly AccountMeta[],\n>(\n instruction: Instruction<TProgram> &\n InstructionWithAccounts<TAccountMetas> &\n InstructionWithData<ReadonlyUint8Array>,\n): ParsedDelegateInstruction<TProgram, TAccountMetas> {\n if (instruction.accounts.length < 8) {\n throw new SolanaError(\n SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,\n {\n actualAccountMetas: instruction.accounts.length,\n expectedAccountMetas: 8,\n },\n );\n }\n let accountIndex = 0;\n const getNextAccount = () => {\n const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;\n accountIndex += 1;\n return accountMeta;\n };\n return {\n programAddress: instruction.programAddress,\n accounts: {\n treeAuthority: getNextAccount(),\n leafOwner: getNextAccount(),\n previousLeafDelegate: getNextAccount(),\n newLeafDelegate: getNextAccount(),\n merkleTree: getNextAccount(),\n logWrapper: getNextAccount(),\n compressionProgram: getNextAccount(),\n systemProgram: getNextAccount(),\n },\n data: getDelegateInstructionDataDecoder().decode(instruction.data),\n };\n}\n"],"mappings":"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"}
|