ccxt 4.4.96__py2.py3-none-any.whl → 4.4.98__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 (67) hide show
  1. ccxt/__init__.py +2 -1
  2. ccxt/abstract/binance.py +3 -0
  3. ccxt/abstract/binancecoinm.py +3 -0
  4. ccxt/abstract/binanceus.py +3 -0
  5. ccxt/abstract/binanceusdm.py +3 -0
  6. ccxt/abstract/phemex.py +1 -0
  7. ccxt/async_support/__init__.py +2 -1
  8. ccxt/async_support/base/exchange.py +6 -3
  9. ccxt/async_support/binance.py +90 -34
  10. ccxt/async_support/binancecoinm.py +5 -1
  11. ccxt/async_support/binanceus.py +3 -1
  12. ccxt/async_support/binanceusdm.py +3 -1
  13. ccxt/async_support/bingx.py +1 -1
  14. ccxt/async_support/bitget.py +14 -2
  15. ccxt/async_support/coinmetro.py +2 -3
  16. ccxt/async_support/cryptocom.py +77 -2
  17. ccxt/async_support/exmo.py +1 -1
  18. ccxt/async_support/foxbit.py +1 -1
  19. ccxt/async_support/gate.py +1 -2
  20. ccxt/async_support/hashkey.py +39 -0
  21. ccxt/async_support/hyperliquid.py +40 -25
  22. ccxt/async_support/independentreserve.py +35 -0
  23. ccxt/async_support/indodax.py +34 -0
  24. ccxt/async_support/kucoin.py +2 -1
  25. ccxt/async_support/latoken.py +42 -0
  26. ccxt/async_support/luno.py +36 -0
  27. ccxt/async_support/mercado.py +34 -0
  28. ccxt/async_support/mexc.py +3 -19
  29. ccxt/async_support/ndax.py +8 -0
  30. ccxt/async_support/okx.py +2 -0
  31. ccxt/async_support/phemex.py +36 -31
  32. ccxt/base/decimal_to_precision.py +14 -10
  33. ccxt/base/errors.py +6 -0
  34. ccxt/base/exchange.py +55 -15
  35. ccxt/binance.py +90 -34
  36. ccxt/binancecoinm.py +5 -1
  37. ccxt/binanceus.py +3 -1
  38. ccxt/binanceusdm.py +3 -1
  39. ccxt/bingx.py +1 -1
  40. ccxt/bitget.py +14 -2
  41. ccxt/coinmetro.py +2 -3
  42. ccxt/cryptocom.py +77 -2
  43. ccxt/exmo.py +1 -1
  44. ccxt/foxbit.py +1 -1
  45. ccxt/gate.py +1 -2
  46. ccxt/hashkey.py +39 -0
  47. ccxt/hyperliquid.py +40 -25
  48. ccxt/independentreserve.py +35 -0
  49. ccxt/indodax.py +34 -0
  50. ccxt/kucoin.py +2 -1
  51. ccxt/latoken.py +42 -0
  52. ccxt/luno.py +36 -0
  53. ccxt/mercado.py +34 -0
  54. ccxt/mexc.py +3 -19
  55. ccxt/ndax.py +8 -0
  56. ccxt/okx.py +2 -0
  57. ccxt/phemex.py +36 -31
  58. ccxt/pro/__init__.py +2 -1
  59. ccxt/pro/binancecoinm.py +3 -1
  60. ccxt/pro/binanceus.py +3 -1
  61. ccxt/pro/binanceusdm.py +3 -1
  62. ccxt/pro/bybit.py +33 -1
  63. {ccxt-4.4.96.dist-info → ccxt-4.4.98.dist-info}/METADATA +16 -16
  64. {ccxt-4.4.96.dist-info → ccxt-4.4.98.dist-info}/RECORD +67 -67
  65. {ccxt-4.4.96.dist-info → ccxt-4.4.98.dist-info}/LICENSE.txt +0 -0
  66. {ccxt-4.4.96.dist-info → ccxt-4.4.98.dist-info}/WHEEL +0 -0
  67. {ccxt-4.4.96.dist-info → ccxt-4.4.98.dist-info}/top_level.txt +0 -0
