ccxt 4.3.67 → 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.
- package/README.md +5 -5
- package/dist/ccxt.browser.min.js +2 -2
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/base/Exchange.js +364 -356
- package/dist/cjs/src/base/functions/type.js +2 -2
- package/dist/cjs/src/bingx.js +463 -217
- package/dist/cjs/src/bitget.js +4 -2
- package/dist/cjs/src/btcbox.js +2 -1
- package/dist/cjs/src/coinbaseinternational.js +79 -1
- package/dist/cjs/src/hyperliquid.js +0 -3
- package/dist/cjs/src/kucoin.js +12 -5
- package/dist/cjs/src/oxfun.js +2 -2
- package/dist/cjs/src/poloniex.js +33 -33
- package/dist/cjs/src/poloniexfutures.js +26 -26
- package/dist/cjs/src/pro/krakenfutures.js +7 -6
- package/dist/cjs/src/pro/poloniex.js +13 -13
- package/dist/cjs/src/pro/poloniexfutures.js +5 -5
- package/js/ccxt.d.ts +3 -3
- package/js/ccxt.js +1 -1
- package/js/src/base/Exchange.d.ts +107 -82
- package/js/src/base/Exchange.js +364 -356
- package/js/src/base/functions/type.js +2 -2
- package/js/src/base/types.d.ts +0 -2
- package/js/src/binance.d.ts +2 -2
- package/js/src/bingx.d.ts +4 -2
- package/js/src/bingx.js +463 -217
- package/js/src/bitget.d.ts +2 -2
- package/js/src/bitget.js +4 -2
- package/js/src/bitmart.d.ts +2 -2
- package/js/src/bitrue.d.ts +2 -2
- package/js/src/btcbox.js +2 -1
- package/js/src/bybit.d.ts +2 -2
- package/js/src/coinbaseinternational.d.ts +11 -0
- package/js/src/coinbaseinternational.js +79 -1
- package/js/src/coinex.d.ts +2 -2
- package/js/src/coinlist.d.ts +2 -2
- package/js/src/deribit.d.ts +2 -2
- package/js/src/digifinex.d.ts +2 -2
- package/js/src/hyperliquid.js +0 -3
- package/js/src/kucoin.js +12 -5
- package/js/src/latoken.d.ts +2 -2
- package/js/src/mexc.d.ts +2 -2
- package/js/src/okx.d.ts +2 -2
- package/js/src/oxfun.d.ts +1 -1
- package/js/src/oxfun.js +2 -2
- package/js/src/phemex.d.ts +2 -2
- package/js/src/poloniex.js +33 -33
- package/js/src/poloniexfutures.js +26 -26
- package/js/src/pro/krakenfutures.js +7 -6
- package/js/src/pro/poloniex.js +13 -13
- package/js/src/pro/poloniexfutures.js +5 -5
- package/js/src/woo.d.ts +2 -2
- package/package.json +1 -1
- package/js/src/coinbaseprime.d.ts +0 -4
- package/js/src/coinbaseprime.js +0 -32
- package/js/src/pro/coinbaseprime.d.ts +0 -4
- package/js/src/pro/coinbaseprime.js +0 -33
- package/js/src/pro/huobipro.d.ts +0 -4
- package/js/src/pro/huobipro.js +0 -17
- package/js/src/pro/mexc3.d.ts +0 -4
- package/js/src/pro/mexc3.js +0 -17
- package/js/src/pro/okex.d.ts +0 -4
- package/js/src/pro/okex.js +0 -17
package/js/src/base/Exchange.js
CHANGED
|
@@ -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
|
|
@@ -1575,8 +1581,10 @@ export default class Exchange {
|
|
|
1575
1581
|
if (value === undefined) {
|
|
1576
1582
|
return defaultValue;
|
|
1577
1583
|
}
|
|
1578
|
-
if (typeof value === 'object') {
|
|
1579
|
-
|
|
1584
|
+
if ((typeof value === 'object')) {
|
|
1585
|
+
if (!Array.isArray(value)) {
|
|
1586
|
+
return value;
|
|
1587
|
+
}
|
|
1580
1588
|
}
|
|
1581
1589
|
return defaultValue;
|
|
1582
1590
|
}
|
|
@@ -3465,7 +3473,7 @@ export default class Exchange {
|
|
|
3465
3473
|
}
|
|
3466
3474
|
else {
|
|
3467
3475
|
// otherwise, try to use the global-scope 'defaultNetwork' value (even if that network is not supported by currency, it doesn't make any problem, this will be just used "at first" if currency supports this network at all)
|
|
3468
|
-
const defaultNetwork = this.
|
|
3476
|
+
const defaultNetwork = this.safeString(this.options, 'defaultNetwork');
|
|
3469
3477
|
if (defaultNetwork !== undefined) {
|
|
3470
3478
|
defaultNetworkCode = defaultNetwork;
|
|
3471
3479
|
}
|