@dainprotocol/drift-sdk
Version:
SDK for Drift Protocol
52 lines • 1.79 kB
TypeScript
import { Commitment, ConfirmOptions, Connection, PublicKey, TransactionVersion } from '@solana/web3.js';
import { IWallet, TxParams } from './types';
import { OracleInfo } from './oracles/types';
import { BulkAccountLoader } from './accounts/bulkAccountLoader';
import { DriftEnv } from './config';
import { TxSender } from './tx/types';
import { TxHandler, TxHandlerConfig } from './tx/txHandler';
import { DelistedMarketSetting, GrpcConfigs } from './accounts/types';
export type DriftClientConfig = {
connection: Connection;
wallet: IWallet;
env?: DriftEnv;
programID?: PublicKey;
accountSubscription?: DriftClientSubscriptionConfig;
opts?: ConfirmOptions;
txSender?: TxSender;
txHandler?: TxHandler;
subAccountIds?: number[];
activeSubAccountId?: number;
perpMarketIndexes?: number[];
spotMarketIndexes?: number[];
/** @deprecated use marketLookupTables */
marketLookupTable?: PublicKey;
marketLookupTables?: PublicKey[];
oracleInfos?: OracleInfo[];
userStats?: boolean;
authority?: PublicKey;
includeDelegates?: boolean;
authoritySubAccountMap?: Map<string, number[]>;
skipLoadUsers?: boolean;
txVersion?: TransactionVersion;
txParams?: TxParams;
enableMetricsEvents?: boolean;
txHandlerConfig?: TxHandlerConfig;
delistedMarketSetting?: DelistedMarketSetting;
useHotWalletAdmin?: boolean;
};
export type DriftClientSubscriptionConfig = {
type: 'grpc';
grpcConfigs: GrpcConfigs;
resubTimeoutMs?: number;
logResubMessages?: boolean;
} | {
type: 'websocket';
resubTimeoutMs?: number;
logResubMessages?: boolean;
commitment?: Commitment;
} | {
type: 'polling';
accountLoader: BulkAccountLoader;
};
//# sourceMappingURL=driftClientConfig.d.ts.map