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/async_support/whitebit.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.whitebit import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Balances, BorrowInterest, Bool, Currencies, Currency, DepositAddress, Int, Market, MarketType, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFees, Transaction, TransferEntry
|
9
|
+
from ccxt.base.types import Any, Balances, BorrowInterest, Bool, Currencies, Currency, DepositAddress, Int, Market, MarketType, Num, Order, OrderBook, 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
|
@@ -26,7 +26,7 @@ from ccxt.base.precise import Precise
|
|
26
26
|
|
27
27
|
class whitebit(Exchange, ImplicitAPI):
|
28
28
|
|
29
|
-
def describe(self):
|
29
|
+
def describe(self) -> Any:
|
30
30
|
return self.deep_extend(super(whitebit, self).describe(), {
|
31
31
|
'id': 'whitebit',
|
32
32
|
'name': 'WhiteBit',
|
@@ -1291,7 +1291,7 @@ class whitebit(Exchange, ImplicitAPI):
|
|
1291
1291
|
'info': response,
|
1292
1292
|
}
|
1293
1293
|
|
1294
|
-
async def fetch_time(self, params={}):
|
1294
|
+
async def fetch_time(self, params={}) -> Int:
|
1295
1295
|
"""
|
1296
1296
|
fetches the current integer timestamp in milliseconds from the exchange server
|
1297
1297
|
|
ccxt/async_support/woo.py
CHANGED
@@ -6,9 +6,8 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.woo import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Account, Balances, Bool, Conversion, Currencies, Currency, DepositAddress, Int, LedgerEntry, Leverage, MarginModification, Market, MarketType, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, FundingRate, FundingRates, Trade, TradingFees, Transaction, TransferEntry
|
9
|
+
from ccxt.base.types import Account, Any, Balances, Bool, Conversion, Currencies, Currency, DepositAddress, Int, LedgerEntry, Leverage, MarginModification, Market, MarketType, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, FundingRate, FundingRates, Trade, TradingFees, Transaction, TransferEntry
|
10
10
|
from typing import List
|
11
|
-
from typing import Any
|
12
11
|
from ccxt.base.errors import ExchangeError
|
13
12
|
from ccxt.base.errors import AuthenticationError
|
14
13
|
from ccxt.base.errors import ArgumentsRequired
|
@@ -24,7 +23,7 @@ from ccxt.base.precise import Precise
|
|
24
23
|
|
25
24
|
class woo(Exchange, ImplicitAPI):
|
26
25
|
|
27
|
-
def describe(self):
|
26
|
+
def describe(self) -> Any:
|
28
27
|
return self.deep_extend(super(woo, self).describe(), {
|
29
28
|
'id': 'woo',
|
30
29
|
'name': 'WOO X',
|
@@ -484,7 +483,7 @@ class woo(Exchange, ImplicitAPI):
|
|
484
483
|
'info': response,
|
485
484
|
}
|
486
485
|
|
487
|
-
async def fetch_time(self, params={}):
|
486
|
+
async def fetch_time(self, params={}) -> Int:
|
488
487
|
"""
|
489
488
|
fetches the current integer timestamp in milliseconds from the exchange server
|
490
489
|
|
ccxt/async_support/woofipro.py
CHANGED
@@ -5,9 +5,8 @@
|
|
5
5
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.woofipro import ImplicitAPI
|
8
|
-
from ccxt.base.types import Balances, Currencies, Currency, Int, LedgerEntry, Leverage, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, FundingRate, FundingRates, Trade, TradingFees, Transaction
|
8
|
+
from ccxt.base.types import Any, Balances, Currencies, Currency, Int, LedgerEntry, Leverage, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, FundingRate, FundingRates, Trade, TradingFees, Transaction
|
9
9
|
from typing import List
|
10
|
-
from typing import Any
|
11
10
|
from ccxt.base.errors import ExchangeError
|
12
11
|
from ccxt.base.errors import AuthenticationError
|
13
12
|
from ccxt.base.errors import ArgumentsRequired
|
@@ -23,7 +22,7 @@ from ccxt.base.precise import Precise
|
|
23
22
|
|
24
23
|
class woofipro(Exchange, ImplicitAPI):
|
25
24
|
|
26
|
-
def describe(self):
|
25
|
+
def describe(self) -> Any:
|
27
26
|
return self.deep_extend(super(woofipro, self).describe(), {
|
28
27
|
'id': 'woofipro',
|
29
28
|
'name': 'WOOFI PRO',
|
@@ -471,7 +470,7 @@ class woofipro(Exchange, ImplicitAPI):
|
|
471
470
|
'info': response,
|
472
471
|
}
|
473
472
|
|
474
|
-
async def fetch_time(self, params={}):
|
473
|
+
async def fetch_time(self, params={}) -> Int:
|
475
474
|
"""
|
476
475
|
fetches the current integer timestamp in milliseconds from the exchange server
|
477
476
|
|
ccxt/async_support/xt.py
CHANGED
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.xt import ImplicitAPI
|
8
8
|
import asyncio
|
9
9
|
import hashlib
|
10
|
-
from ccxt.base.types import Currencies, Currency, DepositAddress, Int, LedgerEntry, LeverageTier, LeverageTiers, MarginModification, Market, Num, Order, OrderSide, OrderType, Str, Tickers, FundingRate, Transaction, TransferEntry
|
10
|
+
from ccxt.base.types import Any, Currencies, Currency, DepositAddress, Int, LedgerEntry, LeverageTier, LeverageTiers, MarginModification, Market, Num, Order, OrderSide, OrderType, Str, Tickers, FundingRate, Transaction, TransferEntry
|
11
11
|
from typing import List
|
12
12
|
from ccxt.base.errors import ExchangeError
|
13
13
|
from ccxt.base.errors import AuthenticationError
|
@@ -28,7 +28,7 @@ from ccxt.base.precise import Precise
|
|
28
28
|
|
29
29
|
class xt(Exchange, ImplicitAPI):
|
30
30
|
|
31
|
-
def describe(self):
|
31
|
+
def describe(self) -> Any:
|
32
32
|
return self.deep_extend(super(xt, self).describe(), {
|
33
33
|
'id': 'xt',
|
34
34
|
'name': 'XT',
|
@@ -813,7 +813,7 @@ class xt(Exchange, ImplicitAPI):
|
|
813
813
|
def nonce(self):
|
814
814
|
return self.milliseconds() - self.options['timeDifference']
|
815
815
|
|
816
|
-
async def fetch_time(self, params={}):
|
816
|
+
async def fetch_time(self, params={}) -> Int:
|
817
817
|
"""
|
818
818
|
fetches the current integer timestamp in milliseconds from the xt server
|
819
819
|
|
@@ -1394,9 +1394,15 @@ class xt(Exchange, ImplicitAPI):
|
|
1394
1394
|
:param int [since]: timestamp in ms of the earliest candle to fetch
|
1395
1395
|
:param int [limit]: the maximum amount of candles to fetch
|
1396
1396
|
:param dict params: extra parameters specific to the xt api endpoint
|
1397
|
+
:param int [params.until]: timestamp in ms of the latest candle to fetch
|
1398
|
+
:param boolean [params.paginate]: default False, when True will automatically paginate by calling self endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
1397
1399
|
:returns int[][]: A list of candles ordered, open, high, low, close, volume
|
1398
1400
|
"""
|
1399
1401
|
await self.load_markets()
|
1402
|
+
paginate = False
|
1403
|
+
paginate, params = self.handle_option_and_params(params, 'fetchOHLCV', 'paginate', False)
|
1404
|
+
if paginate:
|
1405
|
+
return await self.fetch_paginated_call_deterministic('fetchOHLCV', symbol, since, limit, timeframe, params, 1000)
|
1400
1406
|
market = self.market(symbol)
|
1401
1407
|
request = {
|
1402
1408
|
'symbol': market['id'],
|
@@ -1406,6 +1412,12 @@ class xt(Exchange, ImplicitAPI):
|
|
1406
1412
|
request['startTime'] = since
|
1407
1413
|
if limit is not None:
|
1408
1414
|
request['limit'] = limit
|
1415
|
+
else:
|
1416
|
+
request['limit'] = 1000
|
1417
|
+
until = self.safe_integer(params, 'until')
|
1418
|
+
params = self.omit(params, ['until'])
|
1419
|
+
if until is not None:
|
1420
|
+
request['endTime'] = until
|
1409
1421
|
response = None
|
1410
1422
|
if market['linear']:
|
1411
1423
|
response = await self.publicLinearGetFutureMarketV1PublicQKline(self.extend(request, params))
|
ccxt/async_support/yobit.py
CHANGED
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.yobit import ImplicitAPI
|
8
8
|
import asyncio
|
9
9
|
import hashlib
|
10
|
-
from ccxt.base.types import Balances, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, OrderBooks, Trade, TradingFees, Transaction
|
10
|
+
from ccxt.base.types import Any, Balances, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, OrderBooks, Trade, TradingFees, Transaction
|
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 yobit(Exchange, ImplicitAPI):
|
27
27
|
|
28
|
-
def describe(self):
|
28
|
+
def describe(self) -> Any:
|
29
29
|
return self.deep_extend(super(yobit, self).describe(), {
|
30
30
|
'id': 'yobit',
|
31
31
|
'name': 'YoBit',
|
ccxt/async_support/zaif.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.zaif import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction
|
9
|
+
from ccxt.base.types import Any, Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import BadRequest
|
@@ -16,7 +16,7 @@ from ccxt.base.precise import Precise
|
|
16
16
|
|
17
17
|
class zaif(Exchange, ImplicitAPI):
|
18
18
|
|
19
|
-
def describe(self):
|
19
|
+
def describe(self) -> Any:
|
20
20
|
return self.deep_extend(super(zaif, self).describe(), {
|
21
21
|
'id': 'zaif',
|
22
22
|
'name': 'Zaif',
|
ccxt/async_support/zonda.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.zonda import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Balances, Currency, DepositAddress, Int, LedgerEntry, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
9
|
+
from ccxt.base.types import Any, Balances, Currency, DepositAddress, Int, LedgerEntry, 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
|
@@ -27,7 +27,7 @@ from ccxt.base.precise import Precise
|
|
27
27
|
|
28
28
|
class zonda(Exchange, ImplicitAPI):
|
29
29
|
|
30
|
-
def describe(self):
|
30
|
+
def describe(self) -> Any:
|
31
31
|
return self.deep_extend(super(zonda, self).describe(), {
|
32
32
|
'id': 'zonda',
|
33
33
|
'name': 'Zonda',
|
ccxt/base/errors.py
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# ----------------------------------------------------------------------------
|
2
|
+
|
3
|
+
# PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
4
|
+
# https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
5
|
+
# EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
6
|
+
|
1
7
|
error_hierarchy = {
|
2
8
|
'BaseError': {
|
3
9
|
'ExchangeError': {
|
ccxt/base/exchange.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
|
|
@@ -1791,7 +1791,7 @@ class Exchange(object):
|
|
1791
1791
|
|
1792
1792
|
# METHODS BELOW THIS LINE ARE TRANSPILED FROM JAVASCRIPT TO PYTHON AND PHP
|
1793
1793
|
|
1794
|
-
def describe(self):
|
1794
|
+
def describe(self) -> Any:
|
1795
1795
|
return {
|
1796
1796
|
'id': None,
|
1797
1797
|
'name': None,
|
@@ -1871,6 +1871,7 @@ class Exchange(object):
|
|
1871
1871
|
'createTriggerOrderWs': None,
|
1872
1872
|
'deposit': None,
|
1873
1873
|
'editOrder': 'emulated',
|
1874
|
+
'editOrders': None,
|
1874
1875
|
'editOrderWs': None,
|
1875
1876
|
'fetchAccounts': None,
|
1876
1877
|
'fetchBalance': True,
|
@@ -5178,6 +5179,9 @@ class Exchange(object):
|
|
5178
5179
|
def create_orders(self, orders: List[OrderRequest], params={}):
|
5179
5180
|
raise NotSupported(self.id + ' createOrders() is not supported yet')
|
5180
5181
|
|
5182
|
+
def edit_orders(self, orders: List[OrderRequest], params={}):
|
5183
|
+
raise NotSupported(self.id + ' editOrders() is not supported yet')
|
5184
|
+
|
5181
5185
|
def create_order_ws(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
5182
5186
|
raise NotSupported(self.id + ' createOrderWs() is not supported yet')
|
5183
5187
|
|
@@ -6118,7 +6122,8 @@ class Exchange(object):
|
|
6118
6122
|
parsed = self.parse_income(entry, market)
|
6119
6123
|
result.append(parsed)
|
6120
6124
|
sorted = self.sort_by(result, 'timestamp')
|
6121
|
-
|
6125
|
+
symbol = self.safe_string(market, 'symbol')
|
6126
|
+
return self.filter_by_symbol_since_limit(sorted, symbol, since, limit)
|
6122
6127
|
|
6123
6128
|
def get_market_from_symbols(self, symbols: Strings = None):
|
6124
6129
|
if symbols is None:
|
ccxt/bequant.py
CHANGED
@@ -5,11 +5,12 @@
|
|
5
5
|
|
6
6
|
from ccxt.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/bigone.py
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
from ccxt.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.bigone import ImplicitAPI
|
8
|
-
from ccxt.base.types import Balances, Bool, Currencies, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
8
|
+
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
|
9
9
|
from typing import List
|
10
10
|
from ccxt.base.errors import ExchangeError
|
11
11
|
from ccxt.base.errors import AuthenticationError
|
@@ -23,7 +23,7 @@ from ccxt.base.precise import Precise
|
|
23
23
|
|
24
24
|
class bigone(Exchange, ImplicitAPI):
|
25
25
|
|
26
|
-
def describe(self):
|
26
|
+
def describe(self) -> Any:
|
27
27
|
return self.deep_extend(super(bigone, self).describe(), {
|
28
28
|
'id': 'bigone',
|
29
29
|
'name': 'BigONE',
|
@@ -964,7 +964,7 @@ class bigone(Exchange, ImplicitAPI):
|
|
964
964
|
tickers = self.parse_tickers(data, symbols)
|
965
965
|
return self.filter_by_array_tickers(tickers, 'symbol', symbols)
|
966
966
|
|
967
|
-
def fetch_time(self, params={}):
|
967
|
+
def fetch_time(self, params={}) -> Int:
|
968
968
|
"""
|
969
969
|
fetches the current integer timestamp in milliseconds from the exchange server
|
970
970
|
|
@@ -1162,8 +1162,8 @@ class bigone(Exchange, ImplicitAPI):
|
|
1162
1162
|
'cost': None,
|
1163
1163
|
'info': trade,
|
1164
1164
|
}
|
1165
|
-
makerCurrencyCode
|
1166
|
-
takerCurrencyCode
|
1165
|
+
makerCurrencyCode: str
|
1166
|
+
takerCurrencyCode: str
|
1167
1167
|
if takerOrMaker is not None:
|
1168
1168
|
if side == 'buy':
|
1169
1169
|
if takerOrMaker == 'maker':
|
ccxt/binance.py
CHANGED
@@ -7,7 +7,7 @@ from ccxt.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.binance import ImplicitAPI
|
8
8
|
import hashlib
|
9
9
|
import json
|
10
|
-
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
|
10
|
+
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
|
11
11
|
from typing import List
|
12
12
|
from ccxt.base.errors import ExchangeError
|
13
13
|
from ccxt.base.errors import AuthenticationError
|
@@ -39,7 +39,7 @@ from ccxt.base.precise import Precise
|
|
39
39
|
|
40
40
|
class binance(Exchange, ImplicitAPI):
|
41
41
|
|
42
|
-
def describe(self):
|
42
|
+
def describe(self) -> Any:
|
43
43
|
return self.deep_extend(super(binance, self).describe(), {
|
44
44
|
'id': 'binance',
|
45
45
|
'name': 'Binance',
|
@@ -85,6 +85,7 @@ class binance(Exchange, ImplicitAPI):
|
|
85
85
|
'createTrailingPercentOrder': True,
|
86
86
|
'createTriggerOrder': True,
|
87
87
|
'editOrder': True,
|
88
|
+
'editOrders': True,
|
88
89
|
'fetchAccounts': None,
|
89
90
|
'fetchBalance': True,
|
90
91
|
'fetchBidsAsks': True,
|
@@ -2938,7 +2939,7 @@ class binance(Exchange, ImplicitAPI):
|
|
2938
2939
|
def nonce(self):
|
2939
2940
|
return self.milliseconds() - self.options['timeDifference']
|
2940
2941
|
|
2941
|
-
def fetch_time(self, params={}):
|
2942
|
+
def fetch_time(self, params={}) -> Int:
|
2942
2943
|
"""
|
2943
2944
|
fetches the current integer timestamp in milliseconds from the exchange server
|
2944
2945
|
|
@@ -5392,6 +5393,85 @@ class binance(Exchange, ImplicitAPI):
|
|
5392
5393
|
else:
|
5393
5394
|
return self.edit_contract_order(id, symbol, type, side, amount, price, params)
|
5394
5395
|
|
5396
|
+
def edit_orders(self, orders: List[OrderRequest], params={}):
|
5397
|
+
"""
|
5398
|
+
edit a list of trade orders
|
5399
|
+
|
5400
|
+
https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Modify-Multiple-Orders
|
5401
|
+
https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/Modify-Multiple-Orders
|
5402
|
+
|
5403
|
+
: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
|
5404
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
5405
|
+
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
5406
|
+
"""
|
5407
|
+
self.load_markets()
|
5408
|
+
ordersRequests = []
|
5409
|
+
orderSymbols = []
|
5410
|
+
for i in range(0, len(orders)):
|
5411
|
+
rawOrder = orders[i]
|
5412
|
+
marketId = self.safe_string(rawOrder, 'symbol')
|
5413
|
+
orderSymbols.append(marketId)
|
5414
|
+
id = self.safe_string(rawOrder, 'id')
|
5415
|
+
type = self.safe_string(rawOrder, 'type')
|
5416
|
+
side = self.safe_string(rawOrder, 'side')
|
5417
|
+
amount = self.safe_value(rawOrder, 'amount')
|
5418
|
+
price = self.safe_value(rawOrder, 'price')
|
5419
|
+
orderParams = self.safe_dict(rawOrder, 'params', {})
|
5420
|
+
isPortfolioMargin = None
|
5421
|
+
isPortfolioMargin, orderParams = self.handle_option_and_params_2(orderParams, 'editOrders', 'papi', 'portfolioMargin', False)
|
5422
|
+
if isPortfolioMargin:
|
5423
|
+
raise NotSupported(self.id + ' editOrders() does not support portfolio margin orders')
|
5424
|
+
orderRequest = self.edit_contract_order_request(id, marketId, type, side, amount, price, orderParams)
|
5425
|
+
ordersRequests.append(orderRequest)
|
5426
|
+
orderSymbols = self.market_symbols(orderSymbols, None, False, True, True)
|
5427
|
+
market = self.market(orderSymbols[0])
|
5428
|
+
if market['spot'] or market['option']:
|
5429
|
+
raise NotSupported(self.id + ' editOrders() does not support ' + market['type'] + ' orders')
|
5430
|
+
response = None
|
5431
|
+
request: dict = {
|
5432
|
+
'batchOrders': ordersRequests,
|
5433
|
+
}
|
5434
|
+
request = self.extend(request, params)
|
5435
|
+
if market['linear']:
|
5436
|
+
response = self.fapiPrivatePutBatchOrders(request)
|
5437
|
+
elif market['inverse']:
|
5438
|
+
response = self.dapiPrivatePutBatchOrders(request)
|
5439
|
+
#
|
5440
|
+
# [
|
5441
|
+
# {
|
5442
|
+
# "code": -4005,
|
5443
|
+
# "msg": "Quantity greater than max quantity."
|
5444
|
+
# },
|
5445
|
+
# {
|
5446
|
+
# "orderId": 650640530,
|
5447
|
+
# "symbol": "LTCUSDT",
|
5448
|
+
# "status": "NEW",
|
5449
|
+
# "clientOrderId": "x-xcKtGhcu32184eb13585491289bbaf",
|
5450
|
+
# "price": "54.00",
|
5451
|
+
# "avgPrice": "0.00",
|
5452
|
+
# "origQty": "0.100",
|
5453
|
+
# "executedQty": "0.000",
|
5454
|
+
# "cumQty": "0.000",
|
5455
|
+
# "cumQuote": "0.00000",
|
5456
|
+
# "timeInForce": "GTC",
|
5457
|
+
# "type": "LIMIT",
|
5458
|
+
# "reduceOnly": False,
|
5459
|
+
# "closePosition": False,
|
5460
|
+
# "side": "BUY",
|
5461
|
+
# "positionSide": "BOTH",
|
5462
|
+
# "stopPrice": "0.00",
|
5463
|
+
# "workingType": "CONTRACT_PRICE",
|
5464
|
+
# "priceProtect": False,
|
5465
|
+
# "origType": "LIMIT",
|
5466
|
+
# "priceMatch": "NONE",
|
5467
|
+
# "selfTradePreventionMode": "NONE",
|
5468
|
+
# "goodTillDate": 0,
|
5469
|
+
# "updateTime": 1698073926929
|
5470
|
+
# }
|
5471
|
+
# ]
|
5472
|
+
#
|
5473
|
+
return self.parse_orders(response)
|
5474
|
+
|
5395
5475
|
def parse_order_status(self, status: Str):
|
5396
5476
|
statuses: dict = {
|
5397
5477
|
'NEW': 'open',
|
@@ -11242,7 +11322,7 @@ class binance(Exchange, ImplicitAPI):
|
|
11242
11322
|
params['newClientOrderId'] = brokerId + self.uuid22()
|
11243
11323
|
query = None
|
11244
11324
|
# handle batchOrders
|
11245
|
-
if (path == 'batchOrders') and (method == 'POST'):
|
11325
|
+
if (path == 'batchOrders') and ((method == 'POST') or (method == 'PUT')):
|
11246
11326
|
batchOrders = self.safe_value(params, 'batchOrders')
|
11247
11327
|
queryBatch = (self.json(batchOrders))
|
11248
11328
|
params['batchOrders'] = queryBatch
|
ccxt/binancecoinm.py
CHANGED
@@ -5,11 +5,12 @@
|
|
5
5
|
|
6
6
|
from ccxt.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/binanceus.py
CHANGED
@@ -5,11 +5,12 @@
|
|
5
5
|
|
6
6
|
from ccxt.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',
|
ccxt/binanceusdm.py
CHANGED
@@ -5,12 +5,13 @@
|
|
5
5
|
|
6
6
|
from ccxt.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/bingx.py
CHANGED
@@ -7,7 +7,7 @@ from ccxt.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.bingx import ImplicitAPI
|
8
8
|
import hashlib
|
9
9
|
import numbers
|
10
|
-
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
|
10
|
+
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
|
11
11
|
from typing import List
|
12
12
|
from ccxt.base.errors import ExchangeError
|
13
13
|
from ccxt.base.errors import AuthenticationError
|
@@ -28,7 +28,7 @@ from ccxt.base.precise import Precise
|
|
28
28
|
|
29
29
|
class bingx(Exchange, ImplicitAPI):
|
30
30
|
|
31
|
-
def describe(self):
|
31
|
+
def describe(self) -> Any:
|
32
32
|
return self.deep_extend(super(bingx, self).describe(), {
|
33
33
|
'id': 'bingx',
|
34
34
|
'name': 'BingX',
|
@@ -680,7 +680,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
680
680
|
},
|
681
681
|
})
|
682
682
|
|
683
|
-
def fetch_time(self, params={}):
|
683
|
+
def fetch_time(self, params={}) -> Int:
|
684
684
|
"""
|
685
685
|
fetches the current integer timestamp in milliseconds from the bingx server
|
686
686
|
|
ccxt/bit2c.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.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/bitbank.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.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/bitbns.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.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',
|
ccxt/bitcoincom.py
CHANGED
@@ -5,11 +5,12 @@
|
|
5
5
|
|
6
6
|
from ccxt.fmfwio import fmfwio
|
7
7
|
from ccxt.abstract.bitcoincom import ImplicitAPI
|
8
|
+
from ccxt.base.types import Any
|
8
9
|
|
9
10
|
|
10
11
|
class bitcoincom(fmfwio, ImplicitAPI):
|
11
12
|
|
12
|
-
def describe(self):
|
13
|
+
def describe(self) -> Any:
|
13
14
|
return self.deep_extend(super(bitcoincom, self).describe(), {
|
14
15
|
'id': 'bitcoincom',
|
15
16
|
'name': 'Bitcoin.com',
|
ccxt/bitfinex.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.bitfinex import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Balances, Currencies, Currency, DepositAddress, Int, LedgerEntry, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFees, Transaction, TransferEntry
|
9
|
+
from ccxt.base.types import Any, Balances, Currencies, Currency, DepositAddress, Int, LedgerEntry, 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
|
@@ -31,7 +31,7 @@ from ccxt.base.precise import Precise
|
|
31
31
|
|
32
32
|
class bitfinex(Exchange, ImplicitAPI):
|
33
33
|
|
34
|
-
def describe(self):
|
34
|
+
def describe(self) -> Any:
|
35
35
|
return self.deep_extend(super(bitfinex, self).describe(), {
|
36
36
|
'id': 'bitfinex',
|
37
37
|
'name': 'Bitfinex',
|
ccxt/bitfinex1.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.bitfinex1 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, TradingFees, Transaction, TransferEntry
|
9
|
+
from ccxt.base.types import Any, Balances, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, 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
|
@@ -29,7 +29,7 @@ from ccxt.base.precise import Precise
|
|
29
29
|
|
30
30
|
class bitfinex1(Exchange, ImplicitAPI):
|
31
31
|
|
32
|
-
def describe(self):
|
32
|
+
def describe(self) -> Any:
|
33
33
|
return self.deep_extend(super(bitfinex1, self).describe(), {
|
34
34
|
'id': 'bitfinex1',
|
35
35
|
'name': 'Bitfinex',
|