ccxt 3.1.14__tar.gz → 3.1.15__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-3.1.14/ccxt.egg-info → ccxt-3.1.15}/PKG-INFO +5 -5
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/__init__.py +1 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/__init__.py +1 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/base/exchange.py +15 -11
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/huobi.py +4 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/okx.py +1 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/poloniex.py +1 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/base/exchange.py +15 -11
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/huobi.py +4 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/okx.py +1 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/poloniex.py +1 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/__init__.py +3 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/alpaca.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/ascendex.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/binance.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/bitfinex.py +1 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/bitfinex2.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/bitget.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/bitmart.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/bitmex.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/bitopro.py +1 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/bitpanda.py +1 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/bitstamp.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/bittrex.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/bitvavo.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/blockchaincom.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/btcex.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/bybit.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/cex.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/coinbasepro.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/coinex.py +1 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/cryptocom.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/currencycom.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/deribit.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/exmo.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/gate.py +4 -4
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/gemini.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/hitbtc.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/hollaex.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/huobi.py +4 -4
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/huobijp.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/idex.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/independentreserve.py +1 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/kraken.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/krakenfutures.py +4 -4
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/kucoin.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/kucoinfutures.py +1 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/luno.py +1 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/mexc.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/ndax.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/okcoin.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/okx.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/phemex.py +3 -3
- ccxt-3.1.15/ccxt/pro/poloniex.py +973 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/poloniexfutures.py +1 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/probit.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/upbit.py +1 -1
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/wazirx.py +3 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/whitebit.py +4 -4
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/woo.py +2 -2
- {ccxt-3.1.14 → ccxt-3.1.15/ccxt.egg-info}/PKG-INFO +5 -5
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt.egg-info/SOURCES.txt +1 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/package.json +4 -3
- {ccxt-3.1.14 → ccxt-3.1.15}/LICENSE.txt +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/MANIFEST.in +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/README.rst +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/__init__.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/ace.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bequant.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bigone.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/binance.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitforex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitget.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitso.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitstamp1.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bittrex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bkex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/btcex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/btctradeua.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/bybit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/cex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/coinbaseprime.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/coinbasepro.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/coinex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/coinfalcon.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/coinone.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/delta.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/deribit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/exmo.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/gate.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/gateio.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/gemini.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/huobi.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/huobipro.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/idex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/indodax.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/kraken.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/kuna.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/latoken.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/lbank.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/lbank2.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/luno.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/lykke.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/mercado.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/mexc.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/mexc3.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/ndax.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/novadax.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/okex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/okex5.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/okx.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/paymium.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/phemex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/probit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/stex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/tidex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/timex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/upbit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/woo.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/xt.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/yobit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/zaif.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/abstract/zonda.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/ace.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/alpaca.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/ascendex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/ace.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bequant.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bigone.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/binance.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitforex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitget.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitso.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitstamp1.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bittrex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bkex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/btcex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/btctradeua.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/buda.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/bybit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/cex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/coinbaseprime.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/coinbasepro.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/coinex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/coinfalcon.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/coinone.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/delta.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/deribit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/exmo.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/flowbtc.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/gate.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/gateio.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/gemini.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/huobipro.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/idex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/indodax.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/itbit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/kraken.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/kucoin.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/kuna.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/latoken.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/lbank.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/lbank2.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/luno.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/lykke.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/mercado.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/mexc.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/mexc3.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/ndax.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/novadax.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/okex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/okex5.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/paymium.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/phemex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/probit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/ripio.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/stex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/tidex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/timex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/upbit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/woo.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/xt.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/yobit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/zaif.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/zb.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/async_support/zonda.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/base/__init__.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/base/errors.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/base/precise.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/base/types.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bequant.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bigone.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/binance.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/binancecoinm.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/binanceus.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/binanceusdm.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bit2c.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitbank.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitbay.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitbns.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitcoincom.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitfinex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitfinex2.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitflyer.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitforex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitget.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bithumb.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitmart.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitmex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitopro.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitpanda.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitrue.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitso.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitstamp.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitstamp1.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bittrex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bitvavo.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bkex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bl3p.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/blockchaincom.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/btcalpha.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/btcbox.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/btcex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/btcmarkets.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/btctradeua.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/btcturk.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/buda.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/bybit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/cex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/coinbase.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/coinbaseprime.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/coinbasepro.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/coincheck.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/coinex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/coinfalcon.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/coinmate.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/coinone.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/coinsph.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/coinspot.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/cryptocom.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/currencycom.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/delta.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/deribit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/digifinex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/exmo.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/flowbtc.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/fmfwio.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/gate.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/gateio.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/gemini.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/hitbtc.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/hitbtc3.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/hollaex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/huobijp.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/huobipro.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/idex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/independentreserve.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/indodax.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/itbit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/kraken.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/krakenfutures.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/kucoin.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/kucoinfutures.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/kuna.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/latoken.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/lbank.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/lbank2.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/luno.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/lykke.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/mercado.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/mexc.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/mexc3.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/ndax.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/novadax.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/oceanex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/okcoin.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/okex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/okex5.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/paymium.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/phemex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/poloniexfutures.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/bequant.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/binanceus.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/bitrue.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/coinbaseprime.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/gateio.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/huobipro.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/mexc3.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/okex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/ripio.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/pro/zb.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/probit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/ripio.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/stex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/__init__.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/__init__.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_account.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_balance.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_borrow_interest.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_borrow_rate.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_calculate_fee.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_crypto.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_currency.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_datetime.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_decimal_to_precision.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_deep_extend.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_funding_rate_history.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_ledger_entry.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_ledger_item.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_leverage_tier.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_margin_modification.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_market.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_number.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_ohlcv.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_open_interest.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_order.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_order_book.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_position.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_shared_methods.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_status.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_throttle.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_ticker.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_trade.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_trading_fee.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/base/test_transaction.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/test_async.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/test/test_sync.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/tidex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/timex.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/tokocrypto.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/upbit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/wavesexchange.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/wazirx.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/whitebit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/woo.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/xt.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/yobit.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/zaif.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/zb.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt/zonda.py +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/setup.cfg +0 -0
- {ccxt-3.1.14 → ccxt-3.1.15}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 3.1.
|
3
|
+
Version: 3.1.15
|
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
|
@@ -161,7 +161,7 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
161
161
|
| [](https://www.okx.com/join/1888677) | okx | [OKX](https://www.okx.com/join/1888677) | [](https://www.okx.com/docs-v5/en/) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) |
|
162
162
|
| [](https://www.paymium.com/page/sign-up?referral=eDAzPoRQFMvaAB8sf-qj) | paymium | [Paymium](https://www.paymium.com/page/sign-up?referral=eDAzPoRQFMvaAB8sf-qj) | [](https://github.com/Paymium/api-documentation) | | |
|
163
163
|
| [](https://phemex.com/register?referralCode=EDNVJ) | phemex | [Phemex](https://phemex.com/register?referralCode=EDNVJ) | [](https://github.com/phemex/phemex-api-docs) | | [](https://ccxt.pro) |
|
164
|
-
| [](https://poloniex.com/signup?c=UBFZJRPJ) | poloniex | [Poloniex](https://poloniex.com/signup?c=UBFZJRPJ) | [](https://docs.poloniex.com) | |
|
164
|
+
| [](https://poloniex.com/signup?c=UBFZJRPJ) | poloniex | [Poloniex](https://poloniex.com/signup?c=UBFZJRPJ) | [](https://docs.poloniex.com) | | [](https://ccxt.pro) |
|
165
165
|
| [](https://poloniex.com/signup?c=UBFZJRPJ) | poloniexfutures | [Poloniex Futures](https://poloniex.com/signup?c=UBFZJRPJ) | [](https://futures-docs.poloniex.com) | | [](https://ccxt.pro) |
|
166
166
|
| [](https://www.probit.com/r/34608773) | probit | [ProBit](https://www.probit.com/r/34608773) | [](https://docs-en.probit.com) | | [](https://ccxt.pro) |
|
167
167
|
| [](https://app.stex.com?ref=36416021) | stex | [STEX](https://app.stex.com?ref=36416021) | [](https://apidocs.stex.com/) | | |
|
@@ -234,13 +234,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
234
234
|
|
235
235
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
236
236
|
|
237
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@3.1.
|
238
|
-
* unpkg: https://unpkg.com/ccxt@3.1.
|
237
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@3.1.15/dist/ccxt.browser.js
|
238
|
+
* unpkg: https://unpkg.com/ccxt@3.1.15/dist/ccxt.browser.js
|
239
239
|
|
240
240
|
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.
|
241
241
|
|
242
242
|
```HTML
|
243
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@3.1.
|
243
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@3.1.15/dist/ccxt.browser.js"></script>
|
244
244
|
```
|
245
245
|
|
246
246
|
Creates a global `ccxt` object:
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '3.1.
|
5
|
+
__version__ = '3.1.15'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -504,22 +504,25 @@ class Exchange(BaseExchange):
|
|
504
504
|
array = self.arraySlice(array, -limit) if ascending else self.arraySlice(array, 0, limit)
|
505
505
|
return array
|
506
506
|
|
507
|
-
def filter_by_since_limit(self, array: List[object], since: Optional[int] = None, limit: Optional[int] = None, key: IndexType = 'timestamp'):
|
507
|
+
def filter_by_since_limit(self, array: List[object], since: Optional[int] = None, limit: Optional[int] = None, key: IndexType = 'timestamp', tail=False):
|
508
508
|
sinceIsDefined = self.valueIsDefined(since)
|
509
509
|
parsedArray = self.to_array(array)
|
510
|
+
result = parsedArray
|
510
511
|
if sinceIsDefined:
|
511
512
|
result = []
|
512
513
|
for i in range(0, len(parsedArray)):
|
513
514
|
entry = parsedArray[i]
|
514
515
|
if entry[key] >= since:
|
515
516
|
result.append(entry)
|
516
|
-
|
517
|
-
|
517
|
+
if tail:
|
518
|
+
return result[-limit:]
|
519
|
+
return self.filter_by_limit(result, limit, key)
|
518
520
|
|
519
|
-
def filter_by_value_since_limit(self, array: List[object], field: IndexType, value=None, since: Optional[int] = None, limit: Optional[int] = None, key='timestamp'):
|
521
|
+
def filter_by_value_since_limit(self, array: List[object], field: IndexType, value=None, since: Optional[int] = None, limit: Optional[int] = None, key='timestamp', tail=False):
|
520
522
|
valueIsDefined = self.valueIsDefined(value)
|
521
523
|
sinceIsDefined = self.valueIsDefined(since)
|
522
524
|
parsedArray = self.to_array(array)
|
525
|
+
result = parsedArray
|
523
526
|
# single-pass filter for both symbol and since
|
524
527
|
if valueIsDefined or sinceIsDefined:
|
525
528
|
result = []
|
@@ -531,8 +534,9 @@ class Exchange(BaseExchange):
|
|
531
534
|
secondCondition = entryKeyGESince if sinceIsDefined else True
|
532
535
|
if firstCondition and secondCondition:
|
533
536
|
result.append(entry)
|
534
|
-
|
535
|
-
|
537
|
+
if tail:
|
538
|
+
return result[-limit:]
|
539
|
+
return self.filter_by_limit(result, limit, key)
|
536
540
|
|
537
541
|
def sign(self, path, api: Any = 'public', method='GET', params={}, headers: Optional[Any] = None, body: Optional[Any] = None):
|
538
542
|
return {}
|
@@ -2283,11 +2287,11 @@ class Exchange(BaseExchange):
|
|
2283
2287
|
currency = self.safe_currency(currencyId, currency)
|
2284
2288
|
return currency['code']
|
2285
2289
|
|
2286
|
-
def filter_by_symbol_since_limit(self, array, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None):
|
2287
|
-
return self.filter_by_value_since_limit(array, 'symbol', symbol, since, limit, 'timestamp')
|
2290
|
+
def filter_by_symbol_since_limit(self, array, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, tail=False):
|
2291
|
+
return self.filter_by_value_since_limit(array, 'symbol', symbol, since, limit, 'timestamp', tail)
|
2288
2292
|
|
2289
|
-
def filter_by_currency_since_limit(self, array, code=None, since: Optional[int] = None, limit: Optional[int] = None):
|
2290
|
-
return self.filter_by_value_since_limit(array, 'currency', code, since, limit, 'timestamp')
|
2293
|
+
def filter_by_currency_since_limit(self, array, code=None, since: Optional[int] = None, limit: Optional[int] = None, tail=False):
|
2294
|
+
return self.filter_by_value_since_limit(array, 'currency', code, since, limit, 'timestamp', tail)
|
2291
2295
|
|
2292
2296
|
def parse_last_prices(self, pricesData, symbols: Optional[List[str]] = None, params={}):
|
2293
2297
|
#
|
@@ -5136,10 +5136,13 @@ class huobi(Exchange, ImplicitAPI):
|
|
5136
5136
|
if feeCost is not None:
|
5137
5137
|
feeCost = Precise.string_abs(feeCost)
|
5138
5138
|
networkId = self.safe_string(transaction, 'chain')
|
5139
|
+
txHash = self.safe_string(transaction, 'tx-hash')
|
5140
|
+
if networkId == 'ETH' and txHash.find('0x') < 0:
|
5141
|
+
txHash = '0x' + txHash
|
5139
5142
|
return {
|
5140
5143
|
'info': transaction,
|
5141
5144
|
'id': self.safe_string_2(transaction, 'id', 'data'),
|
5142
|
-
'txid':
|
5145
|
+
'txid': txHash,
|
5143
5146
|
'timestamp': timestamp,
|
5144
5147
|
'datetime': self.iso8601(timestamp),
|
5145
5148
|
'network': self.network_id_to_code(networkId, code),
|
@@ -2649,6 +2649,7 @@ class okx(Exchange, ImplicitAPI):
|
|
2649
2649
|
timeInForce = 'IOC'
|
2650
2650
|
type = 'limit'
|
2651
2651
|
marketId = self.safe_string(order, 'instId')
|
2652
|
+
market = self.safe_market(marketId, market)
|
2652
2653
|
symbol = self.safe_symbol(marketId, market, '-')
|
2653
2654
|
filled = self.safe_string(order, 'accFillSz')
|
2654
2655
|
price = self.safe_string_2(order, 'px', 'ordPx')
|
@@ -38,7 +38,7 @@ class poloniex(Exchange, ImplicitAPI):
|
|
38
38
|
# 200 requests per second for some unauthenticated market endpoints => 1000ms / 200 = 5ms between requests
|
39
39
|
'rateLimit': 5,
|
40
40
|
'certified': False,
|
41
|
-
'pro':
|
41
|
+
'pro': True,
|
42
42
|
'has': {
|
43
43
|
'CORS': None,
|
44
44
|
'spot': True,
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '3.1.
|
7
|
+
__version__ = '3.1.15'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -1692,22 +1692,25 @@ class Exchange(object):
|
|
1692
1692
|
array = self.arraySlice(array, -limit) if ascending else self.arraySlice(array, 0, limit)
|
1693
1693
|
return array
|
1694
1694
|
|
1695
|
-
def filter_by_since_limit(self, array: List[object], since: Optional[int] = None, limit: Optional[int] = None, key: IndexType = 'timestamp'):
|
1695
|
+
def filter_by_since_limit(self, array: List[object], since: Optional[int] = None, limit: Optional[int] = None, key: IndexType = 'timestamp', tail=False):
|
1696
1696
|
sinceIsDefined = self.valueIsDefined(since)
|
1697
1697
|
parsedArray = self.to_array(array)
|
1698
|
+
result = parsedArray
|
1698
1699
|
if sinceIsDefined:
|
1699
1700
|
result = []
|
1700
1701
|
for i in range(0, len(parsedArray)):
|
1701
1702
|
entry = parsedArray[i]
|
1702
1703
|
if entry[key] >= since:
|
1703
1704
|
result.append(entry)
|
1704
|
-
|
1705
|
-
|
1705
|
+
if tail:
|
1706
|
+
return result[-limit:]
|
1707
|
+
return self.filter_by_limit(result, limit, key)
|
1706
1708
|
|
1707
|
-
def filter_by_value_since_limit(self, array: List[object], field: IndexType, value=None, since: Optional[int] = None, limit: Optional[int] = None, key='timestamp'):
|
1709
|
+
def filter_by_value_since_limit(self, array: List[object], field: IndexType, value=None, since: Optional[int] = None, limit: Optional[int] = None, key='timestamp', tail=False):
|
1708
1710
|
valueIsDefined = self.valueIsDefined(value)
|
1709
1711
|
sinceIsDefined = self.valueIsDefined(since)
|
1710
1712
|
parsedArray = self.to_array(array)
|
1713
|
+
result = parsedArray
|
1711
1714
|
# single-pass filter for both symbol and since
|
1712
1715
|
if valueIsDefined or sinceIsDefined:
|
1713
1716
|
result = []
|
@@ -1719,8 +1722,9 @@ class Exchange(object):
|
|
1719
1722
|
secondCondition = entryKeyGESince if sinceIsDefined else True
|
1720
1723
|
if firstCondition and secondCondition:
|
1721
1724
|
result.append(entry)
|
1722
|
-
|
1723
|
-
|
1725
|
+
if tail:
|
1726
|
+
return result[-limit:]
|
1727
|
+
return self.filter_by_limit(result, limit, key)
|
1724
1728
|
|
1725
1729
|
def sign(self, path, api: Any = 'public', method='GET', params={}, headers: Optional[Any] = None, body: Optional[Any] = None):
|
1726
1730
|
return {}
|
@@ -3471,11 +3475,11 @@ class Exchange(object):
|
|
3471
3475
|
currency = self.safe_currency(currencyId, currency)
|
3472
3476
|
return currency['code']
|
3473
3477
|
|
3474
|
-
def filter_by_symbol_since_limit(self, array, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None):
|
3475
|
-
return self.filter_by_value_since_limit(array, 'symbol', symbol, since, limit, 'timestamp')
|
3478
|
+
def filter_by_symbol_since_limit(self, array, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, tail=False):
|
3479
|
+
return self.filter_by_value_since_limit(array, 'symbol', symbol, since, limit, 'timestamp', tail)
|
3476
3480
|
|
3477
|
-
def filter_by_currency_since_limit(self, array, code=None, since: Optional[int] = None, limit: Optional[int] = None):
|
3478
|
-
return self.filter_by_value_since_limit(array, 'currency', code, since, limit, 'timestamp')
|
3481
|
+
def filter_by_currency_since_limit(self, array, code=None, since: Optional[int] = None, limit: Optional[int] = None, tail=False):
|
3482
|
+
return self.filter_by_value_since_limit(array, 'currency', code, since, limit, 'timestamp', tail)
|
3479
3483
|
|
3480
3484
|
def parse_last_prices(self, pricesData, symbols: Optional[List[str]] = None, params={}):
|
3481
3485
|
#
|
@@ -5135,10 +5135,13 @@ class huobi(Exchange, ImplicitAPI):
|
|
5135
5135
|
if feeCost is not None:
|
5136
5136
|
feeCost = Precise.string_abs(feeCost)
|
5137
5137
|
networkId = self.safe_string(transaction, 'chain')
|
5138
|
+
txHash = self.safe_string(transaction, 'tx-hash')
|
5139
|
+
if networkId == 'ETH' and txHash.find('0x') < 0:
|
5140
|
+
txHash = '0x' + txHash
|
5138
5141
|
return {
|
5139
5142
|
'info': transaction,
|
5140
5143
|
'id': self.safe_string_2(transaction, 'id', 'data'),
|
5141
|
-
'txid':
|
5144
|
+
'txid': txHash,
|
5142
5145
|
'timestamp': timestamp,
|
5143
5146
|
'datetime': self.iso8601(timestamp),
|
5144
5147
|
'network': self.network_id_to_code(networkId, code),
|
@@ -2648,6 +2648,7 @@ class okx(Exchange, ImplicitAPI):
|
|
2648
2648
|
timeInForce = 'IOC'
|
2649
2649
|
type = 'limit'
|
2650
2650
|
marketId = self.safe_string(order, 'instId')
|
2651
|
+
market = self.safe_market(marketId, market)
|
2651
2652
|
symbol = self.safe_symbol(marketId, market, '-')
|
2652
2653
|
filled = self.safe_string(order, 'accFillSz')
|
2653
2654
|
price = self.safe_string_2(order, 'px', 'ordPx')
|
@@ -38,7 +38,7 @@ class poloniex(Exchange, ImplicitAPI):
|
|
38
38
|
# 200 requests per second for some unauthenticated market endpoints => 1000ms / 200 = 5ms between requests
|
39
39
|
'rateLimit': 5,
|
40
40
|
'certified': False,
|
41
|
-
'pro':
|
41
|
+
'pro': True,
|
42
42
|
'has': {
|
43
43
|
'CORS': None,
|
44
44
|
'spot': True,
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# ----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '3.1.
|
7
|
+
__version__ = '3.1.15'
|
8
8
|
|
9
9
|
# ----------------------------------------------------------------------------
|
10
10
|
|
@@ -64,6 +64,7 @@ from ccxt.pro.okcoin import okcoin # noqa
|
|
64
64
|
from ccxt.pro.okex import okex # noqa: F401
|
65
65
|
from ccxt.pro.okx import okx # noqa: F401
|
66
66
|
from ccxt.pro.phemex import phemex # noqa: F401
|
67
|
+
from ccxt.pro.poloniex import poloniex # noqa: F401
|
67
68
|
from ccxt.pro.poloniexfutures import poloniexfutures # noqa: F401
|
68
69
|
from ccxt.pro.probit import probit # noqa: F401
|
69
70
|
from ccxt.pro.upbit import upbit # noqa: F401
|
@@ -124,6 +125,7 @@ exchanges = [
|
|
124
125
|
'okex',
|
125
126
|
'okx',
|
126
127
|
'phemex',
|
128
|
+
'poloniex',
|
127
129
|
'poloniexfutures',
|
128
130
|
'probit',
|
129
131
|
'upbit',
|
@@ -148,7 +148,7 @@ class alpaca(ccxt.async_support.alpaca):
|
|
148
148
|
ohlcv = await self.watch(url, messageHash, self.extend(request, params), messageHash)
|
149
149
|
if self.newUpdates:
|
150
150
|
limit = ohlcv.getLimit(symbol, limit)
|
151
|
-
return self.filter_by_since_limit(ohlcv, since, limit, 0)
|
151
|
+
return self.filter_by_since_limit(ohlcv, since, limit, 0, True)
|
152
152
|
|
153
153
|
def handle_ohlcv(self, client: Client, message):
|
154
154
|
#
|
@@ -272,7 +272,7 @@ class alpaca(ccxt.async_support.alpaca):
|
|
272
272
|
trades = await self.watch(url, messageHash, self.extend(request, params), messageHash)
|
273
273
|
if self.newUpdates:
|
274
274
|
limit = trades.getLimit(symbol, limit)
|
275
|
-
return self.filter_by_since_limit(trades, since, limit, 'timestamp')
|
275
|
+
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
276
276
|
|
277
277
|
def handle_trades(self, client: Client, message):
|
278
278
|
#
|
@@ -324,7 +324,7 @@ class alpaca(ccxt.async_support.alpaca):
|
|
324
324
|
trades = await self.watch(url, messageHash, self.extend(request, params), messageHash)
|
325
325
|
if self.newUpdates:
|
326
326
|
limit = trades.getLimit(symbol, limit)
|
327
|
-
return self.filter_by_since_limit(trades, since, limit, 'timestamp')
|
327
|
+
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
328
328
|
|
329
329
|
async def watch_orders(self, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
|
330
330
|
"""
|
@@ -99,7 +99,7 @@ class ascendex(ccxt.async_support.ascendex):
|
|
99
99
|
ohlcv = await self.watch_public(channel, params)
|
100
100
|
if self.newUpdates:
|
101
101
|
limit = ohlcv.getLimit(symbol, limit)
|
102
|
-
return self.filter_by_since_limit(ohlcv, since, limit, 0)
|
102
|
+
return self.filter_by_since_limit(ohlcv, since, limit, 0, True)
|
103
103
|
|
104
104
|
def handle_ohlcv(self, client: Client, message):
|
105
105
|
#
|
@@ -155,7 +155,7 @@ class ascendex(ccxt.async_support.ascendex):
|
|
155
155
|
trades = await self.watch_public(channel, params)
|
156
156
|
if self.newUpdates:
|
157
157
|
limit = trades.getLimit(symbol, limit)
|
158
|
-
return self.filter_by_since_limit(trades, since, limit, 'timestamp')
|
158
|
+
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
159
159
|
|
160
160
|
def handle_trades(self, client: Client, message):
|
161
161
|
#
|
@@ -398,7 +398,7 @@ class binance(ccxt.async_support.binance):
|
|
398
398
|
trades = await self.watch(url, messageHash, self.extend(request, query), messageHash, subscribe)
|
399
399
|
if self.newUpdates:
|
400
400
|
limit = trades.getLimit(market['symbol'], limit)
|
401
|
-
return self.filter_by_since_limit(trades, since, limit, 'timestamp')
|
401
|
+
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
402
402
|
|
403
403
|
def parse_trade(self, trade, market=None):
|
404
404
|
#
|
@@ -615,7 +615,7 @@ class binance(ccxt.async_support.binance):
|
|
615
615
|
ohlcv = await self.watch(url, messageHash, self.extend(request, params), messageHash, subscribe)
|
616
616
|
if self.newUpdates:
|
617
617
|
limit = ohlcv.getLimit(symbol, limit)
|
618
|
-
return self.filter_by_since_limit(ohlcv, since, limit, 0)
|
618
|
+
return self.filter_by_since_limit(ohlcv, since, limit, 0, True)
|
619
619
|
|
620
620
|
def handle_ohlcv(self, client: Client, message):
|
621
621
|
#
|
@@ -1465,7 +1465,7 @@ class binance(ccxt.async_support.binance):
|
|
1465
1465
|
trades = await self.watch(url, messageHash, message, type)
|
1466
1466
|
if self.newUpdates:
|
1467
1467
|
limit = trades.getLimit(symbol, limit)
|
1468
|
-
return self.filter_by_symbol_since_limit(trades, symbol, since, limit)
|
1468
|
+
return self.filter_by_symbol_since_limit(trades, symbol, since, limit, True)
|
1469
1469
|
|
1470
1470
|
def handle_my_trade(self, client: Client, message):
|
1471
1471
|
messageHash = 'myTrades'
|
@@ -72,7 +72,7 @@ class bitfinex(ccxt.async_support.bitfinex):
|
|
72
72
|
trades = await self.subscribe('trades', symbol, params)
|
73
73
|
if self.newUpdates:
|
74
74
|
limit = trades.getLimit(symbol, limit)
|
75
|
-
return self.filter_by_since_limit(trades, since, limit, 'timestamp')
|
75
|
+
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
76
76
|
|
77
77
|
async def watch_ticker(self, symbol: str, params={}):
|
78
78
|
"""
|
@@ -102,7 +102,7 @@ class bitfinex2(ccxt.async_support.bitfinex2):
|
|
102
102
|
ohlcv = await self.watch(url, messageHash, self.deep_extend(request, params), messageHash)
|
103
103
|
if self.newUpdates:
|
104
104
|
limit = ohlcv.getLimit(symbol, limit)
|
105
|
-
return self.filter_by_since_limit(ohlcv, since, limit, 0)
|
105
|
+
return self.filter_by_since_limit(ohlcv, since, limit, 0, True)
|
106
106
|
|
107
107
|
def handle_ohlcv(self, client: Client, message, subscription):
|
108
108
|
#
|
@@ -195,7 +195,7 @@ class bitfinex2(ccxt.async_support.bitfinex2):
|
|
195
195
|
trades = await self.subscribe('trades', symbol, params)
|
196
196
|
if self.newUpdates:
|
197
197
|
limit = trades.getLimit(symbol, limit)
|
198
|
-
return self.filter_by_since_limit(trades, since, limit, 'timestamp')
|
198
|
+
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
199
199
|
|
200
200
|
async def watch_my_trades(self, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
|
201
201
|
"""
|
@@ -214,7 +214,7 @@ class bitfinex2(ccxt.async_support.bitfinex2):
|
|
214
214
|
trades = await self.subscribe_private(messageHash)
|
215
215
|
if self.newUpdates:
|
216
216
|
limit = trades.getLimit(symbol, limit)
|
217
|
-
return self.filter_by_symbol_since_limit(trades, symbol, since, limit)
|
217
|
+
return self.filter_by_symbol_since_limit(trades, symbol, since, limit, True)
|
218
218
|
|
219
219
|
async def watch_ticker(self, symbol: str, params={}):
|
220
220
|
"""
|
@@ -257,7 +257,7 @@ class bitget(ccxt.async_support.bitget):
|
|
257
257
|
ohlcv = await self.watch_public(messageHash, args, params)
|
258
258
|
if self.newUpdates:
|
259
259
|
limit = ohlcv.getLimit(symbol, limit)
|
260
|
-
return self.filter_by_since_limit(ohlcv, since, limit, 0)
|
260
|
+
return self.filter_by_since_limit(ohlcv, since, limit, 0, True)
|
261
261
|
|
262
262
|
def handle_ohlcv(self, client: Client, message):
|
263
263
|
#
|
@@ -468,7 +468,7 @@ class bitget(ccxt.async_support.bitget):
|
|
468
468
|
trades = await self.watch_public(messageHash, args, params)
|
469
469
|
if self.newUpdates:
|
470
470
|
limit = trades.getLimit(symbol, limit)
|
471
|
-
return self.filter_by_since_limit(trades, since, limit, 'timestamp')
|
471
|
+
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
472
472
|
|
473
473
|
def handle_trades(self, client: Client, message):
|
474
474
|
#
|
@@ -834,7 +834,7 @@ class bitget(ccxt.async_support.bitget):
|
|
834
834
|
trades = await self.watch_private(messageHash, subscriptionHash, args, params)
|
835
835
|
if self.newUpdates:
|
836
836
|
limit = trades.getLimit(symbol, limit)
|
837
|
-
return self.filter_by_symbol_since_limit(trades, symbol, since, limit)
|
837
|
+
return self.filter_by_symbol_since_limit(trades, symbol, since, limit, True)
|
838
838
|
|
839
839
|
def handle_my_trades(self, client: Client, message):
|
840
840
|
#
|
@@ -98,7 +98,7 @@ class bitmart(ccxt.async_support.bitmart):
|
|
98
98
|
trades = await self.subscribe('trade', symbol, params)
|
99
99
|
if self.newUpdates:
|
100
100
|
limit = trades.getLimit(symbol, limit)
|
101
|
-
return self.filter_by_since_limit(trades, since, limit, 'timestamp')
|
101
|
+
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
102
102
|
|
103
103
|
async def watch_ticker(self, symbol: str, params={}):
|
104
104
|
"""
|
@@ -312,7 +312,7 @@ class bitmart(ccxt.async_support.bitmart):
|
|
312
312
|
ohlcv = await self.subscribe(name, symbol, params)
|
313
313
|
if self.newUpdates:
|
314
314
|
limit = ohlcv.getLimit(symbol, limit)
|
315
|
-
return self.filter_by_since_limit(ohlcv, since, limit, 0)
|
315
|
+
return self.filter_by_since_limit(ohlcv, since, limit, 0, True)
|
316
316
|
|
317
317
|
def handle_ohlcv(self, client: Client, message):
|
318
318
|
#
|
@@ -543,7 +543,7 @@ class bitmex(ccxt.async_support.bitmex):
|
|
543
543
|
trades = await self.watch(url, messageHash, self.extend(request, params), messageHash)
|
544
544
|
if self.newUpdates:
|
545
545
|
limit = trades.getLimit(symbol, limit)
|
546
|
-
return self.filter_by_since_limit(trades, since, limit, 'timestamp')
|
546
|
+
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
547
547
|
|
548
548
|
def authenticate(self, params={}):
|
549
549
|
url = self.urls['api']['ws']
|
@@ -813,7 +813,7 @@ class bitmex(ccxt.async_support.bitmex):
|
|
813
813
|
trades = await self.watch(url, messageHash, request, subscriptionHash)
|
814
814
|
if self.newUpdates:
|
815
815
|
limit = trades.getLimit(symbol, limit)
|
816
|
-
return self.filter_by_symbol_since_limit(trades, symbol, since, limit)
|
816
|
+
return self.filter_by_symbol_since_limit(trades, symbol, since, limit, True)
|
817
817
|
|
818
818
|
def handle_my_trades(self, client: Client, message):
|
819
819
|
#
|
@@ -950,7 +950,7 @@ class bitmex(ccxt.async_support.bitmex):
|
|
950
950
|
ohlcv = await self.watch(url, messageHash, self.extend(request, params), messageHash)
|
951
951
|
if self.newUpdates:
|
952
952
|
limit = ohlcv.getLimit(symbol, limit)
|
953
|
-
return self.filter_by_since_limit(ohlcv, since, limit, 0)
|
953
|
+
return self.filter_by_since_limit(ohlcv, since, limit, 0, True)
|
954
954
|
|
955
955
|
def handle_ohlcv(self, client: Client, message):
|
956
956
|
#
|
@@ -127,7 +127,7 @@ class bitopro(ccxt.async_support.bitopro):
|
|
127
127
|
trades = await self.watch_public('trades', messageHash, market['id'])
|
128
128
|
if self.newUpdates:
|
129
129
|
limit = trades.getLimit(symbol, limit)
|
130
|
-
return self.filter_by_since_limit(trades, since, limit, 'timestamp')
|
130
|
+
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
131
131
|
|
132
132
|
def handle_trade(self, client: Client, message):
|
133
133
|
#
|
@@ -1053,7 +1053,7 @@ class bitpanda(ccxt.async_support.bitpanda):
|
|
1053
1053
|
ohlcv = await self.watch(url, messageHash, self.deep_extend(request, params), subscriptionHash, subscription)
|
1054
1054
|
if self.newUpdates:
|
1055
1055
|
limit = ohlcv.getLimit(symbol, limit)
|
1056
|
-
return self.filter_by_since_limit(ohlcv, since, limit, 0)
|
1056
|
+
return self.filter_by_since_limit(ohlcv, since, limit, 0, True)
|
1057
1057
|
|
1058
1058
|
def handle_ohlcv(self, client: Client, message):
|
1059
1059
|
#
|
@@ -174,7 +174,7 @@ class bitstamp(ccxt.async_support.bitstamp):
|
|
174
174
|
trades = await self.watch(url, messageHash, message, messageHash)
|
175
175
|
if self.newUpdates:
|
176
176
|
limit = trades.getLimit(symbol, limit)
|
177
|
-
return self.filter_by_since_limit(trades, since, limit, 'timestamp')
|
177
|
+
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
178
178
|
|
179
179
|
def parse_ws_trade(self, trade, market=None):
|
180
180
|
#
|
@@ -277,7 +277,7 @@ class bitstamp(ccxt.async_support.bitstamp):
|
|
277
277
|
orders = await self.subscribe_private(subscription, messageHash, params)
|
278
278
|
if self.newUpdates:
|
279
279
|
limit = orders.getLimit(symbol, limit)
|
280
|
-
return self.filter_by_since_limit(orders, since, limit, 'timestamp')
|
280
|
+
return self.filter_by_since_limit(orders, since, limit, 'timestamp', True)
|
281
281
|
|
282
282
|
def handle_orders(self, client: Client, message):
|
283
283
|
#
|
@@ -381,7 +381,7 @@ class bittrex(ccxt.async_support.bittrex):
|
|
381
381
|
ohlcv = await self.subscribe_to_ohlcv(negotiation, symbol, timeframe, params)
|
382
382
|
if self.newUpdates:
|
383
383
|
limit = ohlcv.getLimit(symbol, limit)
|
384
|
-
return self.filter_by_since_limit(ohlcv, since, limit, 0)
|
384
|
+
return self.filter_by_since_limit(ohlcv, since, limit, 0, True)
|
385
385
|
|
386
386
|
async def subscribe_to_ohlcv(self, negotiation, symbol, timeframe='1m', params={}):
|
387
387
|
await self.load_markets()
|
@@ -446,7 +446,7 @@ class bittrex(ccxt.async_support.bittrex):
|
|
446
446
|
trades = await self.subscribe_to_trades(negotiation, symbol, params)
|
447
447
|
if self.newUpdates:
|
448
448
|
limit = trades.getLimit(symbol, limit)
|
449
|
-
return self.filter_by_since_limit(trades, since, limit, 'timestamp')
|
449
|
+
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
450
450
|
|
451
451
|
async def subscribe_to_trades(self, negotiation, symbol, params={}):
|
452
452
|
await self.load_markets()
|
@@ -507,7 +507,7 @@ class bittrex(ccxt.async_support.bittrex):
|
|
507
507
|
trades = await self.subscribe_to_my_trades(authentication, params)
|
508
508
|
if self.newUpdates:
|
509
509
|
limit = trades.getLimit(symbol, limit)
|
510
|
-
return self.filter_by_symbol_since_limit(trades, symbol, since, limit)
|
510
|
+
return self.filter_by_symbol_since_limit(trades, symbol, since, limit, True)
|
511
511
|
|
512
512
|
async def subscribe_to_my_trades(self, authentication, params={}):
|
513
513
|
messageHash = 'execution'
|
@@ -114,7 +114,7 @@ class bitvavo(ccxt.async_support.bitvavo):
|
|
114
114
|
trades = await self.watch_public('trades', symbol, params)
|
115
115
|
if self.newUpdates:
|
116
116
|
limit = trades.getLimit(symbol, limit)
|
117
|
-
return self.filter_by_since_limit(trades, since, limit, 'timestamp')
|
117
|
+
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
118
118
|
|
119
119
|
def handle_trade(self, client: Client, message):
|
120
120
|
#
|
@@ -174,7 +174,7 @@ class bitvavo(ccxt.async_support.bitvavo):
|
|
174
174
|
ohlcv = await self.watch(url, messageHash, message, messageHash)
|
175
175
|
if self.newUpdates:
|
176
176
|
limit = ohlcv.getLimit(symbol, limit)
|
177
|
-
return self.filter_by_since_limit(ohlcv, since, limit, 0)
|
177
|
+
return self.filter_by_since_limit(ohlcv, since, limit, 0, True)
|
178
178
|
|
179
179
|
def handle_ohlcv(self, client: Client, message):
|
180
180
|
#
|
@@ -455,7 +455,7 @@ class bitvavo(ccxt.async_support.bitvavo):
|
|
455
455
|
trades = await self.watch(url, messageHash, request, messageHash)
|
456
456
|
if self.newUpdates:
|
457
457
|
limit = trades.getLimit(symbol, limit)
|
458
|
-
return self.filter_by_symbol_since_limit(trades, symbol, since, limit)
|
458
|
+
return self.filter_by_symbol_since_limit(trades, symbol, since, limit, True)
|
459
459
|
|
460
460
|
def handle_order(self, client: Client, message):
|
461
461
|
#
|
@@ -149,7 +149,7 @@ class blockchaincom(ccxt.async_support.blockchaincom):
|
|
149
149
|
ohlcv = await self.watch(url, messageHash, request, messageHash, request)
|
150
150
|
if self.newUpdates:
|
151
151
|
limit = ohlcv.getLimit(symbol, limit)
|
152
|
-
return self.filter_by_since_limit(ohlcv, since, limit, 0)
|
152
|
+
return self.filter_by_since_limit(ohlcv, since, limit, 0, True)
|
153
153
|
|
154
154
|
def handle_ohlcv(self, client: Client, message):
|
155
155
|
#
|
@@ -319,7 +319,7 @@ class blockchaincom(ccxt.async_support.blockchaincom):
|
|
319
319
|
}
|
320
320
|
request = self.deep_extend(request, params)
|
321
321
|
trades = await self.watch(url, messageHash, request, messageHash, request)
|
322
|
-
return self.filter_by_since_limit(trades, since, limit, 'timestamp')
|
322
|
+
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
323
323
|
|
324
324
|
def handle_trades(self, client: Client, message):
|
325
325
|
#
|
@@ -161,7 +161,7 @@ class btcex(ccxt.async_support.btcex):
|
|
161
161
|
ohlcv = await self.watch(url, messageHash, request, messageHash, request)
|
162
162
|
if self.newUpdates:
|
163
163
|
limit = ohlcv.getLimit(symbol, limit)
|
164
|
-
return self.filter_by_since_limit(ohlcv, since, limit, 0)
|
164
|
+
return self.filter_by_since_limit(ohlcv, since, limit, 0, True)
|
165
165
|
|
166
166
|
def handle_ohlcv(self, client: Client, message):
|
167
167
|
#
|
@@ -298,7 +298,7 @@ class btcex(ccxt.async_support.btcex):
|
|
298
298
|
trades = await self.watch(url, messageHash, request, messageHash, request)
|
299
299
|
if self.newUpdates:
|
300
300
|
limit = trades.getLimit(symbol, limit)
|
301
|
-
return self.filter_by_since_limit(trades, since, limit, 'timestamp')
|
301
|
+
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
302
302
|
|
303
303
|
def handle_trades(self, client: Client, message):
|
304
304
|
#
|
@@ -371,7 +371,7 @@ class btcex(ccxt.async_support.btcex):
|
|
371
371
|
trades = await self.watch(url, messageHash, request, messageHash)
|
372
372
|
if self.newUpdates:
|
373
373
|
limit = trades.getLimit(symbol, limit)
|
374
|
-
return self.filter_by_symbol_since_limit(trades, symbol, since, limit)
|
374
|
+
return self.filter_by_symbol_since_limit(trades, symbol, since, limit, True)
|
375
375
|
|
376
376
|
def handle_my_trades(self, client: Client, message):
|
377
377
|
#
|