ccxt 4.4.72__py2.py3-none-any.whl → 4.4.73__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.
- ccxt/__init__.py +1 -3
- ccxt/ace.py +36 -1
- ccxt/alpaca.py +46 -0
- ccxt/ascendex.py +1 -1
- ccxt/async_support/__init__.py +1 -3
- ccxt/async_support/ace.py +36 -1
- ccxt/async_support/alpaca.py +46 -0
- ccxt/async_support/ascendex.py +1 -1
- ccxt/async_support/base/exchange.py +1 -1
- ccxt/async_support/binance.py +18 -14
- ccxt/async_support/bit2c.py +11 -0
- ccxt/async_support/bitget.py +6 -5
- ccxt/async_support/bitrue.py +1 -1
- ccxt/async_support/bybit.py +32 -25
- ccxt/async_support/defx.py +1 -1
- ccxt/async_support/derive.py +2 -0
- ccxt/base/exchange.py +5 -11
- ccxt/binance.py +18 -14
- ccxt/bit2c.py +11 -0
- ccxt/bitget.py +6 -5
- ccxt/bitrue.py +1 -1
- ccxt/bybit.py +32 -25
- ccxt/defx.py +1 -1
- ccxt/derive.py +2 -0
- ccxt/pro/__init__.py +1 -3
- ccxt/test/tests_async.py +6 -3
- ccxt/test/tests_sync.py +6 -3
- {ccxt-4.4.72.dist-info → ccxt-4.4.73.dist-info}/METADATA +5 -5
- {ccxt-4.4.72.dist-info → ccxt-4.4.73.dist-info}/RECORD +32 -33
- ccxt/abstract/bitfinex1.py +0 -69
- {ccxt-4.4.72.dist-info → ccxt-4.4.73.dist-info}/LICENSE.txt +0 -0
- {ccxt-4.4.72.dist-info → ccxt-4.4.73.dist-info}/WHEEL +0 -0
- {ccxt-4.4.72.dist-info → ccxt-4.4.73.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.
|
25
|
+
__version__ = '4.4.73'
|
26
26
|
|
27
27
|
# ----------------------------------------------------------------------------
|
28
28
|
|
@@ -98,7 +98,6 @@ from ccxt.bitbank import bitbank # noqa: F4
|
|
98
98
|
from ccxt.bitbns import bitbns # noqa: F401
|
99
99
|
from ccxt.bitcoincom import bitcoincom # noqa: F401
|
100
100
|
from ccxt.bitfinex import bitfinex # noqa: F401
|
101
|
-
from ccxt.bitfinex1 import bitfinex1 # noqa: F401
|
102
101
|
from ccxt.bitflyer import bitflyer # noqa: F401
|
103
102
|
from ccxt.bitget import bitget # noqa: F401
|
104
103
|
from ccxt.bithumb import bithumb # noqa: F401
|
@@ -210,7 +209,6 @@ exchanges = [
|
|
210
209
|
'bitbns',
|
211
210
|
'bitcoincom',
|
212
211
|
'bitfinex',
|
213
|
-
'bitfinex1',
|
214
212
|
'bitflyer',
|
215
213
|
'bitget',
|
216
214
|
'bithumb',
|
ccxt/ace.py
CHANGED
@@ -33,16 +33,27 @@ class ace(Exchange, ImplicitAPI):
|
|
33
33
|
'swap': False,
|
34
34
|
'future': False,
|
35
35
|
'option': False,
|
36
|
+
'addMargin': False,
|
37
|
+
'borrowCrossMargin': False,
|
38
|
+
'borrowIsolatedMargin': False,
|
39
|
+
'borrowMargin': False,
|
36
40
|
'cancelAllOrders': False,
|
37
41
|
'cancelOrder': True,
|
38
42
|
'cancelOrders': False,
|
39
43
|
'closeAllPositions': False,
|
40
44
|
'closePosition': False,
|
41
45
|
'createOrder': True,
|
46
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
47
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
48
|
+
'createReduceOnlyOrder': False,
|
42
49
|
'editOrder': False,
|
43
50
|
'fetchBalance': True,
|
51
|
+
'fetchBorrowInterest': False,
|
52
|
+
'fetchBorrowRate': False,
|
44
53
|
'fetchBorrowRateHistories': False,
|
45
54
|
'fetchBorrowRateHistory': False,
|
55
|
+
'fetchBorrowRates': False,
|
56
|
+
'fetchBorrowRatesPerSymbol': False,
|
46
57
|
'fetchClosedOrders': False,
|
47
58
|
'fetchCrossBorrowRate': False,
|
48
59
|
'fetchCrossBorrowRates': False,
|
@@ -50,18 +61,36 @@ class ace(Exchange, ImplicitAPI):
|
|
50
61
|
'fetchDepositAddress': False,
|
51
62
|
'fetchDeposits': False,
|
52
63
|
'fetchFundingHistory': False,
|
64
|
+
'fetchFundingInterval': False,
|
65
|
+
'fetchFundingIntervals': False,
|
53
66
|
'fetchFundingRate': False,
|
54
67
|
'fetchFundingRateHistory': False,
|
55
68
|
'fetchFundingRates': False,
|
69
|
+
'fetchGreeks': False,
|
56
70
|
'fetchIndexOHLCV': False,
|
57
71
|
'fetchIsolatedBorrowRate': False,
|
58
72
|
'fetchIsolatedBorrowRates': False,
|
73
|
+
'fetchIsolatedPositions': False,
|
74
|
+
'fetchLeverage': False,
|
75
|
+
'fetchLeverages': False,
|
76
|
+
'fetchLeverageTiers': False,
|
77
|
+
'fetchLiquidations': False,
|
78
|
+
'fetchLongShortRatio': False,
|
79
|
+
'fetchLongShortRatioHistory': False,
|
80
|
+
'fetchMarginAdjustmentHistory': False,
|
59
81
|
'fetchMarginMode': False,
|
82
|
+
'fetchMarginModes': False,
|
83
|
+
'fetchMarketLeverageTiers': False,
|
60
84
|
'fetchMarkets': True,
|
61
85
|
'fetchMarkOHLCV': False,
|
86
|
+
'fetchMarkPrices': False,
|
87
|
+
'fetchMyLiquidations': False,
|
88
|
+
'fetchMySettlementHistory': False,
|
62
89
|
'fetchMyTrades': True,
|
63
90
|
'fetchOHLCV': True,
|
91
|
+
'fetchOpenInterest': False,
|
64
92
|
'fetchOpenInterestHistory': False,
|
93
|
+
'fetchOpenInterests': False,
|
65
94
|
'fetchOpenOrders': True,
|
66
95
|
'fetchOrder': True,
|
67
96
|
'fetchOrderBook': True,
|
@@ -75,6 +104,7 @@ class ace(Exchange, ImplicitAPI):
|
|
75
104
|
'fetchPositionsHistory': False,
|
76
105
|
'fetchPositionsRisk': False,
|
77
106
|
'fetchPremiumIndexOHLCV': False,
|
107
|
+
'fetchSettlementHistory': False,
|
78
108
|
'fetchTicker': True,
|
79
109
|
'fetchTickers': True,
|
80
110
|
'fetchTime': False,
|
@@ -87,8 +117,13 @@ class ace(Exchange, ImplicitAPI):
|
|
87
117
|
'fetchTransfers': False,
|
88
118
|
'fetchWithdrawal': False,
|
89
119
|
'fetchWithdrawals': False,
|
120
|
+
'reduceMargin': False,
|
121
|
+
'repayCrossMargin': False,
|
122
|
+
'repayIsolatedMargin': False,
|
90
123
|
'setLeverage': False,
|
124
|
+
'setMargin': False,
|
91
125
|
'setMarginMode': False,
|
126
|
+
'setPositionMode': False,
|
92
127
|
'transfer': False,
|
93
128
|
'withdraw': False,
|
94
129
|
'ws': False,
|
@@ -473,7 +508,7 @@ class ace(Exchange, ImplicitAPI):
|
|
473
508
|
# ],
|
474
509
|
# [
|
475
510
|
# "0.001",
|
476
|
-
# "20948.
|
511
|
+
# "20948.13"
|
477
512
|
# ]
|
478
513
|
# ]
|
479
514
|
# },
|
ccxt/alpaca.py
CHANGED
@@ -56,6 +56,10 @@ class alpaca(Exchange, ImplicitAPI):
|
|
56
56
|
'swap': False,
|
57
57
|
'future': False,
|
58
58
|
'option': False,
|
59
|
+
'addMargin': False,
|
60
|
+
'borrowCrossMargin': False,
|
61
|
+
'borrowIsolatedMargin': False,
|
62
|
+
'borrowMargin': False,
|
59
63
|
'cancelAllOrders': True,
|
60
64
|
'cancelOrder': True,
|
61
65
|
'closeAllPositions': False,
|
@@ -64,26 +68,61 @@ class alpaca(Exchange, ImplicitAPI):
|
|
64
68
|
'createMarketBuyOrderWithCost': True,
|
65
69
|
'createMarketOrderWithCost': True,
|
66
70
|
'createOrder': True,
|
71
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
72
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
73
|
+
'createReduceOnlyOrder': False,
|
67
74
|
'createStopOrder': True,
|
68
75
|
'createTriggerOrder': True,
|
69
76
|
'editOrder': True,
|
70
77
|
'fetchBalance': True,
|
71
78
|
'fetchBidsAsks': False,
|
79
|
+
'fetchBorrowInterest': False,
|
80
|
+
'fetchBorrowRate': False,
|
81
|
+
'fetchBorrowRateHistories': False,
|
82
|
+
'fetchBorrowRateHistory': False,
|
83
|
+
'fetchBorrowRates': False,
|
84
|
+
'fetchBorrowRatesPerSymbol': False,
|
72
85
|
'fetchClosedOrders': True,
|
86
|
+
'fetchCrossBorrowRate': False,
|
87
|
+
'fetchCrossBorrowRates': False,
|
73
88
|
'fetchCurrencies': False,
|
74
89
|
'fetchDepositAddress': True,
|
75
90
|
'fetchDepositAddressesByNetwork': False,
|
76
91
|
'fetchDeposits': True,
|
77
92
|
'fetchDepositsWithdrawals': True,
|
78
93
|
'fetchFundingHistory': False,
|
94
|
+
'fetchFundingInterval': False,
|
95
|
+
'fetchFundingIntervals': False,
|
79
96
|
'fetchFundingRate': False,
|
80
97
|
'fetchFundingRateHistory': False,
|
81
98
|
'fetchFundingRates': False,
|
99
|
+
'fetchGreeks': False,
|
100
|
+
'fetchIndexOHLCV': False,
|
101
|
+
'fetchIsolatedBorrowRate': False,
|
102
|
+
'fetchIsolatedBorrowRates': False,
|
103
|
+
'fetchIsolatedPositions': False,
|
82
104
|
'fetchL1OrderBook': True,
|
83
105
|
'fetchL2OrderBook': False,
|
106
|
+
'fetchLeverage': False,
|
107
|
+
'fetchLeverages': False,
|
108
|
+
'fetchLeverageTiers': False,
|
109
|
+
'fetchLiquidations': False,
|
110
|
+
'fetchLongShortRatio': False,
|
111
|
+
'fetchLongShortRatioHistory': False,
|
112
|
+
'fetchMarginAdjustmentHistory': False,
|
113
|
+
'fetchMarginMode': False,
|
114
|
+
'fetchMarginModes': False,
|
115
|
+
'fetchMarketLeverageTiers': False,
|
84
116
|
'fetchMarkets': True,
|
117
|
+
'fetchMarkOHLCV': False,
|
118
|
+
'fetchMarkPrices': False,
|
119
|
+
'fetchMyLiquidations': False,
|
120
|
+
'fetchMySettlementHistory': False,
|
85
121
|
'fetchMyTrades': True,
|
86
122
|
'fetchOHLCV': True,
|
123
|
+
'fetchOpenInterest': False,
|
124
|
+
'fetchOpenInterestHistory': False,
|
125
|
+
'fetchOpenInterests': False,
|
87
126
|
'fetchOpenOrder': False,
|
88
127
|
'fetchOpenOrders': True,
|
89
128
|
'fetchOrder': True,
|
@@ -96,6 +135,8 @@ class alpaca(Exchange, ImplicitAPI):
|
|
96
135
|
'fetchPositionsForSymbol': False,
|
97
136
|
'fetchPositionsHistory': False,
|
98
137
|
'fetchPositionsRisk': False,
|
138
|
+
'fetchPremiumIndexOHLCV': False,
|
139
|
+
'fetchSettlementHistory': False,
|
99
140
|
'fetchStatus': False,
|
100
141
|
'fetchTicker': True,
|
101
142
|
'fetchTickers': True,
|
@@ -107,9 +148,14 @@ class alpaca(Exchange, ImplicitAPI):
|
|
107
148
|
'fetchTransactions': False,
|
108
149
|
'fetchTransfers': False,
|
109
150
|
'fetchWithdrawals': True,
|
151
|
+
'reduceMargin': False,
|
152
|
+
'repayCrossMargin': False,
|
153
|
+
'repayIsolatedMargin': False,
|
110
154
|
'sandbox': True,
|
111
155
|
'setLeverage': False,
|
156
|
+
'setMargin': False,
|
112
157
|
'setMarginMode': False,
|
158
|
+
'setPositionMode': False,
|
113
159
|
'transfer': False,
|
114
160
|
'withdraw': True,
|
115
161
|
},
|
ccxt/ascendex.py
CHANGED
@@ -556,7 +556,7 @@ class ascendex(Exchange, ImplicitAPI):
|
|
556
556
|
ids = list(dataById.keys())
|
557
557
|
result: dict = {}
|
558
558
|
for i in range(0, len(ids)):
|
559
|
-
id = ids
|
559
|
+
id = self.safe_string(ids, i)
|
560
560
|
currency = dataById[id]
|
561
561
|
code = self.safe_currency_code(id)
|
562
562
|
scale = self.safe_string_2(currency, 'precisionScale', 'nativeScale')
|
ccxt/async_support/__init__.py
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.4.
|
7
|
+
__version__ = '4.4.73'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -78,7 +78,6 @@ from ccxt.async_support.bitbank import bitbank
|
|
78
78
|
from ccxt.async_support.bitbns import bitbns # noqa: F401
|
79
79
|
from ccxt.async_support.bitcoincom import bitcoincom # noqa: F401
|
80
80
|
from ccxt.async_support.bitfinex import bitfinex # noqa: F401
|
81
|
-
from ccxt.async_support.bitfinex1 import bitfinex1 # noqa: F401
|
82
81
|
from ccxt.async_support.bitflyer import bitflyer # noqa: F401
|
83
82
|
from ccxt.async_support.bitget import bitget # noqa: F401
|
84
83
|
from ccxt.async_support.bithumb import bithumb # noqa: F401
|
@@ -190,7 +189,6 @@ exchanges = [
|
|
190
189
|
'bitbns',
|
191
190
|
'bitcoincom',
|
192
191
|
'bitfinex',
|
193
|
-
'bitfinex1',
|
194
192
|
'bitflyer',
|
195
193
|
'bitget',
|
196
194
|
'bithumb',
|
ccxt/async_support/ace.py
CHANGED
@@ -33,16 +33,27 @@ class ace(Exchange, ImplicitAPI):
|
|
33
33
|
'swap': False,
|
34
34
|
'future': False,
|
35
35
|
'option': False,
|
36
|
+
'addMargin': False,
|
37
|
+
'borrowCrossMargin': False,
|
38
|
+
'borrowIsolatedMargin': False,
|
39
|
+
'borrowMargin': False,
|
36
40
|
'cancelAllOrders': False,
|
37
41
|
'cancelOrder': True,
|
38
42
|
'cancelOrders': False,
|
39
43
|
'closeAllPositions': False,
|
40
44
|
'closePosition': False,
|
41
45
|
'createOrder': True,
|
46
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
47
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
48
|
+
'createReduceOnlyOrder': False,
|
42
49
|
'editOrder': False,
|
43
50
|
'fetchBalance': True,
|
51
|
+
'fetchBorrowInterest': False,
|
52
|
+
'fetchBorrowRate': False,
|
44
53
|
'fetchBorrowRateHistories': False,
|
45
54
|
'fetchBorrowRateHistory': False,
|
55
|
+
'fetchBorrowRates': False,
|
56
|
+
'fetchBorrowRatesPerSymbol': False,
|
46
57
|
'fetchClosedOrders': False,
|
47
58
|
'fetchCrossBorrowRate': False,
|
48
59
|
'fetchCrossBorrowRates': False,
|
@@ -50,18 +61,36 @@ class ace(Exchange, ImplicitAPI):
|
|
50
61
|
'fetchDepositAddress': False,
|
51
62
|
'fetchDeposits': False,
|
52
63
|
'fetchFundingHistory': False,
|
64
|
+
'fetchFundingInterval': False,
|
65
|
+
'fetchFundingIntervals': False,
|
53
66
|
'fetchFundingRate': False,
|
54
67
|
'fetchFundingRateHistory': False,
|
55
68
|
'fetchFundingRates': False,
|
69
|
+
'fetchGreeks': False,
|
56
70
|
'fetchIndexOHLCV': False,
|
57
71
|
'fetchIsolatedBorrowRate': False,
|
58
72
|
'fetchIsolatedBorrowRates': False,
|
73
|
+
'fetchIsolatedPositions': False,
|
74
|
+
'fetchLeverage': False,
|
75
|
+
'fetchLeverages': False,
|
76
|
+
'fetchLeverageTiers': False,
|
77
|
+
'fetchLiquidations': False,
|
78
|
+
'fetchLongShortRatio': False,
|
79
|
+
'fetchLongShortRatioHistory': False,
|
80
|
+
'fetchMarginAdjustmentHistory': False,
|
59
81
|
'fetchMarginMode': False,
|
82
|
+
'fetchMarginModes': False,
|
83
|
+
'fetchMarketLeverageTiers': False,
|
60
84
|
'fetchMarkets': True,
|
61
85
|
'fetchMarkOHLCV': False,
|
86
|
+
'fetchMarkPrices': False,
|
87
|
+
'fetchMyLiquidations': False,
|
88
|
+
'fetchMySettlementHistory': False,
|
62
89
|
'fetchMyTrades': True,
|
63
90
|
'fetchOHLCV': True,
|
91
|
+
'fetchOpenInterest': False,
|
64
92
|
'fetchOpenInterestHistory': False,
|
93
|
+
'fetchOpenInterests': False,
|
65
94
|
'fetchOpenOrders': True,
|
66
95
|
'fetchOrder': True,
|
67
96
|
'fetchOrderBook': True,
|
@@ -75,6 +104,7 @@ class ace(Exchange, ImplicitAPI):
|
|
75
104
|
'fetchPositionsHistory': False,
|
76
105
|
'fetchPositionsRisk': False,
|
77
106
|
'fetchPremiumIndexOHLCV': False,
|
107
|
+
'fetchSettlementHistory': False,
|
78
108
|
'fetchTicker': True,
|
79
109
|
'fetchTickers': True,
|
80
110
|
'fetchTime': False,
|
@@ -87,8 +117,13 @@ class ace(Exchange, ImplicitAPI):
|
|
87
117
|
'fetchTransfers': False,
|
88
118
|
'fetchWithdrawal': False,
|
89
119
|
'fetchWithdrawals': False,
|
120
|
+
'reduceMargin': False,
|
121
|
+
'repayCrossMargin': False,
|
122
|
+
'repayIsolatedMargin': False,
|
90
123
|
'setLeverage': False,
|
124
|
+
'setMargin': False,
|
91
125
|
'setMarginMode': False,
|
126
|
+
'setPositionMode': False,
|
92
127
|
'transfer': False,
|
93
128
|
'withdraw': False,
|
94
129
|
'ws': False,
|
@@ -473,7 +508,7 @@ class ace(Exchange, ImplicitAPI):
|
|
473
508
|
# ],
|
474
509
|
# [
|
475
510
|
# "0.001",
|
476
|
-
# "20948.
|
511
|
+
# "20948.13"
|
477
512
|
# ]
|
478
513
|
# ]
|
479
514
|
# },
|
ccxt/async_support/alpaca.py
CHANGED
@@ -56,6 +56,10 @@ class alpaca(Exchange, ImplicitAPI):
|
|
56
56
|
'swap': False,
|
57
57
|
'future': False,
|
58
58
|
'option': False,
|
59
|
+
'addMargin': False,
|
60
|
+
'borrowCrossMargin': False,
|
61
|
+
'borrowIsolatedMargin': False,
|
62
|
+
'borrowMargin': False,
|
59
63
|
'cancelAllOrders': True,
|
60
64
|
'cancelOrder': True,
|
61
65
|
'closeAllPositions': False,
|
@@ -64,26 +68,61 @@ class alpaca(Exchange, ImplicitAPI):
|
|
64
68
|
'createMarketBuyOrderWithCost': True,
|
65
69
|
'createMarketOrderWithCost': True,
|
66
70
|
'createOrder': True,
|
71
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
72
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
73
|
+
'createReduceOnlyOrder': False,
|
67
74
|
'createStopOrder': True,
|
68
75
|
'createTriggerOrder': True,
|
69
76
|
'editOrder': True,
|
70
77
|
'fetchBalance': True,
|
71
78
|
'fetchBidsAsks': False,
|
79
|
+
'fetchBorrowInterest': False,
|
80
|
+
'fetchBorrowRate': False,
|
81
|
+
'fetchBorrowRateHistories': False,
|
82
|
+
'fetchBorrowRateHistory': False,
|
83
|
+
'fetchBorrowRates': False,
|
84
|
+
'fetchBorrowRatesPerSymbol': False,
|
72
85
|
'fetchClosedOrders': True,
|
86
|
+
'fetchCrossBorrowRate': False,
|
87
|
+
'fetchCrossBorrowRates': False,
|
73
88
|
'fetchCurrencies': False,
|
74
89
|
'fetchDepositAddress': True,
|
75
90
|
'fetchDepositAddressesByNetwork': False,
|
76
91
|
'fetchDeposits': True,
|
77
92
|
'fetchDepositsWithdrawals': True,
|
78
93
|
'fetchFundingHistory': False,
|
94
|
+
'fetchFundingInterval': False,
|
95
|
+
'fetchFundingIntervals': False,
|
79
96
|
'fetchFundingRate': False,
|
80
97
|
'fetchFundingRateHistory': False,
|
81
98
|
'fetchFundingRates': False,
|
99
|
+
'fetchGreeks': False,
|
100
|
+
'fetchIndexOHLCV': False,
|
101
|
+
'fetchIsolatedBorrowRate': False,
|
102
|
+
'fetchIsolatedBorrowRates': False,
|
103
|
+
'fetchIsolatedPositions': False,
|
82
104
|
'fetchL1OrderBook': True,
|
83
105
|
'fetchL2OrderBook': False,
|
106
|
+
'fetchLeverage': False,
|
107
|
+
'fetchLeverages': False,
|
108
|
+
'fetchLeverageTiers': False,
|
109
|
+
'fetchLiquidations': False,
|
110
|
+
'fetchLongShortRatio': False,
|
111
|
+
'fetchLongShortRatioHistory': False,
|
112
|
+
'fetchMarginAdjustmentHistory': False,
|
113
|
+
'fetchMarginMode': False,
|
114
|
+
'fetchMarginModes': False,
|
115
|
+
'fetchMarketLeverageTiers': False,
|
84
116
|
'fetchMarkets': True,
|
117
|
+
'fetchMarkOHLCV': False,
|
118
|
+
'fetchMarkPrices': False,
|
119
|
+
'fetchMyLiquidations': False,
|
120
|
+
'fetchMySettlementHistory': False,
|
85
121
|
'fetchMyTrades': True,
|
86
122
|
'fetchOHLCV': True,
|
123
|
+
'fetchOpenInterest': False,
|
124
|
+
'fetchOpenInterestHistory': False,
|
125
|
+
'fetchOpenInterests': False,
|
87
126
|
'fetchOpenOrder': False,
|
88
127
|
'fetchOpenOrders': True,
|
89
128
|
'fetchOrder': True,
|
@@ -96,6 +135,8 @@ class alpaca(Exchange, ImplicitAPI):
|
|
96
135
|
'fetchPositionsForSymbol': False,
|
97
136
|
'fetchPositionsHistory': False,
|
98
137
|
'fetchPositionsRisk': False,
|
138
|
+
'fetchPremiumIndexOHLCV': False,
|
139
|
+
'fetchSettlementHistory': False,
|
99
140
|
'fetchStatus': False,
|
100
141
|
'fetchTicker': True,
|
101
142
|
'fetchTickers': True,
|
@@ -107,9 +148,14 @@ class alpaca(Exchange, ImplicitAPI):
|
|
107
148
|
'fetchTransactions': False,
|
108
149
|
'fetchTransfers': False,
|
109
150
|
'fetchWithdrawals': True,
|
151
|
+
'reduceMargin': False,
|
152
|
+
'repayCrossMargin': False,
|
153
|
+
'repayIsolatedMargin': False,
|
110
154
|
'sandbox': True,
|
111
155
|
'setLeverage': False,
|
156
|
+
'setMargin': False,
|
112
157
|
'setMarginMode': False,
|
158
|
+
'setPositionMode': False,
|
113
159
|
'transfer': False,
|
114
160
|
'withdraw': True,
|
115
161
|
},
|
ccxt/async_support/ascendex.py
CHANGED
@@ -557,7 +557,7 @@ class ascendex(Exchange, ImplicitAPI):
|
|
557
557
|
ids = list(dataById.keys())
|
558
558
|
result: dict = {}
|
559
559
|
for i in range(0, len(ids)):
|
560
|
-
id = ids
|
560
|
+
id = self.safe_string(ids, i)
|
561
561
|
currency = dataById[id]
|
562
562
|
code = self.safe_currency_code(id)
|
563
563
|
scale = self.safe_string_2(currency, 'precisionScale', 'nativeScale')
|
ccxt/async_support/binance.py
CHANGED
@@ -1318,12 +1318,13 @@ class binance(Exchange, ImplicitAPI):
|
|
1318
1318
|
},
|
1319
1319
|
'quoteOrderQty': True, # whether market orders support amounts in quote currency
|
1320
1320
|
'broker': {
|
1321
|
-
'spot': 'x-
|
1322
|
-
'margin': 'x-
|
1323
|
-
'future': 'x-
|
1321
|
+
'spot': 'x-TKT5PX2F',
|
1322
|
+
'margin': 'x-TKT5PX2F',
|
1323
|
+
'future': 'x-cvBPrNm9',
|
1324
1324
|
'delivery': 'x-xcKtGhcu',
|
1325
|
-
'swap': 'x-
|
1325
|
+
'swap': 'x-cvBPrNm9',
|
1326
1326
|
'option': 'x-xcKtGhcu',
|
1327
|
+
'inverse': 'x-xcKtGhcu',
|
1327
1328
|
},
|
1328
1329
|
'accountsByType': {
|
1329
1330
|
'main': 'MAIN',
|
@@ -5162,7 +5163,7 @@ class binance(Exchange, ImplicitAPI):
|
|
5162
5163
|
# "symbol": "BTCUSDT",
|
5163
5164
|
# "orderId": 16383176297,
|
5164
5165
|
# "orderListId": -1,
|
5165
|
-
# "clientOrderId": "x-
|
5166
|
+
# "clientOrderId": "x-TKT5PX2F22ecb58eb9074fb1be018c",
|
5166
5167
|
# "transactTime": 1670891847932,
|
5167
5168
|
# "price": "13500.00000000",
|
5168
5169
|
# "origQty": "0.00085000",
|
@@ -5518,7 +5519,7 @@ class binance(Exchange, ImplicitAPI):
|
|
5518
5519
|
# "symbol": "BTCUSDT",
|
5519
5520
|
# "orderId": 16383176297,
|
5520
5521
|
# "orderListId": -1,
|
5521
|
-
# "clientOrderId": "x-
|
5522
|
+
# "clientOrderId": "x-TKT5PX2F22ecb58eb9074fb1be018c",
|
5522
5523
|
# "transactTime": 1670891847932,
|
5523
5524
|
# "price": "13500.00000000",
|
5524
5525
|
# "origQty": "0.00085000",
|
@@ -5581,7 +5582,7 @@ class binance(Exchange, ImplicitAPI):
|
|
5581
5582
|
# "symbol": "BTCUSDT",
|
5582
5583
|
# "orderId": 5403233939,
|
5583
5584
|
# "orderListId": -1,
|
5584
|
-
# "clientOrderId": "x-
|
5585
|
+
# "clientOrderId": "x-TKT5PX2F5e669e75b6c14f69a2c43e",
|
5585
5586
|
# "transactTime": 1617151923742,
|
5586
5587
|
# "price": "0.00000000",
|
5587
5588
|
# "origQty": "0.00050000",
|
@@ -5756,7 +5757,7 @@ class binance(Exchange, ImplicitAPI):
|
|
5756
5757
|
# createOrder, cancelAllOrders, cancelOrder: portfolio margin spot margin
|
5757
5758
|
#
|
5758
5759
|
# {
|
5759
|
-
# "clientOrderId": "x-
|
5760
|
+
# "clientOrderId": "x-TKT5PX2Fe9ef29d8346440f0b28b86",
|
5760
5761
|
# "cummulativeQuoteQty": "0.00000000",
|
5761
5762
|
# "executedQty": "0.00000000",
|
5762
5763
|
# "fills": [],
|
@@ -5777,7 +5778,7 @@ class binance(Exchange, ImplicitAPI):
|
|
5777
5778
|
# {
|
5778
5779
|
# "symbol": "BTCUSDT",
|
5779
5780
|
# "orderId": 24700763749,
|
5780
|
-
# "clientOrderId": "x-
|
5781
|
+
# "clientOrderId": "x-TKT5PX2F6f724c2a4af6425f98c7b6",
|
5781
5782
|
# "price": "35000.00000000",
|
5782
5783
|
# "origQty": "0.00100000",
|
5783
5784
|
# "executedQty": "0.00000000",
|
@@ -6316,8 +6317,11 @@ class binance(Exchange, ImplicitAPI):
|
|
6316
6317
|
clientOrderIdRequest = 'newClientStrategyId' if isPortfolioMarginConditional else 'newClientOrderId'
|
6317
6318
|
if clientOrderId is None:
|
6318
6319
|
broker = self.safe_dict(self.options, 'broker', {})
|
6319
|
-
defaultId = 'x-xcKtGhcu' if (market['contract']) else 'x-
|
6320
|
-
|
6320
|
+
defaultId = 'x-xcKtGhcu' if (market['contract']) else 'x-TKT5PX2F'
|
6321
|
+
idMarketType = 'spot'
|
6322
|
+
if market['contract']:
|
6323
|
+
idMarketType = 'swap' if (market['swap'] and market['linear']) else 'inverse'
|
6324
|
+
brokerId = self.safe_string(broker, idMarketType, defaultId)
|
6321
6325
|
request[clientOrderIdRequest] = brokerId + self.uuid22()
|
6322
6326
|
else:
|
6323
6327
|
request[clientOrderIdRequest] = clientOrderId
|
@@ -6836,7 +6840,7 @@ class binance(Exchange, ImplicitAPI):
|
|
6836
6840
|
# {
|
6837
6841
|
# "symbol": "BTCUSDT",
|
6838
6842
|
# "orderId": 24684460474,
|
6839
|
-
# "clientOrderId": "x-
|
6843
|
+
# "clientOrderId": "x-TKT5PX2Fe9ef29d8346440f0b28b86",
|
6840
6844
|
# "price": "35000.00000000",
|
6841
6845
|
# "origQty": "0.00100000",
|
6842
6846
|
# "executedQty": "0.00000000",
|
@@ -7449,7 +7453,7 @@ class binance(Exchange, ImplicitAPI):
|
|
7449
7453
|
# [
|
7450
7454
|
# {
|
7451
7455
|
# "symbol": "ADAUSDT",
|
7452
|
-
# "origClientOrderId": "x-
|
7456
|
+
# "origClientOrderId": "x-TKT5PX2F662cde7a90114475b86e21",
|
7453
7457
|
# "orderId": 3935107,
|
7454
7458
|
# "orderListId": -1,
|
7455
7459
|
# "clientOrderId": "bqM2w1oTlugfRAjnTIFBE8",
|
@@ -11324,7 +11328,7 @@ class binance(Exchange, ImplicitAPI):
|
|
11324
11328
|
if newClientOrderId is None:
|
11325
11329
|
isSpotOrMargin = (api.find('sapi') > -1 or api == 'private')
|
11326
11330
|
marketType = 'spot' if isSpotOrMargin else 'future'
|
11327
|
-
defaultId = 'x-xcKtGhcu' if (not isSpotOrMargin) else 'x-
|
11331
|
+
defaultId = 'x-xcKtGhcu' if (not isSpotOrMargin) else 'x-TKT5PX2F'
|
11328
11332
|
broker = self.safe_dict(self.options, 'broker', {})
|
11329
11333
|
brokerId = self.safe_string(broker, marketType, defaultId)
|
11330
11334
|
params['newClientOrderId'] = brokerId + self.uuid22()
|
ccxt/async_support/bit2c.py
CHANGED
@@ -62,23 +62,34 @@ class bit2c(Exchange, ImplicitAPI):
|
|
62
62
|
'fetchMarginMode': False,
|
63
63
|
'fetchMarkOHLCV': False,
|
64
64
|
'fetchMyTrades': True,
|
65
|
+
'fetchOpenInterest': False,
|
65
66
|
'fetchOpenInterestHistory': False,
|
67
|
+
'fetchOpenInterests': False,
|
66
68
|
'fetchOpenOrders': True,
|
67
69
|
'fetchOrder': True,
|
68
70
|
'fetchOrderBook': True,
|
69
71
|
'fetchPosition': False,
|
72
|
+
'fetchPositionHistory': False,
|
70
73
|
'fetchPositionMode': False,
|
71
74
|
'fetchPositions': False,
|
75
|
+
'fetchPositionsForSymbol': False,
|
76
|
+
'fetchPositionsHistory': False,
|
72
77
|
'fetchPositionsRisk': False,
|
73
78
|
'fetchPremiumIndexOHLCV': False,
|
79
|
+
'fetchSettlementHistory': False,
|
74
80
|
'fetchTicker': True,
|
75
81
|
'fetchTrades': True,
|
76
82
|
'fetchTradingFee': False,
|
77
83
|
'fetchTradingFees': True,
|
78
84
|
'fetchTransfer': False,
|
79
85
|
'fetchTransfers': False,
|
86
|
+
'fetchUnderlyingAssets': False,
|
80
87
|
'reduceMargin': False,
|
88
|
+
'repayCrossMargin': False,
|
89
|
+
'repayIsolatedMargin': False,
|
90
|
+
'repayMargin': False,
|
81
91
|
'setLeverage': False,
|
92
|
+
'setMargin': False,
|
82
93
|
'setMarginMode': False,
|
83
94
|
'setPositionMode': False,
|
84
95
|
'transfer': False,
|
ccxt/async_support/bitget.py
CHANGED
@@ -1918,7 +1918,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
1918
1918
|
priceDecimals = self.safe_integer(market, 'pricePlace')
|
1919
1919
|
amountDecimals = self.safe_integer(market, 'volumePlace')
|
1920
1920
|
priceStep = self.safe_string(market, 'priceEndStep')
|
1921
|
-
amountStep = self.safe_string(market, '
|
1921
|
+
amountStep = self.safe_string(market, 'sizeMultiplier')
|
1922
1922
|
precise = Precise(priceStep)
|
1923
1923
|
precise.decimals = max(precise.decimals, priceDecimals)
|
1924
1924
|
precise.reduce()
|
@@ -2417,16 +2417,17 @@ class bitget(Exchange, ImplicitAPI):
|
|
2417
2417
|
paginate, params = self.handle_option_and_params(params, 'fetchWithdrawals', 'paginate')
|
2418
2418
|
if paginate:
|
2419
2419
|
return await self.fetch_paginated_call_cursor('fetchWithdrawals', None, since, limit, params, 'idLessThan', 'idLessThan', None, 100)
|
2420
|
-
|
2421
|
-
|
2422
|
-
|
2420
|
+
currency = None
|
2421
|
+
if code is not None:
|
2422
|
+
currency = self.currency(code)
|
2423
2423
|
if since is None:
|
2424
2424
|
since = self.milliseconds() - 7776000000 # 90 days
|
2425
2425
|
request: dict = {
|
2426
|
-
'coin': currency['id'],
|
2427
2426
|
'startTime': since,
|
2428
2427
|
'endTime': self.milliseconds(),
|
2429
2428
|
}
|
2429
|
+
if currency is not None:
|
2430
|
+
request['coin'] = currency['id']
|
2430
2431
|
request, params = self.handle_until_option('endTime', request, params)
|
2431
2432
|
if limit is not None:
|
2432
2433
|
request['limit'] = limit
|
ccxt/async_support/bitrue.py
CHANGED
@@ -1230,7 +1230,7 @@ class bitrue(Exchange, ImplicitAPI):
|
|
1230
1230
|
# "time": 1699338305000
|
1231
1231
|
# }
|
1232
1232
|
#
|
1233
|
-
timestamp = self.
|
1233
|
+
timestamp = self.safe_integer_2(response, 'time', 'lastUpdateId')
|
1234
1234
|
orderbook = self.parse_order_book(response, symbol, timestamp)
|
1235
1235
|
orderbook['nonce'] = self.safe_integer(response, 'lastUpdateId')
|
1236
1236
|
return orderbook
|