ccxt 4.4.51__py2.py3-none-any.whl → 4.4.53__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.
Files changed (224) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/abstract/binance.py +0 -1
  3. ccxt/abstract/binancecoinm.py +0 -1
  4. ccxt/abstract/binanceus.py +0 -1
  5. ccxt/abstract/binanceusdm.py +0 -1
  6. ccxt/ace.py +3 -0
  7. ccxt/alpaca.py +5 -0
  8. ccxt/ascendex.py +2 -1
  9. ccxt/async_support/__init__.py +1 -1
  10. ccxt/async_support/ace.py +3 -0
  11. ccxt/async_support/alpaca.py +5 -0
  12. ccxt/async_support/ascendex.py +2 -1
  13. ccxt/async_support/base/exchange.py +20 -3
  14. ccxt/async_support/bigone.py +5 -0
  15. ccxt/async_support/binance.py +55 -69
  16. ccxt/async_support/bingx.py +25 -29
  17. ccxt/async_support/bit2c.py +3 -0
  18. ccxt/async_support/bitbank.py +3 -0
  19. ccxt/async_support/bitbns.py +3 -0
  20. ccxt/async_support/bitfinex.py +6 -1
  21. ccxt/async_support/bitflyer.py +6 -1
  22. ccxt/async_support/bitget.py +8 -4
  23. ccxt/async_support/bithumb.py +3 -1
  24. ccxt/async_support/bitmart.py +22 -12
  25. ccxt/async_support/bitmex.py +99 -93
  26. ccxt/async_support/bitopro.py +7 -2
  27. ccxt/async_support/bitrue.py +4 -0
  28. ccxt/async_support/bitso.py +5 -2
  29. ccxt/async_support/bitstamp.py +3 -0
  30. ccxt/async_support/bitteam.py +5 -0
  31. ccxt/async_support/bitvavo.py +4 -0
  32. ccxt/async_support/blockchaincom.py +4 -0
  33. ccxt/async_support/blofin.py +3 -0
  34. ccxt/async_support/btcalpha.py +5 -0
  35. ccxt/async_support/btcbox.py +3 -2
  36. ccxt/async_support/btcmarkets.py +5 -0
  37. ccxt/async_support/btcturk.py +3 -0
  38. ccxt/async_support/bybit.py +10 -4
  39. ccxt/async_support/cex.py +2 -0
  40. ccxt/async_support/coinbase.py +19 -12
  41. ccxt/async_support/coinbaseexchange.py +5 -0
  42. ccxt/async_support/coinbaseinternational.py +21 -2
  43. ccxt/async_support/coincatch.py +3 -0
  44. ccxt/async_support/coincheck.py +2 -0
  45. ccxt/async_support/coinex.py +5 -1
  46. ccxt/async_support/coinlist.py +5 -0
  47. ccxt/async_support/coinmate.py +4 -0
  48. ccxt/async_support/coinmetro.py +9 -5
  49. ccxt/async_support/coinone.py +3 -0
  50. ccxt/async_support/coinsph.py +4 -0
  51. ccxt/async_support/coinspot.py +1 -0
  52. ccxt/async_support/cryptocom.py +5 -0
  53. ccxt/async_support/currencycom.py +3 -0
  54. ccxt/async_support/defx.py +5 -0
  55. ccxt/async_support/delta.py +4 -1
  56. ccxt/async_support/deribit.py +16 -5
  57. ccxt/async_support/digifinex.py +10 -5
  58. ccxt/async_support/ellipx.py +9 -5
  59. ccxt/async_support/exmo.py +6 -3
  60. ccxt/async_support/gate.py +5 -1
  61. ccxt/async_support/gemini.py +3 -0
  62. ccxt/async_support/hashkey.py +5 -4
  63. ccxt/async_support/hitbtc.py +6 -2
  64. ccxt/async_support/hollaex.py +7 -2
  65. ccxt/async_support/htx.py +8 -1
  66. ccxt/async_support/huobijp.py +5 -0
  67. ccxt/async_support/hyperliquid.py +6 -1
  68. ccxt/async_support/idex.py +5 -1
  69. ccxt/async_support/independentreserve.py +4 -0
  70. ccxt/async_support/indodax.py +3 -0
  71. ccxt/async_support/kraken.py +6 -4
  72. ccxt/async_support/krakenfutures.py +5 -2
  73. ccxt/async_support/kucoin.py +13 -6
  74. ccxt/async_support/kucoinfutures.py +5 -1
  75. ccxt/async_support/kuna.py +3 -0
  76. ccxt/async_support/latoken.py +4 -0
  77. ccxt/async_support/lbank.py +6 -1
  78. ccxt/async_support/luno.py +6 -1
  79. ccxt/async_support/lykke.py +4 -0
  80. ccxt/async_support/mercado.py +4 -0
  81. ccxt/async_support/mexc.py +10 -9
  82. ccxt/async_support/ndax.py +6 -1
  83. ccxt/async_support/novadax.py +5 -0
  84. ccxt/async_support/oceanex.py +6 -2
  85. ccxt/async_support/okcoin.py +4 -0
  86. ccxt/async_support/okx.py +17 -5
  87. ccxt/async_support/onetrading.py +4 -0
  88. ccxt/async_support/oxfun.py +3 -0
  89. ccxt/async_support/p2b.py +3 -0
  90. ccxt/async_support/paradex.py +8 -2
  91. ccxt/async_support/phemex.py +10 -4
  92. ccxt/async_support/poloniex.py +6 -3
  93. ccxt/async_support/poloniexfutures.py +5 -1
  94. ccxt/async_support/probit.py +4 -0
  95. ccxt/async_support/timex.py +4 -0
  96. ccxt/async_support/tokocrypto.py +5 -0
  97. ccxt/async_support/tradeogre.py +2 -0
  98. ccxt/async_support/upbit.py +5 -2
  99. ccxt/async_support/vertex.py +6 -2
  100. ccxt/async_support/wavesexchange.py +20 -3
  101. ccxt/async_support/wazirx.py +2 -0
  102. ccxt/async_support/whitebit.py +5 -4
  103. ccxt/async_support/woo.py +15 -5
  104. ccxt/async_support/woofipro.py +21 -7
  105. ccxt/async_support/xt.py +5 -0
  106. ccxt/async_support/yobit.py +5 -2
  107. ccxt/async_support/zaif.py +2 -0
  108. ccxt/async_support/zonda.py +2 -0
  109. ccxt/base/exchange.py +113 -50
  110. ccxt/base/types.py +1 -1
  111. ccxt/bigone.py +5 -0
  112. ccxt/binance.py +55 -69
  113. ccxt/bingx.py +25 -29
  114. ccxt/bit2c.py +3 -0
  115. ccxt/bitbank.py +3 -0
  116. ccxt/bitbns.py +3 -0
  117. ccxt/bitfinex.py +6 -1
  118. ccxt/bitflyer.py +6 -1
  119. ccxt/bitget.py +8 -4
  120. ccxt/bithumb.py +3 -1
  121. ccxt/bitmart.py +22 -12
  122. ccxt/bitmex.py +99 -93
  123. ccxt/bitopro.py +7 -2
  124. ccxt/bitrue.py +4 -0
  125. ccxt/bitso.py +5 -2
  126. ccxt/bitstamp.py +3 -0
  127. ccxt/bitteam.py +5 -0
  128. ccxt/bitvavo.py +4 -0
  129. ccxt/blockchaincom.py +4 -0
  130. ccxt/blofin.py +3 -0
  131. ccxt/btcalpha.py +5 -0
  132. ccxt/btcbox.py +3 -2
  133. ccxt/btcmarkets.py +5 -0
  134. ccxt/btcturk.py +3 -0
  135. ccxt/bybit.py +10 -4
  136. ccxt/cex.py +2 -0
  137. ccxt/coinbase.py +19 -12
  138. ccxt/coinbaseexchange.py +5 -0
  139. ccxt/coinbaseinternational.py +21 -2
  140. ccxt/coincatch.py +3 -0
  141. ccxt/coincheck.py +2 -0
  142. ccxt/coinex.py +5 -1
  143. ccxt/coinlist.py +5 -0
  144. ccxt/coinmate.py +4 -0
  145. ccxt/coinmetro.py +9 -5
  146. ccxt/coinone.py +3 -0
  147. ccxt/coinsph.py +4 -0
  148. ccxt/coinspot.py +1 -0
  149. ccxt/cryptocom.py +5 -0
  150. ccxt/currencycom.py +3 -0
  151. ccxt/defx.py +5 -0
  152. ccxt/delta.py +4 -1
  153. ccxt/deribit.py +16 -5
  154. ccxt/digifinex.py +10 -5
  155. ccxt/ellipx.py +9 -5
  156. ccxt/exmo.py +6 -3
  157. ccxt/gate.py +5 -1
  158. ccxt/gemini.py +3 -0
  159. ccxt/hashkey.py +5 -4
  160. ccxt/hitbtc.py +6 -2
  161. ccxt/hollaex.py +7 -2
  162. ccxt/htx.py +8 -1
  163. ccxt/huobijp.py +5 -0
  164. ccxt/hyperliquid.py +6 -1
  165. ccxt/idex.py +5 -1
  166. ccxt/independentreserve.py +4 -0
  167. ccxt/indodax.py +3 -0
  168. ccxt/kraken.py +6 -4
  169. ccxt/krakenfutures.py +5 -2
  170. ccxt/kucoin.py +13 -6
  171. ccxt/kucoinfutures.py +5 -1
  172. ccxt/kuna.py +3 -0
  173. ccxt/latoken.py +4 -0
  174. ccxt/lbank.py +6 -1
  175. ccxt/luno.py +6 -1
  176. ccxt/lykke.py +4 -0
  177. ccxt/mercado.py +4 -0
  178. ccxt/mexc.py +10 -9
  179. ccxt/ndax.py +6 -1
  180. ccxt/novadax.py +5 -0
  181. ccxt/oceanex.py +6 -2
  182. ccxt/okcoin.py +4 -0
  183. ccxt/okx.py +17 -5
  184. ccxt/onetrading.py +4 -0
  185. ccxt/oxfun.py +3 -0
  186. ccxt/p2b.py +3 -0
  187. ccxt/paradex.py +8 -2
  188. ccxt/phemex.py +10 -4
  189. ccxt/poloniex.py +6 -3
  190. ccxt/poloniexfutures.py +5 -1
  191. ccxt/pro/__init__.py +1 -1
  192. ccxt/pro/bitcoincom.py +1 -4
  193. ccxt/pro/bitopro.py +1 -1
  194. ccxt/probit.py +4 -0
  195. ccxt/test/tests_async.py +57 -31
  196. ccxt/test/tests_sync.py +57 -31
  197. ccxt/timex.py +4 -0
  198. ccxt/tokocrypto.py +5 -0
  199. ccxt/tradeogre.py +2 -0
  200. ccxt/upbit.py +5 -2
  201. ccxt/vertex.py +6 -2
  202. ccxt/wavesexchange.py +20 -3
  203. ccxt/wazirx.py +2 -0
  204. ccxt/whitebit.py +5 -4
  205. ccxt/woo.py +15 -5
  206. ccxt/woofipro.py +21 -7
  207. ccxt/xt.py +5 -0
  208. ccxt/yobit.py +5 -2
  209. ccxt/zaif.py +2 -0
  210. ccxt/zonda.py +2 -0
  211. {ccxt-4.4.51.dist-info → ccxt-4.4.53.dist-info}/METADATA +225 -140
  212. {ccxt-4.4.51.dist-info → ccxt-4.4.53.dist-info}/RECORD +215 -224
  213. ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  214. ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  215. ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  216. ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  217. ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  218. ccxt/static_dependencies/lark/py.typed +0 -0
  219. ccxt/static_dependencies/marshmallow/py.typed +0 -0
  220. ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  221. ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  222. {ccxt-4.4.51.dist-info → ccxt-4.4.53.dist-info}/LICENSE.txt +0 -0
  223. {ccxt-4.4.51.dist-info → ccxt-4.4.53.dist-info}/WHEEL +0 -0
  224. {ccxt-4.4.51.dist-info → ccxt-4.4.53.dist-info}/top_level.txt +0 -0