@@ -30,6 +30,9 @@ class independentreserve(Exchange, ImplicitAPI):
30
30
  'future': False,
31
31
  'option': False,
32
32
  'addMargin': False,
33
+ 'borrowCrossMargin': False,
34
+ 'borrowIsolatedMargin': False,
35
+ 'borrowMargin': False,
33
36
  'cancelOrder': True,
34
37
  'closeAllPositions': False,
35
38
  'closePosition': False,
@@ -38,9 +41,14 @@ class independentreserve(Exchange, ImplicitAPI):
38
41
  'createStopLimitOrder': False,
39
42
  'createStopMarketOrder': False,
40
43
  'createStopOrder': False,
44
+ 'fetchAllGreeks': False,
41
45
  'fetchBalance': True,
46
+ 'fetchBorrowInterest': False,
47
+ 'fetchBorrowRate': False,
42
48
  'fetchBorrowRateHistories': False,
43
49
  'fetchBorrowRateHistory': False,
50
+ 'fetchBorrowRates': False,
51
+ 'fetchBorrowRatesPerSymbol': False,
44
52
  'fetchClosedOrders': True,
45
53
  'fetchCrossBorrowRate': False,
46
54
  'fetchCrossBorrowRates': False,
@@ -48,36 +56,63 @@ class independentreserve(Exchange, ImplicitAPI):
48
56
  'fetchDepositAddresses': False,
49
57
  'fetchDepositAddressesByNetwork': False,
50
58
  'fetchFundingHistory': False,
59
+ 'fetchFundingInterval': False,
60
+ 'fetchFundingIntervals': False,
51
61
  'fetchFundingRate': False,
52
62
  'fetchFundingRateHistory': False,
53
63
  'fetchFundingRates': False,
64
+ 'fetchGreeks': False,
54
65
  'fetchIndexOHLCV': False,
55
66
  'fetchIsolatedBorrowRate': False,
56
67
  'fetchIsolatedBorrowRates': False,
68
+ 'fetchIsolatedPositions': False,
57
69
  'fetchLeverage': False,
70
+ 'fetchLeverages': False,
58
71
  'fetchLeverageTiers': False,
72
+ 'fetchLiquidations': False,
73
+ 'fetchLongShortRatio': False,
74
+ 'fetchLongShortRatioHistory': False,
75
+ 'fetchMarginAdjustmentHistory': False,
59
76
  'fetchMarginMode': False,
77
+ 'fetchMarginModes': False,
78
+ 'fetchMarketLeverageTiers': False,
60
79
  'fetchMarkets': True,
61
80
  'fetchMarkOHLCV': False,
81
+ 'fetchMarkPrice': False,
82
+ 'fetchMarkPrices': False,
83
+ 'fetchMyLiquidations': False,
84
+ 'fetchMySettlementHistory': False,
62
85
  'fetchMyTrades': True,
86
+ 'fetchOpenInterest': False,
63
87
  'fetchOpenInterestHistory': False,
88
+ 'fetchOpenInterests': False,
64
89
  'fetchOpenOrders': True,
90
+ 'fetchOption': False,
91
+ 'fetchOptionChain': False,
65
92
  'fetchOrder': True,
66
93
  'fetchOrderBook': True,
67
94
  'fetchPosition': False,
95
+ 'fetchPositionForSymbolWs': False,
68
96
  'fetchPositionHistory': False,
69
97
  'fetchPositionMode': False,
70
98
  'fetchPositions': False,
71
99
  'fetchPositionsForSymbol': False,
100
+ 'fetchPositionsForSymbolWs': False,
72
101
  'fetchPositionsHistory': False,
73
102
  'fetchPositionsRisk': False,
74
103
  'fetchPremiumIndexOHLCV': False,
104
+ 'fetchSettlementHistory': False,
75
105
  'fetchTicker': True,
76
106
  'fetchTrades': True,
77
107
  'fetchTradingFee': False,
78
108
  'fetchTradingFees': True,
109
+ 'fetchUnderlyingAssets': False,
110
+ 'fetchVolatilityHistory': False,
79
111
  'reduceMargin': False,
