ccxt 4.0.101__tar.gz → 4.0.102__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ccxt might be problematic. Click here for more details.
- {ccxt-4.0.101/ccxt.egg-info → ccxt-4.0.102}/PKG-INFO +6 -7
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/__init__.py +1 -3
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/binance.py +8 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/binancecoinm.py +8 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/binanceus.py +8 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/binanceusdm.py +8 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bingx.py +16 -1
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/__init__.py +1 -3
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/exchange.py +1 -1
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/binance.py +8 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bingx.py +41 -4
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitmart.py +66 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bl3p.py +8 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bybit.py +62 -43
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/gemini.py +1 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/base/exchange.py +1 -1
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/binance.py +8 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bingx.py +41 -4
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitmart.py +66 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bl3p.py +8 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bybit.py +62 -43
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/gemini.py +1 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/binance.py +7 -7
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bybit.py +16 -16
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/coinbasepro.py +10 -10
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/kucoin.py +3 -3
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/test_async.py +1 -1
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/test_sync.py +1 -1
- {ccxt-4.0.101 → ccxt-4.0.102/ccxt.egg-info}/PKG-INFO +6 -7
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt.egg-info/SOURCES.txt +0 -1
- {ccxt-4.0.101 → ccxt-4.0.102}/package.json +1 -1
- ccxt-4.0.101/ccxt/abstract/bkex.py +0 -58
- {ccxt-4.0.101 → ccxt-4.0.102}/LICENSE.txt +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/MANIFEST.in +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/README.rst +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitforex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitstamp1.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bittrex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/btctradeua.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinbaseprime.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinbasepro.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinfalcon.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/huobipro.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/lbank2.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/mexc3.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/okex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/okex5.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/tidex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/ace.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/alpaca.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/ascendex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitforex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitget.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitstamp1.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bittrex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bkex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/btctradeua.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinbaseprime.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinbasepro.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinfalcon.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/flowbtc.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/gate.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/huobipro.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/kucoin.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/lbank2.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/mexc3.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/okex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/okex5.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/okx.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/tidex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/base/__init__.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/base/errors.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/base/precise.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/base/types.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bequant.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bigone.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/binanceus.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bit2c.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitbank.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitbay.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitbns.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitfinex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitflyer.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitforex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitget.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bithumb.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitmex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitopro.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitpanda.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitrue.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitso.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitstamp.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitstamp1.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bittrex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitvavo.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bkex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/btcalpha.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/btcbox.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/btctradeua.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/btcturk.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/cex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinbase.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinbaseprime.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinbasepro.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coincheck.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinfalcon.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinmate.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinone.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinsph.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinspot.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/cryptocom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/currencycom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/delta.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/deribit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/digifinex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/exmo.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/flowbtc.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/fmfwio.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/gate.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/gateio.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/hitbtc.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/hollaex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/huobi.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/huobijp.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/huobipro.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/idex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/independentreserve.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/indodax.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/kraken.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/kucoin.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/kuna.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/latoken.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/lbank.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/lbank2.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/luno.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/lykke.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/mercado.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/mexc.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/mexc3.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/ndax.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/novadax.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/oceanex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/okcoin.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/okex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/okex5.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/okx.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/paymium.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/phemex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/poloniex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitfinex2.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bittrex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/btcex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/cex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/coinbaseprime.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/gate.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/huobipro.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/idex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/luno.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/mexc3.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/okex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/okx.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/probit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/ripio.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/woo.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/zb.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/probit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/__init__.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/__init__.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_account.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_balance.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_borrow_interest.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_borrow_rate.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_calculate_fee.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_crypto.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_currency.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_datetime.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_decimal_to_precision.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_deep_extend.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_funding_rate_history.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_ledger_entry.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_ledger_item.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_leverage_tier.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_margin_modification.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_market.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_number.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_ohlcv.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_open_interest.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_order.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_order_book.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_position.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_shared_methods.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_status.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_throttle.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_ticker.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_trade.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_trading_fee.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_transaction.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/tidex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/timex.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/upbit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/wazirx.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/whitebit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/woo.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/yobit.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/zaif.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/zonda.py +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/setup.cfg +0 -0
- {ccxt-4.0.101 → ccxt-4.0.102}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.0.
|
3
|
+
Version: 4.0.102
|
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
|
@@ -13,7 +13,7 @@ Project-URL: Twitter, https://twitter.com/ccxt_official
|
|
13
13
|
Project-URL: Funding, https://opencollective.com/ccxt
|
14
14
|
Description: # CCXT – CryptoCurrency eXchange Trading Library
|
15
15
|
|
16
|
-
[](https://travis-ci.com/ccxt/ccxt) [](https://npmjs.com/package/ccxt) [](https://pypi.python.org/pypi/ccxt) [](https://www.npmjs.com/package/ccxt) [](https://discord.gg/ccxt) [](https://travis-ci.com/ccxt/ccxt) [](https://npmjs.com/package/ccxt) [](https://pypi.python.org/pypi/ccxt) [](https://www.npmjs.com/package/ccxt) [](https://discord.gg/ccxt) [](https://github.com/ccxt/ccxt/wiki/Exchange-Markets) [](https://twitter.com/ccxt_official)
|
17
17
|
|
18
18
|
A JavaScript / Python / PHP / C# library for cryptocurrency trading and e-commerce with support for many bitcoin/ether/altcoin exchange markets and merchant APIs.
|
19
19
|
|
@@ -69,7 +69,7 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
69
69
|
|
70
70
|
## Supported Cryptocurrency Exchange Markets
|
71
71
|
|
72
|
-
The CCXT library currently supports the following
|
72
|
+
The CCXT library currently supports the following 97 cryptocurrency exchange markets and trading APIs:
|
73
73
|
|
74
74
|
| logo | id | name | ver | certified | pro |
|
75
75
|
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------|---------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------:|-----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------|
|
@@ -102,7 +102,6 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
102
102
|
| [](https://www.bitstamp.net) | bitstamp1 | [Bitstamp](https://www.bitstamp.net) | [](https://www.bitstamp.net/api) | | |
|
103
103
|
| [](https://bittrex.com/Account/Register?referralCode=1ZE-G0G-M3B) | bittrex | [Bittrex](https://bittrex.com/Account/Register?referralCode=1ZE-G0G-M3B) | [](https://bittrex.github.io/api/v3) | | [](https://ccxt.pro) |
|
104
104
|
| [](https://bitvavo.com/?a=24F34952F7) | bitvavo | [Bitvavo](https://bitvavo.com/?a=24F34952F7) | [](https://docs.bitvavo.com/) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) |
|
105
|
-
| [](https://www.bkex.com/) | bkex | [BKEX](https://www.bkex.com/) | [](https://bkexapi.github.io/docs/api_en.htm) | | |
|
106
105
|
| [](https://bl3p.eu) | bl3p | [BL3P](https://bl3p.eu) | [](https://github.com/BitonicNL/bl3p-api/tree/master/docs) | | |
|
107
106
|
| [](https://blockchain.com) | blockchaincom | [Blockchain.com](https://blockchain.com) | [](https://api.blockchain.com/v3) | | [](https://ccxt.pro) |
|
108
107
|
| [](https://btc-alpha.com/?r=123788) | btcalpha | [BTC-Alpha](https://btc-alpha.com/?r=123788) | [](https://btc-alpha.github.io/api-docs) | | |
|
@@ -228,13 +227,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
228
227
|
|
229
228
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
230
229
|
|
231
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.
|
232
|
-
* unpkg: https://unpkg.com/ccxt@4.0.
|
230
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.102/dist/ccxt.browser.js
|
231
|
+
* unpkg: https://unpkg.com/ccxt@4.0.102/dist/ccxt.browser.js
|
233
232
|
|
234
233
|
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.
|
235
234
|
|
236
235
|
```HTML
|
237
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.
|
236
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.102/dist/ccxt.browser.js"></script>
|
238
237
|
```
|
239
238
|
|
240
239
|
Creates a global `ccxt` object:
|
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
# ----------------------------------------------------------------------------
|
24
24
|
|
25
|
-
__version__ = '4.0.
|
25
|
+
__version__ = '4.0.102'
|
26
26
|
|
27
27
|
# ----------------------------------------------------------------------------
|
28
28
|
|
@@ -105,7 +105,6 @@ from ccxt.bitstamp import bitstamp # noqa: F4
|
|
105
105
|
from ccxt.bitstamp1 import bitstamp1 # noqa: F401
|
106
106
|
from ccxt.bittrex import bittrex # noqa: F401
|
107
107
|
from ccxt.bitvavo import bitvavo # noqa: F401
|
108
|
-
from ccxt.bkex import bkex # noqa: F401
|
109
108
|
from ccxt.bl3p import bl3p # noqa: F401
|
110
109
|
from ccxt.blockchaincom import blockchaincom # noqa: F401
|
111
110
|
from ccxt.btcalpha import btcalpha # noqa: F401
|
@@ -213,7 +212,6 @@ exchanges = [
|
|
213
212
|
'bitstamp1',
|
214
213
|
'bittrex',
|
215
214
|
'bitvavo',
|
216
|
-
'bkex',
|
217
215
|
'bl3p',
|
218
216
|
'blockchaincom',
|
219
217
|
'btcalpha',
|
@@ -196,6 +196,7 @@ class ImplicitAPI:
|
|
196
196
|
sapi_get_portfolio_interest_history = sapiGetPortfolioInterestHistory = Entry('portfolio/interest-history', 'sapi', 'GET', {'cost': 0.6667})
|
197
197
|
sapi_get_portfolio_asset_index_price = sapiGetPortfolioAssetIndexPrice = Entry('portfolio/asset-index-price', 'sapi', 'GET', {'cost': 0.1})
|
198
198
|
sapi_get_portfolio_repay_futures_switch = sapiGetPortfolioRepayFuturesSwitch = Entry('portfolio/repay-futures-switch', 'sapi', 'GET', {'cost': 3})
|
199
|
+
sapi_get_portfolio_margin_asset_leverage = sapiGetPortfolioMarginAssetLeverage = Entry('portfolio/margin-asset-leverage', 'sapi', 'GET', {'cost': 5})
|
199
200
|
sapi_get_staking_productlist = sapiGetStakingProductList = Entry('staking/productList', 'sapi', 'GET', {'cost': 0.1})
|
200
201
|
sapi_get_staking_position = sapiGetStakingPosition = Entry('staking/position', 'sapi', 'GET', {'cost': 0.1})
|
201
202
|
sapi_get_staking_stakingrecord = sapiGetStakingStakingRecord = Entry('staking/stakingRecord', 'sapi', 'GET', {'cost': 0.1})
|
@@ -207,6 +208,11 @@ class ImplicitAPI:
|
|
207
208
|
sapi_get_lending_auto_invest_plan_list = sapiGetLendingAutoInvestPlanList = Entry('lending/auto-invest/plan/list', 'sapi', 'GET', {'cost': 0.1})
|
208
209
|
sapi_get_lending_auto_invest_plan_id = sapiGetLendingAutoInvestPlanId = Entry('lending/auto-invest/plan/id', 'sapi', 'GET', {'cost': 0.1})
|
209
210
|
sapi_get_lending_auto_invest_history_list = sapiGetLendingAutoInvestHistoryList = Entry('lending/auto-invest/history/list', 'sapi', 'GET', {'cost': 0.1})
|
211
|
+
sapi_get_lending_auto_invest_index_info = sapiGetLendingAutoInvestIndexInfo = Entry('lending/auto-invest/index/info', 'sapi', 'GET', {'cost': 0.1})
|
212
|
+
sapi_get_lending_auto_invest_index_user_summary = sapiGetLendingAutoInvestIndexUserSummary = Entry('lending/auto-invest/index/user-summary', 'sapi', 'GET', {'cost': 0.1})
|
213
|
+
sapi_get_lending_auto_invest_one_off_status = sapiGetLendingAutoInvestOneOffStatus = Entry('lending/auto-invest/one-off/status', 'sapi', 'GET', {'cost': 0.1})
|
214
|
+
sapi_get_lending_auto_invest_redeem_history = sapiGetLendingAutoInvestRedeemHistory = Entry('lending/auto-invest/redeem/history', 'sapi', 'GET', {'cost': 0.1})
|
215
|
+
sapi_get_lending_auto_invest_rebalance_history = sapiGetLendingAutoInvestRebalanceHistory = Entry('lending/auto-invest/rebalance/history', 'sapi', 'GET', {'cost': 0.1})
|
210
216
|
sapi_get_simple_earn_flexible_list = sapiGetSimpleEarnFlexibleList = Entry('simple-earn/flexible/list', 'sapi', 'GET', {'cost': 15})
|
211
217
|
sapi_get_simple_earn_locked_list = sapiGetSimpleEarnLockedList = Entry('simple-earn/locked/list', 'sapi', 'GET', {'cost': 15})
|
212
218
|
sapi_get_simple_earn_flexible_personalleftquota = sapiGetSimpleEarnFlexiblePersonalLeftQuota = Entry('simple-earn/flexible/personalLeftQuota', 'sapi', 'GET', {'cost': 15})
|
@@ -322,6 +328,8 @@ class ImplicitAPI:
|
|
322
328
|
sapi_post_lending_auto_invest_plan_add = sapiPostLendingAutoInvestPlanAdd = Entry('lending/auto-invest/plan/add', 'sapi', 'POST', {'cost': 0.1})
|
323
329
|
sapi_post_lending_auto_invest_plan_edit = sapiPostLendingAutoInvestPlanEdit = Entry('lending/auto-invest/plan/edit', 'sapi', 'POST', {'cost': 0.1})
|
324
330
|
sapi_post_lending_auto_invest_plan_edit_status = sapiPostLendingAutoInvestPlanEditStatus = Entry('lending/auto-invest/plan/edit-status', 'sapi', 'POST', {'cost': 0.1})
|
331
|
+
sapi_post_lending_auto_invest_one_off = sapiPostLendingAutoInvestOneOff = Entry('lending/auto-invest/one-off', 'sapi', 'POST', {'cost': 0.1})
|
332
|
+
sapi_post_lending_auto_invest_redeem = sapiPostLendingAutoInvestRedeem = Entry('lending/auto-invest/redeem', 'sapi', 'POST', {'cost': 0.1})
|
325
333
|
sapi_post_simple_earn_flexible_subscribe = sapiPostSimpleEarnFlexibleSubscribe = Entry('simple-earn/flexible/subscribe', 'sapi', 'POST', {'cost': 0.1})
|
326
334
|
sapi_post_simple_earn_locked_subscribe = sapiPostSimpleEarnLockedSubscribe = Entry('simple-earn/locked/subscribe', 'sapi', 'POST', {'cost': 0.1})
|
327
335
|
sapi_post_simple_earn_flexible_redeem = sapiPostSimpleEarnFlexibleRedeem = Entry('simple-earn/flexible/redeem', 'sapi', 'POST', {'cost': 0.1})
|
@@ -196,6 +196,7 @@ class ImplicitAPI:
|
|
196
196
|
sapi_get_portfolio_interest_history = sapiGetPortfolioInterestHistory = Entry('portfolio/interest-history', 'sapi', 'GET', {'cost': 0.6667})
|
197
197
|
sapi_get_portfolio_asset_index_price = sapiGetPortfolioAssetIndexPrice = Entry('portfolio/asset-index-price', 'sapi', 'GET', {'cost': 0.1})
|
198
198
|
sapi_get_portfolio_repay_futures_switch = sapiGetPortfolioRepayFuturesSwitch = Entry('portfolio/repay-futures-switch', 'sapi', 'GET', {'cost': 3})
|
199
|
+
sapi_get_portfolio_margin_asset_leverage = sapiGetPortfolioMarginAssetLeverage = Entry('portfolio/margin-asset-leverage', 'sapi', 'GET', {'cost': 5})
|
199
200
|
sapi_get_staking_productlist = sapiGetStakingProductList = Entry('staking/productList', 'sapi', 'GET', {'cost': 0.1})
|
200
201
|
sapi_get_staking_position = sapiGetStakingPosition = Entry('staking/position', 'sapi', 'GET', {'cost': 0.1})
|
201
202
|
sapi_get_staking_stakingrecord = sapiGetStakingStakingRecord = Entry('staking/stakingRecord', 'sapi', 'GET', {'cost': 0.1})
|
@@ -207,6 +208,11 @@ class ImplicitAPI:
|
|
207
208
|
sapi_get_lending_auto_invest_plan_list = sapiGetLendingAutoInvestPlanList = Entry('lending/auto-invest/plan/list', 'sapi', 'GET', {'cost': 0.1})
|
208
209
|
sapi_get_lending_auto_invest_plan_id = sapiGetLendingAutoInvestPlanId = Entry('lending/auto-invest/plan/id', 'sapi', 'GET', {'cost': 0.1})
|
209
210
|
sapi_get_lending_auto_invest_history_list = sapiGetLendingAutoInvestHistoryList = Entry('lending/auto-invest/history/list', 'sapi', 'GET', {'cost': 0.1})
|
211
|
+
sapi_get_lending_auto_invest_index_info = sapiGetLendingAutoInvestIndexInfo = Entry('lending/auto-invest/index/info', 'sapi', 'GET', {'cost': 0.1})
|
212
|
+
sapi_get_lending_auto_invest_index_user_summary = sapiGetLendingAutoInvestIndexUserSummary = Entry('lending/auto-invest/index/user-summary', 'sapi', 'GET', {'cost': 0.1})
|
213
|
+
sapi_get_lending_auto_invest_one_off_status = sapiGetLendingAutoInvestOneOffStatus = Entry('lending/auto-invest/one-off/status', 'sapi', 'GET', {'cost': 0.1})
|
214
|
+
sapi_get_lending_auto_invest_redeem_history = sapiGetLendingAutoInvestRedeemHistory = Entry('lending/auto-invest/redeem/history', 'sapi', 'GET', {'cost': 0.1})
|
215
|
+
sapi_get_lending_auto_invest_rebalance_history = sapiGetLendingAutoInvestRebalanceHistory = Entry('lending/auto-invest/rebalance/history', 'sapi', 'GET', {'cost': 0.1})
|
210
216
|
sapi_get_simple_earn_flexible_list = sapiGetSimpleEarnFlexibleList = Entry('simple-earn/flexible/list', 'sapi', 'GET', {'cost': 15})
|
211
217
|
sapi_get_simple_earn_locked_list = sapiGetSimpleEarnLockedList = Entry('simple-earn/locked/list', 'sapi', 'GET', {'cost': 15})
|
212
218
|
sapi_get_simple_earn_flexible_personalleftquota = sapiGetSimpleEarnFlexiblePersonalLeftQuota = Entry('simple-earn/flexible/personalLeftQuota', 'sapi', 'GET', {'cost': 15})
|
@@ -322,6 +328,8 @@ class ImplicitAPI:
|
|
322
328
|
sapi_post_lending_auto_invest_plan_add = sapiPostLendingAutoInvestPlanAdd = Entry('lending/auto-invest/plan/add', 'sapi', 'POST', {'cost': 0.1})
|
323
329
|
sapi_post_lending_auto_invest_plan_edit = sapiPostLendingAutoInvestPlanEdit = Entry('lending/auto-invest/plan/edit', 'sapi', 'POST', {'cost': 0.1})
|
324
330
|
sapi_post_lending_auto_invest_plan_edit_status = sapiPostLendingAutoInvestPlanEditStatus = Entry('lending/auto-invest/plan/edit-status', 'sapi', 'POST', {'cost': 0.1})
|
331
|
+
sapi_post_lending_auto_invest_one_off = sapiPostLendingAutoInvestOneOff = Entry('lending/auto-invest/one-off', 'sapi', 'POST', {'cost': 0.1})
|
332
|
+
sapi_post_lending_auto_invest_redeem = sapiPostLendingAutoInvestRedeem = Entry('lending/auto-invest/redeem', 'sapi', 'POST', {'cost': 0.1})
|
325
333
|
sapi_post_simple_earn_flexible_subscribe = sapiPostSimpleEarnFlexibleSubscribe = Entry('simple-earn/flexible/subscribe', 'sapi', 'POST', {'cost': 0.1})
|
326
334
|
sapi_post_simple_earn_locked_subscribe = sapiPostSimpleEarnLockedSubscribe = Entry('simple-earn/locked/subscribe', 'sapi', 'POST', {'cost': 0.1})
|
327
335
|
sapi_post_simple_earn_flexible_redeem = sapiPostSimpleEarnFlexibleRedeem = Entry('simple-earn/flexible/redeem', 'sapi', 'POST', {'cost': 0.1})
|
@@ -196,6 +196,7 @@ class ImplicitAPI:
|
|
196
196
|
sapi_get_portfolio_interest_history = sapiGetPortfolioInterestHistory = Entry('portfolio/interest-history', 'sapi', 'GET', {'cost': 0.6667})
|
197
197
|
sapi_get_portfolio_asset_index_price = sapiGetPortfolioAssetIndexPrice = Entry('portfolio/asset-index-price', 'sapi', 'GET', {'cost': 0.1})
|
198
198
|
sapi_get_portfolio_repay_futures_switch = sapiGetPortfolioRepayFuturesSwitch = Entry('portfolio/repay-futures-switch', 'sapi', 'GET', {'cost': 3})
|
199
|
+
sapi_get_portfolio_margin_asset_leverage = sapiGetPortfolioMarginAssetLeverage = Entry('portfolio/margin-asset-leverage', 'sapi', 'GET', {'cost': 5})
|
199
200
|
sapi_get_staking_productlist = sapiGetStakingProductList = Entry('staking/productList', 'sapi', 'GET', {'cost': 0.1})
|
200
201
|
sapi_get_staking_position = sapiGetStakingPosition = Entry('staking/position', 'sapi', 'GET', {'cost': 0.1})
|
201
202
|
sapi_get_staking_stakingrecord = sapiGetStakingStakingRecord = Entry('staking/stakingRecord', 'sapi', 'GET', {'cost': 0.1})
|
@@ -207,6 +208,11 @@ class ImplicitAPI:
|
|
207
208
|
sapi_get_lending_auto_invest_plan_list = sapiGetLendingAutoInvestPlanList = Entry('lending/auto-invest/plan/list', 'sapi', 'GET', {'cost': 0.1})
|
208
209
|
sapi_get_lending_auto_invest_plan_id = sapiGetLendingAutoInvestPlanId = Entry('lending/auto-invest/plan/id', 'sapi', 'GET', {'cost': 0.1})
|
209
210
|
sapi_get_lending_auto_invest_history_list = sapiGetLendingAutoInvestHistoryList = Entry('lending/auto-invest/history/list', 'sapi', 'GET', {'cost': 0.1})
|
211
|
+
sapi_get_lending_auto_invest_index_info = sapiGetLendingAutoInvestIndexInfo = Entry('lending/auto-invest/index/info', 'sapi', 'GET', {'cost': 0.1})
|
212
|
+
sapi_get_lending_auto_invest_index_user_summary = sapiGetLendingAutoInvestIndexUserSummary = Entry('lending/auto-invest/index/user-summary', 'sapi', 'GET', {'cost': 0.1})
|
213
|
+
sapi_get_lending_auto_invest_one_off_status = sapiGetLendingAutoInvestOneOffStatus = Entry('lending/auto-invest/one-off/status', 'sapi', 'GET', {'cost': 0.1})
|
214
|
+
sapi_get_lending_auto_invest_redeem_history = sapiGetLendingAutoInvestRedeemHistory = Entry('lending/auto-invest/redeem/history', 'sapi', 'GET', {'cost': 0.1})
|
215
|
+
sapi_get_lending_auto_invest_rebalance_history = sapiGetLendingAutoInvestRebalanceHistory = Entry('lending/auto-invest/rebalance/history', 'sapi', 'GET', {'cost': 0.1})
|
210
216
|
sapi_get_simple_earn_flexible_list = sapiGetSimpleEarnFlexibleList = Entry('simple-earn/flexible/list', 'sapi', 'GET', {'cost': 15})
|
211
217
|
sapi_get_simple_earn_locked_list = sapiGetSimpleEarnLockedList = Entry('simple-earn/locked/list', 'sapi', 'GET', {'cost': 15})
|
212
218
|
sapi_get_simple_earn_flexible_personalleftquota = sapiGetSimpleEarnFlexiblePersonalLeftQuota = Entry('simple-earn/flexible/personalLeftQuota', 'sapi', 'GET', {'cost': 15})
|
@@ -322,6 +328,8 @@ class ImplicitAPI:
|
|
322
328
|
sapi_post_lending_auto_invest_plan_add = sapiPostLendingAutoInvestPlanAdd = Entry('lending/auto-invest/plan/add', 'sapi', 'POST', {'cost': 0.1})
|
323
329
|
sapi_post_lending_auto_invest_plan_edit = sapiPostLendingAutoInvestPlanEdit = Entry('lending/auto-invest/plan/edit', 'sapi', 'POST', {'cost': 0.1})
|
324
330
|
sapi_post_lending_auto_invest_plan_edit_status = sapiPostLendingAutoInvestPlanEditStatus = Entry('lending/auto-invest/plan/edit-status', 'sapi', 'POST', {'cost': 0.1})
|
331
|
+
sapi_post_lending_auto_invest_one_off = sapiPostLendingAutoInvestOneOff = Entry('lending/auto-invest/one-off', 'sapi', 'POST', {'cost': 0.1})
|
332
|
+
sapi_post_lending_auto_invest_redeem = sapiPostLendingAutoInvestRedeem = Entry('lending/auto-invest/redeem', 'sapi', 'POST', {'cost': 0.1})
|
325
333
|
sapi_post_simple_earn_flexible_subscribe = sapiPostSimpleEarnFlexibleSubscribe = Entry('simple-earn/flexible/subscribe', 'sapi', 'POST', {'cost': 0.1})
|
326
334
|
sapi_post_simple_earn_locked_subscribe = sapiPostSimpleEarnLockedSubscribe = Entry('simple-earn/locked/subscribe', 'sapi', 'POST', {'cost': 0.1})
|
327
335
|
sapi_post_simple_earn_flexible_redeem = sapiPostSimpleEarnFlexibleRedeem = Entry('simple-earn/flexible/redeem', 'sapi', 'POST', {'cost': 0.1})
|
@@ -196,6 +196,7 @@ class ImplicitAPI:
|
|
196
196
|
sapi_get_portfolio_interest_history = sapiGetPortfolioInterestHistory = Entry('portfolio/interest-history', 'sapi', 'GET', {'cost': 0.6667})
|
197
197
|
sapi_get_portfolio_asset_index_price = sapiGetPortfolioAssetIndexPrice = Entry('portfolio/asset-index-price', 'sapi', 'GET', {'cost': 0.1})
|
198
198
|
sapi_get_portfolio_repay_futures_switch = sapiGetPortfolioRepayFuturesSwitch = Entry('portfolio/repay-futures-switch', 'sapi', 'GET', {'cost': 3})
|
199
|
+
sapi_get_portfolio_margin_asset_leverage = sapiGetPortfolioMarginAssetLeverage = Entry('portfolio/margin-asset-leverage', 'sapi', 'GET', {'cost': 5})
|
199
200
|
sapi_get_staking_productlist = sapiGetStakingProductList = Entry('staking/productList', 'sapi', 'GET', {'cost': 0.1})
|
200
201
|
sapi_get_staking_position = sapiGetStakingPosition = Entry('staking/position', 'sapi', 'GET', {'cost': 0.1})
|
201
202
|
sapi_get_staking_stakingrecord = sapiGetStakingStakingRecord = Entry('staking/stakingRecord', 'sapi', 'GET', {'cost': 0.1})
|
@@ -207,6 +208,11 @@ class ImplicitAPI:
|
|
207
208
|
sapi_get_lending_auto_invest_plan_list = sapiGetLendingAutoInvestPlanList = Entry('lending/auto-invest/plan/list', 'sapi', 'GET', {'cost': 0.1})
|
208
209
|
sapi_get_lending_auto_invest_plan_id = sapiGetLendingAutoInvestPlanId = Entry('lending/auto-invest/plan/id', 'sapi', 'GET', {'cost': 0.1})
|
209
210
|
sapi_get_lending_auto_invest_history_list = sapiGetLendingAutoInvestHistoryList = Entry('lending/auto-invest/history/list', 'sapi', 'GET', {'cost': 0.1})
|
211
|
+
sapi_get_lending_auto_invest_index_info = sapiGetLendingAutoInvestIndexInfo = Entry('lending/auto-invest/index/info', 'sapi', 'GET', {'cost': 0.1})
|
212
|
+
sapi_get_lending_auto_invest_index_user_summary = sapiGetLendingAutoInvestIndexUserSummary = Entry('lending/auto-invest/index/user-summary', 'sapi', 'GET', {'cost': 0.1})
|
213
|
+
sapi_get_lending_auto_invest_one_off_status = sapiGetLendingAutoInvestOneOffStatus = Entry('lending/auto-invest/one-off/status', 'sapi', 'GET', {'cost': 0.1})
|
214
|
+
sapi_get_lending_auto_invest_redeem_history = sapiGetLendingAutoInvestRedeemHistory = Entry('lending/auto-invest/redeem/history', 'sapi', 'GET', {'cost': 0.1})
|
215
|
+
sapi_get_lending_auto_invest_rebalance_history = sapiGetLendingAutoInvestRebalanceHistory = Entry('lending/auto-invest/rebalance/history', 'sapi', 'GET', {'cost': 0.1})
|
210
216
|
sapi_get_simple_earn_flexible_list = sapiGetSimpleEarnFlexibleList = Entry('simple-earn/flexible/list', 'sapi', 'GET', {'cost': 15})
|
211
217
|
sapi_get_simple_earn_locked_list = sapiGetSimpleEarnLockedList = Entry('simple-earn/locked/list', 'sapi', 'GET', {'cost': 15})
|
212
218
|
sapi_get_simple_earn_flexible_personalleftquota = sapiGetSimpleEarnFlexiblePersonalLeftQuota = Entry('simple-earn/flexible/personalLeftQuota', 'sapi', 'GET', {'cost': 15})
|
@@ -322,6 +328,8 @@ class ImplicitAPI:
|
|
322
328
|
sapi_post_lending_auto_invest_plan_add = sapiPostLendingAutoInvestPlanAdd = Entry('lending/auto-invest/plan/add', 'sapi', 'POST', {'cost': 0.1})
|
323
329
|
sapi_post_lending_auto_invest_plan_edit = sapiPostLendingAutoInvestPlanEdit = Entry('lending/auto-invest/plan/edit', 'sapi', 'POST', {'cost': 0.1})
|
324
330
|
sapi_post_lending_auto_invest_plan_edit_status = sapiPostLendingAutoInvestPlanEditStatus = Entry('lending/auto-invest/plan/edit-status', 'sapi', 'POST', {'cost': 0.1})
|
331
|
+
sapi_post_lending_auto_invest_one_off = sapiPostLendingAutoInvestOneOff = Entry('lending/auto-invest/one-off', 'sapi', 'POST', {'cost': 0.1})
|
332
|
+
sapi_post_lending_auto_invest_redeem = sapiPostLendingAutoInvestRedeem = Entry('lending/auto-invest/redeem', 'sapi', 'POST', {'cost': 0.1})
|
325
333
|
sapi_post_simple_earn_flexible_subscribe = sapiPostSimpleEarnFlexibleSubscribe = Entry('simple-earn/flexible/subscribe', 'sapi', 'POST', {'cost': 0.1})
|
326
334
|
sapi_post_simple_earn_locked_subscribe = sapiPostSimpleEarnLockedSubscribe = Entry('simple-earn/locked/subscribe', 'sapi', 'POST', {'cost': 0.1})
|
327
335
|
sapi_post_simple_earn_flexible_redeem = sapiPostSimpleEarnFlexibleRedeem = Entry('simple-earn/flexible/redeem', 'sapi', 'POST', {'cost': 0.1})
|
@@ -30,6 +30,7 @@ class ImplicitAPI:
|
|
30
30
|
swap_v2_public_get_quote_klines = swapV2PublicGetQuoteKlines = Entry('quote/klines', ['swap', 'v2', 'public'], 'GET', {'cost': 1})
|
31
31
|
swap_v2_public_get_quote_openinterest = swapV2PublicGetQuoteOpenInterest = Entry('quote/openInterest', ['swap', 'v2', 'public'], 'GET', {'cost': 1})
|
32
32
|
swap_v2_public_get_quote_ticker = swapV2PublicGetQuoteTicker = Entry('quote/ticker', ['swap', 'v2', 'public'], 'GET', {'cost': 1})
|
33
|
+
swap_v2_public_get_quote_bookticker = swapV2PublicGetQuoteBookTicker = Entry('quote/bookTicker', ['swap', 'v2', 'public'], 'GET', {'cost': 1})
|
33
34
|
swap_v2_private_get_user_balance = swapV2PrivateGetUserBalance = Entry('user/balance', ['swap', 'v2', 'private'], 'GET', {'cost': 3})
|
34
35
|
swap_v2_private_get_user_positions = swapV2PrivateGetUserPositions = Entry('user/positions', ['swap', 'v2', 'private'], 'GET', {'cost': 3})
|
35
36
|
swap_v2_private_get_user_income = swapV2PrivateGetUserIncome = Entry('user/income', ['swap', 'v2', 'private'], 'GET', {'cost': 3})
|
@@ -57,15 +58,29 @@ class ImplicitAPI:
|
|
57
58
|
contract_v1_private_get_allorders = contractV1PrivateGetAllOrders = Entry('allOrders', ['contract', 'v1', 'private'], 'GET', {'cost': 3})
|
58
59
|
contract_v1_private_get_balance = contractV1PrivateGetBalance = Entry('balance', ['contract', 'v1', 'private'], 'GET', {'cost': 3})
|
59
60
|
wallets_v1_private_get_capital_config_getall = walletsV1PrivateGetCapitalConfigGetall = Entry('capital/config/getall', ['wallets', 'v1', 'private'], 'GET', {'cost': 3})
|
61
|
+
wallets_v1_private_get_capital_deposit_address = walletsV1PrivateGetCapitalDepositAddress = Entry('capital/deposit/address', ['wallets', 'v1', 'private'], 'GET', {'cost': 1})
|
62
|
+
wallets_v1_private_get_capital_innertransfer_records = walletsV1PrivateGetCapitalInnerTransferRecords = Entry('capital/innerTransfer/records', ['wallets', 'v1', 'private'], 'GET', {'cost': 1})
|
63
|
+
wallets_v1_private_get_capital_subaccount_deposit_address = walletsV1PrivateGetCapitalSubAccountDepositAddress = Entry('capital/subAccount/deposit/address', ['wallets', 'v1', 'private'], 'GET', {'cost': 1})
|
64
|
+
wallets_v1_private_get_capital_deposit_subhisrec = walletsV1PrivateGetCapitalDepositSubHisrec = Entry('capital/deposit/subHisrec', ['wallets', 'v1', 'private'], 'GET', {'cost': 1})
|
65
|
+
wallets_v1_private_get_capital_subaccount_innertransfer_records = walletsV1PrivateGetCapitalSubAccountInnerTransferRecords = Entry('capital/subAccount/innerTransfer/records', ['wallets', 'v1', 'private'], 'GET', {'cost': 1})
|
60
66
|
wallets_v1_private_post_capital_withdraw_apply = walletsV1PrivatePostCapitalWithdrawApply = Entry('capital/withdraw/apply', ['wallets', 'v1', 'private'], 'POST', {'cost': 3})
|
61
67
|
wallets_v1_private_post_capital_innertransfer_apply = walletsV1PrivatePostCapitalInnerTransferApply = Entry('capital/innerTransfer/apply', ['wallets', 'v1', 'private'], 'POST', {'cost': 3})
|
62
68
|
wallets_v1_private_post_capital_subaccountinnertransfer_apply = walletsV1PrivatePostCapitalSubAccountInnerTransferApply = Entry('capital/subAccountInnerTransfer/apply', ['wallets', 'v1', 'private'], 'POST', {'cost': 3})
|
69
|
+
wallets_v1_private_post_capital_deposit_createsubaddress = walletsV1PrivatePostCapitalDepositCreateSubAddress = Entry('capital/deposit/createSubAddress', ['wallets', 'v1', 'private'], 'POST', {'cost': 1})
|
63
70
|
subaccount_v1_private_get_list = subAccountV1PrivateGetList = Entry('list', ['subAccount', 'v1', 'private'], 'GET', {'cost': 3})
|
64
71
|
subaccount_v1_private_get_assets = subAccountV1PrivateGetAssets = Entry('assets', ['subAccount', 'v1', 'private'], 'GET', {'cost': 3})
|
72
|
+
subaccount_v1_private_get_apikey_query = subAccountV1PrivateGetApiKeyQuery = Entry('apiKey/query', ['subAccount', 'v1', 'private'], 'GET', {'cost': 1})
|
65
73
|
subaccount_v1_private_post_create = subAccountV1PrivatePostCreate = Entry('create', ['subAccount', 'v1', 'private'], 'POST', {'cost': 3})
|
66
74
|
subaccount_v1_private_post_apikey_create = subAccountV1PrivatePostApiKeyCreate = Entry('apiKey/create', ['subAccount', 'v1', 'private'], 'POST', {'cost': 3})
|
67
75
|
subaccount_v1_private_post_apikey_edit = subAccountV1PrivatePostApiKeyEdit = Entry('apiKey/edit', ['subAccount', 'v1', 'private'], 'POST', {'cost': 3})
|
68
76
|
subaccount_v1_private_post_apikey_del = subAccountV1PrivatePostApiKeyDel = Entry('apiKey/del', ['subAccount', 'v1', 'private'], 'POST', {'cost': 3})
|
69
77
|
subaccount_v1_private_post_updatestatus = subAccountV1PrivatePostUpdateStatus = Entry('updateStatus', ['subAccount', 'v1', 'private'], 'POST', {'cost': 3})
|
70
|
-
|
78
|
+
account_v1_private_get_uid = accountV1PrivateGetUid = Entry('uid', ['account', 'v1', 'private'], 'GET', {'cost': 1})
|
71
79
|
account_v1_private_post_innertransfer_authorizesubaccount = accountV1PrivatePostInnerTransferAuthorizeSubAccount = Entry('innerTransfer/authorizeSubAccount', ['account', 'v1', 'private'], 'POST', {'cost': 3})
|
80
|
+
copytrading_v1_private_get_swap_trace_currenttrack = copyTradingV1PrivateGetSwapTraceCurrentTrack = Entry('swap/trace/currentTrack', ['copyTrading', 'v1', 'private'], 'GET', {'cost': 1})
|
81
|
+
copytrading_v1_private_post_swap_trace_closetrackorder = copyTradingV1PrivatePostSwapTraceCloseTrackOrder = Entry('swap/trace/closeTrackOrder', ['copyTrading', 'v1', 'private'], 'POST', {'cost': 1})
|
82
|
+
copytrading_v1_private_post_swap_trace_settpsl = copyTradingV1PrivatePostSwapTraceSetTPSL = Entry('swap/trace/setTPSL', ['copyTrading', 'v1', 'private'], 'POST', {'cost': 1})
|
83
|
+
api_v3_private_get_asset_transfer = apiV3PrivateGetAssetTransfer = Entry('asset/transfer', ['api', 'v3', 'private'], 'GET', {'cost': 1})
|
84
|
+
api_v3_private_get_capital_deposit_hisrec = apiV3PrivateGetCapitalDepositHisrec = Entry('capital/deposit/hisrec', ['api', 'v3', 'private'], 'GET', {'cost': 1})
|
85
|
+
api_v3_private_get_capital_withdraw_history = apiV3PrivateGetCapitalWithdrawHistory = Entry('capital/withdraw/history', ['api', 'v3', 'private'], 'GET', {'cost': 1})
|
86
|
+
api_v3_private_post_post_asset_transfer = apiV3PrivatePostPostAssetTransfer = Entry('post/asset/transfer', ['api', 'v3', 'private'], 'POST', {'cost': 1})
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.0.
|
7
|
+
__version__ = '4.0.102'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -85,7 +85,6 @@ from ccxt.async_support.bitstamp import bitstamp
|
|
85
85
|
from ccxt.async_support.bitstamp1 import bitstamp1 # noqa: F401
|
86
86
|
from ccxt.async_support.bittrex import bittrex # noqa: F401
|
87
87
|
from ccxt.async_support.bitvavo import bitvavo # noqa: F401
|
88
|
-
from ccxt.async_support.bkex import bkex # noqa: F401
|
89
88
|
from ccxt.async_support.bl3p import bl3p # noqa: F401
|
90
89
|
from ccxt.async_support.blockchaincom import blockchaincom # noqa: F401
|
91
90
|
from ccxt.async_support.btcalpha import btcalpha # noqa: F401
|
@@ -193,7 +192,6 @@ exchanges = [
|
|
193
192
|
'bitstamp1',
|
194
193
|
'bittrex',
|
195
194
|
'bitvavo',
|
196
|
-
'bkex',
|
197
195
|
'bl3p',
|
198
196
|
'blockchaincom',
|
199
197
|
'btcalpha',
|
@@ -426,6 +426,7 @@ class binance(Exchange, ImplicitAPI):
|
|
426
426
|
'portfolio/interest-history': 0.6667,
|
427
427
|
'portfolio/asset-index-price': 0.1,
|
428
428
|
'portfolio/repay-futures-switch': 3, # Weight(IP): 30 => cost = 0.1 * 30 = 3
|
429
|
+
'portfolio/margin-asset-leverage': 5, # Weight(IP): 50 => cost = 0.1 * 50 = 5
|
429
430
|
# staking
|
430
431
|
'staking/productList': 0.1,
|
431
432
|
'staking/position': 0.1,
|
@@ -438,6 +439,11 @@ class binance(Exchange, ImplicitAPI):
|
|
438
439
|
'lending/auto-invest/plan/list': 0.1,
|
439
440
|
'lending/auto-invest/plan/id': 0.1,
|
440
441
|
'lending/auto-invest/history/list': 0.1,
|
442
|
+
'lending/auto-invest/index/info': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
|
443
|
+
'lending/auto-invest/index/user-summary': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
|
444
|
+
'lending/auto-invest/one-off/status': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
|
445
|
+
'lending/auto-invest/redeem/history': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
|
446
|
+
'lending/auto-invest/rebalance/history': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
|
441
447
|
# simple earn
|
442
448
|
'simple-earn/flexible/list': 15,
|
443
449
|
'simple-earn/locked/list': 15,
|
@@ -565,6 +571,8 @@ class binance(Exchange, ImplicitAPI):
|
|
565
571
|
'lending/auto-invest/plan/add': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
|
566
572
|
'lending/auto-invest/plan/edit': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
|
567
573
|
'lending/auto-invest/plan/edit-status': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
|
574
|
+
'lending/auto-invest/one-off': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
|
575
|
+
'lending/auto-invest/redeem': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
|
568
576
|
# simple earn
|
569
577
|
'simple-earn/flexible/subscribe': 0.1,
|
570
578
|
'simple-earn/locked/subscribe': 0.1,
|
@@ -154,6 +154,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
154
154
|
'quote/klines': 1,
|
155
155
|
'quote/openInterest': 1,
|
156
156
|
'quote/ticker': 1,
|
157
|
+
'quote/bookTicker': 1,
|
157
158
|
},
|
158
159
|
},
|
159
160
|
'private': {
|
@@ -205,11 +206,17 @@ class bingx(Exchange, ImplicitAPI):
|
|
205
206
|
'private': {
|
206
207
|
'get': {
|
207
208
|
'capital/config/getall': 3,
|
209
|
+
'capital/deposit/address': 1,
|
210
|
+
'capital/innerTransfer/records': 1,
|
211
|
+
'capital/subAccount/deposit/address': 1,
|
212
|
+
'capital/deposit/subHisrec': 1,
|
213
|
+
'capital/subAccount/innerTransfer/records': 1,
|
208
214
|
},
|
209
215
|
'post': {
|
210
216
|
'capital/withdraw/apply': 3,
|
211
217
|
'capital/innerTransfer/apply': 3,
|
212
218
|
'capital/subAccountInnerTransfer/apply': 3,
|
219
|
+
'capital/deposit/createSubAddress': 1,
|
213
220
|
},
|
214
221
|
},
|
215
222
|
},
|
@@ -220,6 +227,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
220
227
|
'get': {
|
221
228
|
'list': 3,
|
222
229
|
'assets': 3,
|
230
|
+
'apiKey/query': 1,
|
223
231
|
},
|
224
232
|
'post': {
|
225
233
|
'create': 3,
|
@@ -234,13 +242,42 @@ class bingx(Exchange, ImplicitAPI):
|
|
234
242
|
'account': {
|
235
243
|
'v1': {
|
236
244
|
'private': {
|
245
|
+
'get': {
|
246
|
+
'uid': 1,
|
247
|
+
},
|
237
248
|
'post': {
|
238
|
-
'uid': 3,
|
239
249
|
'innerTransfer/authorizeSubAccount': 3,
|
240
250
|
},
|
241
251
|
},
|
242
252
|
},
|
243
253
|
},
|
254
|
+
'copyTrading': {
|
255
|
+
'v1': {
|
256
|
+
'private': {
|
257
|
+
'get': {
|
258
|
+
'swap/trace/currentTrack': 1,
|
259
|
+
},
|
260
|
+
'post': {
|
261
|
+
'swap/trace/closeTrackOrder': 1,
|
262
|
+
'swap/trace/setTPSL': 1,
|
263
|
+
},
|
264
|
+
},
|
265
|
+
},
|
266
|
+
},
|
267
|
+
'api': {
|
268
|
+
'v3': {
|
269
|
+
'private': {
|
270
|
+
'get': {
|
271
|
+
'asset/transfer': 1,
|
272
|
+
'capital/deposit/hisrec': 1,
|
273
|
+
'capital/withdraw/history': 1,
|
274
|
+
},
|
275
|
+
'post': {
|
276
|
+
'post/asset/transfer': 1,
|
277
|
+
},
|
278
|
+
},
|
279
|
+
},
|
280
|
+
},
|
244
281
|
},
|
245
282
|
'timeframes': {
|
246
283
|
'1m': '1m',
|
@@ -1438,9 +1475,9 @@ class bingx(Exchange, ImplicitAPI):
|
|
1438
1475
|
:param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
|
1439
1476
|
:param dict [params]: extra parameters specific to the bingx api endpoint
|
1440
1477
|
:param bool [params.postOnly]: True to place a post only order
|
1441
|
-
:param
|
1442
|
-
:param float [params.stopLossPrice]: stop loss trigger price
|
1443
|
-
:param float [params.takeProfitPrice]: take profit trigger price
|
1478
|
+
:param float [params.triggerPrice]: *swap only* triggerPrice at which the attached take profit / stop loss order will be triggered
|
1479
|
+
:param float [params.stopLossPrice]: *swap only* stop loss trigger price
|
1480
|
+
:param float [params.takeProfitPrice]: *swap only* take profit trigger price
|
1444
1481
|
:returns dict: an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
|
1445
1482
|
"""
|
1446
1483
|
await self.load_markets()
|
@@ -76,6 +76,9 @@ class bitmart(Exchange, ImplicitAPI):
|
|
76
76
|
'fetchDepositWithdrawFee': True,
|
77
77
|
'fetchDepositWithdrawFees': False,
|
78
78
|
'fetchFundingHistory': None,
|
79
|
+
'fetchFundingRate': True,
|
80
|
+
'fetchFundingRateHistory': False,
|
81
|
+
'fetchFundingRates': False,
|
79
82
|
'fetchMarginMode': False,
|
80
83
|
'fetchMarkets': True,
|
81
84
|
'fetchMyTrades': True,
|
@@ -3084,6 +3087,69 @@ class bitmart(Exchange, ImplicitAPI):
|
|
3084
3087
|
}
|
3085
3088
|
return await self.privatePostContractPrivateSubmitLeverage(self.extend(request, params))
|
3086
3089
|
|
3090
|
+
async def fetch_funding_rate(self, symbol: str, params={}):
|
3091
|
+
"""
|
3092
|
+
fetch the current funding rate
|
3093
|
+
see https://developer-pro.bitmart.com/en/futures/#get-current-funding-rate
|
3094
|
+
:param str symbol: unified market symbol
|
3095
|
+
:param dict [params]: extra parameters specific to the bitmart api endpoint
|
3096
|
+
:returns dict: a `funding rate structure <https://github.com/ccxt/ccxt/wiki/Manual#funding-rate-structure>`
|
3097
|
+
"""
|
3098
|
+
await self.load_markets()
|
3099
|
+
market = self.market(symbol)
|
3100
|
+
if not market['swap']:
|
3101
|
+
raise BadSymbol(self.id + ' fetchFundingRate() supports swap contracts only')
|
3102
|
+
request = {
|
3103
|
+
'symbol': market['id'],
|
3104
|
+
}
|
3105
|
+
response = await self.publicGetContractPublicFundingRate(self.extend(request, params))
|
3106
|
+
#
|
3107
|
+
# {
|
3108
|
+
# "code": 1000,
|
3109
|
+
# "message": "Ok",
|
3110
|
+
# "data": {
|
3111
|
+
# "timestamp": 1695184410697,
|
3112
|
+
# "symbol": "BTCUSDT",
|
3113
|
+
# "rate_value": "-0.00002614",
|
3114
|
+
# "expected_rate": "-0.00002"
|
3115
|
+
# },
|
3116
|
+
# "trace": "4cad855074654097ac7ba5257c47305d.54.16951844206655589"
|
3117
|
+
# }
|
3118
|
+
#
|
3119
|
+
data = self.safe_value(response, 'data', {})
|
3120
|
+
return self.parse_funding_rate(data, market)
|
3121
|
+
|
3122
|
+
def parse_funding_rate(self, contract, market=None):
|
3123
|
+
#
|
3124
|
+
# {
|
3125
|
+
# "timestamp": 1695184410697,
|
3126
|
+
# "symbol": "BTCUSDT",
|
3127
|
+
# "rate_value": "-0.00002614",
|
3128
|
+
# "expected_rate": "-0.00002"
|
3129
|
+
# }
|
3130
|
+
#
|
3131
|
+
marketId = self.safe_string(contract, 'symbol')
|
3132
|
+
timestamp = self.safe_integer(contract, 'timestamp')
|
3133
|
+
return {
|
3134
|
+
'info': contract,
|
3135
|
+
'symbol': self.safe_symbol(marketId, market),
|
3136
|
+
'markPrice': None,
|
3137
|
+
'indexPrice': None,
|
3138
|
+
'interestRate': None,
|
3139
|
+
'estimatedSettlePrice': None,
|
3140
|
+
'timestamp': timestamp,
|
3141
|
+
'datetime': self.iso8601(timestamp),
|
3142
|
+
'fundingRate': self.safe_number(contract, 'expected_rate'),
|
3143
|
+
'fundingTimestamp': None,
|
3144
|
+
'fundingDatetime': None,
|
3145
|
+
'nextFundingRate': None,
|
3146
|
+
'nextFundingTimestamp': None,
|
3147
|
+
'nextFundingDatetime': None,
|
3148
|
+
'previousFundingRate': self.safe_number(contract, 'rate_value'),
|
3149
|
+
'previousFundingTimestamp': None,
|
3150
|
+
'previousFundingDatetime': None,
|
3151
|
+
}
|
3152
|
+
|
3087
3153
|
def nonce(self):
|
3088
3154
|
return self.milliseconds()
|
3089
3155
|
|
@@ -35,6 +35,9 @@ class bl3p(Exchange, ImplicitAPI):
|
|
35
35
|
'cancelOrder': True,
|
36
36
|
'createOrder': True,
|
37
37
|
'createReduceOnlyOrder': False,
|
38
|
+
'createStopLimitOrder': False,
|
39
|
+
'createStopMarketOrder': False,
|
40
|
+
'createStopOrder': False,
|
38
41
|
'fetchBalance': True,
|
39
42
|
'fetchBorrowRate': False,
|
40
43
|
'fetchBorrowRateHistories': False,
|
@@ -353,12 +356,17 @@ class bl3p(Exchange, ImplicitAPI):
|
|
353
356
|
async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount, price=None, params={}):
|
354
357
|
"""
|
355
358
|
create a trade order
|
359
|
+
see https://github.com/BitonicNL/bl3p-api/blob/master/examples/nodejs/example.md#21---create-an-order
|
356
360
|
:param str symbol: unified symbol of the market to create an order in
|
357
361
|
:param str type: 'market' or 'limit'
|
358
362
|
:param str side: 'buy' or 'sell'
|
359
363
|
:param float amount: how much of currency you want to trade in units of base currency
|
360
364
|
:param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
|
361
365
|
:param dict [params]: extra parameters specific to the bl3p api endpoint
|
366
|
+
*
|
367
|
+
* EXCHANGE SPECIFIC PARAMETERS
|
368
|
+
:param int [params.amount_funds]: maximal EUR amount to spend(*1e5)
|
369
|
+
:param str [params.fee_currency]: 'EUR' or 'BTC'
|
362
370
|
:returns dict: an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
|
363
371
|
"""
|
364
372
|
market = self.market(symbol)
|