ccxt 4.4.94__py2.py3-none-any.whl → 4.4.96__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 +3 -1
- ccxt/abstract/bingx.py +3 -0
- ccxt/abstract/foxbit.py +26 -0
- ccxt/abstract/hyperliquid.py +1 -1
- ccxt/abstract/woo.py +59 -4
- ccxt/apex.py +3 -3
- ccxt/ascendex.py +2 -2
- ccxt/async_support/__init__.py +3 -1
- ccxt/async_support/apex.py +3 -3
- ccxt/async_support/ascendex.py +2 -2
- ccxt/async_support/base/exchange.py +5 -3
- ccxt/async_support/base/ws/future.py +5 -1
- ccxt/async_support/bingx.py +129 -92
- ccxt/async_support/bitget.py +31 -144
- ccxt/async_support/bitmart.py +2 -2
- ccxt/async_support/bitrue.py +13 -8
- ccxt/async_support/bitstamp.py +2 -0
- ccxt/async_support/blofin.py +6 -1
- ccxt/async_support/bybit.py +15 -6
- ccxt/async_support/coinbase.py +36 -0
- ccxt/async_support/coinbaseexchange.py +4 -2
- ccxt/async_support/coinbaseinternational.py +2 -2
- ccxt/async_support/coinmate.py +34 -0
- ccxt/async_support/coinone.py +34 -0
- ccxt/async_support/coinsph.py +29 -0
- ccxt/async_support/coinspot.py +36 -1
- ccxt/async_support/cryptocom.py +2 -1
- ccxt/async_support/cryptomus.py +41 -1
- ccxt/async_support/defx.py +1 -1
- ccxt/async_support/derive.py +1 -1
- ccxt/async_support/ellipx.py +40 -0
- ccxt/async_support/foxbit.py +1935 -0
- ccxt/async_support/gate.py +1 -1
- ccxt/async_support/hyperliquid.py +3 -2
- ccxt/async_support/kucoin.py +1 -1
- ccxt/async_support/kucoinfutures.py +3 -2
- ccxt/async_support/mexc.py +28 -13
- ccxt/async_support/modetrade.py +3 -3
- ccxt/async_support/okcoin.py +1 -1
- ccxt/async_support/okx.py +10 -3
- ccxt/async_support/onetrading.py +1 -1
- ccxt/async_support/oxfun.py +2 -1
- ccxt/async_support/paradex.py +2 -2
- ccxt/async_support/vertex.py +3 -2
- ccxt/async_support/woo.py +1255 -875
- ccxt/async_support/woofipro.py +2 -2
- ccxt/base/exchange.py +8 -5
- ccxt/bingx.py +129 -92
- ccxt/bitget.py +31 -144
- ccxt/bitmart.py +2 -2
- ccxt/bitrue.py +13 -8
- ccxt/bitstamp.py +2 -0
- ccxt/blofin.py +6 -1
- ccxt/bybit.py +15 -6
- ccxt/coinbase.py +36 -0
- ccxt/coinbaseexchange.py +4 -2
- ccxt/coinbaseinternational.py +2 -2
- ccxt/coinmate.py +34 -0
- ccxt/coinone.py +34 -0
- ccxt/coinsph.py +29 -0
- ccxt/coinspot.py +36 -1
- ccxt/cryptocom.py +2 -1
- ccxt/cryptomus.py +41 -1
- ccxt/defx.py +1 -1
- ccxt/derive.py +1 -1
- ccxt/ellipx.py +40 -0
- ccxt/foxbit.py +1935 -0
- ccxt/gate.py +1 -1
- ccxt/hyperliquid.py +3 -2
- ccxt/kucoin.py +1 -1
- ccxt/kucoinfutures.py +3 -2
- ccxt/mexc.py +28 -13
- ccxt/modetrade.py +3 -3
- ccxt/okcoin.py +1 -1
- ccxt/okx.py +10 -3
- ccxt/onetrading.py +1 -1
- ccxt/oxfun.py +2 -1
- ccxt/paradex.py +2 -2
- 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 +17 -2
- ccxt/test/tests_sync.py +17 -2
- ccxt/vertex.py +3 -2
- ccxt/woo.py +1255 -875
- ccxt/woofipro.py +2 -2
- {ccxt-4.4.94.dist-info → ccxt-4.4.96.dist-info}/METADATA +8 -8
- {ccxt-4.4.94.dist-info → ccxt-4.4.96.dist-info}/RECORD +92 -89
- {ccxt-4.4.94.dist-info → ccxt-4.4.96.dist-info}/LICENSE.txt +0 -0
- {ccxt-4.4.94.dist-info → ccxt-4.4.96.dist-info}/WHEEL +0 -0
- {ccxt-4.4.94.dist-info → ccxt-4.4.96.dist-info}/top_level.txt +0 -0
ccxt/async_support/bitrue.py
CHANGED
@@ -395,11 +395,9 @@ class bitrue(Exchange, ImplicitAPI):
|
|
395
395
|
# exchange-specific options
|
396
396
|
'options': {
|
397
397
|
'createMarketBuyOrderRequiresPrice': True,
|
398
|
-
'fetchMarkets':
|
399
|
-
'spot',
|
400
|
-
|
401
|
-
'inverse',
|
402
|
-
],
|
398
|
+
'fetchMarkets': {
|
399
|
+
'types': ['spot', 'linear', 'inverse'],
|
400
|
+
},
|
403
401
|
# 'fetchTradesMethod': 'publicGetAggTrades', # publicGetTrades, publicGetHistoricalTrades
|
404
402
|
'fetchMyTradesMethod': 'v2PrivateGetMyTrades', # spotV1PrivateGetMyTrades
|
405
403
|
'hasAlreadyAuthenticatedSuccessfully': False,
|
@@ -845,9 +843,16 @@ class bitrue(Exchange, ImplicitAPI):
|
|
845
843
|
:returns dict[]: an array of objects representing market data
|
846
844
|
"""
|
847
845
|
promisesRaw = []
|
848
|
-
|
849
|
-
|
850
|
-
|
846
|
+
types = None
|
847
|
+
defaultTypes = ['spot', 'linear', 'inverse']
|
848
|
+
fetchMarketsOptions = self.safe_dict(self.options, 'fetchMarkets')
|
849
|
+
if fetchMarketsOptions is not None:
|
850
|
+
types = self.safe_list(fetchMarketsOptions, 'types', defaultTypes)
|
851
|
+
else:
|
852
|
+
# for backward-compatibility
|
853
|
+
types = self.safe_list(self.options, 'fetchMarkets', defaultTypes)
|
854
|
+
for i in range(0, len(types)):
|
855
|
+
marketType = types[i]
|
851
856
|
if marketType == 'spot':
|
852
857
|
promisesRaw.append(self.spotV1PublicGetExchangeInfo(params))
|
853
858
|
elif marketType == 'linear':
|
ccxt/async_support/bitstamp.py
CHANGED
@@ -11,6 +11,7 @@ from typing import List
|
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import AuthenticationError
|
13
13
|
from ccxt.base.errors import PermissionDenied
|
14
|
+
from ccxt.base.errors import AccountSuspended
|
14
15
|
from ccxt.base.errors import BadRequest
|
15
16
|
from ccxt.base.errors import InsufficientFunds
|
16
17
|
from ccxt.base.errors import InvalidAddress
|
@@ -531,6 +532,7 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
531
532
|
"Bitstamp.net is under scheduled maintenance. We'll be back soon.": OnMaintenance, # {"error": "Bitstamp.net is under scheduled maintenance. We'll be back soon."}
|
532
533
|
'Order could not be placed.': ExchangeNotAvailable, # Order could not be placed(perhaps due to internal error or trade halt). Please retry placing order.
|
533
534
|
'Invalid offset.': BadRequest,
|
535
|
+
'Trading is currently unavailable for your account.': AccountSuspended, # {"status": "error", "reason": {"__all__": ["Trading is currently unavailable for your account."]}, "response_code": "403.004"}
|
534
536
|
},
|
535
537
|
'broad': {
|
536
538
|
'Minimum order size is': InvalidOrder, # Minimum order size is 5.0 EUR.
|
ccxt/async_support/blofin.py
CHANGED
@@ -904,6 +904,7 @@ class blofin(Exchange, ImplicitAPI):
|
|
904
904
|
:param int [limit]: the maximum amount of `funding rate structures <https://docs.ccxt.com/#/?id=funding-rate-history-structure>` to fetch
|
905
905
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
906
906
|
:param boolean [params.paginate]: default False, when True will automatically paginate by calling self endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
907
|
+
:param int [params.until]: timestamp in ms of the latest funding rate to fetch
|
907
908
|
:returns dict[]: a list of `funding rate structures <https://docs.ccxt.com/#/?id=funding-rate-history-structure>`
|
908
909
|
"""
|
909
910
|
if symbol is None:
|
@@ -912,7 +913,7 @@ class blofin(Exchange, ImplicitAPI):
|
|
912
913
|
paginate = False
|
913
914
|
paginate, params = self.handle_option_and_params(params, 'fetchFundingRateHistory', 'paginate')
|
914
915
|
if paginate:
|
915
|
-
return await self.fetch_paginated_call_deterministic('fetchFundingRateHistory', symbol, since, limit, '8h', params)
|
916
|
+
return await self.fetch_paginated_call_deterministic('fetchFundingRateHistory', symbol, since, limit, '8h', params, 100)
|
916
917
|
market = self.market(symbol)
|
917
918
|
request: dict = {
|
918
919
|
'instId': market['id'],
|
@@ -921,6 +922,10 @@ class blofin(Exchange, ImplicitAPI):
|
|
921
922
|
request['before'] = max(since - 1, 0)
|
922
923
|
if limit is not None:
|
923
924
|
request['limit'] = limit
|
925
|
+
until = self.safe_integer(params, 'until')
|
926
|
+
if until is not None:
|
927
|
+
request['after'] = until
|
928
|
+
params = self.omit(params, 'until')
|
924
929
|
response = await self.publicGetMarketFundingRateHistory(self.extend(request, params))
|
925
930
|
rates = []
|
926
931
|
data = self.safe_list(response, 'data', [])
|
ccxt/async_support/bybit.py
CHANGED
@@ -1041,7 +1041,9 @@ class bybit(Exchange, ImplicitAPI):
|
|
1041
1041
|
'options': {
|
1042
1042
|
'usePrivateInstrumentsInfo': False,
|
1043
1043
|
'enableDemoTrading': False,
|
1044
|
-
'fetchMarkets':
|
1044
|
+
'fetchMarkets': {
|
1045
|
+
'types': ['spot', 'linear', 'inverse', 'option'],
|
1046
|
+
},
|
1045
1047
|
'enableUnifiedMargin': None,
|
1046
1048
|
'enableUnifiedAccount': None,
|
1047
1049
|
'unifiedMarginStatus': None,
|
@@ -1702,9 +1704,16 @@ class bybit(Exchange, ImplicitAPI):
|
|
1702
1704
|
if self.options['adjustForTimeDifference']:
|
1703
1705
|
await self.load_time_difference()
|
1704
1706
|
promisesUnresolved = []
|
1705
|
-
|
1706
|
-
|
1707
|
-
|
1707
|
+
types = None
|
1708
|
+
defaultTypes = ['spot', 'linear', 'inverse', 'option']
|
1709
|
+
fetchMarketsOptions = self.safe_dict(self.options, 'fetchMarkets')
|
1710
|
+
if fetchMarketsOptions is not None:
|
1711
|
+
types = self.safe_list(fetchMarketsOptions, 'types', defaultTypes)
|
1712
|
+
else:
|
1713
|
+
# for backward-compatibility
|
1714
|
+
types = self.safe_list(self.options, 'fetchMarkets', defaultTypes)
|
1715
|
+
for i in range(0, len(types)):
|
1716
|
+
marketType = types[i]
|
1708
1717
|
if marketType == 'spot':
|
1709
1718
|
promisesUnresolved.append(self.fetch_spot_markets(params))
|
1710
1719
|
elif marketType == 'linear':
|
@@ -4577,7 +4586,7 @@ class bybit(Exchange, ImplicitAPI):
|
|
4577
4586
|
result = self.safe_dict(response, 'result', {})
|
4578
4587
|
orders = self.safe_list(result, 'list')
|
4579
4588
|
if not isinstance(orders, list):
|
4580
|
-
return response
|
4589
|
+
return [self.safe_order({'info': response})]
|
4581
4590
|
return self.parse_orders(orders, market)
|
4582
4591
|
|
4583
4592
|
async def fetch_order_classic(self, id: str, symbol: Str = None, params={}) -> Order:
|
@@ -8083,7 +8092,7 @@ classic accounts only/ spot not supported* fetches information on an order made
|
|
8083
8092
|
'timestamp': timestamp,
|
8084
8093
|
'datetime': self.iso8601(timestamp),
|
8085
8094
|
'id': self.safe_string(income, 'execId'),
|
8086
|
-
'amount': self.safe_number(income, '
|
8095
|
+
'amount': self.safe_number(income, 'execFee'),
|
8087
8096
|
'rate': self.safe_number(income, 'feeRate'),
|
8088
8097
|
}
|
8089
8098
|
|
ccxt/async_support/coinbase.py
CHANGED
@@ -52,6 +52,9 @@ class coinbase(Exchange, ImplicitAPI):
|
|
52
52
|
'future': False,
|
53
53
|
'option': False,
|
54
54
|
'addMargin': False,
|
55
|
+
'borrowCrossMargin': False,
|
56
|
+
'borrowIsolatedMargin': False,
|
57
|
+
'borrowMargin': False,
|
55
58
|
'cancelOrder': True,
|
56
59
|
'cancelOrders': True,
|
57
60
|
'closeAllPositions': False,
|
@@ -66,6 +69,8 @@ class coinbase(Exchange, ImplicitAPI):
|
|
66
69
|
'createMarketSellOrder': True,
|
67
70
|
'createMarketSellOrderWithCost': False,
|
68
71
|
'createOrder': True,
|
72
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
73
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
69
74
|
'createPostOnlyOrder': True,
|
70
75
|
'createReduceOnlyOrder': False,
|
71
76
|
'createStopLimitOrder': True,
|
@@ -76,8 +81,12 @@ class coinbase(Exchange, ImplicitAPI):
|
|
76
81
|
'fetchAccounts': True,
|
77
82
|
'fetchBalance': True,
|
78
83
|
'fetchBidsAsks': True,
|
84
|
+
'fetchBorrowInterest': False,
|
85
|
+
'fetchBorrowRate': False,
|
79
86
|
'fetchBorrowRateHistories': False,
|
80
87
|
'fetchBorrowRateHistory': False,
|
88
|
+
'fetchBorrowRates': False,
|
89
|
+
'fetchBorrowRatesPerSymbol': False,
|
81
90
|
'fetchCanceledOrders': True,
|
82
91
|
'fetchClosedOrders': True,
|
83
92
|
'fetchConvertQuote': True,
|
@@ -95,42 +104,69 @@ class coinbase(Exchange, ImplicitAPI):
|
|
95
104
|
'fetchDeposits': True,
|
96
105
|
'fetchDepositsWithdrawals': True,
|
97
106
|
'fetchFundingHistory': False,
|
107
|
+
'fetchFundingInterval': False,
|
108
|
+
'fetchFundingIntervals': False,
|
98
109
|
'fetchFundingRate': False,
|
99
110
|
'fetchFundingRateHistory': False,
|
100
111
|
'fetchFundingRates': False,
|
112
|
+
'fetchGreeks': False,
|
101
113
|
'fetchIndexOHLCV': False,
|
102
114
|
'fetchIsolatedBorrowRate': False,
|
103
115
|
'fetchIsolatedBorrowRates': False,
|
116
|
+
'fetchIsolatedPositions': False,
|
104
117
|
'fetchL2OrderBook': False,
|
105
118
|
'fetchLedger': True,
|
106
119
|
'fetchLeverage': False,
|
120
|
+
'fetchLeverages': False,
|
107
121
|
'fetchLeverageTiers': False,
|
122
|
+
'fetchLiquidations': False,
|
123
|
+
'fetchLongShortRatio': False,
|
124
|
+
'fetchLongShortRatioHistory': False,
|
125
|
+
'fetchMarginAdjustmentHistory': False,
|
108
126
|
'fetchMarginMode': False,
|
127
|
+
'fetchMarginModes': False,
|
128
|
+
'fetchMarketLeverageTiers': False,
|
109
129
|
'fetchMarkets': True,
|
110
130
|
'fetchMarkOHLCV': False,
|
131
|
+
'fetchMarkPrices': False,
|
111
132
|
'fetchMyBuys': True,
|
133
|
+
'fetchMyLiquidations': False,
|
112
134
|
'fetchMySells': True,
|
135
|
+
'fetchMySettlementHistory': False,
|
113
136
|
'fetchMyTrades': True,
|
114
137
|
'fetchOHLCV': True,
|
138
|
+
'fetchOpenInterest': False,
|
115
139
|
'fetchOpenInterestHistory': False,
|
140
|
+
'fetchOpenInterests': False,
|
116
141
|
'fetchOpenOrders': True,
|
142
|
+
'fetchOption': False,
|
143
|
+
'fetchOptionChain': False,
|
117
144
|
'fetchOrder': True,
|
118
145
|
'fetchOrderBook': True,
|
119
146
|
'fetchOrders': True,
|
120
147
|
'fetchPosition': True,
|
148
|
+
'fetchPositionHistory': False,
|
121
149
|
'fetchPositionMode': False,
|
122
150
|
'fetchPositions': True,
|
151
|
+
'fetchPositionsForSymbol': False,
|
152
|
+
'fetchPositionsHistory': False,
|
123
153
|
'fetchPositionsRisk': False,
|
124
154
|
'fetchPremiumIndexOHLCV': False,
|
155
|
+
'fetchSettlementHistory': False,
|
125
156
|
'fetchTicker': True,
|
126
157
|
'fetchTickers': True,
|
127
158
|
'fetchTime': True,
|
128
159
|
'fetchTrades': True,
|
129
160
|
'fetchTradingFee': 'emulated',
|
130
161
|
'fetchTradingFees': True,
|
162
|
+
'fetchVolatilityHistory': False,
|
131
163
|
'fetchWithdrawals': True,
|
132
164
|
'reduceMargin': False,
|
165
|
+
'repayCrossMargin': False,
|
166
|
+
'repayIsolatedMargin': False,
|
167
|
+
'repayMargin': False,
|
133
168
|
'setLeverage': False,
|
169
|
+
'setMargin': False,
|
134
170
|
'setMarginMode': False,
|
135
171
|
'setPositionMode': False,
|
136
172
|
'withdraw': True,
|
@@ -1541,7 +1541,8 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
1541
1541
|
if symbol is not None:
|
1542
1542
|
market = self.market(symbol)
|
1543
1543
|
request['product_id'] = market['symbol'] # the request will be more performant if you include it
|
1544
|
-
|
1544
|
+
response = await getattr(self, method)(self.extend(request, params))
|
1545
|
+
return self.safe_order({'info': response})
|
1545
1546
|
|
1546
1547
|
async def cancel_all_orders(self, symbol: Str = None, params={}):
|
1547
1548
|
"""
|
@@ -1559,7 +1560,8 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
1559
1560
|
if symbol is not None:
|
1560
1561
|
market = self.market(symbol)
|
1561
1562
|
request['product_id'] = market['symbol'] # the request will be more performant if you include it
|
1562
|
-
|
1563
|
+
response = await self.privateDeleteOrders(self.extend(request, params))
|
1564
|
+
return [self.safe_order({'info': response})]
|
1563
1565
|
|
1564
1566
|
async def fetch_payment_methods(self, params={}):
|
1565
1567
|
return await self.privateGetPaymentMethods(params)
|
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.coinbaseinternational import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Any, Balances, Currencies, Currency, DepositAddress, Int, Market, Order, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
9
|
+
from ccxt.base.types import Any, Balances, Currencies, Currency, DepositAddress, Int, MarginModification, Market, Order, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import AuthenticationError
|
@@ -875,7 +875,7 @@ class coinbaseinternational(Exchange, ImplicitAPI):
|
|
875
875
|
},
|
876
876
|
})
|
877
877
|
|
878
|
-
async def set_margin(self, symbol: str, amount: float, params={}) ->
|
878
|
+
async def set_margin(self, symbol: str, amount: float, params={}) -> MarginModification:
|
879
879
|
"""
|
880
880
|
Either adds or reduces margin in order to set the margin to a specific value
|
881
881
|
|
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/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/coinspot.py
CHANGED
@@ -31,33 +31,61 @@ class coinspot(Exchange, ImplicitAPI):
|
|
31
31
|
'future': False,
|
32
32
|
'option': False,
|
33
33
|
'addMargin': False,
|
34
|
+
'borrowCrossMargin': False,
|
35
|
+
'borrowIsolatedMargin': False,
|
36
|
+
'borrowMargin': False,
|
34
37
|
'cancelOrder': True,
|
35
38
|
'closeAllPositions': False,
|
36
39
|
'closePosition': False,
|
37
40
|
'createMarketOrder': False,
|
38
41
|
'createOrder': True,
|
42
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
43
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
44
|
+
'createPostOnlyOrder': False,
|
39
45
|
'createReduceOnlyOrder': False,
|
40
46
|
'createStopLimitOrder': False,
|
41
47
|
'createStopMarketOrder': False,
|
42
48
|
'createStopOrder': 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
|
'fetchFundingHistory': False,
|
59
|
+
'fetchFundingInterval': False,
|
60
|
+
'fetchFundingIntervals': False,
|
49
61
|
'fetchFundingRate': False,
|
50
62
|
'fetchFundingRateHistory': False,
|
51
63
|
'fetchFundingRates': False,
|
64
|
+
'fetchGreeks': False,
|
52
65
|
'fetchIndexOHLCV': False,
|
53
66
|
'fetchIsolatedBorrowRate': False,
|
54
67
|
'fetchIsolatedBorrowRates': False,
|
68
|
+
'fetchIsolatedPositions': False,
|
55
69
|
'fetchLeverage': False,
|
70
|
+
'fetchLeverages': False,
|
56
71
|
'fetchLeverageTiers': False,
|
72
|
+
'fetchLiquidations': False,
|
73
|
+
'fetchLongShortRatio': False,
|
74
|
+
'fetchLongShortRatioHistory': False,
|
75
|
+
'fetchMarginAdjustmentHistory': False,
|
57
76
|
'fetchMarginMode': False,
|
77
|
+
'fetchMarginModes': False,
|
78
|
+
'fetchMarketLeverageTiers': False,
|
58
79
|
'fetchMarkOHLCV': False,
|
80
|
+
'fetchMarkPrices': False,
|
81
|
+
'fetchMyLiquidations': False,
|
82
|
+
'fetchMySettlementHistory': False,
|
59
83
|
'fetchMyTrades': True,
|
84
|
+
'fetchOpenInterest': False,
|
60
85
|
'fetchOpenInterestHistory': False,
|
86
|
+
'fetchOpenInterests': False,
|
87
|
+
'fetchOption': False,
|
88
|
+
'fetchOptionChain': False,
|
61
89
|
'fetchOrderBook': True,
|
62
90
|
'fetchPosition': False,
|
63
91
|
'fetchPositionHistory': False,
|
@@ -67,13 +95,19 @@ class coinspot(Exchange, ImplicitAPI):
|
|
67
95
|
'fetchPositionsHistory': False,
|
68
96
|
'fetchPositionsRisk': False,
|
69
97
|
'fetchPremiumIndexOHLCV': False,
|
98
|
+
'fetchSettlementHistory': False,
|
70
99
|
'fetchTicker': True,
|
71
100
|
'fetchTickers': True,
|
72
101
|
'fetchTrades': True,
|
73
102
|
'fetchTradingFee': False,
|
74
103
|
'fetchTradingFees': False,
|
104
|
+
'fetchVolatilityHistory': False,
|
75
105
|
'reduceMargin': False,
|
106
|
+
'repayCrossMargin': False,
|
107
|
+
'repayIsolatedMargin': False,
|
108
|
+
'repayMargin': False,
|
76
109
|
'setLeverage': False,
|
110
|
+
'setMargin': False,
|
77
111
|
'setMarginMode': False,
|
78
112
|
'setPositionMode': False,
|
79
113
|
'ws': False,
|
@@ -551,7 +585,8 @@ class coinspot(Exchange, ImplicitAPI):
|
|
551
585
|
'amount': amount,
|
552
586
|
'rate': price,
|
553
587
|
}
|
554
|
-
|
588
|
+
response = await getattr(self, method)(self.extend(request, params))
|
589
|
+
return self.parse_order(response)
|
555
590
|
|
556
591
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
557
592
|
"""
|
ccxt/async_support/cryptocom.py
CHANGED
@@ -1631,7 +1631,8 @@ class cryptocom(Exchange, ImplicitAPI):
|
|
1631
1631
|
if symbol is not None:
|
1632
1632
|
market = self.market(symbol)
|
1633
1633
|
request['instrument_name'] = market['id']
|
1634
|
-
|
1634
|
+
response = await self.v1PrivatePostPrivateCancelAllOrders(self.extend(request, params))
|
1635
|
+
return [self.safe_order({'info': response})]
|
1635
1636
|
|
1636
1637
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
1637
1638
|
"""
|