ccxt 4.1.53 → 4.1.54

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 (118) hide show
  1. package/README.md +8 -7
  2. package/dist/ccxt.browser.js +2164 -620
  3. package/dist/ccxt.browser.min.js +10 -10
  4. package/dist/cjs/ccxt.js +4 -1
  5. package/dist/cjs/src/abstract/p2b.js +9 -0
  6. package/dist/cjs/src/base/Exchange.js +10 -6
  7. package/dist/cjs/src/bitget.js +670 -405
  8. package/dist/cjs/src/p2b.js +1246 -0
  9. package/js/ccxt.d.ts +5 -2
  10. package/js/ccxt.js +4 -2
  11. package/js/src/abstract/bitget.d.ts +495 -254
  12. package/js/src/abstract/p2b.d.ts +25 -0
  13. package/js/src/abstract/p2b.js +11 -0
  14. package/js/src/ace.d.ts +3 -3
  15. package/js/src/alpaca.d.ts +1 -1
  16. package/js/src/ascendex.d.ts +6 -6
  17. package/js/src/base/Exchange.d.ts +5 -5
  18. package/js/src/base/Exchange.js +10 -6
  19. package/js/src/base/types.d.ts +11 -8
  20. package/js/src/bigone.d.ts +3 -3
  21. package/js/src/binance.d.ts +11 -11
  22. package/js/src/bingx.d.ts +6 -6
  23. package/js/src/bitbank.d.ts +1 -1
  24. package/js/src/bitbns.d.ts +2 -2
  25. package/js/src/bitfinex.d.ts +4 -4
  26. package/js/src/bitfinex2.d.ts +4 -4
  27. package/js/src/bitflyer.d.ts +2 -2
  28. package/js/src/bitget.d.ts +5 -5
  29. package/js/src/bitget.js +670 -405
  30. package/js/src/bithumb.d.ts +2 -2
  31. package/js/src/bitmart.d.ts +3 -3
  32. package/js/src/bitmex.d.ts +6 -6
  33. package/js/src/bitopro.d.ts +4 -4
  34. package/js/src/bitpanda.d.ts +3 -3
  35. package/js/src/bitrue.d.ts +5 -5
  36. package/js/src/bitso.d.ts +3 -3
  37. package/js/src/bitstamp.d.ts +3 -3
  38. package/js/src/bittrex.d.ts +5 -5
  39. package/js/src/bitvavo.d.ts +3 -3
  40. package/js/src/blockchaincom.d.ts +2 -2
  41. package/js/src/btcalpha.d.ts +3 -3
  42. package/js/src/btcmarkets.d.ts +1 -1
  43. package/js/src/btcturk.d.ts +3 -3
  44. package/js/src/bybit.d.ts +6 -6
  45. package/js/src/cex.d.ts +2 -2
  46. package/js/src/coinbase.d.ts +5 -5
  47. package/js/src/coinbasepro.d.ts +2 -2
  48. package/js/src/coinex.d.ts +7 -7
  49. package/js/src/coinlist.d.ts +3 -3
  50. package/js/src/coinone.d.ts +2 -2
  51. package/js/src/coinsph.d.ts +2 -2
  52. package/js/src/coinspot.d.ts +2 -2
  53. package/js/src/cryptocom.d.ts +4 -4
  54. package/js/src/currencycom.d.ts +3 -3
  55. package/js/src/delta.d.ts +5 -5
  56. package/js/src/deribit.d.ts +4 -4
  57. package/js/src/digifinex.d.ts +6 -6
  58. package/js/src/exmo.d.ts +4 -4
  59. package/js/src/gate.d.ts +6 -6
  60. package/js/src/gemini.d.ts +2 -2
  61. package/js/src/hitbtc.d.ts +6 -6
  62. package/js/src/hollaex.d.ts +5 -5
  63. package/js/src/htx.d.ts +8 -8
  64. package/js/src/huobijp.d.ts +3 -3
  65. package/js/src/idex.d.ts +2 -2
  66. package/js/src/indodax.d.ts +2 -2
  67. package/js/src/kraken.d.ts +3 -3
  68. package/js/src/krakenfutures.d.ts +6 -6
  69. package/js/src/kucoin.d.ts +3 -3
  70. package/js/src/kucoinfutures.d.ts +2 -2
  71. package/js/src/kuna.d.ts +2 -2
  72. package/js/src/latoken.d.ts +2 -2
  73. package/js/src/lbank.d.ts +3 -3
  74. package/js/src/luno.d.ts +2 -2
  75. package/js/src/lykke.d.ts +2 -2
  76. package/js/src/mexc.d.ts +6 -6
  77. package/js/src/ndax.d.ts +1 -1
  78. package/js/src/novadax.d.ts +3 -3
  79. package/js/src/oceanex.d.ts +4 -4
  80. package/js/src/okcoin.d.ts +3 -3
  81. package/js/src/okx.d.ts +6 -6
  82. package/js/src/p2b.d.ts +34 -0
  83. package/js/src/p2b.js +1246 -0
  84. package/js/src/phemex.d.ts +4 -4
  85. package/js/src/poloniex.d.ts +5 -5
  86. package/js/src/poloniexfutures.d.ts +4 -4
  87. package/js/src/pro/binance.d.ts +4 -4
  88. package/js/src/pro/bitget.d.ts +3 -3
  89. package/js/src/pro/bitpanda.d.ts +3 -3
  90. package/js/src/pro/bybit.d.ts +4 -4
  91. package/js/src/pro/cex.d.ts +2 -2
  92. package/js/src/pro/coinbasepro.d.ts +4 -4
  93. package/js/src/pro/coinex.d.ts +2 -2
  94. package/js/src/pro/cryptocom.d.ts +3 -3
  95. package/js/src/pro/gate.d.ts +4 -4
  96. package/js/src/pro/hitbtc.d.ts +2 -2
  97. package/js/src/pro/htx.d.ts +2 -2
  98. package/js/src/pro/kraken.d.ts +1 -1
  99. package/js/src/pro/krakenfutures.d.ts +3 -3
  100. package/js/src/pro/kucoin.d.ts +2 -2
  101. package/js/src/pro/okx.d.ts +4 -4
  102. package/js/src/pro/poloniex.d.ts +2 -2
  103. package/js/src/pro/wazirx.d.ts +2 -2
  104. package/js/src/pro/woo.d.ts +2 -2
  105. package/js/src/probit.d.ts +4 -4
  106. package/js/src/tidex.d.ts +3 -3
  107. package/js/src/timex.d.ts +3 -3
  108. package/js/src/tokocrypto.d.ts +3 -3
  109. package/js/src/upbit.d.ts +4 -4
  110. package/js/src/wavesexchange.d.ts +4 -4
  111. package/js/src/wazirx.d.ts +3 -3
  112. package/js/src/whitebit.d.ts +5 -5
  113. package/js/src/woo.d.ts +4 -4
  114. package/js/src/yobit.d.ts +3 -3
  115. package/js/src/zaif.d.ts +1 -1
  116. package/js/src/zonda.d.ts +3 -3
  117. package/package.json +1 -1
  118. package/skip-tests.json +7 -0
@@ -1152,6 +1152,22 @@ class Exchange extends _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchang
1152
1152
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Exchange);
1153
1153
 
1154
1154
 
1155
+ /***/ }),
1156
+
1157
+ /***/ 8310:
1158
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1159
+
1160
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1161
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1162
+ /* harmony export */ });
1163
+ /* harmony import */ var _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3043);
1164
+ // -------------------------------------------------------------------------------
1165
+
1166
+ class Exchange extends _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e {
1167
+ }
1168
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Exchange);
1169
+
1170
+
1155
1171
  /***/ }),
1156
1172
 
1157
1173
  /***/ 6123:
@@ -8340,7 +8356,7 @@ class Exchange {
8340
8356
  else {
8341
8357
  this.markets_by_id[value['id']] = [value];
8342
8358
  }
8343
- const market = this.deepExtend(this.safeMarket(), {
8359
+ const market = this.deepExtend(this.safeMarketStructure(), {
8344
8360
  'precision': this.precision,
8345
8361
  'limits': this.limits,
8346
8362
  }, this.fees['trading'], value);
@@ -9713,7 +9729,7 @@ class Exchange {
9713
9729
  'code': code,
9714
9730
  };
9715
9731
  }
9716
- safeMarket(marketId = undefined, market = undefined, delimiter = undefined, marketType = undefined) {
9732
+ safeMarket(marketId, market = undefined, delimiter = undefined, marketType = undefined) {
9717
9733
  const result = {
9718
9734
  'id': marketId,
9719
9735
  'symbol': marketId,
@@ -9766,13 +9782,17 @@ class Exchange {
9766
9782
  return markets[0];
9767
9783
  }
9768
9784
  else {
9769
- if ((marketType === undefined) && (market === undefined)) {
9770
- throw new _errors_js__WEBPACK_IMPORTED_MODULE_3__.ArgumentsRequired(this.id + ' safeMarket() requires a fourth argument for ' + marketId + ' to disambiguate between different markets with the same market id');
9785
+ if (marketType === undefined) {
9786
+ if (market === undefined) {
9787
+ throw new _errors_js__WEBPACK_IMPORTED_MODULE_3__.ArgumentsRequired(this.id + ' safeMarket() requires a fourth argument for ' + marketId + ' to disambiguate between different markets with the same market id');
9788
+ }
9789
+ else {
9790
+ marketType = market['type'];
9791
+ }
9771
9792
  }
9772
- const inferredMarketType = (marketType === undefined) ? market['type'] : marketType;
9773
9793
  for (let i = 0; i < markets.length; i++) {
9774
9794
  const currentMarket = markets[i];
9775
- if (currentMarket[inferredMarketType]) {
9795
+ if (currentMarket[marketType]) {
9776
9796
  return currentMarket;
9777
9797
  }
9778
9798
  }
@@ -39551,9 +39571,21 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
39551
39571
  'p2p': 'https://api.{hostname}',
39552
39572
  'broker': 'https://api.{hostname}',
39553
39573
  'margin': 'https://api.{hostname}',
39574
+ 'common': 'https://api.{hostname}',
39575
+ 'tax': 'https://api.{hostname}',
39576
+ 'convert': 'https://api.{hostname}',
39577
+ 'copy': 'https://api.{hostname}',
39578
+ 'earn': 'https://api.{hostname}',
39554
39579
  },
39555
39580
  'www': 'https://www.bitget.com',
39556
39581
  'doc': [
39582
+ 'https://www.bitget.com/api-doc/common/intro',
39583
+ 'https://www.bitget.com/api-doc/spot/intro',
39584
+ 'https://www.bitget.com/api-doc/contract/intro',
39585
+ 'https://www.bitget.com/api-doc/broker/intro',
39586
+ 'https://www.bitget.com/api-doc/margin/intro',
39587
+ 'https://www.bitget.com/api-doc/copytrading/intro',
39588
+ 'https://www.bitget.com/api-doc/earn/intro',
39557
39589
  'https://bitgetlimited.github.io/apidoc/en/mix',
39558
39590
  'https://bitgetlimited.github.io/apidoc/en/spot',
39559
39591
  'https://bitgetlimited.github.io/apidoc/en/broker',
@@ -39564,306 +39596,577 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
39564
39596
  },
39565
39597
  'api': {
39566
39598
  'public': {
39599
+ 'common': {
39600
+ 'get': {
39601
+ 'v2/public/annoucements': 1,
39602
+ 'v2/public/time': 1,
39603
+ 'v2/common/trade-rate': 2,
39604
+ },
39605
+ },
39567
39606
  'spot': {
39568
39607
  'get': {
39569
- 'notice/queryAllNotices': 1,
39570
- 'public/time': 1,
39571
- 'public/currencies': 6.6667,
39572
- 'public/products': 1,
39573
- 'public/product': 1,
39574
- 'market/ticker': 1,
39575
- 'market/tickers': 1,
39576
- 'market/fills': 2,
39577
- 'market/fills-history': 2,
39578
- 'market/candles': 1,
39579
- 'market/depth': 1,
39580
- 'market/spot-vip-level': 2,
39581
- 'market/merge-depth': 1,
39582
- 'market/history-candles': 1,
39583
- 'public/loan/coinInfos': 2,
39584
- 'public/loan/hour-interest': 2, // 10 times/1s (IP) => 20/10 = 2
39608
+ 'spot/v1/notice/queryAllNotices': 1,
39609
+ 'spot/v1/public/time': 1,
39610
+ 'spot/v1/public/currencies': 6.6667,
39611
+ 'spot/v1/public/products': 1,
39612
+ 'spot/v1/public/product': 1,
39613
+ 'spot/v1/market/ticker': 1,
39614
+ 'spot/v1/market/tickers': 1,
39615
+ 'spot/v1/market/fills': 2,
39616
+ 'spot/v1/market/fills-history': 2,
39617
+ 'spot/v1/market/candles': 1,
39618
+ 'spot/v1/market/depth': 1,
39619
+ 'spot/v1/market/spot-vip-level': 2,
39620
+ 'spot/v1/market/merge-depth': 1,
39621
+ 'spot/v1/market/history-candles': 1,
39622
+ 'spot/v1/public/loan/coinInfos': 2,
39623
+ 'spot/v1/public/loan/hour-interest': 2,
39624
+ 'v2/spot/public/coins': 6.6667,
39625
+ 'v2/spot/public/symbols': 1,
39626
+ 'v2/spot/market/vip-fee-rate': 2,
39627
+ 'v2/spot/market/tickers': 1,
39628
+ 'v2/spot/market/merge-depth': 1,
39629
+ 'v2/spot/market/orderbook': 1,
39630
+ 'v2/spot/market/candles': 1,
39631
+ 'v2/spot/market/history-candles': 1,
39632
+ 'v2/spot/market/fills': 2,
39633
+ 'v2/spot/market/fills-history': 2,
39585
39634
  },
39586
39635
  },
39587
39636
  'mix': {
39588
39637
  'get': {
39589
- 'market/contracts': 1,
39590
- 'market/depth': 1,
39591
- 'market/ticker': 1,
39592
- 'market/tickers': 1,
39593
- 'market/contract-vip-level': 2,
39594
- 'market/fills': 1,
39595
- 'market/fills-history': 2,
39596
- 'market/candles': 1,
39597
- 'market/index': 1,
39598
- 'market/funding-time': 1,
39599
- 'market/history-fundRate': 1,
39600
- 'market/current-fundRate': 1,
39601
- 'market/open-interest': 1,
39602
- 'market/mark-price': 1,
39603
- 'market/symbol-leverage': 1,
39604
- 'market/queryPositionLever': 1,
39605
- 'market/open-limit': 1,
39606
- 'market/history-candles': 1,
39607
- 'market/history-index-candles': 1,
39608
- 'market/history-mark-candles': 1,
39609
- 'market/merge-depth': 1,
39638
+ 'mix/v1/market/contracts': 1,
39639
+ 'mix/v1/market/depth': 1,
39640
+ 'mix/v1/market/ticker': 1,
39641
+ 'mix/v1/market/tickers': 1,
39642
+ 'mix/v1/market/contract-vip-level': 2,
39643
+ 'mix/v1/market/fills': 1,
39644
+ 'mix/v1/market/fills-history': 2,
39645
+ 'mix/v1/market/candles': 1,
39646
+ 'mix/v1/market/index': 1,
39647
+ 'mix/v1/market/funding-time': 1,
39648
+ 'mix/v1/market/history-fundRate': 1,
39649
+ 'mix/v1/market/current-fundRate': 1,
39650
+ 'mix/v1/market/open-interest': 1,
39651
+ 'mix/v1/market/mark-price': 1,
39652
+ 'mix/v1/market/symbol-leverage': 1,
39653
+ 'mix/v1/market/queryPositionLever': 1,
39654
+ 'mix/v1/market/open-limit': 1,
39655
+ 'mix/v1/market/history-candles': 1,
39656
+ 'mix/v1/market/history-index-candles': 1,
39657
+ 'mix/v1/market/history-mark-candles': 1,
39658
+ 'mix/v1/market/merge-depth': 1,
39659
+ 'v2/mix/market/vip-fee-rate': 2,
39660
+ 'v2/mix/market/merge-depth': 1,
39661
+ 'v2/mix/market/ticker': 1,
39662
+ 'v2/mix/market/tickers': 1,
39663
+ 'v2/mix/market/fills': 1,
39664
+ 'v2/mix/market/fills-history': 2,
39665
+ 'v2/mix/market/candles': 1,
39666
+ 'v2/mix/market/history-candles': 1,
39667
+ 'v2/mix/market/history-index-candles': 1,
39668
+ 'v2/mix/market/history-mark-candles': 1,
39669
+ 'v2/mix/market/open-interest': 1,
39670
+ 'v2/mix/market/funding-time': 1,
39671
+ 'v2/mix/market/symbol-price': 1,
39672
+ 'v2/mix/market/history-fund-rate': 1,
39673
+ 'v2/mix/market/current-fund-rate': 1,
39674
+ 'v2/mix/market/contracts': 1,
39675
+ 'v2/mix/market/query-position-lever': 2,
39610
39676
  },
39611
39677
  },
39612
39678
  'margin': {
39613
39679
  'get': {
39614
- 'cross/public/interestRateAndLimit': 2,
39615
- 'isolated/public/interestRateAndLimit': 2,
39616
- 'cross/public/tierData': 2,
39617
- 'isolated/public/tierData': 2,
39618
- 'public/currencies': 1, // 20 times/1s (IP) => 20/20 = 1
39680
+ 'margin/v1/cross/public/interestRateAndLimit': 2,
39681
+ 'margin/v1/isolated/public/interestRateAndLimit': 2,
39682
+ 'margin/v1/cross/public/tierData': 2,
39683
+ 'margin/v1/isolated/public/tierData': 2,
39684
+ 'margin/v1/public/currencies': 1,
39685
+ 'v2/margin/currencies': 2,
39686
+ },
39687
+ },
39688
+ 'earn': {
39689
+ 'get': {
39690
+ 'v2/earn/loan/public/coinInfos': 2,
39691
+ 'v2/earn/loan/public/hour-interest': 2,
39619
39692
  },
39620
39693
  },
39621
39694
  },
39622
39695
  'private': {
39623
39696
  'spot': {
39624
39697
  'get': {
39625
- 'wallet/deposit-address': 4,
39626
- 'wallet/withdrawal-list': 1,
39627
- 'wallet/deposit-list': 1,
39628
- 'account/getInfo': 20,
39629
- 'account/assets': 2,
39630
- 'account/assets-lite': 2,
39631
- 'account/transferRecords': 1,
39632
- 'convert/currencies': 2,
39633
- 'convert/convert-record': 2,
39634
- 'loan/ongoing-orders': 2,
39635
- 'loan/repay-history': 2,
39636
- 'loan/revise-history': 2,
39637
- 'loan/borrow-history': 2,
39638
- 'loan/debts': 2, // 10 times/1s (UID) => 20/10 = 2
39698
+ 'spot/v1/wallet/deposit-address': 4,
39699
+ 'spot/v1/wallet/withdrawal-list': 1,
39700
+ 'spot/v1/wallet/deposit-list': 1,
39701
+ 'spot/v1/account/getInfo': 20,
39702
+ 'spot/v1/account/assets': 2,
39703
+ 'spot/v1/account/assets-lite': 2,
39704
+ 'spot/v1/account/transferRecords': 1,
39705
+ 'spot/v1/convert/currencies': 2,
39706
+ 'spot/v1/convert/convert-record': 2,
39707
+ 'spot/v1/loan/ongoing-orders': 2,
39708
+ 'spot/v1/loan/repay-history': 2,
39709
+ 'spot/v1/loan/revise-history': 2,
39710
+ 'spot/v1/loan/borrow-history': 2,
39711
+ 'spot/v1/loan/debts': 2,
39712
+ 'v2/spot/trade/orderInfo': 1,
39713
+ 'v2/spot/trade/unfilled-orders': 1,
39714
+ 'v2/spot/trade/history-orders': 1,
39715
+ 'v2/spot/trade/fills': 2,
39716
+ 'v2/spot/trade/current-plan-order': 1,
39717
+ 'v2/spot/trade/history-plan-order': 1,
39718
+ 'v2/spot/account/info': 20,
39719
+ 'v2/spot/account/assets': 2,
39720
+ 'v2/spot/account/subaccount-assets': 2,
39721
+ 'v2/spot/account/bills': 2,
39722
+ 'v2/spot/account/transferRecords': 1,
39723
+ 'v2/spot/wallet/deposit-address': 2,
39724
+ 'v2/spot/wallet/deposit-records': 2,
39725
+ 'v2/spot/wallet/withdrawal-records': 2,
39639
39726
  },
39640
39727
  'post': {
39641
- 'wallet/transfer': 4,
39642
- 'wallet/transfer-v2': 4,
39643
- 'wallet/subTransfer': 10,
39644
- 'wallet/withdrawal': 4,
39645
- 'wallet/withdrawal-v2': 4,
39646
- 'wallet/withdrawal-inner': 4,
39647
- 'wallet/withdrawal-inner-v2': 4,
39648
- 'account/sub-account-spot-assets': 200,
39649
- 'account/bills': 2,
39650
- 'trade/orders': 2,
39651
- 'trade/batch-orders': 4,
39652
- 'trade/cancel-order': 2,
39653
- 'trade/cancel-order-v2': 2,
39654
- 'trade/cancel-symbol-order': 2,
39655
- 'trade/cancel-batch-orders': 4,
39656
- 'trade/cancel-batch-orders-v2': 4,
39657
- 'trade/orderInfo': 1,
39658
- 'trade/open-orders': 1,
39659
- 'trade/history': 1,
39660
- 'trade/fills': 1,
39661
- 'plan/placePlan': 1,
39662
- 'plan/modifyPlan': 1,
39663
- 'plan/cancelPlan': 1,
39664
- 'plan/currentPlan': 1,
39665
- 'plan/historyPlan': 1,
39666
- 'plan/batchCancelPlan': 2,
39667
- 'convert/quoted-price': 4,
39668
- 'convert/trade': 4,
39669
- 'loan/borrow': 2,
39670
- 'loan/repay': 2,
39671
- 'loan/revise-pledge': 2,
39672
- 'trace/order/orderCurrentList': 2,
39673
- 'trace/order/orderHistoryList': 2,
39674
- 'trace/order/closeTrackingOrder': 2,
39675
- 'trace/order/updateTpsl': 2,
39676
- 'trace/order/followerEndOrder': 2,
39677
- 'trace/order/spotInfoList': 2,
39678
- 'trace/config/getTraderSettings': 2,
39679
- 'trace/config/getFollowerSettings': 2,
39680
- 'trace/user/myTraders': 2,
39681
- 'trace/config/setFollowerConfig': 2,
39682
- 'trace/user/myFollowers': 2,
39683
- 'trace/config/setProductCode': 2,
39684
- 'trace/user/removeTrader': 2,
39685
- 'trace/getRemovableFollower': 2,
39686
- 'trace/user/removeFollower': 2,
39687
- 'trace/profit/totalProfitInfo': 2,
39688
- 'trace/profit/totalProfitList': 2,
39689
- 'trace/profit/profitHisList': 2,
39690
- 'trace/profit/profitHisDetailList': 2,
39691
- 'trace/profit/waitProfitDetailList': 2,
39692
- 'trace/user/getTraderInfo': 2, // 10 times/1s (UID) => 20/10 = 2
39728
+ 'spot/v1/wallet/transfer': 4,
39729
+ 'spot/v1/wallet/transfer-v2': 4,
39730
+ 'spot/v1/wallet/subTransfer': 10,
39731
+ 'spot/v1/wallet/withdrawal': 4,
39732
+ 'spot/v1/wallet/withdrawal-v2': 4,
39733
+ 'spot/v1/wallet/withdrawal-inner': 4,
39734
+ 'spot/v1/wallet/withdrawal-inner-v2': 4,
39735
+ 'spot/v1/account/sub-account-spot-assets': 200,
39736
+ 'spot/v1/account/bills': 2,
39737
+ 'spot/v1/trade/orders': 2,
39738
+ 'spot/v1/trade/batch-orders': 4,
39739
+ 'spot/v1/trade/cancel-order': 2,
39740
+ 'spot/v1/trade/cancel-order-v2': 2,
39741
+ 'spot/v1/trade/cancel-symbol-order': 2,
39742
+ 'spot/v1/trade/cancel-batch-orders': 4,
39743
+ 'spot/v1/trade/cancel-batch-orders-v2': 4,
39744
+ 'spot/v1/trade/orderInfo': 1,
39745
+ 'spot/v1/trade/open-orders': 1,
39746
+ 'spot/v1/trade/history': 1,
39747
+ 'spot/v1/trade/fills': 1,
39748
+ 'spot/v1/plan/placePlan': 1,
39749
+ 'spot/v1/plan/modifyPlan': 1,
39750
+ 'spot/v1/plan/cancelPlan': 1,
39751
+ 'spot/v1/plan/currentPlan': 1,
39752
+ 'spot/v1/plan/historyPlan': 1,
39753
+ 'spot/v1/plan/batchCancelPlan': 2,
39754
+ 'spot/v1/convert/quoted-price': 4,
39755
+ 'spot/v1/convert/trade': 4,
39756
+ 'spot/v1/loan/borrow': 2,
39757
+ 'spot/v1/loan/repay': 2,
39758
+ 'spot/v1/loan/revise-pledge': 2,
39759
+ 'spot/v1/trace/order/orderCurrentList': 2,
39760
+ 'spot/v1/trace/order/orderHistoryList': 2,
39761
+ 'spot/v1/trace/order/closeTrackingOrder': 2,
39762
+ 'spot/v1/trace/order/updateTpsl': 2,
39763
+ 'spot/v1/trace/order/followerEndOrder': 2,
39764
+ 'spot/v1/trace/order/spotInfoList': 2,
39765
+ 'spot/v1/trace/config/getTraderSettings': 2,
39766
+ 'spot/v1/trace/config/getFollowerSettings': 2,
39767
+ 'spot/v1/trace/user/myTraders': 2,
39768
+ 'spot/v1/trace/config/setFollowerConfig': 2,
39769
+ 'spot/v1/trace/user/myFollowers': 2,
39770
+ 'spot/v1/trace/config/setProductCode': 2,
39771
+ 'spot/v1/trace/user/removeTrader': 2,
39772
+ 'spot/v1/trace/getRemovableFollower': 2,
39773
+ 'spot/v1/trace/user/removeFollower': 2,
39774
+ 'spot/v1/trace/profit/totalProfitInfo': 2,
39775
+ 'spot/v1/trace/profit/totalProfitList': 2,
39776
+ 'spot/v1/trace/profit/profitHisList': 2,
39777
+ 'spot/v1/trace/profit/profitHisDetailList': 2,
39778
+ 'spot/v1/trace/profit/waitProfitDetailList': 2,
39779
+ 'spot/v1/trace/user/getTraderInfo': 2,
39780
+ 'v2/spot/trade/place-order': 2,
39781
+ 'v2/spot/trade/cancel-order': 2,
39782
+ 'v2/spot/trade/batch-orders': 20,
39783
+ 'v2/spot/trade/batch-cancel-order': 2,
39784
+ 'v2/spot/trade/cancel-symbol-order': 4,
39785
+ 'v2/spot/trade/place-plan-order': 1,
39786
+ 'v2/spot/trade/modify-plan-order': 1,
39787
+ 'v2/spot/trade/cancel-plan-order': 1,
39788
+ 'v2/spot/trade/batch-cancel-plan-order': 2,
39789
+ 'v2/spot/wallet/transfer': 2,
39790
+ 'v2/spot/wallet/subaccount-transfer': 2,
39791
+ 'v2/spot/wallet/withdrawal': 2,
39693
39792
  },
39694
39793
  },
39695
39794
  'mix': {
39696
39795
  'get': {
39697
- 'account/account': 2,
39698
- 'account/accounts': 2,
39699
- 'position/singlePosition': 2,
39700
- 'position/singlePosition-v2': 2,
39701
- 'position/allPosition': 4,
39702
- 'position/allPosition-v2': 4,
39703
- 'position/history-position': 1,
39704
- 'account/accountBill': 2,
39705
- 'account/accountBusinessBill': 4,
39706
- 'order/current': 1,
39707
- 'order/marginCoinCurrent': 1,
39708
- 'order/history': 2,
39709
- 'order/historyProductType': 4,
39710
- 'order/detail': 2,
39711
- 'order/fills': 2,
39712
- 'order/allFills': 2,
39713
- 'plan/currentPlan': 1,
39714
- 'plan/historyPlan': 2,
39715
- 'trace/currentTrack': 2,
39716
- 'trace/followerOrder': 2,
39717
- 'trace/followerHistoryOrders': 2,
39718
- 'trace/historyTrack': 2,
39719
- 'trace/summary': 1,
39720
- 'trace/profitSettleTokenIdGroup': 1,
39721
- 'trace/profitDateGroupList': 1,
39722
- 'trade/profitDateList': 2,
39723
- 'trace/waitProfitDateList': 1,
39724
- 'trace/traderSymbols': 1,
39725
- 'trace/traderList': 2,
39726
- 'trace/traderDetail': 2,
39727
- 'trace/queryTraceConfig': 2,
39796
+ 'mix/v1/account/account': 2,
39797
+ 'mix/v1/account/accounts': 2,
39798
+ 'mix/v1/position/singlePosition': 2,
39799
+ 'mix/v1/position/singlePosition-v2': 2,
39800
+ 'mix/v1/position/allPosition': 4,
39801
+ 'mix/v1/position/allPosition-v2': 4,
39802
+ 'mix/v1/position/history-position': 1,
39803
+ 'mix/v1/account/accountBill': 2,
39804
+ 'mix/v1/account/accountBusinessBill': 4,
39805
+ 'mix/v1/order/current': 1,
39806
+ 'mix/v1/order/marginCoinCurrent': 1,
39807
+ 'mix/v1/order/history': 2,
39808
+ 'mix/v1/order/historyProductType': 4,
39809
+ 'mix/v1/order/detail': 2,
39810
+ 'mix/v1/order/fills': 2,
39811
+ 'mix/v1/order/allFills': 2,
39812
+ 'mix/v1/plan/currentPlan': 1,
39813
+ 'mix/v1/plan/historyPlan': 2,
39814
+ 'mix/v1/trace/currentTrack': 2,
39815
+ 'mix/v1/trace/followerOrder': 2,
39816
+ 'mix/v1/trace/followerHistoryOrders': 2,
39817
+ 'mix/v1/trace/historyTrack': 2,
39818
+ 'mix/v1/trace/summary': 1,
39819
+ 'mix/v1/trace/profitSettleTokenIdGroup': 1,
39820
+ 'mix/v1/trace/profitDateGroupList': 1,
39821
+ 'mix/v1/trade/profitDateList': 2,
39822
+ 'mix/v1/trace/waitProfitDateList': 1,
39823
+ 'mix/v1/trace/traderSymbols': 1,
39824
+ 'mix/v1/trace/traderList': 2,
39825
+ 'mix/v1/trace/traderDetail': 2,
39826
+ 'mix/v1/trace/queryTraceConfig': 2,
39827
+ 'v2/mix/account/account': 2,
39828
+ 'v2/mix/account/accounts': 2,
39829
+ 'v2/mix/account/sub-account-assets': 200,
39830
+ 'v2/mix/account/open-count': 2,
39831
+ 'v2/mix/account/bill': 2,
39832
+ 'v2/mix/market/query-position-lever': 2,
39833
+ 'v2/mix/position/single-position': 2,
39834
+ 'v2/mix/position/all-position': 4,
39835
+ 'v2/mix/position/history-position': 1,
39836
+ 'v2/mix/order/detail': 2,
39837
+ 'v2/mix/order/fills': 2,
39838
+ 'v2/mix/order/fill-history': 2,
39839
+ 'v2/mix/order/orders-pending': 2,
39840
+ 'v2/mix/order/orders-history': 2,
39841
+ 'v2/mix/order/orders-plan-pending': 2,
39842
+ 'v2/mix/order/orders-plan-history': 2,
39728
39843
  },
39729
39844
  'post': {
39730
- 'account/sub-account-contract-assets': 200,
39731
- 'account/open-count': 1,
39732
- 'account/setLeverage': 4,
39733
- 'account/setMargin': 4,
39734
- 'account/setMarginMode': 4,
39735
- 'account/setPositionMode': 4,
39736
- 'order/placeOrder': 2,
39737
- 'order/batch-orders': 2,
39738
- 'order/cancel-order': 2,
39739
- 'order/cancel-batch-orders': 2,
39740
- 'order/modifyOrder': 2,
39741
- 'order/cancel-symbol-orders': 2,
39742
- 'order/cancel-all-orders': 2,
39743
- 'order/close-all-positions': 20,
39744
- 'plan/placePlan': 2,
39745
- 'plan/modifyPlan': 2,
39746
- 'plan/modifyPlanPreset': 2,
39747
- 'plan/placeTPSL': 2,
39748
- 'plan/placeTrailStop': 2,
39749
- 'plan/placePositionsTPSL': 2,
39750
- 'plan/modifyTPSLPlan': 2,
39751
- 'plan/cancelPlan': 2,
39752
- 'plan/cancelSymbolPlan': 2,
39753
- 'plan/cancelAllPlan': 2,
39754
- 'trace/closeTrackOrder': 2,
39755
- 'trace/modifyTPSL': 2,
39756
- 'trace/closeTrackOrderBySymbol': 2,
39757
- 'trace/setUpCopySymbols': 2,
39758
- 'trace/followerSetBatchTraceConfig': 2,
39759
- 'trace/followerCloseByTrackingNo': 2,
39760
- 'trace/followerCloseByAll': 2,
39761
- 'trace/followerSetTpsl': 2,
39762
- 'trace/cancelCopyTrader': 4,
39763
- 'trace/traderUpdateConfig': 2,
39764
- 'trace/myTraderList': 2,
39765
- 'trace/myFollowerList': 2,
39766
- 'trace/removeFollower': 2,
39767
- 'trace/public/getFollowerConfig': 2,
39768
- 'trace/report/order/historyList': 2,
39769
- 'trace/report/order/currentList': 2,
39770
- 'trace/queryTraderTpslRatioConfig': 2,
39771
- 'trace/traderUpdateTpslRatioConfig': 2, // 10 times/1s (UID) => 20/10 = 2
39845
+ 'mix/v1/account/sub-account-contract-assets': 200,
39846
+ 'mix/v1/account/open-count': 1,
39847
+ 'mix/v1/account/setLeverage': 4,
39848
+ 'mix/v1/account/setMargin': 4,
39849
+ 'mix/v1/account/setMarginMode': 4,
39850
+ 'mix/v1/account/setPositionMode': 4,
39851
+ 'mix/v1/order/placeOrder': 2,
39852
+ 'mix/v1/order/batch-orders': 2,
39853
+ 'mix/v1/order/cancel-order': 2,
39854
+ 'mix/v1/order/cancel-batch-orders': 2,
39855
+ 'mix/v1/order/modifyOrder': 2,
39856
+ 'mix/v1/order/cancel-symbol-orders': 2,
39857
+ 'mix/v1/order/cancel-all-orders': 2,
39858
+ 'mix/v1/order/close-all-positions': 20,
39859
+ 'mix/v1/plan/placePlan': 2,
39860
+ 'mix/v1/plan/modifyPlan': 2,
39861
+ 'mix/v1/plan/modifyPlanPreset': 2,
39862
+ 'mix/v1/plan/placeTPSL': 2,
39863
+ 'mix/v1/plan/placeTrailStop': 2,
39864
+ 'mix/v1/plan/placePositionsTPSL': 2,
39865
+ 'mix/v1/plan/modifyTPSLPlan': 2,
39866
+ 'mix/v1/plan/cancelPlan': 2,
39867
+ 'mix/v1/plan/cancelSymbolPlan': 2,
39868
+ 'mix/v1/plan/cancelAllPlan': 2,
39869
+ 'mix/v1/trace/closeTrackOrder': 2,
39870
+ 'mix/v1/trace/modifyTPSL': 2,
39871
+ 'mix/v1/trace/closeTrackOrderBySymbol': 2,
39872
+ 'mix/v1/trace/setUpCopySymbols': 2,
39873
+ 'mix/v1/trace/followerSetBatchTraceConfig': 2,
39874
+ 'mix/v1/trace/followerCloseByTrackingNo': 2,
39875
+ 'mix/v1/trace/followerCloseByAll': 2,
39876
+ 'mix/v1/trace/followerSetTpsl': 2,
39877
+ 'mix/v1/trace/cancelCopyTrader': 4,
39878
+ 'mix/v1/trace/traderUpdateConfig': 2,
39879
+ 'mix/v1/trace/myTraderList': 2,
39880
+ 'mix/v1/trace/myFollowerList': 2,
39881
+ 'mix/v1/trace/removeFollower': 2,
39882
+ 'mix/v1/trace/public/getFollowerConfig': 2,
39883
+ 'mix/v1/trace/report/order/historyList': 2,
39884
+ 'mix/v1/trace/report/order/currentList': 2,
39885
+ 'mix/v1/trace/queryTraderTpslRatioConfig': 2,
39886
+ 'mix/v1/trace/traderUpdateTpslRatioConfig': 2,
39887
+ 'v2/mix/account/set-leverage': 4,
39888
+ 'v2/mix/account/set-margin': 4,
39889
+ 'v2/mix/account/set-margin-mode': 4,
39890
+ 'v2/mix/account/set-position-mode': 4,
39891
+ 'v2/mix/order/place-order': 20,
39892
+ 'v2/mix/order/click-backhand': 20,
39893
+ 'v2/mix/order/batch-place-order': 20,
39894
+ 'v2/mix/order/modify-order': 2,
39895
+ 'v2/mix/order/cancel-order': 2,
39896
+ 'v2/mix/order/batch-cancel-orders': 2,
39897
+ 'v2/mix/order/close-positions': 20,
39898
+ 'v2/mix/order/place-tpsl-order': 2,
39899
+ 'v2/mix/order/place-plan-order': 2,
39900
+ 'v2/mix/order/modify-tpsl-order': 2,
39901
+ 'v2/mix/order/modify-plan-order': 2,
39902
+ 'v2/mix/order/cancel-plan-order': 2,
39772
39903
  },
39773
39904
  },
39774
39905
  'user': {
39775
39906
  'get': {
39776
- 'fee/query': 2,
39777
- 'sub/virtual-list': 2,
39778
- 'sub/virtual-api-list': 2,
39779
- 'tax/spot-record': 1,
39780
- 'tax/future-record': 1,
39781
- 'tax/margin-record': 1,
39782
- 'tax/p2p-record': 1,
39907
+ 'user/v1/fee/query': 2,
39908
+ 'user/v1/sub/virtual-list': 2,
39909
+ 'user/v1/sub/virtual-api-list': 2,
39910
+ 'user/v1/tax/spot-record': 1,
39911
+ 'user/v1/tax/future-record': 1,
39912
+ 'user/v1/tax/margin-record': 1,
39913
+ 'user/v1/tax/p2p-record': 1,
39914
+ 'v2/user/virtual-subaccount-list': 2,
39915
+ 'v2/user/virtual-subaccount-apikey-list': 2,
39783
39916
  },
39784
39917
  'post': {
39785
- 'sub/virtual-create': 4,
39786
- 'sub/virtual-modify': 4,
39787
- 'sub/virtual-api-batch-create': 20,
39788
- 'sub/virtual-api-create': 4,
39789
- 'sub/virtual-api-modify': 4,
39918
+ 'user/v1/sub/virtual-create': 4,
39919
+ 'user/v1/sub/virtual-modify': 4,
39920
+ 'user/v1/sub/virtual-api-batch-create': 20,
39921
+ 'user/v1/sub/virtual-api-create': 4,
39922
+ 'user/v1/sub/virtual-api-modify': 4,
39923
+ 'v2/user/create-virtual-subaccount': 4,
39924
+ 'v2/user/modify-virtual-subaccount': 4,
39925
+ 'v2/user/batch-create-subaccount-and-apikey': 20,
39926
+ 'v2/user/create-virtual-subaccount-apikey': 4,
39927
+ 'v2/user/modify-virtual-subaccount-apikey': 4,
39790
39928
  },
39791
39929
  },
39792
39930
  'p2p': {
39793
39931
  'get': {
39794
- 'merchant/merchantList': 2,
39795
- 'merchant/merchantInfo': 2,
39796
- 'merchant/advList': 2,
39797
- 'merchant/orderList': 2, // 10 times/1s (UID) => 20/10 = 2
39932
+ 'p2p/v1/merchant/merchantList': 2,
39933
+ 'p2p/v1/merchant/merchantInfo': 2,
39934
+ 'p2p/v1/merchant/advList': 2,
39935
+ 'p2p/v1/merchant/orderList': 2,
39936
+ 'v2/p2p/merchantList': 2,
39937
+ 'v2/p2p/merchantInfo': 2,
39938
+ 'v2/p2p/orderList': 2,
39939
+ 'v2/p2p/advList': 2,
39798
39940
  },
39799
39941
  },
39800
39942
  'broker': {
39801
39943
  'get': {
39802
- 'account/info': 2,
39803
- 'account/sub-list': 20,
39804
- 'account/sub-email': 20,
39805
- 'account/sub-spot-assets': 2,
39806
- 'account/sub-future-assets': 2,
39807
- 'account/subaccount-transfer': 1,
39808
- 'account/subaccount-deposit': 1,
39809
- 'account/subaccount-withdrawal': 1,
39810
- 'account/sub-api-list': 2, // 10 times/1s (UID) => 20/10 = 2
39944
+ 'broker/v1/account/info': 2,
39945
+ 'broker/v1/account/sub-list': 20,
39946
+ 'broker/v1/account/sub-email': 20,
39947
+ 'broker/v1/account/sub-spot-assets': 2,
39948
+ 'broker/v1/account/sub-future-assets': 2,
39949
+ 'broker/v1/account/subaccount-transfer': 1,
39950
+ 'broker/v1/account/subaccount-deposit': 1,
39951
+ 'broker/v1/account/subaccount-withdrawal': 1,
39952
+ 'broker/v1/account/sub-api-list': 2,
39953
+ 'v2/broker/account/info': 2,
39954
+ 'v2/broker/account/subaccount-list': 20,
39955
+ 'v2/broker/account/subaccount-email': 2,
39956
+ 'v2/broker/account/subaccount-spot-assets': 2,
39957
+ 'v2/broker/account/subaccount-future-assets': 2,
39958
+ 'v2/broker/manage/subaccount-apikey-list': 2,
39811
39959
  },
39812
39960
  'post': {
39813
- 'account/sub-create': 20,
39814
- 'account/sub-modify': 20,
39815
- 'account/sub-modify-email': 20,
39816
- 'account/sub-address': 2,
39817
- 'account/sub-withdrawal': 2,
39818
- 'account/sub-auto-transfer': 4,
39819
- 'account/sub-api-create': 2,
39820
- 'account/sub-api-modify': 2, // 10 times/1s (UID) => 20/10 = 2
39961
+ 'broker/v1/account/sub-create': 20,
39962
+ 'broker/v1/account/sub-modify': 20,
39963
+ 'broker/v1/account/sub-modify-email': 20,
39964
+ 'broker/v1/account/sub-address': 2,
39965
+ 'broker/v1/account/sub-withdrawal': 2,
39966
+ 'broker/v1/account/sub-auto-transfer': 4,
39967
+ 'broker/v1/account/sub-api-create': 2,
39968
+ 'broker/v1/account/sub-api-modify': 2,
39969
+ 'v2/broker/account/modify-subaccount-email': 2,
39970
+ 'v2/broker/account/create-subaccount': 20,
39971
+ 'v2/broker/account/modify-subaccount': 20,
39972
+ 'v2/broker/account/subaccount-address': 2,
39973
+ 'v2/broker/account/subaccount-withdrawal': 2,
39974
+ 'v2/broker/account/set-subaccount-autotransfer': 2,
39975
+ 'v2/broker/manage/create-subaccount-apikey': 2,
39976
+ 'v2/broker/manage/modify-subaccount-apikey': 2,
39821
39977
  },
39822
39978
  },
39823
39979
  'margin': {
39824
39980
  'get': {
39825
- 'cross/account/riskRate': 2,
39826
- 'cross/account/maxTransferOutAmount': 2,
39827
- 'isolated/account/maxTransferOutAmount': 2,
39828
- 'isolated/order/openOrders': 2,
39829
- 'isolated/order/history': 2,
39830
- 'isolated/order/fills': 2,
39831
- 'isolated/loan/list': 2,
39832
- 'isolated/repay/list': 2,
39833
- 'isolated/interest/list': 2,
39834
- 'isolated/liquidation/list': 2,
39835
- 'isolated/fin/list': 2,
39836
- 'cross/order/openOrders': 2,
39837
- 'cross/order/history': 2,
39838
- 'cross/order/fills': 2,
39839
- 'cross/loan/list': 2,
39840
- 'cross/repay/list': 2,
39841
- 'cross/interest/list': 2,
39842
- 'cross/liquidation/list': 2,
39843
- 'cross/fin/list': 2,
39844
- 'cross/account/assets': 2,
39845
- 'isolated/account/assets': 2, // 10 times/1s (IP) => 20/10 = 2
39981
+ 'margin/v1/cross/account/riskRate': 2,
39982
+ 'margin/v1/cross/account/maxTransferOutAmount': 2,
39983
+ 'margin/v1/isolated/account/maxTransferOutAmount': 2,
39984
+ 'margin/v1/isolated/order/openOrders': 2,
39985
+ 'margin/v1/isolated/order/history': 2,
39986
+ 'margin/v1/isolated/order/fills': 2,
39987
+ 'margin/v1/isolated/loan/list': 2,
39988
+ 'margin/v1/isolated/repay/list': 2,
39989
+ 'margin/v1/isolated/interest/list': 2,
39990
+ 'margin/v1/isolated/liquidation/list': 2,
39991
+ 'margin/v1/isolated/fin/list': 2,
39992
+ 'margin/v1/cross/order/openOrders': 2,
39993
+ 'margin/v1/cross/order/history': 2,
39994
+ 'margin/v1/cross/order/fills': 2,
39995
+ 'margin/v1/cross/loan/list': 2,
39996
+ 'margin/v1/cross/repay/list': 2,
39997
+ 'margin/v1/cross/interest/list': 2,
39998
+ 'margin/v1/cross/liquidation/list': 2,
39999
+ 'margin/v1/cross/fin/list': 2,
40000
+ 'margin/v1/cross/account/assets': 2,
40001
+ 'margin/v1/isolated/account/assets': 2,
40002
+ 'v2/margin/crossed/borrow-history': 2,
40003
+ 'v2/margin/crossed/repay-history': 2,
40004
+ 'v2/margin/crossed/interest-history': 2,
40005
+ 'v2/margin/crossed/liquidation-history': 2,
40006
+ 'v2/margin/crossed/financial-records': 2,
40007
+ 'v2/margin/crossed/account-assets': 2,
40008
+ 'v2/margin/crossed/account/risk-rate': 2,
40009
+ 'v2/margin/crossed/account/max-borrowable-amount': 2,
40010
+ 'v2/margin/crossed/account/max-transfer-out-amount': 2,
40011
+ 'v2/margin/crossed/interest-rate-and-limit': 2,
40012
+ 'v2/margin/crossed/tier-data': 2,
40013
+ 'v2/margin/crossed/open-orders': 2,
40014
+ 'v2/margin/crossed/history-orders': 2,
40015
+ 'v2/margin/crossed/fills': 2,
40016
+ 'v2/margin/isolated/borrow-history': 2,
40017
+ 'v2/margin/isolated/repay-history': 2,
40018
+ 'v2/margin/isolated/interest-history': 2,
40019
+ 'v2/margin/isolated/liquidation-history': 2,
40020
+ 'v2/margin/isolated/financial-records': 2,
40021
+ 'v2/margin/isolated/account-assets': 2,
40022
+ 'v2/margin/isolated/account/risk-rate': 2,
40023
+ 'v2/margin/isolated/account/max-borrowable-amount': 2,
40024
+ 'v2/margin/isolated/account/max-transfer-out-amount': 2,
40025
+ 'v2/margin/isolated/interest-rate-and-limit': 2,
40026
+ 'v2/margin/isolated/tier-data': 2,
40027
+ 'v2/margin/isolated/open-orders': 2,
40028
+ 'v2/margin/isolated/history-orders': 2,
40029
+ 'v2/margin/isolated/fills': 2,
40030
+ },
40031
+ 'post': {
40032
+ 'margin/v1/cross/account/borrow': 2,
40033
+ 'margin/v1/isolated/account/borrow': 2,
40034
+ 'margin/v1/cross/account/repay': 2,
40035
+ 'margin/v1/isolated/account/repay': 2,
40036
+ 'margin/v1/isolated/account/riskRate': 2,
40037
+ 'margin/v1/cross/account/maxBorrowableAmount': 2,
40038
+ 'margin/v1/isolated/account/maxBorrowableAmount': 2,
40039
+ 'margin/v1/isolated/account/flashRepay': 2,
40040
+ 'margin/v1/isolated/account/queryFlashRepayStatus': 2,
40041
+ 'margin/v1/cross/account/flashRepay': 2,
40042
+ 'margin/v1/cross/account/queryFlashRepayStatus': 2,
40043
+ 'margin/v1/isolated/order/placeOrder': 4,
40044
+ 'margin/v1/isolated/order/batchPlaceOrder': 4,
40045
+ 'margin/v1/isolated/order/cancelOrder': 2,
40046
+ 'margin/v1/isolated/order/batchCancelOrder': 2,
40047
+ 'margin/v1/cross/order/placeOrder': 2,
40048
+ 'margin/v1/cross/order/batchPlaceOrder': 2,
40049
+ 'margin/v1/cross/order/cancelOrder': 2,
40050
+ 'margin/v1/cross/order/batchCancelOrder': 2,
40051
+ 'v2/margin/crossed/account/borrow': 2,
40052
+ 'v2/margin/crossed/account/repay': 2,
40053
+ 'v2/margin/crossed/account/flash-repay': 2,
40054
+ 'v2/margin/crossed/account/query-flash-repay-status': 2,
40055
+ 'v2/margin/crossed/place-order': 2,
40056
+ 'v2/margin/crossed/batch-place-order': 2,
40057
+ 'v2/margin/crossed/cancel-order': 2,
40058
+ 'v2/margin/crossed/batch-cancel-order': 2,
40059
+ 'v2/margin/isolated/account/borrow': 2,
40060
+ 'v2/margin/isolated/account/repay': 2,
40061
+ 'v2/margin/isolated/account/flash-repay': 2,
40062
+ 'v2/margin/isolated/account/query-flash-repay-status': 2,
40063
+ 'v2/margin/isolated/place-order': 2,
40064
+ 'v2/margin/isolated/batch-place-order': 2,
40065
+ 'v2/margin/isolated/cancel-order': 2,
40066
+ 'v2/margin/isolated/batch-cancel-order': 2,
40067
+ },
40068
+ },
40069
+ 'copy': {
40070
+ 'get': {
40071
+ 'v2/copy/mix-trader/order-current-track': 2,
40072
+ 'v2/copy/mix-trader/order-history-track': 2,
40073
+ 'v2/copy/mix-trader/order-total-detail': 2,
40074
+ 'v2/copy/mix-trader/profit-history-summarys': 1,
40075
+ 'v2/copy/mix-trader/profit-history-details': 1,
40076
+ 'v2/copy/mix-trader/profit-details': 1,
40077
+ 'v2/copy/mix-trader/profits-group-coin-date': 1,
40078
+ 'v2/copy/mix-trader/config-query-symbols': 1,
40079
+ 'v2/copy/mix-trader/config-query-followers': 2,
40080
+ 'v2/copy/mix-follower/query-current-orders': 2,
40081
+ 'v2/copy/mix-follower/query-history-orders': 1,
40082
+ 'v2/copy/mix-follower/query-settings': 2,
40083
+ 'v2/copy/mix-follower/query-traders': 2,
40084
+ 'v2/copy/mix-follower/query-quantity-limit': 2,
40085
+ 'v2/copy/mix-broker/query-traders': 2,
40086
+ 'v2/copy/mix-broker/query-history-traces': 2,
40087
+ 'v2/copy/mix-broker/query-current-traces': 2,
40088
+ 'v2/copy/spot-trader/profit-summarys': 2,
40089
+ 'v2/copy/spot-trader/profit-history-details': 2,
40090
+ 'v2/copy/spot-trader/profit-details': 2,
40091
+ 'v2/copy/spot-trader/order-total-detail': 2,
40092
+ 'v2/copy/spot-trader/order-history-track': 2,
40093
+ 'v2/copy/spot-trader/order-current-track': 2,
40094
+ 'v2/copy/spot-trader/config-query-settings': 2,
40095
+ 'v2/copy/spot-trader/config-query-followers': 2,
40096
+ 'v2/copy/spot-follower/query-traders': 2,
40097
+ 'v2/copy/spot-follower/query-trader-symbols': 2,
40098
+ 'v2/copy/spot-follower/query-settings': 2,
40099
+ 'v2/copy/spot-follower/query-history-orders': 2,
40100
+ 'v2/copy/spot-follower/query-current-orders': 2,
40101
+ },
40102
+ 'post': {
40103
+ 'v2/copy/mix-trader/order-modify-tpsl': 2,
40104
+ 'v2/copy/mix-trader/order-close-positions': 2,
40105
+ 'v2/copy/mix-trader/config-setting-symbols': 2,
40106
+ 'v2/copy/mix-trader/config-setting-base': 2,
40107
+ 'v2/copy/mix-trader/config-remove-follower': 2,
40108
+ 'v2/copy/mix-follower/setting-tpsl': 1,
40109
+ 'v2/copy/mix-follower/settings': 2,
40110
+ 'v2/copy/mix-follower/close-positions': 2,
40111
+ 'v2/copy/mix-follower/cancel-trader': 4,
40112
+ 'v2/copy/spot-trader/order-modify-tpsl': 2,
40113
+ 'v2/copy/spot-trader/order-close-tracking': 2,
40114
+ 'v2/copy/spot-trader/config-setting-symbols': 2,
40115
+ 'v2/copy/spot-trader/config-remove-follower': 2,
40116
+ 'v2/copy/spot-follower/stop-order': 2,
40117
+ 'v2/copy/spot-follower/settings': 2,
40118
+ 'v2/copy/spot-follower/setting-tpsl': 2,
40119
+ 'v2/copy/spot-follower/order-close-tracking': 2,
40120
+ 'v2/copy/spot-follower/cancel-trader': 2,
40121
+ },
40122
+ },
40123
+ 'tax': {
40124
+ 'get': {
40125
+ 'v2/tax/spot-record': 20,
40126
+ 'v2/tax/future-record': 20,
40127
+ 'v2/tax/margin-record': 20,
40128
+ 'v2/tax/p2p-record': 20,
40129
+ },
40130
+ },
40131
+ 'convert': {
40132
+ 'get': {
40133
+ 'v2/convert/currencies': 2,
40134
+ 'v2/convert/quoted-price': 2,
40135
+ 'v2/convert/convert-record': 2,
39846
40136
  },
39847
40137
  'post': {
39848
- 'cross/account/borrow': 2,
39849
- 'isolated/account/borrow': 2,
39850
- 'cross/account/repay': 2,
39851
- 'isolated/account/repay': 2,
39852
- 'isolated/account/riskRate': 2,
39853
- 'cross/account/maxBorrowableAmount': 2,
39854
- 'isolated/account/maxBorrowableAmount': 2,
39855
- 'isolated/account/flashRepay': 2,
39856
- 'isolated/account/queryFlashRepayStatus': 2,
39857
- 'cross/account/flashRepay': 2,
39858
- 'cross/account/queryFlashRepayStatus': 2,
39859
- 'isolated/order/placeOrder': 4,
39860
- 'isolated/order/batchPlaceOrder': 4,
39861
- 'isolated/order/cancelOrder': 2,
39862
- 'isolated/order/batchCancelOrder': 2,
39863
- 'cross/order/placeOrder': 2,
39864
- 'cross/order/batchPlaceOrder': 2,
39865
- 'cross/order/cancelOrder': 2,
39866
- 'cross/order/batchCancelOrder': 2, // 10 times/1s (UID) => 20/10 = 2
40138
+ 'v2/convert/trade': 2,
40139
+ },
40140
+ },
40141
+ 'earn': {
40142
+ 'get': {
40143
+ 'v2/earn/savings/product': 2,
40144
+ 'v2/earn/savings/account': 2,
40145
+ 'v2/earn/savings/assets': 2,
40146
+ 'v2/earn/savings/records': 2,
40147
+ 'v2/earn/savings/subscribe-info': 2,
40148
+ 'v2/earn/savings/subscribe-result': 2,
40149
+ 'v2/earn/savings/redeem-result': 2,
40150
+ 'v2/earn/sharkfin/product': 2,
40151
+ 'v2/earn/sharkfin/account': 2,
40152
+ 'v2/earn/sharkfin/assets': 2,
40153
+ 'v2/earn/sharkfin/records': 2,
40154
+ 'v2/earn/sharkfin/subscribe-info': 2,
40155
+ 'v2/earn/sharkfin/subscribe-result': 4,
40156
+ 'v2/earn/loan/ongoing-orders': 2,
40157
+ 'v2/earn/loan/repay-history': 2,
40158
+ 'v2/earn/loan/revise-history': 2,
40159
+ 'v2/earn/loan/borrow-history': 2,
40160
+ 'v2/earn/loan/debts': 2,
40161
+ 'v2/earn/loan/reduces': 2,
40162
+ },
40163
+ 'post': {
40164
+ 'v2/earn/savings/subscribe': 2,
40165
+ 'v2/earn/savings/redeem': 2,
40166
+ 'v2/earn/sharkfin/subscribe': 2,
40167
+ 'v2/earn/loan/borrow': 2,
40168
+ 'v2/earn/loan/repay': 2,
40169
+ 'v2/earn/loan/revise-pledge': 2,
39867
40170
  },
39868
40171
  },
39869
40172
  },
@@ -40445,18 +40748,18 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
40445
40748
  },
40446
40749
  'fetchOHLCV': {
40447
40750
  'spot': {
40448
- 'method': 'publicSpotGetMarketCandles', // or publicSpotGetMarketHistoryCandles
40751
+ 'method': 'publicSpotGetSpotV1MarketCandles', // or publicSpotGetSpotV1MarketHistoryCandles
40449
40752
  },
40450
40753
  'swap': {
40451
- 'method': 'publicMixGetMarketCandles', // or publicMixGetMarketHistoryCandles or publicMixGetMarketHistoryIndexCandles or publicMixGetMarketHistoryMarkCandles
40754
+ 'method': 'publicMixGetMixV1MarketCandles', // or publicMixGetMixV1MarketHistoryCandles or publicMixGetMixV1MarketHistoryIndexCandles or publicMixGetMixV1MarketHistoryMarkCandles
40452
40755
  },
40453
40756
  },
40454
40757
  'fetchTrades': {
40455
40758
  'spot': {
40456
- 'method': 'publicSpotGetMarketFillsHistory', // or publicSpotGetMarketFills
40759
+ 'method': 'publicSpotGetSpotV1MarketFillsHistory', // or publicSpotGetSpotV1MarketFills
40457
40760
  },
40458
40761
  'swap': {
40459
- 'method': 'publicMixGetMarketFillsHistory', // or publicMixGetMarketFills
40762
+ 'method': 'publicMixGetMixV1MarketFillsHistory', // or publicMixGetMixV1MarketFills
40460
40763
  },
40461
40764
  },
40462
40765
  'accountsByType': {
@@ -40483,7 +40786,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
40483
40786
  'BSC': 'BEP20',
40484
40787
  },
40485
40788
  'fetchPositions': {
40486
- 'method': 'privateMixGetPositionAllPositionV2', // or privateMixGetPositionHistoryPosition
40789
+ 'method': 'privateMixGetMixV1PositionAllPositionV2', // or privateMixGetMixV1PositionHistoryPosition
40487
40790
  },
40488
40791
  'defaultTimeInForce': 'GTC', // 'GTC' = Good To Cancel (default), 'IOC' = Immediate Or Cancel
40489
40792
  },
@@ -40501,7 +40804,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
40501
40804
  * @param {object} [params] extra parameters specific to the bitget api endpoint
40502
40805
  * @returns {int} the current integer timestamp in milliseconds from the exchange server
40503
40806
  */
40504
- const response = await this.publicSpotGetPublicTime(params);
40807
+ const response = await this.publicSpotGetSpotV1PublicTime(params);
40505
40808
  //
40506
40809
  // {
40507
40810
  // "code": "00000",
@@ -40725,10 +41028,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
40725
41028
  async fetchMarketsByType(type, params = {}) {
40726
41029
  let response = undefined;
40727
41030
  if (type === 'spot') {
40728
- response = await this.publicSpotGetPublicProducts(params);
41031
+ response = await this.publicSpotGetSpotV1PublicProducts(params);
40729
41032
  }
40730
41033
  else if (type === 'swap') {
40731
- response = await this.publicMixGetMarketContracts(params);
41034
+ response = await this.publicMixGetMixV1MarketContracts(params);
40732
41035
  }
40733
41036
  else {
40734
41037
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.NotSupported(this.id + ' does not support ' + type + ' market');
@@ -40795,7 +41098,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
40795
41098
  * @param {object} [params] extra parameters specific to the bitget api endpoint
40796
41099
  * @returns {object} an associative dictionary of currencies
40797
41100
  */
40798
- const response = await this.publicSpotGetPublicCurrencies(params);
41101
+ const response = await this.publicSpotGetSpotV1PublicCurrencies(params);
40799
41102
  //
40800
41103
  // {
40801
41104
  // "code": "00000",
@@ -40939,11 +41242,11 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
40939
41242
  const productType = this.safeStringUpper(parts, 1);
40940
41243
  request['symbol'] = marketId;
40941
41244
  request['productType'] = productType;
40942
- response = await this.publicMixGetMarketQueryPositionLever(this.extend(request, params));
41245
+ response = await this.publicMixGetMixV1MarketQueryPositionLever(this.extend(request, params));
40943
41246
  }
40944
41247
  else if (marginMode === 'isolated') {
40945
41248
  request['symbol'] = market['info']['symbolName'];
40946
- response = await this.publicMarginGetIsolatedPublicTierData(this.extend(request, params));
41249
+ response = await this.publicMarginGetMarginV1IsolatedPublicTierData(this.extend(request, params));
40947
41250
  }
40948
41251
  else if (marginMode === 'cross') {
40949
41252
  const code = this.safeString(params, 'code');
@@ -40951,7 +41254,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
40951
41254
  params = this.omit(params, 'code');
40952
41255
  const currency = this.currency(code);
40953
41256
  request['coin'] = currency['code'];
40954
- response = await this.publicMarginGetCrossPublicTierData(this.extend(request, params));
41257
+ response = await this.publicMarginGetMarginV1CrossPublicTierData(this.extend(request, params));
40955
41258
  }
40956
41259
  else {
40957
41260
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' fetchMarketLeverageTiers() symbol does not support market ' + symbol);
@@ -41119,7 +41422,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
41119
41422
  request['pageSize'] = limit;
41120
41423
  }
41121
41424
  [request, params] = this.handleUntilOption('endTime', request, params);
41122
- const response = await this.privateSpotGetWalletDepositList(this.extend(request, params));
41425
+ const response = await this.privateSpotGetSpotV1WalletDepositList(this.extend(request, params));
41123
41426
  //
41124
41427
  // {
41125
41428
  // "code": "00000",
@@ -41176,7 +41479,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
41176
41479
  if (tag !== undefined) {
41177
41480
  request['tag'] = tag;
41178
41481
  }
41179
- const response = await this.privateSpotPostWalletWithdrawalV2(this.extend(request, params));
41482
+ const response = await this.privateSpotPostSpotV1WalletWithdrawalV2(this.extend(request, params));
41180
41483
  //
41181
41484
  // {
41182
41485
  // "code": "00000",
@@ -41275,7 +41578,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
41275
41578
  if (limit !== undefined) {
41276
41579
  request['pageSize'] = limit;
41277
41580
  }
41278
- const response = await this.privateSpotGetWalletWithdrawalList(this.extend(request, params));
41581
+ const response = await this.privateSpotGetSpotV1WalletWithdrawalList(this.extend(request, params));
41279
41582
  //
41280
41583
  // {
41281
41584
  // "code": "00000",
@@ -41385,7 +41688,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
41385
41688
  if (networkId !== undefined) {
41386
41689
  request['chain'] = networkId;
41387
41690
  }
41388
- const response = await this.privateSpotGetWalletDepositAddress(this.extend(request, params));
41691
+ const response = await this.privateSpotGetSpotV1WalletDepositAddress(this.extend(request, params));
41389
41692
  //
41390
41693
  // {
41391
41694
  // "code": "00000",
@@ -41445,10 +41748,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
41445
41748
  }
41446
41749
  let response = undefined;
41447
41750
  if (market['spot']) {
41448
- response = await this.publicSpotGetMarketDepth(this.extend(request, params));
41751
+ response = await this.publicSpotGetSpotV1MarketDepth(this.extend(request, params));
41449
41752
  }
41450
41753
  else {
41451
- response = await this.publicMixGetMarketDepth(this.extend(request, params));
41754
+ response = await this.publicMixGetMixV1MarketDepth(this.extend(request, params));
41452
41755
  }
41453
41756
  //
41454
41757
  // {
@@ -41602,10 +41905,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
41602
41905
  let response = undefined;
41603
41906
  const extended = this.extend(request, params);
41604
41907
  if (market['spot']) {
41605
- response = await this.publicSpotGetMarketTicker(extended);
41908
+ response = await this.publicSpotGetSpotV1MarketTicker(extended);
41606
41909
  }
41607
41910
  else {
41608
- response = await this.publicMixGetMarketTicker(extended);
41911
+ response = await this.publicMixGetMixV1MarketTicker(extended);
41609
41912
  }
41610
41913
  //
41611
41914
  // {
@@ -41662,10 +41965,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
41662
41965
  const extended = this.extend(request, params);
41663
41966
  let response = undefined;
41664
41967
  if (type === 'spot') {
41665
- response = await this.publicSpotGetMarketTickers(extended);
41968
+ response = await this.publicSpotGetSpotV1MarketTickers(extended);
41666
41969
  }
41667
41970
  else {
41668
- response = await this.publicMixGetMarketTickers(extended);
41971
+ response = await this.publicMixGetMixV1MarketTickers(extended);
41669
41972
  }
41670
41973
  //
41671
41974
  // spot
@@ -41867,23 +42170,23 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
41867
42170
  let response = undefined;
41868
42171
  if (market['spot']) {
41869
42172
  const spotOptions = this.safeValue(options, 'spot', {});
41870
- const defaultSpotMethod = this.safeString(spotOptions, 'method', 'publicSpotGetMarketFillsHistory');
42173
+ const defaultSpotMethod = this.safeString(spotOptions, 'method', 'publicSpotGetSpotV1MarketFillsHistory');
41871
42174
  const spotMethod = this.safeString(params, 'method', defaultSpotMethod);
41872
42175
  params = this.omit(params, 'method');
41873
- if (spotMethod === 'publicSpotGetMarketFillsHistory') {
41874
- response = await this.publicSpotGetMarketFillsHistory(this.extend(request, params));
42176
+ if (spotMethod === 'publicSpotGetSpotV1MarketFillsHistory') {
42177
+ response = await this.publicSpotGetSpotV1MarketFillsHistory(this.extend(request, params));
41875
42178
  }
41876
- else if (spotMethod === 'publicSpotGetMarketFills') {
41877
- response = await this.publicSpotGetMarketFills(this.extend(request, params));
42179
+ else if (spotMethod === 'publicSpotGetSpotV1MarketFills') {
42180
+ response = await this.publicSpotGetSpotV1MarketFills(this.extend(request, params));
41878
42181
  }
41879
42182
  }
41880
42183
  else {
41881
42184
  const swapOptions = this.safeValue(options, 'swap', {});
41882
- const defaultSwapMethod = this.safeString(swapOptions, 'method', 'publicMixGetMarketFillsHistory');
42185
+ const defaultSwapMethod = this.safeString(swapOptions, 'method', 'publicMixGetMixV1MarketFillsHistory');
41883
42186
  const swapMethod = this.safeString(params, 'method', defaultSwapMethod);
41884
42187
  params = this.omit(params, 'method');
41885
- if (swapMethod === 'publicMixGetMarketFillsHistory') {
41886
- response = await this.publicMixGetMarketFillsHistory(this.extend(request, params));
42188
+ if (swapMethod === 'publicMixGetMixV1MarketFillsHistory') {
42189
+ response = await this.publicMixGetMixV1MarketFillsHistory(this.extend(request, params));
41887
42190
  //
41888
42191
  // {
41889
42192
  // "tradeId": "1084459062491590657",
@@ -41895,8 +42198,8 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
41895
42198
  // }
41896
42199
  //
41897
42200
  }
41898
- else if (swapMethod === 'publicMixGetMarketFills') {
41899
- response = await this.publicMixGetMarketFills(this.extend(request, params));
42201
+ else if (swapMethod === 'publicMixGetMixV1MarketFills') {
42202
+ response = await this.publicMixGetMixV1MarketFills(this.extend(request, params));
41900
42203
  }
41901
42204
  }
41902
42205
  //
@@ -41954,7 +42257,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
41954
42257
  const request = {
41955
42258
  'symbol': market['id'],
41956
42259
  };
41957
- const response = await this.publicSpotGetPublicProduct(this.extend(request, params));
42260
+ const response = await this.publicSpotGetSpotV1PublicProduct(this.extend(request, params));
41958
42261
  //
41959
42262
  // {
41960
42263
  // "code": "00000",
@@ -41988,7 +42291,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
41988
42291
  * @returns {object} a dictionary of [fee structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#fee-structure} indexed by market symbols
41989
42292
  */
41990
42293
  await this.loadMarkets();
41991
- const response = await this.publicSpotGetPublicProducts(params);
42294
+ const response = await this.publicSpotGetSpotV1PublicProducts(params);
41992
42295
  //
41993
42296
  // {
41994
42297
  // "code": "00000",
@@ -42142,39 +42445,39 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
42142
42445
  let response = undefined;
42143
42446
  if (market['spot']) {
42144
42447
  const spotOptions = this.safeValue(options, 'spot', {});
42145
- const defaultSpotMethod = this.safeString(spotOptions, 'method', 'publicSpotGetMarketCandles');
42448
+ const defaultSpotMethod = this.safeString(spotOptions, 'method', 'publicSpotGetSpotV1MarketCandles');
42146
42449
  const method = this.safeString(params, 'method', defaultSpotMethod);
42147
42450
  params = this.omit(params, 'method');
42148
- if (method === 'publicSpotGetMarketCandles') {
42451
+ if (method === 'publicSpotGetSpotV1MarketCandles') {
42149
42452
  if (limitIsUndefined) {
42150
42453
  request['limit'] = 1000;
42151
42454
  }
42152
- response = await this.publicSpotGetMarketCandles(this.extend(request, params));
42455
+ response = await this.publicSpotGetSpotV1MarketCandles(this.extend(request, params));
42153
42456
  }
42154
- else if (method === 'publicSpotGetMarketHistoryCandles') {
42155
- response = await this.publicSpotGetMarketHistoryCandles(this.extend(request, params));
42457
+ else if (method === 'publicSpotGetSpotV1MarketHistoryCandles') {
42458
+ response = await this.publicSpotGetSpotV1MarketHistoryCandles(this.extend(request, params));
42156
42459
  }
42157
42460
  }
42158
42461
  else {
42159
42462
  const swapOptions = this.safeValue(options, 'swap', {});
42160
- const defaultSwapMethod = this.safeString(swapOptions, 'method', 'publicMixGetMarketCandles');
42463
+ const defaultSwapMethod = this.safeString(swapOptions, 'method', 'publicMixGetMixV1MarketCandles');
42161
42464
  const swapMethod = this.safeString(params, 'method', defaultSwapMethod);
42162
42465
  const priceType = this.safeString(params, 'price');
42163
42466
  params = this.omit(params, ['method', 'price']);
42164
- if ((priceType === 'mark') || (swapMethod === 'publicMixGetMarketHistoryMarkCandles')) {
42165
- response = await this.publicMixGetMarketHistoryMarkCandles(this.extend(request, params));
42467
+ if ((priceType === 'mark') || (swapMethod === 'publicMixGetMixV1MarketHistoryMarkCandles')) {
42468
+ response = await this.publicMixGetMixV1MarketHistoryMarkCandles(this.extend(request, params));
42166
42469
  }
42167
- else if ((priceType === 'index') || (swapMethod === 'publicMixGetMarketHistoryIndexCandles')) {
42168
- response = await this.publicMixGetMarketHistoryIndexCandles(this.extend(request, params));
42470
+ else if ((priceType === 'index') || (swapMethod === 'publicMixGetMixV1MarketHistoryIndexCandles')) {
42471
+ response = await this.publicMixGetMixV1MarketHistoryIndexCandles(this.extend(request, params));
42169
42472
  }
42170
- else if (swapMethod === 'publicMixGetMarketCandles') {
42473
+ else if (swapMethod === 'publicMixGetMixV1MarketCandles') {
42171
42474
  if (limitIsUndefined) {
42172
42475
  request['limit'] = 1000;
42173
42476
  }
42174
- response = await this.publicMixGetMarketCandles(this.extend(request, params));
42477
+ response = await this.publicMixGetMixV1MarketCandles(this.extend(request, params));
42175
42478
  }
42176
- else if (swapMethod === 'publicMixGetMarketHistoryCandles') {
42177
- response = await this.publicMixGetMarketHistoryCandles(this.extend(request, params));
42479
+ else if (swapMethod === 'publicMixGetMixV1MarketHistoryCandles') {
42480
+ response = await this.publicMixGetMixV1MarketHistoryCandles(this.extend(request, params));
42178
42481
  }
42179
42482
  }
42180
42483
  if (response === '') {
@@ -42212,16 +42515,16 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
42212
42515
  productType = 'S' + productType;
42213
42516
  }
42214
42517
  request['productType'] = productType;
42215
- response = await this.privateMixGetAccountAccounts(this.extend(request, params));
42518
+ response = await this.privateMixGetMixV1AccountAccounts(this.extend(request, params));
42216
42519
  }
42217
42520
  else if (marginMode === 'isolated') {
42218
- response = await this.privateMarginGetIsolatedAccountAssets(this.extend(request, params));
42521
+ response = await this.privateMarginGetMarginV1IsolatedAccountAssets(this.extend(request, params));
42219
42522
  }
42220
42523
  else if (marginMode === 'cross') {
42221
- response = await this.privateMarginGetCrossAccountAssets(this.extend(request, params));
42524
+ response = await this.privateMarginGetMarginV1CrossAccountAssets(this.extend(request, params));
42222
42525
  }
42223
42526
  else if (marketType === 'spot') {
42224
- response = await this.privateSpotGetAccountAssets(this.extend(request, params));
42527
+ response = await this.privateSpotGetSpotV1AccountAssets(this.extend(request, params));
42225
42528
  }
42226
42529
  else {
42227
42530
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.NotSupported(this.id + ' fetchBalance() does not support ' + marketType + ' accounts');
@@ -42620,8 +42923,8 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
42620
42923
  */
42621
42924
  await this.loadMarkets();
42622
42925
  const market = this.market(symbol);
42623
- let marginMode = undefined;
42624
- [marginMode, params] = this.handleMarginModeAndParams('createOrder', params);
42926
+ const marginParams = this.handleMarginModeAndParams('createOrder', params);
42927
+ const marginMode = marginParams[0];
42625
42928
  const triggerPrice = this.safeValue2(params, 'stopPrice', 'triggerPrice');
42626
42929
  const stopLossTriggerPrice = this.safeValue(params, 'stopLossPrice');
42627
42930
  const takeProfitTriggerPrice = this.safeValue(params, 'takeProfitPrice');
@@ -42633,27 +42936,27 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
42633
42936
  let response = undefined;
42634
42937
  if (market['spot']) {
42635
42938
  if (isTriggerOrder) {
42636
- response = await this.privateSpotPostPlanPlacePlan(request);
42939
+ response = await this.privateSpotPostSpotV1PlanPlacePlan(request);
42637
42940
  }
42638
42941
  else if (marginMode === 'isolated') {
42639
- response = await this.privateMarginPostIsolatedOrderPlaceOrder(request);
42942
+ response = await this.privateMarginPostMarginV1IsolatedOrderPlaceOrder(request);
42640
42943
  }
42641
42944
  else if (marginMode === 'cross') {
42642
- response = await this.privateMarginPostCrossOrderPlaceOrder(request);
42945
+ response = await this.privateMarginPostMarginV1CrossOrderPlaceOrder(request);
42643
42946
  }
42644
42947
  else {
42645
- response = await this.privateSpotPostTradeOrders(request);
42948
+ response = await this.privateSpotPostSpotV1TradeOrders(request);
42646
42949
  }
42647
42950
  }
42648
42951
  else {
42649
42952
  if (isTriggerOrder) {
42650
- response = await this.privateMixPostPlanPlacePlan(request);
42953
+ response = await this.privateMixPostMixV1PlanPlacePlan(request);
42651
42954
  }
42652
42955
  else if (isStopLossOrTakeProfitTrigger) {
42653
- response = await this.privateMixPostPlanPlacePositionsTPSL(request);
42956
+ response = await this.privateMixPostMixV1PlanPlacePositionsTPSL(request);
42654
42957
  }
42655
42958
  else {
42656
- response = await this.privateMixPostOrderPlaceOrder(request);
42959
+ response = await this.privateMixPostMixV1OrderPlaceOrder(request);
42657
42960
  }
42658
42961
  }
42659
42962
  //
@@ -42913,16 +43216,16 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
42913
43216
  if ((market['swap']) || (market['future'])) {
42914
43217
  request['orderDataList'] = ordersRequests;
42915
43218
  request['marginCoin'] = market['settleId'];
42916
- response = await this.privateMixPostOrderBatchOrders(request);
43219
+ response = await this.privateMixPostMixV1OrderBatchOrders(request);
42917
43220
  }
42918
43221
  else if (marginMode === 'isolated') {
42919
- response = await this.privateMarginPostIsolatedOrderBatchPlaceOrder(request);
43222
+ response = await this.privateMarginPostMarginV1IsolatedOrderBatchPlaceOrder(request);
42920
43223
  }
42921
43224
  else if (marginMode === 'cross') {
42922
- response = await this.privateMarginPostCrossOrderBatchPlaceOrder(request);
43225
+ response = await this.privateMarginPostMarginV1CrossOrderBatchPlaceOrder(request);
42923
43226
  }
42924
43227
  else {
42925
- response = await this.privateSpotPostTradeBatchOrders(request);
43228
+ response = await this.privateSpotPostSpotV1TradeBatchOrders(request);
42926
43229
  }
42927
43230
  //
42928
43231
  // {
@@ -43019,7 +43322,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
43019
43322
  else {
43020
43323
  request['size'] = this.amountToPrecision(symbol, amount);
43021
43324
  }
43022
- response = await this.privateSpotPostPlanModifyPlan(this.extend(request, omitted));
43325
+ response = await this.privateSpotPostSpotV1PlanModifyPlan(this.extend(request, omitted));
43023
43326
  }
43024
43327
  else {
43025
43328
  request['symbol'] = market['id'];
@@ -43040,10 +43343,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
43040
43343
  request['triggerPrice'] = this.priceToPrecision(symbol, takeProfitPrice);
43041
43344
  request['planType'] = 'profit_plan';
43042
43345
  }
43043
- response = await this.privateMixPostPlanModifyTPSLPlan(this.extend(request, omitted));
43346
+ response = await this.privateMixPostMixV1PlanModifyTPSLPlan(this.extend(request, omitted));
43044
43347
  }
43045
43348
  else {
43046
- response = await this.privateMixPostPlanModifyPlan(this.extend(request, omitted));
43349
+ response = await this.privateMixPostMixV1PlanModifyPlan(this.extend(request, omitted));
43047
43350
  }
43048
43351
  }
43049
43352
  //
@@ -43101,27 +43404,27 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
43101
43404
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ArgumentsRequired(this.id + ' cancelOrder() requires a planType parameter for stop orders, either normal_plan, profit_plan or loss_plan');
43102
43405
  }
43103
43406
  request['planType'] = planType;
43104
- response = await this.privateMixPostPlanCancelPlan(this.extend(request, params));
43407
+ response = await this.privateMixPostMixV1PlanCancelPlan(this.extend(request, params));
43105
43408
  }
43106
43409
  else {
43107
- response = await this.privateMixPostOrderCancelOrder(this.extend(request, params));
43410
+ response = await this.privateMixPostMixV1OrderCancelOrder(this.extend(request, params));
43108
43411
  }
43109
43412
  }
43110
43413
  else if (marketType === 'spot') {
43111
43414
  if (marginMode !== undefined) {
43112
43415
  if (marginMode === 'isolated') {
43113
- response = await this.privateMarginPostIsolatedOrderCancelOrder(this.extend(request, params));
43416
+ response = await this.privateMarginPostMarginV1IsolatedOrderCancelOrder(this.extend(request, params));
43114
43417
  }
43115
43418
  else if (marginMode === 'cross') {
43116
- response = await this.privateMarginPostCrossOrderCancelOrder(this.extend(request, params));
43419
+ response = await this.privateMarginPostMarginV1CrossOrderCancelOrder(this.extend(request, params));
43117
43420
  }
43118
43421
  }
43119
43422
  else {
43120
43423
  if (stop) {
43121
- response = await this.privateSpotPostPlanCancelPlan(this.extend(request, params));
43424
+ response = await this.privateSpotPostSpotV1PlanCancelPlan(this.extend(request, params));
43122
43425
  }
43123
43426
  else {
43124
- response = await this.privateSpotPostTradeCancelOrder(this.extend(request, params));
43427
+ response = await this.privateSpotPostSpotV1TradeCancelOrder(this.extend(request, params));
43125
43428
  }
43126
43429
  }
43127
43430
  }
@@ -43224,21 +43527,21 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
43224
43527
  request['orderIds'] = ids;
43225
43528
  if (marginMode !== undefined) {
43226
43529
  if (marginMode === 'cross') {
43227
- response = await this.privateMarginPostCrossOrderBatchCancelOrder(this.extend(request, params));
43530
+ response = await this.privateMarginPostMarginV1CrossOrderBatchCancelOrder(this.extend(request, params));
43228
43531
  }
43229
43532
  else {
43230
- response = await this.privateMarginPostIsolatedOrderBatchCancelOrder(this.extend(request, params));
43533
+ response = await this.privateMarginPostMarginV1IsolatedOrderBatchCancelOrder(this.extend(request, params));
43231
43534
  }
43232
43535
  }
43233
43536
  else {
43234
- response = await this.privateSpotPostTradeCancelBatchOrdersV2(this.extend(request, params));
43537
+ response = await this.privateSpotPostSpotV1TradeCancelBatchOrdersV2(this.extend(request, params));
43235
43538
  }
43236
43539
  }
43237
43540
  else {
43238
43541
  request['symbol'] = market['id'];
43239
43542
  request['marginCoin'] = market['quote'];
43240
43543
  request['orderIds'] = ids;
43241
- response = await this.privateMixPostOrderCancelBatchOrders(this.extend(request, params));
43544
+ response = await this.privateMixPostMixV1OrderCancelBatchOrders(this.extend(request, params));
43242
43545
  }
43243
43546
  //
43244
43547
  // spot
@@ -43317,10 +43620,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
43317
43620
  'symbol': market['info']['symbolName'], // regular id like LTCUSDT_SPBL does not work here
43318
43621
  };
43319
43622
  if (marginMode === 'cross') {
43320
- return await this.privateMarginPostCrossOrderBatchCancelOrder(this.extend(spotMarginRequest, params));
43623
+ return await this.privateMarginPostMarginV1CrossOrderBatchCancelOrder(this.extend(spotMarginRequest, params));
43321
43624
  }
43322
43625
  else {
43323
- return await this.privateMarginPostIsolatedOrderBatchCancelOrder(this.extend(spotMarginRequest, params));
43626
+ return await this.privateMarginPostMarginV1IsolatedOrderBatchCancelOrder(this.extend(spotMarginRequest, params));
43324
43627
  }
43325
43628
  }
43326
43629
  const request = {
@@ -43335,10 +43638,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
43335
43638
  if (planType === undefined) {
43336
43639
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ArgumentsRequired(this.id + ' cancelOrder() requires a planType parameter for stop orders, either normal_plan, profit_plan, loss_plan, pos_profit, pos_loss, moving_plan or track_plan');
43337
43640
  }
43338
- response = await this.privateMixPostPlanCancelAllPlan(this.extend(request, params));
43641
+ response = await this.privateMixPostMixV1PlanCancelAllPlan(this.extend(request, params));
43339
43642
  }
43340
43643
  else {
43341
- response = await this.privateMixPostOrderCancelAllOrders(this.extend(request, params));
43644
+ response = await this.privateMixPostMixV1OrderCancelAllOrders(this.extend(request, params));
43342
43645
  }
43343
43646
  //
43344
43647
  // {
@@ -43381,10 +43684,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
43381
43684
  };
43382
43685
  let response = undefined;
43383
43686
  if (marketType === 'spot') {
43384
- response = await this.privateSpotPostTradeOrderInfo(this.extend(request, query));
43687
+ response = await this.privateSpotPostSpotV1TradeOrderInfo(this.extend(request, query));
43385
43688
  }
43386
43689
  else if ((marketType === 'swap') || (marketType === 'future')) {
43387
- response = await this.privateMixGetOrderDetail(this.extend(request, query));
43690
+ response = await this.privateMixGetMixV1OrderDetail(this.extend(request, query));
43388
43691
  }
43389
43692
  else {
43390
43693
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.NotSupported(this.id + ' fetchOrder() does not support ' + marketType + ' market');
@@ -43487,10 +43790,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
43487
43790
  if (limit !== undefined) {
43488
43791
  request['pageSize'] = limit;
43489
43792
  }
43490
- response = await this.privateSpotPostPlanCurrentPlan(this.extend(request, params));
43793
+ response = await this.privateSpotPostSpotV1PlanCurrentPlan(this.extend(request, params));
43491
43794
  }
43492
43795
  else {
43493
- response = await this.privateMixGetPlanCurrentPlan(this.extend(request, params));
43796
+ response = await this.privateMixGetMixV1PlanCurrentPlan(this.extend(request, params));
43494
43797
  }
43495
43798
  }
43496
43799
  else {
@@ -43512,14 +43815,14 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
43512
43815
  request['pageSize'] = limit;
43513
43816
  }
43514
43817
  if (marginMode === 'isolated') {
43515
- response = await this.privateMarginGetIsolatedOrderOpenOrders(this.extend(request, params));
43818
+ response = await this.privateMarginGetMarginV1IsolatedOrderOpenOrders(this.extend(request, params));
43516
43819
  }
43517
43820
  else if (marginMode === 'cross') {
43518
- response = await this.privateMarginGetCrossOrderOpenOrders(this.extend(request, params));
43821
+ response = await this.privateMarginGetMarginV1CrossOrderOpenOrders(this.extend(request, params));
43519
43822
  }
43520
43823
  }
43521
43824
  else {
43522
- response = await this.privateSpotPostTradeOpenOrders(this.extend(request, params));
43825
+ response = await this.privateSpotPostSpotV1TradeOpenOrders(this.extend(request, params));
43523
43826
  }
43524
43827
  }
43525
43828
  else {
@@ -43532,11 +43835,11 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
43532
43835
  productType = 'S' + productType;
43533
43836
  }
43534
43837
  request['productType'] = productType;
43535
- response = await this.privateMixGetOrderMarginCoinCurrent(this.extend(request, params));
43838
+ response = await this.privateMixGetMixV1OrderMarginCoinCurrent(this.extend(request, params));
43536
43839
  }
43537
43840
  else {
43538
43841
  this.checkRequiredSymbol('fetchOpenOrders', symbol);
43539
- response = await this.privateMixGetOrderCurrent(this.extend(request, params));
43842
+ response = await this.privateMixGetMixV1OrderCurrent(this.extend(request, params));
43540
43843
  }
43541
43844
  }
43542
43845
  }
