@parcl-finance/product-sdk
Version:
TypeScript SDK for interacting with Parcl's product APIs
97 lines • 3.05 kB
TypeScript
import { Address } from "@project-serum/anchor";
import { PublicKey } from "@solana/web3.js";
import { Env } from "./types";
export declare class PointsSeason2 {
private headers;
private expressClient;
constructor(env?: Env);
isParticipant({ publicKey }: {
publicKey: PublicKey;
}): Promise<boolean>;
getPointsBreakdown({ publicKey }: {
publicKey: PublicKey;
}): Promise<PointsBreakdown>;
getLeaderboard(): Promise<{
leaderboard: PointsSeason2Leaderboard;
participantCount: number;
}>;
getUserLeaderboardInfo({ publicKey, }: {
publicKey: Address;
}): Promise<PointsSeason2LeaderboardItem>;
participate({ user }: {
user: PublicKey;
}): Promise<{
id: number;
address: string;
byteAddress: string;
joinedAt: string;
}>;
getS2FinalLeaderboard(): Promise<FinalPPPS2Leaderboard>;
getS2UserAllocation({ publicKey, }: {
publicKey: PublicKey;
}): Promise<FinalPPPS2LeaderboardRow>;
}
export type FinalPPPS2LeaderboardRow = {
user: string;
prclAllocation: number;
rank: number | null;
finalBoostedPoints: number;
finalBoostedMarginCollateralPoints: number;
finalBoostedFeePoints: number;
finalBoostedNegativePnlPoints: number;
finalBoostedLpPoints: number;
finalBoostedLiquidationPoints: number;
finalSpecialTraderBoost: number;
finalStakingLoyaltyBoost: number;
finalStakedPrclBoost: number;
finalHoaBoost: number;
finalLoyaltyBoost: number;
};
export type FinalPPPS2Leaderboard = FinalPPPS2LeaderboardRow[];
type PointsBreakdown = PointsBreakdownItem[];
type PointsBreakdownItem = {
date: string;
userAddress: string;
dailyBoostedPoints: string;
dailyBoostedMarginCollateralPoints: string;
dailyBoostedFeePoints: string;
dailyBoostedNegativePnlPoints: string;
dailyBoostedLpPoints: string;
dailyBoostedLiquidationPoints: string;
heldPrclBoost: string;
stakedPrclBoost: string;
hoaBoost: string;
loyaltyBoost: number;
totalBoost: string;
dailyPrclHoldings: string;
dailyStakedBalance: string;
dailyHoaHoldings: string;
tvl: string;
dailyFees: string;
dailyNegativePnl: string;
tradeCount: number;
dailyLpDeposits: string;
dailyLpWithdraws: string;
liquidationCount: number;
cumulativeMarginBalance: string;
cumulativeLpShares: string;
};
type PointsSeason2Leaderboard = PointsSeason2LeaderboardItem[];
type PointsSeason2LeaderboardItem = {
rank: number;
userAddress: PublicKey;
totalBoostedPoints: number;
totalBoostedMarginCollateralPoints: number;
totalBoostedFeePoints: number;
totalBoostedNegativePnlPoints: number;
totalBoostedLpPoints: number;
totalBoostedLiquidationPoints: number;
latestHoaBoost: number;
latestStakedPrclBoost: number;
latestHoaCount: number;
latestStakedPrcl: number;
loyaltyBoost: number;
totalBoost: number;
};
export {};
//# sourceMappingURL=pointsSeason2.d.ts.map