@kamino-finance/klend-sdk
Version:
Typescript SDK for interacting with the Kamino Lending (klend) protocol
126 lines • 4.22 kB
TypeScript
import { PublicKey, Connection } from "@solana/web3.js";
import BN from "bn.js";
import * as types from "../types";
export interface VaultStateFields {
vaultAdminAuthority: PublicKey;
baseVaultAuthority: PublicKey;
baseVaultAuthorityBump: BN;
tokenMint: PublicKey;
tokenMintDecimals: BN;
tokenVault: PublicKey;
tokenProgram: PublicKey;
sharesMint: PublicKey;
sharesMintDecimals: BN;
tokenAvailable: BN;
sharesIssued: BN;
availableCrankFunds: BN;
padding0: 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: PublicKey;
cumulativeEarnedInterestSf: BN;
cumulativeMgmtFeesSf: BN;
cumulativePerfFeesSf: BN;
name: Array<number>;
vaultLookupTable: PublicKey;
vaultFarm: PublicKey;
creationTimestamp: BN;
padding2: BN;
allocationAdmin: PublicKey;
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;
padding0: 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;
padding2: string;
allocationAdmin: string;
padding3: Array<string>;
}
export declare class VaultState {
readonly vaultAdminAuthority: PublicKey;
readonly baseVaultAuthority: PublicKey;
readonly baseVaultAuthorityBump: BN;
readonly tokenMint: PublicKey;
readonly tokenMintDecimals: BN;
readonly tokenVault: PublicKey;
readonly tokenProgram: PublicKey;
readonly sharesMint: PublicKey;
readonly sharesMintDecimals: BN;
readonly tokenAvailable: BN;
readonly sharesIssued: BN;
readonly availableCrankFunds: BN;
readonly padding0: 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: PublicKey;
readonly cumulativeEarnedInterestSf: BN;
readonly cumulativeMgmtFeesSf: BN;
readonly cumulativePerfFeesSf: BN;
readonly name: Array<number>;
readonly vaultLookupTable: PublicKey;
readonly vaultFarm: PublicKey;
readonly creationTimestamp: BN;
readonly padding2: BN;
readonly allocationAdmin: PublicKey;
readonly padding3: Array<BN>;
static readonly discriminator: Buffer<ArrayBuffer>;
static readonly layout: any;
constructor(fields: VaultStateFields);
static fetch(c: Connection, address: PublicKey, programId?: PublicKey): Promise<VaultState | null>;
static fetchMultiple(c: Connection, addresses: PublicKey[], programId?: PublicKey): Promise<Array<VaultState | null>>;
static decode(data: Buffer): VaultState;
toJSON(): VaultStateJSON;
static fromJSON(obj: VaultStateJSON): VaultState;
}
//# sourceMappingURL=VaultState.d.ts.map