ccxt 4.3.29 → 4.3.31

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 (139) hide show
  1. package/README.md +3 -3
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/base/Exchange.js +6 -0
  5. package/dist/cjs/src/binance.js +14 -1
  6. package/dist/cjs/src/bingx.js +1 -1
  7. package/dist/cjs/src/bitfinex2.js +100 -58
  8. package/dist/cjs/src/bitmart.js +3 -3
  9. package/dist/cjs/src/bitmex.js +1 -1
  10. package/dist/cjs/src/coinbase.js +1 -1
  11. package/dist/cjs/src/coinex.js +376 -403
  12. package/dist/cjs/src/gate.js +3 -3
  13. package/dist/cjs/src/hyperliquid.js +1 -1
  14. package/dist/cjs/src/kraken.js +2 -7
  15. package/dist/cjs/src/mexc.js +5 -5
  16. package/dist/cjs/src/poloniexfutures.js +8 -3
  17. package/dist/cjs/src/pro/bingx.js +1 -1
  18. package/dist/cjs/src/whitebit.js +54 -4
  19. package/js/ccxt.d.ts +1 -1
  20. package/js/ccxt.js +1 -1
  21. package/js/src/abstract/binance.d.ts +2 -0
  22. package/js/src/abstract/binancecoinm.d.ts +2 -0
  23. package/js/src/abstract/binanceus.d.ts +2 -0
  24. package/js/src/abstract/binanceusdm.d.ts +2 -0
  25. package/js/src/ace.d.ts +3 -3
  26. package/js/src/alpaca.d.ts +5 -5
  27. package/js/src/ascendex.d.ts +12 -23
  28. package/js/src/base/Exchange.d.ts +36 -36
  29. package/js/src/base/Exchange.js +6 -0
  30. package/js/src/base/functions/type.d.ts +9 -9
  31. package/js/src/base/types.d.ts +2 -0
  32. package/js/src/bigone.d.ts +4 -4
  33. package/js/src/binance.d.ts +20 -23
  34. package/js/src/binance.js +14 -1
  35. package/js/src/bingx.d.ts +8 -19
  36. package/js/src/bingx.js +1 -1
  37. package/js/src/bit2c.d.ts +2 -2
  38. package/js/src/bitbank.d.ts +4 -4
  39. package/js/src/bitbns.d.ts +3 -3
  40. package/js/src/bitfinex.d.ts +4 -4
  41. package/js/src/bitfinex2.d.ts +8 -8
  42. package/js/src/bitfinex2.js +100 -58
  43. package/js/src/bitflyer.d.ts +4 -4
  44. package/js/src/bitget.d.ts +14 -25
  45. package/js/src/bithumb.d.ts +4 -4
  46. package/js/src/bitmart.d.ts +8 -8
  47. package/js/src/bitmart.js +3 -3
  48. package/js/src/bitmex.d.ts +10 -21
  49. package/js/src/bitmex.js +1 -1
  50. package/js/src/bitopro.d.ts +4 -4
  51. package/js/src/bitrue.d.ts +5 -16
  52. package/js/src/bitso.d.ts +8 -8
  53. package/js/src/bitstamp.d.ts +11 -13
  54. package/js/src/bitteam.d.ts +4 -4
  55. package/js/src/bitvavo.d.ts +8 -19
  56. package/js/src/bl3p.d.ts +1 -1
  57. package/js/src/blockchaincom.d.ts +4 -6
  58. package/js/src/blofin.d.ts +11 -11
  59. package/js/src/btcalpha.d.ts +4 -4
  60. package/js/src/btcbox.d.ts +3 -3
  61. package/js/src/btcmarkets.d.ts +4 -4
  62. package/js/src/btcturk.d.ts +3 -3
  63. package/js/src/bybit.d.ts +19 -33
  64. package/js/src/cex.d.ts +3 -3
  65. package/js/src/coinbase.d.ts +11 -13
  66. package/js/src/coinbase.js +1 -1
  67. package/js/src/coinbaseexchange.d.ts +6 -6
  68. package/js/src/coinbaseinternational.d.ts +10 -10
  69. package/js/src/coincheck.d.ts +3 -3
  70. package/js/src/coinex.d.ts +18 -19
  71. package/js/src/coinex.js +376 -403
  72. package/js/src/coinlist.d.ts +6 -6
  73. package/js/src/coinmate.d.ts +5 -5
  74. package/js/src/coinmetro.d.ts +5 -11
  75. package/js/src/coinone.d.ts +4 -4
  76. package/js/src/coinsph.d.ts +5 -5
  77. package/js/src/coinspot.d.ts +1 -1
  78. package/js/src/cryptocom.d.ts +10 -21
  79. package/js/src/currencycom.d.ts +6 -22
  80. package/js/src/delta.d.ts +8 -8
  81. package/js/src/deribit.d.ts +6 -6
  82. package/js/src/digifinex.d.ts +16 -16
  83. package/js/src/exmo.d.ts +6 -6
  84. package/js/src/gate.d.ts +17 -28
  85. package/js/src/gate.js +3 -3
  86. package/js/src/gemini.d.ts +4 -4
  87. package/js/src/hitbtc.d.ts +8 -8
  88. package/js/src/hollaex.d.ts +6 -17
  89. package/js/src/htx.d.ts +15 -15
  90. package/js/src/huobijp.d.ts +5 -5
  91. package/js/src/hyperliquid.d.ts +4 -4
  92. package/js/src/hyperliquid.js +1 -1
  93. package/js/src/idex.d.ts +4 -4
  94. package/js/src/independentreserve.d.ts +3 -3
  95. package/js/src/indodax.d.ts +5 -7
  96. package/js/src/kraken.d.ts +7 -7
  97. package/js/src/kraken.js +2 -7
  98. package/js/src/krakenfutures.d.ts +9 -9
  99. package/js/src/kucoin.d.ts +11 -22
  100. package/js/src/kucoinfutures.d.ts +6 -6
  101. package/js/src/kuna.d.ts +7 -7
  102. package/js/src/latoken.d.ts +5 -5
  103. package/js/src/lbank.d.ts +10 -10
  104. package/js/src/luno.d.ts +3 -3
  105. package/js/src/lykke.d.ts +4 -4
  106. package/js/src/mercado.d.ts +4 -4
  107. package/js/src/mexc.d.ts +12 -12
  108. package/js/src/mexc.js +5 -5
  109. package/js/src/ndax.d.ts +6 -6
  110. package/js/src/novadax.d.ts +4 -4
  111. package/js/src/oceanex.d.ts +4 -4
  112. package/js/src/okcoin.d.ts +6 -6
  113. package/js/src/okx.d.ts +18 -24
  114. package/js/src/onetrading.d.ts +7 -7
  115. package/js/src/p2b.d.ts +3 -3
  116. package/js/src/paymium.d.ts +3 -3
  117. package/js/src/phemex.d.ts +11 -11
  118. package/js/src/poloniex.d.ts +6 -6
  119. package/js/src/poloniexfutures.d.ts +4 -4
  120. package/js/src/poloniexfutures.js +8 -3
  121. package/js/src/pro/bingx.js +1 -1
  122. package/js/src/pro/coinbase.d.ts +2 -2
  123. package/js/src/pro/phemex.d.ts +3 -45
  124. package/js/src/probit.d.ts +5 -5
  125. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  126. package/js/src/timex.d.ts +6 -6
  127. package/js/src/tokocrypto.d.ts +4 -4
  128. package/js/src/tradeogre.d.ts +3 -3
  129. package/js/src/upbit.d.ts +5 -5
  130. package/js/src/wavesexchange.d.ts +4 -4
  131. package/js/src/wazirx.d.ts +4 -4
  132. package/js/src/whitebit.d.ts +13 -11
  133. package/js/src/whitebit.js +54 -4
  134. package/js/src/woo.d.ts +8 -8
  135. package/js/src/woofipro.d.ts +10 -10
  136. package/js/src/yobit.d.ts +3 -3
  137. package/js/src/zaif.d.ts +3 -3
  138. package/js/src/zonda.d.ts +6 -6
  139. package/package.json +3 -1
