@kamino-finance/klend-sdk
Version:
Typescript SDK for interacting with the Kamino Lending (klend) protocol
126 lines • 4.33 kB
TypeScript
import { Address, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from "@solana/kit";
import BN from "bn.js";
import * as types from "../types";
export interface VaultStateFields {
vaultAdminAuthority: Address;
baseVaultAuthority: Address;
baseVaultAuthorityBump: BN;
tokenMint: Address;
tokenMintDecimals: BN;
tokenVault: Address;
tokenProgram: Address;
sharesMint: Address;
sharesMintDecimals: BN;
tokenAvailable: BN;
sharesIssued: BN;
availableCrankFunds: BN;
unallocatedWeight: BN;
performanceFeeBps: BN;
managementFeeBps: BN;
lastFeeChargeTimestamp: BN;
prevAumSf: BN;
pendingFeesSf: BN;
vaultAllocationStrategy: Array<types.VaultAllocationFields>;
padding1: Array<BN>;
minDepositAmount: BN;
minWithdrawAmount: BN;
minInvestAmount: BN;
minInvestDelaySlots: BN;
crankFundFeePerReserve: BN;
pendingAdmin: Address;
cumulativeEarnedInterestSf: BN;
cumulativeMgmtFeesSf: BN;
cumulativePerfFeesSf: BN;
name: Array<number>;
vaultLookupTable: Address;
vaultFarm: Address;
creationTimestamp: BN;
unallocatedTokensCap: BN;
allocationAdmin: Address;
padding3: Array<BN>;
}
export interface VaultStateJSON {
vaultAdminAuthority: string;
baseVaultAuthority: string;
baseVaultAuthorityBump: string;
tokenMint: string;
tokenMintDecimals: string;
tokenVault: string;
tokenProgram: string;
sharesMint: string;
sharesMintDecimals: string;
tokenAvailable: string;
sharesIssued: string;
availableCrankFunds: string;
unallocatedWeight: string;
performanceFeeBps: string;
managementFeeBps: string;
lastFeeChargeTimestamp: string;
prevAumSf: string;
pendingFeesSf: string;
vaultAllocationStrategy: Array<types.VaultAllocationJSON>;
padding1: Array<string>;
minDepositAmount: string;
minWithdrawAmount: string;
minInvestAmount: string;
minInvestDelaySlots: string;
crankFundFeePerReserve: string;
pendingAdmin: string;
cumulativeEarnedInterestSf: string;
cumulativeMgmtFeesSf: string;
cumulativePerfFeesSf: string;
name: Array<number>;
vaultLookupTable: string;
vaultFarm: string;
creationTimestamp: string;
unallocatedTokensCap: string;
allocationAdmin: string;
padding3: Array<string>;
}
export declare class VaultState {
readonly vaultAdminAuthority: Address;
readonly baseVaultAuthority: Address;
readonly baseVaultAuthorityBump: BN;
readonly tokenMint: Address;
readonly tokenMintDecimals: BN;
readonly tokenVault: Address;
readonly tokenProgram: Address;
readonly sharesMint: Address;
readonly sharesMintDecimals: BN;
readonly tokenAvailable: BN;
readonly sharesIssued: BN;
readonly availableCrankFunds: BN;
readonly unallocatedWeight: BN;
readonly performanceFeeBps: BN;
readonly managementFeeBps: BN;
readonly lastFeeChargeTimestamp: BN;
readonly prevAumSf: BN;
readonly pendingFeesSf: BN;
readonly vaultAllocationStrategy: Array<types.VaultAllocation>;
readonly padding1: Array<BN>;
readonly minDepositAmount: BN;
readonly minWithdrawAmount: BN;
readonly minInvestAmount: BN;
readonly minInvestDelaySlots: BN;
readonly crankFundFeePerReserve: BN;
readonly pendingAdmin: Address;
readonly cumulativeEarnedInterestSf: BN;
readonly cumulativeMgmtFeesSf: BN;
readonly cumulativePerfFeesSf: BN;
readonly name: Array<number>;
readonly vaultLookupTable: Address;
readonly vaultFarm: Address;
readonly creationTimestamp: BN;
readonly unallocatedTokensCap: BN;
readonly allocationAdmin: Address;
readonly padding3: Array<BN>;
static readonly discriminator: Buffer<ArrayBuffer>;
static readonly layout: import("buffer-layout").Layout<VaultState>;
constructor(fields: VaultStateFields);
static fetch(rpc: Rpc<GetAccountInfoApi>, address: Address, programId?: Address): Promise<VaultState | null>;
static fetchMultiple(rpc: Rpc<GetMultipleAccountsApi>, addresses: Address[], programId?: Address): Promise<Array<VaultState | null>>;
static decode(data: Buffer): VaultState;
toJSON(): VaultStateJSON;
static fromJSON(obj: VaultStateJSON): VaultState;
}
//# sourceMappingURL=VaultState.d.ts.map