ccxt 4.4.48__py2.py3-none-any.whl → 4.4.49__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 (71) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/async_support/__init__.py +1 -1
  3. ccxt/async_support/base/exchange.py +1 -1
  4. ccxt/async_support/bingx.py +73 -29
  5. ccxt/async_support/bitget.py +12 -10
  6. ccxt/async_support/coinsph.py +17 -8
  7. ccxt/async_support/deribit.py +82 -0
  8. ccxt/async_support/digifinex.py +125 -10
  9. ccxt/async_support/ellipx.py +61 -0
  10. ccxt/async_support/exmo.py +58 -0
  11. ccxt/async_support/hitbtc.py +99 -0
  12. ccxt/async_support/hollaex.py +73 -0
  13. ccxt/async_support/huobijp.py +73 -0
  14. ccxt/async_support/hyperliquid.py +22 -1
  15. ccxt/async_support/idex.py +71 -0
  16. ccxt/async_support/independentreserve.py +64 -0
  17. ccxt/async_support/indodax.py +61 -0
  18. ccxt/async_support/kuna.py +60 -1
  19. ccxt/async_support/latoken.py +64 -0
  20. ccxt/async_support/lbank.py +70 -0
  21. ccxt/async_support/luno.py +73 -0
  22. ccxt/async_support/lykke.py +64 -0
  23. ccxt/async_support/mercado.py +65 -0
  24. ccxt/async_support/mexc.py +1 -1
  25. ccxt/async_support/myokx.py +10 -0
  26. ccxt/async_support/ndax.py +71 -0
  27. ccxt/async_support/novadax.py +74 -0
  28. ccxt/async_support/oceanex.py +69 -0
  29. ccxt/async_support/okcoin.py +79 -2
  30. ccxt/async_support/onetrading.py +66 -0
  31. ccxt/async_support/oxfun.py +66 -0
  32. ccxt/async_support/p2b.py +63 -1
  33. ccxt/async_support/paradex.py +68 -0
  34. ccxt/base/exchange.py +1 -1
  35. ccxt/bingx.py +73 -29
  36. ccxt/bitget.py +12 -10
  37. ccxt/coinsph.py +17 -8
  38. ccxt/deribit.py +82 -0
  39. ccxt/digifinex.py +125 -10
  40. ccxt/ellipx.py +61 -0
  41. ccxt/exmo.py +58 -0
  42. ccxt/hitbtc.py +99 -0
  43. ccxt/hollaex.py +73 -0
  44. ccxt/huobijp.py +73 -0
  45. ccxt/hyperliquid.py +22 -1
  46. ccxt/idex.py +71 -0
  47. ccxt/independentreserve.py +64 -0
  48. ccxt/indodax.py +61 -0
  49. ccxt/kuna.py +60 -1
  50. ccxt/latoken.py +64 -0
  51. ccxt/lbank.py +70 -0
  52. ccxt/luno.py +73 -0
  53. ccxt/lykke.py +64 -0
  54. ccxt/mercado.py +65 -0
  55. ccxt/mexc.py +1 -1
  56. ccxt/myokx.py +10 -0
  57. ccxt/ndax.py +71 -0
  58. ccxt/novadax.py +74 -0
  59. ccxt/oceanex.py +69 -0
  60. ccxt/okcoin.py +79 -2
  61. ccxt/onetrading.py +66 -0
  62. ccxt/oxfun.py +66 -0
  63. ccxt/p2b.py +63 -1
  64. ccxt/paradex.py +68 -0
  65. ccxt/pro/__init__.py +1 -1
  66. ccxt/pro/bitmart.py +5 -0
  67. {ccxt-4.4.48.dist-info → ccxt-4.4.49.dist-info}/METADATA +4 -4
  68. {ccxt-4.4.48.dist-info → ccxt-4.4.49.dist-info}/RECORD +71 -71
  69. {ccxt-4.4.48.dist-info → ccxt-4.4.49.dist-info}/LICENSE.txt +0 -0
  70. {ccxt-4.4.48.dist-info → ccxt-4.4.49.dist-info}/WHEEL +0 -0
  71. {ccxt-4.4.48.dist-info → ccxt-4.4.49.dist-info}/top_level.txt +0 -0