112
+ 'repayCrossMargin': False,
113
+ 'repayIsolatedMargin': False,
80
114
  'setLeverage': False,
115
+ 'setMargin': False,
81
116
  'setMarginMode': False,
82
117
  'setPositionMode': False,
83
118
  'withdraw': True,
ccxt/indodax.py CHANGED
@@ -38,6 +38,9 @@ class indodax(Exchange, ImplicitAPI):
38
38
  'future': False,
39
39
  'option': False,
40
40
  'addMargin': False,
41
+ 'borrowCrossMargin': False,
42
+ 'borrowIsolatedMargin': False,
43
+ 'borrowMargin': False,
41
44
  'cancelAllOrders': False,
42
45
  'cancelOrder': True,
43
46
  'cancelOrders': False,
@@ -49,9 +52,14 @@ class indodax(Exchange, ImplicitAPI):
49
52
  'createStopLimitOrder': False,
50
53
  'createStopMarketOrder': False,
51
54
  'createStopOrder': False,
55
+ 'fetchAllGreeks': False,
52
56
  'fetchBalance': True,
57
+ 'fetchBorrowInterest': False,
58
+ 'fetchBorrowRate': False,
53
59
  'fetchBorrowRateHistories': False,
54
60
  'fetchBorrowRateHistory': False,
61
+ 'fetchBorrowRates': False,
62
+ 'fetchBorrowRatesPerSymbol': False,
55
63
  'fetchClosedOrders': True,
56
64
  'fetchCrossBorrowRate': False,
57
65
  'fetchCrossBorrowRates': False,
@@ -62,30 +70,52 @@ class indodax(Exchange, ImplicitAPI):
62
70
  'fetchDeposits': False,
63
71
  'fetchDepositsWithdrawals': True,
64
72
  'fetchFundingHistory': False,
73
+ 'fetchFundingInterval': False,
74
+ 'fetchFundingIntervals': False,
65
75
  'fetchFundingRate': False,
66
76
  'fetchFundingRateHistory': False,
67
77
  'fetchFundingRates': False,
78
+ 'fetchGreeks': False,
68
79
  'fetchIndexOHLCV': False,
69
80
  'fetchIsolatedBorrowRate': False,
70
81
  'fetchIsolatedBorrowRates': False,
82
+ 'fetchIsolatedPositions': False,
71
83
  'fetchLeverage': False,
84
+ 'fetchLeverages': False,
72
85
  'fetchLeverageTiers': False,
86
+ 'fetchLiquidations': False,
87
+ 'fetchLongShortRatio': False,
88
+ 'fetchLongShortRatioHistory': False,
89
+ 'fetchMarginAdjustmentHistory': False,
73
90
  'fetchMarginMode': False,
91
+ 'fetchMarginModes': False,
92
+ 'fetchMarketLeverageTiers': False,
74
93
  'fetchMarkets': True,
75
94
  'fetchMarkOHLCV': False,
95
+ 'fetchMarkPrice': False,
96
+ 'fetchMarkPrices': False,
97
+ 'fetchMyLiquidations': False,
98
+ 'fetchMySettlementHistory': False,
99
+ 'fetchOpenInterest': False,
76
100
  'fetchOpenInterestHistory': False,
101
+ 'fetchOpenInterests': False,
77
102
  'fetchOpenOrders': True,
103
+ 'fetchOption': False,
104
+ 'fetchOptionChain': False,
78
105
  'fetchOrder': True,
79
106
  'fetchOrderBook': True,
80
107
  'fetchOrders': False,
81
108
  'fetchPosition': False,
109
+ 'fetchPositionForSymbolWs': False,
82
110
  'fetchPositionHistory': False,
83
111
  'fetchPositionMode': False,
84
112
  'fetchPositions': False,
85
113
  'fetchPositionsForSymbol': False,
114
+ 'fetchPositionsForSymbolWs': False,
86
115
  'fetchPositionsHistory': False,
87
116
  'fetchPositionsRisk': False,
88
117
  'fetchPremiumIndexOHLCV': False,
118
+ 'fetchSettlementHistory': False,
89
119
  'fetchTicker': True,
