ccxt 4.4.58__py2.py3-none-any.whl → 4.4.60__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ccxt/__init__.py +1 -3
- ccxt/ace.py +2 -2
- ccxt/alpaca.py +12 -7
- ccxt/ascendex.py +3 -3
- ccxt/async_support/__init__.py +1 -3
- ccxt/async_support/ace.py +2 -2
- ccxt/async_support/alpaca.py +12 -7
- ccxt/async_support/ascendex.py +3 -3
- ccxt/async_support/base/exchange.py +4 -1
- ccxt/async_support/bequant.py +2 -1
- ccxt/async_support/bigone.py +5 -5
- ccxt/async_support/binance.py +84 -4
- ccxt/async_support/binancecoinm.py +2 -1
- ccxt/async_support/binanceus.py +2 -1
- ccxt/async_support/binanceusdm.py +2 -1
- ccxt/async_support/bingx.py +3 -3
- ccxt/async_support/bit2c.py +9 -9
- ccxt/async_support/bitbank.py +2 -2
- ccxt/async_support/bitbns.py +2 -2
- ccxt/async_support/bitcoincom.py +2 -1
- ccxt/async_support/bitfinex.py +2 -2
- ccxt/async_support/bitfinex1.py +2 -2
- ccxt/async_support/bitflyer.py +2 -2
- ccxt/async_support/bitget.py +6 -5
- ccxt/async_support/bithumb.py +2 -2
- ccxt/async_support/bitmart.py +137 -86
- ccxt/async_support/bitmex.py +2 -2
- ccxt/async_support/bitopro.py +2 -2
- ccxt/async_support/bitpanda.py +2 -1
- ccxt/async_support/bitrue.py +3 -3
- ccxt/async_support/bitso.py +2 -2
- ccxt/async_support/bitstamp.py +2 -2
- ccxt/async_support/bitteam.py +2 -2
- ccxt/async_support/bitvavo.py +3 -3
- ccxt/async_support/bl3p.py +2 -2
- ccxt/async_support/blockchaincom.py +2 -2
- ccxt/async_support/blofin.py +2 -2
- ccxt/async_support/btcalpha.py +2 -2
- ccxt/async_support/btcbox.py +2 -2
- ccxt/async_support/btcmarkets.py +3 -3
- ccxt/async_support/btcturk.py +2 -2
- ccxt/async_support/bybit.py +9 -6
- ccxt/async_support/cex.py +3 -3
- ccxt/async_support/coinbase.py +4 -4
- ccxt/async_support/coinbaseadvanced.py +2 -1
- ccxt/async_support/coinbaseexchange.py +3 -3
- ccxt/async_support/coinbaseinternational.py +3 -4
- ccxt/async_support/coincatch.py +3 -3
- ccxt/async_support/coincheck.py +2 -2
- ccxt/async_support/coinex.py +3 -3
- ccxt/async_support/coinlist.py +3 -3
- ccxt/async_support/coinmate.py +2 -2
- ccxt/async_support/coinmetro.py +2 -2
- ccxt/async_support/coinone.py +2 -2
- ccxt/async_support/coinsph.py +3 -3
- ccxt/async_support/coinspot.py +2 -2
- ccxt/async_support/cryptocom.py +2 -2
- ccxt/async_support/currencycom.py +3 -3
- ccxt/async_support/defx.py +3 -3
- ccxt/async_support/delta.py +3 -3
- ccxt/async_support/deribit.py +3 -3
- ccxt/async_support/digifinex.py +3 -3
- ccxt/async_support/ellipx.py +1 -1
- ccxt/async_support/exmo.py +2 -2
- ccxt/async_support/fmfwio.py +2 -1
- ccxt/async_support/gate.py +3 -3
- ccxt/async_support/gateio.py +2 -1
- ccxt/async_support/gemini.py +2 -2
- ccxt/async_support/hashkey.py +2 -2
- ccxt/async_support/hitbtc.py +3 -3
- ccxt/async_support/hollaex.py +3 -3
- ccxt/async_support/htx.py +3 -3
- ccxt/async_support/huobi.py +2 -1
- ccxt/async_support/huobijp.py +3 -3
- ccxt/async_support/hyperliquid.py +83 -3
- ccxt/async_support/idex.py +3 -3
- ccxt/async_support/independentreserve.py +2 -2
- ccxt/async_support/indodax.py +3 -3
- ccxt/async_support/kraken.py +3 -3
- ccxt/async_support/krakenfutures.py +2 -2
- ccxt/async_support/kucoin.py +3 -3
- ccxt/async_support/kucoinfutures.py +3 -3
- ccxt/async_support/kuna.py +3 -3
- ccxt/async_support/latoken.py +3 -3
- ccxt/async_support/lbank.py +3 -3
- ccxt/async_support/luno.py +2 -2
- ccxt/async_support/mercado.py +2 -2
- ccxt/async_support/mexc.py +3 -3
- ccxt/async_support/myokx.py +2 -1
- ccxt/async_support/ndax.py +2 -2
- ccxt/async_support/novadax.py +3 -3
- ccxt/async_support/oceanex.py +3 -3
- ccxt/async_support/okcoin.py +3 -3
- ccxt/async_support/okx.py +3 -4
- ccxt/async_support/onetrading.py +3 -3
- ccxt/async_support/oxfun.py +3 -3
- ccxt/async_support/p2b.py +2 -2
- ccxt/async_support/paradex.py +3 -3
- ccxt/async_support/paymium.py +2 -2
- ccxt/async_support/phemex.py +2 -2
- ccxt/async_support/poloniex.py +3 -3
- ccxt/async_support/poloniexfutures.py +3 -3
- ccxt/async_support/probit.py +3 -3
- ccxt/async_support/timex.py +3 -3
- ccxt/async_support/tokocrypto.py +3 -3
- ccxt/async_support/tradeogre.py +2 -2
- ccxt/async_support/upbit.py +2 -2
- ccxt/async_support/vertex.py +4 -4
- ccxt/async_support/wavesexchange.py +2 -3
- ccxt/async_support/whitebit.py +3 -3
- ccxt/async_support/woo.py +3 -4
- ccxt/async_support/woofipro.py +3 -4
- ccxt/async_support/xt.py +15 -3
- ccxt/async_support/yobit.py +2 -2
- ccxt/async_support/zaif.py +2 -2
- ccxt/async_support/zonda.py +2 -2
- ccxt/base/errors.py +6 -0
- ccxt/base/exchange.py +8 -3
- ccxt/bequant.py +2 -1
- ccxt/bigone.py +5 -5
- ccxt/binance.py +84 -4
- ccxt/binancecoinm.py +2 -1
- ccxt/binanceus.py +2 -1
- ccxt/binanceusdm.py +2 -1
- ccxt/bingx.py +3 -3
- ccxt/bit2c.py +9 -9
- ccxt/bitbank.py +2 -2
- ccxt/bitbns.py +2 -2
- ccxt/bitcoincom.py +2 -1
- ccxt/bitfinex.py +2 -2
- ccxt/bitfinex1.py +2 -2
- ccxt/bitflyer.py +2 -2
- ccxt/bitget.py +6 -5
- ccxt/bithumb.py +2 -2
- ccxt/bitmart.py +137 -86
- ccxt/bitmex.py +2 -2
- ccxt/bitopro.py +2 -2
- ccxt/bitpanda.py +2 -1
- ccxt/bitrue.py +3 -3
- ccxt/bitso.py +2 -2
- ccxt/bitstamp.py +2 -2
- ccxt/bitteam.py +2 -2
- ccxt/bitvavo.py +3 -3
- ccxt/bl3p.py +2 -2
- ccxt/blockchaincom.py +2 -2
- ccxt/blofin.py +2 -2
- ccxt/btcalpha.py +2 -2
- ccxt/btcbox.py +2 -2
- ccxt/btcmarkets.py +3 -3
- ccxt/btcturk.py +2 -2
- ccxt/bybit.py +9 -6
- ccxt/cex.py +3 -3
- ccxt/coinbase.py +4 -4
- ccxt/coinbaseadvanced.py +2 -1
- ccxt/coinbaseexchange.py +3 -3
- ccxt/coinbaseinternational.py +3 -4
- ccxt/coincatch.py +3 -3
- ccxt/coincheck.py +2 -2
- ccxt/coinex.py +3 -3
- ccxt/coinlist.py +3 -3
- ccxt/coinmate.py +2 -2
- ccxt/coinmetro.py +2 -2
- ccxt/coinone.py +2 -2
- ccxt/coinsph.py +3 -3
- ccxt/coinspot.py +2 -2
- ccxt/cryptocom.py +2 -2
- ccxt/currencycom.py +3 -3
- ccxt/defx.py +3 -3
- ccxt/delta.py +3 -3
- ccxt/deribit.py +3 -3
- ccxt/digifinex.py +3 -3
- ccxt/ellipx.py +1 -1
- ccxt/exmo.py +2 -2
- ccxt/fmfwio.py +2 -1
- ccxt/gate.py +3 -3
- ccxt/gateio.py +2 -1
- ccxt/gemini.py +2 -2
- ccxt/hashkey.py +2 -2
- ccxt/hitbtc.py +3 -3
- ccxt/hollaex.py +3 -3
- ccxt/htx.py +3 -3
- ccxt/huobi.py +2 -1
- ccxt/huobijp.py +3 -3
- ccxt/hyperliquid.py +83 -3
- ccxt/idex.py +3 -3
- ccxt/independentreserve.py +2 -2
- ccxt/indodax.py +3 -3
- ccxt/kraken.py +3 -3
- ccxt/krakenfutures.py +2 -2
- ccxt/kucoin.py +3 -3
- ccxt/kucoinfutures.py +3 -3
- ccxt/kuna.py +3 -3
- ccxt/latoken.py +3 -3
- ccxt/lbank.py +3 -3
- ccxt/luno.py +2 -2
- ccxt/mercado.py +2 -2
- ccxt/mexc.py +3 -3
- ccxt/myokx.py +2 -1
- ccxt/ndax.py +2 -2
- ccxt/novadax.py +3 -3
- ccxt/oceanex.py +3 -3
- ccxt/okcoin.py +3 -3
- ccxt/okx.py +3 -4
- ccxt/onetrading.py +3 -3
- ccxt/oxfun.py +3 -3
- ccxt/p2b.py +2 -2
- ccxt/paradex.py +3 -3
- ccxt/paymium.py +2 -2
- ccxt/phemex.py +2 -2
- ccxt/poloniex.py +3 -3
- ccxt/poloniexfutures.py +3 -3
- ccxt/pro/__init__.py +1 -3
- ccxt/pro/alpaca.py +2 -2
- ccxt/pro/ascendex.py +2 -2
- ccxt/pro/bequant.py +2 -1
- ccxt/pro/binance.py +2 -3
- ccxt/pro/binancecoinm.py +2 -1
- ccxt/pro/binanceus.py +3 -2
- ccxt/pro/binanceusdm.py +2 -1
- ccxt/pro/bingx.py +2 -2
- ccxt/pro/bitcoincom.py +2 -1
- ccxt/pro/bitfinex.py +2 -2
- ccxt/pro/bitfinex1.py +2 -2
- ccxt/pro/bitget.py +2 -3
- ccxt/pro/bithumb.py +2 -2
- ccxt/pro/bitmart.py +2 -2
- ccxt/pro/bitmex.py +2 -2
- ccxt/pro/bitopro.py +2 -2
- ccxt/pro/bitpanda.py +2 -1
- ccxt/pro/bitrue.py +2 -2
- ccxt/pro/bitstamp.py +2 -2
- ccxt/pro/bitvavo.py +2 -2
- ccxt/pro/blockchaincom.py +2 -2
- ccxt/pro/blofin.py +1 -1
- ccxt/pro/bybit.py +2 -3
- ccxt/pro/cex.py +2 -2
- ccxt/pro/coinbase.py +2 -2
- ccxt/pro/coinbaseadvanced.py +2 -1
- ccxt/pro/coinbaseexchange.py +2 -2
- ccxt/pro/coinbaseinternational.py +2 -2
- ccxt/pro/coincatch.py +2 -3
- ccxt/pro/coincheck.py +2 -2
- ccxt/pro/coinex.py +2 -2
- ccxt/pro/coinone.py +2 -2
- ccxt/pro/cryptocom.py +2 -3
- ccxt/pro/currencycom.py +2 -2
- ccxt/pro/defx.py +2 -3
- ccxt/pro/deribit.py +2 -2
- ccxt/pro/exmo.py +2 -2
- ccxt/pro/gate.py +2 -3
- ccxt/pro/gateio.py +2 -1
- ccxt/pro/gemini.py +2 -2
- ccxt/pro/hashkey.py +2 -2
- ccxt/pro/hitbtc.py +2 -2
- ccxt/pro/hollaex.py +2 -2
- ccxt/pro/htx.py +2 -2
- ccxt/pro/huobi.py +2 -1
- ccxt/pro/huobijp.py +2 -2
- ccxt/pro/hyperliquid.py +2 -3
- ccxt/pro/idex.py +2 -2
- ccxt/pro/independentreserve.py +2 -2
- ccxt/pro/kraken.py +2 -2
- ccxt/pro/krakenfutures.py +2 -2
- ccxt/pro/kucoin.py +2 -3
- ccxt/pro/kucoinfutures.py +2 -3
- ccxt/pro/lbank.py +2 -2
- ccxt/pro/luno.py +2 -2
- ccxt/pro/mexc.py +2 -2
- ccxt/pro/myokx.py +2 -1
- ccxt/pro/ndax.py +2 -2
- ccxt/pro/okcoin.py +2 -2
- ccxt/pro/okx.py +2 -3
- ccxt/pro/onetrading.py +2 -2
- ccxt/pro/oxfun.py +2 -2
- ccxt/pro/p2b.py +2 -2
- ccxt/pro/paradex.py +2 -2
- ccxt/pro/phemex.py +2 -2
- ccxt/pro/poloniex.py +2 -2
- ccxt/pro/poloniexfutures.py +2 -2
- ccxt/pro/probit.py +2 -2
- ccxt/pro/upbit.py +2 -2
- ccxt/pro/vertex.py +2 -2
- ccxt/pro/wazirx.py +2 -2
- ccxt/pro/whitebit.py +2 -2
- ccxt/pro/woo.py +2 -2
- ccxt/pro/woofipro.py +2 -2
- ccxt/pro/xt.py +110 -4
- ccxt/probit.py +3 -3
- ccxt/test/tests_async.py +11 -0
- ccxt/test/tests_sync.py +11 -0
- ccxt/timex.py +3 -3
- ccxt/tokocrypto.py +3 -3
- ccxt/tradeogre.py +2 -2
- ccxt/upbit.py +2 -2
- ccxt/vertex.py +4 -4
- ccxt/wavesexchange.py +2 -3
- ccxt/whitebit.py +3 -3
- ccxt/woo.py +3 -4
- ccxt/woofipro.py +3 -4
- ccxt/xt.py +15 -3
- ccxt/yobit.py +2 -2
- ccxt/zaif.py +2 -2
- ccxt/zonda.py +2 -2
- {ccxt-4.4.58.dist-info → ccxt-4.4.60.dist-info}/METADATA +30 -33
- {ccxt-4.4.58.dist-info → ccxt-4.4.60.dist-info}/RECORD +308 -311
- ccxt/abstract/wazirx.py +0 -30
- ccxt/async_support/wazirx.py +0 -1336
- ccxt/wazirx.py +0 -1336
- {ccxt-4.4.58.dist-info → ccxt-4.4.60.dist-info}/LICENSE.txt +0 -0
- {ccxt-4.4.58.dist-info → ccxt-4.4.60.dist-info}/WHEEL +0 -0
- {ccxt-4.4.58.dist-info → ccxt-4.4.60.dist-info}/top_level.txt +0 -0
ccxt/__init__.py
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
# ----------------------------------------------------------------------------
|
24
24
|
|
25
|
-
__version__ = '4.4.
|
25
|
+
__version__ = '4.4.60'
|
26
26
|
|
27
27
|
# ----------------------------------------------------------------------------
|
28
28
|
|
@@ -186,7 +186,6 @@ from ccxt.tradeogre import tradeogre # noqa: F4
|
|
186
186
|
from ccxt.upbit import upbit # noqa: F401
|
187
187
|
from ccxt.vertex import vertex # noqa: F401
|
188
188
|
from ccxt.wavesexchange import wavesexchange # noqa: F401
|
189
|
-
from ccxt.wazirx import wazirx # noqa: F401
|
190
189
|
from ccxt.whitebit import whitebit # noqa: F401
|
191
190
|
from ccxt.woo import woo # noqa: F401
|
192
191
|
from ccxt.woofipro import woofipro # noqa: F401
|
@@ -299,7 +298,6 @@ exchanges = [
|
|
299
298
|
'upbit',
|
300
299
|
'vertex',
|
301
300
|
'wavesexchange',
|
302
|
-
'wazirx',
|
303
301
|
'whitebit',
|
304
302
|
'woo',
|
305
303
|
'woofipro',
|
ccxt/ace.py
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
from ccxt.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.ace import ImplicitAPI
|
8
|
-
from ccxt.base.types import Balances, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade
|
8
|
+
from ccxt.base.types import Any, Balances, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade
|
9
9
|
from typing import List
|
10
10
|
from ccxt.base.errors import AuthenticationError
|
11
11
|
from ccxt.base.errors import ArgumentsRequired
|
@@ -18,7 +18,7 @@ from ccxt.base.precise import Precise
|
|
18
18
|
|
19
19
|
class ace(Exchange, ImplicitAPI):
|
20
20
|
|
21
|
-
def describe(self):
|
21
|
+
def describe(self) -> Any:
|
22
22
|
return self.deep_extend(super(ace, self).describe(), {
|
23
23
|
'id': 'ace',
|
24
24
|
'name': 'ACE',
|
ccxt/alpaca.py
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
from ccxt.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.alpaca import ImplicitAPI
|
8
|
-
from ccxt.base.types import Balances, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
|
8
|
+
from ccxt.base.types import Any, Balances, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
|
9
9
|
from typing import List
|
10
10
|
from ccxt.base.errors import ExchangeError
|
11
11
|
from ccxt.base.errors import PermissionDenied
|
@@ -22,7 +22,7 @@ from ccxt.base.precise import Precise
|
|
22
22
|
|
23
23
|
class alpaca(Exchange, ImplicitAPI):
|
24
24
|
|
25
|
-
def describe(self):
|
25
|
+
def describe(self) -> Any:
|
26
26
|
return self.deep_extend(super(alpaca, self).describe(), {
|
27
27
|
'id': 'alpaca',
|
28
28
|
'name': 'Alpaca',
|
@@ -378,7 +378,7 @@ class alpaca(Exchange, ImplicitAPI):
|
|
378
378
|
},
|
379
379
|
})
|
380
380
|
|
381
|
-
def fetch_time(self, params={}):
|
381
|
+
def fetch_time(self, params={}) -> Int:
|
382
382
|
"""
|
383
383
|
fetches the current integer timestamp in milliseconds from the exchange server
|
384
384
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -991,7 +991,7 @@ class alpaca(Exchange, ImplicitAPI):
|
|
991
991
|
}
|
992
992
|
triggerPrice = self.safe_string_n(params, ['triggerPrice', 'stop_price'])
|
993
993
|
if triggerPrice is not None:
|
994
|
-
newType
|
994
|
+
newType: str
|
995
995
|
if type.find('limit') >= 0:
|
996
996
|
newType = 'stop_limit'
|
997
997
|
else:
|
@@ -1138,9 +1138,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1138
1138
|
until = self.safe_integer(params, 'until')
|
1139
1139
|
if until is not None:
|
1140
1140
|
params = self.omit(params, 'until')
|
1141
|
-
request['endTime'] = until
|
1141
|
+
request['endTime'] = self.iso8601(until)
|
1142
1142
|
if since is not None:
|
1143
|
-
request['after'] = since
|
1143
|
+
request['after'] = self.iso8601(since)
|
1144
1144
|
if limit is not None:
|
1145
1145
|
request['limit'] = limit
|
1146
1146
|
response = self.traderPrivateGetV2Orders(self.extend(request, params))
|
@@ -1374,6 +1374,7 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1374
1374
|
:param int [limit]: the maximum number of trade structures to retrieve
|
1375
1375
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1376
1376
|
:param int [params.until]: the latest time in ms to fetch trades for
|
1377
|
+
:param str [params.page_token]: page_token - used for paging
|
1377
1378
|
:returns Trade[]: a list of `trade structures <https://docs.ccxt.com/#/?id=trade-structure>`
|
1378
1379
|
"""
|
1379
1380
|
self.load_markets()
|
@@ -1383,8 +1384,12 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1383
1384
|
}
|
1384
1385
|
if symbol is not None:
|
1385
1386
|
market = self.market(symbol)
|
1387
|
+
until = self.safe_integer(params, 'until')
|
1388
|
+
if until is not None:
|
1389
|
+
params = self.omit(params, 'until')
|
1390
|
+
request['until'] = self.iso8601(until)
|
1386
1391
|
if since is not None:
|
1387
|
-
request['after'] = since
|
1392
|
+
request['after'] = self.iso8601(since)
|
1388
1393
|
if limit is not None:
|
1389
1394
|
request['page_size'] = limit
|
1390
1395
|
request, params = self.handle_until_option('until', request, params)
|
ccxt/ascendex.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.ascendex import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Account, Balances, Currencies, Currency, DepositAddress, Int, Leverage, Leverages, LeverageTier, LeverageTiers, MarginMode, MarginModes, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFees, Transaction, TransferEntry
|
9
|
+
from ccxt.base.types import Account, Any, Balances, Currencies, Currency, DepositAddress, Int, Leverage, Leverages, LeverageTier, LeverageTiers, MarginMode, MarginModes, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFees, Transaction, TransferEntry
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import AuthenticationError
|
@@ -24,7 +24,7 @@ from ccxt.base.precise import Precise
|
|
24
24
|
|
25
25
|
class ascendex(Exchange, ImplicitAPI):
|
26
26
|
|
27
|
-
def describe(self):
|
27
|
+
def describe(self) -> Any:
|
28
28
|
return self.deep_extend(super(ascendex, self).describe(), {
|
29
29
|
'id': 'ascendex',
|
30
30
|
'name': 'AscendEX',
|
@@ -783,7 +783,7 @@ class ascendex(Exchange, ImplicitAPI):
|
|
783
783
|
})
|
784
784
|
return result
|
785
785
|
|
786
|
-
def fetch_time(self, params={}):
|
786
|
+
def fetch_time(self, params={}) -> Int:
|
787
787
|
"""
|
788
788
|
fetches the current integer timestamp in milliseconds from the ascendex server
|
789
789
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
ccxt/async_support/__init__.py
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.4.
|
7
|
+
__version__ = '4.4.60'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -166,7 +166,6 @@ from ccxt.async_support.tradeogre import tradeogre
|
|
166
166
|
from ccxt.async_support.upbit import upbit # noqa: F401
|
167
167
|
from ccxt.async_support.vertex import vertex # noqa: F401
|
168
168
|
from ccxt.async_support.wavesexchange import wavesexchange # noqa: F401
|
169
|
-
from ccxt.async_support.wazirx import wazirx # noqa: F401
|
170
169
|
from ccxt.async_support.whitebit import whitebit # noqa: F401
|
171
170
|
from ccxt.async_support.woo import woo # noqa: F401
|
172
171
|
from ccxt.async_support.woofipro import woofipro # noqa: F401
|
@@ -279,7 +278,6 @@ exchanges = [
|
|
279
278
|
'upbit',
|
280
279
|
'vertex',
|
281
280
|
'wavesexchange',
|
282
|
-
'wazirx',
|
283
281
|
'whitebit',
|
284
282
|
'woo',
|
285
283
|
'woofipro',
|
ccxt/async_support/ace.py
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.ace import ImplicitAPI
|
8
|
-
from ccxt.base.types import Balances, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade
|
8
|
+
from ccxt.base.types import Any, Balances, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade
|
9
9
|
from typing import List
|
10
10
|
from ccxt.base.errors import AuthenticationError
|
11
11
|
from ccxt.base.errors import ArgumentsRequired
|
@@ -18,7 +18,7 @@ from ccxt.base.precise import Precise
|
|
18
18
|
|
19
19
|
class ace(Exchange, ImplicitAPI):
|
20
20
|
|
21
|
-
def describe(self):
|
21
|
+
def describe(self) -> Any:
|
22
22
|
return self.deep_extend(super(ace, self).describe(), {
|
23
23
|
'id': 'ace',
|
24
24
|
'name': 'ACE',
|
ccxt/async_support/alpaca.py
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.alpaca import ImplicitAPI
|
8
|
-
from ccxt.base.types import Balances, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
|
8
|
+
from ccxt.base.types import Any, Balances, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
|
9
9
|
from typing import List
|
10
10
|
from ccxt.base.errors import ExchangeError
|
11
11
|
from ccxt.base.errors import PermissionDenied
|
@@ -22,7 +22,7 @@ from ccxt.base.precise import Precise
|
|
22
22
|
|
23
23
|
class alpaca(Exchange, ImplicitAPI):
|
24
24
|
|
25
|
-
def describe(self):
|
25
|
+
def describe(self) -> Any:
|
26
26
|
return self.deep_extend(super(alpaca, self).describe(), {
|
27
27
|
'id': 'alpaca',
|
28
28
|
'name': 'Alpaca',
|
@@ -378,7 +378,7 @@ class alpaca(Exchange, ImplicitAPI):
|
|
378
378
|
},
|
379
379
|
})
|
380
380
|
|
381
|
-
async def fetch_time(self, params={}):
|
381
|
+
async def fetch_time(self, params={}) -> Int:
|
382
382
|
"""
|
383
383
|
fetches the current integer timestamp in milliseconds from the exchange server
|
384
384
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -991,7 +991,7 @@ class alpaca(Exchange, ImplicitAPI):
|
|
991
991
|
}
|
992
992
|
triggerPrice = self.safe_string_n(params, ['triggerPrice', 'stop_price'])
|
993
993
|
if triggerPrice is not None:
|
994
|
-
newType
|
994
|
+
newType: str
|
995
995
|
if type.find('limit') >= 0:
|
996
996
|
newType = 'stop_limit'
|
997
997
|
else:
|
@@ -1138,9 +1138,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1138
1138
|
until = self.safe_integer(params, 'until')
|
1139
1139
|
if until is not None:
|
1140
1140
|
params = self.omit(params, 'until')
|
1141
|
-
request['endTime'] = until
|
1141
|
+
request['endTime'] = self.iso8601(until)
|
1142
1142
|
if since is not None:
|
1143
|
-
request['after'] = since
|
1143
|
+
request['after'] = self.iso8601(since)
|
1144
1144
|
if limit is not None:
|
1145
1145
|
request['limit'] = limit
|
1146
1146
|
response = await self.traderPrivateGetV2Orders(self.extend(request, params))
|
@@ -1374,6 +1374,7 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1374
1374
|
:param int [limit]: the maximum number of trade structures to retrieve
|
1375
1375
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1376
1376
|
:param int [params.until]: the latest time in ms to fetch trades for
|
1377
|
+
:param str [params.page_token]: page_token - used for paging
|
1377
1378
|
:returns Trade[]: a list of `trade structures <https://docs.ccxt.com/#/?id=trade-structure>`
|
1378
1379
|
"""
|
1379
1380
|
await self.load_markets()
|
@@ -1383,8 +1384,12 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1383
1384
|
}
|
1384
1385
|
if symbol is not None:
|
1385
1386
|
market = self.market(symbol)
|
1387
|
+
until = self.safe_integer(params, 'until')
|
1388
|
+
if until is not None:
|
1389
|
+
params = self.omit(params, 'until')
|
1390
|
+
request['until'] = self.iso8601(until)
|
1386
1391
|
if since is not None:
|
1387
|
-
request['after'] = since
|
1392
|
+
request['after'] = self.iso8601(since)
|
1388
1393
|
if limit is not None:
|
1389
1394
|
request['page_size'] = limit
|
1390
1395
|
request, params = self.handle_until_option('until', request, params)
|
ccxt/async_support/ascendex.py
CHANGED
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.ascendex import ImplicitAPI
|
8
8
|
import asyncio
|
9
9
|
import hashlib
|
10
|
-
from ccxt.base.types import Account, Balances, Currencies, Currency, DepositAddress, Int, Leverage, Leverages, LeverageTier, LeverageTiers, MarginMode, MarginModes, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFees, Transaction, TransferEntry
|
10
|
+
from ccxt.base.types import Account, Any, Balances, Currencies, Currency, DepositAddress, Int, Leverage, Leverages, LeverageTier, LeverageTiers, MarginMode, MarginModes, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFees, Transaction, TransferEntry
|
11
11
|
from typing import List
|
12
12
|
from ccxt.base.errors import ExchangeError
|
13
13
|
from ccxt.base.errors import AuthenticationError
|
@@ -25,7 +25,7 @@ from ccxt.base.precise import Precise
|
|
25
25
|
|
26
26
|
class ascendex(Exchange, ImplicitAPI):
|
27
27
|
|
28
|
-
def describe(self):
|
28
|
+
def describe(self) -> Any:
|
29
29
|
return self.deep_extend(super(ascendex, self).describe(), {
|
30
30
|
'id': 'ascendex',
|
31
31
|
'name': 'AscendEX',
|
@@ -784,7 +784,7 @@ class ascendex(Exchange, ImplicitAPI):
|
|
784
784
|
})
|
785
785
|
return result
|
786
786
|
|
787
|
-
async def fetch_time(self, params={}):
|
787
|
+
async def fetch_time(self, params={}) -> Int:
|
788
788
|
"""
|
789
789
|
fetches the current integer timestamp in milliseconds from the ascendex server
|
790
790
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '4.4.
|
5
|
+
__version__ = '4.4.60'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -1440,6 +1440,9 @@ class Exchange(BaseExchange):
|
|
1440
1440
|
async def create_orders(self, orders: List[OrderRequest], params={}):
|
1441
1441
|
raise NotSupported(self.id + ' createOrders() is not supported yet')
|
1442
1442
|
|
1443
|
+
async def edit_orders(self, orders: List[OrderRequest], params={}):
|
1444
|
+
raise NotSupported(self.id + ' editOrders() is not supported yet')
|
1445
|
+
|
1443
1446
|
async def create_order_ws(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
1444
1447
|
raise NotSupported(self.id + ' createOrderWs() is not supported yet')
|
1445
1448
|
|
ccxt/async_support/bequant.py
CHANGED
@@ -5,11 +5,12 @@
|
|
5
5
|
|
6
6
|
from ccxt.async_support.hitbtc import hitbtc
|
7
7
|
from ccxt.abstract.bequant import ImplicitAPI
|
8
|
+
from ccxt.base.types import Any
|
8
9
|
|
9
10
|
|
10
11
|
class bequant(hitbtc, ImplicitAPI):
|
11
12
|
|
12
|
-
def describe(self):
|
13
|
+
def describe(self) -> Any:
|
13
14
|
return self.deep_extend(super(bequant, self).describe(), {
|
14
15
|
'id': 'bequant',
|
15
16
|
'name': 'Bequant',
|
ccxt/async_support/bigone.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.bigone import ImplicitAPI
|
8
8
|
import asyncio
|
9
|
-
from ccxt.base.types import Balances, Bool, Currencies, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
9
|
+
from ccxt.base.types import Any, Balances, Bool, Currencies, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, 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
|
@@ -24,7 +24,7 @@ from ccxt.base.precise import Precise
|
|
24
24
|
|
25
25
|
class bigone(Exchange, ImplicitAPI):
|
26
26
|
|
27
|
-
def describe(self):
|
27
|
+
def describe(self) -> Any:
|
28
28
|
return self.deep_extend(super(bigone, self).describe(), {
|
29
29
|
'id': 'bigone',
|
30
30
|
'name': 'BigONE',
|
@@ -965,7 +965,7 @@ class bigone(Exchange, ImplicitAPI):
|
|
965
965
|
tickers = self.parse_tickers(data, symbols)
|
966
966
|
return self.filter_by_array_tickers(tickers, 'symbol', symbols)
|
967
967
|
|
968
|
-
async def fetch_time(self, params={}):
|
968
|
+
async def fetch_time(self, params={}) -> Int:
|
969
969
|
"""
|
970
970
|
fetches the current integer timestamp in milliseconds from the exchange server
|
971
971
|
|
@@ -1163,8 +1163,8 @@ class bigone(Exchange, ImplicitAPI):
|
|
1163
1163
|
'cost': None,
|
1164
1164
|
'info': trade,
|
1165
1165
|
}
|
1166
|
-
makerCurrencyCode
|
1167
|
-
takerCurrencyCode
|
1166
|
+
makerCurrencyCode: str
|
1167
|
+
takerCurrencyCode: str
|
1168
1168
|
if takerOrMaker is not None:
|
1169
1169
|
if side == 'buy':
|
1170
1170
|
if takerOrMaker == 'maker':
|
ccxt/async_support/binance.py
CHANGED
@@ -8,7 +8,7 @@ from ccxt.abstract.binance import ImplicitAPI
|
|
8
8
|
import asyncio
|
9
9
|
import hashlib
|
10
10
|
import json
|
11
|
-
from ccxt.base.types import Balances, BorrowInterest, Conversion, CrossBorrowRate, Currencies, Currency, DepositAddress, Greeks, Int, IsolatedBorrowRate, IsolatedBorrowRates, LedgerEntry, Leverage, Leverages, LeverageTier, LeverageTiers, LongShortRatio, MarginMode, MarginModes, MarginModification, Market, Num, Option, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFeeInterface, TradingFees, Transaction, MarketInterface, TransferEntry
|
11
|
+
from ccxt.base.types import Any, Balances, BorrowInterest, Conversion, CrossBorrowRate, Currencies, Currency, DepositAddress, Greeks, Int, IsolatedBorrowRate, IsolatedBorrowRates, LedgerEntry, Leverage, Leverages, LeverageTier, LeverageTiers, LongShortRatio, MarginMode, MarginModes, MarginModification, Market, Num, Option, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFeeInterface, TradingFees, Transaction, MarketInterface, TransferEntry
|
12
12
|
from typing import List
|
13
13
|
from ccxt.base.errors import ExchangeError
|
14
14
|
from ccxt.base.errors import AuthenticationError
|
@@ -40,7 +40,7 @@ from ccxt.base.precise import Precise
|
|
40
40
|
|
41
41
|
class binance(Exchange, ImplicitAPI):
|
42
42
|
|
43
|
-
def describe(self):
|
43
|
+
def describe(self) -> Any:
|
44
44
|
return self.deep_extend(super(binance, self).describe(), {
|
45
45
|
'id': 'binance',
|
46
46
|
'name': 'Binance',
|
@@ -86,6 +86,7 @@ class binance(Exchange, ImplicitAPI):
|
|
86
86
|
'createTrailingPercentOrder': True,
|
87
87
|
'createTriggerOrder': True,
|
88
88
|
'editOrder': True,
|
89
|
+
'editOrders': True,
|
89
90
|
'fetchAccounts': None,
|
90
91
|
'fetchBalance': True,
|
91
92
|
'fetchBidsAsks': True,
|
@@ -2939,7 +2940,7 @@ class binance(Exchange, ImplicitAPI):
|
|
2939
2940
|
def nonce(self):
|
2940
2941
|
return self.milliseconds() - self.options['timeDifference']
|
2941
2942
|
|
2942
|
-
async def fetch_time(self, params={}):
|
2943
|
+
async def fetch_time(self, params={}) -> Int:
|
2943
2944
|
"""
|
2944
2945
|
fetches the current integer timestamp in milliseconds from the exchange server
|
2945
2946
|
|
@@ -5393,6 +5394,85 @@ class binance(Exchange, ImplicitAPI):
|
|
5393
5394
|
else:
|
5394
5395
|
return await self.edit_contract_order(id, symbol, type, side, amount, price, params)
|
5395
5396
|
|
5397
|
+
async def edit_orders(self, orders: List[OrderRequest], params={}):
|
5398
|
+
"""
|
5399
|
+
edit a list of trade orders
|
5400
|
+
|
5401
|
+
https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Modify-Multiple-Orders
|
5402
|
+
https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/Modify-Multiple-Orders
|
5403
|
+
|
5404
|
+
:param Array orders: list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params
|
5405
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
5406
|
+
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
5407
|
+
"""
|
5408
|
+
await self.load_markets()
|
5409
|
+
ordersRequests = []
|
5410
|
+
orderSymbols = []
|
5411
|
+
for i in range(0, len(orders)):
|
5412
|
+
rawOrder = orders[i]
|
5413
|
+
marketId = self.safe_string(rawOrder, 'symbol')
|
5414
|
+
orderSymbols.append(marketId)
|
5415
|
+
id = self.safe_string(rawOrder, 'id')
|
5416
|
+
type = self.safe_string(rawOrder, 'type')
|
5417
|
+
side = self.safe_string(rawOrder, 'side')
|
5418
|
+
amount = self.safe_value(rawOrder, 'amount')
|
5419
|
+
price = self.safe_value(rawOrder, 'price')
|
5420
|
+
orderParams = self.safe_dict(rawOrder, 'params', {})
|
5421
|
+
isPortfolioMargin = None
|
5422
|
+
isPortfolioMargin, orderParams = self.handle_option_and_params_2(orderParams, 'editOrders', 'papi', 'portfolioMargin', False)
|
5423
|
+
if isPortfolioMargin:
|
5424
|
+
raise NotSupported(self.id + ' editOrders() does not support portfolio margin orders')
|
5425
|
+
orderRequest = self.edit_contract_order_request(id, marketId, type, side, amount, price, orderParams)
|
5426
|
+
ordersRequests.append(orderRequest)
|
5427
|
+
orderSymbols = self.market_symbols(orderSymbols, None, False, True, True)
|
5428
|
+
market = self.market(orderSymbols[0])
|
5429
|
+
if market['spot'] or market['option']:
|
5430
|
+
raise NotSupported(self.id + ' editOrders() does not support ' + market['type'] + ' orders')
|
5431
|
+
response = None
|
5432
|
+
request: dict = {
|
5433
|
+
'batchOrders': ordersRequests,
|
5434
|
+
}
|
5435
|
+
request = self.extend(request, params)
|
5436
|
+
if market['linear']:
|
5437
|
+
response = await self.fapiPrivatePutBatchOrders(request)
|
5438
|
+
elif market['inverse']:
|
5439
|
+
response = await self.dapiPrivatePutBatchOrders(request)
|
5440
|
+
#
|
5441
|
+
# [
|
5442
|
+
# {
|
5443
|
+
# "code": -4005,
|
5444
|
+
# "msg": "Quantity greater than max quantity."
|
5445
|
+
# },
|
5446
|
+
# {
|
5447
|
+
# "orderId": 650640530,
|
5448
|
+
# "symbol": "LTCUSDT",
|
5449
|
+
# "status": "NEW",
|
5450
|
+
# "clientOrderId": "x-xcKtGhcu32184eb13585491289bbaf",
|
5451
|
+
# "price": "54.00",
|
5452
|
+
# "avgPrice": "0.00",
|
5453
|
+
# "origQty": "0.100",
|
5454
|
+
# "executedQty": "0.000",
|
5455
|
+
# "cumQty": "0.000",
|
5456
|
+
# "cumQuote": "0.00000",
|
5457
|
+
# "timeInForce": "GTC",
|
5458
|
+
# "type": "LIMIT",
|
5459
|
+
# "reduceOnly": False,
|
5460
|
+
# "closePosition": False,
|
5461
|
+
# "side": "BUY",
|
5462
|
+
# "positionSide": "BOTH",
|
5463
|
+
# "stopPrice": "0.00",
|
5464
|
+
# "workingType": "CONTRACT_PRICE",
|
5465
|
+
# "priceProtect": False,
|
5466
|
+
# "origType": "LIMIT",
|
5467
|
+
# "priceMatch": "NONE",
|
5468
|
+
# "selfTradePreventionMode": "NONE",
|
5469
|
+
# "goodTillDate": 0,
|
5470
|
+
# "updateTime": 1698073926929
|
5471
|
+
# }
|
5472
|
+
# ]
|
5473
|
+
#
|
5474
|
+
return self.parse_orders(response)
|
5475
|
+
|
5396
5476
|
def parse_order_status(self, status: Str):
|
5397
5477
|
statuses: dict = {
|
5398
5478
|
'NEW': 'open',
|
@@ -11243,7 +11323,7 @@ class binance(Exchange, ImplicitAPI):
|
|
11243
11323
|
params['newClientOrderId'] = brokerId + self.uuid22()
|
11244
11324
|
query = None
|
11245
11325
|
# handle batchOrders
|
11246
|
-
if (path == 'batchOrders') and (method == 'POST'):
|
11326
|
+
if (path == 'batchOrders') and ((method == 'POST') or (method == 'PUT')):
|
11247
11327
|
batchOrders = self.safe_value(params, 'batchOrders')
|
11248
11328
|
queryBatch = (self.json(batchOrders))
|
11249
11329
|
params['batchOrders'] = queryBatch
|
@@ -5,11 +5,12 @@
|
|
5
5
|
|
6
6
|
from ccxt.async_support.binance import binance
|
7
7
|
from ccxt.abstract.binancecoinm import ImplicitAPI
|
8
|
+
from ccxt.base.types import Any
|
8
9
|
|
9
10
|
|
10
11
|
class binancecoinm(binance, ImplicitAPI):
|
11
12
|
|
12
|
-
def describe(self):
|
13
|
+
def describe(self) -> Any:
|
13
14
|
return self.deep_extend(super(binancecoinm, self).describe(), {
|
14
15
|
'id': 'binancecoinm',
|
15
16
|
'name': 'Binance COIN-M',
|
ccxt/async_support/binanceus.py
CHANGED
@@ -5,11 +5,12 @@
|
|
5
5
|
|
6
6
|
from ccxt.async_support.binance import binance
|
7
7
|
from ccxt.abstract.binanceus import ImplicitAPI
|
8
|
+
from ccxt.base.types import Any
|
8
9
|
|
9
10
|
|
10
11
|
class binanceus(binance, ImplicitAPI):
|
11
12
|
|
12
|
-
def describe(self):
|
13
|
+
def describe(self) -> Any:
|
13
14
|
return self.deep_extend(super(binanceus, self).describe(), {
|
14
15
|
'id': 'binanceus',
|
15
16
|
'name': 'Binance US',
|
@@ -5,12 +5,13 @@
|
|
5
5
|
|
6
6
|
from ccxt.async_support.binance import binance
|
7
7
|
from ccxt.abstract.binanceusdm import ImplicitAPI
|
8
|
+
from ccxt.base.types import Any
|
8
9
|
from ccxt.base.errors import InvalidOrder
|
9
10
|
|
10
11
|
|
11
12
|
class binanceusdm(binance, ImplicitAPI):
|
12
13
|
|
13
|
-
def describe(self):
|
14
|
+
def describe(self) -> Any:
|
14
15
|
return self.deep_extend(super(binanceusdm, self).describe(), {
|
15
16
|
'id': 'binanceusdm',
|
16
17
|
'name': 'Binance USDⓈ-M',
|
ccxt/async_support/bingx.py
CHANGED
@@ -8,7 +8,7 @@ from ccxt.abstract.bingx import ImplicitAPI
|
|
8
8
|
import asyncio
|
9
9
|
import hashlib
|
10
10
|
import numbers
|
11
|
-
from ccxt.base.types import Balances, Currencies, Currency, DepositAddress, Int, Leverage, MarginMode, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFeeInterface, Transaction, TransferEntry
|
11
|
+
from ccxt.base.types import Any, Balances, Currencies, Currency, DepositAddress, Int, Leverage, MarginMode, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFeeInterface, Transaction, TransferEntry
|
12
12
|
from typing import List
|
13
13
|
from ccxt.base.errors import ExchangeError
|
14
14
|
from ccxt.base.errors import AuthenticationError
|
@@ -29,7 +29,7 @@ from ccxt.base.precise import Precise
|
|
29
29
|
|
30
30
|
class bingx(Exchange, ImplicitAPI):
|
31
31
|
|
32
|
-
def describe(self):
|
32
|
+
def describe(self) -> Any:
|
33
33
|
return self.deep_extend(super(bingx, self).describe(), {
|
34
34
|
'id': 'bingx',
|
35
35
|
'name': 'BingX',
|
@@ -681,7 +681,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
681
681
|
},
|
682
682
|
})
|
683
683
|
|
684
|
-
async def fetch_time(self, params={}):
|
684
|
+
async def fetch_time(self, params={}) -> Int:
|
685
685
|
"""
|
686
686
|
fetches the current integer timestamp in milliseconds from the bingx server
|
687
687
|
|
ccxt/async_support/bit2c.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.bit2c import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Balances, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, TradingFees
|
9
|
+
from ccxt.base.types import Any, Balances, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, TradingFees
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import AuthenticationError
|
@@ -21,7 +21,7 @@ from ccxt.base.precise import Precise
|
|
21
21
|
|
22
22
|
class bit2c(Exchange, ImplicitAPI):
|
23
23
|
|
24
|
-
def describe(self):
|
24
|
+
def describe(self) -> Any:
|
25
25
|
return self.deep_extend(super(bit2c, self).describe(), {
|
26
26
|
'id': 'bit2c',
|
27
27
|
'name': 'Bit2C',
|
@@ -630,7 +630,7 @@ class bit2c(Exchange, ImplicitAPI):
|
|
630
630
|
# 0 = New
|
631
631
|
# 1 = Open
|
632
632
|
# 5 = Completed
|
633
|
-
status
|
633
|
+
status: str
|
634
634
|
if isNewOrder:
|
635
635
|
tempStatus = self.safe_integer(orderUnified, 'status_type')
|
636
636
|
if tempStatus == 0 or tempStatus == 1:
|
@@ -795,13 +795,13 @@ class bit2c(Exchange, ImplicitAPI):
|
|
795
795
|
# "isMaker": True,
|
796
796
|
# }
|
797
797
|
#
|
798
|
-
timestamp
|
799
|
-
id
|
798
|
+
timestamp: Int
|
799
|
+
id: Str
|
800
800
|
price = None
|
801
801
|
amount = None
|
802
802
|
orderId = None
|
803
803
|
fee = None
|
804
|
-
side
|
804
|
+
side: str
|
805
805
|
makerOrTaker = None
|
806
806
|
reference = self.safe_string(trade, 'reference')
|
807
807
|
if reference is not None:
|
@@ -817,10 +817,10 @@ class bit2c(Exchange, ImplicitAPI):
|
|
817
817
|
isMaker = self.safe_value(trade, 'isMaker')
|
818
818
|
makerOrTaker = 'maker' if isMaker else 'taker'
|
819
819
|
orderId = reference_parts[2] if isMaker else reference_parts[1]
|
820
|
-
|
821
|
-
if
|
820
|
+
action = self.safe_integer(trade, 'action')
|
821
|
+
if action == 0:
|
822
822
|
side = 'buy'
|
823
|
-
|
823
|
+
else:
|
824
824
|
side = 'sell'
|
825
825
|
feeCost = self.safe_string(trade, 'feeAmount')
|
826
826
|
if feeCost is not None:
|
ccxt/async_support/bitbank.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.bitbank import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Balances, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, TradingFees, Transaction
|
9
|
+
from ccxt.base.types import Any, Balances, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, TradingFees, Transaction
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import AuthenticationError
|
@@ -20,7 +20,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
|
|
20
20
|
|
21
21
|
class bitbank(Exchange, ImplicitAPI):
|
22
22
|
|
23
|
-
def describe(self):
|
23
|
+
def describe(self) -> Any:
|
24
24
|
return self.deep_extend(super(bitbank, self).describe(), {
|
25
25
|
'id': 'bitbank',
|
26
26
|
'name': 'bitbank',
|
ccxt/async_support/bitbns.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.bitbns import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Balances, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
|
9
|
+
from ccxt.base.types import Any, Balances, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import ArgumentsRequired
|
@@ -20,7 +20,7 @@ from ccxt.base.precise import Precise
|
|
20
20
|
|
21
21
|
class bitbns(Exchange, ImplicitAPI):
|
22
22
|
|
23
|
-
def describe(self):
|
23
|
+
def describe(self) -> Any:
|
24
24
|
return self.deep_extend(super(bitbns, self).describe(), {
|
25
25
|
'id': 'bitbns',
|
26
26
|
'name': 'Bitbns',
|