UNPKG

@kamino-finance/farms-sdk

Version:
68 lines 2.64 kB
import { VestingCalculation, VestingConfig } from "./vestingUtils"; import { Farms } from "../Farms"; import { FarmState, UserState } from "../@codegen/farms/accounts"; import { Address } from "@solana/kit"; import Decimal from "decimal.js"; export declare function getSeasonFarmsFromCDN(): Promise<SeasonFarm[]>; export interface SeasonFarmsCdnResponse { "mainnet-beta": { seasonFarms: SeasonFarm[]; }; } export interface SeasonFarm { farmAddress: string; season: string; rewardMint: string; vestingConfig: VestingConfig; } export interface SeasonFarmData { seasonFarm: SeasonFarm; farmState: FarmState; userStates: Map<Address, UserState>; stats: SeasonFarmStats; } export interface UserAllocation { address: Address; allocationLamports: number; } export declare function getExistingUserStatesMapForFarm(farmsClient: Farms, farm: Address): Promise<Map<Address, UserState>>; export declare function getUserStateDefaultLastClaimTs(farmState: FarmState, userState: UserState): number; export declare function getRewardIndexInFarm(farmState: FarmState, rewardMint: string): number; export declare function getSeasonFarmsData(farmsClient: Farms, userAllocations: UserAllocation[]): Promise<SeasonFarmData[]>; export interface SeasonFarmStats { statsTimestampSeconds: number; hasVestingStarted: boolean; hasVestingEnded: boolean; farmRewardVaultBalance: Decimal; rewardsClaimedFromVault: Decimal; rewardsClaimedFromFarmAccounting: Decimal; totalClaimableAllocation: Decimal; farmRewardsIssuedCumulative: Decimal; farmRewardsIssuedUnclaimed: Decimal; pctRewardsAvailableInVaultToUnclaimed: Decimal; doRewardsClaimedMatch: boolean; isTotalIssuedCummulativeLessOrThanClaimable: boolean; isTotalIssuedUnclaimedLessOrThanClaimable: boolean; totalUsers: number; numberOfUserStatesUninitialized: number; numberOfFullyVestedUsers: number; numberOfUsersWithUnexpectedUnclaimedAmounts: number; numberOfUsersForfited: number; numberOfUsersClaimed: number; numberOfUsersWithUnexpectedCumulativeAmounts: number; totalForfeitures: Decimal; userStats: UserStats[]; totalFarmVestingCalculation: VestingCalculation; } export interface UserStats { userAddress: Address; userAllocation: Decimal; isUserInitialized: boolean; hasUserClaimed: boolean; hasUserForfited: boolean; isUserFullyVested: boolean; userTotalClaimableAtStatsTs: Decimal; isUserRewardsIssuedUnclaimedExpected: boolean; isUserRewardsIssuedCumulativeExpected: boolean; } //# sourceMappingURL=seasonFarmUtils.d.ts.map