90
120
  'fetchTime': True,
91
121
  'fetchTrades': True,
@@ -96,9 +126,13 @@ class indodax(Exchange, ImplicitAPI):
96
126
  'fetchTransactions': 'emulated',
97
127
  'fetchTransfer': False,
98
128
  'fetchTransfers': False,
129
+ 'fetchUnderlyingAssets': False,
130
+ 'fetchVolatilityHistory': False,
99
131
  'fetchWithdrawal': False,
100
132
  'fetchWithdrawals': False,
101
133
  'reduceMargin': False,
134
+ 'repayCrossMargin': False,
135
+ 'repayIsolatedMargin': False,
102
136
  'setLeverage': False,
103
137
  'setMargin': False,
104
138
  'setMarginMode': False,
ccxt/kucoin.py CHANGED
@@ -811,7 +811,7 @@ class kucoin(Exchange, ImplicitAPI):
811
811
  'TLOS': 'tlos', # tlosevm is different
812
812
  'CFX': 'cfx',
813
813
  'ACA': 'aca',
814
- 'OP': 'optimism',
814
+ 'OPTIMISM': 'optimism',
815
815
  'ONT': 'ont',
816
816
  'GLMR': 'glmr',
817
817
  'CSPR': 'cspr',
@@ -931,6 +931,7 @@ class kucoin(Exchange, ImplicitAPI):
931
931
  'CS': 'cs',
932
932
  'ORAI': 'orai',
933
933
  'BASE': 'base',
934
+ 'TARA': 'tara',
934
935
  # below will be uncommented after consensus
935
936
  # 'BITCOINDIAMON': 'bcd',
936
937
  # 'BITCOINGOLD': 'btg',
ccxt/latoken.py CHANGED
@@ -40,6 +40,10 @@ class latoken(Exchange, ImplicitAPI):
40
40
  'swap': False,
41
41
  'future': False,
42
42
  'option': False,
43
+ 'addMargin': False,
44
+ 'borrowCrossMargin': False,
45
+ 'borrowIsolatedMargin': False,
46
+ 'borrowMargin': False,
43
47
  'cancelAllOrders': True,
44
48
  'cancelOrder': True,
45
49
  'closeAllPositions': False,
@@ -49,9 +53,14 @@ class latoken(Exchange, ImplicitAPI):
49
53
  'createStopLimitOrder': True,
50
54
  'createStopMarketOrder': False,
51
55
  'createStopOrder': True,
56
+ 'fetchAllGreeks': False,
52
57
  'fetchBalance': True,
58
+ 'fetchBorrowInterest': False,
59
+ 'fetchBorrowRate': False,
53
60
  'fetchBorrowRateHistories': False,
54
61
  'fetchBorrowRateHistory': False,
62
+ 'fetchBorrowRates': False,
63
+ 'fetchBorrowRatesPerSymbol': False,
55
64
  'fetchCrossBorrowRate': False,
56
65
  'fetchCrossBorrowRates': False,
57
66
  'fetchCurrencies': True,
@@ -66,12 +75,34 @@ class latoken(Exchange, ImplicitAPI):
66
75
  'fetchFundingRate': False,
67
76
  'fetchFundingRateHistory': False,
68
77
  'fetchFundingRates': False,
78
+ 'fetchGreeks': False,
79
+ 'fetchIndexOHLCV': False,
69
80
  'fetchIsolatedBorrowRate': False,
70
81
  'fetchIsolatedBorrowRates': False,
82
+ 'fetchIsolatedPositions': False,
83
+ 'fetchLeverage': False,
84
+ 'fetchLeverages': False,
85
+ 'fetchLeverageTiers': False,
86
+ 'fetchLiquidations': False,
87
+ 'fetchLongShortRatio': False,
88
+ 'fetchLongShortRatioHistory': False,
89
+ 'fetchMarginAdjustmentHistory': False,
71
90
  'fetchMarginMode': False,
91
+ 'fetchMarginModes': False,
92
+ 'fetchMarketLeverageTiers': False,
72
93
  'fetchMarkets': True,
