okx-api
Version:
Complete Node.js SDK for OKX's REST APIs and WebSockets, with TypeScript & end-to-end tests
49 lines (48 loc) • 1.98 kB
TypeScript
import { RestClientOptions } from '../rest/client.js';
import { APICredentials, APIMarket } from '../shared.js';
export interface WSClientConfigurableOptions {
accounts?: APICredentials[];
/**
* The API group this client should connect to:
* - market: 'prod' (default: connects to OKX global) https://www.okx.com/docs-v5/en/#overview-production-trading-services
* - market: 'EEA' // also known as "my.okx.com" https://my.okx.com/docs-v5/en/#overview-production-trading-services
* - market: 'US' // also known as "app.okx.com" https://app.okx.com/docs-v5/en/#overview-production-trading-services
*/
market?: APIMarket;
/**
* Set to `true` to use OKX's demo trading functionality
*/
demoTrading?: boolean;
disableHeartbeat?: boolean;
/** How often to check if the connection is alive */
pingInterval?: number;
/** How long to wait for a pong (heartbeat reply) before assuming the connection is dead */
pongTimeout?: number;
/** Delay in milliseconds before respawning the connection */
reconnectTimeout?: number;
requestOptions?: RestClientOptions;
wsOptions?: {
protocols?: string[];
agent?: any;
};
wsUrl?: string;
/**
* Allows you to provide a custom "signMessage" function, e.g. to use node's much faster createHmac method
*
* Look in the examples folder for a demonstration on using node's createHmac instead.
*/
customSignMessageFn?: (message: string, secret: string) => Promise<string>;
}
export interface WebsocketClientOptions extends WSClientConfigurableOptions {
market: APIMarket;
pongTimeout: number;
pingInterval: number;
reconnectTimeout: number;
authPrivateConnectionsOnConnect: boolean;
authPrivateRequests: boolean;
/**
* Whether to use native WebSocket ping/pong frames for heartbeats
*/
useNativeHeartbeats: boolean;
}
export type WsEventInternalSrc = 'event' | 'function';