/** * 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 AccountMeta, type AccountSignerMeta, type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyAccount, type ReadonlySignerAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount } from '@solana/kit'; import { TOKEN_2022_PROGRAM_ADDRESS } from '../programs'; import { type DecryptableBalance, type DecryptableBalanceArgs } from '../types'; export declare const CONFIGURE_CONFIDENTIAL_TRANSFER_ACCOUNT_DISCRIMINATOR = 27; export declare function getConfigureConfidentialTransferAccountDiscriminatorBytes(): ReadonlyUint8Array; export declare const CONFIGURE_CONFIDENTIAL_TRANSFER_ACCOUNT_CONFIDENTIAL_TRANSFER_DISCRIMINATOR = 2; export declare function getConfigureConfidentialTransferAccountConfidentialTransferDiscriminatorBytes(): ReadonlyUint8Array; export type ConfigureConfidentialTransferAccountInstruction = string, TAccountMint extends string | AccountMeta = string, TAccountInstructionsSysvarOrContextState extends string | AccountMeta = 'Sysvar1nstructions1111111111111111111111111', TAccountRecord extends string | AccountMeta = string, TAccountAuthority extends string | AccountMeta = string, TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountToken extends string ? WritableAccount : TAccountToken, TAccountMint extends string ? ReadonlyAccount : TAccountMint, TAccountInstructionsSysvarOrContextState extends string ? ReadonlyAccount : TAccountInstructionsSysvarOrContextState, TAccountRecord extends string ? ReadonlyAccount : TAccountRecord, TAccountAuthority extends string ? ReadonlyAccount : TAccountAuthority, ...TRemainingAccounts ]>; export type ConfigureConfidentialTransferAccountInstructionData = { discriminator: number; confidentialTransferDiscriminator: number; /** The decryptable balance (always 0) once the configure account succeeds. */ decryptableZeroBalance: DecryptableBalance; /** * The maximum number of despots and transfers that an account can receiver * before the `ApplyPendingBalance` is executed */ maximumPendingBalanceCreditCounter: bigint; /** * Relative location of the `ProofInstruction::ZeroCiphertextProof` * instruction to the `ConfigureAccount` instruction in the * transaction. If the offset is `0`, then use a context state account * for the proof. */ proofInstructionOffset: number; }; export type ConfigureConfidentialTransferAccountInstructionDataArgs = { /** The decryptable balance (always 0) once the configure account succeeds. */ decryptableZeroBalance: DecryptableBalanceArgs; /** * The maximum number of despots and transfers that an account can receiver * before the `ApplyPendingBalance` is executed */ maximumPendingBalanceCreditCounter: number | bigint; /** * Relative location of the `ProofInstruction::ZeroCiphertextProof` * instruction to the `ConfigureAccount` instruction in the * transaction. If the offset is `0`, then use a context state account * for the proof. */ proofInstructionOffset: number; }; export declare function getConfigureConfidentialTransferAccountInstructionDataEncoder(): FixedSizeEncoder; export declare function getConfigureConfidentialTransferAccountInstructionDataDecoder(): FixedSizeDecoder; export declare function getConfigureConfidentialTransferAccountInstructionDataCodec(): FixedSizeCodec; export type ConfigureConfidentialTransferAccountInput = { /** The SPL Token account. */ token: Address; /** The corresponding SPL Token mint. */ mint: Address; /** * Instructions sysvar if `VerifyPubkeyValidity` is included in * the same transaction or context state account if * `VerifyPubkeyValidity` is pre-verified into a context state * account. */ instructionsSysvarOrContextState?: Address; /** (Optional) Record account if the accompanying proof is to be read from a record account. */ record?: Address; /** The source account's owner/delegate or its multisignature account. */ authority: Address | TransactionSigner; decryptableZeroBalance: ConfigureConfidentialTransferAccountInstructionDataArgs['decryptableZeroBalance']; maximumPendingBalanceCreditCounter: ConfigureConfidentialTransferAccountInstructionDataArgs['maximumPendingBalanceCreditCounter']; proofInstructionOffset: ConfigureConfidentialTransferAccountInstructionDataArgs['proofInstructionOffset']; multiSigners?: Array; }; export declare function getConfigureConfidentialTransferAccountInstruction(input: ConfigureConfidentialTransferAccountInput, config?: { programAddress?: TProgramAddress; }): ConfigureConfidentialTransferAccountInstruction ? ReadonlySignerAccount & AccountSignerMeta : TAccountAuthority>; export type ParsedConfigureConfidentialTransferAccountInstruction = { programAddress: Address; accounts: { /** The SPL Token account. */ token: TAccountMetas[0]; /** The corresponding SPL Token mint. */ mint: TAccountMetas[1]; /** * Instructions sysvar if `VerifyPubkeyValidity` is included in * the same transaction or context state account if * `VerifyPubkeyValidity` is pre-verified into a context state * account. */ instructionsSysvarOrContextState: TAccountMetas[2]; /** (Optional) Record account if the accompanying proof is to be read from a record account. */ record?: TAccountMetas[3] | undefined; /** The source account's owner/delegate or its multisignature account. */ authority: TAccountMetas[4]; }; data: ConfigureConfidentialTransferAccountInstructionData; }; export declare function parseConfigureConfidentialTransferAccountInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedConfigureConfidentialTransferAccountInstruction; //# sourceMappingURL=configureConfidentialTransferAccount.d.ts.map