ccxt 4.1.88__py2.py3-none-any.whl → 4.1.90__py2.py3-none-any.whl

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.

Potentially problematic release.


This version of ccxt might be problematic. Click here for more details.

Files changed (56) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/abstract/phemex.py +1 -0
  3. ccxt/async_support/__init__.py +1 -1
  4. ccxt/async_support/base/exchange.py +3 -3
  5. ccxt/async_support/bigone.py +8 -1
  6. ccxt/async_support/binance.py +1 -1
  7. ccxt/async_support/bitforex.py +2 -0
  8. ccxt/async_support/bitget.py +9 -4
  9. ccxt/async_support/bitmex.py +2 -0
  10. ccxt/async_support/blockchaincom.py +0 -37
  11. ccxt/async_support/bybit.py +23 -14
  12. ccxt/async_support/coinex.py +12 -0
  13. ccxt/async_support/coinlist.py +2 -0
  14. ccxt/async_support/coinsph.py +2 -0
  15. ccxt/async_support/cryptocom.py +2 -0
  16. ccxt/async_support/gate.py +258 -11
  17. ccxt/async_support/htx.py +223 -207
  18. ccxt/async_support/kuna.py +2 -0
  19. ccxt/async_support/mexc.py +2 -0
  20. ccxt/async_support/okcoin.py +56 -16
  21. ccxt/async_support/phemex.py +151 -28
  22. ccxt/async_support/poloniex.py +23 -2
  23. ccxt/async_support/tokocrypto.py +25 -12
  24. ccxt/async_support/wazirx.py +2 -0
  25. ccxt/async_support/whitebit.py +2 -0
  26. ccxt/async_support/woo.py +38 -12
  27. ccxt/base/exchange.py +3 -3
  28. ccxt/bigone.py +8 -1
  29. ccxt/binance.py +1 -1
  30. ccxt/bitforex.py +2 -0
  31. ccxt/bitget.py +9 -4
  32. ccxt/bitmex.py +2 -0
  33. ccxt/blockchaincom.py +0 -37
  34. ccxt/bybit.py +23 -14
  35. ccxt/coinex.py +12 -0
  36. ccxt/coinlist.py +2 -0
  37. ccxt/coinsph.py +2 -0
  38. ccxt/cryptocom.py +2 -0
  39. ccxt/gate.py +258 -11
  40. ccxt/htx.py +223 -207
  41. ccxt/kuna.py +2 -0
  42. ccxt/mexc.py +2 -0
  43. ccxt/okcoin.py +56 -16
  44. ccxt/phemex.py +151 -28
  45. ccxt/poloniex.py +23 -2
  46. ccxt/pro/__init__.py +1 -1
  47. ccxt/pro/binance.py +6 -6
  48. ccxt/pro/poloniex.py +15 -11
  49. ccxt/tokocrypto.py +25 -12
  50. ccxt/wazirx.py +2 -0
  51. ccxt/whitebit.py +2 -0
  52. ccxt/woo.py +38 -12
  53. {ccxt-4.1.88.dist-info → ccxt-4.1.90.dist-info}/METADATA +5 -5
  54. {ccxt-4.1.88.dist-info → ccxt-4.1.90.dist-info}/RECORD +56 -56
  55. {ccxt-4.1.88.dist-info → ccxt-4.1.90.dist-info}/WHEEL +0 -0
  56. {ccxt-4.1.88.dist-info → ccxt-4.1.90.dist-info}/top_level.txt +0 -0
@@ -98,6 +98,8 @@ class wazirx(Exchange, ImplicitAPI):
98
98
  'fetchTransfers': False,
99
99
  'fetchWithdrawals': False,
100
100
  'reduceMargin': False,
101
+ 'repayCrossMargin': False,
102
+ 'repayIsolatedMargin': False,
101
103
  'setLeverage': False,
102
104
  'setMargin': False,
103
105
  'setMarginMode': False,
@@ -86,6 +86,8 @@ class whitebit(Exchange, ImplicitAPI):
86
86
  'fetchTradingFee': False,
87
87
  'fetchTradingFees': True,
88
88
  'fetchTransactionFees': True,
89
+ 'repayCrossMargin': False,
90
+ 'repayIsolatedMargin': False,
89
91
  'setLeverage': True,
90
92
  'transfer': True,
91
93
  'withdraw': True,
