ccxt 4.2.74 → 4.2.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/CHANGELOG.md +206 -10
  2. package/README.md +10 -9
  3. package/build.sh +1 -1
  4. package/dist/ccxt.browser.js +900 -217
  5. package/dist/ccxt.browser.min.js +3 -3
  6. package/dist/cjs/ccxt.js +4 -1
  7. package/dist/cjs/src/abstract/tradeogre.js +9 -0
  8. package/dist/cjs/src/ascendex.js +3 -2
  9. package/dist/cjs/src/binance.js +2 -0
  10. package/dist/cjs/src/bingx.js +12 -14
  11. package/dist/cjs/src/bitmart.js +1 -0
  12. package/dist/cjs/src/bybit.js +2 -1
  13. package/dist/cjs/src/coinbase.js +18 -2
  14. package/dist/cjs/src/coinbaseinternational.js +1 -1
  15. package/dist/cjs/src/coinex.js +4 -3
  16. package/dist/cjs/src/gate.js +2 -0
  17. package/dist/cjs/src/htx.js +1 -0
  18. package/dist/cjs/src/kraken.js +3 -3
  19. package/dist/cjs/src/kucoin.js +1 -1
  20. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  21. package/dist/cjs/src/tradeogre.js +632 -0
  22. package/js/ccxt.d.ts +5 -2
  23. package/js/ccxt.js +4 -2
  24. package/js/src/abstract/binance.d.ts +1 -0
  25. package/js/src/abstract/binancecoinm.d.ts +1 -0
  26. package/js/src/abstract/binanceus.d.ts +1 -0
  27. package/js/src/abstract/binanceusdm.d.ts +1 -0
  28. package/js/src/abstract/bingx.d.ts +2 -0
  29. package/js/src/abstract/tradeogre.d.ts +19 -0
  30. package/js/src/abstract/tradeogre.js +11 -0
  31. package/js/src/ascendex.d.ts +2 -7
  32. package/js/src/ascendex.js +3 -2
  33. package/js/src/base/Exchange.d.ts +5 -5
  34. package/js/src/base/types.d.ts +7 -1
  35. package/js/src/binance.d.ts +1 -1
  36. package/js/src/binance.js +2 -0
  37. package/js/src/bingx.js +12 -14
  38. package/js/src/bitmart.d.ts +1 -1
  39. package/js/src/bitmart.js +2 -1
  40. package/js/src/bybit.js +2 -1
  41. package/js/src/coinbase.d.ts +4 -4
  42. package/js/src/coinbase.js +18 -2
  43. package/js/src/coinbaseinternational.d.ts +1 -1
  44. package/js/src/coinbaseinternational.js +1 -1
  45. package/js/src/coinbasepro.d.ts +2 -2
  46. package/js/src/coinex.js +4 -3
  47. package/js/src/coinlist.d.ts +2 -2
  48. package/js/src/cryptocom.d.ts +2 -2
  49. package/js/src/currencycom.d.ts +2 -2
  50. package/js/src/deribit.d.ts +2 -2
  51. package/js/src/gate.d.ts +1 -1
  52. package/js/src/gate.js +2 -0
  53. package/js/src/htx.d.ts +2 -2
  54. package/js/src/htx.js +1 -0
  55. package/js/src/huobijp.d.ts +2 -2
  56. package/js/src/kraken.d.ts +1 -1
  57. package/js/src/kraken.js +3 -3
  58. package/js/src/kucoin.d.ts +3 -3
  59. package/js/src/kucoin.js +1 -1
  60. package/js/src/luno.d.ts +2 -2
  61. package/js/src/mexc.d.ts +3 -3
  62. package/js/src/ndax.d.ts +2 -2
  63. package/js/src/novadax.d.ts +2 -2
  64. package/js/src/okx.d.ts +2 -2
  65. package/js/src/pro/bitfinex2.d.ts +1 -1
  66. package/js/src/pro/coinbaseinternational.js +1 -1
  67. package/js/src/tradeogre.d.ts +32 -0
  68. package/js/src/tradeogre.js +633 -0
  69. package/js/src/woo.d.ts +2 -2
  70. package/package.json +1 -1
  71. package/skip-tests.json +5 -0
package/js/ccxt.js CHANGED
@@ -38,7 +38,7 @@ import * as errors from './src/base/errors.js';
38
38
  import { BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange } from './src/base/errors.js';
39
39
  //-----------------------------------------------------------------------------
40
40
  // this is updated by vss.js when building
41
- const version = '4.2.74';
41
+ const version = '4.2.76';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import ace from './src/ace.js';
@@ -135,6 +135,7 @@ import poloniexfutures from './src/poloniexfutures.js';
135
135
  import probit from './src/probit.js';
136
136
  import timex from './src/timex.js';
137
137
  import tokocrypto from './src/tokocrypto.js';
138
+ import tradeogre from './src/tradeogre.js';
138
139
  import upbit from './src/upbit.js';
139
140
  import wavesexchange from './src/wavesexchange.js';
140
141
  import wazirx from './src/wazirx.js';