@@ -20,18 +20,18 @@ export default class bitbns extends Exchange {
20
20
  parseBalance(response: any): Balances;
21
21
  fetchBalance(params?: {}): Promise<Balances>;
22
22
  parseStatus(status: any): string;
23
- parseOrder(order: any, market?: Market): Order;
23
+ parseOrder(order: Dict, market?: Market): Order;
24
24
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
25
25
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
26
26
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
27
27
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
28
- parseTrade(trade: any, market?: Market): Trade;
28
+ parseTrade(trade: Dict, market?: Market): Trade;
29
29
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
30
30
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
31
31
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
32
32
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
33
33
  parseTransactionStatusByType(status: any, type?: any): string;
34
- parseTransaction(transaction: any, currency?: Currency): Transaction;
34
+ parseTransaction(transaction: Dict, currency?: Currency): Transaction;
35
35
  fetchDepositAddress(code: string, params?: {}): Promise<{
36
36
  currency: string;
37
37
  address: string;
@@ -6,7 +6,7 @@ import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, Orde
6
6
  */
7
7
  export default class bitfinex extends Exchange {
8
8
  describe(): any;
9
- fetchTransactionFees(codes?: string[], params?: {}): Promise<{}>;
9
+ fetchTransactionFees(codes?: Strings, params?: {}): Promise<Dict>;
10
10
  fetchDepositWithdrawFees(codes?: Strings, params?: {}): Promise<any>;
11
11
  parseDepositWithdrawFee(fee: any, currency?: Currency): {
12
12
  withdraw: {
@@ -33,14 +33,14 @@ export default class bitfinex extends Exchange {
33
33
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
34
34
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
35
35
  parseTicker(ticker: Dict, market?: Market): Ticker;
36
- parseTrade(trade: any, market?: Market): Trade;
36
+ parseTrade(trade: Dict, market?: Market): Trade;
37
37
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
38
38
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
39
39
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
40
40
  editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: Num, price?: Num, params?: {}): Promise<Order>;
41
41
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
42
42
  cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
43
- parseOrder(order: any, market?: Market): Order;
43
+ parseOrder(order: Dict, market?: Market): Order;
44
44
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
45
45
  fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
46
46
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
@@ -62,7 +62,7 @@ export default class bitfinex extends Exchange {
62
62
  info: any;
63
63
  }>;
64
64
  fetchDepositsWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
65
- parseTransaction(transaction: any, currency?: Currency): Transaction;
65
+ parseTransaction(transaction: Dict, currency?: Currency): Transaction;
66
66
  parseTransactionStatus(status: any): string;
67
67
  withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
68
68
  fetchPositions(symbols?: Strings, params?: {}): Promise<any>;
@@ -30,14 +30,14 @@ export default class bitfinex2 extends Exchange {
30
30
  parseTicker(ticker: Dict, market?: Market): Ticker;
31
31
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
32
32
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
33
- parseTrade(trade: any, market?: Market): Trade;
33
+ parseTrade(trade: Dict, market?: Market): Trade;
34
34
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
35
35
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
36
36
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
37
- parseOrderStatus(status: any): any;
37
+ parseOrderStatus(status: Str): string;
38
38
  parseOrderFlags(flags: any): any;
39
39
  parseTimeInForce(orderType: any): string;
40
- parseOrder(order: any, market?: Market): Order;
40
+ parseOrder(order: Dict, market?: Market): Order;
41
41
  createOrderRequest(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): any;
42
42
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
43
43
  createOrders(orders: OrderRequest[], params?: {}): Promise<Order[]>;
@@ -65,12 +65,12 @@ export default class bitfinex2 extends Exchange {
65
65
  info: any;
66
66
  }>;
67
67
  parseTransactionStatus(status: any): string;
68
- parseTransaction(transaction: any, currency?: Currency): Transaction;
68
+ parseTransaction(transaction: Dict, currency?: Currency): Transaction;
69
69
  fetchTradingFees(params?: {}): Promise<TradingFees>;
70
70
  fetchDepositsWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
71
71
  withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<any>;
72
72
  fetchPositions(symbols?: Strings, params?: {}): Promise<import("./base/types.js").Position[]>;
73
- parsePosition(position: any, market?: Market): import("./base/types.js").Position;
73
+ parsePosition(position: Dict, market?: Market): import("./base/types.js").Position;
74
74
  nonce(): number;
75
75
  sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
76
76
  url: string;
@@ -79,8 +79,8 @@ export default class bitfinex2 extends Exchange {
79
79
  headers: any;
80
80
  };
81
81
  handleErrors(statusCode: any, statusText: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
82
- parseLedgerEntryType(type: any): any;
83
- parseLedgerEntry(item: any, currency?: Currency): {
82
+ parseLedgerEntryType(type: Str): string;
83
+ parseLedgerEntry(item: Dict, currency?: Currency): {
84
84
  id: string;
85
85
  direction: any;
86
86
  account: any;
@@ -95,7 +95,7 @@ export default class bitfinex2 extends Exchange {
95
95
  after: number;
96
96
  status: any;
97
97
  fee: any;
98
- info: any;
98
+ info: Dict;
99
99
  };
100
100
  fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
101
101
  fetchFundingRate(symbol: string, params?: {}): Promise<any>;
@@ -1263,14 +1263,15 @@ export default class bitfinex2 extends Exchange {
1263
1263
  // ...
1264
1264
  // ]
1265
1265
  //
1266
- const tradeLength = trade.length;
1266
+ const tradeList = this.safeList(trade, 'result', []);
1267
+ const tradeLength = tradeList.length;
1267
1268
  const isPrivate = (tradeLength > 5);
1268
- const id = this.safeString(trade, 0);
1269
+ const id = this.safeString(tradeList, 0);
1269
1270
  const amountIndex = isPrivate ? 4 : 2;
1270
1271
  let side = undefined;
1271
- let amountString = this.safeString(trade, amountIndex);
1272
+ let amountString = this.safeString(tradeList, amountIndex);
1272
1273
  const priceIndex = isPrivate ? 5 : 3;
1273
- const priceString = this.safeString(trade, priceIndex);
1274
+ const priceString = this.safeString(tradeList, priceIndex);
1274
1275
  if (amountString[0] === '-') {
1275
1276
  side = 'sell';
1276
1277
  amountString = Precise.stringAbs(amountString);
@@ -1284,22 +1285,22 @@ export default class bitfinex2 extends Exchange {
1284
1285
  let fee = undefined;
1285
1286
  let symbol = this.safeSymbol(undefined, market);
1286
1287
  const timestampIndex = isPrivate ? 2 : 1;
1287
- const timestamp = this.safeInteger(trade, timestampIndex);
1288
+ const timestamp = this.safeInteger(tradeList, timestampIndex);
1288
1289
  if (isPrivate) {
1289
- const marketId = trade[1];
1290
+ const marketId = tradeList[1];
1290
1291
  symbol = this.safeSymbol(marketId);
1291
- orderId = this.safeString(trade, 3);
1292
- const maker = this.safeInteger(trade, 8);
1292
+ orderId = this.safeString(tradeList, 3);
1293
+ const maker = this.safeInteger(tradeList, 8);
1293
1294
  takerOrMaker = (maker === 1) ? 'maker' : 'taker';
1294
- let feeCostString = this.safeString(trade, 9);
1295
+ let feeCostString = this.safeString(tradeList, 9);
1295
1296
  feeCostString = Precise.stringNeg(feeCostString);
1296
- const feeCurrencyId = this.safeString(trade, 10);
1297
+ const feeCurrencyId = this.safeString(tradeList, 10);
1297
1298
  const feeCurrency = this.safeCurrencyCode(feeCurrencyId);
1298
1299
  fee = {
1299
1300
  'cost': feeCostString,
1300
1301
  'currency': feeCurrency,
1301
1302
  };
1302
- const orderType = trade[6];
1303
+ const orderType = tradeList[6];
1303
1304
  type = this.safeString(this.options['exchangeTypes'], orderType);
1304
1305
  }
1305
1306
  return this.safeTrade({
@@ -1315,7 +1316,7 @@ export default class bitfinex2 extends Exchange {
1315
1316
  'amount': amountString,
1316
1317
  'cost': undefined,
1317
1318
  'fee': fee,
1318
- 'info': trade,
1319
+ 'info': tradeList,
1319
1320
  }, market);
1320
1321
  }
1321
1322
  async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
@@ -1364,7 +1365,11 @@ export default class bitfinex2 extends Exchange {
1364
1365
  // ]
1365
1366
  //
1366
1367
  const trades = this.sortBy(response, 1);
1367
- return this.parseTrades(trades, market, undefined, limit);
1368
+ const tradesList = [];
1369
+ for (let i = 0; i < trades.length; i++) {
1370
+ tradesList.push({ 'result': trades[i] }); // convert to array of dicts to match parseOrder signature
1371
+ }
1372
+ return this.parseTrades(tradesList, market, undefined, limit);
1368
1373
  }
1369
1374
  async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = 100, params = {}) {
1370
1375
  /**
@@ -1477,20 +1482,21 @@ export default class bitfinex2 extends Exchange {
1477
1482
  return this.safeString(orderTypes, orderType, 'GTC');
1478
1483
  }
1479
1484
  parseOrder(order, market = undefined) {
1480
- const id = this.safeString(order, 0);
1481
- const marketId = this.safeString(order, 3);
1485
+ const orderList = this.safeList(order, 'result');
1486
+ const id = this.safeString(orderList, 0);
1487
+ const marketId = this.safeString(orderList, 3);
1482
1488
  const symbol = this.safeSymbol(marketId);
1483
1489
  // https://github.com/ccxt/ccxt/issues/6686
1484
- // const timestamp = this.safeTimestamp (order, 5);
1485
- const timestamp = this.safeInteger(order, 5);
1486
- const remaining = Precise.stringAbs(this.safeString(order, 6));
1487
- const signedAmount = this.safeString(order, 7);
1490
+ // const timestamp = this.safeTimestamp (orderObject, 5);
1491
+ const timestamp = this.safeInteger(orderList, 5);
1492
+ const remaining = Precise.stringAbs(this.safeString(orderList, 6));
1493
+ const signedAmount = this.safeString(orderList, 7);
1488
1494
  const amount = Precise.stringAbs(signedAmount);
1489
1495
  const side = Precise.stringLt(signedAmount, '0') ? 'sell' : 'buy';
1490
- const orderType = this.safeString(order, 8);
1496
+ const orderType = this.safeString(orderList, 8);
1491
1497
  const type = this.safeString(this.safeValue(this.options, 'exchangeTypes'), orderType);
1492
1498
  const timeInForce = this.parseTimeInForce(orderType);
1493
- const rawFlags = this.safeString(order, 12);
1499
+ const rawFlags = this.safeString(orderList, 12);
1494
1500
  const flags = this.parseOrderFlags(rawFlags);
1495
1501
  let postOnly = false;
1496
1502
  if (flags !== undefined) {
@@ -1500,25 +1506,25 @@ export default class bitfinex2 extends Exchange {
1500
1506
  }
1501
1507
  }
1502
1508
  }
1503
- let price = this.safeString(order, 16);
1509
+ let price = this.safeString(orderList, 16);
1504
1510
  let stopPrice = undefined;
1505
1511
  if ((orderType === 'EXCHANGE STOP') || (orderType === 'EXCHANGE STOP LIMIT')) {
1506
1512
  price = undefined;
1507
- stopPrice = this.safeString(order, 16);
1513
+ stopPrice = this.safeString(orderList, 16);
1508
1514
  if (orderType === 'EXCHANGE STOP LIMIT') {
1509
- price = this.safeString(order, 19);
1515
+ price = this.safeString(orderList, 19);
1510
1516
  }
1511
1517
  }
1512
1518
  let status = undefined;
1513
- const statusString = this.safeString(order, 13);
1519
+ const statusString = this.safeString(orderList, 13);
1514
1520
  if (statusString !== undefined) {
1515
1521
  const parts = statusString.split(' @ ');
1516
1522
  status = this.parseOrderStatus(this.safeString(parts, 0));
1517
1523
  }
1518
- const average = this.safeString(order, 17);
1519
- const clientOrderId = this.safeString(order, 2);
1524
+ const average = this.safeString(orderList, 17);
1525
+ const clientOrderId = this.safeString(orderList, 2);
1520
1526
  return this.safeOrder({
1521
- 'info': order,
1527
+ 'info': orderList,
1522
1528
  'id': id,
1523
1529
  'clientOrderId': clientOrderId,
1524
1530
  'timestamp': timestamp,
@@ -1777,7 +1783,7 @@ export default class bitfinex2 extends Exchange {
1777
1783
  for (let i = 0; i < data.length; i++) {
1778
1784
  const entry = data[i];
1779
1785
  const individualOrder = entry[4];
1780
- results.push(individualOrder[0]);
1786
+ results.push({ 'result': individualOrder[0] });
1781
1787
  }
1782
1788
  return this.parseOrders(results);
1783
1789
  }
@@ -1797,7 +1803,11 @@ export default class bitfinex2 extends Exchange {
1797
1803
  };
1798
1804
  const response = await this.privatePostAuthWOrderCancelMulti(this.extend(request, params));
1799
1805
  const orders = this.safeList(response, 4, []);
1800
- return this.parseOrders(orders);
1806
+ const ordersList = [];
1807
+ for (let i = 0; i < orders.length; i++) {
1808
+ ordersList.push({ 'result': orders[i] });
1809
+ }
1810
+ return this.parseOrders(ordersList);
1801
1811
  }
1802
1812
  async cancelOrder(id, symbol = undefined, params = {}) {
1803
1813
  /**
@@ -1831,7 +1841,8 @@ export default class bitfinex2 extends Exchange {
1831
1841
  }
1832
1842
  const response = await this.privatePostAuthWOrderCancel(this.extend(request, params));
1833
1843
  const order = this.safeValue(response, 4);
1834
- return this.parseOrder(order);
1844
+ const orderObject = { 'result': order };
1845
+ return this.parseOrder(orderObject);
1835
1846
  }
1836
1847
  async cancelOrders(ids, symbol = undefined, params = {}) {
1837
1848
  /**
@@ -1907,7 +1918,11 @@ export default class bitfinex2 extends Exchange {
1907
1918
  // ]
1908
1919
  //
1909
1920
  const orders = this.safeList(response, 4, []);
1910
- return this.parseOrders(orders, market);
1921
+ const ordersList = [];
1922
+ for (let i = 0; i < orders.length; i++) {
1923
+ ordersList.push({ 'result': orders[i] });
1924
+ }
1925
+ return this.parseOrders(ordersList, market);
1911
1926
  }
1912
1927
  async fetchOpenOrder(id, symbol = undefined, params = {}) {
1913
1928
  /**
@@ -2016,7 +2031,11 @@ export default class bitfinex2 extends Exchange {
2016
2031
  // ],
2017
2032
  // ]
2018
2033
  //
2019
- return this.parseOrders(response, market, since, limit);
2034
+ const ordersList = [];
2035
+ for (let i = 0; i < response.length; i++) {
2036
+ ordersList.push({ 'result': response[i] });
2037
+ }
2038
+ return this.parseOrders(ordersList, market, since, limit);
2020
2039
  }
2021
2040
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
2022
2041
  /**
@@ -2096,7 +2115,11 @@ export default class bitfinex2 extends Exchange {
2096
2115
  // ]
2097
2116
  // ]
2098
2117
  //
2099
- return this.parseOrders(response, market, since, limit);
2118
+ const ordersList = [];
2119
+ for (let i = 0; i < response.length; i++) {
2120
+ ordersList.push({ 'result': response[i] });
2121
+ }
2122
+ return this.parseOrders(ordersList, market, since, limit);
2100
2123
  }
2101
2124
  async fetchOrderTrades(id, symbol = undefined, since = undefined, limit = undefined, params = {}) {
2102
2125
  /**
@@ -2123,7 +2146,11 @@ export default class bitfinex2 extends Exchange {
2123
2146
  };
2124
2147
  // valid for trades upto 10 days old
2125
2148
  const response = await this.privatePostAuthROrderSymbolIdTrades(this.extend(request, params));
2126
- return this.parseTrades(response, market, since, limit);
2149
+ const tradesList = [];
2150
+ for (let i = 0; i < response.length; i++) {
2151
+ tradesList.push({ 'result': response[i] }); // convert to array of dicts to match parseOrder signature
2152
+ }
2153
+ return this.parseTrades(tradesList, market, since, limit);
2127
2154
  }
2128
2155
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
2129
2156
  /**
@@ -2158,7 +2185,11 @@ export default class bitfinex2 extends Exchange {
2158
2185
  else {
2159
2186
  response = await this.privatePostAuthRTradesHist(this.extend(request, params));
2160
2187
  }
2161
- return this.parseTrades(response, market, since, limit);
2188
+ const tradesList = [];
2189
+ for (let i = 0; i < response.length; i++) {
2190
+ tradesList.push({ 'result': response[i] }); // convert to array of dicts to match parseOrder signature
2191
+ }
2192
+ return this.parseTrades(tradesList, market, since, limit);
2162
2193
  }
2163
2194
  async createDepositAddress(code, params = {}) {
2164
2195
  /**
@@ -2704,7 +2735,11 @@ export default class bitfinex2 extends Exchange {
2704
2735
  // ]
2705
2736
  // ]
2706
2737
  //
2707
- return this.parsePositions(response, symbols);
2738
+ const positionsList = [];
2739
+ for (let i = 0; i < response.length; i++) {
2740
+ positionsList.push({ 'result': response[i] });
2741
+ }
2742
+ return this.parsePositions(positionsList, symbols);
2708
2743
  }
2709
2744
  parsePosition(position, market = undefined) {
2710
2745
  //
@@ -2739,22 +2774,23 @@ export default class bitfinex2 extends Exchange {
2739
2774
  // }
2740
2775
  // ]
2741
2776
  //
2742
- const marketId = this.safeString(position, 0);
2743
- const amount = this.safeString(position, 2);
2744
- const timestamp = this.safeInteger(position, 12);
2745
- const meta = this.safeString(position, 19);
2777
+ const positionList = this.safeList(position, 'result');
2778
+ const marketId = this.safeString(positionList, 0);
2779
+ const amount = this.safeString(positionList, 2);
2780
+ const timestamp = this.safeInteger(positionList, 12);
2781
+ const meta = this.safeString(positionList, 19);
2746
2782
  const tradePrice = this.safeString(meta, 'trade_price');
2747
2783
  const tradeAmount = this.safeString(meta, 'trade_amount');
2748
2784
  return this.safePosition({
2749
- 'info': position,
2750
- 'id': this.safeString(position, 11),
2785
+ 'info': positionList,
2786
+ 'id': this.safeString(positionList, 11),
2751
2787
  'symbol': this.safeSymbol(marketId, market),
2752
2788
  'notional': this.parseNumber(amount),
2753
2789
  'marginMode': 'isolated',
2754
- 'liquidationPrice': this.safeNumber(position, 8),
2755
- 'entryPrice': this.safeNumber(position, 3),
2756
- 'unrealizedPnl': this.safeNumber(position, 6),
2757
- 'percentage': this.safeNumber(position, 7),
2790
+ 'liquidationPrice': this.safeNumber(positionList, 8),
2791
+ 'entryPrice': this.safeNumber(positionList, 3),
2792
+ 'unrealizedPnl': this.safeNumber(positionList, 6),
2793
+ 'percentage': this.safeNumber(positionList, 7),
2758
2794
  'contracts': undefined,
2759
2795
  'contractSize': undefined,
2760
2796
  'markPrice': undefined,
@@ -2763,13 +2799,13 @@ export default class bitfinex2 extends Exchange {
2763
2799
  'hedged': undefined,
2764
2800
  'timestamp': timestamp,
2765
2801
  'datetime': this.iso8601(timestamp),
2766
- 'lastUpdateTimestamp': this.safeInteger(position, 13),
2767
- 'maintenanceMargin': this.safeNumber(position, 18),
2802
+ 'lastUpdateTimestamp': this.safeInteger(positionList, 13),
2803
+ 'maintenanceMargin': this.safeNumber(positionList, 18),
2768
2804
  'maintenanceMarginPercentage': undefined,
2769
- 'collateral': this.safeNumber(position, 17),
2805
+ 'collateral': this.safeNumber(positionList, 17),
2770
2806
  'initialMargin': this.parseNumber(Precise.stringMul(tradeAmount, tradePrice)),
2771
2807
  'initialMarginPercentage': undefined,
2772
- 'leverage': this.safeNumber(position, 9),
2808
+ 'leverage': this.safeNumber(positionList, 9),
2773
2809
  'marginRatio': undefined,
2774
2810
  'stopLossPrice': undefined,
2775
2811
  'takeProfitPrice': undefined,
@@ -2879,14 +2915,15 @@ export default class bitfinex2 extends Exchange {
2879
2915
  // ]
2880
2916
  // ]
2881
2917
  //
2918
+ const itemList = this.safeList(item, 'result', []);
2882
2919
  let type = undefined;
2883
- const id = this.safeString(item, 0);
2884
- const currencyId = this.safeString(item, 1);
2920
+ const id = this.safeString(itemList, 0);
2921
+ const currencyId = this.safeString(itemList, 1);
2885
2922
  const code = this.safeCurrencyCode(currencyId, currency);
2886
- const timestamp = this.safeInteger(item, 3);
2887
- const amount = this.safeNumber(item, 5);
2888
- const after = this.safeNumber(item, 6);
2889
- const description = this.safeString(item, 8);
2923
+ const timestamp = this.safeInteger(itemList, 3);
2924
+ const amount = this.safeNumber(itemList, 5);
2925
+ const after = this.safeNumber(itemList, 6);
2926
+ const description = this.safeString(itemList, 8);
2890
2927
  if (description !== undefined) {
2891
2928
  const parts = description.split(' @ ');
2892
2929
  const first = this.safeStringLower(parts, 0);
@@ -2963,7 +3000,12 @@ export default class bitfinex2 extends Exchange {
2963
3000
  // ]
2964
3001
  // ]
2965
3002
  //
2966
- return this.parseLedger(response, currency, since, limit);
3003
+ const ledgerObjects = [];
3004
+ for (let i = 0; i < response.length; i++) {
3005
+ const item = response[i];
3006
+ ledgerObjects.push({ 'result': item });
3007
+ }
3008
+ return this.parseLedger(ledgerObjects, currency, since, limit);
2967
3009
  }
2968
3010
  async fetchFundingRate(symbol, params = {}) {
2969
3011
  /**
@@ -14,13 +14,13 @@ export default class bitflyer extends Exchange {
14
14
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
15
15
  parseTicker(ticker: Dict, market?: Market): Ticker;
16
16
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
17
- parseTrade(trade: any, market?: Market): Trade;
17
+ parseTrade(trade: Dict, market?: Market): Trade;
18
18
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
19
19
  fetchTradingFee(symbol: string, params?: {}): Promise<TradingFeeInterface>;
20
20
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
21
21
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
22
- parseOrderStatus(status: any): string;
23
- parseOrder(order: any, market?: Market): Order;
22
+ parseOrderStatus(status: Str): string;
23
+ parseOrder(order: Dict, market?: Market): Order;
24
24
  fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
25
25
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
26
26
  fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
@@ -32,7 +32,7 @@ export default class bitflyer extends Exchange {
32
32
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
33
33
  parseDepositStatus(status: any): string;
34
34
  parseWithdrawalStatus(status: any): string;
35
- parseTransaction(transaction: any, currency?: Currency): Transaction;
35
+ parseTransaction(transaction: Dict, currency?: Currency): Transaction;
36
36
  sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
37
37
  url: string;
38
38
  method: string;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/bitget.js';
2
- import type { Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, OrderRequest, FundingHistory, Balances, Str, Transaction, Ticker, OrderBook, Tickers, Market, Strings, Currency, Position, Liquidation, TransferEntry, Leverage, MarginMode, Num, MarginModification, TradingFeeInterface, Currencies, TradingFees, Conversion, CrossBorrowRate, IsolatedBorrowRate, Dict, TransferEntries } from './base/types.js';
2
+ import type { Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, OrderRequest, FundingHistory, Balances, Str, Transaction, Ticker, OrderBook, Tickers, Market, Strings, Currency, Position, Liquidation, TransferEntry, Leverage, MarginMode, Num, MarginModification, TradingFeeInterface, Currencies, TradingFees, Conversion, CrossBorrowRate, IsolatedBorrowRate, Dict, TransferEntries, LeverageTier } from './base/types.js';
3
3
  /**
4
4
  * @class bitget
5
5
  * @augments Exchange
@@ -14,12 +14,12 @@ export default class bitget extends Exchange {
14
14
  parseMarket(market: any): Market;
15
15
  fetchMarketsByType(type: any, params?: {}): Promise<import("./base/types.js").MarketInterface[]>;
16
16
  fetchCurrencies(params?: {}): Promise<Currencies>;
17
- fetchMarketLeverageTiers(symbol: string, params?: {}): Promise<any[]>;
18
- parseMarketLeverageTiers(info: any, market?: Market): any[];
17
+ fetchMarketLeverageTiers(symbol: string, params?: {}): Promise<LeverageTier[]>;
18
+ parseMarketLeverageTiers(info: any, market?: Market): LeverageTier[];
19
19
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
20
20
  withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
21
21
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
22
- parseTransaction(transaction: any, currency?: Currency): Transaction;
22
+ parseTransaction(transaction: Dict, currency?: Currency): Transaction;
23
23
  parseTransactionStatus(status: any): string;
24
24
  fetchDepositAddress(code: string, params?: {}): Promise<{
25
25
  currency: string;
@@ -39,7 +39,7 @@ export default class bitget extends Exchange {
39
39
  parseTicker(ticker: Dict, market?: Market): Ticker;
40
40
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
41
41
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
42
- parseTrade(trade: any, market?: Market): Trade;
42
+ parseTrade(trade: Dict, market?: Market): Trade;
43
43
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
44
44
  fetchTradingFee(symbol: string, params?: {}): Promise<TradingFeeInterface>;
45
45
  fetchTradingFees(params?: {}): Promise<TradingFees>;
@@ -55,8 +55,8 @@ export default class bitget extends Exchange {
55
55
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
56
56
  fetchBalance(params?: {}): Promise<Balances>;
57
57
  parseBalance(balance: any): Balances;
58
- parseOrderStatus(status: any): string;
59
- parseOrder(order: any, market?: Market): Order;
58
+ parseOrderStatus(status: Str): string;
59
+ parseOrder(order: Dict, market?: Market): Order;
60
60
  createMarketBuyOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
61
61
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
62
62
  createOrderRequest(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): any;
@@ -71,8 +71,8 @@ export default class bitget extends Exchange {
71
71
  fetchCanceledOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
72
72
  fetchCanceledAndClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
73
73
  fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
74
- parseLedgerEntry(item: any, currency?: Currency): {
75
- info: any;
74
+ parseLedgerEntry(item: Dict, currency?: Currency): {
75
+ info: Dict;
76
76
  id: string;
77
77
  timestamp: number;
78
78
  datetime: string;
@@ -92,7 +92,7 @@ export default class bitget extends Exchange {
92
92
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
93
93
  fetchPosition(symbol: string, params?: {}): Promise<Position>;
94
94
  fetchPositions(symbols?: Strings, params?: {}): Promise<Position[]>;
95
- parsePosition(position: any, market?: Market): Position;
95
+ parsePosition(position: Dict, market?: Market): Position;
96
96
  fetchFundingRateHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<FundingRateHistory[]>;
97
97
  fetchFundingRate(symbol: string, params?: {}): Promise<{
98
98
  info: any;
@@ -158,18 +158,7 @@ export default class bitget extends Exchange {
158
158
  transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
159
159
  parseTransfer(transfer: Dict, currency?: Currency): TransferEntry;
160
160
  parseTransferStatus(status: Str): Str;
161
- parseDepositWithdrawFee(fee: any, currency?: Currency): {
162
- info: any;
163
- withdraw: {
164
- fee: any;
165
- percentage: any;
166
- };
167
- deposit: {
168
- fee: any;
169
- percentage: any;
170
- };
171
- networks: {};
172
- };
161
+ parseDepositWithdrawFee(fee: any, currency?: Currency): Dict;
173
162
  fetchDepositWithdrawFees(codes?: Strings, params?: {}): Promise<any>;
174
163
  borrowCrossMargin(code: string, amount: number, params?: {}): Promise<{
175
164
  id: string;
@@ -230,7 +219,7 @@ export default class bitget extends Exchange {
230
219
  info: any;
231
220
  };
232
221
  fetchBorrowInterest(code?: Str, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
233
- parseBorrowInterest(info: any, market?: Market): {
222
+ parseBorrowInterest(info: Dict, market?: Market): {
234
223
  symbol: string;
235
224
  marginMode: string;
236
225
  currency: string;
@@ -239,12 +228,12 @@ export default class bitget extends Exchange {
239
228
  amountBorrowed: any;
240
229
  timestamp: number;
241
230
  datetime: string;
242
- info: any;
231
+ info: Dict;
243
232
  };
244
233
  closePosition(symbol: string, side?: OrderSide, params?: {}): Promise<Order>;
245
234
  closeAllPositions(params?: {}): Promise<Position[]>;
246
235
  fetchMarginMode(symbol: string, params?: {}): Promise<MarginMode>;
247
- parseMarginMode(marginMode: any, market?: any): MarginMode;
236
+ parseMarginMode(marginMode: Dict, market?: any): MarginMode;
248
237
  fetchPositionsHistory(symbols?: Strings, since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
249
238
  fetchConvertQuote(fromCode: string, toCode: string, amount?: Num, params?: {}): Promise<Conversion>;
250
239
  createConvertTrade(id: string, fromCode: string, toCode: string, amount?: Num, params?: {}): Promise<Conversion>;
@@ -17,17 +17,17 @@ export default class bithumb extends Exchange {
17
17
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
18
18
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
19
19
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
20
- parseTrade(trade: any, market?: Market): Trade;
20
+ parseTrade(trade: Dict, market?: Market): Trade;
21
21
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
22
22
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
23
23
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
24
- parseOrderStatus(status: any): string;
25
- parseOrder(order: any, market?: Market): Order;
24
+ parseOrderStatus(status: Str): string;
25
+ parseOrder(order: Dict, market?: Market): Order;
26
26
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
27
27
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
28
28
  cancelUnifiedOrder(order: any, params?: {}): Promise<any>;
29
29
  withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
30
- parseTransaction(transaction: any, currency?: Currency): Transaction;
30
+ parseTransaction(transaction: Dict, currency?: Currency): Transaction;
31
31
  fixCommaNumber(numberStr: any): any;
32
32
  nonce(): number;
33
33
  sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {