/** * This code was AUTOGENERATED using the codama library. * Please DO NOT EDIT THIS FILE, instead use visitors * to add features, then rerun codama to update it. * * @see https://github.com/codama-idl/codama */ import { type Codec, type Decoder, type Encoder, type Option, type OptionOrNullable, type ReadonlyUint8Array } from "@solana/codecs"; import type { Address, AccountMeta, AccountSignerMeta, Instruction, InstructionWithAccounts, InstructionWithData, ReadonlyAccount, ReadonlySignerAccount, TransactionSigner, WritableAccount, WritableSignerAccount } from "@solana/kit"; import { TOKEN_METADATA_PROGRAM_ADDRESS } from "../programs"; import { type CollectionDetails, type CollectionDetailsArgs, type DataV2, type DataV2Args } from "../types"; export declare const CREATE_METADATA_ACCOUNT_V3_DISCRIMINATOR = 33; export declare function getCreateMetadataAccountV3DiscriminatorBytes(): ReadonlyUint8Array; export type CreateMetadataAccountV3Instruction = string, TAccountMint extends string | AccountMeta = string, TAccountMintAuthority extends string | AccountMeta = string, TAccountPayer extends string | AccountMeta = string, TAccountUpdateAuthority extends string | AccountMeta = string, TAccountSystemProgram extends string | AccountMeta = "11111111111111111111111111111111", TAccountRent extends string | AccountMeta | undefined = undefined, TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountMetadata extends string ? WritableAccount : TAccountMetadata, TAccountMint extends string ? ReadonlyAccount : TAccountMint, TAccountMintAuthority extends string ? ReadonlySignerAccount & AccountSignerMeta : TAccountMintAuthority, TAccountPayer extends string ? WritableSignerAccount & AccountSignerMeta : TAccountPayer, TAccountUpdateAuthority extends string ? ReadonlyAccount : TAccountUpdateAuthority, TAccountSystemProgram extends string ? ReadonlyAccount : TAccountSystemProgram, ...(TAccountRent extends undefined ? [] : [TAccountRent extends string ? ReadonlyAccount : TAccountRent]), ...TRemainingAccounts ]>; export type CreateMetadataAccountV3InstructionData = { discriminator: number; data: DataV2; isMutable: boolean; collectionDetails: Option; }; export type CreateMetadataAccountV3InstructionDataArgs = { data: DataV2Args; isMutable: boolean; collectionDetails: OptionOrNullable; }; export declare function getCreateMetadataAccountV3InstructionDataEncoder(): Encoder; export declare function getCreateMetadataAccountV3InstructionDataDecoder(): Decoder; export declare function getCreateMetadataAccountV3InstructionDataCodec(): Codec; export type CreateMetadataAccountV3Input = { /** Metadata key (pda of ['metadata', program id, mint id]) */ metadata: Address; /** Mint of token asset */ mint: Address; /** Mint authority */ mintAuthority: TransactionSigner; /** payer */ payer: TransactionSigner; /** update authority info */ updateAuthority: Address | TransactionSigner; /** System program */ systemProgram?: Address; /** Rent info */ rent?: Address; data: CreateMetadataAccountV3InstructionDataArgs["data"]; isMutable: CreateMetadataAccountV3InstructionDataArgs["isMutable"]; collectionDetails: CreateMetadataAccountV3InstructionDataArgs["collectionDetails"]; }; export declare function getCreateMetadataAccountV3Instruction(input: CreateMetadataAccountV3Input, config?: { programAddress?: TProgramAddress; }): CreateMetadataAccountV3Instruction ? ReadonlySignerAccount & AccountSignerMeta : TAccountUpdateAuthority, TAccountSystemProgram, TAccountRent>; export type ParsedCreateMetadataAccountV3Instruction = { programAddress: Address; accounts: { /** Metadata key (pda of ['metadata', program id, mint id]) */ metadata: TAccountMetas[0]; /** Mint of token asset */ mint: TAccountMetas[1]; /** Mint authority */ mintAuthority: TAccountMetas[2]; /** payer */ payer: TAccountMetas[3]; /** update authority info */ updateAuthority: TAccountMetas[4]; /** System program */ systemProgram: TAccountMetas[5]; /** Rent info */ rent?: TAccountMetas[6] | undefined; }; data: CreateMetadataAccountV3InstructionData; }; export declare function parseCreateMetadataAccountV3Instruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedCreateMetadataAccountV3Instruction; //# sourceMappingURL=createMetadataAccountV3.d.ts.map