@@ -43807,15 +44110,15 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
43807
44110
  }
43808
44111
  if (stop) {
43809
44112
  if (marketType === 'spot') {
43810
- response = await this.privateSpotPostPlanHistoryPlan(this.extend(request, params));
44113
+ response = await this.privateSpotPostSpotV1PlanHistoryPlan(this.extend(request, params));
43811
44114
  }
43812
44115
  else {
43813
- response = await this.privateMixGetPlanHistoryPlan(this.extend(request, params));
44116
+ response = await this.privateMixGetMixV1PlanHistoryPlan(this.extend(request, params));
43814
44117
  }
43815
44118
  }
43816
44119
  else {
43817
44120
  if ((marketType === 'swap') || (marketType === 'future')) {
43818
- response = await this.privateMixGetOrderHistory(this.extend(request, params));
44121
+ response = await this.privateMixGetMixV1OrderHistory(this.extend(request, params));
43819
44122
  }
43820
44123
  else {
43821
44124
  if (marginMode !== undefined) {
@@ -43830,10 +44133,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
43830
44133
  request['pageSize'] = limit;
43831
44134
  }
43832
44135
  if (marginMode === 'isolated') {
43833
- response = await this.privateMarginGetIsolatedOrderHistory(this.extend(request, params));
44136
+ response = await this.privateMarginGetMarginV1IsolatedOrderHistory(this.extend(request, params));
43834
44137
  }
43835
44138
  else if (marginMode === 'cross') {
43836
- response = await this.privateMarginGetCrossOrderHistory(this.extend(request, params));
44139
+ response = await this.privateMarginGetMarginV1CrossOrderHistory(this.extend(request, params));
43837
44140
  }
43838
44141
  }
43839
44142
  else {
@@ -43847,7 +44150,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
43847
44150
  params = this.omit(params, 'endTime');
43848
44151
  request['before'] = endTime;
43849
44152
  }
43850
- response = await this.privateSpotPostTradeHistory(this.extend(request, params));
44153
+ response = await this.privateSpotPostSpotV1TradeHistory(this.extend(request, params));
43851
44154
  }