ccxt/__init__.py CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.4.51'
25
+ __version__ = '4.4.53'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
ccxt/abstract/binance.py CHANGED
@@ -764,4 +764,3 @@ class ImplicitAPI:
764
764
  papi_delete_margin_allopenorders = papiDeleteMarginAllOpenOrders = Entry('margin/allOpenOrders', 'papi', 'DELETE', {'cost': 5})
765
765
  papi_delete_margin_orderlist = papiDeleteMarginOrderList = Entry('margin/orderList', 'papi', 'DELETE', {'cost': 2})
766
766
  papi_delete_listenkey = papiDeleteListenKey = Entry('listenKey', 'papi', 'DELETE', {'cost': 0.2})
767
- papiv2_get_um_account = papiV2GetUmAccount = Entry('um/account', 'papiV2', 'GET', {'cost': 1})
@@ -764,4 +764,3 @@ class ImplicitAPI:
764
764
  papi_delete_margin_allopenorders = papiDeleteMarginAllOpenOrders = Entry('margin/allOpenOrders', 'papi', 'DELETE', {'cost': 5})
765
765
  papi_delete_margin_orderlist = papiDeleteMarginOrderList = Entry('margin/orderList', 'papi', 'DELETE', {'cost': 2})
766
766
  papi_delete_listenkey = papiDeleteListenKey = Entry('listenKey', 'papi', 'DELETE', {'cost': 0.2})