ccxt/async_support/woo.py CHANGED
@@ -12,6 +12,7 @@ from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import ArgumentsRequired
13
13
  from ccxt.base.errors import BadRequest
14
14
  from ccxt.base.errors import InvalidOrder
15
+ from ccxt.base.errors import NotSupported
15
16
  from ccxt.base.errors import RateLimitExceeded
16
17
  from ccxt.base.errors import AuthenticationError
17
18
  from ccxt.base.decimal_to_precision import TICK_SIZE
@@ -44,7 +45,10 @@ class woo(Exchange, ImplicitAPI):
44
45
  'closeAllPositions': False,
45
46
  'closePosition': False,
46
47
  'createDepositAddress': False,
48
+ 'createMarketBuyOrderWithCost': True,
47
49
  'createMarketOrder': False,
50
+ 'createMarketOrderWithCost': False,
51
+ 'createMarketSellOrderWithCost': False,
48
52
  'createOrder': True,
49
53
  'createReduceOnlyOrder': True,
50
54
  'createStopLimitOrder': False,
@@ -728,6 +732,22 @@ class woo(Exchange, ImplicitAPI):
728
732
  }
729
733
  return result
730
734
 
735
+ async def create_market_buy_order_with_cost(self, symbol: str, cost, params={}):
736
+ """
737
+ create a market buy order by providing the symbol and cost
738
+ :see: https://docs.woo.org/#send-order
739
+ :param str symbol: unified symbol of the market to create an order in
740
+ :param float cost: how much you want to trade in units of the quote currency
741
+ :param dict [params]: extra parameters specific to the exchange API endpoint
742
+ :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
743
+ """
744
+ await self.load_markets()
745
+ market = self.market(symbol)
746
+ if not market['spot']:
747
+ raise NotSupported(self.id + ' createMarketBuyOrderWithCost() supports spot orders only')
748
+ params['createMarketBuyOrderRequiresPrice'] = False
749
+ return await self.create_order(symbol, 'market', 'buy', cost, None, params)
750
+
731
751
  async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount, price=None, params={}):
732
752
  """
733
753
  :see: https://docs.woo.org/#send-order
@@ -745,9 +765,11 @@ class woo(Exchange, ImplicitAPI):
745
765
  :param dict [params.stopLoss]: *stopLoss object in params* containing the triggerPrice at which the attached stop loss order will be triggered(perpetual swap markets only)
746
766
  :param float [params.stopLoss.triggerPrice]: stop loss trigger price
747
767
  :param float [params.algoType]: 'STOP'or 'TRAILING_STOP' or 'OCO' or 'CLOSE_POSITION'
768
+ :param float [params.cost]: *spot market buy only* the quote quantity that can be used alternative for the amount
748
769
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
749
770
  """
750
771
  reduceOnly = self.safe_value_2(params, 'reduceOnly', 'reduce_only')
772
+ params = self.omit(params, ['reduceOnly', 'reduce_only'])
751
773
  orderType = type.upper()
752
774
  await self.load_markets()
753
775
  market = self.market(symbol)
@@ -784,20 +806,24 @@ class woo(Exchange, ImplicitAPI):
784
806
  if isMarket and not isStop:
785
807
  # for market buy it requires the amount of quote currency to spend
786
808
  if market['spot'] and orderSide == 'BUY':
787
- cost = self.safe_number(params, 'cost')
788
- if self.safe_value(self.options, 'createMarketBuyOrderRequiresPrice', True):
789
- if cost is None:
790
- if price is None:
791
- raise InvalidOrder(self.id + " createOrder() requires the price argument for market buy orders to calculate total order cost. Supply a price argument to createOrder() call if you want the cost to be calculated for you from price and amount, or alternatively, supply the total cost value in the 'order_amount' in exchange-specific parameters")
792
- else:
793
- amountString = self.number_to_string(amount)
794
- priceString = self.number_to_string(price)
795
- orderAmount = Precise.string_mul(amountString, priceString)
796
- request['order_amount'] = self.cost_to_precision(symbol, orderAmount)
809
+ quoteAmount = None
810
+ createMarketBuyOrderRequiresPrice = True
811
+ createMarketBuyOrderRequiresPrice, params = self.handle_option_and_params(params, 'createOrder', 'createMarketBuyOrderRequiresPrice', True)
812
+ cost = self.safe_number_2(params, 'cost', 'order_amount')
813
+ params = self.omit(params, ['cost', 'order_amount'])
814
+ if cost is not None:
815
+ quoteAmount = self.cost_to_precision(symbol, cost)
816
+ elif createMarketBuyOrderRequiresPrice:
817
+ if price is None:
818
+ raise InvalidOrder(self.id + ' createOrder() requires the price argument for market buy orders to calculate the total cost to spend(amount * price), alternatively set the createMarketBuyOrderRequiresPrice option or param to False and pass the cost to spend(quote quantity) in the amount argument')
797
819
  else:
798
- request['order_amount'] = self.cost_to_precision(symbol, cost)
820
+ amountString = self.number_to_string(amount)
821
+ priceString = self.number_to_string(price)
822
+ costRequest = Precise.string_mul(amountString, priceString)
823
+ quoteAmount = self.cost_to_precision(symbol, costRequest)
799
824
  else:
800
- request['order_amount'] = self.cost_to_precision(symbol, amount)
825
+ quoteAmount = self.cost_to_precision(symbol, amount)
826
+ request['order_amount'] = quoteAmount
801
827
  else:
802
828
  request['order_quantity'] = self.amount_to_precision(symbol, amount)
803
829
  elif algoType != 'POSITIONAL_TP_SL':
ccxt/base/exchange.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.1.88'
7
+ __version__ = '4.1.90'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -3740,7 +3740,7 @@ class Exchange(object):
3740
3740
  :param dict [params]: extra parameters specific to the exchange API endpoint
3741
3741
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
3742
3742
  """
3743
- if self.options['createMarketOrderWithCost'] or (self.options['createMarketBuyOrderWithCost'] and self.options['createMarketSellOrderWithCost']):
3743
+ if self.has['createMarketOrderWithCost'] or (self.has['createMarketBuyOrderWithCost'] and self.has['createMarketSellOrderWithCost']):
3744
3744
  return self.create_order(symbol, 'market', side, cost, 1, params)
3745
3745
  raise NotSupported(self.id + ' createMarketOrderWithCost() is not supported yet')
3746
3746
 
@@ -3752,7 +3752,7 @@ class Exchange(object):
3752
3752
  :param dict [params]: extra parameters specific to the exchange API endpoint
3753
3753
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
3754
3754
  """
3755
- if self.options['createMarketBuyOrderRequiresPrice'] or self.options['createMarketBuyOrderWithCost']:
3755
+ if self.options['createMarketBuyOrderRequiresPrice'] or self.has['createMarketBuyOrderWithCost']:
3756
3756
  return self.create_order(symbol, 'market', 'buy', cost, 1, params)
3757
3757
  raise NotSupported(self.id + ' createMarketBuyOrderWithCost() is not supported yet')
3758
3758
 
ccxt/bigone.py CHANGED
@@ -14,6 +14,7 @@ from ccxt.base.errors import BadRequest
14
14
  from ccxt.base.errors import BadSymbol
15
15
  from ccxt.base.errors import InsufficientFunds
16
16
  from ccxt.base.errors import InvalidOrder
17
+ from ccxt.base.errors import NotSupported
17
18
  from ccxt.base.errors import RateLimitExceeded
18
19
  from ccxt.base.errors import AuthenticationError
19
20
  from ccxt.base.decimal_to_precision import TICK_SIZE
@@ -39,6 +40,7 @@ class bigone(Exchange, ImplicitAPI):
39
40
  'cancelAllOrders': True,
40
41
  'cancelOrder': True,
41
42
  'createMarketBuyOrderWithCost': True,
43
+ 'createMarketOrderWithCost': False,
42
44
  'createMarketSellOrderWithCost': False,
43
45
  'createOrder': True,
44
46
  'createPostOnlyOrder': True,
@@ -1108,13 +1110,17 @@ class bigone(Exchange, ImplicitAPI):
1108
1110
 
1109
1111
  def create_market_buy_order_with_cost(self, symbol: str, cost, params={}):
1110
1112
  """
1111
- :see: https://open.big.one/docs/spot_orders.html#create-order
1112
1113
  create a market buy order by providing the symbol and cost
1114
+ :see: https://open.big.one/docs/spot_orders.html#create-order
1113
1115
  :param str symbol: unified symbol of the market to create an order in
1114
1116
  :param float cost: how much you want to trade in units of the quote currency
1115
1117
  :param dict [params]: extra parameters specific to the exchange API endpoint
1116
1118
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
1117
1119
  """
