ccxt 4.1.13 → 4.1.16

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 (152) hide show
  1. package/CHANGELOG.md +219 -0
  2. package/CONTRIBUTING.md +1 -0
  3. package/README.md +3 -3
  4. package/dist/ccxt.browser.js +539 -189
  5. package/dist/ccxt.browser.min.js +9 -9
  6. package/dist/cjs/ccxt.js +1 -1
  7. package/dist/cjs/src/ascendex.js +1 -0
  8. package/dist/cjs/src/base/Exchange.js +3 -0
  9. package/dist/cjs/src/binance.js +6 -2
  10. package/dist/cjs/src/bingx.js +5 -3
  11. package/dist/cjs/src/bitget.js +357 -64
  12. package/dist/cjs/src/bitmart.js +2 -0
  13. package/dist/cjs/src/bitmex.js +6 -3
  14. package/dist/cjs/src/bittrex.js +7 -0
  15. package/dist/cjs/src/btcalpha.js +2 -1
  16. package/dist/cjs/src/btcturk.js +3 -0
  17. package/dist/cjs/src/cex.js +1 -0
  18. package/dist/cjs/src/coinbase.js +1 -0
  19. package/dist/cjs/src/coinbasepro.js +1 -0
  20. package/dist/cjs/src/coinex.js +2 -0
  21. package/dist/cjs/src/coinfalcon.js +1 -0
  22. package/dist/cjs/src/coinmate.js +1 -0
  23. package/dist/cjs/src/coinone.js +15 -5
  24. package/dist/cjs/src/cryptocom.js +25 -87
  25. package/dist/cjs/src/currencycom.js +1 -0
  26. package/dist/cjs/src/delta.js +1 -0
  27. package/dist/cjs/src/deribit.js +1 -0
  28. package/dist/cjs/src/digifinex.js +10 -8
  29. package/dist/cjs/src/exmo.js +1 -0
  30. package/dist/cjs/src/gate.js +3 -0
  31. package/dist/cjs/src/gemini.js +1 -0
  32. package/dist/cjs/src/hitbtc.js +1 -0
  33. package/dist/cjs/src/hollaex.js +1 -0
  34. package/dist/cjs/src/huobi.js +8 -0
  35. package/dist/cjs/src/huobijp.js +1 -0
  36. package/dist/cjs/src/idex.js +1 -0
  37. package/dist/cjs/src/independentreserve.js +1 -0
  38. package/dist/cjs/src/indodax.js +1 -0
  39. package/dist/cjs/src/kraken.js +10 -0
  40. package/dist/cjs/src/krakenfutures.js +1 -0
  41. package/dist/cjs/src/kucoin.js +1 -0
  42. package/dist/cjs/src/kucoinfutures.js +1 -0
  43. package/dist/cjs/src/kuna.js +1 -0
  44. package/dist/cjs/src/latoken.js +1 -0
  45. package/dist/cjs/src/lbank.js +1 -0
  46. package/dist/cjs/src/lbank2.js +2 -0
  47. package/dist/cjs/src/luno.js +1 -0
  48. package/dist/cjs/src/lykke.js +2 -1
  49. package/dist/cjs/src/mercado.js +1 -0
  50. package/dist/cjs/src/mexc.js +4 -1
  51. package/dist/cjs/src/ndax.js +1 -0
  52. package/dist/cjs/src/novadax.js +1 -0
  53. package/dist/cjs/src/oceanex.js +1 -0
  54. package/dist/cjs/src/phemex.js +2 -0
  55. package/dist/cjs/src/poloniex.js +1 -0
  56. package/dist/cjs/src/poloniexfutures.js +8 -2
  57. package/dist/cjs/src/pro/krakenfutures.js +14 -10
  58. package/dist/cjs/src/probit.js +1 -0
  59. package/dist/cjs/src/tidex.js +1 -0
  60. package/dist/cjs/src/timex.js +1 -0
  61. package/dist/cjs/src/tokocrypto.js +1 -0
  62. package/dist/cjs/src/upbit.js +1 -0
  63. package/dist/cjs/src/wavesexchange.js +1 -0
  64. package/dist/cjs/src/wazirx.js +2 -1
  65. package/dist/cjs/src/whitebit.js +1 -0
  66. package/dist/cjs/src/woo.js +1 -0
  67. package/dist/cjs/src/yobit.js +1 -0
  68. package/dist/cjs/src/zaif.js +1 -0
  69. package/dist/cjs/src/zonda.js +1 -0
  70. package/js/ccxt.d.ts +1 -1
  71. package/js/ccxt.js +1 -1
  72. package/js/src/abstract/binance.d.ts +4 -0
  73. package/js/src/abstract/binancecoinm.d.ts +4 -0
  74. package/js/src/abstract/binanceus.d.ts +4 -0
  75. package/js/src/abstract/binanceusdm.d.ts +4 -0
  76. package/js/src/abstract/btcturk.d.ts +3 -0
  77. package/js/src/abstract/kraken.d.ts +8 -0
  78. package/js/src/abstract/poloniexfutures.d.ts +6 -1
  79. package/js/src/ascendex.js +1 -0
  80. package/js/src/base/Exchange.d.ts +1 -0
  81. package/js/src/base/Exchange.js +3 -0
  82. package/js/src/binance.js +6 -2
  83. package/js/src/bingx.js +5 -3
  84. package/js/src/bitget.d.ts +28 -0
  85. package/js/src/bitget.js +357 -64
  86. package/js/src/bitmart.js +2 -0
  87. package/js/src/bitmex.js +6 -3
  88. package/js/src/bittrex.d.ts +2 -2
  89. package/js/src/bittrex.js +7 -0
  90. package/js/src/btcalpha.js +2 -1
  91. package/js/src/btcturk.js +3 -0
  92. package/js/src/cex.js +1 -0
  93. package/js/src/coinbase.js +1 -0
  94. package/js/src/coinbasepro.js +1 -0
  95. package/js/src/coinex.js +2 -0
  96. package/js/src/coinfalcon.js +1 -0
  97. package/js/src/coinmate.js +1 -0
  98. package/js/src/coinone.js +15 -5
  99. package/js/src/cryptocom.d.ts +0 -2
  100. package/js/src/cryptocom.js +25 -87
  101. package/js/src/currencycom.js +1 -0
  102. package/js/src/delta.js +1 -0
  103. package/js/src/deribit.js +1 -0
  104. package/js/src/digifinex.d.ts +3 -28
  105. package/js/src/digifinex.js +10 -8
  106. package/js/src/exmo.js +1 -0
  107. package/js/src/gate.d.ts +1 -0
  108. package/js/src/gate.js +3 -0
  109. package/js/src/gemini.d.ts +1 -0
  110. package/js/src/gemini.js +1 -0
  111. package/js/src/hitbtc.js +1 -0
  112. package/js/src/hollaex.js +1 -0
  113. package/js/src/huobi.js +8 -0
  114. package/js/src/huobijp.js +1 -0
  115. package/js/src/idex.js +1 -0
  116. package/js/src/independentreserve.js +1 -0
  117. package/js/src/indodax.js +1 -0
  118. package/js/src/kraken.js +10 -0
  119. package/js/src/krakenfutures.js +1 -0
  120. package/js/src/kucoin.js +1 -0
  121. package/js/src/kucoinfutures.js +1 -0
  122. package/js/src/kuna.js +1 -0
  123. package/js/src/latoken.js +1 -0
  124. package/js/src/lbank.js +1 -0
  125. package/js/src/lbank2.js +2 -0
  126. package/js/src/luno.js +1 -0
  127. package/js/src/lykke.js +2 -1
  128. package/js/src/mercado.js +1 -0
  129. package/js/src/mexc.js +4 -1
  130. package/js/src/ndax.js +1 -0
  131. package/js/src/novadax.js +1 -0
  132. package/js/src/oceanex.js +1 -0
  133. package/js/src/phemex.d.ts +2 -0
  134. package/js/src/phemex.js +2 -0
  135. package/js/src/poloniex.js +1 -0
  136. package/js/src/poloniexfutures.js +8 -2
  137. package/js/src/pro/krakenfutures.js +14 -10
  138. package/js/src/probit.js +1 -0
  139. package/js/src/tidex.js +1 -0
  140. package/js/src/timex.d.ts +1 -0
  141. package/js/src/timex.js +1 -0
  142. package/js/src/tokocrypto.js +1 -0
  143. package/js/src/upbit.js +1 -0
  144. package/js/src/wavesexchange.js +1 -0
  145. package/js/src/wazirx.js +2 -1
  146. package/js/src/whitebit.js +1 -0
  147. package/js/src/woo.js +1 -0
  148. package/js/src/yobit.js +1 -0
  149. package/js/src/zaif.js +1 -0
  150. package/js/src/zonda.js +1 -0
  151. package/package.json +1 -1
  152. package/skip-tests.json +141 -12
