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