94
+ 'fetchMarkOHLCV': False,
95
+ 'fetchMarkPrice': False,
96
+ 'fetchMarkPrices': False,
97
+ 'fetchMyLiquidations': False,
98
+ 'fetchMySettlementHistory': False,
73
99
  'fetchMyTrades': True,
100
+ 'fetchOpenInterest': False,
101
+ 'fetchOpenInterestHistory': False,
102
+ 'fetchOpenInterests': False,
74
103
  'fetchOpenOrders': True,
104
+ 'fetchOption': False,
105
+ 'fetchOptionChain': False,
75
106
  'fetchOrder': True,
76
107
  'fetchOrderBook': True,
77
108
  'fetchOrders': True,
@@ -82,6 +113,8 @@ class latoken(Exchange, ImplicitAPI):
82
113
  'fetchPositionsForSymbol': False,
83
114
  'fetchPositionsHistory': False,
84
115
  'fetchPositionsRisk': False,
116
+ 'fetchPremiumIndexOHLCV': False,
117
+ 'fetchSettlementHistory': False,
85
118
  'fetchTicker': True,
86
119
  'fetchTickers': True,
87
120
  'fetchTime': True,
@@ -91,6 +124,15 @@ class latoken(Exchange, ImplicitAPI):
91
124
  'fetchTransactions': 'emulated',
92
125
  'fetchTransfer': False,
93
126
  'fetchTransfers': True,
127
+ 'fetchUnderlyingAssets': False,
128
+ 'fetchVolatilityHistory': False,
129
+ 'reduceMargin': False,
130
+ 'repayCrossMargin': False,
131
+ 'repayIsolatedMargin': False,
132
+ 'setLeverage': False,
133
+ 'setMargin': False,
134
+ 'setMarginMode': False,
135
+ 'setPositionMode': False,
94
136
  'transfer': True,
95
137
  },
96
138
  'urls': {
ccxt/luno.py CHANGED
@@ -32,6 +32,9 @@ class luno(Exchange, ImplicitAPI):
32
32
  'future': False,
33
33
  'option': False,
34
34
  'addMargin': False,
35
+ 'borrowCrossMargin': False,
36
+ 'borrowIsolatedMargin': False,
37
+ 'borrowMargin': False,
35
38
  'cancelOrder': True,
36
39
  'closeAllPositions': False,
37
40
  'closePosition': False,
@@ -39,48 +42,81 @@ class luno(Exchange, ImplicitAPI):
39
42
  'createOrder': True,
40
43
  'createReduceOnlyOrder': False,
41
44
  'fetchAccounts': True,
45
+ 'fetchAllGreeks': False,
42
46
  'fetchBalance': True,
47
+ 'fetchBorrowInterest': False,
48
+ 'fetchBorrowRate': False,
49
+ 'fetchBorrowRateHistories': False,
43
50
  'fetchBorrowRateHistory': False,
51
+ 'fetchBorrowRates': False,
52
+ 'fetchBorrowRatesPerSymbol': False,
44
53
  'fetchClosedOrders': True,
45
54
  'fetchCrossBorrowRate': False,
46
55
  'fetchCrossBorrowRates': False,
47
56
  'fetchCurrencies': True,
48
57
  'fetchDepositAddress': True,
49
58
  'fetchFundingHistory': False,
59
+ 'fetchFundingInterval': False,
60
+ 'fetchFundingIntervals': False,
50
61
  'fetchFundingRate': False,
51
62
  'fetchFundingRateHistory': False,
52
63
  'fetchFundingRates': False,
64
+ 'fetchGreeks': False,
53
65
  'fetchIndexOHLCV': False,
54
66
  'fetchIsolatedBorrowRate': False,
55
67
  'fetchIsolatedBorrowRates': False,
68
+ 'fetchIsolatedPositions': False,
56
69
  'fetchLedger': True,
57
70
  'fetchLeverage': False,
71
+ 'fetchLeverages': False,
58
72
  'fetchLeverageTiers': False,
73
+ 'fetchLiquidations': False,
74
+ 'fetchLongShortRatio': False,
75
+ 'fetchLongShortRatioHistory': False,
76
+ 'fetchMarginAdjustmentHistory': False,
59
77
  'fetchMarginMode': False,
78
+ 'fetchMarginModes': False,
79
+ 'fetchMarketLeverageTiers': False,
60
80
  'fetchMarkets': True,
61
81
  'fetchMarkOHLCV': False,
82
+ 'fetchMarkPrice': False,
83
+ 'fetchMarkPrices': False,
84
+ 'fetchMyLiquidations': False,
85
+ 'fetchMySettlementHistory': False,
62
86
  'fetchMyTrades': True,
63
87
  'fetchOHLCV': True,
88
+ 'fetchOpenInterest': False,
64
89
  'fetchOpenInterestHistory': False,
90
+ 'fetchOpenInterests': False,
65
91
  'fetchOpenOrders': True,
92
+ 'fetchOption': False,
93
+ 'fetchOptionChain': False,
66
94
  'fetchOrder': True,
67
95
  'fetchOrderBook': True,
68
96
  'fetchOrders': True,
69
97
  'fetchPosition': False,
98
+ 'fetchPositionForSymbolWs': False,
70
99
  'fetchPositionHistory': False,
71
100
  'fetchPositionMode': False,
72
101
  'fetchPositions': False,
73
102
  'fetchPositionsForSymbol': False,
103
+ 'fetchPositionsForSymbolWs': False,
74
104
  'fetchPositionsHistory': False,
75
105
  'fetchPositionsRisk': False,
76
106
  'fetchPremiumIndexOHLCV': False,
107
+ 'fetchSettlementHistory': False,
77
108
  'fetchTicker': True,
78
109
  'fetchTickers': True,
79
110
  'fetchTrades': True,
80
111
  'fetchTradingFee': True,
81
112
  'fetchTradingFees': False,
113
+ 'fetchUnderlyingAssets': False,
114
+ 'fetchVolatilityHistory': False,
82
115
  'reduceMargin': False,
116
+ 'repayCrossMargin': False,
117
+ 'repayIsolatedMargin': False,
83
118
  'setLeverage': False,
119
+ 'setMargin': False,
84
120
  'setMarginMode': False,
85
121
  'setPositionMode': False,
86
122
  },
