ccxt 4.3.68 → 4.3.69

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 (47) hide show
  1. package/README.md +5 -5
  2. package/dist/ccxt.browser.min.js +2 -2
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/base/Exchange.js +359 -353
  5. package/dist/cjs/src/bingx.js +134 -75
  6. package/dist/cjs/src/btcbox.js +2 -1
  7. package/dist/cjs/src/coinbaseinternational.js +79 -1
  8. package/dist/cjs/src/hyperliquid.js +0 -3
  9. package/dist/cjs/src/kucoin.js +12 -5
  10. package/dist/cjs/src/oxfun.js +2 -2
  11. package/dist/cjs/src/poloniex.js +33 -33
  12. package/dist/cjs/src/poloniexfutures.js +26 -26
  13. package/dist/cjs/src/pro/poloniex.js +13 -13
  14. package/dist/cjs/src/pro/poloniexfutures.js +5 -5
  15. package/js/ccxt.d.ts +3 -3
  16. package/js/ccxt.js +1 -1
  17. package/js/src/base/Exchange.d.ts +107 -82
  18. package/js/src/base/Exchange.js +359 -353
  19. package/js/src/base/types.d.ts +0 -2
  20. package/js/src/binance.d.ts +2 -2
  21. package/js/src/bingx.d.ts +2 -2
  22. package/js/src/bingx.js +134 -75
  23. package/js/src/bitget.d.ts +2 -2
  24. package/js/src/bitmart.d.ts +2 -2
  25. package/js/src/bitrue.d.ts +2 -2
  26. package/js/src/btcbox.js +2 -1
  27. package/js/src/bybit.d.ts +2 -2
  28. package/js/src/coinbaseinternational.d.ts +11 -0
  29. package/js/src/coinbaseinternational.js +79 -1
  30. package/js/src/coinex.d.ts +2 -2
  31. package/js/src/coinlist.d.ts +2 -2
  32. package/js/src/deribit.d.ts +2 -2
  33. package/js/src/digifinex.d.ts +2 -2
  34. package/js/src/hyperliquid.js +0 -3
  35. package/js/src/kucoin.js +12 -5
  36. package/js/src/latoken.d.ts +2 -2
  37. package/js/src/mexc.d.ts +2 -2
  38. package/js/src/okx.d.ts +2 -2
  39. package/js/src/oxfun.d.ts +1 -1
  40. package/js/src/oxfun.js +2 -2
  41. package/js/src/phemex.d.ts +2 -2
  42. package/js/src/poloniex.js +33 -33
  43. package/js/src/poloniexfutures.js +26 -26
  44. package/js/src/pro/poloniex.js +13 -13
  45. package/js/src/pro/poloniexfutures.js +5 -5
  46. package/js/src/woo.d.ts +2 -2
  47. package/package.json +1 -1
