/** * 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 ReadonlySignerAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount } from "@solana/kit"; import { VOLTR_VAULT_PROGRAM_ADDRESS } from "../programs"; export declare const WITHDRAW_STRATEGY_DISCRIMINATOR: Uint8Array; export declare function getWithdrawStrategyDiscriminatorBytes(): ReadonlyUint8Array; export type WithdrawStrategyInstruction = string, TAccountProtocol extends string | AccountMeta = string, TAccountVault extends string | AccountMeta = string, TAccountAdaptorAddReceipt extends string | AccountMeta = string, TAccountStrategyInitReceipt extends string | AccountMeta = string, TAccountStrategy extends string | AccountMeta = string, TAccountAdaptorProgram extends string | AccountMeta = string, TAccountVaultAssetIdleAuth extends string | AccountMeta = string, TAccountVaultStrategyAuth extends string | AccountMeta = string, TAccountVaultAssetMint extends string | AccountMeta = string, TAccountVaultLpMint extends string | AccountMeta = string, TAccountVaultAssetIdleAta extends string | AccountMeta = string, TAccountVaultStrategyAssetAta extends string | AccountMeta = string, TAccountAssetTokenProgram extends string | AccountMeta = string, TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountManager extends string ? ReadonlySignerAccount & AccountSignerMeta : TAccountManager, TAccountProtocol extends string ? ReadonlyAccount : TAccountProtocol, TAccountVault extends string ? WritableAccount : TAccountVault, TAccountAdaptorAddReceipt extends string ? ReadonlyAccount : TAccountAdaptorAddReceipt, TAccountStrategyInitReceipt extends string ? WritableAccount : TAccountStrategyInitReceipt, TAccountStrategy extends string ? ReadonlyAccount : TAccountStrategy, TAccountAdaptorProgram extends string ? ReadonlyAccount : TAccountAdaptorProgram, TAccountVaultAssetIdleAuth extends string ? WritableAccount : TAccountVaultAssetIdleAuth, TAccountVaultStrategyAuth extends string ? WritableAccount : TAccountVaultStrategyAuth, TAccountVaultAssetMint extends string ? WritableAccount : TAccountVaultAssetMint, TAccountVaultLpMint extends string ? ReadonlyAccount : TAccountVaultLpMint, TAccountVaultAssetIdleAta extends string ? WritableAccount : TAccountVaultAssetIdleAta, TAccountVaultStrategyAssetAta extends string ? WritableAccount : TAccountVaultStrategyAssetAta, TAccountAssetTokenProgram extends string ? ReadonlyAccount : TAccountAssetTokenProgram, ...TRemainingAccounts ]>; export type WithdrawStrategyInstructionData = { discriminator: ReadonlyUint8Array; amount: bigint; instructionDiscriminator: Option; additionalArgs: Option; }; export type WithdrawStrategyInstructionDataArgs = { amount: number | bigint; instructionDiscriminator: OptionOrNullable; additionalArgs: OptionOrNullable; }; export declare function getWithdrawStrategyInstructionDataEncoder(): Encoder; export declare function getWithdrawStrategyInstructionDataDecoder(): Decoder; export declare function getWithdrawStrategyInstructionDataCodec(): Codec; export type WithdrawStrategyAsyncInput = { manager: TransactionSigner; protocol?: Address; vault: Address; adaptorAddReceipt?: Address; strategyInitReceipt?: Address; strategy: Address; adaptorProgram: Address; vaultAssetIdleAuth?: Address; vaultStrategyAuth?: Address; vaultAssetMint: Address; vaultLpMint?: Address; /** The vault's associated token account for asset. */ vaultAssetIdleAta?: Address; vaultStrategyAssetAta?: Address; assetTokenProgram: Address; amount: WithdrawStrategyInstructionDataArgs["amount"]; instructionDiscriminator: WithdrawStrategyInstructionDataArgs["instructionDiscriminator"]; additionalArgs: WithdrawStrategyInstructionDataArgs["additionalArgs"]; }; export declare function getWithdrawStrategyInstructionAsync(input: WithdrawStrategyAsyncInput, config?: { programAddress?: TProgramAddress; }): Promise>; export type WithdrawStrategyInput = { manager: TransactionSigner; protocol: Address; vault: Address; adaptorAddReceipt: Address; strategyInitReceipt: Address; strategy: Address; adaptorProgram: Address; vaultAssetIdleAuth: Address; vaultStrategyAuth: Address; vaultAssetMint: Address; vaultLpMint: Address; /** The vault's associated token account for asset. */ vaultAssetIdleAta: Address; vaultStrategyAssetAta: Address; assetTokenProgram: Address; amount: WithdrawStrategyInstructionDataArgs["amount"]; instructionDiscriminator: WithdrawStrategyInstructionDataArgs["instructionDiscriminator"]; additionalArgs: WithdrawStrategyInstructionDataArgs["additionalArgs"]; }; export declare function getWithdrawStrategyInstruction(input: WithdrawStrategyInput, config?: { programAddress?: TProgramAddress; }): WithdrawStrategyInstruction; export type ParsedWithdrawStrategyInstruction = { programAddress: Address; accounts: { manager: TAccountMetas[0]; protocol: TAccountMetas[1]; vault: TAccountMetas[2]; adaptorAddReceipt: TAccountMetas[3]; strategyInitReceipt: TAccountMetas[4]; strategy: TAccountMetas[5]; adaptorProgram: TAccountMetas[6]; vaultAssetIdleAuth: TAccountMetas[7]; vaultStrategyAuth: TAccountMetas[8]; vaultAssetMint: TAccountMetas[9]; vaultLpMint: TAccountMetas[10]; /** The vault's associated token account for asset. */ vaultAssetIdleAta: TAccountMetas[11]; vaultStrategyAssetAta: TAccountMetas[12]; assetTokenProgram: TAccountMetas[13]; }; data: WithdrawStrategyInstructionData; }; export declare function parseWithdrawStrategyInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedWithdrawStrategyInstruction; //# sourceMappingURL=withdrawStrategy.d.ts.map