/** * 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_DISCRIMINATOR: Uint8Array; export declare function getDirectWithdrawStrategyDiscriminatorBytes(): ReadonlyUint8Array; export type DirectWithdrawStrategyInstruction = 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 DirectWithdrawStrategyInstructionData = { discriminator: ReadonlyUint8Array; userArgs: Option; }; export type DirectWithdrawStrategyInstructionDataArgs = { userArgs: OptionOrNullable; }; export declare function getDirectWithdrawStrategyInstructionDataEncoder(): Encoder; export declare function getDirectWithdrawStrategyInstructionDataDecoder(): Decoder; export declare function getDirectWithdrawStrategyInstructionDataCodec(): Codec; export type DirectWithdrawStrategyAsyncInput = { /** 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: DirectWithdrawStrategyInstructionDataArgs["userArgs"]; }; export declare function getDirectWithdrawStrategyInstructionAsync(input: DirectWithdrawStrategyAsyncInput, config?: { programAddress?: TProgramAddress; }): Promise>; export type DirectWithdrawStrategyInput = { /** 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: DirectWithdrawStrategyInstructionDataArgs["userArgs"]; }; export declare function getDirectWithdrawStrategyInstruction(input: DirectWithdrawStrategyInput, config?: { programAddress?: TProgramAddress; }): DirectWithdrawStrategyInstruction; export type ParsedDirectWithdrawStrategyInstruction = { 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: DirectWithdrawStrategyInstructionData; }; export declare function parseDirectWithdrawStrategyInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedDirectWithdrawStrategyInstruction; //# sourceMappingURL=directWithdrawStrategy.d.ts.map