ccxt 4.1.13 → 4.1.14

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 (89) 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 +296 -106
  5. package/dist/ccxt.browser.min.js +3 -3
  6. package/dist/cjs/ccxt.js +1 -1
  7. package/dist/cjs/src/ascendex.js +1 -0
  8. package/dist/cjs/src/binance.js +6 -2
  9. package/dist/cjs/src/bingx.js +4 -2
  10. package/dist/cjs/src/bitget.js +192 -1
  11. package/dist/cjs/src/bitmart.js +2 -0
  12. package/dist/cjs/src/bittrex.js +6 -0
  13. package/dist/cjs/src/cex.js +1 -0
  14. package/dist/cjs/src/coinbase.js +1 -0
  15. package/dist/cjs/src/coinbasepro.js +1 -0
  16. package/dist/cjs/src/coinex.js +2 -0
  17. package/dist/cjs/src/coinfalcon.js +1 -0
  18. package/dist/cjs/src/coinmate.js +1 -0
  19. package/dist/cjs/src/coinone.js +2 -1
  20. package/dist/cjs/src/cryptocom.js +25 -87
  21. package/dist/cjs/src/currencycom.js +1 -0
  22. package/dist/cjs/src/delta.js +1 -0
  23. package/dist/cjs/src/deribit.js +1 -0
  24. package/dist/cjs/src/digifinex.js +1 -0
  25. package/dist/cjs/src/exmo.js +1 -0
  26. package/dist/cjs/src/gate.js +3 -0
  27. package/dist/cjs/src/gemini.js +1 -0
  28. package/dist/cjs/src/hitbtc.js +1 -0
  29. package/dist/cjs/src/hollaex.js +1 -0
  30. package/dist/cjs/src/huobijp.js +1 -0
  31. package/dist/cjs/src/idex.js +1 -0
  32. package/dist/cjs/src/independentreserve.js +1 -0
  33. package/dist/cjs/src/indodax.js +1 -0
  34. package/dist/cjs/src/kraken.js +9 -0
  35. package/dist/cjs/src/krakenfutures.js +1 -0
  36. package/dist/cjs/src/latoken.js +1 -0
  37. package/dist/cjs/src/poloniex.js +1 -0
  38. package/dist/cjs/src/poloniexfutures.js +8 -2
  39. package/dist/cjs/src/pro/krakenfutures.js +14 -10
  40. package/dist/cjs/src/woo.js +1 -0
  41. package/js/ccxt.d.ts +1 -1
  42. package/js/ccxt.js +1 -1
  43. package/js/src/abstract/binance.d.ts +4 -0
  44. package/js/src/abstract/binancecoinm.d.ts +4 -0
  45. package/js/src/abstract/binanceus.d.ts +4 -0
  46. package/js/src/abstract/binanceusdm.d.ts +4 -0
  47. package/js/src/abstract/kraken.d.ts +8 -0
  48. package/js/src/abstract/poloniexfutures.d.ts +6 -1
  49. package/js/src/ascendex.js +1 -0
  50. package/js/src/binance.js +6 -2
  51. package/js/src/bingx.js +4 -2
  52. package/js/src/bitget.d.ts +28 -0
  53. package/js/src/bitget.js +192 -1
  54. package/js/src/bitmart.js +2 -0
  55. package/js/src/bittrex.d.ts +2 -2
  56. package/js/src/bittrex.js +6 -0
  57. package/js/src/cex.js +1 -0
  58. package/js/src/coinbase.js +1 -0
  59. package/js/src/coinbasepro.js +1 -0
  60. package/js/src/coinex.js +2 -0
  61. package/js/src/coinfalcon.js +1 -0
  62. package/js/src/coinmate.js +1 -0
  63. package/js/src/coinone.js +2 -1
  64. package/js/src/cryptocom.d.ts +0 -2
  65. package/js/src/cryptocom.js +25 -87
  66. package/js/src/currencycom.js +1 -0
  67. package/js/src/delta.js +1 -0
  68. package/js/src/deribit.js +1 -0
  69. package/js/src/digifinex.js +1 -0
  70. package/js/src/exmo.js +1 -0
  71. package/js/src/gate.d.ts +1 -0
  72. package/js/src/gate.js +3 -0
  73. package/js/src/gemini.d.ts +1 -0
  74. package/js/src/gemini.js +1 -0
  75. package/js/src/hitbtc.js +1 -0
  76. package/js/src/hollaex.js +1 -0
  77. package/js/src/huobijp.js +1 -0
  78. package/js/src/idex.js +1 -0
  79. package/js/src/independentreserve.js +1 -0
  80. package/js/src/indodax.js +1 -0
  81. package/js/src/kraken.js +9 -0
  82. package/js/src/krakenfutures.js +1 -0
  83. package/js/src/latoken.js +1 -0
  84. package/js/src/poloniex.js +1 -0
  85. package/js/src/poloniexfutures.js +8 -2
  86. package/js/src/pro/krakenfutures.js +14 -10
  87. package/js/src/woo.js +1 -0
  88. package/package.json +1 -1
  89. package/skip-tests.json +33 -7
