kamino-sdk-beta
Version:
Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol
84 lines • 3.35 kB
TypeScript
import { PublicKey } from "@solana/web3.js";
import BN from "bn.js";
import * as types from "../types";
export interface RewardInfoFields {
/** Reward token mint. */
mint: PublicKey;
/** Reward vault token account. */
vault: PublicKey;
/** Authority account that allows to fund rewards */
funder: PublicKey;
/** TODO check whether we need to store it in pool */
rewardDuration: BN;
/** TODO check whether we need to store it in pool */
rewardDurationEnd: BN;
/** TODO check whether we need to store it in pool */
rewardRate: BN;
/** The last time reward states were updated. */
lastUpdateTime: BN;
/** Accumulated seconds where when farm distribute rewards, but the bin is empty. The reward will be accumulated for next reward time window. */
cumulativeSecondsWithEmptyLiquidityReward: BN;
}
export interface RewardInfoJSON {
/** Reward token mint. */
mint: string;
/** Reward vault token account. */
vault: string;
/** Authority account that allows to fund rewards */
funder: string;
/** TODO check whether we need to store it in pool */
rewardDuration: string;
/** TODO check whether we need to store it in pool */
rewardDurationEnd: string;
/** TODO check whether we need to store it in pool */
rewardRate: string;
/** The last time reward states were updated. */
lastUpdateTime: string;
/** Accumulated seconds where when farm distribute rewards, but the bin is empty. The reward will be accumulated for next reward time window. */
cumulativeSecondsWithEmptyLiquidityReward: string;
}
/** Stores the state relevant for tracking liquidity mining rewards */
export declare class RewardInfo {
/** Reward token mint. */
readonly mint: PublicKey;
/** Reward vault token account. */
readonly vault: PublicKey;
/** Authority account that allows to fund rewards */
readonly funder: PublicKey;
/** TODO check whether we need to store it in pool */
readonly rewardDuration: BN;
/** TODO check whether we need to store it in pool */
readonly rewardDurationEnd: BN;
/** TODO check whether we need to store it in pool */
readonly rewardRate: BN;
/** The last time reward states were updated. */
readonly lastUpdateTime: BN;
/** Accumulated seconds where when farm distribute rewards, but the bin is empty. The reward will be accumulated for next reward time window. */
readonly cumulativeSecondsWithEmptyLiquidityReward: BN;
constructor(fields: RewardInfoFields);
static layout(property?: string): any;
static fromDecoded(obj: any): types.RewardInfo;
static toEncodable(fields: RewardInfoFields): {
mint: PublicKey;
vault: PublicKey;
funder: PublicKey;
rewardDuration: BN;
rewardDurationEnd: BN;
rewardRate: BN;
lastUpdateTime: BN;
cumulativeSecondsWithEmptyLiquidityReward: BN;
};
toJSON(): RewardInfoJSON;
static fromJSON(obj: RewardInfoJSON): RewardInfo;
toEncodable(): {
mint: PublicKey;
vault: PublicKey;
funder: PublicKey;
rewardDuration: BN;
rewardDurationEnd: BN;
rewardRate: BN;
lastUpdateTime: BN;
cumulativeSecondsWithEmptyLiquidityReward: BN;
};
}
//# sourceMappingURL=RewardInfo.d.ts.map