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/async_support/coinbase.py
CHANGED
@@ -14,6 +14,7 @@ from ccxt.base.errors import AuthenticationError
|
|
14
14
|
from ccxt.base.errors import PermissionDenied
|
15
15
|
from ccxt.base.errors import ArgumentsRequired
|
16
16
|
from ccxt.base.errors import BadRequest
|
17
|
+
from ccxt.base.errors import InsufficientFunds
|
17
18
|
from ccxt.base.errors import InvalidOrder
|
18
19
|
from ccxt.base.errors import OrderNotFound
|
19
20
|
from ccxt.base.errors import NotSupported
|
@@ -51,6 +52,9 @@ class coinbase(Exchange, ImplicitAPI):
|
|
51
52
|
'future': False,
|
52
53
|
'option': False,
|
53
54
|
'addMargin': False,
|
55
|
+
'borrowCrossMargin': False,
|
56
|
+
'borrowIsolatedMargin': False,
|
57
|
+
'borrowMargin': False,
|
54
58
|
'cancelOrder': True,
|
55
59
|
'cancelOrders': True,
|
56
60
|
'closeAllPositions': False,
|
@@ -65,6 +69,8 @@ class coinbase(Exchange, ImplicitAPI):
|
|
65
69
|
'createMarketSellOrder': True,
|
66
70
|
'createMarketSellOrderWithCost': False,
|
67
71
|
'createOrder': True,
|
72
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
73
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
68
74
|
'createPostOnlyOrder': True,
|
69
75
|
'createReduceOnlyOrder': False,
|
70
76
|
'createStopLimitOrder': True,
|
@@ -75,8 +81,12 @@ class coinbase(Exchange, ImplicitAPI):
|
|
75
81
|
'fetchAccounts': True,
|
76
82
|
'fetchBalance': True,
|
77
83
|
'fetchBidsAsks': True,
|
84
|
+
'fetchBorrowInterest': False,
|
85
|
+
'fetchBorrowRate': False,
|
78
86
|
'fetchBorrowRateHistories': False,
|
79
87
|
'fetchBorrowRateHistory': False,
|
88
|
+
'fetchBorrowRates': False,
|
89
|
+
'fetchBorrowRatesPerSymbol': False,
|
80
90
|
'fetchCanceledOrders': True,
|
81
91
|
'fetchClosedOrders': True,
|
82
92
|
'fetchConvertQuote': True,
|
@@ -94,42 +104,69 @@ class coinbase(Exchange, ImplicitAPI):
|
|
94
104
|
'fetchDeposits': True,
|
95
105
|
'fetchDepositsWithdrawals': True,
|
96
106
|
'fetchFundingHistory': False,
|
107
|
+
'fetchFundingInterval': False,
|
108
|
+
'fetchFundingIntervals': False,
|
97
109
|
'fetchFundingRate': False,
|
98
110
|
'fetchFundingRateHistory': False,
|
99
111
|
'fetchFundingRates': False,
|
112
|
+
'fetchGreeks': False,
|
100
113
|
'fetchIndexOHLCV': False,
|
101
114
|
'fetchIsolatedBorrowRate': False,
|
102
115
|
'fetchIsolatedBorrowRates': False,
|
116
|
+
'fetchIsolatedPositions': False,
|
103
117
|
'fetchL2OrderBook': False,
|
104
118
|
'fetchLedger': True,
|
105
119
|
'fetchLeverage': False,
|
120
|
+
'fetchLeverages': False,
|
106
121
|
'fetchLeverageTiers': False,
|
122
|
+
'fetchLiquidations': False,
|
123
|
+
'fetchLongShortRatio': False,
|
124
|
+
'fetchLongShortRatioHistory': False,
|
125
|
+
'fetchMarginAdjustmentHistory': False,
|
107
126
|
'fetchMarginMode': False,
|
127
|
+
'fetchMarginModes': False,
|
128
|
+
'fetchMarketLeverageTiers': False,
|
108
129
|
'fetchMarkets': True,
|
109
130
|
'fetchMarkOHLCV': False,
|
131
|
+
'fetchMarkPrices': False,
|
110
132
|
'fetchMyBuys': True,
|
133
|
+
'fetchMyLiquidations': False,
|
111
134
|
'fetchMySells': True,
|
135
|
+
'fetchMySettlementHistory': False,
|
112
136
|
'fetchMyTrades': True,
|
113
137
|
'fetchOHLCV': True,
|
138
|
+
'fetchOpenInterest': False,
|
114
139
|
'fetchOpenInterestHistory': False,
|
140
|
+
'fetchOpenInterests': False,
|
115
141
|
'fetchOpenOrders': True,
|
142
|
+
'fetchOption': False,
|
143
|
+
'fetchOptionChain': False,
|
116
144
|
'fetchOrder': True,
|
117
145
|
'fetchOrderBook': True,
|
118
146
|
'fetchOrders': True,
|
119
147
|
'fetchPosition': True,
|
148
|
+
'fetchPositionHistory': False,
|
120
149
|
'fetchPositionMode': False,
|
121
150
|
'fetchPositions': True,
|
151
|
+
'fetchPositionsForSymbol': False,
|
152
|
+
'fetchPositionsHistory': False,
|
122
153
|
'fetchPositionsRisk': False,
|
123
154
|
'fetchPremiumIndexOHLCV': False,
|
155
|
+
'fetchSettlementHistory': False,
|
124
156
|
'fetchTicker': True,
|
125
157
|
'fetchTickers': True,
|
126
158
|
'fetchTime': True,
|
127
159
|
'fetchTrades': True,
|
128
160
|
'fetchTradingFee': 'emulated',
|
129
161
|
'fetchTradingFees': True,
|
162
|
+
'fetchVolatilityHistory': False,
|
130
163
|
'fetchWithdrawals': True,
|
131
164
|
'reduceMargin': False,
|
165
|
+
'repayCrossMargin': False,
|
166
|
+
'repayIsolatedMargin': False,
|
167
|
+
'repayMargin': False,
|
132
168
|
'setLeverage': False,
|
169
|
+
'setMargin': False,
|
133
170
|
'setMarginMode': False,
|
134
171
|
'setPositionMode': False,
|
135
172
|
'withdraw': True,
|
@@ -333,12 +370,14 @@ class coinbase(Exchange, ImplicitAPI):
|
|
333
370
|
'rate_limit_exceeded': RateLimitExceeded, # 429 Rate limit exceeded
|
334
371
|
'internal_server_error': ExchangeError, # 500 Internal server error
|
335
372
|
'UNSUPPORTED_ORDER_CONFIGURATION': BadRequest,
|
336
|
-
'INSUFFICIENT_FUND':
|
373
|
+
'INSUFFICIENT_FUND': InsufficientFunds,
|
337
374
|
'PERMISSION_DENIED': PermissionDenied,
|
338
375
|
'INVALID_ARGUMENT': BadRequest,
|
339
376
|
'PREVIEW_STOP_PRICE_ABOVE_LAST_TRADE_PRICE': InvalidOrder,
|
377
|
+
'PREVIEW_INSUFFICIENT_FUND': InsufficientFunds,
|
340
378
|
},
|
341
379
|
'broad': {
|
380
|
+
'Insufficient balance in source account': InsufficientFunds,
|
342
381
|
'request timestamp expired': InvalidNonce, # {"errors":[{"id":"authentication_error","message":"request timestamp expired"}]}
|
343
382
|
'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"}
|
344
383
|
},
|
ccxt/async_support/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/async_support/coinmetro.py
CHANGED
@@ -5,6 +5,7 @@
|
|
5
5
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.coinmetro import ImplicitAPI
|
8
|
+
import asyncio
|
8
9
|
from ccxt.base.types import Any, Balances, Currencies, Currency, IndexType, Int, LedgerEntry, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade
|
9
10
|
from typing import List
|
10
11
|
from ccxt.base.errors import ExchangeError
|
@@ -220,6 +221,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
220
221
|
'options': {
|
221
222
|
'currenciesByIdForParseMarket': None,
|
222
223
|
'currencyIdsListForParseMarket': ['QRDO'],
|
224
|
+
'skippedMarkets': ['VXVUSDT'], # broken markets which do not have enough info in API
|
223
225
|
},
|
224
226
|
'features': {
|
225
227
|
'spot': {
|
@@ -439,9 +441,12 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
439
441
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
440
442
|
:returns dict[]: an array of objects representing market data
|
441
443
|
"""
|
442
|
-
|
444
|
+
promises = []
|
445
|
+
promises.append(self.publicGetMarkets(params))
|
443
446
|
if self.safe_value(self.options, 'currenciesByIdForParseMarket') is None:
|
444
|
-
|
447
|
+
promises.append(self.fetch_currencies())
|
448
|
+
responses = await asyncio.gather(*promises)
|
449
|
+
response = responses[0]
|
445
450
|
#
|
446
451
|
# [
|
447
452
|
# {
|
@@ -457,7 +462,14 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
457
462
|
# ...
|
458
463
|
# ]
|
459
464
|
#
|
460
|
-
|
465
|
+
skippedMarkets = self.safe_list(self.options, 'skippedMarkets', [])
|
466
|
+
result = []
|
467
|
+
for i in range(0, len(response)):
|
468
|
+
market = self.parse_market(response[i])
|
469
|
+
if self.in_array(market['id'], skippedMarkets):
|
470
|
+
continue
|
471
|
+
result.append(market)
|
472
|
+
return result
|
461
473
|
|
462
474
|
def parse_market(self, market: dict) -> Market:
|
463
475
|
id = self.safe_string(market, 'pair')
|
ccxt/async_support/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/async_support/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/async_support/gate.py
CHANGED
@@ -3755,7 +3755,7 @@ class gate(Exchange, ImplicitAPI):
|
|
3755
3755
|
start = self.parse_to_int(since / 1000)
|
3756
3756
|
request['from'] = start
|
3757
3757
|
request['to'] = self.sum(start, 30 * 24 * 60 * 60)
|
3758
|
-
request, params = self.handle_until_option('to', request, params)
|
3758
|
+
request, params = self.handle_until_option('to', request, params, 0.001)
|
3759
3759
|
response = await self.privateWalletGetDeposits(self.extend(request, params))
|
3760
3760
|
return self.parse_transactions(response, currency)
|
3761
3761
|
|
ccxt/async_support/htx.py
CHANGED
@@ -6577,12 +6577,16 @@ class htx(Exchange, ImplicitAPI):
|
|
6577
6577
|
paginate = False
|
6578
6578
|
paginate, params = self.handle_option_and_params(params, 'fetchFundingRateHistory', 'paginate')
|
6579
6579
|
if paginate:
|
6580
|
-
return await self.fetch_paginated_call_cursor('fetchFundingRateHistory', symbol, since, limit, params, '
|
6580
|
+
return await self.fetch_paginated_call_cursor('fetchFundingRateHistory', symbol, since, limit, params, 'current_page', 'page_index', 1, 50)
|
6581
6581
|
await self.load_markets()
|
6582
6582
|
market = self.market(symbol)
|
6583
6583
|
request: dict = {
|
6584
6584
|
'contract_code': market['id'],
|
6585
6585
|
}
|
6586
|
+
if limit is not None:
|
6587
|
+
request['page_size'] = limit
|
6588
|
+
else:
|
6589
|
+
request['page_size'] = 50 # max
|
6586
6590
|
response = None
|
6587
6591
|
if market['inverse']:
|
6588
6592
|
response = await self.contractPublicGetSwapApiV1SwapHistoricalFundingRate(self.extend(request, params))
|