ccxt/mercado.py CHANGED
@@ -32,6 +32,9 @@ class mercado(Exchange, ImplicitAPI):
32
32
  'future': False,
33
33
  'option': False,
34
34
  'addMargin': False,
35
+ 'borrowCrossMargin': False,
36
+ 'borrowIsolatedMargin': False,
37
+ 'borrowMargin': False,
35
38
  'cancelOrder': True,
36
39
  'closeAllPositions': False,
37
40
  'closePosition': False,
@@ -41,29 +44,54 @@ class mercado(Exchange, ImplicitAPI):
41
44
  'createStopLimitOrder': False,
42
45
  'createStopMarketOrder': False,
43
46
  'createStopOrder': False,
47
+ 'fetchAllGreeks': False,
44
48
  'fetchBalance': True,
49
+ 'fetchBorrowInterest': False,
50
+ 'fetchBorrowRate': False,
51
+ 'fetchBorrowRateHistories': False,
45
52
  'fetchBorrowRateHistory': False,
53
+ 'fetchBorrowRates': False,
54
+ 'fetchBorrowRatesPerSymbol': False,
46
55
  'fetchCrossBorrowRate': False,
47
56
  'fetchCrossBorrowRates': False,
48
57
  'fetchDepositAddress': False,
49
58
  'fetchDepositAddresses': False,
50
59
  'fetchDepositAddressesByNetwork': False,
51
60
  'fetchFundingHistory': False,
61
+ 'fetchFundingInterval': False,
62
+ 'fetchFundingIntervals': False,
52
63
  'fetchFundingRate': False,
53
64
  'fetchFundingRateHistory': False,
54
65
  'fetchFundingRates': False,
66
+ 'fetchGreeks': False,
55
67
  'fetchIndexOHLCV': False,
56
68
  'fetchIsolatedBorrowRate': False,
57
69
  'fetchIsolatedBorrowRates': False,
70
+ 'fetchIsolatedPositions': False,
58
71
  'fetchLeverage': False,