@@ -220,6 +220,64 @@ class exmo(Exchange, ImplicitAPI):
220
220
  'fillResponseFromRequest': True,
221
221
  },
222
222
  },
223
+ 'features': {
224
+ 'spot': {
225
+ 'sandbox': False,
226
+ 'createOrder': {
227
+ 'marginMode': True, # todo revise
228
+ 'triggerPrice': True, # todo: endpoint lacks other features
229
+ 'triggerPriceType': None,
230
+ 'triggerDirection': False,
231
+ 'stopLossPrice': False,
232
+ 'takeProfitPrice': False,
233
+ 'attachedStopLossTakeProfit': None,
234
+ 'timeInForce': {
235
+ 'IOC': True,
236
+ 'FOK': True,
237
+ 'PO': True,
238
+ 'GTD': True,
239
+ },
240
+ 'hedged': False,
241
+ 'selfTradePrevention': False,
242
+ 'trailing': False,
243
+ 'leverage': True,
244
+ 'marketBuyByCost': True,
245
+ 'marketBuyRequiresPrice': False,
246
+ 'iceberg': False,
247
+ },
248
+ 'createOrders': None,
249
+ 'fetchMyTrades': {
250
+ 'marginMode': True,
251
+ 'limit': 100,
252
+ 'daysBack': None,
253
+ 'untilDays': None,
254
+ },
255
+ 'fetchOrder': {
256
+ 'marginMode': False,
257
+ 'trigger': False,
258
+ 'trailing': False,
259
+ },
260
+ 'fetchOpenOrders': {
261
+ 'marginMode': False,
262
+ 'limit': None,
263
+ 'trigger': False,
264
+ 'trailing': False,
265
+ },
266
+ 'fetchOrders': None,
267
+ 'fetchClosedOrders': None,
268
+ 'fetchOHLCV': {
269
+ 'limit': 1000, # todo, not in request
270
+ },
271
+ },
272
+ 'swap': {
273
+ 'linear': None,
274
+ 'inverse': None,
275
+ },
276
+ 'future': {
277
+ 'linear': None,
278
+ 'inverse': None,
279
+ },
280
+ },
223
281
  'commonCurrencies': {
224
282
  'GMT': 'GMT Token',
225
283
  },
@@ -304,6 +304,105 @@ class hitbtc(Exchange, ImplicitAPI):
304
304
  },
305
305
  },
306
306
  },
