/** * 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, type WritableSignerAccount } from "@solana/kit"; import { VOLTR_VAULT_PROGRAM_ADDRESS } from "../programs"; export declare const REQUEST_WITHDRAW_VAULT_DISCRIMINATOR: Uint8Array; export declare function getRequestWithdrawVaultDiscriminatorBytes(): ReadonlyUint8Array; export type RequestWithdrawVaultInstruction = string, TAccountUserTransferAuthority extends string | AccountMeta = string, TAccountProtocol extends string | AccountMeta = string, TAccountVault extends string | AccountMeta = string, TAccountVaultLpMint extends string | AccountMeta = string, TAccountUserLpAta extends string | AccountMeta = string, TAccountRequestWithdrawLpAta extends string | AccountMeta = string, TAccountRequestWithdrawVaultReceipt extends string | AccountMeta = string, TAccountLpTokenProgram extends string | AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TAccountSystemProgram extends string | AccountMeta = "11111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountPayer extends string ? WritableSignerAccount & AccountSignerMeta : TAccountPayer, TAccountUserTransferAuthority extends string ? ReadonlySignerAccount & AccountSignerMeta : TAccountUserTransferAuthority, TAccountProtocol extends string ? ReadonlyAccount : TAccountProtocol, TAccountVault extends string ? ReadonlyAccount : TAccountVault, TAccountVaultLpMint extends string ? ReadonlyAccount : TAccountVaultLpMint, TAccountUserLpAta extends string ? WritableAccount : TAccountUserLpAta, TAccountRequestWithdrawLpAta extends string ? WritableAccount : TAccountRequestWithdrawLpAta, TAccountRequestWithdrawVaultReceipt extends string ? WritableAccount : TAccountRequestWithdrawVaultReceipt, TAccountLpTokenProgram extends string ? ReadonlyAccount : TAccountLpTokenProgram, TAccountSystemProgram extends string ? ReadonlyAccount : TAccountSystemProgram, ...TRemainingAccounts ]>; export type RequestWithdrawVaultInstructionData = { discriminator: ReadonlyUint8Array; amount: bigint; isAmountInLp: boolean; isWithdrawAll: boolean; }; export type RequestWithdrawVaultInstructionDataArgs = { amount: number | bigint; isAmountInLp: boolean; isWithdrawAll: boolean; }; export declare function getRequestWithdrawVaultInstructionDataEncoder(): FixedSizeEncoder; export declare function getRequestWithdrawVaultInstructionDataDecoder(): FixedSizeDecoder; export declare function getRequestWithdrawVaultInstructionDataCodec(): FixedSizeCodec; export type RequestWithdrawVaultAsyncInput = { /** The payer of the request */ payer: TransactionSigner; /** The authority that owns the LP tokens and wants to redeem them */ userTransferAuthority: TransactionSigner; protocol?: Address; vault: Address; vaultLpMint?: Address; /** The user's LP token account from which LP tokens will be burned. */ userLpAta?: Address; /** The request's associated token account for LP. */ requestWithdrawLpAta?: Address; requestWithdrawVaultReceipt?: Address; lpTokenProgram?: Address; systemProgram?: Address; amount: RequestWithdrawVaultInstructionDataArgs["amount"]; isAmountInLp: RequestWithdrawVaultInstructionDataArgs["isAmountInLp"]; isWithdrawAll: RequestWithdrawVaultInstructionDataArgs["isWithdrawAll"]; }; export declare function getRequestWithdrawVaultInstructionAsync(input: RequestWithdrawVaultAsyncInput, config?: { programAddress?: TProgramAddress; }): Promise>; export type RequestWithdrawVaultInput = { /** The payer of the request */ payer: TransactionSigner; /** The authority that owns the LP tokens and wants to redeem them */ userTransferAuthority: TransactionSigner; protocol: Address; vault: Address; vaultLpMint: Address; /** The user's LP token account from which LP tokens will be burned. */ userLpAta: Address; /** The request's associated token account for LP. */ requestWithdrawLpAta: Address; requestWithdrawVaultReceipt: Address; lpTokenProgram?: Address; systemProgram?: Address; amount: RequestWithdrawVaultInstructionDataArgs["amount"]; isAmountInLp: RequestWithdrawVaultInstructionDataArgs["isAmountInLp"]; isWithdrawAll: RequestWithdrawVaultInstructionDataArgs["isWithdrawAll"]; }; export declare function getRequestWithdrawVaultInstruction(input: RequestWithdrawVaultInput, config?: { programAddress?: TProgramAddress; }): RequestWithdrawVaultInstruction; export type ParsedRequestWithdrawVaultInstruction = { programAddress: Address; accounts: { /** The payer of the request */ payer: TAccountMetas[0]; /** The authority that owns the LP tokens and wants to redeem them */ userTransferAuthority: TAccountMetas[1]; protocol: TAccountMetas[2]; vault: TAccountMetas[3]; vaultLpMint: TAccountMetas[4]; /** The user's LP token account from which LP tokens will be burned. */ userLpAta: TAccountMetas[5]; /** The request's associated token account for LP. */ requestWithdrawLpAta: TAccountMetas[6]; requestWithdrawVaultReceipt: TAccountMetas[7]; lpTokenProgram: TAccountMetas[8]; systemProgram: TAccountMetas[9]; }; data: RequestWithdrawVaultInstructionData; }; export declare function parseRequestWithdrawVaultInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedRequestWithdrawVaultInstruction; //# sourceMappingURL=requestWithdrawVault.d.ts.map