ccxt 4.0.47__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.47/ccxt.egg-info → ccxt-4.0.49}/PKG-INFO +7 -7
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/__init__.py +1 -1
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/binance.py +1 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/binancecoinm.py +1 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/binanceus.py +1 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/binanceusdm.py +1 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitget.py +3 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/kraken.py +1 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/base/exchange.py +1 -1
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/binance.py +1 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitget.py +3 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/gate.py +2 -2
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/huobijp.py +10 -12
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/kraken.py +1 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/kucoin.py +8 -9
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/okx.py +6 -7
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/base/exchange.py +1 -1
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/binance.py +1 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitget.py +3 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/gate.py +2 -2
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/huobijp.py +10 -12
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/kraken.py +1 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/kucoin.py +8 -9
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/okx.py +6 -7
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/bitfinex.py +10 -13
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/bitfinex2.py +13 -13
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/bitmex.py +3 -3
- {ccxt-4.0.47 → ccxt-4.0.49/ccxt.egg-info}/PKG-INFO +7 -7
- {ccxt-4.0.47 → ccxt-4.0.49}/package.json +1 -1
- {ccxt-4.0.47 → ccxt-4.0.49}/LICENSE.txt +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/MANIFEST.in +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/README.rst +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitforex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitstamp1.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bittrex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bkex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/btctradeua.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/coinbaseprime.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/coinbasepro.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/coinfalcon.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/huobipro.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/lbank2.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/mexc3.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/okex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/okex5.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/tidex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/ace.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/alpaca.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/ascendex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bingx.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitforex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitstamp1.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bittrex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bkex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/btctradeua.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/bybit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/coinbaseprime.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/coinbasepro.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/coinex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/coinfalcon.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/flowbtc.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/huobipro.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/lbank2.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/mexc3.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/okex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/okex5.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/tidex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/base/__init__.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/base/errors.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/base/precise.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/base/types.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bequant.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bigone.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/binanceus.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bingx.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bit2c.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitbank.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitbay.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitbns.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitfinex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitflyer.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitforex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bithumb.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitmart.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitmex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitopro.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitpanda.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitrue.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitso.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitstamp.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitstamp1.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bittrex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bitvavo.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bkex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bl3p.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/btcalpha.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/btcbox.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/btctradeua.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/btcturk.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/bybit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/cex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/coinbase.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/coinbaseprime.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/coinbasepro.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/coincheck.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/coinex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/coinfalcon.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/coinmate.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/coinone.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/coinsph.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/coinspot.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/cryptocom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/currencycom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/delta.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/deribit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/digifinex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/exmo.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/flowbtc.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/fmfwio.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/gateio.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/gemini.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/hitbtc.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/hollaex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/huobi.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/huobipro.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/idex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/independentreserve.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/indodax.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/kuna.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/latoken.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/lbank.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/lbank2.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/luno.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/lykke.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/mercado.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/mexc.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/mexc3.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/ndax.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/novadax.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/oceanex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/okcoin.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/okex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/okex5.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/paymium.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/phemex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/poloniex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/binance.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/bittrex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/btcex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/cex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/coinbaseprime.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/coinbasepro.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/gate.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/huobipro.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/idex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/luno.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/mexc3.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/okex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/okx.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/probit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/ripio.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/woo.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/pro/zb.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/probit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/__init__.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/__init__.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_account.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_balance.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_borrow_interest.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_borrow_rate.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_calculate_fee.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_crypto.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_currency.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_datetime.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_decimal_to_precision.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_deep_extend.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_funding_rate_history.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_ledger_entry.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_ledger_item.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_leverage_tier.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_margin_modification.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_market.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_number.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_ohlcv.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_open_interest.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_order.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_order_book.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_position.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_shared_methods.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_status.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_throttle.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_ticker.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_trade.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_trading_fee.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/base/test_transaction.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/test_async.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/test/test_sync.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/tidex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/timex.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/upbit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/wazirx.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/whitebit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/woo.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/yobit.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/zaif.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt/zonda.py +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.0.47 → ccxt-4.0.49}/setup.cfg +0 -0
- {ccxt-4.0.47 → 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': {
|
@@ -1727,13 +1727,17 @@ class kucoin(Exchange, ImplicitAPI):
|
|
1727
1727
|
:param float amount: the amount of currency to trade
|
1728
1728
|
:param float price: *ignored in "market" orders* the price at which the order is to be fullfilled at in units of the quote currency
|
1729
1729
|
:param dict [params]: Extra parameters specific to the exchange API endpoint
|
1730
|
+
:param float [params.triggerPrice]: The price at which a trigger order is triggered at
|
1731
|
+
:param str [params.marginMode]: 'cross', # cross(cross mode) and isolated(isolated mode), set to cross by default, the isolated mode will be released soon, stay tuned
|
1732
|
+
:param str [params.timeInForce]: GTC, GTT, IOC, or FOK, default is GTC, limit orders only
|
1733
|
+
:param str [params.postOnly]: Post only flag, invalid when timeInForce is IOC or FOK
|
1734
|
+
*
|
1735
|
+
* EXCHANGE SPECIFIC PARAMETERS
|
1730
1736
|
:param str [params.clientOid]: client order id, defaults to uuid if not passed
|
1731
1737
|
:param str [params.remark]: remark for the order, length cannot exceed 100 utf8 characters
|
1732
1738
|
:param str [params.tradeType]: 'TRADE', # TRADE, MARGIN_TRADE # not used with margin orders
|
1733
1739
|
* limit orders ---------------------------------------------------
|
1734
|
-
:param str [params.timeInForce]: GTC, GTT, IOC, or FOK, default is GTC, limit orders only
|
1735
1740
|
:param float [params.cancelAfter]: long, # cancel after n seconds, requires timeInForce to be GTT
|
1736
|
-
:param str [params.postOnly]: Post only flag, invalid when timeInForce is IOC or FOK
|
1737
1741
|
:param bool [params.hidden]: False, # Order will not be displayed in the order book
|
1738
1742
|
:param bool [params.iceberg]: False, # Only a portion of the order is displayed in the order book
|
1739
1743
|
:param str [params.visibleSize]: self.amount_to_precision(symbol, visibleSize), # The maximum visible size of an iceberg order
|
@@ -1741,11 +1745,9 @@ class kucoin(Exchange, ImplicitAPI):
|
|
1741
1745
|
:param str [params.funds]: # Amount of quote currency to use
|
1742
1746
|
* stop orders ----------------------------------------------------
|
1743
1747
|
:param str [params.stop]: Either loss or entry, the default is loss. Requires stopPrice to be defined
|
1744
|
-
:param float [params.stopPrice]: The price at which a trigger order is triggered at
|
1745
1748
|
* margin orders --------------------------------------------------
|
1746
1749
|
:param float [params.leverage]: Leverage size of the order
|
1747
1750
|
:param str [params.stp]: '', # self trade prevention, CN, CO, CB or DC
|
1748
|
-
:param str [params.marginMode]: 'cross', # cross(cross mode) and isolated(isolated mode), set to cross by default, the isolated mode will be released soon, stay tuned
|
1749
1751
|
:param bool [params.autoBorrow]: False, # The system will first borrow you funds at the optimal interest rate and then place an order for you
|
1750
1752
|
:param bool [params.hf]: False, # True for hf order
|
1751
1753
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
@@ -1788,7 +1790,6 @@ class kucoin(Exchange, ImplicitAPI):
|
|
1788
1790
|
method = 'privatePostHfOrders'
|
1789
1791
|
elif triggerPrice or stopLossPrice or takeProfitPrice:
|
1790
1792
|
if triggerPrice:
|
1791
|
-
request['stop'] = 'up' if (side == 'buy') else 'down'
|
1792
1793
|
request['stopPrice'] = self.price_to_precision(symbol, triggerPrice)
|
1793
1794
|
elif stopLossPrice or takeProfitPrice:
|
1794
1795
|
if stopLossPrice:
|
@@ -2286,8 +2287,6 @@ class kucoin(Exchange, ImplicitAPI):
|
|
2286
2287
|
status = 'cancelled'
|
2287
2288
|
if cancelExist:
|
2288
2289
|
status = 'canceled'
|
2289
|
-
if status is None:
|
2290
|
-
status = 'closed'
|
2291
2290
|
stopPrice = self.safe_number(order, 'stopPrice')
|
2292
2291
|
return self.safe_order({
|
2293
2292
|
'info': order,
|
@@ -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': {
|
@@ -1726,13 +1726,17 @@ class kucoin(Exchange, ImplicitAPI):
|
|
1726
1726
|
:param float amount: the amount of currency to trade
|
1727
1727
|
:param float price: *ignored in "market" orders* the price at which the order is to be fullfilled at in units of the quote currency
|
1728
1728
|
:param dict [params]: Extra parameters specific to the exchange API endpoint
|
1729
|
+
:param float [params.triggerPrice]: The price at which a trigger order is triggered at
|
1730
|
+
:param str [params.marginMode]: 'cross', # cross(cross mode) and isolated(isolated mode), set to cross by default, the isolated mode will be released soon, stay tuned
|
1731
|
+
:param str [params.timeInForce]: GTC, GTT, IOC, or FOK, default is GTC, limit orders only
|
1732
|
+
:param str [params.postOnly]: Post only flag, invalid when timeInForce is IOC or FOK
|
1733
|
+
*
|
1734
|
+
* EXCHANGE SPECIFIC PARAMETERS
|
1729
1735
|
:param str [params.clientOid]: client order id, defaults to uuid if not passed
|
1730
1736
|
:param str [params.remark]: remark for the order, length cannot exceed 100 utf8 characters
|
1731
1737
|
:param str [params.tradeType]: 'TRADE', # TRADE, MARGIN_TRADE # not used with margin orders
|
1732
1738
|
* limit orders ---------------------------------------------------
|
1733
|
-
:param str [params.timeInForce]: GTC, GTT, IOC, or FOK, default is GTC, limit orders only
|
1734
1739
|
:param float [params.cancelAfter]: long, # cancel after n seconds, requires timeInForce to be GTT
|
1735
|
-
:param str [params.postOnly]: Post only flag, invalid when timeInForce is IOC or FOK
|
1736
1740
|
:param bool [params.hidden]: False, # Order will not be displayed in the order book
|
1737
1741
|
:param bool [params.iceberg]: False, # Only a portion of the order is displayed in the order book
|
1738
1742
|
:param str [params.visibleSize]: self.amount_to_precision(symbol, visibleSize), # The maximum visible size of an iceberg order
|
@@ -1740,11 +1744,9 @@ class kucoin(Exchange, ImplicitAPI):
|
|
1740
1744
|
:param str [params.funds]: # Amount of quote currency to use
|
1741
1745
|
* stop orders ----------------------------------------------------
|
1742
1746
|
:param str [params.stop]: Either loss or entry, the default is loss. Requires stopPrice to be defined
|
1743
|
-
:param float [params.stopPrice]: The price at which a trigger order is triggered at
|
1744
1747
|
* margin orders --------------------------------------------------
|
1745
1748
|
:param float [params.leverage]: Leverage size of the order
|
1746
1749
|
:param str [params.stp]: '', # self trade prevention, CN, CO, CB or DC
|
1747
|
-
:param str [params.marginMode]: 'cross', # cross(cross mode) and isolated(isolated mode), set to cross by default, the isolated mode will be released soon, stay tuned
|
1748
1750
|
:param bool [params.autoBorrow]: False, # The system will first borrow you funds at the optimal interest rate and then place an order for you
|
1749
1751
|
:param bool [params.hf]: False, # True for hf order
|
1750
1752
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
@@ -1787,7 +1789,6 @@ class kucoin(Exchange, ImplicitAPI):
|
|
1787
1789
|
method = 'privatePostHfOrders'
|
1788
1790
|
elif triggerPrice or stopLossPrice or takeProfitPrice:
|
1789
1791
|
if triggerPrice:
|
1790
|
-
request['stop'] = 'up' if (side == 'buy') else 'down'
|
1791
1792
|
request['stopPrice'] = self.price_to_precision(symbol, triggerPrice)
|
1792
1793
|
elif stopLossPrice or takeProfitPrice:
|
1793
1794
|
if stopLossPrice:
|
@@ -2285,8 +2286,6 @@ class kucoin(Exchange, ImplicitAPI):
|
|
2285
2286
|
status = 'cancelled'
|
2286
2287
|
if cancelExist:
|
2287
2288
|
status = 'canceled'
|
2288
|
-
if status is None:
|
2289
|
-
status = 'closed'
|
2290
2289
|
stopPrice = self.safe_number(order, 'stopPrice')
|
2291
2290
|
return self.safe_order({
|
2292
2291
|
'info': order,
|
@@ -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,
|