1120
+ self.load_markets()
1121
+ market = self.market(symbol)
1122
+ if not market['spot']:
1123
+ raise NotSupported(self.id + ' createMarketBuyOrderWithCost() supports spot orders only')
1118
1124
  params['createMarketBuyOrderRequiresPrice'] = False
1119
1125
  return self.create_order(symbol, 'market', 'buy', cost, None, params)
1120
1126
 
@@ -1131,6 +1137,7 @@ class bigone(Exchange, ImplicitAPI):
1131
1137
  :param float [params.triggerPrice]: the price at which a trigger order is triggered at
1132
1138
  :param bool [params.postOnly]: if True, the order will only be posted to the order book and not executed immediately
1133
1139
  :param str [params.timeInForce]: "GTC", "IOC", or "PO"
1140
+ :param float [params.cost]: *spot market buy only* the quote quantity that can be used alternative for the amount
1134
1141
  *
1135
1142
  * EXCHANGE SPECIFIC PARAMETERS
1136
1143
  :param str operator: *stop order only* GTE or LTE(default)
ccxt/binance.py CHANGED
@@ -60,7 +60,7 @@ class binance(Exchange, ImplicitAPI):
60
60
  'cancelOrder': True,
61
61
  'cancelOrders': True, # contract only
62
62
  'closeAllPositions': False,
63
- 'closePosition': False,
63
+ 'closePosition': False, # exchange specific closePosition parameter for binance createOrder is not synonymous with how CCXT uses closePositions
64
64
  'createDepositAddress': False,
65
65
  'createOrder': True,
66
66
  'createOrders': True,
ccxt/bitforex.py CHANGED
@@ -84,6 +84,8 @@ class bitforex(Exchange, ImplicitAPI):
84
84
  'fetchWithdrawal': False,
85
85
  'fetchWithdrawals': False,
86
86
  'reduceMargin': False,
87
+ 'repayCrossMargin': False,
88
+ 'repayIsolatedMargin': False,
87
89
  'setLeverage': False,
88
90
  'setMargin': False,
89
91
  'setMarginMode': False,
ccxt/bitget.py CHANGED
@@ -3718,17 +3718,22 @@ class bitget(Exchange, ImplicitAPI):
3718
3718
  if feeCostString is not None:
3719
3719
  # swap
3720
3720
  fee = {
3721
- 'cost': feeCostString,
3721
+ 'cost': self.parse_number(Precise.string_abs(feeCostString)),
3722
3722
  'currency': market['settle'],
3723
3723
  }
3724
3724
  feeDetail = self.safe_value(order, 'feeDetail')
3725
3725
  if feeDetail is not None:
3726
3726
  parsedFeeDetail = json.loads(feeDetail)
3727
3727
  feeValues = list(parsedFeeDetail.values())
3728
- first = self.safe_value(feeValues, 0)
3728
+ feeObject = None
3729
+ for i in range(0, len(feeValues)):
3730
+ feeValue = feeValues[i]
3731
+ if self.safe_value(feeValue, 'feeCoinCode') is not None:
3732
+ feeObject = feeValue
3733
+ break
3729
3734
  fee = {
3730
- 'cost': self.safe_string(first, 'totalFee'),
3731
- 'currency': self.safe_currency_code(self.safe_string(first, 'feeCoinCode')),
3735
+ 'cost': self.parse_number(Precise.string_abs(self.safe_string(feeObject, 'totalFee'))),
3736
+ 'currency': self.safe_currency_code(self.safe_string(feeObject, 'feeCoinCode')),
3732
3737
  }
3733
3738
  postOnly = None
3734
3739
  timeInForce = self.safe_string_upper(order, 'force')
ccxt/bitmex.py CHANGED
@@ -50,6 +50,8 @@ class bitmex(Exchange, ImplicitAPI):
50
50
  'cancelAllOrders': True,
51
51
  'cancelOrder': True,
52
52
  'cancelOrders': True,
53
+ 'closeAllPositions': False,
54
+ 'closePosition': True,
53
55
  'createOrder': True,
54
56
  'createReduceOnlyOrder': True,
55
57
  'editOrder': True,
ccxt/blockchaincom.py CHANGED
@@ -857,43 +857,6 @@ class blockchaincom(Exchange, ImplicitAPI):
857
857
  'fee': fee,
