/** * 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 { VOLTR_VAULT_PROGRAM_ADDRESS } from "../programs"; export declare const INSTANT_WITHDRAW_VAULT_DISCRIMINATOR: Uint8Array; export declare function getInstantWithdrawVaultDiscriminatorBytes(): ReadonlyUint8Array; export type InstantWithdrawVaultInstruction = string, TAccountProtocol extends string | AccountMeta = string, TAccountVault extends string | AccountMeta = string, TAccountVaultAssetMint extends string | AccountMeta = string, TAccountVaultLpMint extends string | AccountMeta = string, TAccountUserLpAta extends string | AccountMeta = string, TAccountVaultAssetIdleAta extends string | AccountMeta = string, TAccountVaultAssetIdleAuth extends string | AccountMeta = string, TAccountUserAssetAta extends string | AccountMeta = string, TAccountAssetTokenProgram extends string | AccountMeta = string, TAccountLpTokenProgram extends string | AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TAccountSystemProgram extends string | AccountMeta = "11111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountUserTransferAuthority extends string ? ReadonlySignerAccount & AccountSignerMeta : TAccountUserTransferAuthority, TAccountProtocol extends string ? ReadonlyAccount : TAccountProtocol, TAccountVault extends string ? WritableAccount : TAccountVault, TAccountVaultAssetMint extends string ? ReadonlyAccount : TAccountVaultAssetMint, TAccountVaultLpMint extends string ? WritableAccount : TAccountVaultLpMint, TAccountUserLpAta extends string ? WritableAccount : TAccountUserLpAta, TAccountVaultAssetIdleAta extends string ? WritableAccount : TAccountVaultAssetIdleAta, TAccountVaultAssetIdleAuth extends string ? WritableAccount : TAccountVaultAssetIdleAuth, TAccountUserAssetAta extends string ? WritableAccount : TAccountUserAssetAta, TAccountAssetTokenProgram extends string ? ReadonlyAccount : TAccountAssetTokenProgram, TAccountLpTokenProgram extends string ? ReadonlyAccount : TAccountLpTokenProgram, TAccountSystemProgram extends string ? ReadonlyAccount : TAccountSystemProgram, ...TRemainingAccounts ]>; export type InstantWithdrawVaultInstructionData = { discriminator: ReadonlyUint8Array; amount: bigint; isAmountInLp: boolean; isWithdrawAll: boolean; }; export type InstantWithdrawVaultInstructionDataArgs = { amount: number | bigint; isAmountInLp: boolean; isWithdrawAll: boolean; }; export declare function getInstantWithdrawVaultInstructionDataEncoder(): FixedSizeEncoder; export declare function getInstantWithdrawVaultInstructionDataDecoder(): FixedSizeDecoder; export declare function getInstantWithdrawVaultInstructionDataCodec(): FixedSizeCodec; export type InstantWithdrawVaultAsyncInput = { /** The authority that owns the LP tokens and wants to redeem them */ userTransferAuthority: TransactionSigner; protocol?: Address; vault: Address; vaultAssetMint: Address; vaultLpMint?: Address; /** The user's LP token account from which LP tokens will be burned. */ userLpAta?: Address; /** The vault's associated token account for asset. */ vaultAssetIdleAta?: Address; vaultAssetIdleAuth?: Address; /** The user's asset ATA to which asset tokens will be sent. */ userAssetAta?: Address; assetTokenProgram: Address; lpTokenProgram?: Address; systemProgram?: Address; amount: InstantWithdrawVaultInstructionDataArgs["amount"]; isAmountInLp: InstantWithdrawVaultInstructionDataArgs["isAmountInLp"]; isWithdrawAll: InstantWithdrawVaultInstructionDataArgs["isWithdrawAll"]; }; export declare function getInstantWithdrawVaultInstructionAsync(input: InstantWithdrawVaultAsyncInput, config?: { programAddress?: TProgramAddress; }): Promise>; export type InstantWithdrawVaultInput = { /** The authority that owns the LP tokens and wants to redeem them */ userTransferAuthority: TransactionSigner; protocol: Address; vault: Address; vaultAssetMint: Address; vaultLpMint: Address; /** The user's LP token account from which LP tokens will be burned. */ userLpAta: Address; /** The vault's associated token account for asset. */ vaultAssetIdleAta: Address; vaultAssetIdleAuth: Address; /** The user's asset ATA to which asset tokens will be sent. */ userAssetAta: Address; assetTokenProgram: Address; lpTokenProgram?: Address; systemProgram?: Address; amount: InstantWithdrawVaultInstructionDataArgs["amount"]; isAmountInLp: InstantWithdrawVaultInstructionDataArgs["isAmountInLp"]; isWithdrawAll: InstantWithdrawVaultInstructionDataArgs["isWithdrawAll"]; }; export declare function getInstantWithdrawVaultInstruction(input: InstantWithdrawVaultInput, config?: { programAddress?: TProgramAddress; }): InstantWithdrawVaultInstruction; export type ParsedInstantWithdrawVaultInstruction = { programAddress: Address; accounts: { /** The authority that owns the LP tokens and wants to redeem them */ userTransferAuthority: TAccountMetas[0]; protocol: TAccountMetas[1]; vault: TAccountMetas[2]; vaultAssetMint: TAccountMetas[3]; vaultLpMint: TAccountMetas[4]; /** The user's LP token account from which LP tokens will be burned. */ userLpAta: TAccountMetas[5]; /** The vault's associated token account for asset. */ vaultAssetIdleAta: TAccountMetas[6]; vaultAssetIdleAuth: TAccountMetas[7]; /** The user's asset ATA to which asset tokens will be sent. */ userAssetAta: TAccountMetas[8]; assetTokenProgram: TAccountMetas[9]; lpTokenProgram: TAccountMetas[10]; systemProgram: TAccountMetas[11]; }; data: InstantWithdrawVaultInstructionData; }; export declare function parseInstantWithdrawVaultInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedInstantWithdrawVaultInstruction; //# sourceMappingURL=instantWithdrawVault.d.ts.map