307
+ 'features': {
308
+ 'default': {
309
+ 'sandbox': True,
310
+ 'createOrder': {
311
+ 'marginMode': False,
312
+ 'triggerPrice': True,
313
+ 'triggerPriceType': None,
314
+ 'triggerDirection': False,
315
+ 'stopLossPrice': False, # todo
316
+ 'takeProfitPrice': False, # todo
317
+ 'attachedStopLossTakeProfit': None,
318
+ 'timeInForce': {
319
+ 'IOC': True,
320
+ 'FOK': True,
321
+ 'PO': True,
322
+ 'GTD': True,
323
+ },
324
+ 'hedged': False,
325
+ 'selfTradePrevention': False,
326
+ 'trailing': False,
327
+ 'leverage': False,
328
+ 'marketBuyByCost': False,
329
+ 'marketBuyRequiresPrice': False,
330
+ 'iceberg': True,
331
+ },
332
+ 'createOrders': None,
333
+ 'fetchMyTrades': {
334
+ 'marginMode': True,
335
+ 'limit': 1000,
336
+ 'daysBack': 100000,
337
+ 'untilDays': 100000,
338
+ 'marketType': True,
339
+ },
340
+ 'fetchOrder': {
341
+ 'marginMode': True,
342
+ 'trigger': False,
343
+ 'trailing': False,
344
+ 'marketType': True,
345
+ },
346
+ 'fetchOpenOrders': {
347
+ 'marginMode': True,
348
+ 'limit': 1000,
349
+ 'trigger': False,
350
+ 'trailing': False,
351
+ 'marketType': True,
352
+ },
353
+ 'fetchOrders': None,
354
+ 'fetchClosedOrders': {
355
+ 'marginMode': True,
356
+ 'limit': 1000,
357
+ 'daysBack': 100000, # todo
358
+ 'daysBackCanceled': 1, # todo
359
+ 'untilDays': 100000, # todo
360
+ 'trigger': False,
361
+ 'trailing': False,
362
+ 'marketType': True,
363
+ },
364
+ 'fetchOHLCV': {
365
+ 'limit': 1000,
366
+ },
367
+ },
368
+ 'spot': {
369
+ 'extends': 'default',
370
+ },
371
+ 'forDerivatives': {
372
+ 'extends': 'default',
373
+ 'createOrder': {
374
+ 'marginMode': True,
375
+ },
376
+ 'fetchOrder': {
377
+ 'marginMode': False,
378
+ },
379
+ 'fetchMyTrades': {
380
+ 'marginMode': False,
381
+ },
382
+ 'fetchOpenOrders': {
383
+ 'marginMode': False,
384
+ },
385
+ 'fetchClosedOrders': {
386
+ 'marginMode': False,
387
+ },
388
+ },
389
+ 'swap': {
390
+ 'linear': {
391
+ 'extends': 'forDerivatives',
392
+ },
393
+ 'inverse': {
394
+ 'extends': 'forDerivatives',
395
+ },
396
+ },
397
+ 'future': {
398
+ 'linear': {
399
+ 'extends': 'forDerivatives',
400
+ },
401
+ 'inverse': {
402
+ 'extends': 'forDerivatives',
403
+ },
404
+ },
405
+ },
307
406
  'timeframes': {
308
407
  '1m': 'M1',
309
408
  '3m': 'M3',
@@ -174,6 +174,79 @@ class hollaex(Exchange, ImplicitAPI):
174
174
  },
175
175
  },
176
176
  },
177
+ 'features': {
178
+ 'spot': {
179
+ 'sandbox': True,
180
+ 'createOrder': {
181
+ 'marginMode': False,
182
+ 'triggerPrice': True,
183
+ 'triggerPriceType': None,
184
+ 'triggerDirection': False,
185
+ 'stopLossPrice': False, # todo
186
+ 'takeProfitPrice': False, # todo
187
+ 'attachedStopLossTakeProfit': None,
188
+ 'timeInForce': {
189
+ 'IOC': False,
190
+ 'FOK': False,
191
+ 'PO': True,
192
+ 'GTD': False,
193
+ },
194
+ 'hedged': False,
195
+ 'selfTradePrevention': False,
196
+ 'trailing': False,
197
+ 'leverage': False,
198
+ 'marketBuyByCost': False,
199
+ 'marketBuyRequiresPrice': False,
200
+ 'iceberg': False,
201
+ },
202
+ 'createOrders': None,
203
+ 'fetchMyTrades': {
204
+ 'marginMode': False,
205
+ 'limit': 100,
206
+ 'daysBack': 100000,
207
+ 'untilDays': 100000, # todo implement
208
+ },
209
+ 'fetchOrder': {
210
+ 'marginMode': False,
211
+ 'trigger': False,
212
+ 'trailing': False,
213
+ },
214
+ 'fetchOpenOrders': {
215
+ 'marginMode': False,
216
+ 'limit': 100,
217
+ 'trigger': False,
218
+ 'trailing': False,
219
+ },
220
+ 'fetchOrders': {
221
+ 'marginMode': False,
222
+ 'limit': 100,
223
+ 'daysBack': 100000, # todo
224
+ 'untilDays': 100000, # todo
225
+ 'trigger': False,
226
+ 'trailing': False,
227
+ },
228
+ 'fetchClosedOrders': {
229
+ 'marginMode': False,
230
+ 'limit': 100,
231
+ 'daysBack': 100000, # todo
232
+ 'daysBackCanceled': 1, # todo
233
+ 'untilDays': 100000, # todo
234
+ 'trigger': False,
235
+ 'trailing': False,
236
+ },
237
+ 'fetchOHLCV': {
238
+ 'limit': 1000, # todo: no limit in request
239
+ },
240
+ },
241
+ 'swap': {
242
+ 'linear': None,
243
+ 'inverse': None,
244
+ },
245
+ 'future': {
246
+ 'linear': None,
247
+ 'inverse': None,
248
+ },
249
+ },
177
250
  'fees': {
178
251
  'trading': {
179
252
  'tierBased': True,
@@ -265,6 +265,79 @@ class huobijp(Exchange, ImplicitAPI):
265
265
  'taker': self.parse_number('0.002'),
266
266
  },
267
267
  },
