@drift-labs/sdk-browser
Version:
SDK for Drift Protocol
36 lines (33 loc) • 1.01 kB
text/typescript
import { DriftClient } from './driftClient';
import { Commitment, PublicKey } from '@solana/web3.js';
import { BulkAccountLoader } from './accounts/bulkAccountLoader';
import { GrpcConfigs, UserAccountSubscriber } from './accounts/types';
import { WebSocketProgramAccountSubscriber } from './accounts/webSocketProgramAccountSubscriber';
import { UserAccount } from './types';
export type UserConfig = {
accountSubscription?: UserSubscriptionConfig;
driftClient: DriftClient;
userAccountPublicKey: PublicKey;
};
export type UserSubscriptionConfig =
| {
type: 'grpc';
resubTimeoutMs?: number;
logResubMessages?: boolean;
grpcConfigs: GrpcConfigs;
}
| {
type: 'websocket';
resubTimeoutMs?: number;
logResubMessages?: boolean;
commitment?: Commitment;
programUserAccountSubscriber?: WebSocketProgramAccountSubscriber<UserAccount>;
}
| {
type: 'polling';
accountLoader: BulkAccountLoader;
}
| {
type: 'custom';
userAccountSubscriber: UserAccountSubscriber;
};