767
- papiv2_get_um_account = papiV2GetUmAccount = Entry('um/account', 'papiV2', 'GET', {'cost': 1})
@@ -816,4 +816,3 @@ class ImplicitAPI:
816
816
  papi_delete_margin_allopenorders = papiDeleteMarginAllOpenOrders = Entry('margin/allOpenOrders', 'papi', 'DELETE', {'cost': 5})
817
817
  papi_delete_margin_orderlist = papiDeleteMarginOrderList = Entry('margin/orderList', 'papi', 'DELETE', {'cost': 2})
818
818
  papi_delete_listenkey = papiDeleteListenKey = Entry('listenKey', 'papi', 'DELETE', {'cost': 0.2})
819
- papiv2_get_um_account = papiV2GetUmAccount = Entry('um/account', 'papiV2', 'GET', {'cost': 1})
@@ -764,4 +764,3 @@ class ImplicitAPI:
764
764
  papi_delete_margin_allopenorders = papiDeleteMarginAllOpenOrders = Entry('margin/allOpenOrders', 'papi', 'DELETE', {'cost': 5})
765
765
  papi_delete_margin_orderlist = papiDeleteMarginOrderList = Entry('margin/orderList', 'papi', 'DELETE', {'cost': 2})
766
766
  papi_delete_listenkey = papiDeleteListenKey = Entry('listenKey', 'papi', 'DELETE', {'cost': 0.2})
