UNPKG

@drift-labs/sdk

Version:
61 lines (60 loc) 2.44 kB
import { ConfirmOptions, PublicKey } from '@solana/web3.js'; import { PerpMarketAccount, SpotMarketAccount } from './types'; import { PerpMarketConfig } from './constants/perpMarkets'; import { SpotMarketConfig } from './constants/spotMarkets'; import { OracleInfo } from './oracles/types'; import { Program } from '@coral-xyz/anchor'; type DriftConfig = { ENV: DriftEnv; PYTH_ORACLE_MAPPING_ADDRESS: string; DRIFT_PROGRAM_ID: string; JIT_PROXY_PROGRAM_ID?: string; DRIFT_ORACLE_RECEIVER_ID: string; USDC_MINT_ADDRESS: string; SERUM_V3: string; PHOENIX: string; OPENBOOK: string; V2_ALPHA_TICKET_MINT_ADDRESS: string; PERP_MARKETS: PerpMarketConfig[]; SPOT_MARKETS: SpotMarketConfig[]; /** @deprecated use MARKET_LOOKUP_TABLES */ MARKET_LOOKUP_TABLE: string; MARKET_LOOKUP_TABLES: string[]; SERUM_LOOKUP_TABLE?: string; PYTH_PULL_ORACLE_LOOKUP_TABLE?: string; SB_ON_DEMAND_PID: PublicKey; }; export type DriftEnv = 'devnet' | 'mainnet-beta'; export declare const DRIFT_PROGRAM_ID = "dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH"; export declare const DRIFT_ORACLE_RECEIVER_ID = "G6EoTTTgpkNBtVXo96EQp2m6uwwVh2Kt6YidjkmQqoha"; export declare const PTYH_LAZER_PROGRAM_ID = "pytd2yyk641x7ak7mkaasSJVXh6YYZnC7wTmtgAyxPt"; export declare const PYTH_LAZER_STORAGE_ACCOUNT_KEY: PublicKey; export declare const DEFAULT_CONFIRMATION_OPTS: ConfirmOptions; export declare const configs: { [key in DriftEnv]: DriftConfig; }; export declare const getConfig: () => DriftConfig; /** * Allows customization of the SDK's environment and endpoints. You can pass individual settings to override the settings with your own presets. * * Defaults to master environment if you don't use this function. * @param props * @returns */ export declare const initialize: (props: { env: DriftEnv; overrideEnv?: Partial<DriftConfig>; }) => DriftConfig; export declare function getMarketsAndOraclesForSubscription(env: DriftEnv, perpMarkets?: PerpMarketConfig[], spotMarkets?: SpotMarketConfig[]): { perpMarketIndexes: number[]; spotMarketIndexes: number[]; oracleInfos: OracleInfo[]; }; export declare function findAllMarketAndOracles(program: Program): Promise<{ perpMarketIndexes: number[]; perpMarketAccounts: PerpMarketAccount[]; spotMarketIndexes: number[]; oracleInfos: OracleInfo[]; spotMarketAccounts: SpotMarketAccount[]; }>; export {};