ccxt 3.1.36__tar.gz → 3.1.38__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.
- {ccxt-3.1.36/ccxt.egg-info → ccxt-3.1.38}/PKG-INFO +4 -4
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/__init__.py +1 -1
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitstamp.py +4 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/probit.py +1 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/__init__.py +1 -1
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/base/exchange.py +2 -1
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitget.py +48 -5
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitso.py +2 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitstamp.py +4 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/krakenfutures.py +74 -2
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/probit.py +1 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/wavesexchange.py +2 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/base/exchange.py +2 -1
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitget.py +48 -5
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitso.py +2 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitstamp.py +4 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/krakenfutures.py +74 -2
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/__init__.py +1 -1
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/bitfinex2.py +1 -1
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/probit.py +1 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/wavesexchange.py +2 -0
- {ccxt-3.1.36 → ccxt-3.1.38/ccxt.egg-info}/PKG-INFO +4 -4
- {ccxt-3.1.36 → ccxt-3.1.38}/package.json +1 -1
- {ccxt-3.1.36 → ccxt-3.1.38}/LICENSE.txt +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/MANIFEST.in +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/README.rst +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/__init__.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/ace.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bequant.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bigone.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/binance.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitforex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitget.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitso.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitstamp1.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bittrex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bkex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/btcex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/btctradeua.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/bybit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/cex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/coinbaseprime.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/coinbasepro.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/coinex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/coinfalcon.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/coinone.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/delta.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/deribit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/exmo.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/gate.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/gateio.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/gemini.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/huobi.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/huobipro.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/idex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/indodax.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/kraken.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/kuna.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/latoken.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/lbank.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/lbank2.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/luno.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/lykke.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/mercado.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/mexc.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/mexc3.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/ndax.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/novadax.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/okex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/okex5.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/okx.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/paymium.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/phemex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/tidex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/timex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/upbit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/woo.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/xt.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/yobit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/zaif.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/abstract/zonda.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/ace.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/alpaca.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/ascendex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/ace.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bequant.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bigone.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/binance.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitforex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitstamp1.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bittrex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bkex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/btcex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/btctradeua.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/buda.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/bybit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/cex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/coinbaseprime.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/coinbasepro.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/coinex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/coinfalcon.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/coinone.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/delta.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/deribit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/exmo.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/flowbtc.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/gate.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/gateio.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/gemini.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/huobi.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/huobipro.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/idex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/indodax.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/itbit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/kraken.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/kucoin.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/kuna.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/latoken.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/lbank.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/lbank2.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/luno.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/lykke.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/mercado.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/mexc.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/mexc3.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/ndax.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/novadax.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/okex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/okex5.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/okx.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/paymium.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/phemex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/ripio.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/stex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/tidex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/timex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/upbit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/woo.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/xt.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/yobit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/zaif.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/zb.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/async_support/zonda.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/base/__init__.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/base/errors.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/base/precise.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/base/types.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bequant.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bigone.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/binance.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/binancecoinm.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/binanceus.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/binanceusdm.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bit2c.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitbank.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitbay.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitbns.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitcoincom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitfinex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitfinex2.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitflyer.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitforex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bithumb.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitmart.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitmex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitopro.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitpanda.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitrue.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitstamp1.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bittrex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bitvavo.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bkex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bl3p.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/blockchaincom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/btcalpha.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/btcbox.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/btcex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/btcmarkets.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/btctradeua.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/btcturk.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/buda.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/bybit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/cex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/coinbase.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/coinbaseprime.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/coinbasepro.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/coincheck.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/coinex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/coinfalcon.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/coinmate.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/coinone.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/coinsph.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/coinspot.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/cryptocom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/currencycom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/delta.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/deribit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/digifinex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/exmo.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/flowbtc.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/fmfwio.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/gate.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/gateio.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/gemini.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/hitbtc.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/hitbtc3.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/hollaex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/huobi.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/huobijp.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/huobipro.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/idex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/independentreserve.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/indodax.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/itbit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/kraken.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/kucoin.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/kucoinfutures.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/kuna.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/latoken.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/lbank.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/lbank2.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/luno.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/lykke.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/mercado.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/mexc.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/mexc3.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/ndax.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/novadax.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/oceanex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/okcoin.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/okex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/okex5.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/okx.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/paymium.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/phemex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/poloniex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/poloniexfutures.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/alpaca.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/ascendex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/bequant.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/binance.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/binanceus.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/bitget.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/bitmart.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/bitmex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/bitopro.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/bitrue.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/bittrex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/btcex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/bybit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/cex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/coinbaseprime.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/coinbasepro.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/coinex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/currencycom.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/deribit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/exmo.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/gate.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/gateio.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/gemini.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/hollaex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/huobi.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/huobijp.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/huobipro.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/idex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/kraken.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/kucoin.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/luno.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/mexc.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/mexc3.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/ndax.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/okcoin.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/okex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/okx.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/phemex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/poloniex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/probit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/ripio.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/upbit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/wazirx.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/whitebit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/woo.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/pro/zb.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/ripio.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/stex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/__init__.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/__init__.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_account.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_balance.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_borrow_interest.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_borrow_rate.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_calculate_fee.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_crypto.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_currency.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_datetime.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_decimal_to_precision.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_deep_extend.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_funding_rate_history.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_ledger_entry.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_ledger_item.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_leverage_tier.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_margin_modification.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_market.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_number.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_ohlcv.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_open_interest.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_order.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_order_book.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_position.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_shared_methods.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_status.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_throttle.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_ticker.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_trade.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_trading_fee.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/base/test_transaction.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/test_async.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/test/test_sync.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/tidex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/timex.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/tokocrypto.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/upbit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/wazirx.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/whitebit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/woo.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/xt.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/yobit.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/zaif.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/zb.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt/zonda.py +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/setup.cfg +0 -0
- {ccxt-3.1.36 → ccxt-3.1.38}/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.38
|
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
|
@@ -233,13 +233,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
233
233
|
|
234
234
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
235
235
|
|
236
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@3.1.
|
237
|
-
* unpkg: https://unpkg.com/ccxt@3.1.
|
236
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@3.1.38/dist/ccxt.browser.js
|
237
|
+
* unpkg: https://unpkg.com/ccxt@3.1.38/dist/ccxt.browser.js
|
238
238
|
|
239
239
|
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.
|
240
240
|
|
241
241
|
```HTML
|
242
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@3.1.
|
242
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@3.1.38/dist/ccxt.browser.js"></script>
|
243
243
|
```
|
244
244
|
|
245
245
|
Creates a global `ccxt` object:
|
@@ -204,3 +204,7 @@ class ImplicitAPI:
|
|
204
204
|
private_post_doge_address = privatePostDogeAddress = Entry('doge_address/', 'private', 'POST', {'cost': 1})
|
205
205
|
private_post_flr_withdrawal = privatePostFlrWithdrawal = Entry('flr_withdrawal/', 'private', 'POST', {'cost': 1})
|
206
206
|
private_post_flr_address = privatePostFlrAddress = Entry('flr_address/', 'private', 'POST', {'cost': 1})
|
207
|
+
private_post_dgld_withdrawal = privatePostDgldWithdrawal = Entry('dgld_withdrawal/', 'private', 'POST', {'cost': 1})
|
208
|
+
private_post_dgld_address = privatePostDgldAddress = Entry('dgld_address/', 'private', 'POST', {'cost': 1})
|
209
|
+
private_post_ldo_withdrawal = privatePostLdoWithdrawal = Entry('ldo_withdrawal/', 'private', 'POST', {'cost': 1})
|
210
|
+
private_post_ldo_address = privatePostLdoAddress = Entry('ldo_address/', 'private', 'POST', {'cost': 1})
|
@@ -19,4 +19,5 @@ class ImplicitAPI:
|
|
19
19
|
private_get_order_history = privateGetOrderHistory = Entry('order_history', 'private', 'GET', {'cost': 1})
|
20
20
|
private_get_trade_history = privateGetTradeHistory = Entry('trade_history', 'private', 'GET', {'cost': 1})
|
21
21
|
private_get_deposit_address = privateGetDepositAddress = Entry('deposit_address', 'private', 'GET', {'cost': 1})
|
22
|
+
private_get_transfer_payment = privateGetTransferPayment = Entry('transfer/payment', 'private', 'GET', {'cost': 1})
|
22
23
|
accounts_post_token = accountsPostToken = Entry('token', 'accounts', 'POST', {'cost': 1})
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '3.1.
|
5
|
+
__version__ = '3.1.38'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -2518,6 +2518,7 @@ class Exchange(BaseExchange):
|
|
2518
2518
|
if self.has['fetchFundingRates']:
|
2519
2519
|
await self.load_markets()
|
2520
2520
|
market = self.market(symbol)
|
2521
|
+
symbol = market['symbol']
|
2521
2522
|
if not market['contract']:
|
2522
2523
|
raise BadSymbol(self.id + ' fetchFundingRate() supports contract markets only')
|
2523
2524
|
rates = await self.fetchFundingRates([symbol], params)
|
@@ -1788,6 +1788,45 @@ class bitget(Exchange, ImplicitAPI):
|
|
1788
1788
|
# quoteVolume: '5552388715.9215',
|
1789
1789
|
# usdtVolume: '5552388715.9215'
|
1790
1790
|
# }
|
1791
|
+
# spot tickers
|
1792
|
+
# {
|
1793
|
+
# "symbol":"LINKUSDT",
|
1794
|
+
# "high24h":"5.2816",
|
1795
|
+
# "low24h":"5.0828",
|
1796
|
+
# "close":"5.24",
|
1797
|
+
# "quoteVol":"1427864.6815",
|
1798
|
+
# "baseVol":"276089.9017",
|
1799
|
+
# "usdtVol":"1427864.68148328",
|
1800
|
+
# "ts":"1686653354407",
|
1801
|
+
# "buyOne":"5.239",
|
1802
|
+
# "sellOne":"5.2404",
|
1803
|
+
# "+":"95.187",
|
1804
|
+
# "askSz":"947.6127",
|
1805
|
+
# "openUtc0":"5.1599",
|
1806
|
+
# "changeUtc":"0.01552",
|
1807
|
+
# "change":"0.02594"
|
1808
|
+
# }
|
1809
|
+
# swap tickers
|
1810
|
+
# {
|
1811
|
+
# "symbol":"BTCUSDT_UMCBL",
|
1812
|
+
# "last":"26139",
|
1813
|
+
# "bestAsk":"26139",
|
1814
|
+
# "bestBid":"26138.5",
|
1815
|
+
# "bidSz":"4.62",
|
1816
|
+
# "askSz":"11.142",
|
1817
|
+
# "high24h":"26260",
|
1818
|
+
# "low24h":"25637",
|
1819
|
+
# "timestamp":"1686653988192",
|
1820
|
+
# "priceChangePercent":"0.01283",
|
1821
|
+
# "baseVolume":"130207.098",
|
1822
|
+
# "quoteVolume":"3378775678.441",
|
1823
|
+
# "usdtVolume":"3378775678.441",
|
1824
|
+
# "openUtc":"25889",
|
1825
|
+
# "chgUtc":"0.00966",
|
1826
|
+
# "indexPrice":"26159.375846",
|
1827
|
+
# "fundingRate":"0.000062",
|
1828
|
+
# "holdingAmount":"74551.735"
|
1829
|
+
# }
|
1791
1830
|
#
|
1792
1831
|
marketId = self.safe_string(ticker, 'symbol')
|
1793
1832
|
if (market is None) and (marketId is not None) and (marketId.find('_') == -1):
|
@@ -1803,10 +1842,13 @@ class bitget(Exchange, ImplicitAPI):
|
|
1803
1842
|
quoteVolume = self.safe_string_2(ticker, 'quoteVol', 'quoteVolume')
|
1804
1843
|
baseVolume = self.safe_string_2(ticker, 'baseVol', 'baseVolume')
|
1805
1844
|
timestamp = self.safe_integer_2(ticker, 'ts', 'timestamp')
|
1845
|
+
bidVolume = self.safe_string(ticker, 'bidSz')
|
1846
|
+
askVolume = self.safe_string(ticker, 'askSz')
|
1806
1847
|
datetime = self.iso8601(timestamp)
|
1807
1848
|
bid = self.safe_string_2(ticker, 'buyOne', 'bestBid')
|
1808
1849
|
ask = self.safe_string_2(ticker, 'sellOne', 'bestAsk')
|
1809
|
-
percentage = Precise.string_mul(self.
|
1850
|
+
percentage = Precise.string_mul(self.safe_string_n(ticker, ['priceChangePercent', 'changeUtc', 'change', 'chgUtc']), '100')
|
1851
|
+
open = self.safe_string_2(ticker, 'openUtc0', 'openUtc')
|
1810
1852
|
return self.safe_ticker({
|
1811
1853
|
'symbol': symbol,
|
1812
1854
|
'timestamp': timestamp,
|
@@ -1814,11 +1856,11 @@ class bitget(Exchange, ImplicitAPI):
|
|
1814
1856
|
'high': high,
|
1815
1857
|
'low': low,
|
1816
1858
|
'bid': bid,
|
1817
|
-
'bidVolume':
|
1859
|
+
'bidVolume': bidVolume,
|
1818
1860
|
'ask': ask,
|
1819
|
-
'askVolume':
|
1861
|
+
'askVolume': askVolume,
|
1820
1862
|
'vwap': None,
|
1821
|
-
'open':
|
1863
|
+
'open': open,
|
1822
1864
|
'close': close,
|
1823
1865
|
'last': None,
|
1824
1866
|
'previousClose': None,
|
@@ -2574,7 +2616,8 @@ class bitget(Exchange, ImplicitAPI):
|
|
2574
2616
|
triggerType = self.safe_string(params, 'triggerType', 'market_price')
|
2575
2617
|
request['triggerType'] = triggerType
|
2576
2618
|
request['triggerPrice'] = self.price_to_precision(symbol, triggerPrice)
|
2577
|
-
|
2619
|
+
if price is not None:
|
2620
|
+
request['executePrice'] = self.price_to_precision(symbol, price)
|
2578
2621
|
method = 'privateSpotPostPlanPlacePlan'
|
2579
2622
|
if quantity is not None:
|
2580
2623
|
request[quantityKey] = quantity
|
@@ -999,6 +999,8 @@ class bitso(Exchange, ImplicitAPI):
|
|
999
999
|
def parse_order_status(self, status):
|
1000
1000
|
statuses = {
|
1001
1001
|
'partial-fill': 'open', # self is a common substitution in ccxt
|
1002
|
+
'partially filled': 'open',
|
1003
|
+
'queued': 'open',
|
1002
1004
|
'completed': 'closed',
|
1003
1005
|
}
|
1004
1006
|
return self.safe_string(statuses, status, status)
|
@@ -59,9 +59,9 @@ class krakenfutures(Exchange, ImplicitAPI):
|
|
59
59
|
'fetchBorrowRatesPerSymbol': False,
|
60
60
|
'fetchClosedOrders': None, # https://support.kraken.com/hc/en-us/articles/360058243651-Historical-orders
|
61
61
|
'fetchFundingHistory': None,
|
62
|
-
'fetchFundingRate':
|
62
|
+
'fetchFundingRate': 'emulated',
|
63
63
|
'fetchFundingRateHistory': True,
|
64
|
-
'fetchFundingRates':
|
64
|
+
'fetchFundingRates': True,
|
65
65
|
'fetchIndexOHLCV': False,
|
66
66
|
'fetchIsolatedPositions': False,
|
67
67
|
'fetchLeverageTiers': True,
|
@@ -1513,6 +1513,78 @@ class krakenfutures(Exchange, ImplicitAPI):
|
|
1513
1513
|
result[code] = account
|
1514
1514
|
return self.safe_balance(result)
|
1515
1515
|
|
1516
|
+
async def fetch_funding_rates(self, symbols: Optional[List[str]] = None, params={}):
|
1517
|
+
"""
|
1518
|
+
see https://docs.futures.kraken.com/#http-api-trading-v3-api-market-data-get-tickers
|
1519
|
+
fetch the current funding rates
|
1520
|
+
:param [str] symbols: unified market symbols
|
1521
|
+
:param dict params: extra parameters specific to the krakenfutures api endpoint
|
1522
|
+
:returns [dict]: an array of `funding rate structures <https://docs.ccxt.com/#/?id=funding-rate-structure>`
|
1523
|
+
"""
|
1524
|
+
await self.load_markets()
|
1525
|
+
marketIds = self.market_ids(symbols)
|
1526
|
+
response = await self.publicGetTickers(params)
|
1527
|
+
tickers = self.safe_value(response, 'tickers')
|
1528
|
+
fundingRates = []
|
1529
|
+
for i in range(0, len(tickers)):
|
1530
|
+
entry = tickers[i]
|
1531
|
+
entry_symbol = self.safe_value(entry, 'symbol')
|
1532
|
+
if marketIds is not None:
|
1533
|
+
if not self.in_array(entry_symbol, marketIds):
|
1534
|
+
continue
|
1535
|
+
market = self.safe_market(entry_symbol)
|
1536
|
+
parsed = self.parse_funding_rate(entry, market)
|
1537
|
+
fundingRates.append(parsed)
|
1538
|
+
return self.index_by(fundingRates, 'symbol')
|
1539
|
+
|
1540
|
+
def parse_funding_rate(self, ticker, market=None):
|
1541
|
+
#
|
1542
|
+
# {'ask': 26.283,
|
1543
|
+
# 'askSize': 4.6,
|
1544
|
+
# 'bid': 26.201,
|
1545
|
+
# 'bidSize': 190,
|
1546
|
+
# 'fundingRate': -0.000944642727438883,
|
1547
|
+
# 'fundingRatePrediction': -0.000872671532340275,
|
1548
|
+
# 'indexPrice': 26.253,
|
1549
|
+
# 'last': 26.3,
|
1550
|
+
# 'lastSize': 0.1,
|
1551
|
+
# 'lastTime': '2023-06-11T18:55:28.958Z',
|
1552
|
+
# 'markPrice': 26.239,
|
1553
|
+
# 'open24h': 26.3,
|
1554
|
+
# 'openInterest': 641.1,
|
1555
|
+
# 'pair': 'COMP:USD',
|
1556
|
+
# 'postOnly': False,
|
1557
|
+
# 'suspended': False,
|
1558
|
+
# 'symbol': 'pf_compusd',
|
1559
|
+
# 'tag': 'perpetual',
|
1560
|
+
# 'vol24h': 0.1,
|
1561
|
+
# 'volumeQuote': 2.63}
|
1562
|
+
#
|
1563
|
+
marketId = self.safe_string(ticker, 'symbol')
|
1564
|
+
symbol = self.symbol(marketId)
|
1565
|
+
timestamp = self.parse8601(self.safe_string(ticker, 'lastTime'))
|
1566
|
+
fundingRate = self.safe_number(ticker, 'fundingRate')
|
1567
|
+
nextFundingRate = self.safe_number(ticker, 'fundingRatePrediction')
|
1568
|
+
return {
|
1569
|
+
'info': ticker,
|
1570
|
+
'symbol': symbol,
|
1571
|
+
'markPrice': None,
|
1572
|
+
'indexPrice': None,
|
1573
|
+
'interestRate': None,
|
1574
|
+
'estimatedSettlePrice': None,
|
1575
|
+
'timestamp': timestamp,
|
1576
|
+
'datetime': self.iso8601(timestamp),
|
1577
|
+
'fundingRate': fundingRate,
|
1578
|
+
'fundingTimestamp': None,
|
1579
|
+
'fundingDatetime': None,
|
1580
|
+
'nextFundingRate': nextFundingRate,
|
1581
|
+
'nextFundingTimestamp': None,
|
1582
|
+
'nextFundingDatetime': None,
|
1583
|
+
'previousFundingRate': None,
|
1584
|
+
'previousFundingTimestamp': None,
|
1585
|
+
'previousFundingDatetime': None,
|
1586
|
+
}
|
1587
|
+
|
1516
1588
|
async def fetch_funding_rate_history(self, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
|
1517
1589
|
self.check_required_symbol('fetchFundingRateHistory', symbol)
|
1518
1590
|
await self.load_markets()
|
@@ -21,6 +21,7 @@ from ccxt.base.errors import OrderNotFound
|
|
21
21
|
from ccxt.base.errors import DuplicateOrderId
|
22
22
|
from ccxt.base.errors import ExchangeNotAvailable
|
23
23
|
from ccxt.base.errors import AuthenticationError
|
24
|
+
from ccxt.base.decimal_to_precision import DECIMAL_PLACES
|
24
25
|
from ccxt.base.precise import Precise
|
25
26
|
|
26
27
|
|
@@ -312,6 +313,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
312
313
|
'currencies': {
|
313
314
|
'WX': self.safe_currency_structure({'id': 'EMAMLxDnv3xiz8RXg8Btj33jcEw3wLczL3JKYYmuubpc', 'numericId': None, 'code': 'WX', 'precision': self.parse_number('8')}),
|
314
315
|
},
|
316
|
+
'precisionMode': DECIMAL_PLACES,
|
315
317
|
'options': {
|
316
318
|
'allowedCandles': 1440,
|
317
319
|
'accessToken': None,
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '3.1.
|
7
|
+
__version__ = '3.1.38'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -3674,6 +3674,7 @@ class Exchange(object):
|
|
3674
3674
|
if self.has['fetchFundingRates']:
|
3675
3675
|
self.load_markets()
|
3676
3676
|
market = self.market(symbol)
|
3677
|
+
symbol = market['symbol']
|
3677
3678
|
if not market['contract']:
|
3678
3679
|
raise BadSymbol(self.id + ' fetchFundingRate() supports contract markets only')
|
3679
3680
|
rates = self.fetchFundingRates([symbol], params)
|
@@ -1787,6 +1787,45 @@ class bitget(Exchange, ImplicitAPI):
|
|
1787
1787
|
# quoteVolume: '5552388715.9215',
|
1788
1788
|
# usdtVolume: '5552388715.9215'
|
1789
1789
|
# }
|
1790
|
+
# spot tickers
|
1791
|
+
# {
|
1792
|
+
# "symbol":"LINKUSDT",
|
1793
|
+
# "high24h":"5.2816",
|
1794
|
+
# "low24h":"5.0828",
|
1795
|
+
# "close":"5.24",
|
1796
|
+
# "quoteVol":"1427864.6815",
|
1797
|
+
# "baseVol":"276089.9017",
|
1798
|
+
# "usdtVol":"1427864.68148328",
|
1799
|
+
# "ts":"1686653354407",
|
1800
|
+
# "buyOne":"5.239",
|
1801
|
+
# "sellOne":"5.2404",
|
1802
|
+
# "+":"95.187",
|
1803
|
+
# "askSz":"947.6127",
|
1804
|
+
# "openUtc0":"5.1599",
|
1805
|
+
# "changeUtc":"0.01552",
|
1806
|
+
# "change":"0.02594"
|
1807
|
+
# }
|
1808
|
+
# swap tickers
|
1809
|
+
# {
|
1810
|
+
# "symbol":"BTCUSDT_UMCBL",
|
1811
|
+
# "last":"26139",
|
1812
|
+
# "bestAsk":"26139",
|
1813
|
+
# "bestBid":"26138.5",
|
1814
|
+
# "bidSz":"4.62",
|
1815
|
+
# "askSz":"11.142",
|
1816
|
+
# "high24h":"26260",
|
1817
|
+
# "low24h":"25637",
|
1818
|
+
# "timestamp":"1686653988192",
|
1819
|
+
# "priceChangePercent":"0.01283",
|
1820
|
+
# "baseVolume":"130207.098",
|
1821
|
+
# "quoteVolume":"3378775678.441",
|
1822
|
+
# "usdtVolume":"3378775678.441",
|
1823
|
+
# "openUtc":"25889",
|
1824
|
+
# "chgUtc":"0.00966",
|
1825
|
+
# "indexPrice":"26159.375846",
|
1826
|
+
# "fundingRate":"0.000062",
|
1827
|
+
# "holdingAmount":"74551.735"
|
1828
|
+
# }
|
1790
1829
|
#
|
1791
1830
|
marketId = self.safe_string(ticker, 'symbol')
|
1792
1831
|
if (market is None) and (marketId is not None) and (marketId.find('_') == -1):
|
@@ -1802,10 +1841,13 @@ class bitget(Exchange, ImplicitAPI):
|
|
1802
1841
|
quoteVolume = self.safe_string_2(ticker, 'quoteVol', 'quoteVolume')
|
1803
1842
|
baseVolume = self.safe_string_2(ticker, 'baseVol', 'baseVolume')
|
1804
1843
|
timestamp = self.safe_integer_2(ticker, 'ts', 'timestamp')
|
1844
|
+
bidVolume = self.safe_string(ticker, 'bidSz')
|
1845
|
+
askVolume = self.safe_string(ticker, 'askSz')
|
1805
1846
|
datetime = self.iso8601(timestamp)
|
1806
1847
|
bid = self.safe_string_2(ticker, 'buyOne', 'bestBid')
|
1807
1848
|
ask = self.safe_string_2(ticker, 'sellOne', 'bestAsk')
|
1808
|
-
percentage = Precise.string_mul(self.
|
1849
|
+
percentage = Precise.string_mul(self.safe_string_n(ticker, ['priceChangePercent', 'changeUtc', 'change', 'chgUtc']), '100')
|
1850
|
+
open = self.safe_string_2(ticker, 'openUtc0', 'openUtc')
|
1809
1851
|
return self.safe_ticker({
|
1810
1852
|
'symbol': symbol,
|
1811
1853
|
'timestamp': timestamp,
|
@@ -1813,11 +1855,11 @@ class bitget(Exchange, ImplicitAPI):
|
|
1813
1855
|
'high': high,
|
1814
1856
|
'low': low,
|
1815
1857
|
'bid': bid,
|
1816
|
-
'bidVolume':
|
1858
|
+
'bidVolume': bidVolume,
|
1817
1859
|
'ask': ask,
|
1818
|
-
'askVolume':
|
1860
|
+
'askVolume': askVolume,
|
1819
1861
|
'vwap': None,
|
1820
|
-
'open':
|
1862
|
+
'open': open,
|
1821
1863
|
'close': close,
|
1822
1864
|
'last': None,
|
1823
1865
|
'previousClose': None,
|
@@ -2573,7 +2615,8 @@ class bitget(Exchange, ImplicitAPI):
|
|
2573
2615
|
triggerType = self.safe_string(params, 'triggerType', 'market_price')
|
2574
2616
|
request['triggerType'] = triggerType
|
2575
2617
|
request['triggerPrice'] = self.price_to_precision(symbol, triggerPrice)
|
2576
|
-
|
2618
|
+
if price is not None:
|
2619
|
+
request['executePrice'] = self.price_to_precision(symbol, price)
|
2577
2620
|
method = 'privateSpotPostPlanPlacePlan'
|
2578
2621
|
if quantity is not None:
|
2579
2622
|
request[quantityKey] = quantity
|
@@ -999,6 +999,8 @@ class bitso(Exchange, ImplicitAPI):
|
|
999
999
|
def parse_order_status(self, status):
|
1000
1000
|
statuses = {
|
1001
1001
|
'partial-fill': 'open', # self is a common substitution in ccxt
|
1002
|
+
'partially filled': 'open',
|
1003
|
+
'queued': 'open',
|
1002
1004
|
'completed': 'closed',
|
1003
1005
|
}
|
1004
1006
|
return self.safe_string(statuses, status, status)
|
@@ -59,9 +59,9 @@ class krakenfutures(Exchange, ImplicitAPI):
|
|
59
59
|
'fetchBorrowRatesPerSymbol': False,
|
60
60
|
'fetchClosedOrders': None, # https://support.kraken.com/hc/en-us/articles/360058243651-Historical-orders
|
61
61
|
'fetchFundingHistory': None,
|
62
|
-
'fetchFundingRate':
|
62
|
+
'fetchFundingRate': 'emulated',
|
63
63
|
'fetchFundingRateHistory': True,
|
64
|
-
'fetchFundingRates':
|
64
|
+
'fetchFundingRates': True,
|
65
65
|
'fetchIndexOHLCV': False,
|
66
66
|
'fetchIsolatedPositions': False,
|
67
67
|
'fetchLeverageTiers': True,
|
@@ -1513,6 +1513,78 @@ class krakenfutures(Exchange, ImplicitAPI):
|
|
1513
1513
|
result[code] = account
|
1514
1514
|
return self.safe_balance(result)
|
1515
1515
|
|
1516
|
+
def fetch_funding_rates(self, symbols: Optional[List[str]] = None, params={}):
|
1517
|
+
"""
|
1518
|
+
see https://docs.futures.kraken.com/#http-api-trading-v3-api-market-data-get-tickers
|
1519
|
+
fetch the current funding rates
|
1520
|
+
:param [str] symbols: unified market symbols
|
1521
|
+
:param dict params: extra parameters specific to the krakenfutures api endpoint
|
1522
|
+
:returns [dict]: an array of `funding rate structures <https://docs.ccxt.com/#/?id=funding-rate-structure>`
|
1523
|
+
"""
|
1524
|
+
self.load_markets()
|
1525
|
+
marketIds = self.market_ids(symbols)
|
1526
|
+
response = self.publicGetTickers(params)
|
1527
|
+
tickers = self.safe_value(response, 'tickers')
|
1528
|
+
fundingRates = []
|
1529
|
+
for i in range(0, len(tickers)):
|
1530
|
+
entry = tickers[i]
|
1531
|
+
entry_symbol = self.safe_value(entry, 'symbol')
|
1532
|
+
if marketIds is not None:
|
1533
|
+
if not self.in_array(entry_symbol, marketIds):
|
1534
|
+
continue
|
1535
|
+
market = self.safe_market(entry_symbol)
|
1536
|
+
parsed = self.parse_funding_rate(entry, market)
|
1537
|
+
fundingRates.append(parsed)
|
1538
|
+
return self.index_by(fundingRates, 'symbol')
|
1539
|
+
|
1540
|
+
def parse_funding_rate(self, ticker, market=None):
|
1541
|
+
#
|
1542
|
+
# {'ask': 26.283,
|
1543
|
+
# 'askSize': 4.6,
|
1544
|
+
# 'bid': 26.201,
|
1545
|
+
# 'bidSize': 190,
|
1546
|
+
# 'fundingRate': -0.000944642727438883,
|
1547
|
+
# 'fundingRatePrediction': -0.000872671532340275,
|
1548
|
+
# 'indexPrice': 26.253,
|
1549
|
+
# 'last': 26.3,
|
1550
|
+
# 'lastSize': 0.1,
|
1551
|
+
# 'lastTime': '2023-06-11T18:55:28.958Z',
|
1552
|
+
# 'markPrice': 26.239,
|
1553
|
+
# 'open24h': 26.3,
|
1554
|
+
# 'openInterest': 641.1,
|
1555
|
+
# 'pair': 'COMP:USD',
|
1556
|
+
# 'postOnly': False,
|
1557
|
+
# 'suspended': False,
|
1558
|
+
# 'symbol': 'pf_compusd',
|
1559
|
+
# 'tag': 'perpetual',
|
1560
|
+
# 'vol24h': 0.1,
|
1561
|
+
# 'volumeQuote': 2.63}
|
1562
|
+
#
|
1563
|
+
marketId = self.safe_string(ticker, 'symbol')
|
1564
|
+
symbol = self.symbol(marketId)
|
1565
|
+
timestamp = self.parse8601(self.safe_string(ticker, 'lastTime'))
|
1566
|
+
fundingRate = self.safe_number(ticker, 'fundingRate')
|
1567
|
+
nextFundingRate = self.safe_number(ticker, 'fundingRatePrediction')
|
1568
|
+
return {
|
1569
|
+
'info': ticker,
|
1570
|
+
'symbol': symbol,
|
1571
|
+
'markPrice': None,
|
1572
|
+
'indexPrice': None,
|
1573
|
+
'interestRate': None,
|
1574
|
+
'estimatedSettlePrice': None,
|
1575
|
+
'timestamp': timestamp,
|
1576
|
+
'datetime': self.iso8601(timestamp),
|
1577
|
+
'fundingRate': fundingRate,
|
1578
|
+
'fundingTimestamp': None,
|
1579
|
+
'fundingDatetime': None,
|
1580
|
+
'nextFundingRate': nextFundingRate,
|
1581
|
+
'nextFundingTimestamp': None,
|
1582
|
+
'nextFundingDatetime': None,
|
1583
|
+
'previousFundingRate': None,
|
1584
|
+
'previousFundingTimestamp': None,
|
1585
|
+
'previousFundingDatetime': None,
|
1586
|
+
}
|
1587
|
+
|
1516
1588
|
def fetch_funding_rate_history(self, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
|
1517
1589
|
self.check_required_symbol('fetchFundingRateHistory', symbol)
|
1518
1590
|
self.load_markets()
|
@@ -21,6 +21,7 @@ from ccxt.base.errors import OrderNotFound
|
|
21
21
|
from ccxt.base.errors import DuplicateOrderId
|
22
22
|
from ccxt.base.errors import ExchangeNotAvailable
|
23
23
|
from ccxt.base.errors import AuthenticationError
|
24
|
+
from ccxt.base.decimal_to_precision import DECIMAL_PLACES
|
24
25
|
from ccxt.base.precise import Precise
|
25
26
|
|
26
27
|
|
@@ -312,6 +313,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
312
313
|
'currencies': {
|
313
314
|
'WX': self.safe_currency_structure({'id': 'EMAMLxDnv3xiz8RXg8Btj33jcEw3wLczL3JKYYmuubpc', 'numericId': None, 'code': 'WX', 'precision': self.parse_number('8')}),
|
314
315
|
},
|
316
|
+
'precisionMode': DECIMAL_PLACES,
|
315
317
|
'options': {
|
316
318
|
'allowedCandles': 1440,
|
317
319
|
'accessToken': None,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 3.1.
|
3
|
+
Version: 3.1.38
|
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
|
@@ -233,13 +233,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
233
233
|
|
234
234
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
235
235
|
|
236
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@3.1.
|
237
|
-
* unpkg: https://unpkg.com/ccxt@3.1.
|
236
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@3.1.38/dist/ccxt.browser.js
|
237
|
+
* unpkg: https://unpkg.com/ccxt@3.1.38/dist/ccxt.browser.js
|
238
238
|
|
239
239
|
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.
|
240
240
|
|
241
241
|
```HTML
|
242
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@3.1.
|
242
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@3.1.38/dist/ccxt.browser.js"></script>
|
243
243
|
```
|
244
244
|
|
245
245
|
Creates a global `ccxt` object:
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|