@drift-labs/sdk
Version:
SDK for Drift Protocol
28 lines (27 loc) • 1.26 kB
TypeScript
/// <reference types="bn.js" />
/**
* UserStats — abstraction over the on-chain `UserStats` account.
* Tracks referral links, 30-day maker/taker volume, fuel rewards, and IF staking stats.
* One `UserStats` account exists per authority (shared across all subaccounts).
*/
import { DriftClient } from './driftClient';
import { PublicKey } from '@solana/web3.js';
import { DataAndSlot, UserStatsAccountSubscriber } from './accounts/types';
import { UserStatsConfig } from './userStatsConfig';
import { ReferrerInfo, UserStatsAccount } from './types';
import { BN } from './isomorphic/anchor';
export declare class UserStats {
driftClient: DriftClient;
userStatsAccountPublicKey: PublicKey;
accountSubscriber: UserStatsAccountSubscriber;
isSubscribed: boolean;
constructor(config: UserStatsConfig);
subscribe(userStatsAccount?: UserStatsAccount): Promise<boolean>;
fetchAccounts(): Promise<void>;
unsubscribe(): Promise<void>;
getAccountAndSlot(): DataAndSlot<UserStatsAccount>;
getAccount(): UserStatsAccount;
getInsuranceFuelBonus(now: BN, includeSettled?: boolean, includeUnsettled?: boolean): BN;
getReferrerInfo(): ReferrerInfo | undefined;
static getOldestActionTs(account: UserStatsAccount): number;
}