43852
44155
  }
43853
44156
  }
@@ -44059,7 +44362,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
44059
44362
  request['before'] = since;
44060
44363
  }
44061
44364
  [request, params] = this.handleUntilOption('after', request, params);
44062
- const response = await this.privateSpotPostAccountBills(this.extend(request, params));
44365
+ const response = await this.privateSpotPostSpotV1AccountBills(this.extend(request, params));
44063
44366
  //
44064
44367
  // {
44065
44368
  // "code": "00000",
@@ -44180,10 +44483,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
44180
44483
  request['pageSize'] = limit;
44181
44484
  }
44182
44485
  if (marginMode === 'isolated') {
44183
- response = await this.privateMarginGetIsolatedOrderFills(this.extend(request, params));
44486
+ response = await this.privateMarginGetMarginV1IsolatedOrderFills(this.extend(request, params));
44184
44487
  }
44185
44488
  else if (marginMode === 'cross') {
44186
- response = await this.privateMarginGetCrossOrderFills(this.extend(request, params));
44489
+ response = await this.privateMarginGetMarginV1CrossOrderFills(this.extend(request, params));
44187
44490
  }
44188
44491
  }
44189
44492
  else {
@@ -44194,7 +44497,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
44194
44497
  if (limit !== undefined) {
44195
44498
  request['limit'] = limit;
44196
44499
  }
44197
- response = await this.privateSpotPostTradeFills(this.extend(request, params));
44500
+ response = await this.privateSpotPostSpotV1TradeFills(this.extend(request, params));
44198
44501
  }
44199
44502
  }
44200
44503
  else {
@@ -44209,7 +44512,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
44209
44512
  if (!('endTime' in request) && (orderId === undefined)) {
44210
44513
  request['endTime'] = this.milliseconds();
44211
44514
  }
44212
- response = await this.privateMixGetOrderFills(this.extend(request, params));
44515
+ response = await this.privateMixGetMixV1OrderFills(this.extend(request, params));
44213
44516
  }
44214
44517
  //
44215
44518
  // spot
@@ -44320,10 +44623,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
44320
44623
  };
44321
44624
  let response = undefined;
44322
44625
  if (marketType === 'spot') {
44323
- response = await this.privateSpotPostTradeFills(this.extend(request, query));
44626
+ response = await this.privateSpotPostSpotV1TradeFills(this.extend(request, query));
44324
44627
  }
44325
44628
  else if ((marketType === 'swap') || (marketType === 'future')) {
44326
- response = await this.privateMixGetOrderFills(this.extend(request, query));
44629
+ response = await this.privateMixGetMixV1OrderFills(this.extend(request, query));
44327
44630
  }
44328
44631
  else {
44329
44632
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.NotSupported(this.id + ' fetchOrderTrades() does not support ' + marketType + ' market');
@@ -44370,7 +44673,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
44370
44673
  'symbol': market['id'],
44371
44674
  'marginCoin': market['settleId'],
44372
44675
  };
44373
- const response = await this.privateMixGetPositionSinglePositionV2(this.extend(request, params));
44676
+ const response = await this.privateMixGetMixV1PositionSinglePositionV2(this.extend(request, params));
44374
44677
  //
44375
44678
  // {
44376
44679
  // "code": "00000",
@@ -44418,7 +44721,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
44418
44721
  const sandboxMode = this.safeValue(this.options, 'sandboxMode', false);
44419
44722
  await this.loadMarkets();
44420
44723
  const fetchPositionsOptions = this.safeValue(this.options, 'fetchPositions', {});
44421
- const method = this.safeString(fetchPositionsOptions, 'method', 'privateMixGetPositionAllPositionV2');
44724
+ const method = this.safeString(fetchPositionsOptions, 'method', 'privateMixGetMixV1PositionAllPositionV2');
44422
44725
  let market = undefined;
