declare module "ccxt-mxc" { /** * Represents an associative array of a same type. */ interface Dictionary { [key: string]: T; } // errors.js ----------------------------------------- export class BaseError extends Error { constructor(message: string); } export class ExchangeError extends BaseError {} export class AuthenticationError extends ExchangeError {} export class PermissionDenied extends AuthenticationError {} export class AccountSuspended extends AuthenticationError {} export class ArgumentsRequired extends ExchangeError {} export class BadRequest extends ExchangeError {} export class BadSymbol extends BadRequest {} export class BadResponse extends ExchangeError {} export class NullResponse extends BadResponse {} export class InsufficientFunds extends ExchangeError {} export class InvalidAddress extends ExchangeError {} export class AddressPending extends InvalidAddress {} export class InvalidOrder extends ExchangeError {} export class OrderNotFound extends InvalidOrder {} export class OrderNotCached extends InvalidOrder {} export class CancelPending extends InvalidOrder {} export class OrderImmediatelyFillable extends InvalidOrder {} export class OrderNotFillable extends InvalidOrder {} export class DuplicateOrderId extends InvalidOrder {} export class NotSupported extends ExchangeError {} export class NetworkError extends BaseError {} export class DDoSProtection extends NetworkError {} export class RateLimitExceeded extends DDoSProtection {} export class ExchangeNotAvailable extends NetworkError {} export class OnMaintenance extends ExchangeNotAvailable {} export class InvalidNonce extends NetworkError {} export class RequestTimeout extends NetworkError {} // ----------------------------------------------- export const version: string; export const exchanges: string[]; export interface MinMax { min: number; max: number | undefined; } export interface Market { id: string; symbol: string; base: string; quote: string; baseId: string; quoteId: string; active: boolean; precision: { base: number; quote: number; amount: number; price: number }; limits: { amount: MinMax; price: MinMax; cost?: MinMax }; tierBased: boolean; percentage: boolean; taker: number; maker: number; info: any; } export interface Order { id: string; datetime: string; timestamp: number; lastTradeTimestamp: number; status: "open" | "closed" | "canceled"; symbol: string; type: string; side: "buy" | "sell"; price: number; average?: number; amount: number; filled: number; remaining: 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 Trade { amount: number; // amount of base currency datetime: string; // ISO8601 datetime with milliseconds; id: string; // string trade id info: any; // the original decoded JSON as is order?: string; // string order id or undefined/None/null price: number; // float price in quote currency timestamp: number; // Unix timestamp in milliseconds type?: "market" | "limit"; // order type, 'market', 'limit' or undefined/None/null side: "buy" | "sell"; // direction of the trade, 'buy' or 'sell' symbol: string; // symbol in CCXT format takerOrMaker: "taker" | "maker"; // string, 'taker' or 'maker' cost: number; // total cost (including fees), `price * amount` fee: Fee; } 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"; amount: number; currency: string; status: "pending" | "ok"; updated: number; fee: Fee; } export interface Tickers extends Dictionary { info: any; } export interface Currency { id: string; code: string; numericId?: number; precision: number; } export interface Balance { free: number; used: number; total: number; } export interface PartialBalances extends Dictionary {} export interface Balances extends Dictionary { info: any; } export interface DepositAddress { currency: string; address: string; status: string; info: any; } export interface Fee { type: "taker" | "maker"; currency: string; rate: number; cost: number; } 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 type OHLCV = [number, number, number, number, number, number]; /** Request parameters */ type Params = Dictionary; export class Exchange { constructor(config?: { [key in keyof Exchange]?: Exchange[key] }); // allow dynamic keys [key: string]: any; // properties version: string; apiKey: string; secret: string; password: string; uid: string; requiredCredentials: { apiKey: boolean; secret: boolean; uid: boolean; login: boolean; password: boolean; twofa: boolean; privateKey: boolean; walletAddress: boolean; token: boolean; }; options: { [key: string]: any; fetchTradesMethod: "publicGetAggTrades" | string; fetchTickersMethod: "publicGetTicker24hr" | string; defaultTimeInForce: "GTC" | string; defaultLimitOrderType: "limit" | "market" | string; hasAlreadyAuthenticatedSuccessfully: boolean; warnOnFetchOpenOrdersWithoutSymbol: boolean; recvWindow: number; timeDifference: number; adjustForTimeDifference: boolean; parseOrderToPrecision: boolean; newOrderRespType: { market: "FULL" | string; limit: "RESULT" | string; }; }; urls: { logo: string; api: string | Dictionary; test: string | Dictionary; www: string; doc: string[]; api_management?: string; fees: string; referral: string; }; precisionMode: number; hash: any; hmac: any; jwt: any; binaryConcat: any; stringToBinary: any; stringToBase64: any; base64ToBinary: any; base64ToString: any; binaryToString: any; utf16ToBase64: any; urlencode: any; pluck: any; unique: any; extend: any; deepExtend: any; flatten: any; groupBy: any; indexBy: any; sortBy: any; keysort: any; decimal: any; safeFloat: any; safeString: any; safeInteger: any; safeValue: any; capitalize: any; json: JSON["stringify"]; sum: any; ordered: any; aggregate: any; truncate: any; name: string; // nodeVersion: string; fees: object; enableRateLimit: boolean; countries: string[]; // set by loadMarkets markets: Dictionary; marketsById: Dictionary; currencies: Dictionary; ids: string[]; symbols: string[]; id: string; proxy: string; parse8601: typeof Date.parse; milliseconds: typeof Date.now; rateLimit: number; // milliseconds = seconds * 1000 timeout: number; // milliseconds verbose: boolean; twofa: boolean; // two-factor authentication substituteCommonCurrencyCodes: boolean; timeframes: Dictionary; has: Dictionary; // https://github.com/ccxt/ccxt/pull/1984 balance: object; orderbooks: object; orders: object; trades: object; userAgent: { "User-Agent": string } | false; limits: { amount: MinMax; price: MinMax; cost: MinMax }; hasCancelAllOrders: boolean; hasCancelOrder: boolean; hasCancelOrders: boolean; hasCORS: boolean; hasCreateDepositAddress: boolean; hasCreateLimitOrder: boolean; hasCreateMarketOrder: boolean; hasCreateOrder: boolean; hasDeposit: boolean; hasEditOrder: boolean; hasFetchBalance: boolean; hasFetchBidsAsks: boolean; hasFetchClosedOrders: boolean; hasFetchCurrencies: boolean; hasFetchDepositAddress: boolean; hasFetchDeposits: boolean; hasFetchFundingFees: boolean; hasFetchL2OrderBook: boolean; hasFetchLedger: boolean; hasFetchMarkets: boolean; hasFetchMyTrades: boolean; hasFetchOHLCV: boolean; hasFetchOpenOrders: boolean; hasFetchOrder: boolean; hasFetchOrderBook: boolean; hasFetchOrderBooks: boolean; hasFetchOrders: boolean; hasFetchStatus: boolean; hasFetchTicker: boolean; hasFetchTickers: boolean; hasFetchTime: boolean; hasFetchTrades: boolean; hasFetchTradingFee: boolean; hasFetchTradingFees: boolean; hasFetchTradingLimits: boolean; hasFetchTransactions: boolean; hasFetchWithdrawals: boolean; hasPrivateAPI: boolean; hasPublicAPI: boolean; hasWithdraw: boolean; // methods account(): Balance; cancelAllOrders(...args: any): Promise; // TODO: add function signatures cancelOrder(id: string, symbol?: string, params?: Params): Promise; cancelOrders(...args: any): Promise; // TODO: add function signatures checkRequiredCredentials(): void; commonCurrencyCode(currency: string): string; createDepositAddress( currency: string, params?: Params ): Promise; createLimitOrder( symbol: string, side: Order["side"], amount: number, price?: number, params?: Params ): Promise; createMarketOrder( symbol: string, side: Order["side"], amount: number, price?: number, params?: Params ): Promise; createOrder( symbol: string, type: Order["type"], side: Order["side"], amount: number, price?: number, params?: Params ): Promise; decode(str: string): string; defaults(): any; defineRestApi(api: any, methodName: any, options?: Dictionary): void; deposit(...args: any): Promise; // TODO: add function signatures describe(): any; editOrder( id: string, symbol: string, type: Order["type"], side: Order["side"], amount: number, price?: number, params?: Params ): Promise; encode(str: string): string; encodeURIComponent(...args: any[]): string; extractParams(str: string): string[]; fetch( url: string, method?: string, headers?: any, body?: any ): Promise; fetch2( path: any, api?: string, method?: string, params?: Params, headers?: any, body?: any ): Promise; fetchBalance(params?: Params): Promise; fetchBidsAsks(symbols?: string[], params?: Params): Promise; fetchClosedOrders( symbol?: string, since?: number, limit?: number, params?: Params ): Promise; fetchCurrencies(params?: Params): Promise>; fetchDepositAddress( currency: string, params?: Params ): Promise; fetchDeposits( currency?: string, since?: number, limit?: number, params?: Params ): Promise; fetchFreeBalance(params?: Params): Promise; fetchFundingFees(...args: any): Promise; // TODO: add function signatures fetchL2OrderBook(...args: any): Promise; // TODO: add function signatures fetchLedger(...args: any): Promise; // TODO: add function signatures fetchMarkets(): Promise; fetchMyTrades( symbol?: string, since?: any, limit?: any, params?: Params ): Promise; fetchOHLCV( symbol: string, timeframe?: string, since?: number, limit?: number, params?: Params ): Promise; fetchOpenOrders( symbol?: string, since?: number, limit?: number, params?: Params ): Promise; fetchOrder(id: string, symbol: string, params?: Params): Promise; fetchOrderBook( symbol: string, limit?: number, params?: Params ): Promise; fetchOrderBooks(...args: any): Promise; // TODO: add function signatures fetchOrders( symbol?: string, since?: number, limit?: number, params?: Params ): Promise; fetchOrderStatus(id: string, market: string): Promise; fetchStatus(...args: any): Promise; // TODO: add function signatures fetchTicker(symbol: string, params?: Params): Promise; fetchTickers( symbols?: string[], params?: Params ): Promise>; fetchTime(params?: Params): Promise; fetchTotalBalance(params?: Params): Promise; fetchTrades( symbol: string, since?: number, limit?: number, params?: Params ): Promise; fetchTradingFee(...args: any): Promise; // TODO: add function signatures fetchTradingFees(...args: any): Promise; // TODO: add function signatures fetchTradingLimits(...args: any): Promise; // TODO: add function signatures fetchTransactions( currency?: string, since?: number, limit?: number, params?: Params ): Promise; fetchUsedBalance(params?: Params): Promise; fetchWithdrawals( currency?: string, since?: number, limit?: number, params?: Params ): Promise; getMarket(symbol: string): Market; initRestRateLimiter(): void; iso8601(timestamp: number | string): string; loadMarkets(reload?: boolean): Promise>; market(symbol: string): Market; marketId(symbol: string): string; marketIds(symbols: string[]): string[]; microseconds(): number; nonce(): number; parseTimeframe(timeframe: string): number; purgeCachedOrders(timestamp: number): void; request( path: string, api?: string, method?: string, params?: Params, headers?: any, body?: any ): Promise; seconds(): number; setMarkets(markets: Market[], currencies?: Currency[]): Dictionary; symbol(symbol: string): string; withdraw( currency: string, amount: number, address: string, tag?: string, params?: Params ): Promise; YmdHMS(timestamp: string, infix: string): string; } /* tslint:disable */ export class acx extends Exchange {} export class aofex extends Exchange {} export class bcex extends Exchange {} export class bequant extends hitbtc {} export class bibox extends Exchange {} export class bigone extends Exchange {} export class biki extends Exchange {} export class binance extends Exchange {} export class binanceje extends binance {} export class binanceus extends binance {} export class bit2c extends Exchange {} export class bitbank extends Exchange {} export class bitbay extends Exchange {} export class bitfinex extends Exchange {} export class bitfinex2 extends bitfinex {} export class bitflyer extends Exchange {} export class bitforex extends Exchange {} export class bithumb extends Exchange {} export class bitkk extends zb {} export class bitmart extends Exchange {} export class bitmax extends Exchange {} export class bitmex extends Exchange {} export class bitpanda extends Exchange {} export class bitso extends Exchange {} export class bitstamp extends Exchange {} export class bitstamp1 extends Exchange {} export class bittrex extends Exchange {} export class bitvavo extends Exchange {} export class bitz extends Exchange {} export class bl3p extends Exchange {} export class bleutrade extends Exchange {} export class braziliex extends Exchange {} export class btcalpha extends Exchange {} export class btcbox extends Exchange {} export class btcmarkets extends Exchange {} export class btctradeua extends Exchange {} export class btcturk extends Exchange {} export class buda extends Exchange {} export class bw extends Exchange {} export class bybit extends Exchange {} export class bytetrade extends Exchange {} export class cex extends Exchange {} export class chilebit extends foxbit {} export class coinbase extends Exchange {} export class coinbaseprime extends coinbasepro {} export class coinbasepro extends Exchange {} export class coincheck extends Exchange {} export class coinegg extends Exchange {} export class coinex extends Exchange {} export class coinfalcon extends Exchange {} export class coinfloor extends Exchange {} export class coingi extends Exchange {} export class coinmarketcap extends Exchange {} export class coinmate extends Exchange {} export class coinone extends Exchange {} export class coinspot extends Exchange {} export class coss extends Exchange {} export class crex24 extends Exchange {} export class currencycom extends Exchange {} export class deribit extends Exchange {} export class digifinex extends Exchange {} export class dsx extends Exchange {} export class eterbase extends Exchange {} export class exmo extends Exchange {} export class exx extends Exchange {} export class fcoin extends Exchange {} export class fcoinjp extends fcoin {} export class flowbtc extends Exchange {} export class foxbit extends Exchange {} export class ftx extends Exchange {} export class fybse extends Exchange {} export class gateio extends Exchange {} export class gemini extends Exchange {} export class hbtc extends Exchange {} export class hitbtc extends Exchange {} export class hollaex extends Exchange {} export class huobijp extends huobipro {} export class huobipro extends Exchange {} export class huobiru extends huobipro {} export class ice3x extends Exchange {} export class idex extends Exchange {} export class independentreserve extends Exchange {} export class indodax extends Exchange {} export class itbit extends Exchange {} export class kraken extends Exchange {} export class kucoin extends Exchange {} export class kuna extends acx {} export class lakebtc extends Exchange {} export class latoken extends Exchange {} export class lbank extends Exchange {} export class liquid extends Exchange {} export class livecoin extends Exchange {} export class luno extends Exchange {} export class lykke extends Exchange {} export class mercado extends Exchange {} export class mixcoins extends Exchange {} export class mxc extends Exchange {} export class oceanex extends Exchange {} export class okcoin extends okex {} export class okex extends Exchange {} export class paymium extends Exchange {} export class phemex extends Exchange {} export class poloniex extends Exchange {} export class probit extends Exchange {} export class qtrade extends Exchange {} export class rightbtc extends Exchange {} export class southxchange extends Exchange {} export class stex extends Exchange {} export class stronghold extends Exchange {} export class surbitcoin extends foxbit {} export class therock extends Exchange {} export class tidebit extends Exchange {} export class tidex extends Exchange {} export class timex extends Exchange {} export class upbit extends Exchange {} export class vaultoro extends Exchange {} export class vbtc extends foxbit {} export class wavesexchange extends Exchange {} export class whitebit extends Exchange {} export class xbtce extends Exchange {} export class xena extends Exchange {} export class yobit extends Exchange {} export class zaif extends Exchange {} export class zb extends Exchange {} /* tslint:enable */ }