@@ -302,6 +303,7 @@ const exchanges = {
302
303
  'probit': probit,
303
304
  'timex': timex,
304
305
  'tokocrypto': tokocrypto,
306
+ 'tradeogre': tradeogre,
305
307
  'upbit': upbit,
306
308
  'wavesexchange': wavesexchange,
307
309
  'wazirx': wazirx,
@@ -388,6 +390,6 @@ pro.exchanges = Object.keys(pro);
388
390
  pro['Exchange'] = Exchange; // now the same for rest and ts
389
391
  //-----------------------------------------------------------------------------
390
392
  const ccxt = Object.assign({ version, Exchange, Precise, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, functions, errors);
391
- export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange, ace, alpaca, ascendex, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit2c, bitbank, bitbay, bitbns, bitcoincom, bitfinex, bitfinex2, bitflyer, bitget, bithumb, bitmart, bitmex, bitopro, bitpanda, bitrue, bitso, bitstamp, bitteam, bitvavo, bl3p, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, cex, coinbase, coinbaseinternational, coinbasepro, coincheck, coinex, coinlist, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, currencycom, delta, deribit, digifinex, exmo, fmfwio, gate, gateio, gemini, hitbtc, hitbtc3, hollaex, htx, huobi, huobijp, hyperliquid, idex, independentreserve, indodax, kraken, krakenfutures, kucoin, kucoinfutures, kuna, latoken, lbank, luno, lykke, mercado, mexc, ndax, novadax, oceanex, okcoin, okx, onetrading, p2b, paymium, phemex, poloniex, poloniexfutures, probit, timex, tokocrypto, upbit, wavesexchange, wazirx, whitebit, woo, yobit, zaif, zonda, };
393
+ export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange, ace, alpaca, ascendex, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit2c, bitbank, bitbay, bitbns, bitcoincom, bitfinex, bitfinex2, bitflyer, bitget, bithumb, bitmart, bitmex, bitopro, bitpanda, bitrue, bitso, bitstamp, bitteam, bitvavo, bl3p, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, cex, coinbase, coinbaseinternational, coinbasepro, coincheck, coinex, coinlist, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, currencycom, delta, deribit, digifinex, exmo, fmfwio, gate, gateio, gemini, hitbtc, hitbtc3, hollaex, htx, huobi, huobijp, hyperliquid, idex, independentreserve, indodax, kraken, krakenfutures, kucoin, kucoinfutures, kuna, latoken, lbank, luno, lykke, mercado, mexc, ndax, novadax, oceanex, okcoin, okx, onetrading, p2b, paymium, phemex, poloniex, poloniexfutures, probit, timex, tokocrypto, tradeogre, upbit, wavesexchange, wazirx, whitebit, woo, yobit, zaif, zonda, };
392
394
  export default ccxt;
393
395
  //-----------------------------------------------------------------------------