767
- papiv2_get_um_account = papiV2GetUmAccount = Entry('um/account', 'papiV2', 'GET', {'cost': 1})
ccxt/ace.py CHANGED
@@ -185,17 +185,20 @@ class ace(Exchange, ImplicitAPI):
185
185
  'limit': 500,
186
186
  'daysBack': None,
187
187
  'untilDays': None,
188
+ 'symbolRequired': True,
188
189
  },
189
190
  'fetchOrder': {
190
191
  'marginMode': False,
191
192
  'trigger': False,
192
193
  'trailing': False,
194
+ 'symbolRequired': False,
193
195
  },
194
196
  'fetchOpenOrders': {
195
197
  'marginMode': False,
196
198
  'limit': None,
197
199
  'trigger': False,
198
200
  'trailing': False,
201
+ 'symbolRequired': False,
199
202
  },
200
203
  'fetchOrders': None,
201
204
  'fetchClosedOrders': None,
ccxt/alpaca.py CHANGED
@@ -315,17 +315,20 @@ class alpaca(Exchange, ImplicitAPI):
315
315
  'limit': 100,
316
316
  'daysBack': 100000,
317
317
  'untilDays': 100000,
318
+ 'symbolRequired': False,
318
319
  },
319
320
  'fetchOrder': {
320
321
  'marginMode': False,
321
322
  'trigger': False,
322
323
  'trailing': False,
324
+ 'symbolRequired': False,
323
325
  },
324
326
  'fetchOpenOrders': {
325
327
  'marginMode': False,
326
328
  'limit': 500,
327
329
  'trigger': False,
328
330
  'trailing': False,
331
+ 'symbolRequired': False,
329
332
  },
330
333
  'fetchOrders': {
331
334
  'marginMode': False,
@@ -334,6 +337,7 @@ class alpaca(Exchange, ImplicitAPI):
334
337
  'untilDays': 100000,
335
338
  'trigger': False,
336
339
  'trailing': False,
340
+ 'symbolRequired': False,
337
341
  },
338
342
  'fetchClosedOrders': {
339
343
  'marginMode': False,
@@ -343,6 +347,7 @@ class alpaca(Exchange, ImplicitAPI):
343
347
  'untilDays': 100000,
344
348
  'trigger': False,
345
349
  'trailing': False,
350
+ 'symbolRequired': False,
346
351
  },
