UNPKG

@drift-labs/sdk

Version:
47 lines (46 loc) 2.01 kB
import { Connection, PublicKey } from '@solana/web3.js'; import { PriorityFeeMethod, PriorityFeeStrategy, PriorityFeeSubscriberConfig } from './types'; import { AverageOverSlotsStrategy } from './averageOverSlotsStrategy'; import { MaxOverSlotsStrategy } from './maxOverSlotsStrategy'; import { HeliusPriorityFeeLevels, HeliusPriorityLevel } from './heliusPriorityFeeMethod'; import { DriftMarketInfo } from './driftPriorityFeeMethod'; export declare class PriorityFeeSubscriber { connection: Connection; frequencyMs: number; addresses: string[]; driftMarkets?: DriftMarketInfo[]; customStrategy?: PriorityFeeStrategy; averageStrategy: AverageOverSlotsStrategy; maxStrategy: MaxOverSlotsStrategy; priorityFeeMethod: PriorityFeeMethod; lookbackDistance: number; maxFeeMicroLamports?: number; priorityFeeMultiplier?: number; driftPriorityFeeEndpoint?: string; heliusRpcUrl?: string; lastHeliusSample?: HeliusPriorityFeeLevels; intervalId?: ReturnType<typeof setTimeout>; latestPriorityFee: number; lastCustomStrategyResult: number; lastAvgStrategyResult: number; lastMaxStrategyResult: number; lastSlotSeen: number; constructor(config: PriorityFeeSubscriberConfig); subscribe(): Promise<void>; private loadForSolana; private loadForHelius; private loadForDrift; getMaxPriorityFee(): number | undefined; updateMaxPriorityFee(newMaxFee: number | undefined): void; getPriorityFeeMultiplier(): number; updatePriorityFeeMultiplier(newPriorityFeeMultiplier: number): void; updateCustomStrategy(newStrategy: PriorityFeeStrategy): void; getHeliusPriorityFeeLevel(level?: HeliusPriorityLevel): number; getCustomStrategyResult(): number; getAvgStrategyResult(): number; getMaxStrategyResult(): number; load(): Promise<void>; unsubscribe(): Promise<void>; updateAddresses(addresses: PublicKey[]): void; updateMarketTypeAndIndex(driftMarkets: DriftMarketInfo[]): void; }