UNPKG

@proton/ccxt

Version:

A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges

183 lines (182 loc) 4.42 kB
export interface Dictionary<T> { [key: string]: T; } /** Request parameters */ export interface MinMax { min: number | undefined; max: number | undefined; } export interface Fee { type?: 'taker' | 'maker' | string; currency: string; rate?: number; cost: number; } export interface Market { id: string; symbol: string; base: string; quote: string; baseId: string; quoteId: string; active?: boolean | undefined; type?: string; spot?: boolean; margin?: boolean; swap?: boolean; future?: boolean; option?: boolean; contract?: boolean; settle?: string | undefined; settleId?: string | undefined; contractSize?: number | undefined; linear?: boolean | undefined; inverse?: boolean | undefined; expiry?: number | undefined; expiryDatetime?: string | undefined; strike?: number | undefined; optionType?: string | undefined; taker?: number | undefined; maker?: number | undefined; percentage?: boolean | undefined; tierBased?: boolean | undefined; feeSide?: string | undefined; precision: { amount: number | undefined; price: number | undefined; }; limits: { amount?: MinMax; cost?: MinMax; leverage?: MinMax; price?: MinMax; }; info: any; } export interface Trade { amount: number; datetime: string; id: string; info: any; order?: string; price: number; timestamp: number; type?: string; side: 'buy' | 'sell' | string; symbol: string; takerOrMaker: 'taker' | 'maker' | string; cost: number; fee: Fee; } export interface Order { id: string; clientOrderId: string; datetime: string; timestamp: number; lastTradeTimestamp: number; lastUpdateTimestamp?: number; status: 'open' | 'closed' | 'canceled' | string; symbol: string; type: string; timeInForce?: string; side: 'buy' | 'sell' | string; price: number; average?: number; amount: number; filled: number; remaining: number; stopPrice?: number; takeProfitPrice?: number; stopLossPrice?: number; cost: number; trades: Trade[]; fee: Fee; info: any; } export interface OrderBook { asks: [number, number][]; bids: [number, number][]; datetime: string; timestamp: number; nonce: number; } export interface Ticker { symbol: string; info: any; timestamp: number; datetime: string; high: number; low: number; bid: number; bidVolume?: number; ask: number; askVolume?: number; vwap?: number; open?: number; close?: number; last?: number; previousClose?: number; change?: number; percentage?: number; average?: number; quoteVolume?: number; baseVolume?: number; } export interface Transaction { info: any; id: string; txid?: string; timestamp: number; datetime: string; address: string; type: 'deposit' | 'withdrawal' | string; amount: number; currency: string; status: 'pending' | 'ok' | string; updated: number; fee: Fee; } export interface Tickers extends Dictionary<Ticker> { info: any; } export interface Currency { id: string; code: string; numericId?: number; precision: number; } export interface Balance { free: number | string; used: number | string; total: number | string; } export interface PartialBalances extends Dictionary<number> { } export interface Balances extends Dictionary<Balance> { info: any; } export interface DepositAddress { currency: string; address: string; status: string; info: any; } export interface WithdrawalResponse { info: any; id: string; } export interface DepositAddressResponse { currency: string; address: string; info: any; tag?: string; } /** [ timestamp, open, high, low, close, volume ] */ export declare type OHLCV = [number, number, number, number, number, number]; /** [ timestamp, open, high, low, close, volume, count ] */ export declare type OHLCVC = [number, number, number, number, number, number, number]; export declare type implicitReturnType = any; export declare type IndexType = number | string; export declare type Int = number; export declare type OrderSide = 'buy' | 'sell' | string; export declare type OrderType = 'limit' | 'market' | string;