UNPKG

@hubbleprotocol/farms-sdk

Version:
48 lines (47 loc) 1.6 kB
import { PublicKey } from "@solana/web3.js"; import { FarmState } from "../rpc_client/accounts"; export declare function downloadAllFarmConfigs(targetPath: string): Promise<void>; export declare function getMarketsFromApiData(programId: PublicKey): Promise<{ marketName: string; key: PublicKey; }[]>; export type FarmConfig = { farmMetadata: FarmMetadata; farmPubkey: PublicKey; stakingTokenMint: PublicKey; withdrawAuthority: PublicKey; globalConfig: PublicKey; strategyId: PublicKey; depositCapAmount: number; rewards: Array<{ rewardTokenMint: PublicKey; rewardType: string; rewardPerSecondDecimals: number; minClaimDurationSeconds: number; rewardCurve: Array<{ startTs: number; rps: number; } | undefined>; rewardAvailable: number; rewardToTopUp: number; rewardToTopUpDurationDays: number; } | undefined>; pendingFarmAdmin: PublicKey; scopePrices: PublicKey; scopePriceOracleId: string; scopeOracleMaxAge: number; lockingMode: number; lockingStart: number; lockingDuration: number; lockingEarlyWithdrawalPenaltyBps: number; depositWarmupPeriod: number; withdrawCooldownPeriod: number; slashedAmountSpillAddress: PublicKey; }; export type FarmMetadata = { type: string; reserve: PublicKey | undefined; market: PublicKey | undefined; strategy: PublicKey | undefined; }; export declare function getFarmConfigType(farmKey: PublicKey, farmState: FarmState, farmMetadata: FarmMetadata): FarmConfig;