268
+ 'features': {
269
+ 'spot': {
270
+ 'sandbox': False,
271
+ 'createOrder': {
272
+ 'marginMode': False,
273
+ 'triggerPrice': True, # todo: implement
274
+ 'triggerPriceType': None,
275
+ 'triggerDirection': False,
276
+ 'stopLossPrice': False, # todo
277
+ 'takeProfitPrice': False, # todo
278
+ 'attachedStopLossTakeProfit': None,
279
+ 'timeInForce': {
280
+ 'IOC': False,
281
+ 'FOK': False,
282
+ 'PO': False,
283
+ 'GTD': False,
284
+ },
285
+ 'hedged': False,
286
+ 'selfTradePrevention': False,
287
+ 'trailing': False,
288
+ 'leverage': False,
289
+ 'marketBuyByCost': True,
290
+ 'marketBuyRequiresPrice': False,
291
+ 'iceberg': False,
292
+ },
293
+ 'createOrders': None,
294
+ 'fetchMyTrades': {
295
+ 'marginMode': False,
296
+ 'limit': 100,
297
+ 'daysBack': 120,
298
+ 'untilDays': 2,
299
+ },
300
+ 'fetchOrder': {
301
+ 'marginMode': False,
302
+ 'trigger': False,
303
+ 'trailing': False,
304
+ },
305
+ 'fetchOpenOrders': {
306
+ 'marginMode': False,
307
+ 'limit': None, # todo
308
+ 'trigger': False,
309
+ 'trailing': False,
310
+ },
311
+ 'fetchOrders': {
312
+ 'marginMode': False,
313
+ 'limit': None,
314
+ 'daysBack': None, # todo
315
+ 'untilDays': None, # todo
316
+ 'trigger': False,
317
+ 'trailing': False,
318
+ },
319
+ 'fetchClosedOrders': {
320
+ 'marginMode': False,
321
+ 'limit': None,
322
+ 'daysBack': None, # todo
323
+ 'daysBackCanceled': None, # todo
324
+ 'untilDays': None, # todo
325
+ 'trigger': False,
326
+ 'trailing': False,
327
+ },
328
+ 'fetchOHLCV': {
329
+ 'limit': 2000,
330
+ },
331
+ },
332
+ 'swap': {
333
+ 'linear': None,
334
+ 'inverse': None,
335
+ },
336
+ 'future': {
337
+ 'linear': None,
338
+ 'inverse': None,
339
+ },
340
+ },
268
341
  'precisionMode': TICK_SIZE,