@@ -240,6 +240,7 @@ class luno extends luno$1 {
240
240
  'max': undefined,
241
241
  },
242
242
  },
243
+ 'created': undefined,
243
244
  'info': market,
244
245
  });
245
246
  }
@@ -311,7 +311,6 @@ class lykke extends lykke$1 {
311
311
  'option': false,
312
312
  'contract': false,
313
313
  'active': true,
314
- 'info': market,
315
314
  'linear': undefined,
316
315
  'inverse': undefined,
317
316
  'contractSize': undefined,
@@ -341,6 +340,8 @@ class lykke extends lykke$1 {
341
340
  'max': undefined,
342
341
  },
343
342
  },
343
+ 'created': undefined,
344
+ 'info': market,
344
345
  });
345
346
  }
346
347
  return result;
@@ -236,6 +236,7 @@ class mercado extends mercado$1 {
236
236
  'max': undefined,
237
237
  },
238
238
  },
239
+ 'created': undefined,
239
240
  'info': coin,
240
241
  });
241
242
  }
@@ -1164,6 +1164,7 @@ class mexc extends mexc$1 {
1164
1164
  'max': maxQuoteAmount,
1165
1165
  },
1166
1166
  },
1167
+ 'created': undefined,
1167
1168
  'info': market,
1168
1169
  });
1169
1170
  }
@@ -1275,6 +1276,7 @@ class mexc extends mexc$1 {
1275
1276
  'max': undefined,
1276
1277
  },
1277
1278
  },
1279
+ 'created': undefined,
1278
1280
  'info': market,
1279
1281
  });
1280
1282
  }