@@ -496,6 +496,7 @@ interface Exchange {
496
496
  fapiPrivateGetUserTrades(params?: {}): Promise<implicitReturnType>;
497
497
  fapiPrivateGetIncome(params?: {}): Promise<implicitReturnType>;
498
498
  fapiPrivateGetCommissionRate(params?: {}): Promise<implicitReturnType>;
499
+ fapiPrivateGetRateLimitOrder(params?: {}): Promise<implicitReturnType>;
499
500
  fapiPrivateGetApiTradingStatus(params?: {}): Promise<implicitReturnType>;
500
501
  fapiPrivateGetMultiAssetsMargin(params?: {}): Promise<implicitReturnType>;
501
502
  fapiPrivateGetApiReferralIfNewUser(params?: {}): Promise<implicitReturnType>;
@@ -496,6 +496,7 @@ interface binance {
496
496
  fapiPrivateGetUserTrades(params?: {}): Promise<implicitReturnType>;
497
497
  fapiPrivateGetIncome(params?: {}): Promise<implicitReturnType>;
498
498
  fapiPrivateGetCommissionRate(params?: {}): Promise<implicitReturnType>;
499
+ fapiPrivateGetRateLimitOrder(params?: {}): Promise<implicitReturnType>;
499
500
  fapiPrivateGetApiTradingStatus(params?: {}): Promise<implicitReturnType>;
500
501
  fapiPrivateGetMultiAssetsMargin(params?: {}): Promise<implicitReturnType>;
501
502
  fapiPrivateGetApiReferralIfNewUser(params?: {}): Promise<implicitReturnType>;
@@ -548,6 +548,7 @@ interface binance {
548
548
  fapiPrivateGetUserTrades(params?: {}): Promise<implicitReturnType>;
549
549
  fapiPrivateGetIncome(params?: {}): Promise<implicitReturnType>;
550
550
  fapiPrivateGetCommissionRate(params?: {}): Promise<implicitReturnType>;
551
+ fapiPrivateGetRateLimitOrder(params?: {}): Promise<implicitReturnType>;
551
552
  fapiPrivateGetApiTradingStatus(params?: {}): Promise<implicitReturnType>;
552
553
  fapiPrivateGetMultiAssetsMargin(params?: {}): Promise<implicitReturnType>;
553
554
  fapiPrivateGetApiReferralIfNewUser(params?: {}): Promise<implicitReturnType>;
@@ -496,6 +496,7 @@ interface binance {
496
496
  fapiPrivateGetUserTrades(params?: {}): Promise<implicitReturnType>;
497
497
  fapiPrivateGetIncome(params?: {}): Promise<implicitReturnType>;
498
498
  fapiPrivateGetCommissionRate(params?: {}): Promise<implicitReturnType>;
499
+ fapiPrivateGetRateLimitOrder(params?: {}): Promise<implicitReturnType>;
499
500
  fapiPrivateGetApiTradingStatus(params?: {}): Promise<implicitReturnType>;
500
501
  fapiPrivateGetMultiAssetsMargin(params?: {}): Promise<implicitReturnType>;
501
502
  fapiPrivateGetApiReferralIfNewUser(params?: {}): Promise<implicitReturnType>;
@@ -1,6 +1,7 @@
1
1
  import { implicitReturnType } from '../base/types.js';
2
2
  import { Exchange as _Exchange } from '../base/Exchange.js';
3
3
  interface Exchange {
4
+ spotV1PublicGetServerTime(params?: {}): Promise<implicitReturnType>;
4
5
  spotV1PublicGetCommonSymbols(params?: {}): Promise<implicitReturnType>;
5
6
  spotV1PublicGetMarketTrades(params?: {}): Promise<implicitReturnType>;
6
7
  spotV1PublicGetMarketDepth(params?: {}): Promise<implicitReturnType>;
@@ -18,6 +19,7 @@ interface Exchange {
18
19
  spotV1PrivatePostTradeOrderCancelReplace(params?: {}): Promise<implicitReturnType>;
19
20
  spotV1PrivatePostTradeCancelOrders(params?: {}): Promise<implicitReturnType>;
20
21
  spotV1PrivatePostTradeCancelOpenOrders(params?: {}): Promise<implicitReturnType>;
22
+ spotV1PrivatePostTradeCancelAllAfter(params?: {}): Promise<implicitReturnType>;
21
23
  spotV3PrivateGetGetAssetTransfer(params?: {}): Promise<implicitReturnType>;
22
24
  spotV3PrivateGetAssetTransfer(params?: {}): Promise<implicitReturnType>;
23
25
  spotV3PrivateGetCapitalDepositHisrec(params?: {}): Promise<implicitReturnType>;
@@ -0,0 +1,19 @@
1
+ import { implicitReturnType } from '../base/types.js';
2
+ import { Exchange as _Exchange } from '../base/Exchange.js';
3
+ interface Exchange {
4
+ publicGetMarkets(params?: {}): Promise<implicitReturnType>;
5
+ publicGetOrdersMarket(params?: {}): Promise<implicitReturnType>;
6
+ publicGetTickerMarket(params?: {}): Promise<implicitReturnType>;
7
+ publicGetHistoryMarket(params?: {}): Promise<implicitReturnType>;
8
+ privateGetAccountBalance(params?: {}): Promise<implicitReturnType>;
9
+ privateGetAccountBalances(params?: {}): Promise<implicitReturnType>;
10
+ privateGetAccountOrderUuid(params?: {}): Promise<implicitReturnType>;
11
+ privatePostOrderBuy(params?: {}): Promise<implicitReturnType>;
12
+ privatePostOrderSell(params?: {}): Promise<implicitReturnType>;
13
+ privatePostOrderCancel(params?: {}): Promise<implicitReturnType>;
14
+ privatePostOrders(params?: {}): Promise<implicitReturnType>;
15
+ privatePostAccountOrders(params?: {}): Promise<implicitReturnType>;
16
+ }
17
+ declare abstract class Exchange extends _Exchange {
18
+ }
19
+ export default Exchange;
@@ -0,0 +1,11 @@
1
+ // ----------------------------------------------------------------------------
2
+
3
+ // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
+ // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
+ // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
+
7
+ // -------------------------------------------------------------------------------
8
+ import { Exchange as _Exchange } from '../base/Exchange.js';
9
+ class Exchange extends _Exchange {
10
+ }
11
+ export default Exchange;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/ascendex.js';
2
- import type { TransferEntry, FundingHistory, Int, OHLCV, Order, OrderSide, OrderType, OrderRequest, Str, Trade, Balances, Transaction, Ticker, OrderBook, Tickers, Strings, Num, Currency, Market, Leverage, Leverages, MarginModes, MarginMode } from './base/types.js';
2
+ import type { TransferEntry, FundingHistory, Int, OHLCV, Order, OrderSide, OrderType, OrderRequest, Str, Trade, Balances, Transaction, Ticker, OrderBook, Tickers, Strings, Num, Currency, Market, Leverage, Leverages, Account, MarginModes, MarginMode } from './base/types.js';
3
3
  /**
4
4
  * @class ascendex
5
5
  * @augments Exchange
@@ -10,12 +10,7 @@ export default class ascendex extends Exchange {
10
10
  fetchCurrencies(params?: {}): Promise<{}>;
11
11
  fetchMarkets(params?: {}): Promise<any[]>;
12
12
  fetchTime(params?: {}): Promise<number>;
13
- fetchAccounts(params?: {}): Promise<{
14
- id: string;
15
- type: any;
16
- currency: any;
17
- info: any;
18
- }[]>;
13
+ fetchAccounts(params?: {}): Promise<Account[]>;
19
14
  parseBalance(response: any): Balances;
20
15
  parseMarginBalance(response: any): Balances;
21
16
  parseSwapBalance(response: any): Balances;
@@ -753,7 +753,7 @@ export default class ascendex extends Exchange {
753
753
  {
754
754
  'id': accountGroup,
755
755
  'type': undefined,
756
- 'currency': undefined,
756
+ 'code': undefined,
757
757
  'info': response,
758
758
  },
759
759
  ];
@@ -2733,7 +2733,8 @@ export default class ascendex extends Exchange {
2733
2733
  if (Precise.stringEq(notional, '0')) {
2734
2734
  notional = this.safeString(position, 'sellOpenOrderNotional');
2735
2735
  }
2736
- const marginMode = this.safeString(position, 'marginType');
2736
+ const marginType = this.safeString(position, 'marginType');
2737
+ const marginMode = (marginType === 'crossed') ? 'cross' : 'isolated';
2737
2738
  let collateral = undefined;
2738
2739
  if (marginMode === 'isolated') {
2739
2740
  collateral = this.safeString(position, 'isolatedMargin');
@@ -3,7 +3,7 @@ import { // eslint-disable-line object-curly-newline
3
3
  ExchangeError, AuthenticationError, DDoSProtection, RequestTimeout, ExchangeNotAvailable, RateLimitExceeded } from "./errors.js";
4
4
  import WsClient from './ws/WsClient.js';
5
5
  import { OrderBook as WsOrderBook, IndexedOrderBook, CountedOrderBook } from './ws/OrderBook.js';
6
- import type { Market, Trade, Ticker, OHLCV, OHLCVC, Order, OrderBook, Balance, Balances, Dictionary, Transaction, DepositAddressResponse, Currency, MinMax, IndexType, Int, OrderType, OrderSide, Position, FundingRate, DepositWithdrawFeeNetwork, LedgerEntry, BorrowInterest, OpenInterest, LeverageTier, TransferEntry, FundingRateHistory, Liquidation, FundingHistory, OrderRequest, MarginMode, Tickers, Greeks, Str, Num, MarketInterface, CurrencyInterface, Account, MarginModes, MarketType, Leverage, Leverages, LastPrice, LastPrices } from './types.js';
6
+ import type { Market, Trade, Ticker, OHLCV, OHLCVC, Order, OrderBook, Balance, Balances, Dictionary, Transaction, DepositAddressResponse, Currency, MinMax, IndexType, Int, OrderType, OrderSide, Position, FundingRate, DepositWithdrawFeeNetwork, LedgerEntry, BorrowInterest, OpenInterest, LeverageTier, TransferEntry, FundingRateHistory, Liquidation, FundingHistory, OrderRequest, MarginMode, Tickers, Greeks, Str, Num, MarketInterface, CurrencyInterface, BalanceAccount, MarginModes, MarketType, Leverage, Leverages, LastPrice, LastPrices, Account } from './types.js';
7
7
  export type { Market, Trade, Fee, Ticker, OHLCV, OHLCVC, Order, OrderBook, Balance, Balances, Dictionary, Transaction, DepositAddressResponse, Currency, MinMax, IndexType, Int, OrderType, OrderSide, Position, FundingRateHistory, Liquidation, FundingHistory, Greeks, Leverage, Leverages, Str } from './types.js';
8
8
  import { ArrayCache, ArrayCacheByTimestamp } from './ws/Cache.js';
9
9
  import { OrderBook as Ob } from './ws/OrderBook.js';
@@ -644,7 +644,7 @@ export default class Exchange {
644
644
  filterByValueSinceLimit(array: object[], field: IndexType, value?: any, since?: Int, limit?: Int, key?: string, tail?: boolean): any;
645
645
  setSandboxMode(enabled: boolean): void;
646
646
  sign(path: any, api?: any, method?: string, params?: {}, headers?: any, body?: any): {};
647
- fetchAccounts(params?: {}): Promise<{}>;
647
+ fetchAccounts(params?: {}): Promise<Account[]>;
648
648
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
649
649
  fetchTradesWs(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
650
650
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
@@ -668,7 +668,7 @@ export default class Exchange {
668
668
  parseTrade(trade: object, market?: Market): Trade;
669
669
  parseTransaction(transaction: any, currency?: Currency): Transaction;
670
670
  parseTransfer(transfer: any, currency?: Currency): object;
671
- parseAccount(account: any): {};
671
+ parseAccount(account: any): Account;
672
672
  parseLedgerEntry(item: any, currency?: Currency): object;
673
673
  parseOrder(order: any, market?: Market): Order;
674
674
  fetchCrossBorrowRates(params?: {}): Promise<{}>;
@@ -789,7 +789,7 @@ export default class Exchange {
789
789
  loadTradingLimits(symbols?: string[], reload?: boolean, params?: {}): Promise<Dictionary<any>>;
790
790
  safePosition(position: any): Position;
791
791
  parsePositions(positions: any[], symbols?: string[], params?: {}): Position[];
792
- parseAccounts(accounts: any[], params?: {}): any[];
792
+ parseAccounts(accounts: any[], params?: {}): Account[];
793
793
  parseTrades(trades: any[], market?: Market, since?: Int, limit?: Int, params?: {}): Trade[];
794
794
  parseTransactions(transactions: any[], currency?: Currency, since?: Int, limit?: Int, params?: {}): Transaction[];
795
795
  parseTransfers(transfers: any[], currency?: Currency, since?: Int, limit?: Int, params?: {}): any;
@@ -914,7 +914,7 @@ export default class Exchange {
914
914
  fetchL3OrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
915
915
  parseLastPrice(price: any, market?: Market): LastPrice;
916
916
  fetchDepositAddress(code: string, params?: {}): Promise<any>;
917
- account(): Account;
917
+ account(): BalanceAccount;
918
918
  commonCurrencyCode(currency: string): string;
919
919
  currency(code: string): any;
920
920
  market(symbol: string): MarketInterface;
@@ -180,11 +180,17 @@ export interface Balance {
180
180
  total: Num;
181
181
  debt?: Num;
182
182
  }
183
- export interface Account {
183
+ export interface BalanceAccount {
184
184
  free: Str;
185
185
  used: Str;
186
186
  total: Str;
187
187
  }
188
+ export interface Account {
189
+ id: Str;
190
+ type: Str;
191
+ code: Str;
192
+ info: any;
193
+ }
188
194
  export interface PartialBalances extends Dictionary<number> {
189
195
  }
190
196
  export interface Balances extends Dictionary<Balance> {
@@ -20,7 +20,7 @@ export default class binance extends Exchange {
20
20
  fetchCurrencies(params?: {}): Promise<{}>;
21
21
  fetchMarkets(params?: {}): Promise<any[]>;
22
22
  parseMarket(market: any): Market;
23
- parseBalanceHelper(entry: any): import("./base/types.js").Account;
23
+ parseBalanceHelper(entry: any): import("./base/types.js").BalanceAccount;
24
24
  parseBalanceCustom(response: any, type?: any, marginMode?: any, isPortfolioMargin?: boolean): Balances;
25
25
  fetchBalance(params?: {}): Promise<Balances>;
26
26
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
package/js/src/binance.js CHANGED
@@ -811,6 +811,7 @@ export default class binance extends Exchange {
811
811
  'userTrades': 5,
812
812
  'income': 30,
813
813
  'commissionRate': 20,
814
+ 'rateLimit/order': 1,
814
815
  'apiTradingStatus': 1,
815
816
  'multiAssetsMargin': 30,
816
817
  // broker endpoints
@@ -11667,6 +11668,7 @@ export default class binance extends Exchange {
11667
11668
  * @param {int} [limit] default 30, max 500
11668
11669
  * @param {object} [params] exchange specific parameters
11669
11670
  * @param {int} [params.until] the time(ms) of the latest record to retrieve as a unix timestamp
11671
+ * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
11670
11672
  * @returns {object} an array of [open interest structure]{@link https://docs.ccxt.com/#/?id=open-interest-structure}
11671
11673
  */
11672
11674
  if (timeframe === '1m') {
package/js/src/bingx.js CHANGED
@@ -127,6 +127,7 @@ export default class bingx extends Exchange {
127
127
  'v1': {
128
128
  'public': {
129
129
  'get': {
130
+ 'server/time': 3,
130
131
  'common/symbols': 3,
131
132
  'market/trades': 3,
132
133
  'market/depth': 3,
@@ -150,6 +151,7 @@ export default class bingx extends Exchange {
150
151
  'trade/order/cancelReplace': 3,
151
152
  'trade/cancelOrders': 3,
152
153
  'trade/cancelOpenOrders': 3,
154
+ 'trade/cancelAllAfter': 1,
153
155
  },
154
156
  },
155
157
  },
@@ -1812,15 +1814,18 @@ export default class bingx extends Exchange {
1812
1814
  request[exchangeClientOrderId] = clientOrderId;
1813
1815
  }
1814
1816
  const timeInForce = this.safeStringUpper(params, 'timeInForce');
1815
- if (timeInForce === 'IOC') {
1817
+ [postOnly, params] = this.handlePostOnly(isMarketOrder, timeInForce === 'PostOnly', params);
1818
+ if (postOnly || (timeInForce === 'PostOnly')) {
1819
+ request['timeInForce'] = 'PostOnly';
1820
+ }
1821
+ else if (timeInForce === 'IOC') {
1816
1822
  request['timeInForce'] = 'IOC';
1817
1823
  }
1824
+ else if (timeInForce === 'GTC') {
1825
+ request['timeInForce'] = 'GTC';
1826
+ }
1818
1827
  const triggerPrice = this.safeString2(params, 'stopPrice', 'triggerPrice');
1819
1828
  if (isSpot) {
1820
- [postOnly, params] = this.handlePostOnly(isMarketOrder, timeInForce === 'POC', params);
1821
- if (postOnly || (timeInForce === 'POC')) {
1822
- request['timeInForce'] = 'POC';
1823
- }
1824
1829
  const cost = this.safeNumber2(params, 'cost', 'quoteOrderQty');
1825
1830
  params = this.omit(params, 'cost');
1826
1831
  if (cost !== undefined) {
@@ -1853,14 +1858,7 @@ export default class bingx extends Exchange {
1853
1858
  }
1854
1859
  }
1855
1860
  else {
1856
- [postOnly, params] = this.handlePostOnly(isMarketOrder, timeInForce === 'PostOnly', params);
1857
- if (postOnly || (timeInForce === 'PostOnly')) {
1858
- request['timeInForce'] = 'PostOnly';
1859
- }
1860
- else if (timeInForce === 'GTC') {
1861
- request['timeInForce'] = 'GTC';
1862
- }
1863
- else if (timeInForce === 'FOK') {
1861
+ if (timeInForce === 'FOK') {
1864
1862
  request['timeInForce'] = 'FOK';
1865
1863
  }
1866
1864
  const stopLossPrice = this.safeString(params, 'stopLossPrice');
@@ -1988,7 +1986,7 @@ export default class bingx extends Exchange {
1988
1986
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1989
1987
  * @param {string} [params.clientOrderId] a unique id for the order
1990
1988
  * @param {bool} [params.postOnly] true to place a post only order
1991
- * @param {string} [params.timeInForce] spot supports 'PO' and 'IOC', swap supports 'PO', 'GTC', 'IOC' and 'FOK'
1989
+ * @param {string} [params.timeInForce] spot supports 'PO', 'GTC' and 'IOC', swap supports 'PO', 'GTC', 'IOC' and 'FOK'
1992
1990
  * @param {bool} [params.reduceOnly] *swap only* true or false whether the order is reduce only
1993
1991
  * @param {float} [params.triggerPrice] *swap only* triggerPrice at which the attached take profit / stop loss order will be triggered
1994
1992
  * @param {float} [params.stopLossPrice] *swap only* stop loss trigger price
@@ -47,7 +47,7 @@ export default class bitmart extends Exchange {
47
47
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
48
48
  fetchOrderTrades(id: string, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
49
49
  customParseBalance(response: any, marketType: any): Balances;
50
- parseBalanceHelper(entry: any): import("./base/types.js").Account;
50
+ parseBalanceHelper(entry: any): import("./base/types.js").BalanceAccount;
51
51
  fetchBalance(params?: {}): Promise<Balances>;
52
52
  parseTradingFee(fee: any, market?: Market): {
53
53
  info: any;
package/js/src/bitmart.js CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  // ---------------------------------------------------------------------------
8
8
  import Exchange from './abstract/bitmart.js';
9
- import { AuthenticationError, ExchangeNotAvailable, OnMaintenance, AccountSuspended, PermissionDenied, RateLimitExceeded, InvalidNonce, InvalidAddress, ArgumentsRequired, ExchangeError, InvalidOrder, InsufficientFunds, BadRequest, OrderNotFound, BadSymbol, NotSupported } from './base/errors.js';
9
+ import { AuthenticationError, ExchangeNotAvailable, OnMaintenance, AccountSuspended, PermissionDenied, RateLimitExceeded, InvalidNonce, InvalidAddress, ArgumentsRequired, ExchangeError, InvalidOrder, InsufficientFunds, BadRequest, OrderNotFound, BadSymbol, NotSupported, NetworkError } from './base/errors.js';
10
10
  import { Precise } from './base/Precise.js';
11
11
  import { TICK_SIZE, TRUNCATE } from './base/functions/number.js';
12
12
  import { sha256 } from './static_dependencies/noble-hashes/sha256.js';
@@ -350,6 +350,7 @@ export default class bitmart extends Exchange {
350
350
  '70000': ExchangeError,
351
351
  '70001': BadRequest,
352
352
  '70002': BadSymbol,
353
+ '70003': NetworkError,
353
354
  '71001': BadRequest,
354
355
  '71002': BadRequest,
355
356
  '71003': BadRequest,
package/js/src/bybit.js CHANGED
@@ -2653,7 +2653,7 @@ export default class bybit extends Exchange {
2653
2653
  //
2654
2654
  const id = this.safeStringN(trade, ['execId', 'id', 'tradeId']);
2655
2655
  const marketId = this.safeString(trade, 'symbol');
2656
- let marketType = 'contract';
2656
+ let marketType = ('createType' in trade) ? 'contract' : 'spot';
2657
2657
  if (market !== undefined) {
2658
2658
  marketType = market['type'];
2659
2659
  }
@@ -6792,6 +6792,7 @@ export default class bybit extends Exchange {
6792
6792
  * @param {int} [since] Not used by Bybit
6793
6793
  * @param {int} [limit] The number of open interest structures to return. Max 200, default 50
6794
6794
  * @param {object} [params] Exchange specific parameters
6795
+ * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
6795
6796
  * @returns An array of open interest structures
6796
6797
  */
6797
6798
  if (timeframe === '1m') {
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/coinbase.js';
2
- import type { Int, OrderSide, OrderType, Order, Trade, OHLCV, Ticker, OrderBook, Str, Transaction, Balances, Tickers, Strings, Market, Currency, Num } from './base/types.js';
2
+ import type { Int, OrderSide, OrderType, Order, Trade, OHLCV, Ticker, OrderBook, Str, Transaction, Balances, Tickers, Strings, Market, Currency, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class coinbase
5
5
  * @augments Exchange
@@ -7,9 +7,9 @@ import type { Int, OrderSide, OrderType, Order, Trade, OHLCV, Ticker, OrderBook,
7
7
  export default class coinbase extends Exchange {
8
8
  describe(): any;
9
9
  fetchTime(params?: {}): Promise<number>;
10
- fetchAccounts(params?: {}): Promise<any>;
11
- fetchAccountsV2(params?: {}): Promise<any>;
12
- fetchAccountsV3(params?: {}): Promise<any>;
10
+ fetchAccounts(params?: {}): Promise<Account[]>;
11
+ fetchAccountsV2(params?: {}): Promise<Account[]>;
12
+ fetchAccountsV3(params?: {}): Promise<Account[]>;
13
13
  parseAccount(account: any): {
14
14
  id: string;
15
15
  type: string;
@@ -1326,7 +1326,7 @@ export default class coinbase extends Exchange {
1326
1326
  * @returns {object} an associative dictionary of currencies
1327
1327
  */
1328
1328
  const response = await this.fetchCurrenciesFromCache(params);
1329
- const currencies = this.safeDict(response, 'currencies', {});
1329
+ const currencies = this.safeList(response, 'currencies', []);
1330
1330
  //
1331
1331
  // fiat
1332
1332
  //
@@ -1878,9 +1878,15 @@ export default class coinbase extends Exchange {
1878
1878
  * @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
1879
1879
  * @param {int} [limit] max number of ledger entrys to return, default is undefined
1880
1880
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1881
+ * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
1881
1882
  * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
1882
1883
  */
1883
1884
  await this.loadMarkets();
1885
+ let paginate = false;
1886
+ [paginate, params] = this.handleOptionAndParams(params, 'fetchLedger', 'paginate');
1887
+ if (paginate) {
1888
+ return await this.fetchPaginatedCallCursor('fetchLedger', code, since, limit, params, 'next_starting_after', 'starting_after', undefined, 100);
1889
+ }
1884
1890
  let currency = undefined;
1885
1891
  if (code !== undefined) {
1886
1892
  currency = this.currency(code);
@@ -1891,7 +1897,17 @@ export default class coinbase extends Exchange {
1891
1897
  // the value for the next page can be obtained from the result of the previous call in the 'pagination' field
1892
1898
  // eg: instance.last_json_response.pagination.next_starting_after
1893
1899
  const response = await this.v2PrivateGetAccountsAccountIdTransactions(this.extend(request, params));
1894
- return this.parseLedger(response['data'], currency, since, limit);
1900
+ const ledger = this.parseLedger(response['data'], currency, since, limit);
1901
+ const length = ledger.length;
1902
+ const lastIndex = length - 1;
1903
+ const last = this.safeDict(ledger, lastIndex);
1904
+ const pagination = this.safeDict(response, 'pagination', {});
1905
+ const cursor = this.safeString(pagination, 'next_starting_after');
1906
+ if ((cursor !== undefined) && (cursor !== '')) {
1907
+ last['next_starting_after'] = cursor;
1908
+ ledger[lastIndex] = last;
1909
+ }
1910
+ return ledger;
1895
1911
  }
1896
1912
  parseLedgerEntryStatus(status) {
1897
1913
  const types = {
@@ -8,7 +8,7 @@ export default class coinbaseinternational extends Exchange {
8
8
  describe(): any;
9
9
  handlePortfolioAndParams(methodName: string, params?: {}): Promise<any[]>;
10
10
  handleNetworkIdAndParams(currencyCode: string, methodName: string, params: any): Promise<any[]>;
11
- fetchAccounts(params?: {}): Promise<any[]>;
11
+ fetchAccounts(params?: {}): Promise<import("./base/types.js").Account[]>;
12
12
  parseAccount(account: any): {
13
13
  id: string;
14
14
  type: any;
@@ -19,7 +19,7 @@ export default class coinbaseinternational extends Exchange {
19
19
  describe() {
20
20
  return this.deepExtend(super.describe(), {
21
21
  'id': 'coinbaseinternational',
22
- 'name': 'coinbase International',
22
+ 'name': 'Coinbase International',
23
23
  'countries': ['US'],
24
24
  'certified': true,
25
25
  'pro': true,
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/coinbasepro.js';
2
- import type { Int, OrderSide, OrderType, Trade, OHLCV, Order, Balances, Str, Transaction, Ticker, OrderBook, Tickers, Strings, Market, Currency, Num } from './base/types.js';
2
+ import type { Int, OrderSide, OrderType, Trade, OHLCV, Order, Balances, Str, Transaction, Ticker, OrderBook, Tickers, Strings, Market, Currency, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class coinbasepro
5
5
  * @augments Exchange
@@ -8,7 +8,7 @@ export default class coinbasepro extends Exchange {
8
8
  describe(): any;
9
9
  fetchCurrencies(params?: {}): Promise<{}>;
10
10
  fetchMarkets(params?: {}): Promise<any[]>;
11
- fetchAccounts(params?: {}): Promise<any[]>;
11
+ fetchAccounts(params?: {}): Promise<Account[]>;
12
12
  parseAccount(account: any): {
13
13
  id: string;
14
14
  type: any;
package/js/src/coinex.js CHANGED
@@ -137,7 +137,7 @@ export default class coinex extends Exchange {
137
137
  'perpetualPrivate': 'https://api.coinex.com/perpetual',
138
138
  },
139
139
  'www': 'https://www.coinex.com',
140
- 'doc': 'https://github.com/coinexcom/coinex_exchange_api/wiki',
140
+ 'doc': 'https://viabtc.github.io/coinex_api_en_doc',
141
141
  'fees': 'https://www.coinex.com/fees',
142
142
  'referral': 'https://www.coinex.com/register?refer_code=yw5fz',
143
143
  },
@@ -351,6 +351,7 @@ export default class coinex extends Exchange {
351
351
  },
352
352
  'broad': {
353
353
  'ip not allow visit': PermissionDenied,
354
+ 'service too busy': ExchangeNotAvailable,
354
355
  },
355
356
  },
356
357
  });
@@ -5157,7 +5158,7 @@ export default class coinex extends Exchange {
5157
5158
  * @method
5158
5159
  * @name coinex#borrowIsolatedMargin
5159
5160
  * @description create a loan to borrow margin
5160
- * @see https://github.com/coinexcom/coinex_exchange_api/wiki/086margin_loan
5161
+ * @see https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot002_account017_margin_loan
5161
5162
  * @param {string} symbol unified market symbol, required for coinex
5162
5163
  * @param {string} code unified currency code of the currency to borrow
5163
5164
  * @param {float} amount the amount to borrow
@@ -5194,7 +5195,7 @@ export default class coinex extends Exchange {
5194
5195
  * @method
5195
5196
  * @name coinex#repayIsolatedMargin
5196
5197
  * @description repay borrowed margin and interest
5197
- * @see https://github.com/coinexcom/coinex_exchange_api/wiki/087margin_flat
5198
+ * @see https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot002_account018_margin_flat
5198
5199
  * @param {string} symbol unified market symbol, required for coinex
5199
5200
  * @param {string} code unified currency code of the currency to repay
5200
5201
  * @param {float} amount the amount to repay
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/coinlist.js';
2
- import type { Balances, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry } from './base/types.js';
2
+ import type { Account, Balances, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry } from './base/types.js';
3
3
  /**
4
4
  * @class coinlist
5
5
  * @augments Exchange
@@ -24,7 +24,7 @@ export default class coinlist extends Exchange {
24
24
  maker: any[];
25
25
  taker: any[];
26
26
  };
27
- fetchAccounts(params?: {}): Promise<any[]>;
27
+ fetchAccounts(params?: {}): Promise<Account[]>;
28
28
  parseAccount(account: any): {
29
29
  id: string;
30
30
  type: string;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/cryptocom.js';
2
- import type { Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, Str, Ticker, OrderRequest, Balances, Transaction, OrderBook, Tickers, Strings, Currency, Market, Num } from './base/types.js';
2
+ import type { Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, Str, Ticker, OrderRequest, Balances, Transaction, OrderBook, Tickers, Strings, Currency, Market, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class cryptocom
5
5
  * @augments Exchange
@@ -77,7 +77,7 @@ export default class cryptocom extends Exchange {
77
77
  info: any;
78
78
  };
79
79
  parseLedgerEntryType(type: any): string;
80
- fetchAccounts(params?: {}): Promise<any[]>;
80
+ fetchAccounts(params?: {}): Promise<Account[]>;
81
81
  parseAccount(account: any): {
82
82
  id: string;
83
83
  type: string;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/currencycom.js';
2
- import type { Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Leverage, Num } from './base/types.js';
2
+ import type { Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Leverage, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class currencycom
5
5
  * @augments Exchange
@@ -10,7 +10,7 @@ export default class currencycom extends Exchange {
10
10
  fetchTime(params?: {}): Promise<number>;
11
11
  fetchCurrencies(params?: {}): Promise<{}>;
12
12
  fetchMarkets(params?: {}): Promise<any[]>;
13
- fetchAccounts(params?: {}): Promise<any[]>;
13
+ fetchAccounts(params?: {}): Promise<Account[]>;
14
14
  fetchTradingFees(params?: {}): Promise<{}>;
15
15
  parseBalance(response: any, type?: any): Balances;
16
16
  fetchBalance(params?: {}): Promise<Balances>;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/deribit.js';
2
- import type { Balances, Currency, FundingRateHistory, Greeks, Int, Liquidation, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry, MarketInterface, Num } from './base/types.js';
2
+ import type { Balances, Currency, FundingRateHistory, Greeks, Int, Liquidation, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry, MarketInterface, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class deribit
5
5
  * @augments Exchange
@@ -21,7 +21,7 @@ export default class deribit extends Exchange {
21
21
  url: any;
22
22
  info: any;
23
23
  }>;
24
- fetchAccounts(params?: {}): Promise<any[]>;
24
+ fetchAccounts(params?: {}): Promise<Account[]>;
25
25
  parseAccount(account: any, currency?: Currency): {
26
26
  info: any;
27
27
  id: string;
package/js/src/gate.d.ts CHANGED
@@ -163,7 +163,7 @@ export default class gate extends Exchange {
163
163
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
164
164
  parseTicker(ticker: any, market?: Market): Ticker;
165
165
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
166
- parseBalanceHelper(entry: any): import("./base/types.js").Account;
166
+ parseBalanceHelper(entry: any): import("./base/types.js").BalanceAccount;
167
167
  fetchBalance(params?: {}): Promise<Balances>;
168
168
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
169
169
  fetchOptionOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
package/js/src/gate.js CHANGED
@@ -4289,6 +4289,7 @@ export default class gate extends Exchange {
4289
4289
  'failed': 'canceled',
4290
4290
  'expired': 'canceled',
4291
4291
  'finished': 'closed',
4292
+ 'finish': 'closed',
4292
4293
  'succeeded': 'closed',
4293
4294
  };
4294
4295
  return this.safeString(statuses, status, status);
@@ -6157,6 +6158,7 @@ export default class gate extends Exchange {
6157
6158
  * @param {int} [since] the time(ms) of the earliest record to retrieve as a unix timestamp
6158
6159
  * @param {int} [limit] default 30
6159
6160
  * @param {object} [params] exchange specific parameters
6161
+ * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
6160
6162
  * @returns {object} an open interest structure{@link https://docs.ccxt.com/#/?id=open-interest-structure}
6161
6163
  */
6162
6164
  await this.loadMarkets();
package/js/src/htx.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/htx.js';
2
- import type { BorrowRate, TransferEntry, Int, OrderSide, OrderType, Order, OHLCV, Trade, FundingRateHistory, Balances, Str, Transaction, Ticker, OrderBook, Tickers, OrderRequest, Strings, Market, Currency, Num } from './base/types.js';
2
+ import type { BorrowRate, TransferEntry, Int, OrderSide, OrderType, Order, OHLCV, Trade, FundingRateHistory, Balances, Str, Transaction, Ticker, OrderBook, Tickers, OrderRequest, Strings, Market, Currency, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class huobi
5
5
  * @augments Exchange
@@ -68,7 +68,7 @@ export default class htx extends Exchange {
68
68
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
69
69
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
70
70
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
71
- fetchAccounts(params?: {}): Promise<any[]>;
71
+ fetchAccounts(params?: {}): Promise<Account[]>;
72
72
  parseAccount(account: any): {
73
73
  info: any;
74
74
  id: string;