ccxt 4.0.48__tar.gz → 4.0.49__tar.gz
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.
Potentially problematic release.
This version of ccxt might be problematic. Click here for more details.
- {ccxt-4.0.48/ccxt.egg-info → ccxt-4.0.49}/PKG-INFO +7 -7
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/__init__.py +1 -1
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/binance.py +1 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/binancecoinm.py +1 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/binanceus.py +1 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/binanceusdm.py +1 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitget.py +3 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/kraken.py +1 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/base/exchange.py +1 -1
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/binance.py +1 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitget.py +3 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/gate.py +2 -2
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/huobijp.py +10 -12
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/kraken.py +1 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/kucoin.py +2 -2
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/okx.py +6 -7
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/base/exchange.py +1 -1
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/binance.py +1 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitget.py +3 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/gate.py +2 -2
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/huobijp.py +10 -12
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/kraken.py +1 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/kucoin.py +2 -2
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/okx.py +6 -7
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/bitfinex.py +3 -3
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/bitfinex2.py +13 -13
- {ccxt-4.0.48 → ccxt-4.0.49/ccxt.egg-info}/PKG-INFO +7 -7
- {ccxt-4.0.48 → ccxt-4.0.49}/package.json +1 -1
- {ccxt-4.0.48 → ccxt-4.0.49}/LICENSE.txt +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/MANIFEST.in +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/README.rst +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitforex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitstamp1.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bittrex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bkex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/btctradeua.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/coinbaseprime.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/coinbasepro.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/coinfalcon.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/huobipro.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/lbank2.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/mexc3.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/okex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/okex5.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/tidex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/ace.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/alpaca.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/ascendex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bingx.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitforex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitstamp1.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bittrex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bkex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/btctradeua.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/bybit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/coinbaseprime.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/coinbasepro.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/coinex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/coinfalcon.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/flowbtc.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/huobipro.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/lbank2.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/mexc3.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/okex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/okex5.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/tidex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/base/__init__.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/base/errors.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/base/precise.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/base/types.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bequant.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bigone.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/binanceus.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bingx.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bit2c.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitbank.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitbay.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitbns.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitfinex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitflyer.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitforex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bithumb.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitmart.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitmex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitopro.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitpanda.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitrue.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitso.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitstamp.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitstamp1.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bittrex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bitvavo.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bkex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bl3p.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/btcalpha.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/btcbox.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/btctradeua.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/btcturk.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/bybit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/cex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/coinbase.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/coinbaseprime.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/coinbasepro.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/coincheck.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/coinex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/coinfalcon.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/coinmate.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/coinone.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/coinsph.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/coinspot.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/cryptocom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/currencycom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/delta.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/deribit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/digifinex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/exmo.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/flowbtc.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/fmfwio.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/gateio.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/gemini.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/hitbtc.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/hollaex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/huobi.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/huobipro.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/idex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/independentreserve.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/indodax.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/kuna.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/latoken.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/lbank.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/lbank2.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/luno.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/lykke.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/mercado.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/mexc.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/mexc3.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/ndax.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/novadax.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/oceanex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/okcoin.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/okex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/okex5.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/paymium.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/phemex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/poloniex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/binance.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/bittrex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/btcex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/cex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/coinbaseprime.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/coinbasepro.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/gate.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/huobipro.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/idex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/luno.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/mexc3.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/okex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/okx.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/probit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/ripio.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/woo.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/pro/zb.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/probit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/__init__.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/__init__.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_account.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_balance.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_borrow_interest.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_borrow_rate.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_calculate_fee.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_crypto.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_currency.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_datetime.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_decimal_to_precision.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_deep_extend.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_funding_rate_history.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_ledger_entry.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_ledger_item.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_leverage_tier.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_margin_modification.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_market.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_number.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_ohlcv.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_open_interest.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_order.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_order_book.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_position.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_shared_methods.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_status.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_throttle.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_ticker.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_trade.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_trading_fee.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/base/test_transaction.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/test_async.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/test/test_sync.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/tidex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/timex.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/upbit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/wazirx.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/whitebit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/woo.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/yobit.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/zaif.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt/zonda.py +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/setup.cfg +0 -0
- {ccxt-4.0.48 → ccxt-4.0.49}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.0.
|
3
|
+
Version: 4.0.49
|
4
4
|
Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges
|
5
5
|
Home-page: https://ccxt.com
|
6
6
|
Author: Igor Kroitor
|
@@ -232,20 +232,20 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
232
232
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
233
233
|
|
234
234
|
<<<<<<< HEAD
|
235
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.
|
236
|
-
* unpkg: https://unpkg.com/ccxt@4.0.
|
235
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.49/dist/ccxt.browser.js
|
236
|
+
* unpkg: https://unpkg.com/ccxt@4.0.49/dist/ccxt.browser.js
|
237
237
|
=======
|
238
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.
|
239
|
-
* unpkg: https://unpkg.com/ccxt@4.0.
|
238
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.49/dist/ccxt.browser.js
|
239
|
+
* unpkg: https://unpkg.com/ccxt@4.0.49/dist/ccxt.browser.js
|
240
240
|
>>>>>>> e74b18a3a8a8cbcfe45ce4c1d32b9c03d4fae41c
|
241
241
|
|
242
242
|
CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
|
243
243
|
|
244
244
|
```HTML
|
245
245
|
<<<<<<< HEAD
|
246
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.
|
246
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.49/dist/ccxt.browser.js"></script>
|
247
247
|
=======
|
248
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.
|
248
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.49/dist/ccxt.browser.js"></script>
|
249
249
|
>>>>>>> e74b18a3a8a8cbcfe45ce4c1d32b9c03d4fae41c
|
250
250
|
```
|
251
251
|
|
@@ -595,6 +595,7 @@ class ImplicitAPI:
|
|
595
595
|
papi_post_portfolio_repay_futures_switch = papiPostPortfolioRepayFuturesSwitch = Entry('portfolio/repay-futures-switch', 'papi', 'POST', {'cost': 150})
|
596
596
|
papi_post_portfolio_repay_futures_negative_balance = papiPostPortfolioRepayFuturesNegativeBalance = Entry('portfolio/repay-futures-negative-balance', 'papi', 'POST', {'cost': 150})
|
597
597
|
papi_post_listenkey = papiPostListenKey = Entry('listenKey', 'papi', 'POST', {'cost': 1})
|
598
|
+
papi_post_asset_collection = papiPostAssetCollection = Entry('asset-collection', 'papi', 'POST', {'cost': 3})
|
598
599
|
papi_put_listenkey = papiPutListenKey = Entry('listenKey', 'papi', 'PUT', {'cost': 1})
|
599
600
|
papi_delete_um_order = papiDeleteUmOrder = Entry('um/order', 'papi', 'DELETE', {'cost': 1})
|
600
601
|
papi_delete_um_allopenorders = papiDeleteUmAllOpenOrders = Entry('um/allOpenOrders', 'papi', 'DELETE', {'cost': 1})
|
@@ -595,6 +595,7 @@ class ImplicitAPI:
|
|
595
595
|
papi_post_portfolio_repay_futures_switch = papiPostPortfolioRepayFuturesSwitch = Entry('portfolio/repay-futures-switch', 'papi', 'POST', {'cost': 150})
|
596
596
|
papi_post_portfolio_repay_futures_negative_balance = papiPostPortfolioRepayFuturesNegativeBalance = Entry('portfolio/repay-futures-negative-balance', 'papi', 'POST', {'cost': 150})
|
597
597
|
papi_post_listenkey = papiPostListenKey = Entry('listenKey', 'papi', 'POST', {'cost': 1})
|
598
|
+
papi_post_asset_collection = papiPostAssetCollection = Entry('asset-collection', 'papi', 'POST', {'cost': 3})
|
598
599
|
papi_put_listenkey = papiPutListenKey = Entry('listenKey', 'papi', 'PUT', {'cost': 1})
|
599
600
|
papi_delete_um_order = papiDeleteUmOrder = Entry('um/order', 'papi', 'DELETE', {'cost': 1})
|
600
601
|
papi_delete_um_allopenorders = papiDeleteUmAllOpenOrders = Entry('um/allOpenOrders', 'papi', 'DELETE', {'cost': 1})
|
@@ -595,6 +595,7 @@ class ImplicitAPI:
|
|
595
595
|
papi_post_portfolio_repay_futures_switch = papiPostPortfolioRepayFuturesSwitch = Entry('portfolio/repay-futures-switch', 'papi', 'POST', {'cost': 150})
|
596
596
|
papi_post_portfolio_repay_futures_negative_balance = papiPostPortfolioRepayFuturesNegativeBalance = Entry('portfolio/repay-futures-negative-balance', 'papi', 'POST', {'cost': 150})
|
597
597
|
papi_post_listenkey = papiPostListenKey = Entry('listenKey', 'papi', 'POST', {'cost': 1})
|
598
|
+
papi_post_asset_collection = papiPostAssetCollection = Entry('asset-collection', 'papi', 'POST', {'cost': 3})
|
598
599
|
papi_put_listenkey = papiPutListenKey = Entry('listenKey', 'papi', 'PUT', {'cost': 1})
|
599
600
|
papi_delete_um_order = papiDeleteUmOrder = Entry('um/order', 'papi', 'DELETE', {'cost': 1})
|
600
601
|
papi_delete_um_allopenorders = papiDeleteUmAllOpenOrders = Entry('um/allOpenOrders', 'papi', 'DELETE', {'cost': 1})
|
@@ -595,6 +595,7 @@ class ImplicitAPI:
|
|
595
595
|
papi_post_portfolio_repay_futures_switch = papiPostPortfolioRepayFuturesSwitch = Entry('portfolio/repay-futures-switch', 'papi', 'POST', {'cost': 150})
|
596
596
|
papi_post_portfolio_repay_futures_negative_balance = papiPostPortfolioRepayFuturesNegativeBalance = Entry('portfolio/repay-futures-negative-balance', 'papi', 'POST', {'cost': 150})
|
597
597
|
papi_post_listenkey = papiPostListenKey = Entry('listenKey', 'papi', 'POST', {'cost': 1})
|
598
|
+
papi_post_asset_collection = papiPostAssetCollection = Entry('asset-collection', 'papi', 'POST', {'cost': 3})
|
598
599
|
papi_put_listenkey = papiPutListenKey = Entry('listenKey', 'papi', 'PUT', {'cost': 1})
|
599
600
|
papi_delete_um_order = papiDeleteUmOrder = Entry('um/order', 'papi', 'DELETE', {'cost': 1})
|
600
601
|
papi_delete_um_allopenorders = papiDeleteUmAllOpenOrders = Entry('um/allOpenOrders', 'papi', 'DELETE', {'cost': 1})
|
@@ -94,6 +94,8 @@ class ImplicitAPI:
|
|
94
94
|
private_spot_post_trace_profit_profithisdetaillist = privateSpotPostTraceProfitProfitHisDetailList = Entry('trace/profit/profitHisDetailList', ['private', 'spot'], 'POST', {'cost': 2})
|
95
95
|
private_spot_post_trace_profit_waitprofitdetaillist = privateSpotPostTraceProfitWaitProfitDetailList = Entry('trace/profit/waitProfitDetailList', ['private', 'spot'], 'POST', {'cost': 2})
|
96
96
|
private_spot_post_trace_user_gettraderinfo = privateSpotPostTraceUserGetTraderInfo = Entry('trace/user/getTraderInfo', ['private', 'spot'], 'POST', {'cost': 2})
|
97
|
+
private_spot_post_trace_getremovablefollower = privateSpotPostTraceGetRemovableFollower = Entry('trace/getRemovableFollower', ['private', 'spot'], 'POST', {'cost': 2})
|
98
|
+
private_spot_post_trace_user_removefollower = privateSpotPostTraceUserRemoveFollower = Entry('trace/user/removeFollower', ['private', 'spot'], 'POST', {'cost': 2})
|
97
99
|
private_spot_post_convert_quoted_price = privateSpotPostConvertQuotedPrice = Entry('convert/quoted-price', ['private', 'spot'], 'POST', {'cost': 4})
|
98
100
|
private_spot_post_convert_trade = privateSpotPostConvertTrade = Entry('convert/trade', ['private', 'spot'], 'POST', {'cost': 4})
|
99
101
|
private_mix_get_account_account = privateMixGetAccountAccount = Entry('account/account', ['private', 'mix'], 'GET', {'cost': 2})
|
@@ -168,6 +170,7 @@ class ImplicitAPI:
|
|
168
170
|
private_mix_post_trace_report_order_currentlist = privateMixPostTraceReportOrderCurrentList = Entry('trace/report/order/currentList', ['private', 'mix'], 'POST', {'cost': 2})
|
169
171
|
private_mix_post_trace_querytradertpslratioconfig = privateMixPostTraceQueryTraderTpslRatioConfig = Entry('trace/queryTraderTpslRatioConfig', ['private', 'mix'], 'POST', {'cost': 2})
|
170
172
|
private_mix_post_trace_traderupdatetpslratioconfig = privateMixPostTraceTraderUpdateTpslRatioConfig = Entry('trace/traderUpdateTpslRatioConfig', ['private', 'mix'], 'POST', {'cost': 2})
|
173
|
+
private_mix_post_trace_closetrackorderbysymbol = privateMixPostTraceCloseTrackOrderBySymbol = Entry('trace/closeTrackOrderBySymbol', ['private', 'mix'], 'POST', {'cost': 2})
|
171
174
|
private_user_get_fee_query = privateUserGetFeeQuery = Entry('fee/query', ['private', 'user'], 'GET', {'cost': 2})
|
172
175
|
private_user_get_sub_virtual_list = privateUserGetSubVirtualList = Entry('sub/virtual-list', ['private', 'user'], 'GET', {'cost': 2})
|
173
176
|
private_user_get_sub_virtual_api_list = privateUserGetSubVirtualApiList = Entry('sub/virtual-api-list', ['private', 'user'], 'GET', {'cost': 2})
|
@@ -34,6 +34,7 @@ class ImplicitAPI:
|
|
34
34
|
private_post_querytrades = privatePostQueryTrades = Entry('QueryTrades', 'private', 'POST', {'cost': 3})
|
35
35
|
private_post_retrieveexport = privatePostRetrieveExport = Entry('RetrieveExport', 'private', 'POST', {'cost': 3})
|
36
36
|
private_post_removeexport = privatePostRemoveExport = Entry('RemoveExport', 'private', 'POST', {'cost': 3})
|
37
|
+
private_post_balanceex = privatePostBalanceEx = Entry('BalanceEx', 'private', 'POST', {'cost': 3})
|
37
38
|
private_post_tradebalance = privatePostTradeBalance = Entry('TradeBalance', 'private', 'POST', {'cost': 3})
|
38
39
|
private_post_tradeshistory = privatePostTradesHistory = Entry('TradesHistory', 'private', 'POST', {'cost': 6})
|
39
40
|
private_post_tradevolume = privatePostTradeVolume = Entry('TradeVolume', 'private', 'POST', {'cost': 3})
|
@@ -952,6 +952,7 @@ class binance(Exchange, ImplicitAPI):
|
|
952
952
|
'portfolio/repay-futures-switch': 150, # Weight(IP): 1500 => cost = 0.1 * 1500 = 150
|
953
953
|
'portfolio/repay-futures-negative-balance': 150, # Weight(IP): 1500 => cost = 0.1 * 1500 = 150
|
954
954
|
'listenKey': 1, # 1
|
955
|
+
'asset-collection': 3,
|
955
956
|
},
|
956
957
|
'put': {
|
957
958
|
'listenKey': 1, # 1
|
@@ -267,6 +267,8 @@ class bitget(Exchange, ImplicitAPI):
|
|
267
267
|
'trace/profit/profitHisDetailList': 2, # 10 times/1s(UID) => 20/10 = 2
|
268
268
|
'trace/profit/waitProfitDetailList': 2, # 10 times/1s(UID) => 20/10 = 2
|
269
269
|
'trace/user/getTraderInfo': 2, # 10 times/1s(UID) => 20/10 = 2
|
270
|
+
'trace/getRemovableFollower': 2,
|
271
|
+
'trace/user/removeFollower': 2,
|
270
272
|
'convert/quoted-price': 4,
|
271
273
|
'convert/trade': 4,
|
272
274
|
},
|
@@ -347,6 +349,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
347
349
|
'trace/report/order/currentList': 2, # 10 times/1s(IP) => 20/10 = 2
|
348
350
|
'trace/queryTraderTpslRatioConfig': 2, # 10 times/1s(UID) => 20/10 = 2
|
349
351
|
'trace/traderUpdateTpslRatioConfig': 2, # 10 times/1s(UID) => 20/10 = 2
|
352
|
+
'trace/closeTrackOrderBySymbol': 2,
|
350
353
|
},
|
351
354
|
},
|
352
355
|
'user': {
|
@@ -3797,8 +3797,8 @@ class gate(Exchange, ImplicitAPI):
|
|
3797
3797
|
# "order_type": ""
|
3798
3798
|
# }
|
3799
3799
|
#
|
3800
|
-
put = self.safe_value_2(order, 'put', 'initial')
|
3801
|
-
trigger = self.safe_value(order, 'trigger')
|
3800
|
+
put = self.safe_value_2(order, 'put', 'initial', {})
|
3801
|
+
trigger = self.safe_value(order, 'trigger', {})
|
3802
3802
|
contract = self.safe_string(put, 'contract')
|
3803
3803
|
type = self.safe_string(put, 'type')
|
3804
3804
|
timeInForce = self.safe_string_upper_2(put, 'time_in_force', 'tif')
|
@@ -761,17 +761,15 @@ class huobijp(Exchange, ImplicitAPI):
|
|
761
761
|
side = typeParts[0]
|
762
762
|
type = typeParts[1]
|
763
763
|
takerOrMaker = self.safe_string(trade, 'role')
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
amount = self.parse_number(amountString)
|
768
|
-
cost = self.parse_number(Precise.string_mul(priceString, amountString))
|
764
|
+
price = self.safe_string(trade, 'price')
|
765
|
+
amount = self.safe_string_2(trade, 'filled-amount', 'amount')
|
766
|
+
cost = Precise.string_mul(price, amount)
|
769
767
|
fee = None
|
770
|
-
feeCost = self.
|
768
|
+
feeCost = self.safe_string(trade, 'filled-fees')
|
771
769
|
feeCurrency = self.safe_currency_code(self.safe_string(trade, 'fee-currency'))
|
772
|
-
filledPoints = self.
|
770
|
+
filledPoints = self.safe_string(trade, 'filled-points')
|
773
771
|
if filledPoints is not None:
|
774
|
-
if (feeCost is None) or (feeCost
|
772
|
+
if (feeCost is None) or (Precise.string_eq(feeCost, '0.0')):
|
775
773
|
feeCost = filledPoints
|
776
774
|
feeCurrency = self.safe_currency_code(self.safe_string(trade, 'fee-deduct-currency'))
|
777
775
|
if feeCost is not None:
|
@@ -781,13 +779,13 @@ class huobijp(Exchange, ImplicitAPI):
|
|
781
779
|
}
|
782
780
|
tradeId = self.safe_string_2(trade, 'trade-id', 'tradeId')
|
783
781
|
id = self.safe_string(trade, 'id', tradeId)
|
784
|
-
return {
|
785
|
-
'id': id,
|
782
|
+
return self.safe_trade({
|
786
783
|
'info': trade,
|
784
|
+
'id': id,
|
785
|
+
'symbol': symbol,
|
787
786
|
'order': order,
|
788
787
|
'timestamp': timestamp,
|
789
788
|
'datetime': self.iso8601(timestamp),
|
790
|
-
'symbol': symbol,
|
791
789
|
'type': type,
|
792
790
|
'side': side,
|
793
791
|
'takerOrMaker': takerOrMaker,
|
@@ -795,7 +793,7 @@ class huobijp(Exchange, ImplicitAPI):
|
|
795
793
|
'amount': amount,
|
796
794
|
'cost': cost,
|
797
795
|
'fee': fee,
|
798
|
-
}
|
796
|
+
})
|
799
797
|
|
800
798
|
async def fetch_order_trades(self, id: str, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
|
801
799
|
"""
|
@@ -489,8 +489,8 @@ class kucoin(Exchange, ImplicitAPI):
|
|
489
489
|
'symbolSeparator': '-',
|
490
490
|
'fetchMyTradesMethod': 'private_get_fills',
|
491
491
|
'fetchCurrencies': {
|
492
|
-
'webApiEnable':
|
493
|
-
'webApiRetries':
|
492
|
+
'webApiEnable': True, # fetches from WEB
|
493
|
+
'webApiRetries': 1,
|
494
494
|
'webApiMuteFailure': True,
|
495
495
|
},
|
496
496
|
'fetchMarkets': {
|
@@ -1243,6 +1243,7 @@ class okx(Exchange, ImplicitAPI):
|
|
1243
1243
|
async def fetch_markets(self, params={}):
|
1244
1244
|
"""
|
1245
1245
|
retrieves data on all markets for okx
|
1246
|
+
see https://www.okx.com/docs-v5/en/#rest-api-public-data-get-instruments
|
1246
1247
|
:param dict [params]: extra parameters specific to the exchange api endpoint
|
1247
1248
|
:returns dict[]: an array of objects representing market data
|
1248
1249
|
"""
|
@@ -1350,12 +1351,10 @@ class okx(Exchange, ImplicitAPI):
|
|
1350
1351
|
symbol = symbol + '-' + ymd + '-' + strikePrice + '-' + optionType
|
1351
1352
|
optionType = 'put' if (optionType == 'P') else 'call'
|
1352
1353
|
tickSize = self.safe_string(market, 'tickSz')
|
1353
|
-
minAmountString = self.safe_string(market, 'minSz')
|
1354
|
-
minAmount = self.parse_number(minAmountString)
|
1355
1354
|
fees = self.safe_value_2(self.fees, type, 'trading', {})
|
1356
|
-
precisionPrice = self.parse_number(tickSize)
|
1357
1355
|
maxLeverage = self.safe_string(market, 'lever', '1')
|
1358
1356
|
maxLeverage = Precise.string_max(maxLeverage, '1')
|
1357
|
+
maxSpotCost = self.safe_number(market, 'maxMktSz')
|
1359
1358
|
return self.extend(fees, {
|
1360
1359
|
'id': id,
|
1361
1360
|
'symbol': symbol,
|
@@ -1382,7 +1381,7 @@ class okx(Exchange, ImplicitAPI):
|
|
1382
1381
|
'optionType': optionType,
|
1383
1382
|
'precision': {
|
1384
1383
|
'amount': self.safe_number(market, 'lotSz'),
|
1385
|
-
'price':
|
1384
|
+
'price': self.parse_number(tickSize),
|
1386
1385
|
},
|
1387
1386
|
'limits': {
|
1388
1387
|
'leverage': {
|
@@ -1390,16 +1389,16 @@ class okx(Exchange, ImplicitAPI):
|
|
1390
1389
|
'max': self.parse_number(maxLeverage),
|
1391
1390
|
},
|
1392
1391
|
'amount': {
|
1393
|
-
'min':
|
1392
|
+
'min': self.safe_number(market, 'minSz'),
|
1394
1393
|
'max': None,
|
1395
1394
|
},
|
1396
1395
|
'price': {
|
1397
|
-
'min':
|
1396
|
+
'min': None,
|
1398
1397
|
'max': None,
|
1399
1398
|
},
|
1400
1399
|
'cost': {
|
1401
1400
|
'min': None,
|
1402
|
-
'max': None,
|
1401
|
+
'max': None if contract else maxSpotCost,
|
1403
1402
|
},
|
1404
1403
|
},
|
1405
1404
|
'info': market,
|
@@ -951,6 +951,7 @@ class binance(Exchange, ImplicitAPI):
|
|
951
951
|
'portfolio/repay-futures-switch': 150, # Weight(IP): 1500 => cost = 0.1 * 1500 = 150
|
952
952
|
'portfolio/repay-futures-negative-balance': 150, # Weight(IP): 1500 => cost = 0.1 * 1500 = 150
|
953
953
|
'listenKey': 1, # 1
|
954
|
+
'asset-collection': 3,
|
954
955
|
},
|
955
956
|
'put': {
|
956
957
|
'listenKey': 1, # 1
|
@@ -266,6 +266,8 @@ class bitget(Exchange, ImplicitAPI):
|
|
266
266
|
'trace/profit/profitHisDetailList': 2, # 10 times/1s(UID) => 20/10 = 2
|
267
267
|
'trace/profit/waitProfitDetailList': 2, # 10 times/1s(UID) => 20/10 = 2
|
268
268
|
'trace/user/getTraderInfo': 2, # 10 times/1s(UID) => 20/10 = 2
|
269
|
+
'trace/getRemovableFollower': 2,
|
270
|
+
'trace/user/removeFollower': 2,
|
269
271
|
'convert/quoted-price': 4,
|
270
272
|
'convert/trade': 4,
|
271
273
|
},
|
@@ -346,6 +348,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
346
348
|
'trace/report/order/currentList': 2, # 10 times/1s(IP) => 20/10 = 2
|
347
349
|
'trace/queryTraderTpslRatioConfig': 2, # 10 times/1s(UID) => 20/10 = 2
|
348
350
|
'trace/traderUpdateTpslRatioConfig': 2, # 10 times/1s(UID) => 20/10 = 2
|
351
|
+
'trace/closeTrackOrderBySymbol': 2,
|
349
352
|
},
|
350
353
|
},
|
351
354
|
'user': {
|
@@ -3796,8 +3796,8 @@ class gate(Exchange, ImplicitAPI):
|
|
3796
3796
|
# "order_type": ""
|
3797
3797
|
# }
|
3798
3798
|
#
|
3799
|
-
put = self.safe_value_2(order, 'put', 'initial')
|
3800
|
-
trigger = self.safe_value(order, 'trigger')
|
3799
|
+
put = self.safe_value_2(order, 'put', 'initial', {})
|
3800
|
+
trigger = self.safe_value(order, 'trigger', {})
|
3801
3801
|
contract = self.safe_string(put, 'contract')
|
3802
3802
|
type = self.safe_string(put, 'type')
|
3803
3803
|
timeInForce = self.safe_string_upper_2(put, 'time_in_force', 'tif')
|
@@ -761,17 +761,15 @@ class huobijp(Exchange, ImplicitAPI):
|
|
761
761
|
side = typeParts[0]
|
762
762
|
type = typeParts[1]
|
763
763
|
takerOrMaker = self.safe_string(trade, 'role')
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
amount = self.parse_number(amountString)
|
768
|
-
cost = self.parse_number(Precise.string_mul(priceString, amountString))
|
764
|
+
price = self.safe_string(trade, 'price')
|
765
|
+
amount = self.safe_string_2(trade, 'filled-amount', 'amount')
|
766
|
+
cost = Precise.string_mul(price, amount)
|
769
767
|
fee = None
|
770
|
-
feeCost = self.
|
768
|
+
feeCost = self.safe_string(trade, 'filled-fees')
|
771
769
|
feeCurrency = self.safe_currency_code(self.safe_string(trade, 'fee-currency'))
|
772
|
-
filledPoints = self.
|
770
|
+
filledPoints = self.safe_string(trade, 'filled-points')
|
773
771
|
if filledPoints is not None:
|
774
|
-
if (feeCost is None) or (feeCost
|
772
|
+
if (feeCost is None) or (Precise.string_eq(feeCost, '0.0')):
|
775
773
|
feeCost = filledPoints
|
776
774
|
feeCurrency = self.safe_currency_code(self.safe_string(trade, 'fee-deduct-currency'))
|
777
775
|
if feeCost is not None:
|
@@ -781,13 +779,13 @@ class huobijp(Exchange, ImplicitAPI):
|
|
781
779
|
}
|
782
780
|
tradeId = self.safe_string_2(trade, 'trade-id', 'tradeId')
|
783
781
|
id = self.safe_string(trade, 'id', tradeId)
|
784
|
-
return {
|
785
|
-
'id': id,
|
782
|
+
return self.safe_trade({
|
786
783
|
'info': trade,
|
784
|
+
'id': id,
|
785
|
+
'symbol': symbol,
|
787
786
|
'order': order,
|
788
787
|
'timestamp': timestamp,
|
789
788
|
'datetime': self.iso8601(timestamp),
|
790
|
-
'symbol': symbol,
|
791
789
|
'type': type,
|
792
790
|
'side': side,
|
793
791
|
'takerOrMaker': takerOrMaker,
|
@@ -795,7 +793,7 @@ class huobijp(Exchange, ImplicitAPI):
|
|
795
793
|
'amount': amount,
|
796
794
|
'cost': cost,
|
797
795
|
'fee': fee,
|
798
|
-
}
|
796
|
+
})
|
799
797
|
|
800
798
|
def fetch_order_trades(self, id: str, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
|
801
799
|
"""
|
@@ -488,8 +488,8 @@ class kucoin(Exchange, ImplicitAPI):
|
|
488
488
|
'symbolSeparator': '-',
|
489
489
|
'fetchMyTradesMethod': 'private_get_fills',
|
490
490
|
'fetchCurrencies': {
|
491
|
-
'webApiEnable':
|
492
|
-
'webApiRetries':
|
491
|
+
'webApiEnable': True, # fetches from WEB
|
492
|
+
'webApiRetries': 1,
|
493
493
|
'webApiMuteFailure': True,
|
494
494
|
},
|
495
495
|
'fetchMarkets': {
|
@@ -1242,6 +1242,7 @@ class okx(Exchange, ImplicitAPI):
|
|
1242
1242
|
def fetch_markets(self, params={}):
|
1243
1243
|
"""
|
1244
1244
|
retrieves data on all markets for okx
|
1245
|
+
see https://www.okx.com/docs-v5/en/#rest-api-public-data-get-instruments
|
1245
1246
|
:param dict [params]: extra parameters specific to the exchange api endpoint
|
1246
1247
|
:returns dict[]: an array of objects representing market data
|
1247
1248
|
"""
|
@@ -1349,12 +1350,10 @@ class okx(Exchange, ImplicitAPI):
|
|
1349
1350
|
symbol = symbol + '-' + ymd + '-' + strikePrice + '-' + optionType
|
1350
1351
|
optionType = 'put' if (optionType == 'P') else 'call'
|
1351
1352
|
tickSize = self.safe_string(market, 'tickSz')
|
1352
|
-
minAmountString = self.safe_string(market, 'minSz')
|
1353
|
-
minAmount = self.parse_number(minAmountString)
|
1354
1353
|
fees = self.safe_value_2(self.fees, type, 'trading', {})
|
1355
|
-
precisionPrice = self.parse_number(tickSize)
|
1356
1354
|
maxLeverage = self.safe_string(market, 'lever', '1')
|
1357
1355
|
maxLeverage = Precise.string_max(maxLeverage, '1')
|
1356
|
+
maxSpotCost = self.safe_number(market, 'maxMktSz')
|
1358
1357
|
return self.extend(fees, {
|
1359
1358
|
'id': id,
|
1360
1359
|
'symbol': symbol,
|
@@ -1381,7 +1380,7 @@ class okx(Exchange, ImplicitAPI):
|
|
1381
1380
|
'optionType': optionType,
|
1382
1381
|
'precision': {
|
1383
1382
|
'amount': self.safe_number(market, 'lotSz'),
|
1384
|
-
'price':
|
1383
|
+
'price': self.parse_number(tickSize),
|
1385
1384
|
},
|
1386
1385
|
'limits': {
|
1387
1386
|
'leverage': {
|
@@ -1389,16 +1388,16 @@ class okx(Exchange, ImplicitAPI):
|
|
1389
1388
|
'max': self.parse_number(maxLeverage),
|
1390
1389
|
},
|
1391
1390
|
'amount': {
|
1392
|
-
'min':
|
1391
|
+
'min': self.safe_number(market, 'minSz'),
|
1393
1392
|
'max': None,
|
1394
1393
|
},
|
1395
1394
|
'price': {
|
1396
|
-
'min':
|
1395
|
+
'min': None,
|
1397
1396
|
'max': None,
|
1398
1397
|
},
|
1399
1398
|
'cost': {
|
1400
1399
|
'min': None,
|
1401
|
-
'max': None,
|
1400
|
+
'max': None if contract else maxSpotCost,
|
1402
1401
|
},
|
1403
1402
|
},
|
1404
1403
|
'info': market,
|
@@ -325,13 +325,13 @@ class bitfinex(ccxt.async_support.bitfinex):
|
|
325
325
|
orderbook = self.orderbooks[symbol]
|
326
326
|
if isRaw:
|
327
327
|
id = self.safe_string(message, 1)
|
328
|
-
price = self.
|
328
|
+
price = self.safe_string(message, 2)
|
329
329
|
size = -message[3] if (message[3] < 0) else message[3]
|
330
330
|
side = 'asks' if (message[3] < 0) else 'bids'
|
331
331
|
bookside = orderbook[side]
|
332
332
|
# price = 0 means that you have to remove the order from your book
|
333
|
-
amount = size if (price
|
334
|
-
bookside.store(price, amount, id)
|
333
|
+
amount = size if Precise.string_gt(price, '0') else '0'
|
334
|
+
bookside.store(self.parse_number(price), self.parse_number(amount), id)
|
335
335
|
else:
|
336
336
|
size = -message[3] if (message[3] < 0) else message[3]
|
337
337
|
side = 'asks' if (message[3] < 0) else 'bids'
|
@@ -585,21 +585,21 @@ class bitfinex2(ccxt.async_support.bitfinex2):
|
|
585
585
|
deltas = message[1]
|
586
586
|
orderbook = self.orderbooks[symbol]
|
587
587
|
if isRaw:
|
588
|
-
price = self.
|
588
|
+
price = self.safe_string(deltas, 1)
|
589
589
|
size = -deltas[2] if (deltas[2] < 0) else deltas[2]
|
590
590
|
side = 'asks' if (deltas[2] < 0) else 'bids'
|
591
591
|
bookside = orderbook[side]
|
592
592
|
# price = 0 means that you have to remove the order from your book
|
593
|
-
amount = size if (price
|
594
|
-
bookside.store(price, amount, id)
|
593
|
+
amount = size if Precise.string_gt(price, '0') else '0'
|
594
|
+
bookside.store(self.parse_number(price), self.parse_number(amount), id)
|
595
595
|
else:
|
596
|
-
amount = self.
|
597
|
-
counter = self.
|
598
|
-
price = self.
|
599
|
-
size =
|
600
|
-
side = 'asks' if (amount
|
596
|
+
amount = self.safe_string(deltas, 2)
|
597
|
+
counter = self.safe_string(deltas, 1)
|
598
|
+
price = self.safe_string(deltas, 0)
|
599
|
+
size = Precise.string_neg(amount) if Precise.string_lt(amount, '0') else amount
|
600
|
+
side = 'asks' if Precise.string_lt(amount, '0') else 'bids'
|
601
601
|
bookside = orderbook[side]
|
602
|
-
bookside.store(price, size, counter)
|
602
|
+
bookside.store(self.parse_number(price), self.parse_number(size), self.parse_number(counter))
|
603
603
|
client.resolve(orderbook, messageHash)
|
604
604
|
|
605
605
|
def handle_checksum(self, client: Client, message, subscription):
|
@@ -958,11 +958,11 @@ class bitfinex2(ccxt.async_support.bitfinex2):
|
|
958
958
|
clientOrderId = self.safe_string(order, 1)
|
959
959
|
marketId = self.safe_string(order, 3)
|
960
960
|
symbol = self.safe_symbol(marketId)
|
961
|
-
market = self.safe_market(
|
962
|
-
amount = self.
|
961
|
+
market = self.safe_market(symbol)
|
962
|
+
amount = self.safe_string(order, 7)
|
963
963
|
side = 'buy'
|
964
|
-
if amount
|
965
|
-
amount =
|
964
|
+
if Precise.string_lt(amount, '0'):
|
965
|
+
amount = Precise.string_abs(amount)
|
966
966
|
side = 'sell'
|
967
967
|
remaining = Precise.string_abs(self.safe_string(order, 6))
|
968
968
|
type = self.safe_string(order, 8)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.0.
|
3
|
+
Version: 4.0.49
|
4
4
|
Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges
|
5
5
|
Home-page: https://ccxt.com
|
6
6
|
Author: Igor Kroitor
|
@@ -232,20 +232,20 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
232
232
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
233
233
|
|
234
234
|
<<<<<<< HEAD
|
235
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.
|
236
|
-
* unpkg: https://unpkg.com/ccxt@4.0.
|
235
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.49/dist/ccxt.browser.js
|
236
|
+
* unpkg: https://unpkg.com/ccxt@4.0.49/dist/ccxt.browser.js
|
237
237
|
=======
|
238
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.
|
239
|
-
* unpkg: https://unpkg.com/ccxt@4.0.
|
238
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.49/dist/ccxt.browser.js
|
239
|
+
* unpkg: https://unpkg.com/ccxt@4.0.49/dist/ccxt.browser.js
|
240
240
|
>>>>>>> e74b18a3a8a8cbcfe45ce4c1d32b9c03d4fae41c
|
241
241
|
|
242
242
|
CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
|
243
243
|
|
244
244
|
```HTML
|
245
245
|
<<<<<<< HEAD
|
246
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.
|
246
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.49/dist/ccxt.browser.js"></script>
|
247
247
|
=======
|
248
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.
|
248
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.49/dist/ccxt.browser.js"></script>
|
249
249
|
>>>>>>> e74b18a3a8a8cbcfe45ce4c1d32b9c03d4fae41c
|
250
250
|
```
|
251
251
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|