@@ -2737,7 +2739,7 @@ class mexc extends mexc$1 {
2737
2739
  }
2738
2740
  const [marketType] = this.handleMarketTypeAndParams('fetchOrdersByState', market, params);
2739
2741
  if (marketType === 'spot') {
2740
- throw new errors.BadRequest(this.id + ' fetchOrdersByState() is not supported for ' + marketType);
2742
+ throw new errors.NotSupported(this.id + ' fetchOrdersByState() is not supported for ' + marketType);
2741
2743
  }
2742
2744
  else {
2743
2745
  request['states'] = state;
@@ -4041,6 +4043,7 @@ class mexc extends mexc$1 {
4041
4043
  * @returns {object} a dictionary of [leverage tiers structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#leverage-tiers-structure}, indexed by market symbols
4042
4044
  */
4043
4045
  await this.loadMarkets();
4046
+ symbols = this.marketSymbols(symbols, 'swap', true, true);
4044
4047
  const response = await this.contractPublicGetDetail(params);
4045
4048
  //
4046
4049
  // {
@@ -511,6 +511,7 @@ class ndax extends ndax$1 {
511
511
  'max': undefined,
512
512
  },
513
513
  },
514
+ 'created': undefined,
514
515
  'info': market,
515
516
  });
516
517
  }
@@ -300,6 +300,7 @@ class novadax extends novadax$1 {
300
300
  'max': undefined,
301
301
  },
302
302
  },
303
+ 'created': undefined,
303
304
  'info': market,
304
305
  });
305
306
  }
@@ -227,6 +227,7 @@ class oceanex extends oceanex$1 {
227
227
  'max': undefined,
228
228
  },
229
229
  },
230
+ 'created': undefined,
230
231
  'info': market,
231
232
  });
232
233
  }
@@ -600,6 +600,7 @@ class phemex extends phemex$1 {
600
600
  'max': this.parseNumber(this.safeString(market, 'maxOrderQty')),
601
601
  },
602
602
  },
603
+ 'created': undefined,
603
604
  'info': market,
604
605
  };
605
606
  }
@@ -698,6 +699,7 @@ class phemex extends phemex$1 {
698
699
  'max': this.parseSafeNumber(this.safeString(market, 'maxOrderValue')),
699
700
  },
700
701
  },
702
+ 'created': undefined,
701
703
  'info': market,
702
704
  };
703
705
  }
@@ -552,6 +552,7 @@ class poloniex extends poloniex$1 {
552
552
  'max': undefined,
553
553
  },
554
554
  },
555
+ 'created': this.safeInteger(market, 'tradableStartTime'),
555
556
  'info': market,
556
557
  });
557
558
  }
@@ -102,22 +102,27 @@ class poloniexfutures extends poloniexfutures$1 {
102
102
  'get': {
103
103
  'account-overview': 1,
104
104
  'transaction-history': 1,
105
+ 'maxActiveOrders': 1,
106
+ 'maxRiskLimit': 1,
107
+ 'userFeeRate': 1,
108
+ 'marginType/query': 1,
105
109
  'orders': 1,
106
110
  'stopOrders': 1,
107
111
  'recentDoneOrders': 1,
108
112
  'orders/{order-id}': 1,
113
+ 'clientOrderId/{clientOid}': 1,
109
114
  'fills': 1,
110
115
  'openOrderStatistics': 1,
111
116
  'position': 1.5,
112
117
  'positions': 1.5,
113
118
  'funding-history': 1,
114
- 'marginType/query': 1,
115
119
  },
116
120
  'post': {
117
121
  'orders': 1.5,
118
122
  'batchOrders': 1.5,
119
123
  'position/margin/auto-deposit-status': 1.5,
120
124
  'position/margin/deposit-margin': 1.5,
125
+ 'position/margin/withdraw-margin': 1.5,
121
126
  'bullet-private': 1,
122
127
  'marginType/change': 1,
123
128
  },
@@ -334,6 +339,7 @@ class poloniexfutures extends poloniexfutures$1 {
334
339
  'max': undefined,
335
340
  },
336
341
  },
342
+ 'created': this.safeInteger(market, 'firstOpenDate'),
337
343
  'info': market,
338
344
  });
339
345
  }
@@ -1258,7 +1264,7 @@ class poloniexfutures extends poloniexfutures$1 {
1258
1264
  }
1259
1265
  const request = {};
1260
1266
  if (!stop) {
1261
- request['status'] = status === 'open' ? 'active' : 'done';
1267
+ request['status'] = (status === 'open') ? 'active' : 'done';
1262
1268
  }