858
858
  }
859
859
 
860
- def fetch_withdrawal_whitelist(self, params={}):
861
- """
862
- fetch the list of withdrawal addresses on the whitelist
863
- :param dict [params]: extra parameters specific to the exchange API endpoint
864
- :returns dict: dictionary with keys beneficiaryId, name, currency
865
- """
866
- self.load_markets()
867
- response = self.privateGetWhitelist()
868
- result = []
869
- for i in range(0, len(response)):
870
- entry = response[i]
871
- result.append({
872
- 'beneficiaryId': self.safe_string(entry, 'whitelistId'),
873
- 'name': self.safe_string(entry, 'name'),
874
- 'currency': self.safe_string(entry, 'currency'),
875
- 'info': entry,
876
- })
877
- return result
878
-
879
- def fetch_withdrawal_whitelist_by_currency(self, code: str, params={}):
880
- self.load_markets()
881
- currency = self.currency(code)
882
- request = {
883
- 'currency': currency['id'],
884
- }
885
- response = self.privateGetWhitelistCurrency(self.extend(request, params))
886
- result = []
887
- for i in range(0, len(response)):
888
- entry = response[i]
889
- result.append({
890
- 'beneficiaryId': self.safe_string(entry, 'whitelistId'),
891
- 'name': self.safe_string(entry, 'name'),
892
- 'currency': self.safe_string(entry, 'currency'),
893
- 'info': entry,
894
- })
895
- return result
896
-
897
860
  def withdraw(self, code: str, amount, address, tag=None, params={}):
898
861
  """
899
862
  make a withdrawal
ccxt/bybit.py CHANGED
@@ -959,6 +959,7 @@ class bybit(Exchange, ImplicitAPI):
959
959
  },
960
960
  'precisionMode': TICK_SIZE,
961
961
  'options': {
962
+ 'fetchMarkets': ['spot', 'linear', 'inverse', 'option'],
962
963
  'enableUnifiedMargin': None,
963
964
  'enableUnifiedAccount': None,
964
965
  'createMarketBuyOrderRequiresPrice': True,
@@ -1425,21 +1426,29 @@ class bybit(Exchange, ImplicitAPI):
1425
1426
  """
1426
1427
  if self.options['adjustForTimeDifference']:
1427
1428
  self.load_time_difference()
1428
- promisesUnresolved = [
1429
- self.fetch_spot_markets(params),
1430
- self.fetch_future_markets({'category': 'linear'}),
1431
- self.fetch_future_markets({'category': 'inverse'}),
1432
- self.fetch_option_markets({'baseCoin': 'BTC'}),
1433
- self.fetch_option_markets({'baseCoin': 'ETH'}),
1434
- self.fetch_option_markets({'baseCoin': 'SOL'}),
1435
- ]
1429
+ promisesUnresolved = []
1430
+ fetchMarkets = self.safe_value(self.options, 'fetchMarkets', ['spot', 'linear', 'inverse'])
1431
+ for i in range(0, len(fetchMarkets)):
1432
+ marketType = fetchMarkets[i]
1433
+ if marketType == 'spot':
1434
+ promisesUnresolved.append(self.fetch_spot_markets(params))
1435
+ elif marketType == 'linear':
1436
+ promisesUnresolved.append(self.fetch_future_markets({'category': 'linear'}))
1437
+ elif marketType == 'inverse':
1438
+ promisesUnresolved.append(self.fetch_future_markets({'category': 'inverse'}))
1439
+ elif marketType == 'option':
1440
+ promisesUnresolved.append(self.fetch_option_markets({'baseCoin': 'BTC'}))
1441
+ promisesUnresolved.append(self.fetch_option_markets({'baseCoin': 'ETH'}))
1442
+ promisesUnresolved.append(self.fetch_option_markets({'baseCoin': 'SOL'}))
1443
+ else:
1444
+ raise ExchangeError(self.id + ' fetchMarkets() self.options fetchMarkets "' + marketType + '" is not a supported market type')
1436
1445
  promises = promisesUnresolved