269
342
  'exceptions': {
270
343
  'broad': {
@@ -216,6 +216,8 @@ class hyperliquid(Exchange, ImplicitAPI):
216
216
  'Order price cannot be more than 80% away from the reference price': InvalidOrder,
217
217
  'Order has zero size.': InvalidOrder,
218
218
  'Insufficient spot balance asset': InsufficientFunds,
219
+ 'Insufficient balance for withdrawal': InsufficientFunds,
220
+ 'Insufficient balance for token transfer': InsufficientFunds,
219
221
  },
220
222
  },
221
223
  'precisionMode': TICK_SIZE,
@@ -2756,7 +2758,26 @@ class hyperliquid(Exchange, ImplicitAPI):
2756
2758
  'signature': sig,
2757
2759
  }
2758
2760
  response = await self.privatePostExchange(request)
2759
- return response
2761
+ #
2762
+ # {'response': {'type': 'default'}, 'status': 'ok'}
2763
+ #
2764
+ return self.parse_transfer(response)
2765
+
2766
+ def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
2767
+ #
2768
+ # {'response': {'type': 'default'}, 'status': 'ok'}
2769
+ #
2770
+ return {
2771
+ 'info': transfer,
2772
+ 'id': None,
2773
+ 'timestamp': None,
2774
+ 'datetime': None,
2775
+ 'currency': None,
2776
+ 'amount': None,
2777
+ 'fromAccount': None,
2778
+ 'toAccount': None,
2779
+ 'status': 'ok',
2780
+ }
2760
2781
 
2761
2782
  async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}) -> Transaction:
2762
2783
  """
@@ -176,6 +176,77 @@ class idex(Exchange, ImplicitAPI):
176
176
  'defaultSelfTradePrevention': 'cn',
177
177
  'network': 'MATIC',
178
178
  },
179
+ 'features': {
180
+ 'spot': {
181
+ 'sandbox': False,
182
+ 'createOrder': {
183
+ 'marginMode': False,
184
+ 'triggerPrice': True,
185
+ # todo: revise
186
+ 'triggerPriceType': {
187
+ 'last': True,
188
+ 'mark': True,
189
+ 'index': True,
190
+ },
191
+ 'triggerDirection': False,
192
+ 'stopLossPrice': False, # todo
193
+ 'takeProfitPrice': False, # todo
194
+ 'attachedStopLossTakeProfit': None,
195
+ 'timeInForce': {
196
+ 'IOC': True,
197
+ 'FOK': True,
198
+ 'PO': True,
199
+ 'GTD': False,
200
+ },
201
+ 'hedged': False,
202
+ 'selfTradePrevention': True, # todo implementation
203
+ 'trailing': False,
204
+ 'leverage': False,
205
+ 'marketBuyByCost': False,
206
+ 'marketBuyRequiresPrice': False,
207
+ 'iceberg': False,
208
+ },
209
+ 'createOrders': None,
210
+ 'fetchMyTrades': {
211
+ 'marginMode': False,
212
+ 'limit': 1000,
213
+ 'daysBack': 100000, # todo
214
+ 'untilDays': 100000, # todo
215
+ },
216
+ 'fetchOrder': {
217
+ 'marginMode': False,
218
+ 'trigger': False,
219
+ 'trailing': False,
220
+ },
221
+ 'fetchOpenOrders': {
222
+ 'marginMode': False,
223
+ 'limit': 1000,
224
+ 'trigger': False,
225
+ 'trailing': False,
226
+ },
227
+ 'fetchOrders': None,
228
+ 'fetchClosedOrders': {
229
+ 'marginMode': False,
230
+ 'limit': 1000,
231
+ 'daysBack': 1000000, # todo
232
+ 'daysBackCanceled': 1, # todo
233
+ 'untilDays': 1000000, # todo
234
+ 'trigger': False,
235
+ 'trailing': False,
236
+ },
237
+ 'fetchOHLCV': {
238
+ 'limit': 1000,
239
+ },
240
+ },
241
+ 'swap': {
242
+ 'linear': None,
243
+ 'inverse': None,
244
+ },
245
+ 'future': {
246
+ 'linear': None,
247
+ 'inverse': None,
248
+ },
249
+ },
179
250
  'exceptions': {
180
251
  'exact': {
181
252
  'INVALID_ORDER_QUANTITY': InvalidOrder,
@@ -149,6 +149,70 @@ class independentreserve(Exchange, ImplicitAPI):
149
149
  'tierBased': False,
150
150
  },
151
151
  },
152
+ 'features': {
153
+ 'spot': {
154
+ 'sandbox': False,
155
+ 'createOrder': {
156
+ 'marginMode': False,
157
+ 'triggerPrice': False,
158
+ 'triggerPriceType': None,
159
+ 'triggerDirection': False,
160
+ 'stopLossPrice': False,
161
+ 'takeProfitPrice': False,
162
+ 'attachedStopLossTakeProfit': None,
163
+ 'timeInForce': {
164
+ 'IOC': False,
165
+ 'FOK': False,
166
+ 'PO': False,
167
+ 'GTD': False,
168
+ },
169
+ 'hedged': False,
170
+ 'selfTradePrevention': False,
171
+ 'trailing': False,
172
+ 'leverage': False,
173
+ 'marketBuyByCost': False,
174
+ 'marketBuyRequiresPrice': False,
175
+ 'iceberg': False,
176
+ },
177
+ 'createOrders': None,
178
+ 'fetchMyTrades': {
179
+ 'marginMode': False,
180
+ 'limit': 100, # todo
181
+ 'daysBack': None,
182
+ 'untilDays': None,
183
+ },
184
+ 'fetchOrder': {
185
+ 'marginMode': False,
186
+ 'trigger': False,
187
+ 'trailing': False,
188
+ },
189
+ 'fetchOpenOrders': {
190
+ 'marginMode': False,
191
+ 'limit': 100, # todo
192
+ 'trigger': False,
193
+ 'trailing': False,
194
+ },
195
+ 'fetchOrders': None,
196
+ 'fetchClosedOrders': {
197
+ 'marginMode': False,
198
+ 'limit': 100, # todo
199
+ 'daysBack': None,
200
+ 'daysBackCanceled': None,
201
+ 'untilDays': None,
202
+ 'trigger': False,
203
+ 'trailing': False,
204
+ },
205
+ 'fetchOHLCV': None,
206
+ },
207
+ 'swap': {
208
+ 'linear': None,
209
+ 'inverse': None,
210
+ },
211
+ 'future': {
212
+ 'linear': None,
213
+ 'inverse': None,
214
+ },
215
+ },
152
216
  'commonCurrencies': {
153
217
  'PLA': 'PlayChip',
154
218
  },
@@ -204,6 +204,67 @@ class indodax(Exchange, ImplicitAPI):
204
204
  '1w': '1W',
205
205
  },
206
206
  },
207
+ 'features': {
208
+ 'spot': {
209
+ 'sandbox': False,
210
+ 'createOrder': {
211
+ 'marginMode': False,
212
+ 'triggerPrice': False,
213
+ 'triggerPriceType': None,
214
+ 'triggerDirection': False,
215
+ 'stopLossPrice': False,
216
+ 'takeProfitPrice': False,
217
+ 'attachedStopLossTakeProfit': None,
218
+ 'timeInForce': {
219
+ 'IOC': True, # todo implementation
220
+ 'FOK': False,
221
+ 'PO': False,
222
+ 'GTD': False,
223
+ },
224
+ 'hedged': False,
225
+ 'selfTradePrevention': False,
226
+ 'trailing': False,
227
+ 'leverage': False,
228
+ 'marketBuyByCost': False,
229
+ 'marketBuyRequiresPrice': False,
230
+ 'iceberg': False,
231
+ },
232
+ 'createOrders': None,
233
+ 'fetchMyTrades': None, # todo implement
234
+ 'fetchOrder': {
235
+ 'marginMode': False,
236
+ 'trigger': False,
237
+ 'trailing': False,
238
+ },
239
+ 'fetchOpenOrders': {
240
+ 'marginMode': False,
241
+ 'limit': None,
242
+ 'trigger': False,
243
+ 'trailing': False,
244
+ },
245
+ 'fetchOrders': None,
246
+ 'fetchClosedOrders': {
247
+ 'marginMode': False,
248
+ 'limit': 1000,
249
+ 'daysBack': 100000, # todo
250
+ 'daysBackCanceled': 1,
251
+ 'untilDays': None,
252
+ 'trigger': False,
253
+ 'trailing': False,
254
+ },
255
+ 'fetchOHLCV': {
256
+ 'limit': 2000, # todo: not in request
257
+ },
258
+ },
259
+ 'swap': {
260
+ 'linear': None,
261
+ 'inverse': None,
262
+ },
263
+ 'future': {
264
+ 'linear': None,
265
+ 'inverse': None,
266
+ },
267
+ },
207
268
  'commonCurrencies': {
208
269
  'STR': 'XLM',
209
270
  'BCHABC': 'BCH',
@@ -78,7 +78,7 @@ class kuna(Exchange, ImplicitAPI):
78
78
  'fetchMarkets': True,
79
79
  'fetchMarkOHLCV': False,
80
80
  'fetchMyTrades': True,
81
- 'fetchOHLCV': 'emulated',
81
+ 'fetchOHLCV': False,
82
82
  'fetchOpenInterest': False,
83
83
  'fetchOpenInterestHistory': False,
84
84
  'fetchOpenOrders': True,
@@ -363,6 +363,65 @@ class kuna(Exchange, ImplicitAPI):
363
363
  ],
364
364
  },
365
365
  },
366
+ 'features': {
367
+ 'spot': {
368
+ 'sandbox': False,
369
+ 'createOrder': {
370
+ 'marginMode': False,
371
+ 'triggerPrice': True,
372
+ 'triggerPriceType': None,
373
+ 'triggerDirection': False,
374
+ 'stopLossPrice': False, # todo
375
+ 'takeProfitPrice': False, # todo
376
+ 'attachedStopLossTakeProfit': None,
377
+ 'timeInForce': {
378
+ 'IOC': False,
379
+ 'FOK': False,
380
+ 'PO': False,
381
+ 'GTD': False,
382
+ },
383
+ 'hedged': False,
384
+ 'selfTradePrevention': False,
385
+ 'trailing': False,
386
+ 'leverage': False,
387
+ 'marketBuyByCost': True,
388
+ 'marketBuyRequiresPrice': False,
389
+ 'iceberg': False,
390
+ },
391
+ 'createOrders': None,
392
+ 'fetchMyTrades': None, # todo implement
393
+ 'fetchOrder': {
394
+ 'marginMode': False,
395
+ 'trigger': False,
396
+ 'trailing': False,
397
+ },
398
+ 'fetchOpenOrders': {
399
+ 'marginMode': False,
400
+ 'limit': 100,
401
+ 'trigger': False,
402
+ 'trailing': False,
403
+ },
404
+ 'fetchOrders': None,
405
+ 'fetchClosedOrders': {
406
+ 'marginMode': False,
407
+ 'limit': 100,
408
+ 'daysBack': 100000, # todo
409
+ 'daysBackCanceled': 1,
410
+ 'untilDays': 14,
411
+ 'trigger': False,
412
+ 'trailing': False,
413
+ },
414
+ 'fetchOHLCV': None,
415
+ },
416
+ 'swap': {
417
+ 'linear': None,
418
+ 'inverse': None,
419
+ },
420
+ 'future': {
421
+ 'linear': None,
422
+ 'inverse': None,
423
+ },
424
+ },
366
425
  'fees': {
367
426
  'trading': {
368
427
  'tierBased': False,