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.
Files changed (52) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/abstract/bingx.py +3 -0
  3. ccxt/abstract/hyperliquid.py +1 -1
  4. ccxt/abstract/woo.py +59 -4
  5. ccxt/async_support/__init__.py +1 -1
  6. ccxt/async_support/base/exchange.py +1 -1
  7. ccxt/async_support/base/ws/future.py +2 -0
  8. ccxt/async_support/bingx.py +129 -92
  9. ccxt/async_support/bitget.py +1 -1
  10. ccxt/async_support/bitstamp.py +2 -0
  11. ccxt/async_support/blofin.py +6 -1
  12. ccxt/async_support/bybit.py +3 -3
  13. ccxt/async_support/coinbase.py +40 -1
  14. ccxt/async_support/coinmate.py +34 -0
  15. ccxt/async_support/coinmetro.py +15 -3
  16. ccxt/async_support/coinone.py +34 -0
  17. ccxt/async_support/coinsph.py +29 -0
  18. ccxt/async_support/gate.py +1 -1
  19. ccxt/async_support/htx.py +5 -1
  20. ccxt/async_support/hyperliquid.py +126 -33
  21. ccxt/async_support/okx.py +10 -3
  22. ccxt/async_support/wavesexchange.py +12 -2
  23. ccxt/async_support/woo.py +1251 -875
  24. ccxt/base/errors.py +0 -6
  25. ccxt/base/exchange.py +44 -22
  26. ccxt/bingx.py +129 -92
  27. ccxt/bitget.py +1 -1
  28. ccxt/bitstamp.py +2 -0
  29. ccxt/blofin.py +6 -1
  30. ccxt/bybit.py +3 -3
  31. ccxt/coinbase.py +40 -1
  32. ccxt/coinmate.py +34 -0
  33. ccxt/coinmetro.py +14 -3
  34. ccxt/coinone.py +34 -0
  35. ccxt/coinsph.py +29 -0
  36. ccxt/gate.py +1 -1
  37. ccxt/htx.py +5 -1
  38. ccxt/hyperliquid.py +126 -33
  39. ccxt/okx.py +10 -3
  40. ccxt/pro/__init__.py +1 -1
  41. ccxt/pro/hyperliquid.py +6 -6
  42. ccxt/pro/kraken.py +17 -16
  43. ccxt/pro/mexc.py +10 -10
  44. ccxt/test/tests_async.py +19 -17
  45. ccxt/test/tests_sync.py +19 -17
  46. ccxt/wavesexchange.py +12 -2
  47. ccxt/woo.py +1251 -875
  48. {ccxt-4.4.93.dist-info → ccxt-4.4.95.dist-info}/METADATA +4 -4
  49. {ccxt-4.4.93.dist-info → ccxt-4.4.95.dist-info}/RECORD +52 -52
  50. {ccxt-4.4.93.dist-info → ccxt-4.4.95.dist-info}/LICENSE.txt +0 -0
  51. {ccxt-4.4.93.dist-info → ccxt-4.4.95.dist-info}/WHEEL +0 -0
  52. {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': BadRequest,
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
- response = self.publicGetMarkets(params)
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
- return self.parse_markets(response)
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, 'page_index', 'current_page', 1, 50)
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))