1437
- spotMarkets = promises[0]
1438
- linearMarkets = promises[1]
1439
- inverseMarkets = promises[2]
1440
- btcOptionMarkets = promises[3]
1441
- ethOptionMarkets = promises[4]
1442
- solOptionMarkets = promises[5]
1446
+ spotMarkets = self.safe_value(promises, 0, [])
1447
+ linearMarkets = self.safe_value(promises, 1, [])
1448
+ inverseMarkets = self.safe_value(promises, 2, [])
1449
+ btcOptionMarkets = self.safe_value(promises, 3, [])
1450
+ ethOptionMarkets = self.safe_value(promises, 4, [])
1451
+ solOptionMarkets = self.safe_value(promises, 5, [])
1443
1452
  futureMarkets = self.array_concat(linearMarkets, inverseMarkets)
1444
1453
  optionMarkets = self.array_concat(btcOptionMarkets, ethOptionMarkets)
1445
1454
  optionMarkets = self.array_concat(optionMarkets, solOptionMarkets)
ccxt/coinex.py CHANGED
@@ -58,6 +58,8 @@ class coinex(Exchange, ImplicitAPI):
58
58
  'cancelOrders': True,
59
59
  'createDepositAddress': True,
60
60
  'createMarketBuyOrderWithCost': True,
61
+ 'createMarketOrderWithCost': False,
62
+ 'createMarketSellOrderWithCost': False,
61
63
  'createOrder': True,
62
64
  'createOrders': True,
63
65
  'createReduceOnlyOrder': True,
@@ -1866,11 +1868,16 @@ class coinex(Exchange, ImplicitAPI):
1866
1868
  def create_market_buy_order_with_cost(self, symbol: str, cost, params={}):
1867
1869
  """
1868
1870
  create a market buy order by providing the symbol and cost
1871
+ :see: https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot003_trade003_market_order
1869
1872
  :param str symbol: unified symbol of the market to create an order in
1870
1873
  :param float cost: how much you want to trade in units of the quote currency
1871
1874
  :param dict [params]: extra parameters specific to the exchange API endpoint
1872
1875
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
1873
1876
  """
1877
+ self.load_markets()
1878
+ market = self.market(symbol)
1879
+ if not market['spot']:
1880
+ raise NotSupported(self.id + ' createMarketBuyOrderWithCost() supports spot orders only')
1874
1881
  params['createMarketBuyOrderRequiresPrice'] = False
1875
1882
  return self.create_order(symbol, 'market', 'buy', cost, None, params)
1876
1883
 
@@ -1992,6 +1999,11 @@ class coinex(Exchange, ImplicitAPI):
1992
1999
  def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount, price=None, params={}):
1993
2000
  """
1994
2001
  create a trade order
2002
+ :see: https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot003_trade001_limit_order
2003
+ :see: https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot003_trade003_market_order
2004
+ :see: https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot003_trade004_IOC_order
2005
+ :see: https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot003_trade005_stop_limit_order
2006
+ :see: https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot003_trade006_stop_market_order
1995
2007
  :see: https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http017_put_limit
1996
2008
  :see: https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http018_put_market
1997
2009
  :see: https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http019_put_limit_stop
ccxt/coinlist.py CHANGED
@@ -122,6 +122,8 @@ class coinlist(Exchange, ImplicitAPI):
122
122
  'fetchWithdrawals': False,
123
123
  'fetchWithdrawalWhitelist': False,
124
124
  'reduceMargin': False,
125
+ 'repayCrossMargin': False,
126
+ 'repayIsolatedMargin': False,
125
127
  'setLeverage': False,
126
128
  'setMargin': False,
127
129
  'setMarginMode': False,
ccxt/coinsph.py CHANGED
@@ -127,6 +127,8 @@ class coinsph(Exchange, ImplicitAPI):
127
127
  'fetchWithdrawals': True,
128
128
  'fetchWithdrawalWhitelist': False,
129
129
  'reduceMargin': False,
130
+ 'repayCrossMargin': False,
131
+ 'repayIsolatedMargin': False,
130
132
  'setLeverage': False,
131
133
  'setMargin': False,
132
134
  'setMarginMode': False,
ccxt/cryptocom.py CHANGED
@@ -111,6 +111,8 @@ class cryptocom(Exchange, ImplicitAPI):
111
111
  'fetchVolatilityHistory': False,
112
112
  'fetchWithdrawals': True,
113
113
  'reduceMargin': False,
114
+ 'repayCrossMargin': False,
115
+ 'repayIsolatedMargin': False,
114
116
  'setLeverage': False,
115
117
  'setMarginMode': False,
116
118
  'setPositionMode': False,