@@ -734,6 +734,7 @@ class hitbtc extends hitbtc$1 {
734
734
  'max': undefined,
735
735
  },
736
736
  },
737
+ 'created': undefined,
737
738
  'info': market,
738
739
  });
739
740
  }
@@ -312,6 +312,7 @@ class hollaex extends hollaex$1 {
312
312
  'max': undefined,
313
313
  },
314
314
  },
315
+ 'created': this.parse8601(this.safeString(market, 'created_at')),
315
316
  'info': market,
316
317
  });
317
318
  }
@@ -514,6 +514,7 @@ class huobijp extends huobijp$1 {
514
514
  'max': undefined,
515
515
  },
516
516
  },
517
+ 'created': undefined,
517
518
  'info': market,
518
519
  });
519
520
  }
@@ -309,6 +309,7 @@ class idex extends idex$1 {
309
309
  'max': undefined,
310
310
  },
311
311
  },
312
+ 'created': undefined,
312
313
  'info': entry,
313
314
  });
314
315
  }
@@ -211,6 +211,7 @@ class independentreserve extends independentreserve$1 {
211
211
  'max': undefined,
212
212
  },
213
213
  },
214
+ 'created': undefined,
214
215
  'info': id,
215
216
  });
216
217
  }
@@ -279,6 +279,7 @@ class indodax extends indodax$1 {
279
279
  'max': undefined,
280
280
  },
281
281
  },
282
+ 'created': undefined,
282
283
  'info': market,
283
284
  });
284
285
  }
@@ -153,6 +153,7 @@ class kraken extends kraken$1 {
153
153
  'Depth': 1,
154
154
  'OHLC': 1,
155
155
  'Spread': 1,
156
+ 'SystemStatus': 1,
156
157
  'Ticker': 1,
157
158
  'Time': 1,
158
159
  'Trades': 1,
@@ -165,6 +166,7 @@ class kraken extends kraken$1 {
165
166
  'AddExport': 3,
166
167
  'Balance': 3,
167
168
  'CancelAll': 3,
169
+ 'CancelAllOrdersAfter': 3,
168
170
  'CancelOrder': 0,
169
171
  'CancelOrderBatch': 0,
170
172
  'ClosedOrders': 6,
@@ -200,6 +202,13 @@ class kraken extends kraken$1 {
200
202
  // sub accounts
201
203
  'CreateSubaccount': 3,
202
204
  'AccountTransfer': 3,
205
+ // earn
206
+ 'Earn/Allocate': 3,
207
+ 'Earn/Deallocate': 3,
208
+ 'Earn/AllocateStatus': 3,
209
+ 'Earn/DeallocateStatus': 3,
210
+ 'Earn/Strategies': 3,
211
+ 'Earn/Allocations': 3,
203
212
  },
204
213
  },
205
214
  },
@@ -385,6 +385,7 @@ class krakenfutures extends krakenfutures$1 {
385
385
  'max': undefined,
386
386
  },
387
387
  },
388
+ 'created': this.parse8601(this.safeString(market, 'openingDate')),
388
389
  'info': market,
389
390
  });
390
391
  }
@@ -364,6 +364,7 @@ class latoken extends latoken$1 {
364
364
  'max': this.safeNumber(market, 'maxOrderCost' + capitalizedQuote),
365
365
  },
366
366
  },
367
+ 'created': this.safeInteger(market, 'created'),
367
368
  'info': market,
368
369
  });
369
370
  }
