/** * 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 ReadonlyAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount, type WritableSignerAccount } from "@solana/kit"; import { VOLTR_VAULT_PROGRAM_ADDRESS } from "../programs"; export declare const INITIALIZE_VAULT_DISCRIMINATOR: Uint8Array; export declare function getInitializeVaultDiscriminatorBytes(): ReadonlyUint8Array; export type InitializeVaultInstruction = string, TAccountManager extends string | AccountMeta = string, TAccountAdmin extends string | AccountMeta = string, TAccountProtocol extends string | AccountMeta = string, TAccountVault extends string | AccountMeta = string, TAccountVaultLpMint extends string | AccountMeta = string, TAccountVaultAssetMint extends string | AccountMeta = string, TAccountVaultAssetIdleAta extends string | AccountMeta = string, TAccountVaultLpMintAuth extends string | AccountMeta = string, TAccountVaultAssetIdleAuth extends string | AccountMeta = string, TAccountClock extends string | AccountMeta = "SysvarC1ock11111111111111111111111111111111", TAccountRent extends string | AccountMeta = "SysvarRent111111111111111111111111111111111", TAccountAssociatedTokenProgram extends string | AccountMeta = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL", TAccountAssetTokenProgram extends string | AccountMeta = string, TAccountLpTokenProgram extends string | AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TAccountSystemProgram extends string | AccountMeta = "11111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountPayer extends string ? WritableSignerAccount & AccountSignerMeta : TAccountPayer, TAccountManager extends string ? ReadonlyAccount : TAccountManager, TAccountAdmin extends string ? ReadonlyAccount : TAccountAdmin, TAccountProtocol extends string ? ReadonlyAccount : TAccountProtocol, TAccountVault extends string ? WritableSignerAccount & AccountSignerMeta : TAccountVault, TAccountVaultLpMint extends string ? WritableAccount : TAccountVaultLpMint, TAccountVaultAssetMint extends string ? ReadonlyAccount : TAccountVaultAssetMint, TAccountVaultAssetIdleAta extends string ? WritableAccount : TAccountVaultAssetIdleAta, TAccountVaultLpMintAuth extends string ? ReadonlyAccount : TAccountVaultLpMintAuth, TAccountVaultAssetIdleAuth extends string ? ReadonlyAccount : TAccountVaultAssetIdleAuth, TAccountClock extends string ? ReadonlyAccount : TAccountClock, TAccountRent extends string ? ReadonlyAccount : TAccountRent, TAccountAssociatedTokenProgram extends string ? ReadonlyAccount : TAccountAssociatedTokenProgram, TAccountAssetTokenProgram extends string ? ReadonlyAccount : TAccountAssetTokenProgram, TAccountLpTokenProgram extends string ? ReadonlyAccount : TAccountLpTokenProgram, TAccountSystemProgram extends string ? ReadonlyAccount : TAccountSystemProgram, ...TRemainingAccounts ]>; export type InitializeVaultInstructionData = { discriminator: ReadonlyUint8Array; /** The maximum total amount allowed in the vault. */ maxCap: bigint; /** active from timestamp */ startAtTs: bigint; /** Manager performance fee in basis points (BPS). */ managerPerformanceFee: number; /** Admin performance fee in basis points (BPS). */ adminPerformanceFee: number; /** Manager management fee in basis points (BPS). */ managerManagementFee: number; /** Admin management fee in basis points (BPS). */ adminManagementFee: number; /** The locked profit degradation duration. */ lockedProfitDegradationDuration: bigint; /** The redemption fee in basis points (BPS). */ redemptionFee: number; /** The issuance fee in basis points (BPS). */ issuanceFee: number; /** The waiting period for a withdrawal. */ withdrawalWaitingPeriod: bigint; name: string; description: string; }; export type InitializeVaultInstructionDataArgs = { /** The maximum total amount allowed in the vault. */ maxCap: number | bigint; /** active from timestamp */ startAtTs: number | bigint; /** Manager performance fee in basis points (BPS). */ managerPerformanceFee: number; /** Admin performance fee in basis points (BPS). */ adminPerformanceFee: number; /** Manager management fee in basis points (BPS). */ managerManagementFee: number; /** Admin management fee in basis points (BPS). */ adminManagementFee: number; /** The locked profit degradation duration. */ lockedProfitDegradationDuration: number | bigint; /** The redemption fee in basis points (BPS). */ redemptionFee: number; /** The issuance fee in basis points (BPS). */ issuanceFee: number; /** The waiting period for a withdrawal. */ withdrawalWaitingPeriod: number | bigint; name: string; description: string; }; export declare function getInitializeVaultInstructionDataEncoder(): Encoder; export declare function getInitializeVaultInstructionDataDecoder(): Decoder; export declare function getInitializeVaultInstructionDataCodec(): Codec; export type InitializeVaultAsyncInput = { payer: TransactionSigner; manager: Address; admin: Address; protocol?: Address; vault: TransactionSigner; vaultLpMint?: Address; vaultAssetMint: Address; vaultAssetIdleAta: Address; vaultLpMintAuth?: Address; vaultAssetIdleAuth?: Address; clock?: Address; rent?: Address; associatedTokenProgram?: Address; assetTokenProgram: Address; lpTokenProgram?: Address; systemProgram?: Address; maxCap: InitializeVaultInstructionDataArgs["maxCap"]; startAtTs: InitializeVaultInstructionDataArgs["startAtTs"]; managerPerformanceFee: InitializeVaultInstructionDataArgs["managerPerformanceFee"]; adminPerformanceFee: InitializeVaultInstructionDataArgs["adminPerformanceFee"]; managerManagementFee: InitializeVaultInstructionDataArgs["managerManagementFee"]; adminManagementFee: InitializeVaultInstructionDataArgs["adminManagementFee"]; lockedProfitDegradationDuration: InitializeVaultInstructionDataArgs["lockedProfitDegradationDuration"]; redemptionFee: InitializeVaultInstructionDataArgs["redemptionFee"]; issuanceFee: InitializeVaultInstructionDataArgs["issuanceFee"]; withdrawalWaitingPeriod: InitializeVaultInstructionDataArgs["withdrawalWaitingPeriod"]; name: InitializeVaultInstructionDataArgs["name"]; description: InitializeVaultInstructionDataArgs["description"]; }; export declare function getInitializeVaultInstructionAsync(input: InitializeVaultAsyncInput, config?: { programAddress?: TProgramAddress; }): Promise>; export type InitializeVaultInput = { payer: TransactionSigner; manager: Address; admin: Address; protocol: Address; vault: TransactionSigner; vaultLpMint: Address; vaultAssetMint: Address; vaultAssetIdleAta: Address; vaultLpMintAuth: Address; vaultAssetIdleAuth: Address; clock?: Address; rent?: Address; associatedTokenProgram?: Address; assetTokenProgram: Address; lpTokenProgram?: Address; systemProgram?: Address; maxCap: InitializeVaultInstructionDataArgs["maxCap"]; startAtTs: InitializeVaultInstructionDataArgs["startAtTs"]; managerPerformanceFee: InitializeVaultInstructionDataArgs["managerPerformanceFee"]; adminPerformanceFee: InitializeVaultInstructionDataArgs["adminPerformanceFee"]; managerManagementFee: InitializeVaultInstructionDataArgs["managerManagementFee"]; adminManagementFee: InitializeVaultInstructionDataArgs["adminManagementFee"]; lockedProfitDegradationDuration: InitializeVaultInstructionDataArgs["lockedProfitDegradationDuration"]; redemptionFee: InitializeVaultInstructionDataArgs["redemptionFee"]; issuanceFee: InitializeVaultInstructionDataArgs["issuanceFee"]; withdrawalWaitingPeriod: InitializeVaultInstructionDataArgs["withdrawalWaitingPeriod"]; name: InitializeVaultInstructionDataArgs["name"]; description: InitializeVaultInstructionDataArgs["description"]; }; export declare function getInitializeVaultInstruction(input: InitializeVaultInput, config?: { programAddress?: TProgramAddress; }): InitializeVaultInstruction; export type ParsedInitializeVaultInstruction = { programAddress: Address; accounts: { payer: TAccountMetas[0]; manager: TAccountMetas[1]; admin: TAccountMetas[2]; protocol: TAccountMetas[3]; vault: TAccountMetas[4]; vaultLpMint: TAccountMetas[5]; vaultAssetMint: TAccountMetas[6]; vaultAssetIdleAta: TAccountMetas[7]; vaultLpMintAuth: TAccountMetas[8]; vaultAssetIdleAuth: TAccountMetas[9]; clock: TAccountMetas[10]; rent: TAccountMetas[11]; associatedTokenProgram: TAccountMetas[12]; assetTokenProgram: TAccountMetas[13]; lpTokenProgram: TAccountMetas[14]; systemProgram: TAccountMetas[15]; }; data: InitializeVaultInstructionData; }; export declare function parseInitializeVaultInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedInitializeVaultInstruction; //# sourceMappingURL=initializeVault.d.ts.map