@@ -33,6 +33,9 @@ export default class Exchange {
33
33
  this.throttleProp = undefined;
34
34
  this.sleep = sleep;
35
35
  this.api = undefined;
36
+ this.certified = false;
37
+ this.pro = false;
38
+ this.countries = undefined;
36
39
  this.userAgent = undefined;
37
40
  this.user_agent = undefined;
38
41
  //
@@ -72,6 +75,7 @@ export default class Exchange {
72
75
  this.myLiquidations = {};
73
76
  this.requiresWeb3 = false;
74
77
  this.requiresEddsa = false;
78
+ this.precision = undefined;
75
79
  this.enableLastJsonResponse = true;
76
80
  this.enableLastHttpResponse = true;
77
81
  this.enableLastResponseHeaders = true;
@@ -90,6 +94,7 @@ export default class Exchange {
90
94
  this.throttler = undefined;
91
95
  this.enableRateLimit = undefined;
92
96
  this.httpExceptions = undefined;
97
+ this.limits = undefined;
93
98
  this.markets_by_id = undefined;
94
99
  this.symbols = undefined;
95
100
  this.ids = undefined;
@@ -344,319 +349,6 @@ export default class Exchange {
344
349
  this.setSandboxMode(isSandbox);
345
350
  }
346
351
  }
347
- describe() {
348
- return {
349
- 'id': undefined,
350
- 'name': undefined,
351
- 'countries': undefined,
352
- 'enableRateLimit': true,
353
- 'rateLimit': 2000,
354
- 'certified': false,
355
- 'pro': false,
356
- 'alias': false,
357
- 'dex': false,
358
- 'has': {
359
- 'publicAPI': true,
360
- 'privateAPI': true,
361
- 'CORS': undefined,
362
- 'sandbox': undefined,
363
- 'spot': undefined,
364
- 'margin': undefined,
365
- 'swap': undefined,
366
- 'future': undefined,
367
- 'option': undefined,
368
- 'addMargin': undefined,
369
- 'borrowCrossMargin': undefined,
370
- 'borrowIsolatedMargin': undefined,
371
- 'borrowMargin': undefined,
372
- 'cancelAllOrders': undefined,
373
- 'cancelAllOrdersWs': undefined,
374
- 'cancelOrder': true,
375
- 'cancelOrderWs': undefined,
376
- 'cancelOrders': undefined,
377
- 'cancelOrdersWs': undefined,
378
- 'closeAllPositions': undefined,
379
- 'closePosition': undefined,
380
- 'createDepositAddress': undefined,
381
- 'createLimitBuyOrder': undefined,
382
- 'createLimitBuyOrderWs': undefined,
383
- 'createLimitOrder': true,
384
- 'createLimitOrderWs': undefined,
385
- 'createLimitSellOrder': undefined,
386
- 'createLimitSellOrderWs': undefined,
387
- 'createMarketBuyOrder': undefined,
388
- 'createMarketBuyOrderWs': undefined,
389
- 'createMarketBuyOrderWithCost': undefined,
390
- 'createMarketBuyOrderWithCostWs': undefined,
391
- 'createMarketOrder': true,
392
- 'createMarketOrderWs': true,
393
- 'createMarketOrderWithCost': undefined,
394
- 'createMarketOrderWithCostWs': undefined,
395
- 'createMarketSellOrder': undefined,
396
- 'createMarketSellOrderWs': undefined,
397
- 'createMarketSellOrderWithCost': undefined,
398
- 'createMarketSellOrderWithCostWs': undefined,
399
- 'createOrder': true,
400
- 'createOrderWs': undefined,
401
- 'createOrders': undefined,
402
- 'createOrderWithTakeProfitAndStopLoss': undefined,
403
- 'createOrderWithTakeProfitAndStopLossWs': undefined,
404
- 'createPostOnlyOrder': undefined,
405
- 'createPostOnlyOrderWs': undefined,
406
- 'createReduceOnlyOrder': undefined,
407
- 'createReduceOnlyOrderWs': undefined,
408
- 'createStopLimitOrder': undefined,
409
- 'createStopLimitOrderWs': undefined,
410
- 'createStopLossOrder': undefined,
411
- 'createStopLossOrderWs': undefined,
412
- 'createStopMarketOrder': undefined,
413
- 'createStopMarketOrderWs': undefined,
414
- 'createStopOrder': undefined,
415
- 'createStopOrderWs': undefined,
416
- 'createTakeProfitOrder': undefined,
417
- 'createTakeProfitOrderWs': undefined,
418
- 'createTrailingAmountOrder': undefined,
419
- 'createTrailingAmountOrderWs': undefined,
420
- 'createTrailingPercentOrder': undefined,
421
- 'createTrailingPercentOrderWs': undefined,
422
- 'createTriggerOrder': undefined,
423
- 'createTriggerOrderWs': undefined,
424
- 'deposit': undefined,
425
- 'editOrder': 'emulated',
426
- 'editOrderWs': undefined,
427
- 'fetchAccounts': undefined,
428
- 'fetchBalance': true,
429
- 'fetchBalanceWs': undefined,
430
- 'fetchBidsAsks': undefined,
431
- 'fetchBorrowInterest': undefined,
432
- 'fetchBorrowRate': undefined,
433
- 'fetchBorrowRateHistories': undefined,
434
- 'fetchBorrowRateHistory': undefined,
435
- 'fetchBorrowRates': undefined,
436
- 'fetchBorrowRatesPerSymbol': undefined,
437
- 'fetchCanceledAndClosedOrders': undefined,
438
- 'fetchCanceledOrders': undefined,
439
- 'fetchClosedOrder': undefined,
440
- 'fetchClosedOrders': undefined,
441
- 'fetchClosedOrdersWs': undefined,
442
- 'fetchConvertCurrencies': undefined,
443
- 'fetchConvertQuote': undefined,
444
- 'fetchConvertTrade': undefined,
445
- 'fetchConvertTradeHistory': undefined,
446
- 'fetchCrossBorrowRate': undefined,
447
- 'fetchCrossBorrowRates': undefined,
448
- 'fetchCurrencies': 'emulated',
449
- 'fetchCurrenciesWs': 'emulated',
450
- 'fetchDeposit': undefined,
451
- 'fetchDepositAddress': undefined,
452
- 'fetchDepositAddresses': undefined,
453
- 'fetchDepositAddressesByNetwork': undefined,
454
- 'fetchDeposits': undefined,
455
- 'fetchDepositsWithdrawals': undefined,
456
- 'fetchDepositsWs': undefined,
457
- 'fetchDepositWithdrawFee': undefined,
458
- 'fetchDepositWithdrawFees': undefined,
459
- 'fetchFundingHistory': undefined,
460
- 'fetchFundingRate': undefined,
461
- 'fetchFundingRateHistory': undefined,
462
- 'fetchFundingRates': undefined,
463
- 'fetchGreeks': undefined,
464
- 'fetchIndexOHLCV': undefined,
465
- 'fetchIsolatedBorrowRate': undefined,
466
- 'fetchIsolatedBorrowRates': undefined,
467
- 'fetchMarginAdjustmentHistory': undefined,
468
- 'fetchIsolatedPositions': undefined,
469
- 'fetchL2OrderBook': true,
470
- 'fetchL3OrderBook': undefined,
471
- 'fetchLastPrices': undefined,
472
- 'fetchLedger': undefined,
473
- 'fetchLedgerEntry': undefined,
474
- 'fetchLeverage': undefined,
475
- 'fetchLeverages': undefined,
476
- 'fetchLeverageTiers': undefined,
477
- 'fetchLiquidations': undefined,
478
- 'fetchMarginMode': undefined,
479
- 'fetchMarginModes': undefined,
480
- 'fetchMarketLeverageTiers': undefined,
481
- 'fetchMarkets': true,
482
- 'fetchMarketsWs': undefined,
483
- 'fetchMarkOHLCV': undefined,
484
- 'fetchMyLiquidations': undefined,
485
- 'fetchMySettlementHistory': undefined,
486
- 'fetchMyTrades': undefined,
487
- 'fetchMyTradesWs': undefined,
488
- 'fetchOHLCV': undefined,
489
- 'fetchOHLCVWs': undefined,
490
- 'fetchOpenInterest': undefined,
491
- 'fetchOpenInterestHistory': undefined,
492
- 'fetchOpenOrder': undefined,
493
- 'fetchOpenOrders': undefined,
494
- 'fetchOpenOrdersWs': undefined,
495
- 'fetchOption': undefined,
496
- 'fetchOptionChain': undefined,
497
- 'fetchOrder': undefined,
498
- 'fetchOrderBook': true,
499
- 'fetchOrderBooks': undefined,
500
- 'fetchOrderBookWs': undefined,
501
- 'fetchOrders': undefined,
502
- 'fetchOrdersByStatus': undefined,
503
- 'fetchOrdersWs': undefined,
504
- 'fetchOrderTrades': undefined,
505
- 'fetchOrderWs': undefined,
506
- 'fetchPermissions': undefined,
507
- 'fetchPosition': undefined,
508
- 'fetchPositionHistory': undefined,
509
- 'fetchPositionsHistory': undefined,
510
- 'fetchPositionWs': undefined,
511
- 'fetchPositionMode': undefined,
512
- 'fetchPositions': undefined,
513
- 'fetchPositionsWs': undefined,
514
- 'fetchPositionsForSymbol': undefined,
515
- 'fetchPositionsForSymbolWs': undefined,
516
- 'fetchPositionsRisk': undefined,
517
- 'fetchPremiumIndexOHLCV': undefined,
518
- 'fetchSettlementHistory': undefined,
519
- 'fetchStatus': undefined,
520
- 'fetchTicker': true,
521
- 'fetchTickerWs': undefined,
522
- 'fetchTickers': undefined,
523
- 'fetchTickersWs': undefined,
524
- 'fetchTime': undefined,
525
- 'fetchTrades': true,
526
- 'fetchTradesWs': undefined,
527
- 'fetchTradingFee': undefined,
528
- 'fetchTradingFees': undefined,
529
- 'fetchTradingFeesWs': undefined,
530
- 'fetchTradingLimits': undefined,
531
- 'fetchTransactionFee': undefined,
532
- 'fetchTransactionFees': undefined,
533
- 'fetchTransactions': undefined,
534
- 'fetchTransfer': undefined,
535
- 'fetchTransfers': undefined,
536
- 'fetchUnderlyingAssets': undefined,
537
- 'fetchVolatilityHistory': undefined,
538
- 'fetchWithdrawAddresses': undefined,
539
- 'fetchWithdrawal': undefined,
540
- 'fetchWithdrawals': undefined,
541
- 'fetchWithdrawalsWs': undefined,
542
- 'fetchWithdrawalWhitelist': undefined,
543
- 'reduceMargin': undefined,
544
- 'repayCrossMargin': undefined,
545
- 'repayIsolatedMargin': undefined,
546
- 'setLeverage': undefined,
547
- 'setMargin': undefined,
548
- 'setMarginMode': undefined,
549
- 'setPositionMode': undefined,
550
- 'signIn': undefined,
551
- 'transfer': undefined,
552
- 'watchBalance': undefined,
553
- 'watchMyTrades': undefined,
554
- 'watchOHLCV': undefined,
555
- 'watchOHLCVForSymbols': undefined,
556
- 'watchOrderBook': undefined,
557
- 'watchOrderBookForSymbols': undefined,
558
- 'watchOrders': undefined,
559
- 'watchOrdersForSymbols': undefined,
560
- 'watchPosition': undefined,
561
- 'watchPositions': undefined,
562
- 'watchStatus': undefined,
563
- 'watchTicker': undefined,
564
- 'watchTickers': undefined,
565
- 'watchTrades': undefined,
566
- 'watchTradesForSymbols': undefined,
567
- 'watchLiquidations': undefined,
568
- 'watchLiquidationsForSymbols': undefined,
569
- 'watchMyLiquidations': undefined,
570
- 'watchMyLiquidationsForSymbols': undefined,
571
- 'withdraw': undefined,
572
- 'ws': undefined,
573
- },
574
- 'urls': {
575
- 'logo': undefined,
576
- 'api': undefined,
577
- 'www': undefined,
578
- 'doc': undefined,
579
- 'fees': undefined,
580
- },
581
- 'api': undefined,
582
- 'requiredCredentials': {
583
- 'apiKey': true,
584
- 'secret': true,
585
- 'uid': false,
586
- 'accountId': false,
587
- 'login': false,
588
- 'password': false,
589
- 'twofa': false,
590
- 'privateKey': false,
591
- 'walletAddress': false,
592
- 'token': false, // reserved for HTTP auth in some cases
593
- },
594
- 'markets': undefined,
595
- 'currencies': {},
596
- 'timeframes': undefined,
597
- 'fees': {
598
- 'trading': {
599
- 'tierBased': undefined,
600
- 'percentage': undefined,
601
- 'taker': undefined,
602
- 'maker': undefined,
603
- },
604
- 'funding': {
605
- 'tierBased': undefined,
606
- 'percentage': undefined,
607
- 'withdraw': {},
608
- 'deposit': {},
609
- },
610
- },
611
- 'status': {
612
- 'status': 'ok',
613
- 'updated': undefined,
614
- 'eta': undefined,
615
- 'url': undefined,
616
- },
617
- 'exceptions': undefined,
618
- 'httpExceptions': {
619
- '422': ExchangeError,
620
- '418': DDoSProtection,
621
- '429': RateLimitExceeded,
622
- '404': ExchangeNotAvailable,
623
- '409': ExchangeNotAvailable,
624
- '410': ExchangeNotAvailable,
625
- '451': ExchangeNotAvailable,
626
- '500': ExchangeNotAvailable,
627
- '501': ExchangeNotAvailable,
628
- '502': ExchangeNotAvailable,
629
- '520': ExchangeNotAvailable,
630
- '521': ExchangeNotAvailable,
631
- '522': ExchangeNotAvailable,
632
- '525': ExchangeNotAvailable,
633
- '526': ExchangeNotAvailable,
634
- '400': ExchangeNotAvailable,
635
- '403': ExchangeNotAvailable,
636
- '405': ExchangeNotAvailable,
637
- '503': ExchangeNotAvailable,
638
- '530': ExchangeNotAvailable,
639
- '408': RequestTimeout,
640
- '504': RequestTimeout,
641
- '401': AuthenticationError,
642
- '407': AuthenticationError,
643
- '511': AuthenticationError,
644
- },
645
- 'commonCurrencies': {
646
- 'XBT': 'BTC',
647
- 'BCC': 'BCH',
648
- 'BCHSV': 'BSV',
649
- },
650
- 'precisionMode': DECIMAL_PLACES,
651
- 'paddingMode': NO_PADDING,
652
- 'limits': {
653
- 'leverage': { 'min': undefined, 'max': undefined },
654
- 'amount': { 'min': undefined, 'max': undefined },
655
- 'price': { 'min': undefined, 'max': undefined },
656
- 'cost': { 'min': undefined, 'max': undefined },
657
- },
658
- }; // return
659
- } // describe ()
660
352
  encodeURIComponent(...args) {
661
353
  // @ts-expect-error
662
354
  return encodeURIComponent(...args);
@@ -1493,46 +1185,360 @@ export default class Exchange {
1493
1185
  rng.nextBytes(x);
1494
1186
  return Buffer.from(x).toString('hex');
1495
1187
  }
1496
- /* eslint-enable */
1497
- // ------------------------------------------------------------------------
1498
- // ########################################################################
1499
- // ########################################################################
1500
- // ########################################################################
1501
- // ########################################################################
1502
- // ######## ######## ########
1503
- // ######## ######## ########
1504
- // ######## ######## ########
1505
- // ######## ######## ########
1506
- // ######## ######################## ########################
1507
- // ######## ######################## ########################
1508
- // ######## ######################## ########################
1509
- // ######## ######################## ########################
1510
- // ######## ######## ########
1511
- // ######## ######## ########
1512
- // ######## ######## ########
1513
- // ######## ######## ########
1514
- // ########################################################################
1515
- // ########################################################################
1516
- // ########################################################################
1517
- // ########################################################################
1518
- // ######## ######## ######## ########
1519
- // ######## ######## ######## ########
1520
- // ######## ######## ######## ########
1521
- // ######## ######## ######## ########
1522
- // ################ ######################## ################
1523
- // ################ ######################## ################
1524
- // ################ ######################## ################
1525
- // ################ ######################## ################
1526
- // ######## ######## ################ ################
1527
- // ######## ######## ################ ################
1528
- // ######## ######## ################ ################
1529
- // ######## ######## ################ ################
1530
- // ########################################################################
1531
- // ########################################################################
1532
- // ########################################################################
1533
- // ########################################################################
1534
- // ------------------------------------------------------------------------
1535
- // METHODS BELOW THIS LINE ARE TRANSPILED FROM JAVASCRIPT TO PYTHON AND PHP
1188
+ /* eslint-enable */
1189
+ // ------------------------------------------------------------------------
1190
+ // ########################################################################
1191
+ // ########################################################################
1192
+ // ########################################################################
1193
+ // ########################################################################
1194
+ // ######## ######## ########
1195
+ // ######## ######## ########
1196
+ // ######## ######## ########
1197
+ // ######## ######## ########
1198
+ // ######## ######################## ########################
1199
+ // ######## ######################## ########################
1200
+ // ######## ######################## ########################
1201
+ // ######## ######################## ########################
1202
+ // ######## ######## ########
1203
+ // ######## ######## ########
1204
+ // ######## ######## ########
1205
+ // ######## ######## ########
1206
+ // ########################################################################
1207
+ // ########################################################################
1208
+ // ########################################################################
1209
+ // ########################################################################
1210
+ // ######## ######## ######## ########
1211
+ // ######## ######## ######## ########
1212
+ // ######## ######## ######## ########
1213
+ // ######## ######## ######## ########
1214
+ // ################ ######################## ################
1215
+ // ################ ######################## ################
1216
+ // ################ ######################## ################
1217
+ // ################ ######################## ################
1218
+ // ######## ######## ################ ################
1219
+ // ######## ######## ################ ################
1220
+ // ######## ######## ################ ################
1221
+ // ######## ######## ################ ################
1222
+ // ########################################################################
1223
+ // ########################################################################
1224
+ // ########################################################################
1225
+ // ########################################################################
1226
+ // ------------------------------------------------------------------------
1227
+ // METHODS BELOW THIS LINE ARE TRANSPILED FROM JAVASCRIPT TO PYTHON AND PHP
1228
+ describe() {
1229
+ return {
1230
+ 'id': undefined,
1231
+ 'name': undefined,
1232
+ 'countries': undefined,
1233
+ 'enableRateLimit': true,
1234
+ 'rateLimit': 2000,
1235
+ 'timeout': this.timeout,
1236
+ 'certified': false,
1237
+ 'pro': false,
1238
+ 'alias': false,
1239
+ 'dex': false,
1240
+ 'has': {
1241
+ 'publicAPI': true,
1242
+ 'privateAPI': true,
1243
+ 'CORS': undefined,
1244
+ 'sandbox': undefined,
1245
+ 'spot': undefined,
1246
+ 'margin': undefined,
1247
+ 'swap': undefined,
1248
+ 'future': undefined,
1249
+ 'option': undefined,
1250
+ 'addMargin': undefined,
1251
+ 'borrowCrossMargin': undefined,
1252
+ 'borrowIsolatedMargin': undefined,
1253
+ 'borrowMargin': undefined,
1254
+ 'cancelAllOrders': undefined,
1255
+ 'cancelAllOrdersWs': undefined,
1256
+ 'cancelOrder': true,
1257
+ 'cancelOrderWs': undefined,
1258
+ 'cancelOrders': undefined,
1259
+ 'cancelOrdersWs': undefined,
1260
+ 'closeAllPositions': undefined,
1261
+ 'closePosition': undefined,
1262
+ 'createDepositAddress': undefined,
1263
+ 'createLimitBuyOrder': undefined,
1264
+ 'createLimitBuyOrderWs': undefined,
1265
+ 'createLimitOrder': true,
1266
+ 'createLimitOrderWs': undefined,
1267
+ 'createLimitSellOrder': undefined,
1268
+ 'createLimitSellOrderWs': undefined,
1269
+ 'createMarketBuyOrder': undefined,
1270
+ 'createMarketBuyOrderWs': undefined,
1271
+ 'createMarketBuyOrderWithCost': undefined,
1272
+ 'createMarketBuyOrderWithCostWs': undefined,
1273
+ 'createMarketOrder': true,
1274
+ 'createMarketOrderWs': true,
1275
+ 'createMarketOrderWithCost': undefined,
1276
+ 'createMarketOrderWithCostWs': undefined,
1277
+ 'createMarketSellOrder': undefined,
1278
+ 'createMarketSellOrderWs': undefined,
1279
+ 'createMarketSellOrderWithCost': undefined,
1280
+ 'createMarketSellOrderWithCostWs': undefined,
1281
+ 'createOrder': true,
1282
+ 'createOrderWs': undefined,
1283
+ 'createOrders': undefined,
1284
+ 'createOrderWithTakeProfitAndStopLoss': undefined,
1285
+ 'createOrderWithTakeProfitAndStopLossWs': undefined,
1286
+ 'createPostOnlyOrder': undefined,
1287
+ 'createPostOnlyOrderWs': undefined,
1288
+ 'createReduceOnlyOrder': undefined,
1289
+ 'createReduceOnlyOrderWs': undefined,
1290
+ 'createStopLimitOrder': undefined,
1291
+ 'createStopLimitOrderWs': undefined,
1292
+ 'createStopLossOrder': undefined,
1293
+ 'createStopLossOrderWs': undefined,
1294
+ 'createStopMarketOrder': undefined,
1295
+ 'createStopMarketOrderWs': undefined,
1296
+ 'createStopOrder': undefined,
1297
+ 'createStopOrderWs': undefined,
1298
+ 'createTakeProfitOrder': undefined,
1299
+ 'createTakeProfitOrderWs': undefined,
1300
+ 'createTrailingAmountOrder': undefined,
1301
+ 'createTrailingAmountOrderWs': undefined,
1302
+ 'createTrailingPercentOrder': undefined,
1303
+ 'createTrailingPercentOrderWs': undefined,
1304
+ 'createTriggerOrder': undefined,
1305
+ 'createTriggerOrderWs': undefined,
1306
+ 'deposit': undefined,
1307
+ 'editOrder': 'emulated',
1308
+ 'editOrderWs': undefined,
1309
+ 'fetchAccounts': undefined,
1310
+ 'fetchBalance': true,
1311
+ 'fetchBalanceWs': undefined,
1312
+ 'fetchBidsAsks': undefined,
1313
+ 'fetchBorrowInterest': undefined,
1314
+ 'fetchBorrowRate': undefined,
1315
+ 'fetchBorrowRateHistories': undefined,
1316
+ 'fetchBorrowRateHistory': undefined,
1317
+ 'fetchBorrowRates': undefined,
1318
+ 'fetchBorrowRatesPerSymbol': undefined,
1319
+ 'fetchCanceledAndClosedOrders': undefined,
1320
+ 'fetchCanceledOrders': undefined,
1321
+ 'fetchClosedOrder': undefined,
1322
+ 'fetchClosedOrders': undefined,
1323
+ 'fetchClosedOrdersWs': undefined,
1324
+ 'fetchConvertCurrencies': undefined,
1325
+ 'fetchConvertQuote': undefined,
1326
+ 'fetchConvertTrade': undefined,
1327
+ 'fetchConvertTradeHistory': undefined,
1328
+ 'fetchCrossBorrowRate': undefined,
1329
+ 'fetchCrossBorrowRates': undefined,
1330
+ 'fetchCurrencies': 'emulated',
1331
+ 'fetchCurrenciesWs': 'emulated',
1332
+ 'fetchDeposit': undefined,
1333
+ 'fetchDepositAddress': undefined,
1334
+ 'fetchDepositAddresses': undefined,
1335
+ 'fetchDepositAddressesByNetwork': undefined,
1336
+ 'fetchDeposits': undefined,
1337
+ 'fetchDepositsWithdrawals': undefined,
1338
+ 'fetchDepositsWs': undefined,
1339
+ 'fetchDepositWithdrawFee': undefined,
1340
+ 'fetchDepositWithdrawFees': undefined,
1341
+ 'fetchFundingHistory': undefined,
1342
+ 'fetchFundingRate': undefined,
1343
+ 'fetchFundingRateHistory': undefined,
1344
+ 'fetchFundingRates': undefined,
1345
+ 'fetchGreeks': undefined,
1346
+ 'fetchIndexOHLCV': undefined,
1347
+ 'fetchIsolatedBorrowRate': undefined,
1348
+ 'fetchIsolatedBorrowRates': undefined,
1349
+ 'fetchMarginAdjustmentHistory': undefined,
1350
+ 'fetchIsolatedPositions': undefined,
1351
+ 'fetchL2OrderBook': true,
1352
+ 'fetchL3OrderBook': undefined,
1353
+ 'fetchLastPrices': undefined,
1354
+ 'fetchLedger': undefined,
1355
+ 'fetchLedgerEntry': undefined,
1356
+ 'fetchLeverage': undefined,
1357
+ 'fetchLeverages': undefined,
1358
+ 'fetchLeverageTiers': undefined,
1359
+ 'fetchLiquidations': undefined,
1360
+ 'fetchMarginMode': undefined,
1361
+ 'fetchMarginModes': undefined,
1362
+ 'fetchMarketLeverageTiers': undefined,
1363
+ 'fetchMarkets': true,
1364
+ 'fetchMarketsWs': undefined,
1365
+ 'fetchMarkOHLCV': undefined,
1366
+ 'fetchMyLiquidations': undefined,
1367
+ 'fetchMySettlementHistory': undefined,
1368
+ 'fetchMyTrades': undefined,
1369
+ 'fetchMyTradesWs': undefined,
1370
+ 'fetchOHLCV': undefined,
1371
+ 'fetchOHLCVWs': undefined,
1372
+ 'fetchOpenInterest': undefined,
1373
+ 'fetchOpenInterestHistory': undefined,
1374
+ 'fetchOpenOrder': undefined,
1375
+ 'fetchOpenOrders': undefined,
1376
+ 'fetchOpenOrdersWs': undefined,
1377
+ 'fetchOption': undefined,
1378
+ 'fetchOptionChain': undefined,
1379
+ 'fetchOrder': undefined,
1380
+ 'fetchOrderBook': true,
1381
+ 'fetchOrderBooks': undefined,
1382
+ 'fetchOrderBookWs': undefined,
1383
+ 'fetchOrders': undefined,
1384
+ 'fetchOrdersByStatus': undefined,
1385
+ 'fetchOrdersWs': undefined,
1386
+ 'fetchOrderTrades': undefined,
1387
+ 'fetchOrderWs': undefined,
1388
+ 'fetchPermissions': undefined,
1389
+ 'fetchPosition': undefined,
1390
+ 'fetchPositionHistory': undefined,
1391
+ 'fetchPositionsHistory': undefined,
1392
+ 'fetchPositionWs': undefined,
1393
+ 'fetchPositionMode': undefined,
1394
+ 'fetchPositions': undefined,
1395
+ 'fetchPositionsWs': undefined,
1396
+ 'fetchPositionsForSymbol': undefined,
1397
+ 'fetchPositionsForSymbolWs': undefined,
1398
+ 'fetchPositionsRisk': undefined,
1399
+ 'fetchPremiumIndexOHLCV': undefined,
1400
+ 'fetchSettlementHistory': undefined,
1401
+ 'fetchStatus': undefined,
1402
+ 'fetchTicker': true,
1403
+ 'fetchTickerWs': undefined,
1404
+ 'fetchTickers': undefined,
1405
+ 'fetchTickersWs': undefined,
1406
+ 'fetchTime': undefined,
1407
+ 'fetchTrades': true,
1408
+ 'fetchTradesWs': undefined,
1409
+ 'fetchTradingFee': undefined,
1410
+ 'fetchTradingFees': undefined,
1411
+ 'fetchTradingFeesWs': undefined,
1412
+ 'fetchTradingLimits': undefined,
1413
+ 'fetchTransactionFee': undefined,
1414
+ 'fetchTransactionFees': undefined,
1415
+ 'fetchTransactions': undefined,
1416
+ 'fetchTransfer': undefined,
1417
+ 'fetchTransfers': undefined,
1418
+ 'fetchUnderlyingAssets': undefined,
1419
+ 'fetchVolatilityHistory': undefined,
1420
+ 'fetchWithdrawAddresses': undefined,
1421
+ 'fetchWithdrawal': undefined,
1422
+ 'fetchWithdrawals': undefined,
1423
+ 'fetchWithdrawalsWs': undefined,
1424
+ 'fetchWithdrawalWhitelist': undefined,
1425
+ 'reduceMargin': undefined,
1426
+ 'repayCrossMargin': undefined,
1427
+ 'repayIsolatedMargin': undefined,
1428
+ 'setLeverage': undefined,
1429
+ 'setMargin': undefined,
1430
+ 'setMarginMode': undefined,
1431
+ 'setPositionMode': undefined,
1432
+ 'signIn': undefined,
1433
+ 'transfer': undefined,
1434
+ 'watchBalance': undefined,
1435
+ 'watchMyTrades': undefined,
1436
+ 'watchOHLCV': undefined,
1437
+ 'watchOHLCVForSymbols': undefined,
1438
+ 'watchOrderBook': undefined,
1439
+ 'watchOrderBookForSymbols': undefined,
1440
+ 'watchOrders': undefined,
1441
+ 'watchOrdersForSymbols': undefined,
1442
+ 'watchPosition': undefined,
1443
+ 'watchPositions': undefined,
1444
+ 'watchStatus': undefined,
1445
+ 'watchTicker': undefined,
1446
+ 'watchTickers': undefined,
1447
+ 'watchTrades': undefined,
1448
+ 'watchTradesForSymbols': undefined,
1449
+ 'watchLiquidations': undefined,
1450
+ 'watchLiquidationsForSymbols': undefined,
1451
+ 'watchMyLiquidations': undefined,
1452
+ 'watchMyLiquidationsForSymbols': undefined,
1453
+ 'withdraw': undefined,
1454
+ 'ws': undefined,
1455
+ },
1456
+ 'urls': {
1457
+ 'logo': undefined,
1458
+ 'api': undefined,
1459
+ 'www': undefined,
1460
+ 'doc': undefined,
1461
+ 'fees': undefined,
1462
+ },
1463
+ 'api': undefined,
1464
+ 'requiredCredentials': {
1465
+ 'apiKey': true,
1466
+ 'secret': true,
1467
+ 'uid': false,
1468
+ 'accountId': false,
1469
+ 'login': false,
1470
+ 'password': false,
1471
+ 'twofa': false,
1472
+ 'privateKey': false,
1473
+ 'walletAddress': false,
1474
+ 'token': false, // reserved for HTTP auth in some cases
1475
+ },
1476
+ 'markets': undefined,
1477
+ 'currencies': {},
1478
+ 'timeframes': undefined,
1479
+ 'fees': {
1480
+ 'trading': {
1481
+ 'tierBased': undefined,
1482
+ 'percentage': undefined,
1483
+ 'taker': undefined,
1484
+ 'maker': undefined,
1485
+ },
1486
+ 'funding': {
1487
+ 'tierBased': undefined,
1488
+ 'percentage': undefined,
1489
+ 'withdraw': {},
1490
+ 'deposit': {},
1491
+ },
1492
+ },
1493
+ 'status': {
1494
+ 'status': 'ok',
1495
+ 'updated': undefined,
1496
+ 'eta': undefined,
1497
+ 'url': undefined,
1498
+ },
1499
+ 'exceptions': undefined,
1500
+ 'httpExceptions': {
1501
+ '422': ExchangeError,
1502
+ '418': DDoSProtection,
1503
+ '429': RateLimitExceeded,
1504
+ '404': ExchangeNotAvailable,
1505
+ '409': ExchangeNotAvailable,
1506
+ '410': ExchangeNotAvailable,
1507
+ '451': ExchangeNotAvailable,
1508
+ '500': ExchangeNotAvailable,
1509
+ '501': ExchangeNotAvailable,
1510
+ '502': ExchangeNotAvailable,
1511
+ '520': ExchangeNotAvailable,
1512
+ '521': ExchangeNotAvailable,
1513
+ '522': ExchangeNotAvailable,
1514
+ '525': ExchangeNotAvailable,
1515
+ '526': ExchangeNotAvailable,
1516
+ '400': ExchangeNotAvailable,
1517
+ '403': ExchangeNotAvailable,
1518
+ '405': ExchangeNotAvailable,
1519
+ '503': ExchangeNotAvailable,
1520
+ '530': ExchangeNotAvailable,
1521
+ '408': RequestTimeout,
1522
+ '504': RequestTimeout,
1523
+ '401': AuthenticationError,
1524
+ '407': AuthenticationError,
1525
+ '511': AuthenticationError,
1526
+ },
1527
+ 'commonCurrencies': {
1528
+ 'XBT': 'BTC',
1529
+ 'BCC': 'BCH',
1530
+ 'BCHSV': 'BSV',
1531
+ },
1532
+ 'precisionMode': TICK_SIZE,
1533
+ 'paddingMode': NO_PADDING,
1534
+ 'limits': {
1535
+ 'leverage': { 'min': undefined, 'max': undefined },
1536
+ 'amount': { 'min': undefined, 'max': undefined },
1537
+ 'price': { 'min': undefined, 'max': undefined },
1538
+ 'cost': { 'min': undefined, 'max': undefined },
1539
+ },
1540
+ };
1541
+ }
1536
1542
  safeBoolN(dictionaryOrList, keys, defaultValue = undefined) {
1537
1543
  /**
1538
1544
  * @ignore