@kamino-finance/klend-sdk
Version:
Typescript SDK for interacting with the Kamino Lending (klend) protocol
50 lines • 1.83 kB
TypeScript
import { PublicKey } from '@solana/web3.js';
import { KaminoMarket, KaminoObligation } from '../classes';
export type ObligationType = VanillaObligation | MultiplyObligation | LendingObligation;
export declare enum ObligationTypeTag {
Vanilla = 0,
Multiply = 1,
Lending = 2,
Leverage = 3
}
export type InitObligationArgsModel = {
tag: number;
id: number;
seed1: PublicKey;
seed2: PublicKey;
};
export declare class VanillaObligation {
readonly programId: PublicKey;
static tag: number;
constructor(programId: PublicKey);
toArgs(): InitObligationArgsModel;
toPda(market: PublicKey, user: PublicKey): PublicKey;
}
export declare class MultiplyObligation {
readonly collToken: PublicKey;
readonly debtToken: PublicKey;
readonly programId: PublicKey;
static tag: number;
constructor(collToken: PublicKey, debtToken: PublicKey, programId: PublicKey);
toArgs(): InitObligationArgsModel;
toPda(market: PublicKey, user: PublicKey): PublicKey;
}
export declare class LeverageObligation {
readonly collToken: PublicKey;
readonly debtToken: PublicKey;
readonly programId: PublicKey;
static tag: number;
constructor(collToken: PublicKey, debtToken: PublicKey, programId: PublicKey);
toArgs(): InitObligationArgsModel;
toPda(market: PublicKey, user: PublicKey): PublicKey;
}
export declare class LendingObligation {
readonly token: PublicKey;
readonly programId: PublicKey;
static tag: number;
constructor(token: PublicKey, programId: PublicKey);
toArgs(): InitObligationArgsModel;
toPda(market: PublicKey, user: PublicKey): PublicKey;
}
export declare function getObligationTypeFromObligation(kaminoMarket: KaminoMarket, obligation: KaminoObligation): ObligationType;
//# sourceMappingURL=ObligationType.d.ts.map