1263
1269
  else if (status !== 'open') {
1264
1270
  throw new errors.BadRequest(this.id + ' fetchOrdersByStatus() can only fetch untriggered stop orders');
@@ -99,6 +99,9 @@ class krakenfutures extends krakenfutures$1 {
99
99
  };
100
100
  const marketIds = [];
101
101
  let messageHash = name;
102
+ if (symbols === undefined) {
103
+ symbols = [];
104
+ }
102
105
  for (let i = 0; i < symbols.length; i++) {
103
106
  const symbol = symbols[i];
104
107
  marketIds.push(this.marketId(symbol));
@@ -164,6 +167,7 @@ class krakenfutures extends krakenfutures$1 {
164
167
  const method = this.safeString(this.options, 'watchTickerMethod', 'ticker'); // or ticker_lite
165
168
  const name = this.safeString2(params, 'method', 'watchTickerMethod', method);
166
169
  params = this.omit(params, ['watchTickerMethod', 'method']);
170
+ symbols = this.marketSymbols(symbols, undefined, false);
167
171
  return await this.subscribePublic(name, symbols, params);
168
172
  }
169
173
  async watchTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -315,7 +319,7 @@ class krakenfutures extends krakenfutures$1 {
315
319
  // }
316
320
  //
317
321
  const channel = this.safeString(message, 'feed');
318
- const marketId = this.safeStringLower(message, 'product_id');
322
+ const marketId = this.safeString(message, 'product_id');
319
323
  if (marketId !== undefined) {
320
324
  const market = this.market(marketId);
321
325
  const symbol = market['symbol'];
@@ -356,7 +360,7 @@ class krakenfutures extends krakenfutures$1 {
356
360
  // "price": 34893
357
361
  // }
358
362
  //
359
- const marketId = this.safeStringLower(trade, 'product_id');
363
+ const marketId = this.safeString(trade, 'product_id');
360
364
  market = this.safeMarket(marketId, market);
361
365
  const timestamp = this.safeInteger(trade, 'time');
362
366
  return this.safeTrade({
@@ -409,7 +413,7 @@ class krakenfutures extends krakenfutures$1 {
409
413
  // }
410
414
  //
411
415
  const timestamp = this.safeInteger(trade, 'tradeTime');
412
- const marketId = this.safeStringLower(trade, 'symbol');
416
+ const marketId = this.safeString(trade, 'symbol');
413
417
  return this.safeTrade({
414
418
  'info': trade,
415
419
  'id': this.safeString(trade, 'tradeId'),
@@ -488,7 +492,7 @@ class krakenfutures extends krakenfutures$1 {
488
492
  }
489
493
  const order = this.safeValue(message, 'order');
490
494
  if (order !== undefined) {
491
- const marketId = this.safeStringLower(order, 'instrument');
495
+ const marketId = this.safeString(order, 'instrument');
492
496
  const messageHash = 'orders';
493
497
  const symbol = this.safeSymbol(marketId);
494
498
  const orderId = this.safeString(order, 'order_id');
@@ -681,7 +685,7 @@ class krakenfutures extends krakenfutures$1 {
681
685
  status = 'cancelled';
682
686
  }
683
687
  }
684
- const marketId = this.safeStringLower(unparsedOrder, 'instrument');
688
+ const marketId = this.safeString(unparsedOrder, 'instrument');
685
689
  const timestamp = this.safeString(unparsedOrder, 'time');
686
690
  const direction = this.safeInteger(unparsedOrder, 'direction');
687
691
  return this.safeOrder({
@@ -762,7 +766,7 @@ class krakenfutures extends krakenfutures$1 {
762
766
  // "volumeQuote": 6899673.0
763
767
  // }
764
768
  //
765
- const marketId = this.safeStringLower(message, 'product_id');
769
+ const marketId = this.safeString(message, 'product_id');
766
770
  const feed = this.safeString(message, 'feed');
767
771
  if (marketId !== undefined) {
768
772
  const ticker = this.parseWsTicker(message);
@@ -823,7 +827,7 @@ class krakenfutures extends krakenfutures$1 {
823
827
  // "volumeQuote": 6899673.0
824
828
  // }
825
829
  //
826
- const marketId = this.safeStringLower(ticker, 'product_id');
830
+ const marketId = this.safeString(ticker, 'product_id');
827
831
  market = this.safeMarket(marketId, market);
828
832
  const symbol = market['symbol'];
829
833
  const timestamp = this.parse8601(this.safeString(ticker, 'lastTime'));
@@ -881,7 +885,7 @@ class krakenfutures extends krakenfutures$1 {
881
885
  // ]
882
886
  // }
883
887
  //
884
- const marketId = this.safeStringLower(message, 'product_id');
888
+ const marketId = this.safeString(message, 'product_id');
885
889
  const market = this.safeMarket(marketId);
886
890
  const symbol = market['symbol'];
887
891
  const messageHash = 'book:' + symbol;
@@ -921,7 +925,7 @@ class krakenfutures extends krakenfutures$1 {
921
925
  // "timestamp": 1612269953629
922
926
  // }
923
927
  //
924
- const marketId = this.safeStringLower(message, 'product_id');
928
+ const marketId = this.safeString(message, 'product_id');
925
929
  const market = this.safeMarket(marketId);
926
930
  const symbol = market['symbol'];
927
931
  const messageHash = 'book:' + symbol;
@@ -1225,7 +1229,7 @@ class krakenfutures extends krakenfutures$1 {
1225
1229
  // }
1226
1230
  //
1227
1231
  const timestamp = this.safeInteger(trade, 'time');
1228
- const marketId = this.safeStringLower(trade, 'instrument');
1232
+ const marketId = this.safeString(trade, 'instrument');
1229
1233
  market = this.safeMarket(marketId, market);
1230
1234
  const isBuy = this.safeValue(trade, 'buy');
1231
1235
  const feeCurrencyId = this.safeString(trade, 'fee_currency');
@@ -334,6 +334,7 @@ class probit extends probit$1 {
334
334
  'max': this.safeNumber(market, 'max_cost'),
335
335
  },
336
336
  },
337
+ 'created': undefined,
337
338
  'info': market,
338
339
  });
339
340
  }
@@ -334,6 +334,7 @@ class tidex extends tidex$1 {
334
334
  'max': undefined,
335
335
  },
336
336
  },
337
+ 'created': undefined,
337
338
  'info': market,
338
339
  });
339
340
  }
@@ -1234,6 +1234,7 @@ class timex extends timex$1 {
1234
1234
  'max': undefined,
1235
1235
  },
1236
1236
  },
1237
+ 'created': undefined,
1237
1238
  'info': market,
1238
1239
  };
1239
1240
  }
@@ -735,6 +735,7 @@ class tokocrypto extends tokocrypto$1 {
735
735
  'max': undefined,
736
736
  },
737
737
  },
738
+ 'created': undefined,
738
739
  'info': market,
739
740
  };
740
741
  if ('PRICE_FILTER' in filtersByType) {
@@ -470,6 +470,7 @@ class upbit extends upbit$1 {
470
470
  'max': undefined,
471
471
  },
472
472
  },
473
+ 'created': undefined,
473
474
  'info': market,
474
475
  });
475
476
  }
@@ -578,6 +578,7 @@ class wavesexchange extends wavesexchange$1 {
578
578
  'max': undefined,
579
579
  },
580
580
  },
581
+ 'created': undefined,
581
582
  'info': entry,
582
583
  });