44423
44726
  if (symbols !== undefined) {
44424
44727
  const first = this.safeString(symbols, 0);
@@ -44433,7 +44736,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
44433
44736
  const request = {
44434
44737
  'productType': productType,
44435
44738
  };
44436
- if (method === 'privateMixGetPositionHistoryPosition') {
44739
+ if (method === 'privateMixGetMixV1PositionHistoryPosition') {
44437
44740
  // endTime and startTime mandatory
44438
44741
  let since = this.safeInteger2(params, 'startTime', 'since');
44439
44742
  if (since === undefined) {
@@ -44448,12 +44751,12 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
44448
44751
  }
44449
44752
  let response = undefined;
44450
44753
  let isHistory = false;
44451
- if (method === 'privateMixGetPositionAllPositionV2') {
44452
- response = await this.privateMixGetPositionAllPositionV2(this.extend(request, params));
44754
+ if (method === 'privateMixGetMixV1PositionAllPositionV2') {
44755
+ response = await this.privateMixGetMixV1PositionAllPositionV2(this.extend(request, params));
44453
44756
  }
44454
44757
  else {
44455
44758
  isHistory = true;
44456
- response = await this.privateMixGetPositionHistoryPosition(this.extend(request, params));
44759
+ response = await this.privateMixGetMixV1PositionHistoryPosition(this.extend(request, params));
44457
44760
  }
44458
44761
  //
44459
44762
  // {
@@ -44696,7 +44999,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
44696
44999
  request['pageSize'] = limit;
44697
45000
  }
44698
45001
  request['nextPage'] = true;
44699
- const response = await this.publicMixGetMarketHistoryFundRate(this.extend(request, params));
45002
+ const response = await this.publicMixGetMixV1MarketHistoryFundRate(this.extend(request, params));
44700
45003
  //
44701
45004
  // {
44702
45005
  // "code": "00000",
@@ -44747,7 +45050,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
44747
45050
  const request = {
44748
45051
  'symbol': market['id'],
44749
45052
  };
44750
- const response = await this.publicMixGetMarketCurrentFundRate(this.extend(request, params));
45053
+ const response = await this.publicMixGetMixV1MarketCurrentFundRate(this.extend(request, params));
44751
45054
  //
44752
45055
  // {
44753
45056
  // "code": "00000",
@@ -44821,7 +45124,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
44821
45124
  if (limit !== undefined) {
44822
45125
  request['pageSize'] = limit;
44823
45126
  }
44824
- const response = await this.privateMixGetAccountAccountBill(this.extend(request, params));
45127
+ const response = await this.privateMixGetMixV1AccountAccountBill(this.extend(request, params));
44825
45128
  //
44826
45129
  // {
44827
45130
  // "code": "00000",
@@ -44905,7 +45208,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
44905
45208
  'holdSide': holdSide, // long or short
44906
45209
  };
44907
45210
  params = this.omit(params, 'holdSide');
44908
- const response = await this.privateMixPostAccountSetMargin(this.extend(request, params));
45211
+ const response = await this.privateMixPostMixV1AccountSetMargin(this.extend(request, params));
44909
45212
  //
44910
45213
  // {
44911
45214
  // "code": "00000",
@@ -44987,7 +45290,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
44987
45290
  'symbol': market['id'],
44988
45291
  'marginCoin': market['settleId'],
44989
45292
  };
44990
- const response = await this.privateMixGetAccountAccount(this.extend(request, params));
45293
+ const response = await this.privateMixGetMixV1AccountAccount(this.extend(request, params));
44991
45294
  //
44992
45295
  // {
44993
45296
  // "code": "00000",
@@ -45036,7 +45339,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
45036
45339
  'leverage': leverage,
45037
45340
  // 'holdSide': 'long',
45038
45341
  };
45039
- return await this.privateMixPostAccountSetLeverage(this.extend(request, params));
45342
+ return await this.privateMixPostMixV1AccountSetLeverage(this.extend(request, params));
45040
45343
  }
45041
45344
  async setMarginMode(marginMode, symbol = undefined, params = {}) {
45042
45345
  /**
@@ -45067,7 +45370,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
45067
45370
  'marginCoin': market['settleId'],
45068
45371
  'marginMode': marginMode,
45069
45372
  };
45070
- return await this.privateMixPostAccountSetMarginMode(this.extend(request, params));
45373
+ return await this.privateMixPostMixV1AccountSetMarginMode(this.extend(request, params));
45071
45374
  }
45072
45375
  async setPositionMode(hedged, symbol = undefined, params = {}) {
45073
45376
  /**
@@ -45098,7 +45401,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
45098
45401
  productType = 'S' + productType;
45099
45402
  }
45100
45403
  request['productType'] = productType;
45101
- const response = await this.privateMixPostAccountSetPositionMode(this.extend(request, params));
45404
+ const response = await this.privateMixPostMixV1AccountSetPositionMode(this.extend(request, params));
45102
45405
  //
45103
45406
  // {
45104
45407
  // "code": "40919",
@@ -45127,7 +45430,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
45127
45430
  const request = {
45128
45431
  'symbol': market['id'],
45129
45432
  };
45130
- const response = await this.publicMixGetMarketOpenInterest(this.extend(request, params));
45433
+ const response = await this.publicMixGetMixV1MarketOpenInterest(this.extend(request, params));
45131
45434
  //
45132
45435
  // {
45133
45436
  // "code": "00000",
@@ -45184,7 +45487,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
45184
45487
  request['limit'] = limit;
45185
45488
  }
45186
45489
  [request, params] = this.handleUntilOption('after', request, params);
45187
- const response = await this.privateSpotGetAccountTransferRecords(this.extend(request, params));
45490
+ const response = await this.privateSpotGetSpotV1AccountTransferRecords(this.extend(request, params));
45188
45491
  //
45189
45492
  // {
45190
45493
  // "code":"00000",
@@ -45238,7 +45541,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
45238
45541
  'amount': amount,
45239
45542
  'coin': currency['info']['coinName'],
45240
45543
  };
45241
- const response = await this.privateSpotPostWalletTransferV2(this.extend(request, params));
45544
+ const response = await this.privateSpotPostSpotV1WalletTransferV2(this.extend(request, params));
45242
45545
  //
45243
45546
  // {
45244
45547
  // "code": "00000",
@@ -45377,7 +45680,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
45377
45680
  * @returns {object} a list of [fee structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#fee-structure}
45378
45681
  */
45379
45682
  await this.loadMarkets();
45380
- const response = await this.publicSpotGetPublicCurrencies(params);
45683
+ const response = await this.publicSpotGetSpotV1PublicCurrencies(params);
45381
45684
  const data = this.safeValue(response, 'data');
45382
45685
  return this.parseDepositWithdrawFees(data, codes, 'coinName');
45383
45686
  }
@@ -45439,10 +45742,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
45439
45742
  const parts = marketId.split('_');
45440
45743
  const marginMarketId = this.safeStringUpper(parts, 0);
45441
45744
  request['symbol'] = marginMarketId;
45442
- response = await this.privateMarginPostIsolatedAccountBorrow(this.extend(request, params));
45745
+ response = await this.privateMarginPostMarginV1IsolatedAccountBorrow(this.extend(request, params));
45443
45746
  }
45444
45747
  else {
45445
- response = await this.privateMarginPostCrossAccountBorrow(this.extend(request, params));
45748
+ response = await this.privateMarginPostMarginV1CrossAccountBorrow(this.extend(request, params));
45446
45749
  }
45447
45750
  //
45448
45751
  // isolated
@@ -45505,10 +45808,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
45505
45808
  const parts = marketId.split('_');
45506
45809
  const marginMarketId = this.safeStringUpper(parts, 0);
45507
45810
  request['symbol'] = marginMarketId;
45508
- response = await this.privateMarginPostIsolatedAccountRepay(this.extend(request, params));
45811
+ response = await this.privateMarginPostMarginV1IsolatedAccountRepay(this.extend(request, params));
45509
45812
  }
45510
45813
  else {
45511
- response = await this.privateMarginPostCrossAccountRepay(this.extend(request, params));
45814
+ response = await this.privateMarginPostMarginV1CrossAccountRepay(this.extend(request, params));
45512
45815
  }
45513
45816
  //
45514
45817
  // isolated
@@ -45639,10 +45942,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
45639
45942
  if (marginMode === 'isolated') {
45640
45943
  this.checkRequiredSymbol('fetchMyLiquidations', symbol);
45641
45944
  request['symbol'] = market['info']['symbolName'];
45642
- response = await this.privateMarginGetIsolatedLiquidationList(this.extend(request, params));
45945
+ response = await this.privateMarginGetMarginV1IsolatedLiquidationList(this.extend(request, params));
45643
45946
  }
45644
45947
  else if (marginMode === 'cross') {
45645
- response = await this.privateMarginGetCrossLiquidationList(this.extend(request, params));
45948
+ response = await this.privateMarginGetMarginV1CrossLiquidationList(this.extend(request, params));
45646
45949
  }
45647
45950
  //
45648
45951
  // isolated
@@ -45771,11 +46074,11 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
45771
46074
  if ((symbol !== undefined) || (marginMode === 'isolated')) {
45772
46075
  this.checkRequiredSymbol('fetchBorrowRate', symbol);
45773
46076
  request['symbol'] = market['info']['symbolName'];
45774
- response = await this.publicMarginGetIsolatedPublicInterestRateAndLimit(this.extend(request, params));
46077
+ response = await this.publicMarginGetMarginV1IsolatedPublicInterestRateAndLimit(this.extend(request, params));
45775
46078
  }
45776
46079
  else if (marginMode === 'cross') {
45777
46080
  request['coin'] = currency['code'];
45778
- response = await this.publicMarginGetCrossPublicInterestRateAndLimit(this.extend(request, params));
46081
+ response = await this.publicMarginGetMarginV1CrossPublicInterestRateAndLimit(this.extend(request, params));
45779
46082
  }
45780
46083
  //
45781
46084
  // isolated
@@ -45979,10 +46282,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
45979
46282
  if (marginMode === 'isolated') {
45980
46283
  this.checkRequiredSymbol('fetchBorrowInterest', symbol);
45981
46284
  request['symbol'] = market['info']['symbolName'];
45982
- response = await this.privateMarginGetIsolatedInterestList(this.extend(request, params));
46285
+ response = await this.privateMarginGetMarginV1IsolatedInterestList(this.extend(request, params));
45983
46286
  }
45984
46287
  else if (marginMode === 'cross') {
45985
- response = await this.privateMarginGetCrossInterestList(this.extend(request, params));
46288
+ response = await this.privateMarginGetMarginV1CrossInterestList(this.extend(request, params));
45986
46289
  }
45987
46290
  //
45988
46291
  // isolated
@@ -46128,25 +46431,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
46128
46431
  sign(path, api = [], method = 'GET', params = {}, headers = undefined, body = undefined) {
46129
46432
  const signed = api[0] === 'private';
46130
46433
  const endpoint = api[1];
46131
- let pathPart = '';
46132
- if (endpoint === 'spot') {
46133
- pathPart = '/api/spot/v1';
46134
- }
46135
- else if (endpoint === 'mix') {
46136
- pathPart = '/api/mix/v1';
46137
- }
46138
- else if (endpoint === 'user') {
46139
- pathPart = '/api/user/v1';
46140
- }
46141
- else if (endpoint === 'broker') {
46142
- pathPart = '/api/broker/v1';
46143
- }
46144
- else if (endpoint === 'margin') {
46145
- pathPart = '/api/margin/v1';
46146
- }
46147
- else {
46148
- pathPart = '/api/p2p/v1';
46149
- }
46434
+ const pathPart = '/api';
46150
46435
  const request = '/' + this.implodeParams(path, params);
46151
46436
  const payload = pathPart + request;
46152
46437
  let url = this.implodeHostname(this.urls['api'][endpoint]) + payload;
@@ -189468,6 +189753,1261 @@ class okx extends _abstract_okx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
189468
189753
  }
189469
189754
 
189470
189755
 
