/** * 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 DIRECT_WITHDRAW_STRATEGY_WITH_TOLERANCE_DISCRIMINATOR: Uint8Array; export declare function getDirectWithdrawStrategyWithToleranceDiscriminatorBytes(): ReadonlyUint8Array; export type DirectWithdrawStrategyWithToleranceInstruction = 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, TAccountRequestWithdrawLpAta extends string | AccountMeta = string, TAccountVaultStrategyAuth extends string | AccountMeta = string, TAccountUserAssetAta extends string | AccountMeta = string, TAccountVaultStrategyAssetAta extends string | AccountMeta = string, TAccountRequestWithdrawVaultReceipt 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, TAccountRequestWithdrawLpAta extends string ? WritableAccount : TAccountRequestWithdrawLpAta, TAccountVaultStrategyAuth extends string ? WritableAccount : TAccountVaultStrategyAuth, TAccountUserAssetAta extends string ? WritableAccount : TAccountUserAssetAta, TAccountVaultStrategyAssetAta extends string ? WritableAccount : TAccountVaultStrategyAssetAta, TAccountRequestWithdrawVaultReceipt extends string ? WritableAccount : TAccountRequestWithdrawVaultReceipt, TAccountAdaptorProgram extends string ? ReadonlyAccount : TAccountAdaptorProgram, TAccountAssetTokenProgram extends string ? ReadonlyAccount : TAccountAssetTokenProgram, TAccountLpTokenProgram extends string ? ReadonlyAccount : TAccountLpTokenProgram, TAccountSystemProgram extends string ? ReadonlyAccount : TAccountSystemProgram, ...TRemainingAccounts ]>; export type DirectWithdrawStrategyWithToleranceInstructionData = { discriminator: ReadonlyUint8Array; userArgs: Option; tolerance: bigint; }; export type DirectWithdrawStrategyWithToleranceInstructionDataArgs = { userArgs: OptionOrNullable; tolerance: number | bigint; }; export declare function getDirectWithdrawStrategyWithToleranceInstructionDataEncoder(): Encoder; export declare function getDirectWithdrawStrategyWithToleranceInstructionDataDecoder(): Decoder; export declare function getDirectWithdrawStrategyWithToleranceInstructionDataCodec(): Codec; export type DirectWithdrawStrategyWithToleranceAsyncInput = { /** 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 request's LP token account from which LP tokens will be burned. */ requestWithdrawLpAta?: Address; vaultStrategyAuth?: Address; /** The user's asset ATA to which asset tokens will be sent. */ userAssetAta?: Address; vaultStrategyAssetAta?: Address; requestWithdrawVaultReceipt?: Address; adaptorProgram: Address; assetTokenProgram: Address; lpTokenProgram?: Address; systemProgram?: Address; userArgs: DirectWithdrawStrategyWithToleranceInstructionDataArgs["userArgs"]; tolerance: DirectWithdrawStrategyWithToleranceInstructionDataArgs["tolerance"]; }; export declare function getDirectWithdrawStrategyWithToleranceInstructionAsync(input: DirectWithdrawStrategyWithToleranceAsyncInput, config?: { programAddress?: TProgramAddress; }): Promise>; export type DirectWithdrawStrategyWithToleranceInput = { /** 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 request's LP token account from which LP tokens will be burned. */ requestWithdrawLpAta: Address; vaultStrategyAuth: Address; /** The user's asset ATA to which asset tokens will be sent. */ userAssetAta: Address; vaultStrategyAssetAta: Address; requestWithdrawVaultReceipt: Address; adaptorProgram: Address; assetTokenProgram: Address; lpTokenProgram?: Address; systemProgram?: Address; userArgs: DirectWithdrawStrategyWithToleranceInstructionDataArgs["userArgs"]; tolerance: DirectWithdrawStrategyWithToleranceInstructionDataArgs["tolerance"]; }; export declare function getDirectWithdrawStrategyWithToleranceInstruction(input: DirectWithdrawStrategyWithToleranceInput, config?: { programAddress?: TProgramAddress; }): DirectWithdrawStrategyWithToleranceInstruction; export type ParsedDirectWithdrawStrategyWithToleranceInstruction = { 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 request's LP token account from which LP tokens will be burned. */ requestWithdrawLpAta: TAccountMetas[9]; vaultStrategyAuth: TAccountMetas[10]; /** The user's asset ATA to which asset tokens will be sent. */ userAssetAta: TAccountMetas[11]; vaultStrategyAssetAta: TAccountMetas[12]; requestWithdrawVaultReceipt: TAccountMetas[13]; adaptorProgram: TAccountMetas[14]; assetTokenProgram: TAccountMetas[15]; lpTokenProgram: TAccountMetas[16]; systemProgram: TAccountMetas[17]; }; data: DirectWithdrawStrategyWithToleranceInstructionData; }; export declare function parseDirectWithdrawStrategyWithToleranceInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedDirectWithdrawStrategyWithToleranceInstruction; //# sourceMappingURL=directWithdrawStrategyWithTolerance.d.ts.map