ccxt 4.3.19__tar.gz → 4.3.20__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-4.3.19/ccxt.egg-info → ccxt-4.3.20}/PKG-INFO +4 -4
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/__init__.py +1 -1
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitget.py +3 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/base/exchange.py +3 -1
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitget.py +3 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bybit.py +35 -9
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/coinex.py +38 -23
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/phemex.py +14 -6
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/base/exchange.py +3 -1
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitget.py +3 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bybit.py +35 -9
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/coinex.py +38 -23
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/phemex.py +14 -6
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/htx.py +12 -6
- {ccxt-4.3.19 → ccxt-4.3.20/ccxt.egg-info}/PKG-INFO +4 -4
- {ccxt-4.3.19 → ccxt-4.3.20}/package.json +1 -1
- {ccxt-4.3.19 → ccxt-4.3.20}/LICENSE.txt +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/MANIFEST.in +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/README.rst +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/coinbasepro.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/tradeogre.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/woofipro.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/ace.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/alpaca.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/ascendex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/binance.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bingx.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/coinbaseinternational.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/coinbasepro.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/gate.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/htx.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/hyperliquid.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/kucoin.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/okx.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/tradeogre.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/woofipro.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/base/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/base/errors.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/base/precise.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/base/types.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bequant.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bigone.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/binance.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/binanceus.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bingx.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bit2c.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitbank.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitbay.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitbns.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitfinex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitflyer.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bithumb.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitmart.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitmex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitopro.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitpanda.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitrue.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitso.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitstamp.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitteam.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bitvavo.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/bl3p.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/blofin.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/btcalpha.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/btcbox.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/btcturk.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/cex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/coinbase.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/coinbaseinternational.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/coinbasepro.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/coincheck.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/coinlist.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/coinmate.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/coinmetro.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/coinone.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/coinsph.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/coinspot.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/cryptocom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/currencycom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/delta.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/deribit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/digifinex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/exmo.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/fmfwio.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/gate.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/gateio.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/gemini.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/hitbtc.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/hollaex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/htx.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/huobi.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/huobijp.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/hyperliquid.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/idex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/independentreserve.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/indodax.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/kraken.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/kucoin.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/kuna.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/latoken.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/lbank.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/luno.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/lykke.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/mercado.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/mexc.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/ndax.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/novadax.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/oceanex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/okcoin.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/okx.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/onetrading.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/p2b.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/paymium.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/poloniex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/binance.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/bitfinex2.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/cex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/coinbasepro.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/gate.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/idex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/luno.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/okx.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/probit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/woo.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/pro/woofipro.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/probit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/__init__.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_account.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_balance.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_borrow_interest.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_borrow_rate.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_calculate_fee.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_crypto.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_currency.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_datetime.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_decimal_to_precision.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_deep_extend.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_funding_rate_history.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_last_price.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_ledger_entry.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_ledger_item.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_leverage_tier.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_margin_mode.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_margin_modification.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_market.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_number.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_ohlcv.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_open_interest.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_order.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_order_book.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_position.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_shared_methods.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_status.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_throttle.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_ticker.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_trade.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_trading_fee.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/base/test_transaction.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/test_async.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/test/test_sync.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/timex.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/tradeogre.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/upbit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/wazirx.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/whitebit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/woo.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/woofipro.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/yobit.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/zaif.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt/zonda.py +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/setup.cfg +0 -0
- {ccxt-4.3.19 → ccxt-4.3.20}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.3.
|
3
|
+
Version: 4.3.20
|
4
4
|
Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges
|
5
5
|
Home-page: https://ccxt.com
|
6
6
|
Author: Igor Kroitor
|
@@ -228,13 +228,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
228
228
|
|
229
229
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
230
230
|
|
231
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
232
|
-
* unpkg: https://unpkg.com/ccxt@4.3.
|
231
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.20/dist/ccxt.browser.js
|
232
|
+
* unpkg: https://unpkg.com/ccxt@4.3.20/dist/ccxt.browser.js
|
233
233
|
|
234
234
|
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
235
|
|
236
236
|
```HTML
|
237
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
237
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.20/dist/ccxt.browser.js"></script>
|
238
238
|
```
|
239
239
|
|
240
240
|
Creates a global `ccxt` object:
|
@@ -101,6 +101,9 @@ class ImplicitAPI:
|
|
101
101
|
private_spot_get_v2_spot_account_subaccount_assets = privateSpotGetV2SpotAccountSubaccountAssets = Entry('v2/spot/account/subaccount-assets', ['private', 'spot'], 'GET', {'cost': 2})
|
102
102
|
private_spot_get_v2_spot_account_bills = privateSpotGetV2SpotAccountBills = Entry('v2/spot/account/bills', ['private', 'spot'], 'GET', {'cost': 2})
|
103
103
|
private_spot_get_v2_spot_account_transferrecords = privateSpotGetV2SpotAccountTransferRecords = Entry('v2/spot/account/transferRecords', ['private', 'spot'], 'GET', {'cost': 1})
|
104
|
+
private_spot_get_v2_account_funding_assets = privateSpotGetV2AccountFundingAssets = Entry('v2/account/funding-assets', ['private', 'spot'], 'GET', {'cost': 2})
|
105
|
+
private_spot_get_v2_account_bot_assets = privateSpotGetV2AccountBotAssets = Entry('v2/account/bot-assets', ['private', 'spot'], 'GET', {'cost': 2})
|
106
|
+
private_spot_get_v2_account_all_account_balance = privateSpotGetV2AccountAllAccountBalance = Entry('v2/account/all-account-balance', ['private', 'spot'], 'GET', {'cost': 20})
|
104
107
|
private_spot_get_v2_spot_wallet_deposit_address = privateSpotGetV2SpotWalletDepositAddress = Entry('v2/spot/wallet/deposit-address', ['private', 'spot'], 'GET', {'cost': 2})
|
105
108
|
private_spot_get_v2_spot_wallet_deposit_records = privateSpotGetV2SpotWalletDepositRecords = Entry('v2/spot/wallet/deposit-records', ['private', 'spot'], 'GET', {'cost': 2})
|
106
109
|
private_spot_get_v2_spot_wallet_withdrawal_records = privateSpotGetV2SpotWalletWithdrawalRecords = Entry('v2/spot/wallet/withdrawal-records', ['private', 'spot'], 'GET', {'cost': 2})
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '4.3.
|
5
|
+
__version__ = '4.3.20'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -1841,6 +1841,8 @@ class Exchange(BaseExchange):
|
|
1841
1841
|
response = None
|
1842
1842
|
if method == 'fetchAccounts':
|
1843
1843
|
response = await getattr(self, method)(params)
|
1844
|
+
elif method == 'getLeverageTiersPaginated':
|
1845
|
+
response = await getattr(self, method)(symbol, params)
|
1844
1846
|
else:
|
1845
1847
|
response = await getattr(self, method)(symbol, since, maxEntriesPerRequest, params)
|
1846
1848
|
errors = 0
|
@@ -332,6 +332,9 @@ class bitget(Exchange, ImplicitAPI):
|
|
332
332
|
'v2/spot/account/subaccount-assets': 2,
|
333
333
|
'v2/spot/account/bills': 2,
|
334
334
|
'v2/spot/account/transferRecords': 1,
|
335
|
+
'v2/account/funding-assets': 2,
|
336
|
+
'v2/account/bot-assets': 2,
|
337
|
+
'v2/account/all-account-balance': 20,
|
335
338
|
'v2/spot/wallet/deposit-address': 2,
|
336
339
|
'v2/spot/wallet/deposit-records': 2,
|
337
340
|
'v2/spot/wallet/withdrawal-records': 2,
|
@@ -7582,6 +7582,33 @@ class bybit(Exchange, ImplicitAPI):
|
|
7582
7582
|
'datetime': self.iso8601(timestamp),
|
7583
7583
|
})
|
7584
7584
|
|
7585
|
+
async def get_leverage_tiers_paginated(self, symbol: Str = None, params={}):
|
7586
|
+
await self.load_markets()
|
7587
|
+
market = None
|
7588
|
+
if symbol is not None:
|
7589
|
+
market = self.market(symbol)
|
7590
|
+
paginate = False
|
7591
|
+
paginate, params = self.handle_option_and_params(params, 'getLeverageTiersPaginated', 'paginate')
|
7592
|
+
if paginate:
|
7593
|
+
return await self.fetch_paginated_call_cursor('getLeverageTiersPaginated', symbol, None, None, params, 'nextPageCursor', 'cursor', None, 100)
|
7594
|
+
subType = None
|
7595
|
+
subType, params = self.handle_sub_type_and_params('getLeverageTiersPaginated', market, params, 'linear')
|
7596
|
+
request = {
|
7597
|
+
'category': subType,
|
7598
|
+
}
|
7599
|
+
response = await self.publicGetV5MarketRiskLimit(self.extend(request, params))
|
7600
|
+
result = self.add_pagination_cursor_to_result(response)
|
7601
|
+
first = self.safe_dict(result, 0)
|
7602
|
+
total = len(result)
|
7603
|
+
lastIndex = total - 1
|
7604
|
+
last = self.safe_dict(result, lastIndex)
|
7605
|
+
cursorValue = self.safe_string(first, 'nextPageCursor')
|
7606
|
+
last['info'] = {
|
7607
|
+
'nextPageCursor': cursorValue,
|
7608
|
+
}
|
7609
|
+
result[lastIndex] = last
|
7610
|
+
return result
|
7611
|
+
|
7585
7612
|
async def fetch_leverage_tiers(self, symbols: Strings = None, params={}):
|
7586
7613
|
"""
|
7587
7614
|
:see: https://bybit-exchange.github.io/docs/v5/market/risk-limit
|
@@ -7589,22 +7616,18 @@ class bybit(Exchange, ImplicitAPI):
|
|
7589
7616
|
:param str[] [symbols]: a list of unified market symbols
|
7590
7617
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
7591
7618
|
:param str [params.subType]: market subType, ['linear', 'inverse'], default is 'linear'
|
7619
|
+
:param boolean [params.paginate]: default False, when True will automatically paginate by calling self endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
7592
7620
|
:returns dict: a dictionary of `leverage tiers structures <https://docs.ccxt.com/#/?id=leverage-tiers-structure>`, indexed by market symbols
|
7593
7621
|
"""
|
7594
7622
|
await self.load_markets()
|
7595
7623
|
market = None
|
7624
|
+
symbol = None
|
7596
7625
|
if symbols is not None:
|
7597
7626
|
market = self.market(symbols[0])
|
7598
7627
|
if market['spot']:
|
7599
7628
|
raise NotSupported(self.id + ' fetchLeverageTiers() is not supported for spot market')
|
7600
|
-
|
7601
|
-
|
7602
|
-
request = {
|
7603
|
-
'category': subType,
|
7604
|
-
}
|
7605
|
-
response = await self.publicGetV5MarketRiskLimit(self.extend(request, params))
|
7606
|
-
result = self.safe_dict(response, 'result', {})
|
7607
|
-
data = self.safe_list(result, 'list', [])
|
7629
|
+
symbol = market['symbol']
|
7630
|
+
data = await self.get_leverage_tiers_paginated(symbol, self.extend({'paginate': True, 'paginationCalls': 20}, params))
|
7608
7631
|
symbols = self.market_symbols(symbols)
|
7609
7632
|
return self.parse_leverage_tiers(data, symbols, 'symbol')
|
7610
7633
|
|
@@ -7630,9 +7653,12 @@ class bybit(Exchange, ImplicitAPI):
|
|
7630
7653
|
for i in range(0, len(keys)):
|
7631
7654
|
marketId = keys[i]
|
7632
7655
|
entry = grouped[marketId]
|
7656
|
+
for j in range(0, len(entry)):
|
7657
|
+
id = self.safe_integer(entry[j], 'id')
|
7658
|
+
entry[j]['id'] = id
|
7633
7659
|
market = self.safe_market(marketId, None, None, 'contract')
|
7634
7660
|
symbol = market['symbol']
|
7635
|
-
tiers[symbol] = self.parse_market_leverage_tiers(entry, market)
|
7661
|
+
tiers[symbol] = self.parse_market_leverage_tiers(self.sort_by(entry, 'id'), market)
|
7636
7662
|
return tiers
|
7637
7663
|
|
7638
7664
|
def parse_market_leverage_tiers(self, info, market: Market = None):
|
@@ -3925,47 +3925,62 @@ class coinex(Exchange, ImplicitAPI):
|
|
3925
3925
|
async def fetch_leverage_tiers(self, symbols: Strings = None, params={}):
|
3926
3926
|
"""
|
3927
3927
|
retrieve information on the maximum leverage, and maintenance margin for trades of varying trade sizes
|
3928
|
-
:see: https://
|
3928
|
+
:see: https://docs.coinex.com/api/v2/futures/market/http/list-market-position-level
|
3929
3929
|
:param str[]|None symbols: list of unified market symbols
|
3930
3930
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
3931
3931
|
:returns dict: a dictionary of `leverage tiers structures <https://docs.ccxt.com/#/?id=leverage-tiers-structure>`, indexed by market symbols
|
3932
3932
|
"""
|
3933
3933
|
await self.load_markets()
|
3934
|
-
|
3934
|
+
request = {}
|
3935
|
+
if symbols is not None:
|
3936
|
+
marketIds = self.market_ids(symbols)
|
3937
|
+
request['market'] = ','.join(marketIds)
|
3938
|
+
response = await self.v2PublicGetFuturesPositionLevel(self.extend(request, params))
|
3935
3939
|
#
|
3936
3940
|
# {
|
3937
3941
|
# "code": 0,
|
3938
|
-
# "data":
|
3939
|
-
#
|
3940
|
-
#
|
3941
|
-
#
|
3942
|
-
#
|
3943
|
-
#
|
3944
|
-
#
|
3945
|
-
#
|
3946
|
-
#
|
3947
|
-
#
|
3948
|
-
#
|
3942
|
+
# "data": [
|
3943
|
+
# {
|
3944
|
+
# "level": [
|
3945
|
+
# {
|
3946
|
+
# "amount": "20001",
|
3947
|
+
# "leverage": "20",
|
3948
|
+
# "maintenance_margin_rate": "0.02",
|
3949
|
+
# "min_initial_margin_rate": "0.05"
|
3950
|
+
# },
|
3951
|
+
# {
|
3952
|
+
# "amount": "50001",
|
3953
|
+
# "leverage": "10",
|
3954
|
+
# "maintenance_margin_rate": "0.04",
|
3955
|
+
# "min_initial_margin_rate": "0.1"
|
3956
|
+
# },
|
3957
|
+
# ],
|
3958
|
+
# "market": "MINAUSDT"
|
3959
|
+
# },
|
3960
|
+
# ],
|
3949
3961
|
# "message": "OK"
|
3950
3962
|
# }
|
3951
3963
|
#
|
3952
|
-
data = self.
|
3953
|
-
return self.parse_leverage_tiers(data, symbols,
|
3964
|
+
data = self.safe_list(response, 'data', [])
|
3965
|
+
return self.parse_leverage_tiers(data, symbols, 'market')
|
3954
3966
|
|
3955
|
-
def parse_market_leverage_tiers(self,
|
3967
|
+
def parse_market_leverage_tiers(self, info, market: Market = None):
|
3956
3968
|
tiers = []
|
3969
|
+
brackets = self.safe_list(info, 'level', [])
|
3957
3970
|
minNotional = 0
|
3958
|
-
for
|
3959
|
-
|
3960
|
-
|
3971
|
+
for i in range(0, len(brackets)):
|
3972
|
+
tier = brackets[i]
|
3973
|
+
marketId = self.safe_string(info, 'market')
|
3974
|
+
market = self.safe_market(marketId, market, None, 'swap')
|
3975
|
+
maxNotional = self.safe_number(tier, 'amount')
|
3961
3976
|
tiers.append({
|
3962
|
-
'tier':
|
3977
|
+
'tier': self.sum(i, 1),
|
3963
3978
|
'currency': market['base'] if market['linear'] else market['quote'],
|
3964
3979
|
'minNotional': minNotional,
|
3965
3980
|
'maxNotional': maxNotional,
|
3966
|
-
'maintenanceMarginRate': self.safe_number(
|
3967
|
-
'maxLeverage': self.safe_integer(
|
3968
|
-
'info':
|
3981
|
+
'maintenanceMarginRate': self.safe_number(tier, 'maintenance_margin_rate'),
|
3982
|
+
'maxLeverage': self.safe_integer(tier, 'leverage'),
|
3983
|
+
'info': tier,
|
3969
3984
|
})
|
3970
3985
|
minNotional = maxNotional
|
3971
3986
|
return tiers
|
@@ -2347,12 +2347,14 @@ class phemex(Exchange, ImplicitAPI):
|
|
2347
2347
|
"""
|
2348
2348
|
create a trade order
|
2349
2349
|
:see: https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#place-order
|
2350
|
+
:see: https://phemex-docs.github.io/#place-order-http-put-prefered-3
|
2350
2351
|
:param str symbol: unified symbol of the market to create an order in
|
2351
2352
|
:param str type: 'market' or 'limit'
|
2352
2353
|
:param str side: 'buy' or 'sell'
|
2353
2354
|
:param float amount: how much of currency you want to trade in units of base currency
|
2354
2355
|
:param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
|
2355
2356
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
2357
|
+
:param float [params.trigger]: trigger price for conditional orders
|
2356
2358
|
:param dict [params.takeProfit]: *swap only* *takeProfit object in params* containing the triggerPrice at which the attached take profit order will be triggered(perpetual swap markets only)
|
2357
2359
|
:param float [params.takeProfit.triggerPrice]: take profit trigger price
|
2358
2360
|
:param dict [params.stopLoss]: *swap only* *stopLoss object in params* containing the triggerPrice at which the attached stop loss order will be triggered(perpetual swap markets only)
|
@@ -2363,7 +2365,7 @@ class phemex(Exchange, ImplicitAPI):
|
|
2363
2365
|
market = self.market(symbol)
|
2364
2366
|
requestSide = self.capitalize(side)
|
2365
2367
|
type = self.capitalize(type)
|
2366
|
-
reduceOnly = self.
|
2368
|
+
reduceOnly = self.safe_bool(params, 'reduceOnly')
|
2367
2369
|
request = {
|
2368
2370
|
# common
|
2369
2371
|
'symbol': market['id'],
|
@@ -2404,18 +2406,24 @@ class phemex(Exchange, ImplicitAPI):
|
|
2404
2406
|
else:
|
2405
2407
|
request['clOrdID'] = clientOrderId
|
2406
2408
|
params = self.omit(params, ['clOrdID', 'clientOrderId'])
|
2407
|
-
|
2408
|
-
if
|
2409
|
+
triggerPrice = self.safe_string_n(params, ['stopPx', 'stopPrice', 'triggerPrice'])
|
2410
|
+
if triggerPrice is not None:
|
2409
2411
|
if market['settle'] == 'USDT':
|
2410
|
-
request['stopPxRp'] = self.price_to_precision(symbol,
|
2412
|
+
request['stopPxRp'] = self.price_to_precision(symbol, triggerPrice)
|
2411
2413
|
else:
|
2412
|
-
request['stopPxEp'] = self.to_ep(
|
2414
|
+
request['stopPxEp'] = self.to_ep(triggerPrice, market)
|
2413
2415
|
params = self.omit(params, ['stopPx', 'stopPrice', 'stopLoss', 'takeProfit', 'triggerPrice'])
|
2414
2416
|
if market['spot']:
|
2415
2417
|
qtyType = self.safe_value(params, 'qtyType', 'ByBase')
|
2416
2418
|
if (type == 'Market') or (type == 'Stop') or (type == 'MarketIfTouched'):
|
2417
2419
|
if price is not None:
|
2418
2420
|
qtyType = 'ByQuote'
|
2421
|
+
if triggerPrice is not None:
|
2422
|
+
if type == 'Limit':
|
2423
|
+
request['ordType'] = 'StopLimit'
|
2424
|
+
elif type == 'Market':
|
2425
|
+
request['ordType'] = 'Stop'
|
2426
|
+
request['trigger'] = 'ByLastPrice'
|
2419
2427
|
request['qtyType'] = qtyType
|
2420
2428
|
if qtyType == 'ByQuote':
|
2421
2429
|
cost = self.safe_number(params, 'cost')
|
@@ -2446,7 +2454,7 @@ class phemex(Exchange, ImplicitAPI):
|
|
2446
2454
|
request['orderQtyRq'] = amount
|
2447
2455
|
else:
|
2448
2456
|
request['orderQty'] = self.parse_to_int(amount)
|
2449
|
-
if
|
2457
|
+
if triggerPrice is not None:
|
2450
2458
|
triggerType = self.safe_string(params, 'triggerType', 'ByMarkPrice')
|
2451
2459
|
request['triggerType'] = triggerType
|
2452
2460
|
if stopLossDefined or takeProfitDefined:
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.3.
|
7
|
+
__version__ = '4.3.20'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -5559,6 +5559,8 @@ class Exchange(object):
|
|
5559
5559
|
response = None
|
5560
5560
|
if method == 'fetchAccounts':
|
5561
5561
|
response = getattr(self, method)(params)
|
5562
|
+
elif method == 'getLeverageTiersPaginated':
|
5563
|
+
response = getattr(self, method)(symbol, params)
|
5562
5564
|
else:
|
5563
5565
|
response = getattr(self, method)(symbol, since, maxEntriesPerRequest, params)
|
5564
5566
|
errors = 0
|
@@ -331,6 +331,9 @@ class bitget(Exchange, ImplicitAPI):
|
|
331
331
|
'v2/spot/account/subaccount-assets': 2,
|
332
332
|
'v2/spot/account/bills': 2,
|
333
333
|
'v2/spot/account/transferRecords': 1,
|
334
|
+
'v2/account/funding-assets': 2,
|
335
|
+
'v2/account/bot-assets': 2,
|
336
|
+
'v2/account/all-account-balance': 20,
|
334
337
|
'v2/spot/wallet/deposit-address': 2,
|
335
338
|
'v2/spot/wallet/deposit-records': 2,
|
336
339
|
'v2/spot/wallet/withdrawal-records': 2,
|
@@ -7581,6 +7581,33 @@ class bybit(Exchange, ImplicitAPI):
|
|
7581
7581
|
'datetime': self.iso8601(timestamp),
|
7582
7582
|
})
|
7583
7583
|
|
7584
|
+
def get_leverage_tiers_paginated(self, symbol: Str = None, params={}):
|
7585
|
+
self.load_markets()
|
7586
|
+
market = None
|
7587
|
+
if symbol is not None:
|
7588
|
+
market = self.market(symbol)
|
7589
|
+
paginate = False
|
7590
|
+
paginate, params = self.handle_option_and_params(params, 'getLeverageTiersPaginated', 'paginate')
|
7591
|
+
if paginate:
|
7592
|
+
return self.fetch_paginated_call_cursor('getLeverageTiersPaginated', symbol, None, None, params, 'nextPageCursor', 'cursor', None, 100)
|
7593
|
+
subType = None
|
7594
|
+
subType, params = self.handle_sub_type_and_params('getLeverageTiersPaginated', market, params, 'linear')
|
7595
|
+
request = {
|
7596
|
+
'category': subType,
|
7597
|
+
}
|
7598
|
+
response = self.publicGetV5MarketRiskLimit(self.extend(request, params))
|
7599
|
+
result = self.add_pagination_cursor_to_result(response)
|
7600
|
+
first = self.safe_dict(result, 0)
|
7601
|
+
total = len(result)
|
7602
|
+
lastIndex = total - 1
|
7603
|
+
last = self.safe_dict(result, lastIndex)
|
7604
|
+
cursorValue = self.safe_string(first, 'nextPageCursor')
|
7605
|
+
last['info'] = {
|
7606
|
+
'nextPageCursor': cursorValue,
|
7607
|
+
}
|
7608
|
+
result[lastIndex] = last
|
7609
|
+
return result
|
7610
|
+
|
7584
7611
|
def fetch_leverage_tiers(self, symbols: Strings = None, params={}):
|
7585
7612
|
"""
|
7586
7613
|
:see: https://bybit-exchange.github.io/docs/v5/market/risk-limit
|
@@ -7588,22 +7615,18 @@ class bybit(Exchange, ImplicitAPI):
|
|
7588
7615
|
:param str[] [symbols]: a list of unified market symbols
|
7589
7616
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
7590
7617
|
:param str [params.subType]: market subType, ['linear', 'inverse'], default is 'linear'
|
7618
|
+
:param boolean [params.paginate]: default False, when True will automatically paginate by calling self endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
7591
7619
|
:returns dict: a dictionary of `leverage tiers structures <https://docs.ccxt.com/#/?id=leverage-tiers-structure>`, indexed by market symbols
|
7592
7620
|
"""
|
7593
7621
|
self.load_markets()
|
7594
7622
|
market = None
|
7623
|
+
symbol = None
|
7595
7624
|
if symbols is not None:
|
7596
7625
|
market = self.market(symbols[0])
|
7597
7626
|
if market['spot']:
|
7598
7627
|
raise NotSupported(self.id + ' fetchLeverageTiers() is not supported for spot market')
|
7599
|
-
|
7600
|
-
|
7601
|
-
request = {
|
7602
|
-
'category': subType,
|
7603
|
-
}
|
7604
|
-
response = self.publicGetV5MarketRiskLimit(self.extend(request, params))
|
7605
|
-
result = self.safe_dict(response, 'result', {})
|
7606
|
-
data = self.safe_list(result, 'list', [])
|
7628
|
+
symbol = market['symbol']
|
7629
|
+
data = self.get_leverage_tiers_paginated(symbol, self.extend({'paginate': True, 'paginationCalls': 20}, params))
|
7607
7630
|
symbols = self.market_symbols(symbols)
|
7608
7631
|
return self.parse_leverage_tiers(data, symbols, 'symbol')
|
7609
7632
|
|
@@ -7629,9 +7652,12 @@ class bybit(Exchange, ImplicitAPI):
|
|
7629
7652
|
for i in range(0, len(keys)):
|
7630
7653
|
marketId = keys[i]
|
7631
7654
|
entry = grouped[marketId]
|
7655
|
+
for j in range(0, len(entry)):
|
7656
|
+
id = self.safe_integer(entry[j], 'id')
|
7657
|
+
entry[j]['id'] = id
|
7632
7658
|
market = self.safe_market(marketId, None, None, 'contract')
|
7633
7659
|
symbol = market['symbol']
|
7634
|
-
tiers[symbol] = self.parse_market_leverage_tiers(entry, market)
|
7660
|
+
tiers[symbol] = self.parse_market_leverage_tiers(self.sort_by(entry, 'id'), market)
|
7635
7661
|
return tiers
|
7636
7662
|
|
7637
7663
|
def parse_market_leverage_tiers(self, info, market: Market = None):
|
@@ -3924,47 +3924,62 @@ class coinex(Exchange, ImplicitAPI):
|
|
3924
3924
|
def fetch_leverage_tiers(self, symbols: Strings = None, params={}):
|
3925
3925
|
"""
|
3926
3926
|
retrieve information on the maximum leverage, and maintenance margin for trades of varying trade sizes
|
3927
|
-
:see: https://
|
3927
|
+
:see: https://docs.coinex.com/api/v2/futures/market/http/list-market-position-level
|
3928
3928
|
:param str[]|None symbols: list of unified market symbols
|
3929
3929
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
3930
3930
|
:returns dict: a dictionary of `leverage tiers structures <https://docs.ccxt.com/#/?id=leverage-tiers-structure>`, indexed by market symbols
|
3931
3931
|
"""
|
3932
3932
|
self.load_markets()
|
3933
|
-
|
3933
|
+
request = {}
|
3934
|
+
if symbols is not None:
|
3935
|
+
marketIds = self.market_ids(symbols)
|
3936
|
+
request['market'] = ','.join(marketIds)
|
3937
|
+
response = self.v2PublicGetFuturesPositionLevel(self.extend(request, params))
|
3934
3938
|
#
|
3935
3939
|
# {
|
3936
3940
|
# "code": 0,
|
3937
|
-
# "data":
|
3938
|
-
#
|
3939
|
-
#
|
3940
|
-
#
|
3941
|
-
#
|
3942
|
-
#
|
3943
|
-
#
|
3944
|
-
#
|
3945
|
-
#
|
3946
|
-
#
|
3947
|
-
#
|
3941
|
+
# "data": [
|
3942
|
+
# {
|
3943
|
+
# "level": [
|
3944
|
+
# {
|
3945
|
+
# "amount": "20001",
|
3946
|
+
# "leverage": "20",
|
3947
|
+
# "maintenance_margin_rate": "0.02",
|
3948
|
+
# "min_initial_margin_rate": "0.05"
|
3949
|
+
# },
|
3950
|
+
# {
|
3951
|
+
# "amount": "50001",
|
3952
|
+
# "leverage": "10",
|
3953
|
+
# "maintenance_margin_rate": "0.04",
|
3954
|
+
# "min_initial_margin_rate": "0.1"
|
3955
|
+
# },
|
3956
|
+
# ],
|
3957
|
+
# "market": "MINAUSDT"
|
3958
|
+
# },
|
3959
|
+
# ],
|
3948
3960
|
# "message": "OK"
|
3949
3961
|
# }
|
3950
3962
|
#
|
3951
|
-
data = self.
|
3952
|
-
return self.parse_leverage_tiers(data, symbols,
|
3963
|
+
data = self.safe_list(response, 'data', [])
|
3964
|
+
return self.parse_leverage_tiers(data, symbols, 'market')
|
3953
3965
|
|
3954
|
-
def parse_market_leverage_tiers(self,
|
3966
|
+
def parse_market_leverage_tiers(self, info, market: Market = None):
|
3955
3967
|
tiers = []
|
3968
|
+
brackets = self.safe_list(info, 'level', [])
|
3956
3969
|
minNotional = 0
|
3957
|
-
for
|
3958
|
-
|
3959
|
-
|
3970
|
+
for i in range(0, len(brackets)):
|
3971
|
+
tier = brackets[i]
|
3972
|
+
marketId = self.safe_string(info, 'market')
|
3973
|
+
market = self.safe_market(marketId, market, None, 'swap')
|
3974
|
+
maxNotional = self.safe_number(tier, 'amount')
|
3960
3975
|
tiers.append({
|
3961
|
-
'tier':
|
3976
|
+
'tier': self.sum(i, 1),
|
3962
3977
|
'currency': market['base'] if market['linear'] else market['quote'],
|
3963
3978
|
'minNotional': minNotional,
|
3964
3979
|
'maxNotional': maxNotional,
|
3965
|
-
'maintenanceMarginRate': self.safe_number(
|
3966
|
-
'maxLeverage': self.safe_integer(
|
3967
|
-
'info':
|
3980
|
+
'maintenanceMarginRate': self.safe_number(tier, 'maintenance_margin_rate'),
|
3981
|
+
'maxLeverage': self.safe_integer(tier, 'leverage'),
|
3982
|
+
'info': tier,
|
3968
3983
|
})
|
3969
3984
|
minNotional = maxNotional
|
3970
3985
|
return tiers
|
@@ -2347,12 +2347,14 @@ class phemex(Exchange, ImplicitAPI):
|
|
2347
2347
|
"""
|
2348
2348
|
create a trade order
|
2349
2349
|
:see: https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#place-order
|
2350
|
+
:see: https://phemex-docs.github.io/#place-order-http-put-prefered-3
|
2350
2351
|
:param str symbol: unified symbol of the market to create an order in
|
2351
2352
|
:param str type: 'market' or 'limit'
|
2352
2353
|
:param str side: 'buy' or 'sell'
|
2353
2354
|
:param float amount: how much of currency you want to trade in units of base currency
|
2354
2355
|
:param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
|
2355
2356
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
2357
|
+
:param float [params.trigger]: trigger price for conditional orders
|
2356
2358
|
:param dict [params.takeProfit]: *swap only* *takeProfit object in params* containing the triggerPrice at which the attached take profit order will be triggered(perpetual swap markets only)
|
2357
2359
|
:param float [params.takeProfit.triggerPrice]: take profit trigger price
|
2358
2360
|
:param dict [params.stopLoss]: *swap only* *stopLoss object in params* containing the triggerPrice at which the attached stop loss order will be triggered(perpetual swap markets only)
|
@@ -2363,7 +2365,7 @@ class phemex(Exchange, ImplicitAPI):
|
|
2363
2365
|
market = self.market(symbol)
|
2364
2366
|
requestSide = self.capitalize(side)
|
2365
2367
|
type = self.capitalize(type)
|
2366
|
-
reduceOnly = self.
|
2368
|
+
reduceOnly = self.safe_bool(params, 'reduceOnly')
|
2367
2369
|
request = {
|
2368
2370
|
# common
|
2369
2371
|
'symbol': market['id'],
|
@@ -2404,18 +2406,24 @@ class phemex(Exchange, ImplicitAPI):
|
|
2404
2406
|
else:
|
2405
2407
|
request['clOrdID'] = clientOrderId
|
2406
2408
|
params = self.omit(params, ['clOrdID', 'clientOrderId'])
|
2407
|
-
|
2408
|
-
if
|
2409
|
+
triggerPrice = self.safe_string_n(params, ['stopPx', 'stopPrice', 'triggerPrice'])
|
2410
|
+
if triggerPrice is not None:
|
2409
2411
|
if market['settle'] == 'USDT':
|
2410
|
-
request['stopPxRp'] = self.price_to_precision(symbol,
|
2412
|
+
request['stopPxRp'] = self.price_to_precision(symbol, triggerPrice)
|
2411
2413
|
else:
|
2412
|
-
request['stopPxEp'] = self.to_ep(
|
2414
|
+
request['stopPxEp'] = self.to_ep(triggerPrice, market)
|
2413
2415
|
params = self.omit(params, ['stopPx', 'stopPrice', 'stopLoss', 'takeProfit', 'triggerPrice'])
|
2414
2416
|
if market['spot']:
|
2415
2417
|
qtyType = self.safe_value(params, 'qtyType', 'ByBase')
|
2416
2418
|
if (type == 'Market') or (type == 'Stop') or (type == 'MarketIfTouched'):
|
2417
2419
|
if price is not None:
|
2418
2420
|
qtyType = 'ByQuote'
|
2421
|
+
if triggerPrice is not None:
|
2422
|
+
if type == 'Limit':
|
2423
|
+
request['ordType'] = 'StopLimit'
|
2424
|
+
elif type == 'Market':
|
2425
|
+
request['ordType'] = 'Stop'
|
2426
|
+
request['trigger'] = 'ByLastPrice'
|
2419
2427
|
request['qtyType'] = qtyType
|
2420
2428
|
if qtyType == 'ByQuote':
|
2421
2429
|
cost = self.safe_number(params, 'cost')
|
@@ -2446,7 +2454,7 @@ class phemex(Exchange, ImplicitAPI):
|
|
2446
2454
|
request['orderQtyRq'] = amount
|
2447
2455
|
else:
|
2448
2456
|
request['orderQty'] = self.parse_to_int(amount)
|
2449
|
-
if
|
2457
|
+
if triggerPrice is not None:
|
2450
2458
|
triggerType = self.safe_string(params, 'triggerType', 'ByMarkPrice')
|
2451
2459
|
request['triggerType'] = triggerType
|
2452
2460
|
if stopLossDefined or takeProfitDefined:
|