189756
+ /***/ }),
189757
+
189758
+ /***/ 2466:
189759
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
189760
+
189761
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
189762
+ /* harmony export */ "Z": () => (/* binding */ p2b)
189763
+ /* harmony export */ });
189764
+ /* harmony import */ var _ccxt_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2194);
189765
+ /* harmony import */ var _abstract_p2b_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8310);
189766
+ /* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6689);
189767
+ /* harmony import */ var _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9292);
189768
+ /* harmony import */ var _static_dependencies_noble_hashes_sha512_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7110);
189769
+ // ---------------------------------------------------------------------------
189770
+
189771
+
189772
+
189773
+
189774
+
189775
+ // ---------------------------------------------------------------------------
189776
+ /**
189777
+ * @class p2b
189778
+ * @extends Exchange
189779
+ */
189780
+ class p2b extends _abstract_p2b_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
189781
+ describe() {
189782
+ return this.deepExtend(super.describe(), {
189783
+ 'id': 'p2b',
189784
+ 'name': 'p2b',
189785
+ 'countries': ['LT'],
189786
+ 'rateLimit': 100,
189787
+ 'version': 'v2',
189788
+ 'has': {
189789
+ 'CORS': undefined,
189790
+ 'spot': true,
189791
+ 'margin': false,
189792
+ 'swap': false,
189793
+ 'future': false,
189794
+ 'option': false,
189795
+ 'addMargin': false,
189796
+ 'cancelAllOrders': false,
189797
+ 'cancelOrder': true,
189798
+ 'cancelOrders': false,
189799
+ 'createDepositAddress': false,
189800
+ 'createMarketOrder': false,
189801
+ 'createOrder': true,
189802
+ 'createOrders': false,
189803
+ 'createPostOnlyOrder': false,
189804
+ 'createReduceOnlyOrder': false,
189805
+ 'createStopLimitOrder': false,
189806
+ 'createStopMarketOrder': false,
189807
+ 'createStopOrder': false,
189808
+ 'fetchAccounts': false,
189809
+ 'fetchBalance': true,
189810
+ 'fetchBorrowInterest': false,
189811
+ 'fetchBorrowRate': false,
189812
+ 'fetchBorrowRateHistory': false,
189813
+ 'fetchBorrowRates': false,
189814
+ 'fetchBorrowRatesPerSymbol': false,
189815
+ 'fetchClosedOrders': true,
189816
+ 'fetchDeposit': false,
189817
+ 'fetchDepositAddress': false,
189818
+ 'fetchDepositAddresses': false,
189819
+ 'fetchDepositAddressesByNetwork': false,
189820
+ 'fetchDeposits': false,
189821
+ 'fetchDepositsWithdrawals': false,
189822
+ 'fetchFundingHistory': false,
189823
+ 'fetchFundingRate': false,
189824
+ 'fetchFundingRateHistory': false,
189825
+ 'fetchFundingRates': false,
189826
+ 'fetchIndexOHLCV': false,
189827
+ 'fetchLedger': false,
189828
+ 'fetchLedgerEntry': false,
189829
+ 'fetchLeverageTiers': false,
189830
+ 'fetchMarketLeverageTiers': false,
189831
+ 'fetchMarkets': true,
189832
+ 'fetchMarkOHLCV': false,
189833
+ 'fetchMyTrades': true,
189834
+ 'fetchOHLCV': true,
189835
+ 'fetchOpenInterest': false,
189836
+ 'fetchOpenInterestHistory': false,
189837
+ 'fetchOpenOrders': true,
189838
+ 'fetchOrderBook': true,
189839
+ 'fetchOrderBooks': false,
189840
+ 'fetchOrders': true,
189841
+ 'fetchOrderTrades': true,
189842
+ 'fetchPermissions': false,
189843
+ 'fetchPosition': false,
189844
+ 'fetchPositions': false,
189845
+ 'fetchPositionsBySymbol': false,
189846
+ 'fetchPositionsRisk': false,
189847
+ 'fetchPremiumIndexOHLCV': false,
189848
+ 'fetchTicker': true,
189849
+ 'fetchTickers': true,
189850
+ 'fetchTrades': true,
189851
+ 'fetchTradingLimits': false,
189852
+ 'fetchTransactionFee': false,
189853
+ 'fetchTransactionFees': false,
189854
+ 'fetchTransactions': false,
189855
+ 'fetchTransfers': false,
189856
+ 'fetchWithdrawAddresses': false,
189857
+ 'fetchWithdrawal': false,
189858
+ 'fetchWithdrawals': false,
189859
+ 'reduceMargin': false,
189860
+ 'setLeverage': false,
189861
+ 'setMargin': false,
189862
+ 'setMarginMode': false,
189863
+ 'setPositionMode': false,
189864
+ 'signIn': false,
189865
+ 'transfer': false,
189866
+ 'withdraw': false,
189867
+ },
189868
+ 'timeframes': {
189869
+ '1m': '1m',
189870
+ '1h': '1h',
189871
+ '1d': '1d',
189872
+ },
189873
+ 'urls': {
189874
+ 'extension': '.json',
189875
+ 'referral': 'https://p2pb2b.com?referral=ee784c53',
189876
+ 'logo': 'https://cdn.worldvectorlogo.com/logos/p2b-1.svg',
189877
+ 'api': {
189878
+ 'public': 'https://api.p2pb2b.com/api/v2/public',
189879
+ 'private': 'https://api.p2pb2b.com/api/v2',
189880
+ },
189881
+ 'www': 'https://p2pb2b.com/',
189882
+ 'doc': 'https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md',
189883
+ 'fees': 'https://p2pb2b.com/fee-schedule/',
189884
+ },
189885
+ 'api': {
189886
+ 'public': {
189887
+ 'get': {
189888
+ 'markets': 1,
189889
+ 'market': 1,
189890
+ 'tickers': 1,
189891
+ 'ticker': 1,
189892
+ 'book': 1,
189893
+ 'history': 1,
189894
+ 'depth/result': 1,
189895
+ 'market/kline': 1,
189896
+ },
189897
+ },
189898
+ 'private': {
189899
+ 'post': {
189900
+ 'account/balances': 1,
189901
+ 'account/balance': 1,
189902
+ 'order/new': 1,
189903
+ 'order/cancel': 1,
189904
+ 'orders': 1,
189905
+ 'account/market_order_history': 1,
189906
+ 'account/market_deal_history': 1,
189907
+ 'account/order': 1,
189908
+ 'account/order_history': 1,
189909
+ 'account/executed_history': 1,
189910
+ },
189911
+ },
189912
+ },
189913
+ 'fees': {
189914
+ 'trading': {
189915
+ 'tierBased': true,
189916
+ 'percentage': true,
189917
+ 'taker': [
189918
+ [this.parseNumber('0'), this.parseNumber('0.2')],
189919
+ [this.parseNumber('1'), this.parseNumber('0.19')],
189920
+ [this.parseNumber('5'), this.parseNumber('0.18')],
189921
+ [this.parseNumber('10'), this.parseNumber('0.17')],
189922
+ [this.parseNumber('25'), this.parseNumber('0.16')],
189923
+ [this.parseNumber('75'), this.parseNumber('0.15')],
189924
+ [this.parseNumber('100'), this.parseNumber('0.14')],
189925
+ [this.parseNumber('150'), this.parseNumber('0.13')],
189926
+ [this.parseNumber('300'), this.parseNumber('0.12')],
189927
+ [this.parseNumber('450'), this.parseNumber('0.11')],
189928
+ [this.parseNumber('500'), this.parseNumber('0.1')],
189929
+ ],
189930
+ 'maker': [
189931
+ [this.parseNumber('0'), this.parseNumber('0.2')],
189932
+ [this.parseNumber('1'), this.parseNumber('0.18')],
189933
+ [this.parseNumber('5'), this.parseNumber('0.16')],
189934
+ [this.parseNumber('10'), this.parseNumber('0.14')],
189935
+ [this.parseNumber('25'), this.parseNumber('0.12')],
189936
+ [this.parseNumber('75'), this.parseNumber('0.1')],
189937
+ [this.parseNumber('100'), this.parseNumber('0.08')],
189938
+ [this.parseNumber('150'), this.parseNumber('0.06')],
189939
+ [this.parseNumber('300'), this.parseNumber('0.04')],
189940
+ [this.parseNumber('450'), this.parseNumber('0.02')],
189941
+ [this.parseNumber('500'), this.parseNumber('0.01')],
189942
+ ],
189943
+ },
189944
+ },
189945
+ 'commonCurrencies': {},
189946
+ 'precisionMode': _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__/* .TICK_SIZE */ .sh,
189947
+ 'exceptions': {
189948
+ '1001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189949
+ '1002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189950
+ '1003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189951
+ '1004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189952
+ '1005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189953
+ '1006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189954
+ '1007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189955
+ '1008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189956
+ '1009': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189957
+ '1010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189958
+ '1011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189959
+ '1012': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189960
+ '1013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189961
+ '1014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189962
+ '1015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189963
+ '1016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
189964
+ '2010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189965
+ '2020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189966
+ '2021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189967
+ '2030': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189968
+ '2040': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
189969
+ '2050': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189970
+ '2051': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189971
+ '2052': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189972
+ '2060': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189973
+ '2061': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189974
+ '2062': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189975
+ '2070': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189976
+ '3001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189977
+ '3020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189978
+ '3030': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189979
+ '3040': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189980
+ '3050': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189981
+ '3060': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189982
+ '3070': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189983
+ '3080': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189984
+ '3090': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189985
+ '3100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189986
+ '3110': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
189987
+ '4001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeNotAvailable,
189988
+ '6010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds, // Balance not enough. Insufficient balance.
189989
+ },
189990
+ 'options': {},
189991
+ });
189992
+ }
189993
+ async fetchMarkets(params = {}) {
189994
+ /**
189995
+ * @method
189996
+ * @name p2b#fetchMarkets
189997
+ * @description retrieves data on all markets for bigone
189998
+ * @see https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#markets
189999
+ * @param {object} [params] extra parameters specific to the exchange api endpoint
190000
+ * @returns {object[]} an array of objects representing market data
190001
+ */
190002
+ const response = await this.publicGetMarkets(params);
190003
+ //
190004
+ // {
190005
+ // "success": true,
190006
+ // "errorCode": "",
190007
+ // "message": "",
190008
+ // "result": [
190009
+ // {
190010
+ // "name": "ETH_BTC",
190011
+ // "stock": "ETH",
190012
+ // "money": "BTC",
190013
+ // "precision": {
190014
+ // "money": "6",
190015
+ // "stock": "4",
190016
+ // "fee": "4"
190017
+ // },
190018
+ // "limits": {
190019
+ // "min_amount": "0.001",
190020
+ // "max_amount": "100000",
190021
+ // "step_size": "0.0001",
190022
+ // "min_price": "0.00001",
190023
+ // "max_price": "922327",
190024
+ // "tick_size": "0.00001",
190025
+ // "min_total": "0.0001"
190026
+ // }
190027
+ // },
190028
+ // ...
190029
+ // ]
190030
+ // }
190031
+ //
190032
+ const markets = this.safeValue(response, 'result', []);
190033
+ const result = [];
190034
+ for (let i = 0; i < markets.length; i++) {
190035
+ const market = markets[i];
190036
+ const marketId = this.safeString(market, 'name');
190037
+ const baseId = this.safeValue(market, 'stock');
190038
+ const quoteId = this.safeValue(market, 'money');
190039
+ const base = this.safeCurrencyCode(baseId);
190040
+ const quote = this.safeCurrencyCode(quoteId);
190041
+ const precision = this.safeValue(market, 'precision');
190042
+ const limits = this.safeValue(market, 'limits');
190043
+ const maxAmount = this.safeString(limits, 'max_amount');
190044
+ const maxPrice = this.safeString(limits, 'max_price');
190045
+ const entry = this.safeMarketStructure({
190046
+ 'id': marketId,
190047
+ 'symbol': base + '/' + quote,
190048
+ 'base': base,
190049
+ 'quote': quote,
190050
+ 'settle': undefined,
190051
+ 'baseId': baseId,
190052
+ 'quoteId': quoteId,
190053
+ 'settleId': undefined,
190054
+ 'type': 'spot',
190055
+ 'spot': true,
190056
+ 'margin': false,
190057
+ 'swap': false,
190058
+ 'future': false,
190059
+ 'option': false,
190060
+ 'active': true,
190061
+ 'contract': false,
190062
+ 'linear': undefined,
190063
+ 'inverse': undefined,
190064
+ 'contractSize': undefined,
190065
+ 'expiry': undefined,
190066
+ 'expiryDatetime': undefined,
190067
+ 'strike': undefined,
190068
+ 'optionType': undefined,
190069
+ 'precision': {
190070
+ 'amount': this.safeNumber(limits, 'step_size'),
190071
+ 'price': this.safeNumber(limits, 'tick_size'),
190072
+ 'base': this.parsePrecision(this.safeString(precision, 'stock')),
190073
+ 'quote': this.parsePrecision(this.safeString(precision, 'money')),
190074
+ },
190075
+ 'limits': {
190076
+ 'leverage': {
190077
+ 'min': undefined,
190078
+ 'max': undefined,
190079
+ },
190080
+ 'amount': {
190081
+ 'min': this.safeNumber(limits, 'min_amount'),
190082
+ 'max': _ccxt_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringEq */ .O.stringEq(maxAmount, '0') ? undefined : this.parseNumber(maxAmount),
190083
+ },
190084
+ 'price': {
190085
+ 'min': this.safeString(limits, 'min_price'),
190086
+ 'max': _ccxt_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringEq */ .O.stringEq(maxPrice, '0') ? undefined : this.parseNumber(maxPrice),
190087
+ },
190088
+ 'cost': {
190089
+ 'min': undefined,
190090
+ 'max': undefined,
190091
+ },
190092
+ },
190093
+ 'created': undefined,
190094
+ 'info': market,
190095
+ });
190096
+ result.push(entry);
190097
+ }
190098
+ return result;
190099
+ }
190100
+ async fetchTickers(symbols = undefined, params = {}) {
190101
+ /**
190102
+ * @method
190103
+ * @name p2b#fetchTickers
190104
+ * @description fetches price tickers for multiple markets, statistical calculations with the information calculated over the past 24 hours each market
190105
+ * @see https://futures-docs.poloniex.com/#get-real-time-ticker-of-all-symbols
190106
+ * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
190107
+ * @param {object} [params] extra parameters specific to the p2b api endpoint
190108
+ * @returns {object} a dictionary of [ticker structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#ticker-structure}
190109
+ */
190110
+ await this.loadMarkets();
190111
+ const response = await this.publicGetTickers(params);
190112
+ //
190113
+ // {
190114
+ // success: true,
190115
+ // errorCode: '',
190116
+ // message: '',
190117
+ // result: {
190118
+ // KNOLIX_BTC: {
190119
+ // at: '1699252631',
190120
+ // ticker: {
190121
+ // bid: '0.0000332',
190122
+ // ask: '0.0000333',
190123
+ // low: '0.0000301',
190124
+ // high: '0.0000338',
190125
+ // last: '0.0000333',
190126
+ // vol: '15.66',
190127
+ // deal: '0.000501828',
190128
+ // change: '10.63'
190129
+ // }
190130
+ // },
190131
+ // ...
190132
+ // },
190133
+ // cache_time: '1699252631.103631',
190134
+ // current_time: '1699252644.487566'
190135
+ // }
190136
+ //
190137
+ const result = this.safeValue(response, 'result', {});
190138
+ return this.parseTickers(result, symbols);
190139
+ }
190140
+ async fetchTicker(symbol, params = {}) {
190141
+ /**
190142
+ * @method
190143
+ * @name p2b#fetchTicker
190144
+ * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
190145
+ * @see https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#ticker
190146
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
190147
+ * @param {object} [params] extra parameters specific to the p2b api endpoint
190148
+ * @returns {object} a [ticker structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#ticker-structure}
190149
+ */
190150
+ await this.loadMarkets();
190151
+ const market = this.market(symbol);
190152
+ const request = {
190153
+ 'market': market['id'],
190154
+ };
190155
+ const response = await this.publicGetTicker(this.extend(request, params));
190156
+ //
190157
+ // {
190158
+ // success: true,
190159
+ // errorCode: '',
190160
+ // message: '',
190161
+ // result: {
190162
+ // bid: '0.342',
190163
+ // ask: '0.3421',
190164
+ // open: '0.3317',
190165
+ // high: '0.3499',
190166
+ // low: '0.3311',
190167
+ // last: '0.3421',
190168
+ // volume: '17855383.1',
190169
+ // deal: '6107478.3423',
190170
+ // change: '3.13'
190171
+ // },
190172
+ // cache_time: '1699252953.832795',
190173
+ // current_time: '1699252958.859391'
190174
+ // }
190175
+ //
190176
+ const result = this.safeValue(response, 'result', {});
190177
+ const timestamp = this.safeIntegerProduct(response, 'cache_time', 1000);
190178
+ return this.extend({ 'timestamp': timestamp, 'datetime': this.iso8601(timestamp) }, this.parseTicker(result, market));
190179
+ }
190180
+ parseTicker(ticker, market = undefined) {
190181
+ //
190182
+ // parseTickers
190183
+ //
190184
+ // {
190185
+ // at: '1699252631',
190186
+ // ticker: {
190187
+ // bid: '0.0000332',
190188
+ // ask: '0.0000333',
190189
+ // low: '0.0000301',
190190
+ // high: '0.0000338',
190191
+ // last: '0.0000333',
190192
+ // vol: '15.66',
190193
+ // deal: '0.000501828',
190194
+ // change: '10.63'
190195
+ // }
190196
+ // }
190197
+ //
190198
+ // parseTicker
190199
+ //
190200
+ // {
190201
+ // bid: '0.342',
190202
+ // ask: '0.3421',
190203
+ // open: '0.3317',
190204
+ // high: '0.3499',
190205
+ // low: '0.3311',
190206
+ // last: '0.3421',
190207
+ // volume: '17855383.1',
190208
+ // deal: '6107478.3423',
190209
+ // change: '3.13'
190210
+ // }
190211
+ //
190212
+ const timestamp = this.safeIntegerProduct(ticker, 'at', 1000);
190213
+ if ('ticker' in ticker) {
190214
+ ticker = this.safeValue(ticker, 'ticker');
190215
+ }
190216
+ const last = this.safeString(ticker, 'last');
190217
+ return this.safeTicker({
190218
+ 'symbol': this.safeString(market, 'symbol'),
190219
+ 'timestamp': timestamp,
190220
+ 'datetime': this.iso8601(timestamp),
190221
+ 'high': this.safeString(ticker, 'high'),
190222
+ 'low': this.safeString(ticker, 'low'),
190223
+ 'bid': this.safeString(ticker, 'bid'),
190224
+ 'bidVolume': undefined,
190225
+ 'ask': this.safeString(ticker, 'ask'),
190226
+ 'askVolume': undefined,
190227
+ 'vwap': undefined,
190228
+ 'open': this.safeString(ticker, 'open'),
190229
+ 'close': last,
190230
+ 'last': last,
190231
+ 'previousClose': undefined,
190232
+ 'change': undefined,
190233
+ 'percentage': this.safeString(ticker, 'change'),
190234
+ 'average': undefined,
190235
+ 'baseVolume': this.safeString2(ticker, 'vol', 'volume'),
190236
+ 'quoteVolume': this.safeString(ticker, 'deal'),
190237
+ 'info': ticker,
190238
+ }, market);
190239
+ }
190240
+ async fetchOrderBook(symbol, limit = undefined, params = {}) {
190241
+ /**
190242
+ * @method
190243
+ * @name p2bfutures#fetchOrderBook
190244
+ * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
190245
+ * @see https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#depth-result
190246
+ * @param {string} symbol unified symbol of the market to fetch the order book for
190247
+ * @param {int} [limit] the maximum amount of order book entries to return
190248
+ * @param {object} [params] extra parameters specific to the p2bfutures api endpoint
190249
+ *
190250
+ * EXCHANGE SPECIFIC PARAMETERS
190251
+ * @param {string} [params.interval] 0 (default), 0.00000001, 0.0000001, 0.000001, 0.00001, 0.0001, 0.001, 0.01, 0.1, 1
190252
+ * @returns {object} A dictionary of [order book structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-book-structure} indexed by market symbols
190253
+ */
190254
+ await this.loadMarkets();
190255
+ const market = this.market(symbol);
190256
+ const request = {
190257
+ 'market': market['id'],
190258
+ };
190259
+ if (limit !== undefined) {
190260
+ request['limit'] = limit;
190261
+ }
190262
+ const response = await this.publicGetDepthResult(this.extend(request, params));
190263
+ //
190264
+ // {
190265
+ // "success": true,
190266
+ // "errorCode": "",
190267
+ // "message": "",
190268
+ // "result": {
190269
+ // "asks": [
190270
+ // [
190271
+ // "4.53", // Price
190272
+ // "523.95" // Amount
190273
+ // ],
190274
+ // ...
190275
+ // ],
190276
+ // "bids": [
190277
+ // [
190278
+ // "4.51",
190279
+ // "244.75"
190280
+ // ],
190281
+ // ...
190282
+ // ]
190283
+ // },
190284
+ // "cache_time": 1698733470.469175,
190285
+ // "current_time": 1698733470.469274
190286
+ // }
190287
+ //
190288
+ const result = this.safeValue(response, 'result', {});
190289
+ const timestamp = this.safeIntegerProduct(response, 'current_time', 1000);
190290
+ return this.parseOrderBook(result, market['symbol'], timestamp, 'bids', 'asks', 0, 1);
190291
+ }
190292
+ async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
190293
+ /**
190294
+ * @method
190295
+ * @name p2b#fetchTrades
190296
+ * @description get the list of most recent trades for a particular symbol
190297
+ * @see https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#history
190298
+ * @param {string} symbol unified symbol of the market to fetch trades for
190299
+ * @param {int} [since] timestamp in ms of the earliest trade to fetch
190300
+ * @param {int} [limit] 1-100, default=50
190301
+ * @param {object} [params] extra parameters specific to the p2b api endpoint
190302
+ *
190303
+ * @param {int} params.lastId order id
190304
+ * @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#public-trades}
190305
+ */
190306
+ await this.loadMarkets();
190307
+ const lastId = this.safeInteger(params, 'lastId');
190308
+ if (lastId === undefined) {
190309
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchTrades () requires an extra parameter params["lastId"]');
190310
+ }
190311
+ const market = this.market(symbol);
190312
+ const request = {
190313
+ 'market': market['id'],
190314
+ 'lastId': lastId,
190315
+ };
190316
+ if (limit !== undefined) {
190317
+ request['limit'] = limit;
190318
+ }
190319
+ const response = await this.publicGetHistory(this.extend(request, params));
190320
+ //
190321
+ // {
190322
+ // success: true,
190323
+ // errorCode: '',
190324
+ // message: '',
190325
+ // result: [
190326
+ // {
190327
+ // id: '7495738622',
190328
+ // type: 'sell',
190329
+ // time: '1699255565.445418',
190330
+ // amount: '252.6',
190331
+ // price: '0.3422'
190332
+ // },
190333
+ // ...
190334
+ // ],
190335
+ // cache_time: '1699255571.413633',
190336
+ // current_time: '1699255571.413828'
190337
+ // }
190338
+ //
190339
+ const result = this.safeValue(response, 'result', []);
190340
+ return this.parseTrades(result, market, since, limit);
190341
+ }
190342
+ parseTrade(trade, market = undefined) {
190343
+ //
190344
+ // fetchTrades
190345
+ //
190346
+ // {
190347
+ // id: '7495738622',
190348
+ // type: 'sell',
190349
+ // time: '1699255565.445418',
190350
+ // amount: '252.6',
190351
+ // price: '0.3422'
190352
+ // }
190353
+ //
190354
+ // fetchMyTrades
190355
+ //
190356
+ // {
190357
+ // "deal_id": 7450617292, // Deal id
190358
+ // "deal_time": 1698506956.66224, // Deal execution time
190359
+ // "deal_order_id": 171955225751, // Deal order id
190360
+ // "opposite_order_id": 171955110512, // Opposite order id
190361
+ // "side": "sell", // Deal side
190362
+ // "price": "0.05231", // Deal price
190363
+ // "amount": "0.002", // Deal amount
190364
+ // "deal": "0.00010462", // Total (price * amount)
190365
+ // "deal_fee": "0.000000188316", // Deal fee
190366
+ // "role": "taker", // Role. Taker or maker
190367
+ // "isSelfTrade": false // is self trade
190368
+ // }
190369
+ //
190370
+ // fetchOrderTrades
190371
+ //
190372
+ // {
190373
+ // "id": 7429883128, // Deal id
190374
+ // "time": 1698237535.41196, // Deal execution time
190375
+ // "fee": "0.01755848704", // Deal fee
190376
+ // "price": "34293.92", // Deal price
190377
+ // "amount": "0.00032", // Deal amount
190378
+ // "dealOrderId": 171366551416, // Deal order id
190379
+ // "role": 1, // Deal role (1 - maker, 2 - taker)
190380
+ // "deal": "10.9740544" // Total (price * amount)
190381
+ // }
190382
+ //
190383
+ const timestamp = this.safeIntegerProduct2(trade, 'time', 'deal_time', 1000);
190384
+ let takerOrMaker = this.safeString(trade, 'role');
190385
+ if (takerOrMaker === '1') {
190386
+ takerOrMaker = 'maker';
190387
+ }
190388
+ else if (takerOrMaker === '2') {
190389
+ takerOrMaker = 'taker';
190390
+ }
190391
+ return this.safeTrade({
190392
+ 'info': trade,
190393
+ 'id': this.safeString2(trade, 'id', 'deal_id'),
190394
+ 'timestamp': timestamp,
190395
+ 'datetime': this.iso8601(timestamp),
190396
+ 'symbol': this.safeString(market, 'symbol'),
190397
+ 'order': this.safeString2(trade, 'dealOrderId', 'deal_order_id'),
190398
+ 'type': undefined,
190399
+ 'side': this.safeString2(trade, 'type', 'side'),
190400
+ 'takerOrMaker': takerOrMaker,
190401
+ 'price': this.safeString(trade, 'price'),
190402
+ 'amount': this.safeString(trade, 'amount'),
190403
+ 'cost': this.safeString(trade, 'deal'),
190404
+ 'fee': {
190405
+ 'currency': market['quote'],
190406
+ 'cost': this.safeString2(trade, 'fee', 'deal_fee'),
190407
+ },
190408
+ }, market);
190409
+ }
190410
+ async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
190411
+ /**
190412
+ * @method
190413
+ * @name poloniexfutures#fetchOHLCV
190414
+ * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
190415
+ * @see https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#kline
190416
+ * @param {string} symbol unified symbol of the market to fetch OHLCV data for
190417
+ * @param {string} timeframe 1m, 1h, or 1d
190418
+ * @param {int} [since] timestamp in ms of the earliest candle to fetch
190419
+ * @param {int} [limit] 1-500, default=50
190420
+ * @param {object} [params] extra parameters specific to the poloniexfutures api endpoint
190421
+ *
190422
+ * @param {int} [params.offset] default=0, with this value the last candles are returned
190423
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
190424
+ */
190425
+ await this.loadMarkets();
190426
+ const market = this.market(symbol);
190427
+ const request = {
190428
+ 'market': market['id'],
190429
+ 'interval': timeframe,
190430
+ };
190431
+ if (limit !== undefined) {
190432
+ request['limit'] = limit;
190433
+ }
190434
+ const response = await this.publicGetMarketKline(this.extend(request, params));
190435
+ //
190436
+ // {
190437
+ // success: true,
190438
+ // errorCode: '',
190439
+ // message: '',
190440
+ // result: [
190441
+ // [
190442
+ // 1699253400, // Kline open time
190443
+ // '0.3429', // Open price
190444
+ // '0.3427', // Close price
190445
+ // '0.3429', // Highest price
190446
+ // '0.3427', // Lowest price
190447
+ // '1900.4', // Volume for stock currency
190448
+ // '651.46278', // Volume for money currency
190449
+ // 'ADA_USDT' // Market name
190450
+ // ],
190451
+ // ...
190452
+ // ],
190453
+ // cache_time: '1699256375.030292',
190454
+ // current_time: '1699256375.030494'
190455
+ // }
190456
+ //
190457
+ const result = this.safeValue(response, 'result', []);
190458
+ return this.parseOHLCVs(result, market, timeframe, since, limit);
190459
+ }
190460
+ parseOHLCV(ohlcv, market = undefined) {
190461
+ //
190462
+ // [
190463
+ // 1699253400, // Kline open time
190464
+ // '0.3429', // Open price
190465
+ // '0.3427', // Close price
190466
+ // '0.3429', // Highest price
190467
+ // '0.3427', // Lowest price
190468
+ // '1900.4', // Volume for stock currency
190469
+ // '651.46278', // Volume for money currency
190470
+ // 'ADA_USDT' // Market name
190471
+ // ],
190472
+ //
190473
+ return [
190474
+ this.safeIntegerProduct(ohlcv, 0, 1000),
190475
+ this.safeNumber(ohlcv, 1),
190476
+ this.safeNumber(ohlcv, 3),
190477
+ this.safeNumber(ohlcv, 4),
190478
+ this.safeNumber(ohlcv, 2),
190479
+ this.safeNumber(ohlcv, 5),
190480
+ ];
190481
+ }
190482
+ async fetchBalance(params = {}) {
190483
+ /**
190484
+ * @method
190485
+ * @name p2b#fetchBalance
190486
+ * @description query for balance and get the amount of funds available for trading or funds locked in orders
190487
+ * @see https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#all-balances
190488
+ * @param {object} [params] extra parameters specific to the p2b api endpoint
190489
+ * @returns {object} a [balance structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#balance-structure}
190490
+ */
190491
+ await this.loadMarkets();
190492
+ const response = await this.privatePostAccountBalances(params);
190493
+ //
190494
+ // {
190495
+ // "success": true,
190496
+ // "errorCode": "",
190497
+ // "message": "",
190498
+ // "result": {
190499
+ // "USDT": {
190500
+ // "available": "71.81328046",
190501
+ // "freeze": "10.46103091"
190502
+ // },
190503
+ // "BTC": {
190504
+ // "available": "0.00135674",
190505
+ // "freeze": "0.00020003"
190506
+ // }
190507
+ // }
190508
+ // }
190509
+ //
190510
+ const result = this.safeValue(response, 'result', {});
190511
+ return this.parseBalance(result);
190512
+ }
190513
+ parseBalance(response) {
190514
+ //
190515
+ // {
190516
+ // "USDT": {
190517
+ // "available": "71.81328046",
190518
+ // "freeze": "10.46103091"
190519
+ // },
190520
+ // "BTC": {
190521
+ // "available": "0.00135674",
190522
+ // "freeze": "0.00020003"
190523
+ // }
190524
+ // }
190525
+ //
190526
+ const result = {
190527
+ 'info': response,
190528
+ };
190529
+ const keys = Object.keys(response);
190530
+ for (let i = 0; i < keys.length; i++) {
190531
+ const currencyId = keys[i];
190532
+ const balance = response[currencyId];
190533
+ const code = this.safeCurrencyCode(currencyId);
190534
+ const used = this.safeString(balance, 'freeze');
190535
+ const available = this.safeString(balance, 'available');
190536
+ const account = {
190537
+ 'free': available,
190538
+ 'used': used,
190539
+ };
190540
+ result[code] = account;
190541
+ }
190542
+ return this.safeBalance(result);
190543
+ }
190544
+ async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
190545
+ /**
190546
+ * @method
190547
+ * @name p2b#createOrder
190548
+ * @description create a trade order
190549
+ * @see https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#create-order
190550
+ * @param {string} symbol unified symbol of the market to create an order in
190551
+ * @param {string} type must be 'limit'
190552
+ * @param {string} side 'buy' or 'sell'
190553
+ * @param {float} amount how much of currency you want to trade in units of base currency
190554
+ * @param {float} price the price at which the order is to be fullfilled, in units of the quote currency
190555
+ * @param {object} [params] extra parameters specific to the p2b api endpoint
190556
+ * @returns {object} an [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
190557
+ */
190558
+ await this.loadMarkets();
190559
+ if (type === 'market') {
190560
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' createOrder () can only accept orders with type "limit"');
190561
+ }
190562
+ const market = this.market(symbol);
190563
+ const request = {
190564
+ 'market': market['id'],
190565
+ 'side': side,
190566
+ 'amount': this.amountToPrecision(symbol, amount),
190567
+ 'price': this.priceToPrecision(symbol, price),
190568
+ };
190569
+ const response = await this.privatePostOrderNew(this.extend(request, params));
190570
+ //
190571
+ // {
190572
+ // "success": true,
190573
+ // "errorCode": "",
190574
+ // "message": "",
190575
+ // "result": {
190576
+ // "orderId": 171906478744, // Order id
190577
+ // "market": "ETH_BTC", // Market name
190578
+ // "price": "0.04348", // Price
190579
+ // "side": "buy", // Side
190580
+ // "type": "limit", // Order type
190581
+ // "timestamp": 1698484861.746517, // Order creation time
190582
+ // "dealMoney": "0", // Filled total
190583
+ // "dealStock": "0", // Filled amount
190584
+ // "amount": "0.0277", // Original amount
190585
+ // "takerFee": "0.002", // taker fee
190586
+ // "makerFee": "0.002", // maker fee
190587
+ // "left": "0.0277", // Unfilled amount
190588
+ // "dealFee": "0" // Filled fee
190589
+ // }
190590
+ // }
190591
+ //
190592
+ const result = this.safeValue(response, 'result');
190593
+ return this.parseOrder(result, market);
190594
+ }
190595
+ async cancelOrder(id, symbol = undefined, params = {}) {
190596
+ /**
190597
+ * @method
190598
+ * @name p2b#cancelOrder
190599
+ * @description cancels an open order
190600
+ * @see https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#cancel-order
190601
+ * @param {string} id order id
190602
+ * @param {string} symbol unified symbol of the market the order was made in
190603
+ * @param {object} [params] extra parameters specific to the p2b api endpoint
190604
+ * @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
190605
+ */
190606
+ await this.loadMarkets();
190607
+ this.checkRequiredArgument('cancelOrder', symbol, 'symbol');
190608
+ const market = this.market(symbol);
190609
+ const request = {
190610
+ 'market': market['id'],
190611
+ 'orderId': id,
190612
+ };
190613
+ const response = await this.privatePostOrderCancel(this.extend(request, params));
190614
+ //
190615
+ // {
190616
+ // "success": true,
190617
+ // "errorCode": "",
190618
+ // "message": "",
190619
+ // "result": {
190620
+ // "orderId": 171906478744,
190621
+ // "market": "ETH_BTC",
190622
+ // "price": "0.04348",
190623
+ // "side": "buy",
190624
+ // "type": "limit",
190625
+ // "timestamp": 1698484861.746517,
190626
+ // "dealMoney": "0",
190627
+ // "dealStock": "0",
190628
+ // "amount": "0.0277",
190629
+ // "takerFee": "0.002",
190630
+ // "makerFee": "0.002",
190631
+ // "left": "0.0277",
190632
+ // "dealFee": "0"
190633
+ // }
190634
+ // }
190635
+ //
190636
+ const result = this.safeValue(response, 'result');
190637
+ return this.parseOrder(result);
190638
+ }
190639
+ async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
190640
+ /**
190641
+ * @method
190642
+ * @name p2b#fetchOpenOrders
190643
+ * @description fetch all unfilled currently open orders
190644
+ * @see https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#open-orders
190645
+ * @param {string} symbol unified market symbol of the market orders were made in
190646
+ * @param {int} [since] the earliest time in ms to fetch orders for
190647
+ * @param {int} [limit] the maximum number of order structures to retrieve
190648
+ * @param {object} [params] extra parameters specific to the p2b api endpoint
190649
+ *
190650
+ * EXCHANGE SPECIFIC PARAMETERS
190651
+ * @param {int} [params.offset] 0-10000, default=0
190652
+ * @returns {Order[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
190653
+ */
190654
+ if (symbol === undefined) {
190655
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchOpenOrders () requires the symbol argument');
190656
+ }
190657
+ await this.loadMarkets();
190658
+ const market = this.market(symbol);
190659
+ const request = {
190660
+ 'market': market['id'],
190661
+ };
190662
+ if (limit !== undefined) {
190663
+ request['limit'] = limit;
190664
+ }
190665
+ const response = await this.privatePostOrders(this.extend(request, params));
190666
+ //
190667
+ // {
190668
+ // "success": true,
190669
+ // "errorCode": "",
190670
+ // "message": "",
190671
+ // "result": [
190672
+ // {
190673
+ // "orderId": 171913325964,
190674
+ // "market": "ETH_BTC",
190675
+ // "price": "0.06534",
190676
+ // "side": "sell",
190677
+ // "type": "limit",
190678
+ // "timestamp": 1698487986.836821,
190679
+ // "dealMoney": "0",
190680
+ // "dealStock": "0",
190681
+ // "amount": "0.0018",
190682
+ // "takerFee": "0.0018",
190683
+ // "makerFee": "0.0016",
190684
+ // "left": "0.0018",
190685
+ // "dealFee": "0"
190686
+ // },
190687
+ // ...
190688
+ // ]
190689
+ // }
190690
+ //
190691
+ const result = this.safeValue(response, 'result', []);
190692
+ return this.parseOrders(result, market, since, limit);
190693
+ }
190694
+ async fetchOrderTrades(id, symbol = undefined, since = undefined, limit = undefined, params = {}) {
190695
+ /**
190696
+ * @method
190697
+ * @name p2b#fetchOrderTrades
190698
+ * @description fetch all the trades made from a single order
190699
+ * @see https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#deals-by-order-id
190700
+ * @param {string} id order id
190701
+ * @param {string} symbol unified market symbol
190702
+ * @param {int} [since] the earliest time in ms to fetch trades for
190703
+ * @param {int} [limit] 1-100, default=50
190704
+ * @param {object} [params] extra parameters specific to the p2b api endpoint
190705
+ *
190706
+ * EXCHANGE SPECIFIC PARAMETERS
190707
+ * @param {int} [params.offset] 0-10000, default=0
190708
+ * @returns {object[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
190709
+ */
190710
+ await this.loadMarkets();
190711
+ const market = this.safeMarket(symbol);
190712
+ const request = {
190713
+ 'orderId': id,
190714
+ };
190715
+ if (limit !== undefined) {
190716
+ request['limit'] = limit;
190717
+ }
190718
+ const response = await this.privatePostAccountOrder(this.extend(request, params));
190719
+ //
190720
+ // {
190721
+ // "success": true,
190722
+ // "errorCode": "",
190723
+ // "message": "",
190724
+ // "result": {
190725
+ // "offset": 0,
190726
+ // "limit": 50,
190727
+ // "records": [
190728
+ // {
190729
+ // "id": 7429883128, // Deal id
190730
+ // "time": 1698237535.41196, // Deal execution time
190731
+ // "fee": "0.01755848704", // Deal fee
190732
+ // "price": "34293.92", // Deal price
190733
+ // "amount": "0.00032", // Deal amount
190734
+ // "dealOrderId": 171366551416, // Deal order id
190735
+ // "role": 1, // Deal role (1 - maker, 2 - taker)
190736
+ // "deal": "10.9740544" // Total (price * amount)
190737
+ // }
190738
+ // ]
190739
+ // }
190740
+ // }
190741
+ //
190742
+ const result = this.safeValue(response, 'result', {});
190743
+ const records = this.safeValue(result, 'records', []);
190744
+ return this.parseTrades(records, market, since, limit);
190745
+ }
190746
+ async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
190747
+ /**
190748
+ * @method
190749
+ * @name p2b#fetchMyTrades
190750
+ * @description fetch all trades made by the user, only the transaction records in the past 3 month can be queried, the time between since and params["until"] cannot be longer than 24 hours
190751
+ * @see https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#deals-history-by-market
190752
+ * @param {string} symbol unified market symbol of the market orders were made in
190753
+ * @param {int} [since] the earliest time in ms to fetch orders for, default = params["until"] - 86400000
190754
+ * @param {int} [limit] 1-100, default=50
190755
+ * @param {object} [params] extra parameters specific to the p2b api endpoint
190756
+ * @param {int} [params.until] the latest time in ms to fetch orders for, default = current timestamp or since + 86400000
190757
+ *
190758
+ * EXCHANGE SPECIFIC PARAMETERS
190759
+ * @param {int} [params.offset] 0-10000, default=0
190760
+ * @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#public-trades}
190761
+ */
190762
+ await this.loadMarkets();
190763
+ let until = this.safeInteger(params, 'until');
190764
+ params = this.omit(params, 'until');
190765
+ this.checkRequiredArgument('fetchMyTrades', symbol, 'symbol');
190766
+ if (until === undefined) {
190767
+ if (since === undefined) {
190768
+ until = this.milliseconds();
190769
+ }
190770
+ else {
190771
+ until = since + 86400000;
190772
+ }
190773
+ }
190774
+ if (since === undefined) {
190775
+ since = until - 86400000;
190776
+ }
190777
+ if ((until - since) > 86400000) {
190778
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' fetchMyTrades () the time between since and params["until"] cannot be greater than 24 hours');
190779
+ }
190780
+ const market = this.market(symbol);
190781
+ const request = {
190782
+ 'market': market['id'],
190783
+ 'startTime': this.parseToInt(since / 1000),
190784
+ 'endTime': this.parseToInt(until / 1000),
190785
+ };
190786
+ if (limit !== undefined) {
190787
+ request['limit'] = limit;
190788
+ }
190789
+ const response = await this.privatePostAccountMarketDealHistory(this.extend(request, params));
190790
+ //
190791
+ // {
190792
+ // "success": true,
190793
+ // "errorCode": "",
190794
+ // "message": "",
190795
+ // "result": {
190796
+ // "total": 2, // Total records in the queried range
190797
+ // "deals": [
190798
+ // {
190799
+ // "deal_id": 7450617292, // Deal id
190800
+ // "deal_time": 1698506956.66224, // Deal execution time
190801
+ // "deal_order_id": 171955225751, // Deal order id
190802
+ // "opposite_order_id": 171955110512, // Opposite order id
190803
+ // "side": "sell", // Deal side
190804
+ // "price": "0.05231", // Deal price
190805
+ // "amount": "0.002", // Deal amount
190806
+ // "deal": "0.00010462", // Total (price * amount)
190807
+ // "deal_fee": "0.000000188316", // Deal fee
190808
+ // "role": "taker", // Role. Taker or maker
190809
+ // "isSelfTrade": false // is self trade
190810
+ // },
190811
+ // ...
190812
+ // ]
190813
+ // }
190814
+ // }
190815
+ //
190816
+ const result = this.safeValue(response, 'result', {});
190817
+ const deals = this.safeValue(result, 'deals', []);
190818
+ return this.parseTrades(deals, market, since, limit);
190819
+ }
190820
+ async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
190821
+ /**
190822
+ * @method
190823
+ * @name p2b#fetchClosedOrders
190824
+ * @description fetches information on multiple closed orders made by the user, the time between since and params["untnil"] cannot be longer than 24 hours
190825
+ * @see https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#orders-history-by-market
190826
+ * @param {string} symbol unified market symbol of the market orders were made in
190827
+ * @param {int} [since] the earliest time in ms to fetch orders for, default = params["until"] - 86400000
190828
+ * @param {int} [limit] 1-100, default=50
190829
+ * @param {object} [params] extra parameters specific to the p2b api endpoint
190830
+ * @param {int} [params.until] the latest time in ms to fetch orders for, default = current timestamp or since + 86400000
190831
+ *
190832
+ * EXCHANGE SPECIFIC PARAMETERS
190833
+ * @param {int} [params.offset] 0-10000, default=0
190834
+ * @returns {Order[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
190835
+ */
190836
+ await this.loadMarkets();
190837
+ let until = this.safeInteger(params, 'until');
190838
+ params = this.omit(params, 'until');
190839
+ let market = undefined;
190840
+ if (symbol !== undefined) {
190841
+ market = this.market(symbol);
190842
+ }
190843
+ if (until === undefined) {
190844
+ if (since === undefined) {
190845
+ until = this.milliseconds();
190846
+ }
190847
+ else {
190848
+ until = since + 86400000;
190849
+ }
190850
+ }
190851
+ if (since === undefined) {
190852
+ since = until - 86400000;
190853
+ }
190854
+ if ((until - since) > 86400000) {
190855
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' fetchClosedOrders () the time between since and params["until"] cannot be greater than 24 hours');
190856
+ }
190857
+ const request = {
190858
+ 'startTime': this.parseToInt(since / 1000),
190859
+ 'endTime': this.parseToInt(until / 1000),
190860
+ };
190861
+ if (market !== undefined) {
190862
+ request['market'] = market['id'];
190863
+ }
190864
+ if (limit !== undefined) {
190865
+ request['limit'] = limit;
190866
+ }
190867
+ const response = await this.privatePostAccountOrderHistory(this.extend(request, params));
190868
+ //
190869
+ // {
190870
+ // "success": true,
190871
+ // "errorCode": "",
190872
+ // "message": "",
190873
+ // "result": {
190874
+ // "LTC_USDT": [
190875
+ // {
190876
+ // "id": 173985944395,
190877
+ // "amount": "0.1",
190878
+ // "price": "73",
190879
+ // "type": "limit",
190880
+ // "side": "sell",
190881
+ // "ctime": 1699436194.390845,
190882
+ // "ftime": 1699436194.390847,
190883
+ // "market": "LTC_USDT",
190884
+ // "takerFee": "0.002",
190885
+ // "makerFee": "0.002",
190886
+ // "dealFee": "0.01474",
190887
+ // "dealStock": "0.1",
190888
+ // "dealMoney": "7.37"
190889
+ // }
190890
+ // ]
190891
+ // }
190892
+ // }
190893
+ //
190894
+ const result = this.safeValue(response, 'result');
190895
+ let orders = [];
190896
+ const keys = Object.keys(result);
190897
+ for (let i = 0; i < keys.length; i++) {
190898
+ const marketId = keys[i];
190899
+ const marketOrders = result[marketId];
190900
+ const parsedOrders = this.parseOrders(marketOrders, market, since, limit);
190901
+ orders = this.arrayConcat(orders, parsedOrders);
190902
+ }
190903
+ return orders;
190904
+ }
190905
+ parseOrder(order, market = undefined) {
190906
+ //
190907
+ // cancelOrder, fetchOpenOrders, createOrder
190908
+ //
190909
+ // {
190910
+ // "orderId": 171906478744,
190911
+ // "market": "ETH_BTC",
190912
+ // "price": "0.04348",
190913
+ // "side": "buy",
190914
+ // "type": "limit",
190915
+ // "timestamp": 1698484861.746517,
190916
+ // "dealMoney": "0",
190917
+ // "dealStock": "0",
190918
+ // "amount": "0.0277",
190919
+ // "takerFee": "0.002",
190920
+ // "makerFee": "0.002",
190921
+ // "left": "0.0277",
190922
+ // "dealFee": "0"
190923
+ // }
190924
+ //
190925
+ // fetchClosedOrders
190926
+ //
190927
+ // {
190928
+ // "id": 171366547790, // Order id
190929
+ // "amount": "0.00032", // Original amount
190930
+ // "price": "34293.92", // Order price
190931
+ // "type": "limit", // Order type
190932
+ // "side": "sell", // Order side
190933
+ // "ctime": 1698237533.497241, // Order creation time
190934
+ // "ftime": 1698237535.41196, // Order fill time
190935
+ // "market": "BTC_USDT", // Market name
190936
+ // "takerFee": "0.0018", // Taker fee
190937
+ // "makerFee": "0.0016", // Market fee
190938
+ // "dealFee": "0.01755848704", // Deal fee
190939
+ // "dealStock": "0.00032", // Filled amount
190940
+ // "dealMoney": "10.9740544" // Filled total
190941
+ // }
190942
+ //
190943
+ const timestamp = this.safeIntegerProduct2(order, 'timestamp', 'ctime', 1000);
190944
+ const marketId = this.safeString(order, 'market');
190945
+ market = this.safeMarket(marketId, market);
190946
+ return this.safeOrder({
190947
+ 'info': order,
190948
+ 'id': this.safeString2(order, 'id', 'orderId'),
190949
+ 'clientOrderId': undefined,
190950
+ 'timestamp': timestamp,
190951
+ 'datetime': this.iso8601(timestamp),
190952
+ 'lastTradeTimestamp': undefined,
190953
+ 'symbol': market['symbol'],
190954
+ 'type': this.safeString(order, 'type'),
190955
+ 'timeInForce': undefined,
190956
+ 'postOnly': undefined,
190957
+ 'side': this.safeString(order, 'side'),
190958
+ 'price': this.safeString(order, 'price'),
190959
+ 'stopPrice': undefined,
190960
+ 'amount': this.safeString(order, 'amount'),
190961
+ 'cost': undefined,
190962
+ 'average': undefined,
190963
+ 'filled': this.safeString(order, 'dealStock'),
190964
+ 'remaining': this.safeString(order, 'left'),
190965
+ 'status': undefined,
190966
+ 'fee': {
190967
+ 'currency': market['quote'],
190968
+ 'cost': this.safeString(order, 'dealFee'),
190969
+ },
190970
+ 'trades': undefined,
190971
+ }, market);
190972
+ }
190973
+ sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
190974
+ let url = this.urls['api'][api] + '/' + this.implodeParams(path, params);
190975
+ params = this.omit(params, this.extractParams(path));
190976
+ if (method === 'GET') {
190977
+ if (Object.keys(params).length) {
190978
+ url += '?' + this.urlencode(params);
190979
+ }
190980
+ }
190981
+ if (api === 'private') {
190982
+ params['request'] = '/api/v2/' + path;
190983
+ params['nonce'] = this.nonce().toString();
190984
+ const payload = this.stringToBase64(this.json(params)); // Body json encoded in base64
190985
+ headers = {
190986
+ 'Content-Type': 'application/json',
190987
+ 'X-TXC-APIKEY': this.apiKey,
190988
+ 'X-TXC-PAYLOAD': payload,
190989
+ 'X-TXC-SIGNATURE': this.hmac(this.encode(payload), this.encode(this.secret), _static_dependencies_noble_hashes_sha512_js__WEBPACK_IMPORTED_MODULE_4__/* .sha512 */ .o),
190990
+ };
190991
+ body = this.json(params);
190992
+ }
190993
+ return { 'url': url, 'method': method, 'body': body, 'headers': headers };
190994
+ }
190995
+ handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
190996
+ if (response === undefined) {
190997
+ return undefined;
190998
+ }
190999
+ if (code === 400) {
191000
+ const error = this.safeValue(response, 'error');
191001
+ const errorCode = this.safeString(error, 'code');
191002
+ const feedback = this.id + ' ' + this.json(response);
191003
+ this.throwExactlyMatchedException(this.exceptions, errorCode, feedback);
191004
+ // fallback to default error handler
191005
+ }
191006
+ return undefined;
191007
+ }
191008
+ }
191009
+
191010
+
189471
191011
  /***/ }),
