ccxt 4.4.93__py2.py3-none-any.whl → 4.4.95__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 -1
- ccxt/abstract/bingx.py +3 -0
- ccxt/abstract/hyperliquid.py +1 -1
- ccxt/abstract/woo.py +59 -4
- ccxt/async_support/__init__.py +1 -1
- ccxt/async_support/base/exchange.py +1 -1
- ccxt/async_support/base/ws/future.py +2 -0
- ccxt/async_support/bingx.py +129 -92
- ccxt/async_support/bitget.py +1 -1
- ccxt/async_support/bitstamp.py +2 -0
- ccxt/async_support/blofin.py +6 -1
- ccxt/async_support/bybit.py +3 -3
- ccxt/async_support/coinbase.py +40 -1
- ccxt/async_support/coinmate.py +34 -0
- ccxt/async_support/coinmetro.py +15 -3
- ccxt/async_support/coinone.py +34 -0
- ccxt/async_support/coinsph.py +29 -0
- ccxt/async_support/gate.py +1 -1
- ccxt/async_support/htx.py +5 -1
- ccxt/async_support/hyperliquid.py +126 -33
- ccxt/async_support/okx.py +10 -3
- ccxt/async_support/wavesexchange.py +12 -2
- ccxt/async_support/woo.py +1251 -875
- ccxt/base/errors.py +0 -6
- ccxt/base/exchange.py +44 -22
- ccxt/bingx.py +129 -92
- ccxt/bitget.py +1 -1
- ccxt/bitstamp.py +2 -0
- ccxt/blofin.py +6 -1
- ccxt/bybit.py +3 -3
- ccxt/coinbase.py +40 -1
- ccxt/coinmate.py +34 -0
- ccxt/coinmetro.py +14 -3
- ccxt/coinone.py +34 -0
- ccxt/coinsph.py +29 -0
- ccxt/gate.py +1 -1
- ccxt/htx.py +5 -1
- ccxt/hyperliquid.py +126 -33
- ccxt/okx.py +10 -3
- ccxt/pro/__init__.py +1 -1
- ccxt/pro/hyperliquid.py +6 -6
- ccxt/pro/kraken.py +17 -16
- ccxt/pro/mexc.py +10 -10
- ccxt/test/tests_async.py +19 -17
- ccxt/test/tests_sync.py +19 -17
- ccxt/wavesexchange.py +12 -2
- ccxt/woo.py +1251 -875
- {ccxt-4.4.93.dist-info → ccxt-4.4.95.dist-info}/METADATA +4 -4
- {ccxt-4.4.93.dist-info → ccxt-4.4.95.dist-info}/RECORD +52 -52
- {ccxt-4.4.93.dist-info → ccxt-4.4.95.dist-info}/LICENSE.txt +0 -0
- {ccxt-4.4.93.dist-info → ccxt-4.4.95.dist-info}/WHEEL +0 -0
- {ccxt-4.4.93.dist-info → ccxt-4.4.95.dist-info}/top_level.txt +0 -0
ccxt/coinbase.py
CHANGED
@@ -13,6 +13,7 @@ from ccxt.base.errors import AuthenticationError
|
|
13
13
|
from ccxt.base.errors import PermissionDenied
|
14
14
|
from ccxt.base.errors import ArgumentsRequired
|
15
15
|
from ccxt.base.errors import BadRequest
|
16
|
+
from ccxt.base.errors import InsufficientFunds
|
16
17
|
from ccxt.base.errors import InvalidOrder
|
17
18
|
from ccxt.base.errors import OrderNotFound
|
18
19
|
from ccxt.base.errors import NotSupported
|
@@ -50,6 +51,9 @@ class coinbase(Exchange, ImplicitAPI):
|
|
50
51
|
'future': False,
|
51
52
|
'option': False,
|
52
53
|
'addMargin': False,
|
54
|
+
'borrowCrossMargin': False,
|
55
|
+
'borrowIsolatedMargin': False,
|
56
|
+
'borrowMargin': False,
|
53
57
|
'cancelOrder': True,
|
54
58
|
'cancelOrders': True,
|
55
59
|
'closeAllPositions': False,
|
@@ -64,6 +68,8 @@ class coinbase(Exchange, ImplicitAPI):
|
|
64
68
|
'createMarketSellOrder': True,
|
65
69
|
'createMarketSellOrderWithCost': False,
|
66
70
|
'createOrder': True,
|
71
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
72
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
67
73
|
'createPostOnlyOrder': True,
|
68
74
|
'createReduceOnlyOrder': False,
|
69
75
|
'createStopLimitOrder': True,
|
@@ -74,8 +80,12 @@ class coinbase(Exchange, ImplicitAPI):
|
|
74
80
|
'fetchAccounts': True,
|
75
81
|
'fetchBalance': True,
|
76
82
|
'fetchBidsAsks': True,
|
83
|
+
'fetchBorrowInterest': False,
|
84
|
+
'fetchBorrowRate': False,
|
77
85
|
'fetchBorrowRateHistories': False,
|
78
86
|
'fetchBorrowRateHistory': False,
|
87
|
+
'fetchBorrowRates': False,
|
88
|
+
'fetchBorrowRatesPerSymbol': False,
|
79
89
|
'fetchCanceledOrders': True,
|
80
90
|
'fetchClosedOrders': True,
|
81
91
|
'fetchConvertQuote': True,
|
@@ -93,42 +103,69 @@ class coinbase(Exchange, ImplicitAPI):
|
|
93
103
|
'fetchDeposits': True,
|
94
104
|
'fetchDepositsWithdrawals': True,
|
95
105
|
'fetchFundingHistory': False,
|
106
|
+
'fetchFundingInterval': False,
|
107
|
+
'fetchFundingIntervals': False,
|
96
108
|
'fetchFundingRate': False,
|
97
109
|
'fetchFundingRateHistory': False,
|
98
110
|
'fetchFundingRates': False,
|
111
|
+
'fetchGreeks': False,
|
99
112
|
'fetchIndexOHLCV': False,
|
100
113
|
'fetchIsolatedBorrowRate': False,
|
101
114
|
'fetchIsolatedBorrowRates': False,
|
115
|
+
'fetchIsolatedPositions': False,
|
102
116
|
'fetchL2OrderBook': False,
|
103
117
|
'fetchLedger': True,
|
104
118
|
'fetchLeverage': False,
|
119
|
+
'fetchLeverages': False,
|
105
120
|
'fetchLeverageTiers': False,
|
121
|
+
'fetchLiquidations': False,
|
122
|
+
'fetchLongShortRatio': False,
|
123
|
+
'fetchLongShortRatioHistory': False,
|
124
|
+
'fetchMarginAdjustmentHistory': False,
|
106
125
|
'fetchMarginMode': False,
|
126
|
+
'fetchMarginModes': False,
|
127
|
+
'fetchMarketLeverageTiers': False,
|
107
128
|
'fetchMarkets': True,
|
108
129
|
'fetchMarkOHLCV': False,
|
130
|
+
'fetchMarkPrices': False,
|
109
131
|
'fetchMyBuys': True,
|
132
|
+
'fetchMyLiquidations': False,
|
110
133
|
'fetchMySells': True,
|
134
|
+
'fetchMySettlementHistory': False,
|
111
135
|
'fetchMyTrades': True,
|
112
136
|
'fetchOHLCV': True,
|
137
|
+
'fetchOpenInterest': False,
|
113
138
|
'fetchOpenInterestHistory': False,
|
139
|
+
'fetchOpenInterests': False,
|
114
140
|
'fetchOpenOrders': True,
|
141
|
+
'fetchOption': False,
|
142
|
+
'fetchOptionChain': False,
|
115
143
|
'fetchOrder': True,
|
116
144
|
'fetchOrderBook': True,
|
117
145
|
'fetchOrders': True,
|
118
146
|
'fetchPosition': True,
|
147
|
+
'fetchPositionHistory': False,
|
119
148
|
'fetchPositionMode': False,
|
120
149
|
'fetchPositions': True,
|
150
|
+
'fetchPositionsForSymbol': False,
|
151
|
+
'fetchPositionsHistory': False,
|
121
152
|
'fetchPositionsRisk': False,
|
122
153
|
'fetchPremiumIndexOHLCV': False,
|
154
|
+
'fetchSettlementHistory': False,
|
123
155
|
'fetchTicker': True,
|
124
156
|
'fetchTickers': True,
|
125
157
|
'fetchTime': True,
|
126
158
|
'fetchTrades': True,
|
127
159
|
'fetchTradingFee': 'emulated',
|
128
160
|
'fetchTradingFees': True,
|
161
|
+
'fetchVolatilityHistory': False,
|
129
162
|
'fetchWithdrawals': True,
|
130
163
|
'reduceMargin': False,
|
164
|
+
'repayCrossMargin': False,
|
165
|
+
'repayIsolatedMargin': False,
|
166
|
+
'repayMargin': False,
|
131
167
|
'setLeverage': False,
|
168
|
+
'setMargin': False,
|
132
169
|
'setMarginMode': False,
|
133
170
|
'setPositionMode': False,
|
134
171
|
'withdraw': True,
|
@@ -332,12 +369,14 @@ class coinbase(Exchange, ImplicitAPI):
|
|
332
369
|
'rate_limit_exceeded': RateLimitExceeded, # 429 Rate limit exceeded
|
333
370
|
'internal_server_error': ExchangeError, # 500 Internal server error
|
334
371
|
'UNSUPPORTED_ORDER_CONFIGURATION': BadRequest,
|
335
|
-
'INSUFFICIENT_FUND':
|
372
|
+
'INSUFFICIENT_FUND': InsufficientFunds,
|
336
373
|
'PERMISSION_DENIED': PermissionDenied,
|
337
374
|
'INVALID_ARGUMENT': BadRequest,
|
338
375
|
'PREVIEW_STOP_PRICE_ABOVE_LAST_TRADE_PRICE': InvalidOrder,
|
376
|
+
'PREVIEW_INSUFFICIENT_FUND': InsufficientFunds,
|
339
377
|
},
|
340
378
|
'broad': {
|
379
|
+
'Insufficient balance in source account': InsufficientFunds,
|
341
380
|
'request timestamp expired': InvalidNonce, # {"errors":[{"id":"authentication_error","message":"request timestamp expired"}]}
|
342
381
|
'order with self orderID was not found': OrderNotFound, # {"error":"unknown","error_details":"order with self orderID was not found","message":"order with self orderID was not found"}
|
343
382
|
},
|
ccxt/coinmate.py
CHANGED
@@ -35,32 +35,60 @@ class coinmate(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
|
'cancelOrder': True,
|
39
42
|
'closeAllPositions': False,
|
40
43
|
'closePosition': False,
|
41
44
|
'createOrder': True,
|
45
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
46
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
47
|
+
'createPostOnlyOrder': False,
|
42
48
|
'createReduceOnlyOrder': False,
|
43
49
|
'fetchBalance': True,
|
50
|
+
'fetchBorrowInterest': False,
|
51
|
+
'fetchBorrowRate': False,
|
44
52
|
'fetchBorrowRateHistories': False,
|
45
53
|
'fetchBorrowRateHistory': False,
|
54
|
+
'fetchBorrowRates': False,
|
55
|
+
'fetchBorrowRatesPerSymbol': False,
|
46
56
|
'fetchCrossBorrowRate': False,
|
47
57
|
'fetchCrossBorrowRates': False,
|
48
58
|
'fetchDepositsWithdrawals': True,
|
49
59
|
'fetchFundingHistory': False,
|
60
|
+
'fetchFundingInterval': False,
|
61
|
+
'fetchFundingIntervals': False,
|
50
62
|
'fetchFundingRate': False,
|
51
63
|
'fetchFundingRateHistory': False,
|
52
64
|
'fetchFundingRates': False,
|
65
|
+
'fetchGreeks': False,
|
53
66
|
'fetchIndexOHLCV': False,
|
54
67
|
'fetchIsolatedBorrowRate': False,
|
55
68
|
'fetchIsolatedBorrowRates': False,
|
69
|
+
'fetchIsolatedPositions': False,
|
56
70
|
'fetchLeverage': False,
|
71
|
+
'fetchLeverages': False,
|
57
72
|
'fetchLeverageTiers': False,
|
73
|
+
'fetchLiquidations': False,
|
74
|
+
'fetchLongShortRatio': False,
|
75
|
+
'fetchLongShortRatioHistory': False,
|
76
|
+
'fetchMarginAdjustmentHistory': False,
|
58
77
|
'fetchMarginMode': False,
|
78
|
+
'fetchMarginModes': False,
|
79
|
+
'fetchMarketLeverageTiers': False,
|
59
80
|
'fetchMarkets': True,
|
60
81
|
'fetchMarkOHLCV': False,
|
82
|
+
'fetchMarkPrices': False,
|
83
|
+
'fetchMyLiquidations': False,
|
84
|
+
'fetchMySettlementHistory': False,
|
61
85
|
'fetchMyTrades': True,
|
86
|
+
'fetchOpenInterest': False,
|
62
87
|
'fetchOpenInterestHistory': False,
|
88
|
+
'fetchOpenInterests': False,
|
63
89
|
'fetchOpenOrders': True,
|
90
|
+
'fetchOption': False,
|
91
|
+
'fetchOptionChain': False,
|
64
92
|
'fetchOrder': True,
|
65
93
|
'fetchOrderBook': True,
|
66
94
|
'fetchOrders': True,
|
@@ -72,14 +100,20 @@ class coinmate(Exchange, ImplicitAPI):
|
|
72
100
|
'fetchPositionsHistory': False,
|
73
101
|
'fetchPositionsRisk': False,
|
74
102
|
'fetchPremiumIndexOHLCV': False,
|
103
|
+
'fetchSettlementHistory': False,
|
75
104
|
'fetchTicker': True,
|
76
105
|
'fetchTickers': True,
|
77
106
|
'fetchTrades': True,
|
78
107
|
'fetchTradingFee': True,
|
79
108
|
'fetchTradingFees': False,
|
80
109
|
'fetchTransactions': 'emulated',
|
110
|
+
'fetchVolatilityHistory': False,
|
81
111
|
'reduceMargin': False,
|
112
|
+
'repayCrossMargin': False,
|
113
|
+
'repayIsolatedMargin': False,
|
114
|
+
'repayMargin': False,
|
82
115
|
'setLeverage': False,
|
116
|
+
'setMargin': False,
|
83
117
|
'setMarginMode': False,
|
84
118
|
'setPositionMode': False,
|
85
119
|
'transfer': False,
|
ccxt/coinmetro.py
CHANGED
@@ -220,6 +220,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
220
220
|
'options': {
|
221
221
|
'currenciesByIdForParseMarket': None,
|
222
222
|
'currencyIdsListForParseMarket': ['QRDO'],
|
223
|
+
'skippedMarkets': ['VXVUSDT'], # broken markets which do not have enough info in API
|
223
224
|
},
|
224
225
|
'features': {
|
225
226
|
'spot': {
|
@@ -439,9 +440,12 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
439
440
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
440
441
|
:returns dict[]: an array of objects representing market data
|
441
442
|
"""
|
442
|
-
|
443
|
+
promises = []
|
444
|
+
promises.append(self.publicGetMarkets(params))
|
443
445
|
if self.safe_value(self.options, 'currenciesByIdForParseMarket') is None:
|
444
|
-
self.fetch_currencies()
|
446
|
+
promises.append(self.fetch_currencies())
|
447
|
+
responses = promises
|
448
|
+
response = responses[0]
|
445
449
|
#
|
446
450
|
# [
|
447
451
|
# {
|
@@ -457,7 +461,14 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
457
461
|
# ...
|
458
462
|
# ]
|
459
463
|
#
|
460
|
-
|
464
|
+
skippedMarkets = self.safe_list(self.options, 'skippedMarkets', [])
|
465
|
+
result = []
|
466
|
+
for i in range(0, len(response)):
|
467
|
+
market = self.parse_market(response[i])
|
468
|
+
if self.in_array(market['id'], skippedMarkets):
|
469
|
+
continue
|
470
|
+
result.append(market)
|
471
|
+
return result
|
461
472
|
|
462
473
|
def parse_market(self, market: dict) -> Market:
|
463
474
|
id = self.safe_string(market, 'pair')
|
ccxt/coinone.py
CHANGED
@@ -36,18 +36,28 @@ class coinone(Exchange, ImplicitAPI):
|
|
36
36
|
'future': False,
|
37
37
|
'option': False,
|
38
38
|
'addMargin': False,
|
39
|
+
'borrowCrossMargin': False,
|
40
|
+
'borrowIsolatedMargin': False,
|
41
|
+
'borrowMargin': False,
|
39
42
|
'cancelOrder': True,
|
40
43
|
'closeAllPositions': False,
|
41
44
|
'closePosition': False,
|
42
45
|
'createMarketOrder': False,
|
43
46
|
'createOrder': True,
|
47
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
48
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
49
|
+
'createPostOnlyOrder': False,
|
44
50
|
'createReduceOnlyOrder': False,
|
45
51
|
'createStopLimitOrder': False,
|
46
52
|
'createStopMarketOrder': False,
|
47
53
|
'createStopOrder': False,
|
48
54
|
'fetchBalance': True,
|
55
|
+
'fetchBorrowInterest': False,
|
56
|
+
'fetchBorrowRate': False,
|
49
57
|
'fetchBorrowRateHistories': False,
|
50
58
|
'fetchBorrowRateHistory': False,
|
59
|
+
'fetchBorrowRates': False,
|
60
|
+
'fetchBorrowRatesPerSymbol': False,
|
51
61
|
'fetchClosedOrders': False, # the endpoint that should return closed orders actually returns trades, https://github.com/ccxt/ccxt/pull/7067
|
52
62
|
'fetchCrossBorrowRate': False,
|
53
63
|
'fetchCrossBorrowRates': False,
|
@@ -56,20 +66,38 @@ class coinone(Exchange, ImplicitAPI):
|
|
56
66
|
'fetchDepositAddresses': True,
|
57
67
|
'fetchDepositAddressesByNetwork': False,
|
58
68
|
'fetchFundingHistory': False,
|
69
|
+
'fetchFundingInterval': False,
|
70
|
+
'fetchFundingIntervals': False,
|
59
71
|
'fetchFundingRate': False,
|
60
72
|
'fetchFundingRateHistory': False,
|
61
73
|
'fetchFundingRates': False,
|
74
|
+
'fetchGreeks': False,
|
62
75
|
'fetchIndexOHLCV': False,
|
63
76
|
'fetchIsolatedBorrowRate': False,
|
64
77
|
'fetchIsolatedBorrowRates': False,
|
78
|
+
'fetchIsolatedPositions': False,
|
65
79
|
'fetchLeverage': False,
|
80
|
+
'fetchLeverages': False,
|
66
81
|
'fetchLeverageTiers': False,
|
82
|
+
'fetchLiquidations': False,
|
83
|
+
'fetchLongShortRatio': False,
|
84
|
+
'fetchLongShortRatioHistory': False,
|
85
|
+
'fetchMarginAdjustmentHistory': False,
|
67
86
|
'fetchMarginMode': False,
|
87
|
+
'fetchMarginModes': False,
|
88
|
+
'fetchMarketLeverageTiers': False,
|
68
89
|
'fetchMarkets': True,
|
69
90
|
'fetchMarkOHLCV': False,
|
91
|
+
'fetchMarkPrices': False,
|
92
|
+
'fetchMyLiquidations': False,
|
93
|
+
'fetchMySettlementHistory': False,
|
70
94
|
'fetchMyTrades': True,
|
95
|
+
'fetchOpenInterest': False,
|
71
96
|
'fetchOpenInterestHistory': False,
|
97
|
+
'fetchOpenInterests': False,
|
72
98
|
'fetchOpenOrders': True,
|
99
|
+
'fetchOption': False,
|
100
|
+
'fetchOptionChain': False,
|
73
101
|
'fetchOrder': True,
|
74
102
|
'fetchOrderBook': True,
|
75
103
|
'fetchPosition': False,
|
@@ -80,11 +108,17 @@ class coinone(Exchange, ImplicitAPI):
|
|
80
108
|
'fetchPositionsHistory': False,
|
81
109
|
'fetchPositionsRisk': False,
|
82
110
|
'fetchPremiumIndexOHLCV': False,
|
111
|
+
'fetchSettlementHistory': False,
|
83
112
|
'fetchTicker': True,
|
84
113
|
'fetchTickers': True,
|
85
114
|
'fetchTrades': True,
|
115
|
+
'fetchVolatilityHistory': False,
|
86
116
|
'reduceMargin': False,
|
117
|
+
'repayCrossMargin': False,
|
118
|
+
'repayIsolatedMargin': False,
|
119
|
+
'repayMargin': False,
|
87
120
|
'setLeverage': False,
|
121
|
+
'setMargin': False,
|
88
122
|
'setMarginMode': False,
|
89
123
|
'setPositionMode': False,
|
90
124
|
'ws': True,
|
ccxt/coinsph.py
CHANGED
@@ -47,6 +47,9 @@ class coinsph(Exchange, ImplicitAPI):
|
|
47
47
|
'future': False,
|
48
48
|
'option': False,
|
49
49
|
'addMargin': False,
|
50
|
+
'borrowCrossMargin': False,
|
51
|
+
'borrowIsolatedMargin': False,
|
52
|
+
'borrowMargin': False,
|
50
53
|
'cancelAllOrders': True,
|
51
54
|
'cancelOrder': True,
|
52
55
|
'cancelOrders': False,
|
@@ -57,6 +60,8 @@ class coinsph(Exchange, ImplicitAPI):
|
|
57
60
|
'createMarketOrderWithCost': False,
|
58
61
|
'createMarketSellOrderWithCost': False,
|
59
62
|
'createOrder': True,
|
63
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
64
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
60
65
|
'createPostOnlyOrder': False,
|
61
66
|
'createReduceOnlyOrder': False,
|
62
67
|
'createStopLimitOrder': True,
|
@@ -68,8 +73,11 @@ class coinsph(Exchange, ImplicitAPI):
|
|
68
73
|
'fetchBalance': True,
|
69
74
|
'fetchBidsAsks': False,
|
70
75
|
'fetchBorrowInterest': False,
|
76
|
+
'fetchBorrowRate': False,
|
71
77
|
'fetchBorrowRateHistories': False,
|
72
78
|
'fetchBorrowRateHistory': False,
|
79
|
+
'fetchBorrowRates': False,
|
80
|
+
'fetchBorrowRatesPerSymbol': False,
|
73
81
|
'fetchCanceledOrders': False,
|
74
82
|
'fetchClosedOrder': False,
|
75
83
|
'fetchClosedOrders': True,
|
@@ -84,24 +92,42 @@ class coinsph(Exchange, ImplicitAPI):
|
|
84
92
|
'fetchDepositWithdrawFee': False,
|
85
93
|
'fetchDepositWithdrawFees': False,
|
86
94
|
'fetchFundingHistory': False,
|
95
|
+
'fetchFundingInterval': False,
|
96
|
+
'fetchFundingIntervals': False,
|
87
97
|
'fetchFundingRate': False,
|
88
98
|
'fetchFundingRateHistory': False,
|
89
99
|
'fetchFundingRates': False,
|
100
|
+
'fetchGreeks': False,
|
90
101
|
'fetchIndexOHLCV': False,
|
91
102
|
'fetchIsolatedBorrowRate': False,
|
92
103
|
'fetchIsolatedBorrowRates': False,
|
104
|
+
'fetchIsolatedPositions': False,
|
93
105
|
'fetchL3OrderBook': False,
|
94
106
|
'fetchLedger': False,
|
95
107
|
'fetchLeverage': False,
|
108
|
+
'fetchLeverages': False,
|
96
109
|
'fetchLeverageTiers': False,
|
110
|
+
'fetchLiquidations': False,
|
111
|
+
'fetchLongShortRatio': False,
|
112
|
+
'fetchLongShortRatioHistory': False,
|
113
|
+
'fetchMarginAdjustmentHistory': False,
|
114
|
+
'fetchMarginMode': False,
|
115
|
+
'fetchMarginModes': False,
|
97
116
|
'fetchMarketLeverageTiers': False,
|
98
117
|
'fetchMarkets': True,
|
99
118
|
'fetchMarkOHLCV': False,
|
119
|
+
'fetchMarkPrices': False,
|
120
|
+
'fetchMyLiquidations': False,
|
121
|
+
'fetchMySettlementHistory': False,
|
100
122
|
'fetchMyTrades': True,
|
101
123
|
'fetchOHLCV': True,
|
124
|
+
'fetchOpenInterest': False,
|
102
125
|
'fetchOpenInterestHistory': False,
|
126
|
+
'fetchOpenInterests': False,
|
103
127
|
'fetchOpenOrder': None,
|
104
128
|
'fetchOpenOrders': True,
|
129
|
+
'fetchOption': False,
|
130
|
+
'fetchOptionChain': False,
|
105
131
|
'fetchOrder': True,
|
106
132
|
'fetchOrderBook': True,
|
107
133
|
'fetchOrderBooks': False,
|
@@ -115,6 +141,7 @@ class coinsph(Exchange, ImplicitAPI):
|
|
115
141
|
'fetchPositionsHistory': False,
|
116
142
|
'fetchPositionsRisk': False,
|
117
143
|
'fetchPremiumIndexOHLCV': False,
|
144
|
+
'fetchSettlementHistory': False,
|
118
145
|
'fetchStatus': True,
|
119
146
|
'fetchTicker': True,
|
120
147
|
'fetchTickers': True,
|
@@ -127,12 +154,14 @@ class coinsph(Exchange, ImplicitAPI):
|
|
127
154
|
'fetchTransactionFees': False,
|
128
155
|
'fetchTransactions': False,
|
129
156
|
'fetchTransfers': False,
|
157
|
+
'fetchVolatilityHistory': False,
|
130
158
|
'fetchWithdrawal': None,
|
131
159
|
'fetchWithdrawals': True,
|
132
160
|
'fetchWithdrawalWhitelist': False,
|
133
161
|
'reduceMargin': False,
|
134
162
|
'repayCrossMargin': False,
|
135
163
|
'repayIsolatedMargin': False,
|
164
|
+
'repayMargin': False,
|
136
165
|
'setLeverage': False,
|
137
166
|
'setMargin': False,
|
138
167
|
'setMarginMode': False,
|
ccxt/gate.py
CHANGED
@@ -3754,7 +3754,7 @@ class gate(Exchange, ImplicitAPI):
|
|
3754
3754
|
start = self.parse_to_int(since / 1000)
|
3755
3755
|
request['from'] = start
|
3756
3756
|
request['to'] = self.sum(start, 30 * 24 * 60 * 60)
|
3757
|
-
request, params = self.handle_until_option('to', request, params)
|
3757
|
+
request, params = self.handle_until_option('to', request, params, 0.001)
|
3758
3758
|
response = self.privateWalletGetDeposits(self.extend(request, params))
|
3759
3759
|
return self.parse_transactions(response, currency)
|
3760
3760
|
|
ccxt/htx.py
CHANGED
@@ -6576,12 +6576,16 @@ class htx(Exchange, ImplicitAPI):
|
|
6576
6576
|
paginate = False
|
6577
6577
|
paginate, params = self.handle_option_and_params(params, 'fetchFundingRateHistory', 'paginate')
|
6578
6578
|
if paginate:
|
6579
|
-
return self.fetch_paginated_call_cursor('fetchFundingRateHistory', symbol, since, limit, params, '
|
6579
|
+
return self.fetch_paginated_call_cursor('fetchFundingRateHistory', symbol, since, limit, params, 'current_page', 'page_index', 1, 50)
|
6580
6580
|
self.load_markets()
|
6581
6581
|
market = self.market(symbol)
|
6582
6582
|
request: dict = {
|
6583
6583
|
'contract_code': market['id'],
|
6584
6584
|
}
|
6585
|
+
if limit is not None:
|
6586
|
+
request['page_size'] = limit
|
6587
|
+
else:
|
6588
|
+
request['page_size'] = 50 # max
|
6585
6589
|
response = None
|
6586
6590
|
if market['inverse']:
|
6587
6591
|
response = self.contractPublicGetSwapApiV1SwapHistoricalFundingRate(self.extend(request, params))
|