583
584
  }
@@ -261,6 +261,7 @@ class wazirx extends wazirx$1 {
261
261
  'max': undefined,
262
262
  },
263
263
  },
264
+ 'created': undefined,
264
265
  'info': market,
265
266
  });
266
267
  }
@@ -589,7 +590,7 @@ class wazirx extends wazirx$1 {
589
590
  }, market);
590
591
  }
591
592
  parseBalance(response) {
592
- const result = {};
593
+ const result = { 'info': response };
593
594
  for (let i = 0; i < response.length; i++) {
594
595
  const balance = response[i];
595
596
  const id = this.safeString(balance, 'asset');
@@ -384,6 +384,7 @@ class whitebit extends whitebit$1 {
384
384
  'max': this.safeNumber(market, 'maxTotal'),
385
385
  },
386
386
  },
387
+ 'created': undefined,
387
388
  'info': market,
388
389
  };
389
390
  result.push(entry);
@@ -400,6 +400,7 @@ class woo extends woo$1 {
400
400
  'max': undefined,
401
401
  },
402
402
  },
403
+ 'created': this.safeIntegerProduct(market, 'created_time', 1000),
403
404
  'info': market,
404
405
  });
405
406
  }
@@ -427,6 +427,7 @@ class yobit extends yobit$1 {
427
427
  'max': undefined,
428
428
  },
429
429
  },
430
+ 'created': undefined,
430
431
  'info': market,
431
432
  });
432
433
  }
@@ -236,6 +236,7 @@ class zaif extends zaif$1 {
236
236
  'max': undefined,
237
237
  },
238
238
  },
239
+ 'created': undefined,
239
240
  'info': market,
240
241
  });
241
242
  }
@@ -385,6 +385,7 @@ class zonda extends zonda$1 {
385
385
  'max': undefined,
386
386
  },
387
387
  },
388
+ 'created': undefined,
388
389
  'info': item,
389
390
  });
390
391
  }
package/js/ccxt.d.ts CHANGED
@@ -4,7 +4,7 @@ import * as functions from './src/base/functions.js';
4
4
  import * as errors from './src/base/errors.js';
5
5
  import { Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory, Liquidation } from './src/base/types.js';
6
6
  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';
7
- declare const version = "4.1.12";
7
+ declare const version = "4.1.15";
8
8
  import ace from './src/ace.js';
9
9
  import alpaca from './src/alpaca.js';