72
+ 'fetchLeverages': False,
59
73
  'fetchLeverageTiers': False,
74
+ 'fetchLiquidations': False,
75
+ 'fetchLongShortRatio': False,
76
+ 'fetchLongShortRatioHistory': False,
77
+ 'fetchMarginAdjustmentHistory': False,
60
78
  'fetchMarginMode': False,
79
+ 'fetchMarginModes': False,
80
+ 'fetchMarketLeverageTiers': False,
61
81
  'fetchMarkets': True,
62
82
  'fetchMarkOHLCV': False,
83
+ 'fetchMarkPrice': False,
84
+ 'fetchMarkPrices': False,
85
+ 'fetchMyLiquidations': False,
86
+ 'fetchMySettlementHistory': False,
63
87
  'fetchMyTrades': 'emulated',
64
88
  'fetchOHLCV': True,
89
+ 'fetchOpenInterest': False,
65
90
  'fetchOpenInterestHistory': False,
91
+ 'fetchOpenInterests': False,
66
92
  'fetchOpenOrders': True,
93
+ 'fetchOption': False,
94
+ 'fetchOptionChain': False,
67
95
  'fetchOrder': True,
68
96
  'fetchOrderBook': True,
69
97
  'fetchOrders': True,
@@ -75,13 +103,19 @@ class mercado(Exchange, ImplicitAPI):
75
103
  'fetchPositionsHistory': False,
76
104
  'fetchPositionsRisk': False,
77
105
  'fetchPremiumIndexOHLCV': False,
106
+ 'fetchSettlementHistory': False,
78
107
  'fetchTicker': True,
79
108
  'fetchTickers': False,
80
109
  'fetchTrades': True,
81
110
  'fetchTradingFee': False,
82
111
  'fetchTradingFees': False,
112
+ 'fetchUnderlyingAssets': False,
113
+ 'fetchVolatilityHistory': False,
83
114
  'reduceMargin': False,
115
+ 'repayCrossMargin': False,
116
+ 'repayIsolatedMargin': False,
84
117
  'setLeverage': False,
118
+ 'setMargin': False,
85
119
  'setMarginMode': False,
86
120
  'setPositionMode': False,
87
121
  'withdraw': True,
ccxt/mexc.py CHANGED
@@ -448,6 +448,7 @@ class mexc(Exchange, ImplicitAPI):
448
448
  },
449
449
  },
450
450
  },