189472
191012
 
189473
191013
  /***/ 7082:
@@ -283362,39 +284902,39 @@ var __webpack_exports__ = {};
283362
284902
  (() => {
283363
284903
  __webpack_require__.r(__webpack_exports__);
283364
284904
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
283365
- /* harmony export */ "AccountNotEnabled": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.AccountNotEnabled),
283366
- /* harmony export */ "AccountSuspended": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.AccountSuspended),
283367
- /* harmony export */ "AddressPending": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.AddressPending),
283368
- /* harmony export */ "ArgumentsRequired": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.ArgumentsRequired),
283369
- /* harmony export */ "AuthenticationError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.AuthenticationError),
283370
- /* harmony export */ "BadRequest": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.BadRequest),
283371
- /* harmony export */ "BadResponse": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.BadResponse),
283372
- /* harmony export */ "BadSymbol": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.BadSymbol),
283373
- /* harmony export */ "BaseError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.BaseError),
283374
- /* harmony export */ "CancelPending": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.CancelPending),
283375
- /* harmony export */ "DDoSProtection": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.DDoSProtection),
283376
- /* harmony export */ "DuplicateOrderId": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.DuplicateOrderId),
284905
+ /* harmony export */ "AccountNotEnabled": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.AccountNotEnabled),
284906
+ /* harmony export */ "AccountSuspended": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.AccountSuspended),
284907
+ /* harmony export */ "AddressPending": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.AddressPending),
284908
+ /* harmony export */ "ArgumentsRequired": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.ArgumentsRequired),
284909
+ /* harmony export */ "AuthenticationError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.AuthenticationError),
284910
+ /* harmony export */ "BadRequest": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.BadRequest),
284911
+ /* harmony export */ "BadResponse": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.BadResponse),
284912
+ /* harmony export */ "BadSymbol": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.BadSymbol),
284913
+ /* harmony export */ "BaseError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.BaseError),
284914
+ /* harmony export */ "CancelPending": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.CancelPending),
284915
+ /* harmony export */ "DDoSProtection": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.DDoSProtection),
284916
+ /* harmony export */ "DuplicateOrderId": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.DuplicateOrderId),
283377
284917
  /* harmony export */ "Exchange": () => (/* reexport safe */ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__.e),
283378
- /* harmony export */ "ExchangeError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.ExchangeError),
283379
- /* harmony export */ "ExchangeNotAvailable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.ExchangeNotAvailable),
283380
- /* harmony export */ "InsufficientFunds": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.InsufficientFunds),
283381
- /* harmony export */ "InvalidAddress": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.InvalidAddress),
283382
- /* harmony export */ "InvalidNonce": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.InvalidNonce),
283383
- /* harmony export */ "InvalidOrder": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.InvalidOrder),
283384
- /* harmony export */ "MarginModeAlreadySet": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.MarginModeAlreadySet),
283385
- /* harmony export */ "NetworkError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.NetworkError),
283386
- /* harmony export */ "NoChange": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.NoChange),
283387
- /* harmony export */ "NotSupported": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.NotSupported),
283388
- /* harmony export */ "NullResponse": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.NullResponse),
283389
- /* harmony export */ "OnMaintenance": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.OnMaintenance),
283390
- /* harmony export */ "OrderImmediatelyFillable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.OrderImmediatelyFillable),
283391
- /* harmony export */ "OrderNotCached": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.OrderNotCached),
283392
- /* harmony export */ "OrderNotFillable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.OrderNotFillable),
283393
- /* harmony export */ "OrderNotFound": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.OrderNotFound),
283394
- /* harmony export */ "PermissionDenied": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.PermissionDenied),
283395
- /* harmony export */ "Precise": () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_165__.O),
283396
- /* harmony export */ "RateLimitExceeded": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.RateLimitExceeded),
283397
- /* harmony export */ "RequestTimeout": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__.RequestTimeout),
284918
+ /* harmony export */ "ExchangeError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.ExchangeError),
284919
+ /* harmony export */ "ExchangeNotAvailable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.ExchangeNotAvailable),
284920
+ /* harmony export */ "InsufficientFunds": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.InsufficientFunds),
284921
+ /* harmony export */ "InvalidAddress": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.InvalidAddress),
284922
+ /* harmony export */ "InvalidNonce": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.InvalidNonce),
284923
+ /* harmony export */ "InvalidOrder": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.InvalidOrder),
284924
+ /* harmony export */ "MarginModeAlreadySet": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.MarginModeAlreadySet),
284925
+ /* harmony export */ "NetworkError": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.NetworkError),
284926
+ /* harmony export */ "NoChange": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.NoChange),
284927
+ /* harmony export */ "NotSupported": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.NotSupported),
284928
+ /* harmony export */ "NullResponse": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.NullResponse),
284929
+ /* harmony export */ "OnMaintenance": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.OnMaintenance),
284930
+ /* harmony export */ "OrderImmediatelyFillable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.OrderImmediatelyFillable),
284931
+ /* harmony export */ "OrderNotCached": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.OrderNotCached),
284932
+ /* harmony export */ "OrderNotFillable": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.OrderNotFillable),
284933
+ /* harmony export */ "OrderNotFound": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.OrderNotFound),
284934
+ /* harmony export */ "PermissionDenied": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.PermissionDenied),
284935
+ /* harmony export */ "Precise": () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_166__.O),
284936
+ /* harmony export */ "RateLimitExceeded": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.RateLimitExceeded),
284937
+ /* harmony export */ "RequestTimeout": () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.RequestTimeout),
283398
284938
  /* harmony export */ "ace": () => (/* reexport safe */ _src_ace_js__WEBPACK_IMPORTED_MODULE_1__.Z),
283399
284939
  /* harmony export */ "alpaca": () => (/* reexport safe */ _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__.Z),
283400
284940
  /* harmony export */ "ascendex": () => (/* reexport safe */ _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__.Z),
@@ -283449,11 +284989,11 @@ __webpack_require__.r(__webpack_exports__);
283449
284989
  /* harmony export */ "delta": () => (/* reexport safe */ _src_delta_js__WEBPACK_IMPORTED_MODULE_51__.Z),
283450
284990
  /* harmony export */ "deribit": () => (/* reexport safe */ _src_deribit_js__WEBPACK_IMPORTED_MODULE_52__.Z),
283451
284991
  /* harmony export */ "digifinex": () => (/* reexport safe */ _src_digifinex_js__WEBPACK_IMPORTED_MODULE_53__.Z),
283452
- /* harmony export */ "errors": () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__),
284992
+ /* harmony export */ "errors": () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__),
283453
284993
  /* harmony export */ "exchanges": () => (/* binding */ exchanges),
283454
284994
  /* harmony export */ "exmo": () => (/* reexport safe */ _src_exmo_js__WEBPACK_IMPORTED_MODULE_54__.Z),
283455
284995
  /* harmony export */ "fmfwio": () => (/* reexport safe */ _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_55__.Z),
283456
- /* harmony export */ "functions": () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_166__),
284996
+ /* harmony export */ "functions": () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_167__),
283457
284997
  /* harmony export */ "gate": () => (/* reexport safe */ _src_gate_js__WEBPACK_IMPORTED_MODULE_56__.Z),
283458
284998
  /* harmony export */ "gateio": () => (/* reexport safe */ _src_gateio_js__WEBPACK_IMPORTED_MODULE_57__.Z),
283459
284999
  /* harmony export */ "gemini": () => (/* reexport safe */ _src_gemini_js__WEBPACK_IMPORTED_MODULE_58__.Z),
@@ -283486,29 +285026,30 @@ __webpack_require__.r(__webpack_exports__);
283486
285026
  /* harmony export */ "okex": () => (/* reexport safe */ _src_okex_js__WEBPACK_IMPORTED_MODULE_85__.Z),
283487
285027
  /* harmony export */ "okex5": () => (/* reexport safe */ _src_okex5_js__WEBPACK_IMPORTED_MODULE_86__.Z),
283488
285028
  /* harmony export */ "okx": () => (/* reexport safe */ _src_okx_js__WEBPACK_IMPORTED_MODULE_87__.Z),
283489
- /* harmony export */ "paymium": () => (/* reexport safe */ _src_paymium_js__WEBPACK_IMPORTED_MODULE_88__.Z),
283490
- /* harmony export */ "phemex": () => (/* reexport safe */ _src_phemex_js__WEBPACK_IMPORTED_MODULE_89__.Z),
283491
- /* harmony export */ "poloniex": () => (/* reexport safe */ _src_poloniex_js__WEBPACK_IMPORTED_MODULE_90__.Z),
283492
- /* harmony export */ "poloniexfutures": () => (/* reexport safe */ _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_91__.Z),
285029
+ /* harmony export */ "p2b": () => (/* reexport safe */ _src_p2b_js__WEBPACK_IMPORTED_MODULE_88__.Z),
285030
+ /* harmony export */ "paymium": () => (/* reexport safe */ _src_paymium_js__WEBPACK_IMPORTED_MODULE_89__.Z),
285031
+ /* harmony export */ "phemex": () => (/* reexport safe */ _src_phemex_js__WEBPACK_IMPORTED_MODULE_90__.Z),
285032
+ /* harmony export */ "poloniex": () => (/* reexport safe */ _src_poloniex_js__WEBPACK_IMPORTED_MODULE_91__.Z),
285033
+ /* harmony export */ "poloniexfutures": () => (/* reexport safe */ _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_92__.Z),
283493
285034
  /* harmony export */ "pro": () => (/* binding */ pro),