347
352
  'fetchOHLCV': {
348
353
  'limit': 1000,
ccxt/ascendex.py CHANGED
@@ -294,7 +294,6 @@ class ascendex(Exchange, ImplicitAPI):
294
294
  'AVAX': 'avalanche C chain',
295
295
  'OMNI': 'Omni',
296
296
  # 'TRC': 'TRC20',
297
- 'TRX': 'TRC20',
298
297
  'TRC20': 'TRC20',
299
298
  'ERC20': 'ERC20',
300
299
  'GO20': 'GO20',
@@ -340,6 +339,7 @@ class ascendex(Exchange, ImplicitAPI):
340
339
  'trigger': False,
341
340
  'trailing': False,
342
341
  'marketType': True,
342
+ 'symbolRequired': False,
343
343
  },
344
344
  'fetchOpenOrders': {
345
345
  'marginMode': False,
@@ -347,6 +347,7 @@ class ascendex(Exchange, ImplicitAPI):
347
347
  'trigger': False,
348
348
  'trailing': False,
349
349
  'marketType': True,
350
+ 'symbolRequired': False,
350
351
  },
351
352
  'fetchOrders': None,
352
353
  'fetchClosedOrders': None,
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.51'
7
+ __version__ = '4.4.53'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
ccxt/async_support/ace.py CHANGED
@@ -185,17 +185,20 @@ class ace(Exchange, ImplicitAPI):
185
185
  'limit': 500,
186
186
  'daysBack': None,
187
187
  'untilDays': None,
188
+ 'symbolRequired': True,
188
189
  },
189
190
  'fetchOrder': {
190
191
  'marginMode': False,
191
192
  'trigger': False,
192
193
  'trailing': False,
194
+ 'symbolRequired': False,
193
195
  },
194
196
  'fetchOpenOrders': {
195
197
  'marginMode': False,
196
198
  'limit': None,
197
199
  'trigger': False,
198
200
  'trailing': False,
201
+ 'symbolRequired': False,
199
202
  },
200
203
  'fetchOrders': None,
201
204
  'fetchClosedOrders': None,
@@ -315,17 +315,20 @@ class alpaca(Exchange, ImplicitAPI):
315
315
  'limit': 100,
316
316
  'daysBack': 100000,
317
317
  'untilDays': 100000,
318
+ 'symbolRequired': False,
318
319
  },
319
320
  'fetchOrder': {
320
321
  'marginMode': False,
321
322
  'trigger': False,
322
323
  'trailing': False,
324
+ 'symbolRequired': False,
323
325
  },
324
326
  'fetchOpenOrders': {
325
327
  'marginMode': False,
326
328
  'limit': 500,
327
329
  'trigger': False,
328
330
  'trailing': False,
331
+ 'symbolRequired': False,
329
332
  },
330
333
  'fetchOrders': {
331
334
  'marginMode': False,
@@ -334,6 +337,7 @@ class alpaca(Exchange, ImplicitAPI):
334
337
  'untilDays': 100000,
335
338
  'trigger': False,
336
339
  'trailing': False,
340
+ 'symbolRequired': False,
337
341
  },
338
342
  'fetchClosedOrders': {
339
343
  'marginMode': False,
@@ -343,6 +347,7 @@ class alpaca(Exchange, ImplicitAPI):
343
347
  'untilDays': 100000,
344
348
  'trigger': False,
345
349
  'trailing': False,
350
+ 'symbolRequired': False,
346
351
  },
347
352
  'fetchOHLCV': {
348
353
  'limit': 1000,
@@ -295,7 +295,6 @@ class ascendex(Exchange, ImplicitAPI):
295
295
  'AVAX': 'avalanche C chain',
296
296
  'OMNI': 'Omni',
297
297
  # 'TRC': 'TRC20',
298
- 'TRX': 'TRC20',
299
298
  'TRC20': 'TRC20',
300
299
  'ERC20': 'ERC20',
301
300
  'GO20': 'GO20',
@@ -341,6 +340,7 @@ class ascendex(Exchange, ImplicitAPI):
341
340
  'trigger': False,
342
341
  'trailing': False,
343
342
  'marketType': True,
343
+ 'symbolRequired': False,
344
344
  },