10
10
  import ascendex from './src/ascendex.js';
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.1.13';
41
+ const version = '4.1.16';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import ace from './src/ace.js';
@@ -51,6 +51,7 @@ interface Exchange {
51
51
  sapiGetMarginNextHourlyInterestRate(params?: {}): Promise<implicitReturnType>;
52
52
  sapiGetMarginCapitalFlow(params?: {}): Promise<implicitReturnType>;
53
53
  sapiGetMarginDelistSchedule(params?: {}): Promise<implicitReturnType>;
54
+ sapiGetMarginAvailableInventory(params?: {}): Promise<implicitReturnType>;
54
55
  sapiGetLoanVipLoanableData(params?: {}): Promise<implicitReturnType>;
55
56
  sapiGetLoanVipCollateralData(params?: {}): Promise<implicitReturnType>;
56
57
  sapiGetLoanVipRequestData(params?: {}): Promise<implicitReturnType>;
@@ -384,6 +385,7 @@ interface Exchange {
384
385
  dapiPublicGetTicker24hr(params?: {}): Promise<implicitReturnType>;
385
386
  dapiPublicGetTickerPrice(params?: {}): Promise<implicitReturnType>;
386
387
  dapiPublicGetTickerBookTicker(params?: {}): Promise<implicitReturnType>;
388
+ dapiPublicGetConstituents(params?: {}): Promise<implicitReturnType>;
387
389
  dapiPublicGetOpenInterest(params?: {}): Promise<implicitReturnType>;
388
390
  dapiDataGetOpenInterestHist(params?: {}): Promise<implicitReturnType>;
389
391
  dapiDataGetTopLongShortAccountRatio(params?: {}): Promise<implicitReturnType>;
@@ -446,6 +448,8 @@ interface Exchange {
446
448
  fapiPublicGetTickerBookTicker(params?: {}): Promise<implicitReturnType>;
447
449
  fapiPublicGetOpenInterest(params?: {}): Promise<implicitReturnType>;
448
450
  fapiPublicGetIndexInfo(params?: {}): Promise<implicitReturnType>;
451
+ fapiPublicGetAssetIndex(params?: {}): Promise<implicitReturnType>;
452
+ fapiPublicGetConstituents(params?: {}): Promise<implicitReturnType>;
449
453
  fapiPublicGetApiTradingStatus(params?: {}): Promise<implicitReturnType>;
450
454
  fapiPublicGetLvtKlines(params?: {}): Promise<implicitReturnType>;
451
455
  fapiDataGetOpenInterestHist(params?: {}): Promise<implicitReturnType>;
@@ -51,6 +51,7 @@ interface binance {
51
51
  sapiGetMarginNextHourlyInterestRate(params?: {}): Promise<implicitReturnType>;
52
52
  sapiGetMarginCapitalFlow(params?: {}): Promise<implicitReturnType>;
53
53
  sapiGetMarginDelistSchedule(params?: {}): Promise<implicitReturnType>;
54
+ sapiGetMarginAvailableInventory(params?: {}): Promise<implicitReturnType>;
54
55
  sapiGetLoanVipLoanableData(params?: {}): Promise<implicitReturnType>;
55
56
  sapiGetLoanVipCollateralData(params?: {}): Promise<implicitReturnType>;
56
57
  sapiGetLoanVipRequestData(params?: {}): Promise<implicitReturnType>;
@@ -384,6 +385,7 @@ interface binance {
384
385
  dapiPublicGetTicker24hr(params?: {}): Promise<implicitReturnType>;
385
386
  dapiPublicGetTickerPrice(params?: {}): Promise<implicitReturnType>;
386
387
  dapiPublicGetTickerBookTicker(params?: {}): Promise<implicitReturnType>;
388
+ dapiPublicGetConstituents(params?: {}): Promise<implicitReturnType>;
387
389
  dapiPublicGetOpenInterest(params?: {}): Promise<implicitReturnType>;
388
390
  dapiDataGetOpenInterestHist(params?: {}): Promise<implicitReturnType>;
389
391
  dapiDataGetTopLongShortAccountRatio(params?: {}): Promise<implicitReturnType>;
@@ -446,6 +448,8 @@ interface binance {
446
448
  fapiPublicGetTickerBookTicker(params?: {}): Promise<implicitReturnType>;
447
449
  fapiPublicGetOpenInterest(params?: {}): Promise<implicitReturnType>;
448
450
  fapiPublicGetIndexInfo(params?: {}): Promise<implicitReturnType>;
451
+ fapiPublicGetAssetIndex(params?: {}): Promise<implicitReturnType>;
452
+ fapiPublicGetConstituents(params?: {}): Promise<implicitReturnType>;
449
453
  fapiPublicGetApiTradingStatus(params?: {}): Promise<implicitReturnType>;
450
454
  fapiPublicGetLvtKlines(params?: {}): Promise<implicitReturnType>;
451
455
  fapiDataGetOpenInterestHist(params?: {}): Promise<implicitReturnType>;
@@ -51,6 +51,7 @@ interface binance {
51
51
  sapiGetMarginNextHourlyInterestRate(params?: {}): Promise<implicitReturnType>;
52
52
  sapiGetMarginCapitalFlow(params?: {}): Promise<implicitReturnType>;
53
53
  sapiGetMarginDelistSchedule(params?: {}): Promise<implicitReturnType>;
54
+ sapiGetMarginAvailableInventory(params?: {}): Promise<implicitReturnType>;
54
55
  sapiGetLoanVipLoanableData(params?: {}): Promise<implicitReturnType>;
55
56
  sapiGetLoanVipCollateralData(params?: {}): Promise<implicitReturnType>;
56
57
  sapiGetLoanVipRequestData(params?: {}): Promise<implicitReturnType>;
@@ -384,6 +385,7 @@ interface binance {
384
385
  dapiPublicGetTicker24hr(params?: {}): Promise<implicitReturnType>;
385
386
  dapiPublicGetTickerPrice(params?: {}): Promise<implicitReturnType>;
386
387
  dapiPublicGetTickerBookTicker(params?: {}): Promise<implicitReturnType>;
388
+ dapiPublicGetConstituents(params?: {}): Promise<implicitReturnType>;
387
389
  dapiPublicGetOpenInterest(params?: {}): Promise<implicitReturnType>;
388
390
  dapiDataGetOpenInterestHist(params?: {}): Promise<implicitReturnType>;
389
391
  dapiDataGetTopLongShortAccountRatio(params?: {}): Promise<implicitReturnType>;
@@ -446,6 +448,8 @@ interface binance {
446
448
  fapiPublicGetTickerBookTicker(params?: {}): Promise<implicitReturnType>;
447
449
  fapiPublicGetOpenInterest(params?: {}): Promise<implicitReturnType>;
448
450
  fapiPublicGetIndexInfo(params?: {}): Promise<implicitReturnType>;
451
+ fapiPublicGetAssetIndex(params?: {}): Promise<implicitReturnType>;
452
+ fapiPublicGetConstituents(params?: {}): Promise<implicitReturnType>;
449
453
  fapiPublicGetApiTradingStatus(params?: {}): Promise<implicitReturnType>;
450
454
  fapiPublicGetLvtKlines(params?: {}): Promise<implicitReturnType>;
451
455
  fapiDataGetOpenInterestHist(params?: {}): Promise<implicitReturnType>;
@@ -51,6 +51,7 @@ interface binance {
51
51
  sapiGetMarginNextHourlyInterestRate(params?: {}): Promise<implicitReturnType>;
52
52
  sapiGetMarginCapitalFlow(params?: {}): Promise<implicitReturnType>;
53
53
  sapiGetMarginDelistSchedule(params?: {}): Promise<implicitReturnType>;
54
+ sapiGetMarginAvailableInventory(params?: {}): Promise<implicitReturnType>;
54
55
  sapiGetLoanVipLoanableData(params?: {}): Promise<implicitReturnType>;
55
56
  sapiGetLoanVipCollateralData(params?: {}): Promise<implicitReturnType>;
56
57
  sapiGetLoanVipRequestData(params?: {}): Promise<implicitReturnType>;
@@ -384,6 +385,7 @@ interface binance {
384
385
  dapiPublicGetTicker24hr(params?: {}): Promise<implicitReturnType>;
385
386
  dapiPublicGetTickerPrice(params?: {}): Promise<implicitReturnType>;
386
387
  dapiPublicGetTickerBookTicker(params?: {}): Promise<implicitReturnType>;
388
+ dapiPublicGetConstituents(params?: {}): Promise<implicitReturnType>;
387
389
  dapiPublicGetOpenInterest(params?: {}): Promise<implicitReturnType>;
388
390
  dapiDataGetOpenInterestHist(params?: {}): Promise<implicitReturnType>;
389
391
  dapiDataGetTopLongShortAccountRatio(params?: {}): Promise<implicitReturnType>;
@@ -446,6 +448,8 @@ interface binance {
446
448
  fapiPublicGetTickerBookTicker(params?: {}): Promise<implicitReturnType>;
447
449
  fapiPublicGetOpenInterest(params?: {}): Promise<implicitReturnType>;
448
450
  fapiPublicGetIndexInfo(params?: {}): Promise<implicitReturnType>;
451
+ fapiPublicGetAssetIndex(params?: {}): Promise<implicitReturnType>;
452
+ fapiPublicGetConstituents(params?: {}): Promise<implicitReturnType>;
449
453
  fapiPublicGetApiTradingStatus(params?: {}): Promise<implicitReturnType>;
450
454
  fapiPublicGetLvtKlines(params?: {}): Promise<implicitReturnType>;
451
455
  fapiDataGetOpenInterestHist(params?: {}): Promise<implicitReturnType>;
@@ -4,11 +4,14 @@ interface Exchange {
4
4
  publicGetOrderbook(params?: {}): Promise<implicitReturnType>;
5
5
  publicGetTicker(params?: {}): Promise<implicitReturnType>;
6
6
  publicGetTrades(params?: {}): Promise<implicitReturnType>;
7
+ publicGetOhlc(params?: {}): Promise<implicitReturnType>;
7
8
  publicGetServerExchangeinfo(params?: {}): Promise<implicitReturnType>;
8
9
  privateGetUsersBalances(params?: {}): Promise<implicitReturnType>;
9
10
  privateGetOpenOrders(params?: {}): Promise<implicitReturnType>;
10
11
  privateGetAllOrders(params?: {}): Promise<implicitReturnType>;
11
12
  privateGetUsersTransactionsTrade(params?: {}): Promise<implicitReturnType>;
13
+ privatePostUsersTransactionsCrypto(params?: {}): Promise<implicitReturnType>;
14
+ privatePostUsersTransactionsFiat(params?: {}): Promise<implicitReturnType>;
12
15
  privatePostOrder(params?: {}): Promise<implicitReturnType>;
13
16
  privatePostCancelOrder(params?: {}): Promise<implicitReturnType>;
14
17
  privateDeleteOrder(params?: {}): Promise<implicitReturnType>;
@@ -8,6 +8,7 @@ interface Exchange {
8
8
  publicGetDepth(params?: {}): Promise<implicitReturnType>;
9
9
  publicGetOHLC(params?: {}): Promise<implicitReturnType>;
10
10
  publicGetSpread(params?: {}): Promise<implicitReturnType>;
11
+ publicGetSystemStatus(params?: {}): Promise<implicitReturnType>;
11
12
  publicGetTicker(params?: {}): Promise<implicitReturnType>;
12
13
  publicGetTime(params?: {}): Promise<implicitReturnType>;
13
14
  publicGetTrades(params?: {}): Promise<implicitReturnType>;
@@ -16,6 +17,7 @@ interface Exchange {
16
17
  privatePostAddExport(params?: {}): Promise<implicitReturnType>;
17
18
  privatePostBalance(params?: {}): Promise<implicitReturnType>;
18
19
  privatePostCancelAll(params?: {}): Promise<implicitReturnType>;
20
+ privatePostCancelAllOrdersAfter(params?: {}): Promise<implicitReturnType>;
19
21
  privatePostCancelOrder(params?: {}): Promise<implicitReturnType>;
20
22
  privatePostCancelOrderBatch(params?: {}): Promise<implicitReturnType>;
21
23
  privatePostClosedOrders(params?: {}): Promise<implicitReturnType>;
@@ -49,6 +51,12 @@ interface Exchange {
49
51
  privatePostStakingTransactions(params?: {}): Promise<implicitReturnType>;
50
52
  privatePostCreateSubaccount(params?: {}): Promise<implicitReturnType>;
51
53
  privatePostAccountTransfer(params?: {}): Promise<implicitReturnType>;
54
+ privatePostEarnAllocate(params?: {}): Promise<implicitReturnType>;
55
+ privatePostEarnDeallocate(params?: {}): Promise<implicitReturnType>;
56
+ privatePostEarnAllocateStatus(params?: {}): Promise<implicitReturnType>;
57
+ privatePostEarnDeallocateStatus(params?: {}): Promise<implicitReturnType>;
58
+ privatePostEarnStrategies(params?: {}): Promise<implicitReturnType>;
59
+ privatePostEarnAllocations(params?: {}): Promise<implicitReturnType>;
52
60
  }
53
61
  declare abstract class Exchange extends _Exchange {
54
62
  }
@@ -21,20 +21,25 @@ interface Exchange {
21
21
  publicPostBulletPublic(params?: {}): Promise<implicitReturnType>;
22
22
  privateGetAccountOverview(params?: {}): Promise<implicitReturnType>;
23
23
  privateGetTransactionHistory(params?: {}): Promise<implicitReturnType>;
24
+ privateGetMaxActiveOrders(params?: {}): Promise<implicitReturnType>;
25
+ privateGetMaxRiskLimit(params?: {}): Promise<implicitReturnType>;
26
+ privateGetUserFeeRate(params?: {}): Promise<implicitReturnType>;
27
+ privateGetMarginTypeQuery(params?: {}): Promise<implicitReturnType>;
24
28
  privateGetOrders(params?: {}): Promise<implicitReturnType>;
25
29
  privateGetStopOrders(params?: {}): Promise<implicitReturnType>;
26
30
  privateGetRecentDoneOrders(params?: {}): Promise<implicitReturnType>;
27
31
  privateGetOrdersOrderId(params?: {}): Promise<implicitReturnType>;
32
+ privateGetClientOrderIdClientOid(params?: {}): Promise<implicitReturnType>;
28
33
  privateGetFills(params?: {}): Promise<implicitReturnType>;
29
34
  privateGetOpenOrderStatistics(params?: {}): Promise<implicitReturnType>;
30
35
  privateGetPosition(params?: {}): Promise<implicitReturnType>;
31
36
  privateGetPositions(params?: {}): Promise<implicitReturnType>;
32
37
  privateGetFundingHistory(params?: {}): Promise<implicitReturnType>;
33
- privateGetMarginTypeQuery(params?: {}): Promise<implicitReturnType>;
34
38
  privatePostOrders(params?: {}): Promise<implicitReturnType>;
35
39
  privatePostBatchOrders(params?: {}): Promise<implicitReturnType>;
36
40
  privatePostPositionMarginAutoDepositStatus(params?: {}): Promise<implicitReturnType>;
37
41
  privatePostPositionMarginDepositMargin(params?: {}): Promise<implicitReturnType>;
42
+ privatePostPositionMarginWithdrawMargin(params?: {}): Promise<implicitReturnType>;
38
43
  privatePostBulletPrivate(params?: {}): Promise<implicitReturnType>;
39
44
  privatePostMarginTypeChange(params?: {}): Promise<implicitReturnType>;
40
45
  privateDeleteOrdersOrderId(params?: {}): Promise<implicitReturnType>;
@@ -668,6 +668,7 @@ export default class ascendex extends Exchange {
668
668
  'max': this.safeNumber(market, 'maxNotional'),
669
669
  },
670
670
  },
671
+ 'created': this.safeInteger(market, 'tradingStartTime'),
671
672
  'info': market,
672
673
  });
673
674
  }
@@ -516,6 +516,7 @@ export default class Exchange {
516
516
  close(): Promise<any[]>;
517
517
  loadOrderBook(client: any, messageHash: any, symbol: any, limit?: any, params?: {}): Promise<void>;
518
518
  convertToBigInt(value: string): bigint;
519
+ stringToCharsArray(value: any): any;
519
520
  valueIsDefined(value: any): boolean;
520
521
  arraySlice(array: any, first: any, second?: any): any;
521
522
  getProperty(obj: any, property: any, defaultValue?: any): any;
@@ -1050,6 +1050,9 @@ export default class Exchange {
1050
1050
  convertToBigInt(value) {
1051
1051
  return BigInt(value); // used on XT
1052
1052
  }
1053
+ stringToCharsArray(value) {
1054
+ return value.split('');
1055
+ }
1053
1056
  valueIsDefined(value) {
1054
1057
  return value !== undefined && value !== null;
1055
1058
  }