/** * 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 Codec, type Decoder, type Encoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type Option, type OptionOrNullable, type ReadonlyAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount, type WritableSignerAccount } from "@solana/kit"; import { VOLTR_VAULT_PROGRAM_ADDRESS } from "../programs"; export declare const INSTANT_WITHDRAW_STRATEGY_WITH_TOLERANCE_DISCRIMINATOR: Uint8Array; export declare function getInstantWithdrawStrategyWithToleranceDiscriminatorBytes(): ReadonlyUint8Array; export type InstantWithdrawStrategyWithToleranceInstruction = string, TAccountProtocol extends string | AccountMeta = string, TAccountVault extends string | AccountMeta = string, TAccountAdaptorAddReceipt extends string | AccountMeta = string, TAccountStrategyInitReceipt extends string | AccountMeta = string, TAccountDirectWithdrawInitReceipt extends string | AccountMeta = string, TAccountStrategy extends string | AccountMeta = string, TAccountVaultAssetMint extends string | AccountMeta = string, TAccountVaultLpMint extends string | AccountMeta = string, TAccountUserLpAta extends string | AccountMeta = string, TAccountVaultStrategyAuth extends string | AccountMeta = string, TAccountUserAssetAta extends string | AccountMeta = string, TAccountVaultStrategyAssetAta extends string | AccountMeta = string, TAccountAdaptorProgram 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 ? WritableSignerAccount & AccountSignerMeta : TAccountUserTransferAuthority, TAccountProtocol extends string ? ReadonlyAccount : TAccountProtocol, TAccountVault extends string ? WritableAccount : TAccountVault, TAccountAdaptorAddReceipt extends string ? ReadonlyAccount : TAccountAdaptorAddReceipt, TAccountStrategyInitReceipt extends string ? WritableAccount : TAccountStrategyInitReceipt, TAccountDirectWithdrawInitReceipt extends string ? ReadonlyAccount : TAccountDirectWithdrawInitReceipt, TAccountStrategy extends string ? ReadonlyAccount : TAccountStrategy, TAccountVaultAssetMint extends string ? WritableAccount : TAccountVaultAssetMint, TAccountVaultLpMint extends string ? WritableAccount : TAccountVaultLpMint, TAccountUserLpAta extends string ? WritableAccount : TAccountUserLpAta, TAccountVaultStrategyAuth extends string ? WritableAccount : TAccountVaultStrategyAuth, TAccountUserAssetAta extends string ? WritableAccount : TAccountUserAssetAta, TAccountVaultStrategyAssetAta extends string ? WritableAccount : TAccountVaultStrategyAssetAta, TAccountAdaptorProgram extends string ? ReadonlyAccount : TAccountAdaptorProgram, TAccountAssetTokenProgram extends string ? ReadonlyAccount : TAccountAssetTokenProgram, TAccountLpTokenProgram extends string ? ReadonlyAccount : TAccountLpTokenProgram, TAccountSystemProgram extends string ? ReadonlyAccount : TAccountSystemProgram, ...TRemainingAccounts ]>; export type InstantWithdrawStrategyWithToleranceInstructionData = { discriminator: ReadonlyUint8Array; amount: bigint; isAmountInLp: boolean; isWithdrawAll: boolean; userArgs: Option; tolerance: bigint; }; export type InstantWithdrawStrategyWithToleranceInstructionDataArgs = { amount: number | bigint; isAmountInLp: boolean; isWithdrawAll: boolean; userArgs: OptionOrNullable; tolerance: number | bigint; }; export declare function getInstantWithdrawStrategyWithToleranceInstructionDataEncoder(): Encoder; export declare function getInstantWithdrawStrategyWithToleranceInstructionDataDecoder(): Decoder; export declare function getInstantWithdrawStrategyWithToleranceInstructionDataCodec(): Codec; export type InstantWithdrawStrategyWithToleranceAsyncInput = { /** The authority that owns the LP tokens and wants to redeem them */ userTransferAuthority: TransactionSigner; protocol?: Address; vault: Address; adaptorAddReceipt?: Address; strategyInitReceipt?: Address; directWithdrawInitReceipt?: Address; strategy: Address; vaultAssetMint: Address; vaultLpMint?: Address; /** The user's LP token account from which LP tokens will be burned. */ userLpAta?: Address; vaultStrategyAuth?: Address; /** The user's asset ATA to which asset tokens will be sent. */ userAssetAta?: Address; vaultStrategyAssetAta?: Address; adaptorProgram: Address; assetTokenProgram: Address; lpTokenProgram?: Address; systemProgram?: Address; amount: InstantWithdrawStrategyWithToleranceInstructionDataArgs["amount"]; isAmountInLp: InstantWithdrawStrategyWithToleranceInstructionDataArgs["isAmountInLp"]; isWithdrawAll: InstantWithdrawStrategyWithToleranceInstructionDataArgs["isWithdrawAll"]; userArgs: InstantWithdrawStrategyWithToleranceInstructionDataArgs["userArgs"]; tolerance: InstantWithdrawStrategyWithToleranceInstructionDataArgs["tolerance"]; }; export declare function getInstantWithdrawStrategyWithToleranceInstructionAsync(input: InstantWithdrawStrategyWithToleranceAsyncInput, config?: { programAddress?: TProgramAddress; }): Promise>; export type InstantWithdrawStrategyWithToleranceInput = { /** The authority that owns the LP tokens and wants to redeem them */ userTransferAuthority: TransactionSigner; protocol: Address; vault: Address; adaptorAddReceipt: Address; strategyInitReceipt: Address; directWithdrawInitReceipt: Address; strategy: Address; vaultAssetMint: Address; vaultLpMint: Address; /** The user's LP token account from which LP tokens will be burned. */ userLpAta: Address; vaultStrategyAuth: Address; /** The user's asset ATA to which asset tokens will be sent. */ userAssetAta: Address; vaultStrategyAssetAta: Address; adaptorProgram: Address; assetTokenProgram: Address; lpTokenProgram?: Address; systemProgram?: Address; amount: InstantWithdrawStrategyWithToleranceInstructionDataArgs["amount"]; isAmountInLp: InstantWithdrawStrategyWithToleranceInstructionDataArgs["isAmountInLp"]; isWithdrawAll: InstantWithdrawStrategyWithToleranceInstructionDataArgs["isWithdrawAll"]; userArgs: InstantWithdrawStrategyWithToleranceInstructionDataArgs["userArgs"]; tolerance: InstantWithdrawStrategyWithToleranceInstructionDataArgs["tolerance"]; }; export declare function getInstantWithdrawStrategyWithToleranceInstruction(input: InstantWithdrawStrategyWithToleranceInput, config?: { programAddress?: TProgramAddress; }): InstantWithdrawStrategyWithToleranceInstruction; export type ParsedInstantWithdrawStrategyWithToleranceInstruction = { programAddress: Address; accounts: { /** The authority that owns the LP tokens and wants to redeem them */ userTransferAuthority: TAccountMetas[0]; protocol: TAccountMetas[1]; vault: TAccountMetas[2]; adaptorAddReceipt: TAccountMetas[3]; strategyInitReceipt: TAccountMetas[4]; directWithdrawInitReceipt: TAccountMetas[5]; strategy: TAccountMetas[6]; vaultAssetMint: TAccountMetas[7]; vaultLpMint: TAccountMetas[8]; /** The user's LP token account from which LP tokens will be burned. */ userLpAta: TAccountMetas[9]; vaultStrategyAuth: TAccountMetas[10]; /** The user's asset ATA to which asset tokens will be sent. */ userAssetAta: TAccountMetas[11]; vaultStrategyAssetAta: TAccountMetas[12]; adaptorProgram: TAccountMetas[13]; assetTokenProgram: TAccountMetas[14]; lpTokenProgram: TAccountMetas[15]; systemProgram: TAccountMetas[16]; }; data: InstantWithdrawStrategyWithToleranceInstructionData; }; export declare function parseInstantWithdrawStrategyWithToleranceInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedInstantWithdrawStrategyWithToleranceInstruction; //# sourceMappingURL=instantWithdrawStrategyWithTolerance.d.ts.map