451
+ 'useCcxtTradeId': True,
451
452
  'timeframes': {
452
453
  'spot': {
453
454
  '1m': '1m',
@@ -1694,8 +1695,8 @@ class mexc(Exchange, ImplicitAPI):
1694
1695
  'cost': self.safe_string(trade, 'commission'),
1695
1696
  'currency': self.safe_currency_code(feeAsset),
1696
1697
  }
1697
- if id is None:
1698
- id = self.synthetic_trade_id(market, timestamp, side, amountString, priceString, type, takerOrMaker)
1698
+ if id is None and self.safe_bool(self.options, 'useCcxtTradeId', True):
1699
+ id = self.create_ccxt_trade_id(timestamp, side, amountString, priceString, takerOrMaker)
1699
1700
  return self.safe_trade({
1700
1701
  'id': id,
1701
1702
  'order': orderId,
@@ -1712,23 +1713,6 @@ class mexc(Exchange, ImplicitAPI):
1712
1713
  'info': trade,
1713
1714
  }, market)
1714
1715
 
1715
- def synthetic_trade_id(self, market=None, timestamp=None, side=None, amount=None, price=None, orderType=None, takerOrMaker=None):
1716
- # TODO: can be unified method? self approach is being used by multiple exchanges(mexc, woo-coinsbit, dydx, ...)
1717
- id = ''
1718
- if timestamp is not None:
1719
- id = self.number_to_string(timestamp) + '-' + self.safe_string(market, 'id', '_')
1720
- if side is not None:
1721
- id += '-' + side
1722
- if amount is not None:
1723
- id += '-' + self.number_to_string(amount)
1724
- if price is not None:
1725
- id += '-' + self.number_to_string(price)
1726
- if takerOrMaker is not None:
1727
- id += '-' + takerOrMaker
1728
- if orderType is not None:
1729
- id += '-' + orderType
1730
- return id
1731
-
1732
1716
  def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
1733
1717
  """
1734
1718
 
ccxt/ndax.py CHANGED
@@ -35,6 +35,9 @@ class ndax(Exchange, ImplicitAPI):
35
35
  'future': False,
36
36
  'option': False,
37
37
  'addMargin': False,
38
+ 'borrowCrossMargin': False,
39
+ 'borrowIsolatedMargin': False,
40
+ 'borrowMargin': False,
38
41
  'cancelAllOrders': True,
39
42
  'cancelOrder': True,
40
43
  'closeAllPositions': False,
@@ -47,6 +50,7 @@ class ndax(Exchange, ImplicitAPI):
47
50
  'createStopOrder': True,
48
51
  'editOrder': True,
49
52
  'fetchAccounts': True,
53
+ 'fetchAllGreeks': False,
50
54
  'fetchBalance': True,
51
55
  'fetchBorrowInterest': False,
52
56
  'fetchBorrowRate': False,
@@ -77,12 +81,15 @@ class ndax(Exchange, ImplicitAPI):
77
81
  'fetchLeverages': False,
78
82
  'fetchLeverageTiers': False,
79
83
  'fetchLiquidations': False,
84
+ 'fetchLongShortRatio': False,
85
+ 'fetchLongShortRatioHistory': False,
80
86
  'fetchMarginAdjustmentHistory': False,
81
87
  'fetchMarginMode': False,
82
88
  'fetchMarginModes': False,
83
89
  'fetchMarketLeverageTiers': False,
84
90
  'fetchMarkets': True,
85
91
  'fetchMarkOHLCV': False,
92
+ 'fetchMarkPrice': False,
86
93
  'fetchMarkPrices': False,
87
94
  'fetchMyLiquidations': False,
88
95
  'fetchMySettlementHistory': False,
@@ -90,6 +97,7 @@ class ndax(Exchange, ImplicitAPI):
90
97
  'fetchOHLCV': True,
91
98
  'fetchOpenInterest': False,
92
99
  'fetchOpenInterestHistory': False,
100
+ 'fetchOpenInterests': False,
93
101
  'fetchOpenOrders': True,
94
102
  'fetchOption': False,
95
103
  'fetchOptionChain': False,
ccxt/okx.py CHANGED
@@ -18,6 +18,7 @@ from ccxt.base.errors import BadRequest
18
18
  from ccxt.base.errors import BadSymbol
19
19
  from ccxt.base.errors import OperationRejected
20
20
  from ccxt.base.errors import ManualInteractionNeeded
21
+ from ccxt.base.errors import RestrictedLocation
21
22
  from ccxt.base.errors import InsufficientFunds
22
23
  from ccxt.base.errors import InvalidAddress
23
24
  from ccxt.base.errors import InvalidOrder
@@ -761,6 +762,7 @@ class okx(Exchange, ImplicitAPI):
761
762
  '51137': InvalidOrder, # Your opening price has triggered the limit price, and the max buy price is {0}
762
763
  '51138': InvalidOrder, # Your opening price has triggered the limit price, and the min sell price is {0}
763
764
  '51139': InvalidOrder, # Reduce-only feature is unavailable for the spot transactions by simple account
765
+ '51155': RestrictedLocation, # {"code":"1","data":[{"clOrdId":"e847xxx","ordId":"","sCode":"51155","sMsg":"You can't trade self pair or borrow self crypto due to local compliance restrictions. ","tag":"e847xxx","ts":"1753979177157"}],"inTime":"1753979177157408","msg":"All operations failed","outTime":"1753979177157874"}
764
766
  '51156': BadRequest, # You're leading trades in long/short mode and can't use self API endpoint to close positions
765
767
  '51159': BadRequest, # You're leading trades in buy/sell mode. If you want to place orders using self API endpoint, the orders must be in the same direction existing positions and open orders.
766
768
  '51162': InvalidOrder, # You have {instrument} open orders. Cancel these orders and try again