345
345
  'fetchOpenOrders': {
346
346
  'marginMode': False,
@@ -348,6 +348,7 @@ class ascendex(Exchange, ImplicitAPI):
348
348
  'trigger': False,
349
349
  'trailing': False,
350
350
  'marketType': True,
351
+ 'symbolRequired': False,
351
352
  },
352
353
  'fetchOrders': None,
353
354
  'fetchClosedOrders': None,
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.4.51'
5
+ __version__ = '4.4.53'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -811,14 +811,18 @@ class Exchange(BaseExchange):
811
811
  maxRetries = self.safe_value(options, 'webApiRetries', 10)
812
812
  response = None
813
813
  retry = 0
814
+ shouldBreak = False
814
815
  while(retry < maxRetries):
815
816
  try:
816
817
  response = await getattr(self, endpointMethod)({})
818
+ shouldBreak = True
817
819
  break
818
820
  except Exception as e:
819
821
  retry = retry + 1
820
822
  if retry == maxRetries:
821
823
  raise e
824
+ if shouldBreak:
825
+ break # self is needed because of GO
822
826
  content = response
823
827
  if startRegex is not None:
824
828
  splitted_by_start = content.split(startRegex)
@@ -881,8 +885,9 @@ class Exchange(BaseExchange):
881
885
  self.log('Request failed with the error: ' + str(e) + ', retrying ' + (i + str(1)) + ' of ' + str(retries) + '...')
882
886
  if (retryDelay is not None) and (retryDelay != 0):
883
887
  await self.sleep(retryDelay)
884
- continue
885
- raise e
888
+ # continue #check self
889
+ if i >= retries:
890
+ raise e
886
891
  return None # self line is never reached, but exists for c# value return requirement
887
892
 
888
893
  async def request(self, path, api: Any = 'public', method='GET', params={}, headers: Any = None, body: Any = None, config={}):
@@ -1116,6 +1121,18 @@ class Exchange(BaseExchange):
1116
1121
  async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
1117
1122
  raise NotSupported(self.id + ' createOrder() is not supported yet')
1118
1123
 
1124
+ async def create_convert_trade(self, id: str, fromCode: str, toCode: str, amount: Num = None, params={}):
1125
+ raise NotSupported(self.id + ' createConvertTrade() is not supported yet')
1126
+
1127
+ async def fetch_convert_trade(self, id: str, code: Str = None, params={}):
1128
+ raise NotSupported(self.id + ' fetchConvertTrade() is not supported yet')
1129
+
1130
+ async def fetch_convert_trade_history(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
1131
+ raise NotSupported(self.id + ' fetchConvertTradeHistory() is not supported yet')
1132
+
1133
+ async def fetch_position_mode(self, symbol: Str = None, params={}):
1134
+ raise NotSupported(self.id + ' fetchPositionMode() is not supported yet')
1135
+
1119
1136
  async def create_trailing_amount_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, trailingAmount=None, trailingTriggerPrice=None, params={}):
1120
1137
  """
1121
1138
  create a trailing order by providing the symbol, type, side, amount, price and trailingAmount
@@ -337,17 +337,20 @@ class bigone(Exchange, ImplicitAPI):
337
337
  'limit': 200,
338
338
  'daysBack': None,
339
339
  'untilDays': None,
340
+ 'symbolRequired': True,
340
341
  },
341
342
  'fetchOrder': {
342
343
  'marginMode': False,
343
344
  'trigger': False,
344
345
  'trailing': False,
346
+ 'symbolRequired': False,
345
347
  },
346
348
  'fetchOpenOrders': {
347
349
  'marginMode': False,
348
350
  'limit': 200,
349
351
  'trigger': False,
350
352
  'trailing': False,
353
+ 'symbolRequired': True,
351
354
  },
352
355
  'fetchOrders': {
353
356
  'marginMode': False,
@@ -356,6 +359,7 @@ class bigone(Exchange, ImplicitAPI):
356
359
  'untilDays': None,
357
360
  'trigger': False,
358
361
  'trailing': False,
362
+ 'symbolRequired': True,
359
363
  },
360
364
  'fetchClosedOrders': {
361
365
  'marginMode': False,
@@ -365,6 +369,7 @@ class bigone(Exchange, ImplicitAPI):
365
369
  'untilDays': None,
366
370
  'trigger': False,
367
371
  'trailing': False,
372
+ 'symbolRequired': True,
368
373
  },
369
374
  'fetchOHLCV': {
370
375
  'limit': 500,