283494
- /* harmony export */ "probit": () => (/* reexport safe */ _src_probit_js__WEBPACK_IMPORTED_MODULE_92__.Z),
283495
- /* harmony export */ "tidex": () => (/* reexport safe */ _src_tidex_js__WEBPACK_IMPORTED_MODULE_93__.Z),
283496
- /* harmony export */ "timex": () => (/* reexport safe */ _src_timex_js__WEBPACK_IMPORTED_MODULE_94__.Z),
283497
- /* harmony export */ "tokocrypto": () => (/* reexport safe */ _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_95__.Z),
283498
- /* harmony export */ "upbit": () => (/* reexport safe */ _src_upbit_js__WEBPACK_IMPORTED_MODULE_96__.Z),
285035
+ /* harmony export */ "probit": () => (/* reexport safe */ _src_probit_js__WEBPACK_IMPORTED_MODULE_93__.Z),
285036
+ /* harmony export */ "tidex": () => (/* reexport safe */ _src_tidex_js__WEBPACK_IMPORTED_MODULE_94__.Z),
285037
+ /* harmony export */ "timex": () => (/* reexport safe */ _src_timex_js__WEBPACK_IMPORTED_MODULE_95__.Z),
285038
+ /* harmony export */ "tokocrypto": () => (/* reexport safe */ _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_96__.Z),
285039
+ /* harmony export */ "upbit": () => (/* reexport safe */ _src_upbit_js__WEBPACK_IMPORTED_MODULE_97__.Z),
283499
285040
  /* harmony export */ "version": () => (/* binding */ version),
283500
- /* harmony export */ "wavesexchange": () => (/* reexport safe */ _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_97__.Z),
283501
- /* harmony export */ "wazirx": () => (/* reexport safe */ _src_wazirx_js__WEBPACK_IMPORTED_MODULE_98__.Z),
283502
- /* harmony export */ "whitebit": () => (/* reexport safe */ _src_whitebit_js__WEBPACK_IMPORTED_MODULE_99__.Z),
283503
- /* harmony export */ "woo": () => (/* reexport safe */ _src_woo_js__WEBPACK_IMPORTED_MODULE_100__.Z),
283504
- /* harmony export */ "yobit": () => (/* reexport safe */ _src_yobit_js__WEBPACK_IMPORTED_MODULE_101__.Z),
283505
- /* harmony export */ "zaif": () => (/* reexport safe */ _src_zaif_js__WEBPACK_IMPORTED_MODULE_102__.Z),
283506
- /* harmony export */ "zonda": () => (/* reexport safe */ _src_zonda_js__WEBPACK_IMPORTED_MODULE_103__.Z)
285041
+ /* harmony export */ "wavesexchange": () => (/* reexport safe */ _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_98__.Z),
285042
+ /* harmony export */ "wazirx": () => (/* reexport safe */ _src_wazirx_js__WEBPACK_IMPORTED_MODULE_99__.Z),
285043
+ /* harmony export */ "whitebit": () => (/* reexport safe */ _src_whitebit_js__WEBPACK_IMPORTED_MODULE_100__.Z),
285044
+ /* harmony export */ "woo": () => (/* reexport safe */ _src_woo_js__WEBPACK_IMPORTED_MODULE_101__.Z),
285045
+ /* harmony export */ "yobit": () => (/* reexport safe */ _src_yobit_js__WEBPACK_IMPORTED_MODULE_102__.Z),
285046
+ /* harmony export */ "zaif": () => (/* reexport safe */ _src_zaif_js__WEBPACK_IMPORTED_MODULE_103__.Z),
285047
+ /* harmony export */ "zonda": () => (/* reexport safe */ _src_zonda_js__WEBPACK_IMPORTED_MODULE_104__.Z)
283507
285048
  /* harmony export */ });
283508
285049
  /* harmony import */ var _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3043);
283509
- /* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(2194);
283510
- /* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(7100);
283511
- /* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(6689);
285050
+ /* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(2194);
285051
+ /* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(7100);
285052
+ /* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__ = __webpack_require__(6689);
283512
285053
  /* harmony import */ var _src_ace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9869);
283513
285054
  /* harmony import */ var _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5660);
283514
285055
  /* harmony import */ var _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9612);
@@ -283596,83 +285137,84 @@ __webpack_require__.r(__webpack_exports__);
283596
285137
  /* harmony import */ var _src_okex_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(5322);
283597
285138
  /* harmony import */ var _src_okex5_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(7826);
283598
285139
  /* harmony import */ var _src_okx_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(4042);
283599
- /* harmony import */ var _src_paymium_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(7082);
283600
- /* harmony import */ var _src_phemex_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(79);
283601
- /* harmony import */ var _src_poloniex_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(8891);
283602
- /* harmony import */ var _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(6877);
283603
- /* harmony import */ var _src_probit_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(3657);
283604
- /* harmony import */ var _src_tidex_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(4224);
283605
- /* harmony import */ var _src_timex_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(1067);
283606
- /* harmony import */ var _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(5261);
283607
- /* harmony import */ var _src_upbit_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(7584);
283608
- /* harmony import */ var _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(3853);
283609
- /* harmony import */ var _src_wazirx_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(6536);
283610
- /* harmony import */ var _src_whitebit_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(5467);
283611
- /* harmony import */ var _src_woo_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(517);
283612
- /* harmony import */ var _src_yobit_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(3850);
283613
- /* harmony import */ var _src_zaif_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(5934);
283614
- /* harmony import */ var _src_zonda_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(5140);
283615
- /* harmony import */ var _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(2467);
283616
- /* harmony import */ var _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(2383);
283617
- /* harmony import */ var _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(8848);
283618
- /* harmony import */ var _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(8764);
283619
- /* harmony import */ var _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(5078);
283620
- /* harmony import */ var _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(1326);
283621
- /* harmony import */ var _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(1230);
283622
- /* harmony import */ var _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(6955);
283623
- /* harmony import */ var _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(453);
283624
- /* harmony import */ var _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(9772);
283625
- /* harmony import */ var _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(588);
283626
- /* harmony import */ var _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(1885);
283627
- /* harmony import */ var _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(7504);
283628
- /* harmony import */ var _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(2302);
283629
- /* harmony import */ var _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(2191);
283630
- /* harmony import */ var _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(1297);
283631
- /* harmony import */ var _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(3005);
283632
- /* harmony import */ var _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(2317);
283633
- /* harmony import */ var _src_pro_bittrex_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(2883);
283634
- /* harmony import */ var _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(6977);
283635
- /* harmony import */ var _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(2519);
283636
- /* harmony import */ var _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(5030);
283637
- /* harmony import */ var _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(5272);
283638
- /* harmony import */ var _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(3414);
283639
- /* harmony import */ var _src_pro_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(3848);
283640
- /* harmony import */ var _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(8368);
283641
- /* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(204);
283642
- /* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(6820);
283643
- /* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(2952);
283644
- /* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(1788);
283645
- /* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(9004);
283646
- /* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(8335);
283647
- /* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(1465);
283648
- /* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(9488);
283649
- /* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(5189);
283650
- /* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(8559);
283651
- /* harmony import */ var _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(7474);
283652
- /* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(8384);
283653
- /* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(9021);
283654
- /* harmony import */ var _src_pro_huobipro_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(4625);
283655
- /* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(3484);
283656
- /* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(1311);
283657
- /* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(736);
283658
- /* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(449);
283659
- /* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(2387);
283660
- /* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(7181);
283661
- /* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(627);
283662
- /* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(6484);
283663
- /* harmony import */ var _src_pro_mexc3_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(5351);
283664
- /* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(8080);
283665
- /* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(7105);
283666
- /* harmony import */ var _src_pro_okex_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(1530);
283667
- /* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(2214);
283668
- /* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(4360);
283669
- /* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(7924);
283670
- /* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(3541);
283671
- /* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(9782);
283672
- /* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(7614);
283673
- /* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(4828);
283674
- /* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(5630);
283675
- /* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(3910);
285140
+ /* harmony import */ var _src_p2b_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(2466);
285141
+ /* harmony import */ var _src_paymium_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(7082);
285142
+ /* harmony import */ var _src_phemex_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(79);
285143
+ /* harmony import */ var _src_poloniex_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(8891);
285144
+ /* harmony import */ var _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(6877);
285145
+ /* harmony import */ var _src_probit_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(3657);
285146
+ /* harmony import */ var _src_tidex_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(4224);
285147
+ /* harmony import */ var _src_timex_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(1067);
285148
+ /* harmony import */ var _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(5261);
285149
+ /* harmony import */ var _src_upbit_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(7584);
285150
+ /* harmony import */ var _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(3853);
285151
+ /* harmony import */ var _src_wazirx_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(6536);
285152
+ /* harmony import */ var _src_whitebit_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(5467);
285153
+ /* harmony import */ var _src_woo_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(517);
285154
+ /* harmony import */ var _src_yobit_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(3850);
285155
+ /* harmony import */ var _src_zaif_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(5934);
285156
+ /* harmony import */ var _src_zonda_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(5140);
285157
+ /* harmony import */ var _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(2467);
285158
+ /* harmony import */ var _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(2383);
285159
+ /* harmony import */ var _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(8848);
285160
+ /* harmony import */ var _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(8764);
285161
+ /* harmony import */ var _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(5078);
285162
+ /* harmony import */ var _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(1326);
285163
+ /* harmony import */ var _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(1230);
285164
+ /* harmony import */ var _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(6955);
285165
+ /* harmony import */ var _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(453);
285166
+ /* harmony import */ var _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(9772);
285167
+ /* harmony import */ var _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(588);
285168
+ /* harmony import */ var _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(1885);
285169
+ /* harmony import */ var _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(7504);
285170
+ /* harmony import */ var _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(2302);
285171
+ /* harmony import */ var _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(2191);
285172
+ /* harmony import */ var _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(1297);
285173
+ /* harmony import */ var _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(3005);
285174
+ /* harmony import */ var _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(2317);
285175
+ /* harmony import */ var _src_pro_bittrex_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(2883);
285176
+ /* harmony import */ var _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(6977);
285177
+ /* harmony import */ var _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(2519);
285178
+ /* harmony import */ var _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(5030);
285179
+ /* harmony import */ var _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(5272);
285180
+ /* harmony import */ var _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(3414);
285181
+ /* harmony import */ var _src_pro_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(3848);
285182
+ /* harmony import */ var _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(8368);
285183
+ /* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(204);
285184
+ /* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(6820);
285185
+ /* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(2952);
285186
+ /* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(1788);
285187
+ /* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(9004);
285188
+ /* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(8335);
285189
+ /* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(1465);
285190
+ /* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(9488);
285191
+ /* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(5189);
285192
+ /* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(8559);
285193
+ /* harmony import */ var _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(7474);
285194
+ /* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(8384);
285195
+ /* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(9021);
285196
+ /* harmony import */ var _src_pro_huobipro_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(4625);
285197
+ /* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(3484);
285198
+ /* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(1311);
285199
+ /* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(736);
285200
+ /* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(449);
285201
+ /* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(2387);
285202
+ /* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(7181);
285203
+ /* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(627);
285204
+ /* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(6484);
285205
+ /* harmony import */ var _src_pro_mexc3_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(5351);
285206
+ /* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(8080);
285207
+ /* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(7105);
285208
+ /* harmony import */ var _src_pro_okex_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(1530);
285209
+ /* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(2214);
285210
+ /* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(4360);
285211
+ /* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(7924);
285212
+ /* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(3541);
285213
+ /* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(9782);
285214
+ /* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(7614);
285215
+ /* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(4828);
285216
+ /* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(5630);
285217
+ /* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(3910);
283676
285218
  /*
283677
285219
 
283678
285220
  MIT License
@@ -283707,7 +285249,7 @@ SOFTWARE.
283707
285249
 
283708
285250
  //-----------------------------------------------------------------------------
283709
285251
  // this is updated by vss.js when building
283710
- const version = '4.1.53';
285252
+ const version = '4.1.54';
283711
285253
  _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange.ccxtVersion */ .e.ccxtVersion = version;
283712
285254
  //-----------------------------------------------------------------------------
283713
285255
 
@@ -283811,6 +285353,7 @@ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange.ccxtVersion */ .e
283811
285353
 
283812
285354
 
283813
285355
 
285356
+
283814
285357
 
283815
285358
 
283816
285359
  // pro exchanges
@@ -283963,85 +285506,86 @@ const exchanges = {
283963
285506
  'okex': _src_okex_js__WEBPACK_IMPORTED_MODULE_85__/* ["default"] */ .Z,
283964
285507
  'okex5': _src_okex5_js__WEBPACK_IMPORTED_MODULE_86__/* ["default"] */ .Z,
283965
285508
  'okx': _src_okx_js__WEBPACK_IMPORTED_MODULE_87__/* ["default"] */ .Z,
283966
- 'paymium': _src_paymium_js__WEBPACK_IMPORTED_MODULE_88__/* ["default"] */ .Z,
283967
- 'phemex': _src_phemex_js__WEBPACK_IMPORTED_MODULE_89__/* ["default"] */ .Z,
283968
- 'poloniex': _src_poloniex_js__WEBPACK_IMPORTED_MODULE_90__/* ["default"] */ .Z,
283969
- 'poloniexfutures': _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_91__/* ["default"] */ .Z,
283970
- 'probit': _src_probit_js__WEBPACK_IMPORTED_MODULE_92__/* ["default"] */ .Z,
283971
- 'tidex': _src_tidex_js__WEBPACK_IMPORTED_MODULE_93__/* ["default"] */ .Z,
283972
- 'timex': _src_timex_js__WEBPACK_IMPORTED_MODULE_94__/* ["default"] */ .Z,
283973
- 'tokocrypto': _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_95__/* ["default"] */ .Z,
283974
- 'upbit': _src_upbit_js__WEBPACK_IMPORTED_MODULE_96__/* ["default"] */ .Z,
283975
- 'wavesexchange': _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_97__/* ["default"] */ .Z,
283976
- 'wazirx': _src_wazirx_js__WEBPACK_IMPORTED_MODULE_98__/* ["default"] */ .Z,
283977
- 'whitebit': _src_whitebit_js__WEBPACK_IMPORTED_MODULE_99__/* ["default"] */ .Z,
283978
- 'woo': _src_woo_js__WEBPACK_IMPORTED_MODULE_100__/* ["default"] */ .Z,
283979
- 'yobit': _src_yobit_js__WEBPACK_IMPORTED_MODULE_101__/* ["default"] */ .Z,
283980
- 'zaif': _src_zaif_js__WEBPACK_IMPORTED_MODULE_102__/* ["default"] */ .Z,
283981
- 'zonda': _src_zonda_js__WEBPACK_IMPORTED_MODULE_103__/* ["default"] */ .Z,
285509
+ 'p2b': _src_p2b_js__WEBPACK_IMPORTED_MODULE_88__/* ["default"] */ .Z,
285510
+ 'paymium': _src_paymium_js__WEBPACK_IMPORTED_MODULE_89__/* ["default"] */ .Z,
285511
+ 'phemex': _src_phemex_js__WEBPACK_IMPORTED_MODULE_90__/* ["default"] */ .Z,
285512
+ 'poloniex': _src_poloniex_js__WEBPACK_IMPORTED_MODULE_91__/* ["default"] */ .Z,
285513
+ 'poloniexfutures': _src_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_92__/* ["default"] */ .Z,
285514
+ 'probit': _src_probit_js__WEBPACK_IMPORTED_MODULE_93__/* ["default"] */ .Z,
285515
+ 'tidex': _src_tidex_js__WEBPACK_IMPORTED_MODULE_94__/* ["default"] */ .Z,
285516
+ 'timex': _src_timex_js__WEBPACK_IMPORTED_MODULE_95__/* ["default"] */ .Z,
285517
+ 'tokocrypto': _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_96__/* ["default"] */ .Z,
285518
+ 'upbit': _src_upbit_js__WEBPACK_IMPORTED_MODULE_97__/* ["default"] */ .Z,
285519
+ 'wavesexchange': _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_98__/* ["default"] */ .Z,
285520
+ 'wazirx': _src_wazirx_js__WEBPACK_IMPORTED_MODULE_99__/* ["default"] */ .Z,
285521
+ 'whitebit': _src_whitebit_js__WEBPACK_IMPORTED_MODULE_100__/* ["default"] */ .Z,
285522
+ 'woo': _src_woo_js__WEBPACK_IMPORTED_MODULE_101__/* ["default"] */ .Z,
285523
+ 'yobit': _src_yobit_js__WEBPACK_IMPORTED_MODULE_102__/* ["default"] */ .Z,
285524
+ 'zaif': _src_zaif_js__WEBPACK_IMPORTED_MODULE_103__/* ["default"] */ .Z,
285525
+ 'zonda': _src_zonda_js__WEBPACK_IMPORTED_MODULE_104__/* ["default"] */ .Z,
283982
285526
  };
283983
285527
  const pro = {
283984
- 'alpaca': _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_104__/* ["default"] */ .Z,
283985
- 'ascendex': _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_105__/* ["default"] */ .Z,
283986
- 'bequant': _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_106__/* ["default"] */ .Z,
283987
- 'binance': _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_107__/* ["default"] */ .Z,
283988
- 'binancecoinm': _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_108__/* ["default"] */ .Z,
283989
- 'binanceus': _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_109__/* ["default"] */ .Z,
283990
- 'binanceusdm': _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_110__/* ["default"] */ .Z,
283991
- 'bingx': _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_111__/* ["default"] */ .Z,
283992
- 'bitcoincom': _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_112__/* ["default"] */ .Z,
283993
- 'bitfinex': _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_113__/* ["default"] */ .Z,
283994
- 'bitfinex2': _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_114__/* ["default"] */ .Z,
283995
- 'bitget': _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_115__/* ["default"] */ .Z,
283996
- 'bitmart': _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_116__/* ["default"] */ .Z,
283997
- 'bitmex': _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_117__/* ["default"] */ .Z,
283998
- 'bitopro': _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_118__/* ["default"] */ .Z,
283999
- 'bitpanda': _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_119__/* ["default"] */ .Z,
284000
- 'bitrue': _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_120__/* ["default"] */ .Z,
284001
- 'bitstamp': _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_121__/* ["default"] */ .Z,
284002
- 'bittrex': _src_pro_bittrex_js__WEBPACK_IMPORTED_MODULE_122__/* ["default"] */ .Z,
284003
- 'bitvavo': _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
284004
- 'blockchaincom': _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
284005
- 'bybit': _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
284006
- 'cex': _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
284007
- 'coinbase': _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
284008
- 'coinbaseprime': _src_pro_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
284009
- 'coinbasepro': _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
284010
- 'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
284011
- 'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
284012
- 'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
284013
- 'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
284014
- 'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
284015
- 'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
284016
- 'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
284017
- 'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
284018
- 'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
284019
- 'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
284020
- 'htx': _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
284021
- 'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
284022
- 'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
284023
- 'huobipro': _src_pro_huobipro_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
284024
- 'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
284025
- 'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
284026
- 'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
284027
- 'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
284028
- 'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
284029
- 'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
284030
- 'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
284031
- 'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
284032
- 'mexc3': _src_pro_mexc3_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
284033
- 'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
284034
- 'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
284035
- 'okex': _src_pro_okex_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
284036
- 'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_156__/* ["default"] */ .Z,
284037
- 'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_157__/* ["default"] */ .Z,
284038
- 'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_158__/* ["default"] */ .Z,
284039
- 'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_159__/* ["default"] */ .Z,
284040
- 'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_160__/* ["default"] */ .Z,
284041
- 'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_161__/* ["default"] */ .Z,
284042
- 'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_162__/* ["default"] */ .Z,
284043
- 'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_163__/* ["default"] */ .Z,
284044
- 'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_164__/* ["default"] */ .Z,
285528
+ 'alpaca': _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_105__/* ["default"] */ .Z,
285529
+ 'ascendex': _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_106__/* ["default"] */ .Z,
285530
+ 'bequant': _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_107__/* ["default"] */ .Z,
285531
+ 'binance': _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_108__/* ["default"] */ .Z,
285532
+ 'binancecoinm': _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_109__/* ["default"] */ .Z,
285533
+ 'binanceus': _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_110__/* ["default"] */ .Z,
285534
+ 'binanceusdm': _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_111__/* ["default"] */ .Z,
285535
+ 'bingx': _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_112__/* ["default"] */ .Z,
285536
+ 'bitcoincom': _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_113__/* ["default"] */ .Z,
285537
+ 'bitfinex': _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_114__/* ["default"] */ .Z,
285538
+ 'bitfinex2': _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_115__/* ["default"] */ .Z,
285539
+ 'bitget': _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_116__/* ["default"] */ .Z,
285540
+ 'bitmart': _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_117__/* ["default"] */ .Z,
285541
+ 'bitmex': _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_118__/* ["default"] */ .Z,
285542
+ 'bitopro': _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_119__/* ["default"] */ .Z,
285543
+ 'bitpanda': _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_120__/* ["default"] */ .Z,
285544
+ 'bitrue': _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_121__/* ["default"] */ .Z,
285545
+ 'bitstamp': _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_122__/* ["default"] */ .Z,
285546
+ 'bittrex': _src_pro_bittrex_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
285547
+ 'bitvavo': _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
285548
+ 'blockchaincom': _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
285549
+ 'bybit': _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
285550
+ 'cex': _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
285551
+ 'coinbase': _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
285552
+ 'coinbaseprime': _src_pro_coinbaseprime_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
285553
+ 'coinbasepro': _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
285554
+ 'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
285555
+ 'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
285556
+ 'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
285557
+ 'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
285558
+ 'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
285559
+ 'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
285560
+ 'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
285561
+ 'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
285562
+ 'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
285563
+ 'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
285564
+ 'htx': _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
285565
+ 'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
285566
+ 'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
285567
+ 'huobipro': _src_pro_huobipro_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
285568
+ 'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
285569
+ 'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
285570
+ 'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
285571
+ 'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
285572
+ 'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
285573
+ 'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
285574
+ 'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
285575
+ 'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
285576
+ 'mexc3': _src_pro_mexc3_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
285577
+ 'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
285578
+ 'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
285579
+ 'okex': _src_pro_okex_js__WEBPACK_IMPORTED_MODULE_156__/* ["default"] */ .Z,
285580
+ 'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_157__/* ["default"] */ .Z,
285581
+ 'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_158__/* ["default"] */ .Z,
285582
+ 'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_159__/* ["default"] */ .Z,
285583
+ 'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_160__/* ["default"] */ .Z,
285584
+ 'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_161__/* ["default"] */ .Z,
285585
+ 'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_162__/* ["default"] */ .Z,
285586
+ 'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_163__/* ["default"] */ .Z,
285587
+ 'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_164__/* ["default"] */ .Z,
285588
+ 'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_165__/* ["default"] */ .Z,
284045
285589
  };
284046
285590
  for (const exchange in pro) {
284047
285591
  // const ccxtExchange = exchanges[exchange]
@@ -284054,7 +285598,7 @@ for (const exchange in pro) {
284054
285598
  pro.exchanges = Object.keys(pro);
284055
285599
  pro['Exchange'] = _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e; // now the same for rest and ts
284056
285600
  //-----------------------------------------------------------------------------
284057
- const ccxt = Object.assign({ version, Exchange: _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e, Precise: _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_165__/* .Precise */ .O, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, _src_base_functions_js__WEBPACK_IMPORTED_MODULE_166__, _src_base_errors_js__WEBPACK_IMPORTED_MODULE_167__);
285601
+ const ccxt = Object.assign({ version, Exchange: _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e, Precise: _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_166__/* .Precise */ .O, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, _src_base_functions_js__WEBPACK_IMPORTED_MODULE_167__, _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__);
284058
285602
 
284059
285603
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ccxt);
284060
285604
  //-----------------------------------------------------------------------------