@@ -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');
@@ -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
  }
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.13";
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.14';
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>;
@@ -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
  }
package/js/src/binance.js CHANGED
@@ -250,7 +250,8 @@ export default class binance extends Exchange {
250
250
  'margin/exchange-small-liability-history': 0.6667,
251
251
  'margin/next-hourly-interest-rate': 0.6667,
252
252
  'margin/capital-flow': 10,
253
- 'margin/delist-schedule': 0.6667,
253
+ 'margin/delist-schedule': 10,
254
+ 'margin/available-inventory': 0.3334,
254
255
  'loan/vip/loanable/data': 40,
255
256
  'loan/vip/collateral/data': 40,
256
257
  'loan/vip/request/data': 2.6668,
@@ -641,7 +642,8 @@ export default class binance extends Exchange {
641
642
  'premiumIndexKlines': { 'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]] },
642
643
  'ticker/24hr': { 'cost': 1, 'noSymbol': 40 },
643
644
  'ticker/price': { 'cost': 1, 'noSymbol': 2 },
644
- 'ticker/bookTicker': { 'cost': 1, 'noSymbol': 2 },
645
+ 'ticker/bookTicker': { 'cost': 2, 'noSymbol': 5 },
646
+ 'constituents': 2,
645
647
  'openInterest': 1,
646
648
  },
647
649
  },
@@ -726,6 +728,8 @@ export default class binance extends Exchange {
726
728
  'ticker/bookTicker': { 'cost': 1, 'noSymbol': 2 },
727
729
  'openInterest': 1,
728
730
  'indexInfo': 1,
731
+ 'assetIndex': { 'cost': 1, 'noSymbol': 10 },
732
+ 'constituents': 2,
729
733
  'apiTradingStatus': { 'cost': 1, 'noSymbol': 10 },
730
734
  'lvtKlines': 1,
731
735
  },
package/js/src/bingx.js CHANGED
@@ -2700,8 +2700,10 @@ export default class bingx extends Exchange {
2700
2700
  const network = this.safeString(transaction, 'network');
2701
2701
  const currencyId = this.safeString(transaction, 'coin');
2702
2702
  let code = this.safeCurrencyCode(currencyId, currency);
2703
- if (code !== undefined && code.indexOf(network) >= 0) {
2704
- code = code.replace(network, '');
2703
+ if ((code !== undefined) && (code !== network) && code.indexOf(network) >= 0) {
2704
+ if (network !== undefined) {
2705
+ code = code.replace(network, '');
2706
+ }
2705
2707
  }
2706
2708
  const rawType = this.safeString(transaction, 'transferType');
2707
2709
  const type = (rawType === '0') ? 'deposit' : 'withdrawal';
@@ -58,6 +58,7 @@ export default class bitget extends Exchange {
58
58
  max: any;
59
59
  };
60
60
  };
61
+ created: any;
61
62
  info: any;
62
63
  };
63
64
  fetchMarketsByType(type: any, params?: {}): Promise<any[]>;
@@ -286,6 +287,33 @@ export default class bitget extends Exchange {
286
287
  fetchDepositWithdrawFees(codes?: string[], params?: {}): Promise<any>;
287
288
  parseTransferStatus(status: any): string;
288
289
  parseOpenInterest(interest: any, market?: any): import("./base/types.js").OpenInterest;
290
+ borrowMargin(code: string, amount: any, symbol?: string, params?: {}): Promise<{
291
+ id: string;
292
+ currency: any;
293
+ amount: number;
294
+ symbol: any;
295
+ timestamp: any;
296
+ datetime: any;
297
+ info: any;
298
+ }>;
299
+ repayMargin(code: string, amount: any, symbol?: string, params?: {}): Promise<{
300
+ id: string;
301
+ currency: any;
302
+ amount: number;
303
+ symbol: any;
304
+ timestamp: any;
305
+ datetime: any;
306
+ info: any;
307
+ }>;
308
+ parseMarginLoan(info: any, currency?: any): {
309
+ id: string;
310
+ currency: any;
311
+ amount: number;
312
+ symbol: any;
313
+ timestamp: any;
314
+ datetime: any;
315
+ info: any;
316
+ };
289
317
  handleErrors(code: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
290
318
  sign(path: any, api?: any[], method?: string, params?: {}, headers?: any, body?: any): {
291
319
  url: string;