ccxt 4.4.21__tar.gz → 4.4.22__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.4.21/ccxt.egg-info → ccxt-4.4.22}/PKG-INFO +5 -5
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/__init__.py +1 -1
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitflyer.py +1 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitget.py +3 -0
- ccxt-4.4.22/ccxt/abstract/cex.py +32 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/gate.py +5 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/gateio.py +5 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/kucoin.py +1 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/kucoinfutures.py +1 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/okx.py +1 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/alpaca.py +1 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/alpaca.py +1 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/base/exchange.py +7 -1
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bigone.py +3 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/binance.py +96 -1
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitflyer.py +56 -1
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitget.py +73 -1
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bybit.py +74 -1
- ccxt-4.4.22/ccxt/async_support/cex.py +1528 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/cryptocom.py +1 -1
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/gate.py +97 -2
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/htx.py +1 -5
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/hyperliquid.py +10 -8
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/kucoin.py +27 -57
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/okx.py +67 -1
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/base/exchange.py +21 -1
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/base/types.py +9 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bigone.py +3 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/binance.py +96 -1
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitflyer.py +56 -1
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitget.py +73 -1
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bybit.py +74 -1
- ccxt-4.4.22/ccxt/cex.py +1527 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/cryptocom.py +1 -1
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/gate.py +97 -2
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/htx.py +1 -5
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/hyperliquid.py +10 -8
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/kucoin.py +27 -57
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/okx.py +67 -1
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/test/tests_async.py +4 -4
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/test/tests_sync.py +4 -4
- {ccxt-4.4.21 → ccxt-4.4.22/ccxt.egg-info}/PKG-INFO +5 -5
- {ccxt-4.4.21 → ccxt-4.4.22}/package.json +1 -1
- ccxt-4.4.21/ccxt/abstract/cex.py +0 -33
- ccxt-4.4.21/ccxt/async_support/cex.py +0 -1607
- ccxt-4.4.21/ccxt/cex.py +0 -1607
- {ccxt-4.4.21 → ccxt-4.4.22}/LICENSE.txt +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/MANIFEST.in +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/README.rst +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/coinbaseadvanced.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/coinbaseexchange.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/hashkey.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/oxfun.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/paradex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/tradeogre.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/vertex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/woofipro.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/xt.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/ace.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/ascendex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bingx.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/coinbaseadvanced.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/coinbaseexchange.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/coinbaseinternational.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/coinex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/hashkey.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/oxfun.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/paradex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/tradeogre.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/vertex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/woofipro.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/xt.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/base/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/base/errors.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/base/precise.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bequant.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/binanceus.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bingx.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bit2c.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitbank.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitbay.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitbns.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitfinex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bithumb.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitmart.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitmex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitopro.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitpanda.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitrue.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitso.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitstamp.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitteam.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bitvavo.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/bl3p.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/blofin.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/btcalpha.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/btcbox.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/btcturk.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/coinbase.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/coinbaseadvanced.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/coinbaseexchange.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/coinbaseinternational.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/coincheck.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/coinex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/coinlist.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/coinmate.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/coinmetro.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/coinone.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/coinsph.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/coinspot.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/currencycom.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/delta.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/deribit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/digifinex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/exmo.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/fmfwio.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/gateio.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/gemini.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/hashkey.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/hitbtc.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/hollaex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/huobi.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/huobijp.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/idex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/independentreserve.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/indodax.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/kraken.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/kuna.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/latoken.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/lbank.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/luno.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/lykke.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/mercado.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/mexc.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/ndax.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/novadax.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/oceanex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/okcoin.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/onetrading.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/oxfun.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/p2b.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/paradex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/paymium.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/phemex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/poloniex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/binance.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/bitfinex2.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/blofin.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/cex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/coinbaseadvanced.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/coinbaseexchange.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/gate.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/hashkey.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/htx.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/idex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/luno.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/okx.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/oxfun.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/paradex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/probit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/vertex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/woo.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/woofipro.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/pro/xt.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/probit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/ast_utils.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/common.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/exceptions.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/grammar.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/indenter.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/lark.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/lexer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/load_grammar.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/py.typed +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/reconstruct.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/tree.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/tree_templates.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/utils.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/lark/visitors.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/base.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/fields.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/py.typed +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/schema.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/types.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/utils.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/validate.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/common.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/constants.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/hash/address.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starkware/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/test/__init__.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/test/tests_helpers.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/test/tests_init.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/timex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/tradeogre.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/upbit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/vertex.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/wazirx.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/whitebit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/woo.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/woofipro.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/xt.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/yobit.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/zaif.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt/zonda.py +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/setup.cfg +0 -0
- {ccxt-4.4.21 → ccxt-4.4.22}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.4.
|
3
|
+
Version: 4.4.22
|
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
|
@@ -134,7 +134,7 @@ The CCXT library currently supports the following 103 cryptocurrency exchange ma
|
|
134
134
|
| [](https://btcmarkets.net) | btcmarkets | [BTC Markets](https://btcmarkets.net) | [](https://api.btcmarkets.net/doc/v3) | cex | | |
|
135
135
|
| [](https://www.btcturk.com) | btcturk | [BTCTurk](https://www.btcturk.com) | [](https://github.com/BTCTrader/broker-api-docs) | cex | | |
|
136
136
|
| [](https://www.bybit.com/register?affiliate_id=35953) | bybit | [Bybit](https://www.bybit.com/register?affiliate_id=35953) | [](https://bybit-exchange.github.io/docs/inverse/) | cex | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) |
|
137
|
-
| [](https://cex.io/r/0/up105393824/0/) | cex | [CEX.IO](https://cex.io/r/0/up105393824/0/) | [](https://cex.io/
|
137
|
+
| [](https://cex.io/r/0/up105393824/0/) | cex | [CEX.IO](https://cex.io/r/0/up105393824/0/) | [](https://trade.cex.io/docs/) | cex | | [](https://ccxt.pro) |
|
138
138
|
| [](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | coinbase | [Coinbase Advanced](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | [](https://developers.coinbase.com/api/v2) | cex | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) |
|
139
139
|
| [](https://coinbase.com/) | coinbaseexchange | [Coinbase Exchange](https://coinbase.com/) | [](https://docs.cloud.coinbase.com/exchange/docs/) | cex | | [](https://ccxt.pro) |
|
140
140
|
| [](https://international.coinbase.com) | coinbaseinternational | [Coinbase International](https://international.coinbase.com) | [](https://docs.cloud.coinbase.com/intx/docs) | cex | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) |
|
@@ -260,13 +260,13 @@ console.log(version, Object.keys(exchanges));
|
|
260
260
|
|
261
261
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
262
262
|
|
263
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.
|
264
|
-
* unpkg: https://unpkg.com/ccxt@4.4.
|
263
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.22/dist/ccxt.browser.min.js
|
264
|
+
* unpkg: https://unpkg.com/ccxt@4.4.22/dist/ccxt.browser.min.js
|
265
265
|
|
266
266
|
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.
|
267
267
|
|
268
268
|
```HTML
|
269
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.
|
269
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.22/dist/ccxt.browser.min.js"></script>
|
270
270
|
```
|
271
271
|
|
272
272
|
Creates a global `ccxt` object:
|
@@ -11,6 +11,7 @@ class ImplicitAPI:
|
|
11
11
|
public_get_gethealth = publicGetGethealth = Entry('gethealth', 'public', 'GET', {})
|
12
12
|
public_get_getboardstate = publicGetGetboardstate = Entry('getboardstate', 'public', 'GET', {})
|
13
13
|
public_get_getchats = publicGetGetchats = Entry('getchats', 'public', 'GET', {})
|
14
|
+
public_get_getfundingrate = publicGetGetfundingrate = Entry('getfundingrate', 'public', 'GET', {})
|
14
15
|
private_get_getpermissions = privateGetGetpermissions = Entry('getpermissions', 'private', 'GET', {})
|
15
16
|
private_get_getbalance = privateGetGetbalance = Entry('getbalance', 'private', 'GET', {})
|
16
17
|
private_get_getbalancehistory = privateGetGetbalancehistory = Entry('getbalancehistory', 'private', 'GET', {})
|
@@ -68,12 +68,14 @@ class ImplicitAPI:
|
|
68
68
|
public_mix_get_v2_mix_market_current_fund_rate = publicMixGetV2MixMarketCurrentFundRate = Entry('v2/mix/market/current-fund-rate', ['public', 'mix'], 'GET', {'cost': 1})
|
69
69
|
public_mix_get_v2_mix_market_contracts = publicMixGetV2MixMarketContracts = Entry('v2/mix/market/contracts', ['public', 'mix'], 'GET', {'cost': 1})
|
70
70
|
public_mix_get_v2_mix_market_query_position_lever = publicMixGetV2MixMarketQueryPositionLever = Entry('v2/mix/market/query-position-lever', ['public', 'mix'], 'GET', {'cost': 2})
|
71
|
+
public_mix_get_v2_mix_market_account_long_short = publicMixGetV2MixMarketAccountLongShort = Entry('v2/mix/market/account-long-short', ['public', 'mix'], 'GET', {'cost': 20})
|
71
72
|
public_margin_get_margin_v1_cross_public_interestrateandlimit = publicMarginGetMarginV1CrossPublicInterestRateAndLimit = Entry('margin/v1/cross/public/interestRateAndLimit', ['public', 'margin'], 'GET', {'cost': 2})
|
72
73
|
public_margin_get_margin_v1_isolated_public_interestrateandlimit = publicMarginGetMarginV1IsolatedPublicInterestRateAndLimit = Entry('margin/v1/isolated/public/interestRateAndLimit', ['public', 'margin'], 'GET', {'cost': 2})
|
73
74
|
public_margin_get_margin_v1_cross_public_tierdata = publicMarginGetMarginV1CrossPublicTierData = Entry('margin/v1/cross/public/tierData', ['public', 'margin'], 'GET', {'cost': 2})
|
74
75
|
public_margin_get_margin_v1_isolated_public_tierdata = publicMarginGetMarginV1IsolatedPublicTierData = Entry('margin/v1/isolated/public/tierData', ['public', 'margin'], 'GET', {'cost': 2})
|
75
76
|
public_margin_get_margin_v1_public_currencies = publicMarginGetMarginV1PublicCurrencies = Entry('margin/v1/public/currencies', ['public', 'margin'], 'GET', {'cost': 1})
|
76
77
|
public_margin_get_v2_margin_currencies = publicMarginGetV2MarginCurrencies = Entry('v2/margin/currencies', ['public', 'margin'], 'GET', {'cost': 2})
|
78
|
+
public_margin_get_v2_margin_market_long_short_ratio = publicMarginGetV2MarginMarketLongShortRatio = Entry('v2/margin/market/long-short-ratio', ['public', 'margin'], 'GET', {'cost': 20})
|
77
79
|
public_earn_get_v2_earn_loan_public_coininfos = publicEarnGetV2EarnLoanPublicCoinInfos = Entry('v2/earn/loan/public/coinInfos', ['public', 'earn'], 'GET', {'cost': 2})
|
78
80
|
public_earn_get_v2_earn_loan_public_hour_interest = publicEarnGetV2EarnLoanPublicHourInterest = Entry('v2/earn/loan/public/hour-interest', ['public', 'earn'], 'GET', {'cost': 2})
|
79
81
|
private_spot_get_spot_v1_wallet_deposit_address = privateSpotGetSpotV1WalletDepositAddress = Entry('spot/v1/wallet/deposit-address', ['private', 'spot'], 'GET', {'cost': 4})
|
@@ -220,6 +222,7 @@ class ImplicitAPI:
|
|
220
222
|
private_mix_get_v2_mix_order_orders_history = privateMixGetV2MixOrderOrdersHistory = Entry('v2/mix/order/orders-history', ['private', 'mix'], 'GET', {'cost': 2})
|
221
223
|
private_mix_get_v2_mix_order_orders_plan_pending = privateMixGetV2MixOrderOrdersPlanPending = Entry('v2/mix/order/orders-plan-pending', ['private', 'mix'], 'GET', {'cost': 2})
|
222
224
|
private_mix_get_v2_mix_order_orders_plan_history = privateMixGetV2MixOrderOrdersPlanHistory = Entry('v2/mix/order/orders-plan-history', ['private', 'mix'], 'GET', {'cost': 2})
|
225
|
+
private_mix_get_v2_mix_market_position_long_short = privateMixGetV2MixMarketPositionLongShort = Entry('v2/mix/market/position-long-short', ['private', 'mix'], 'GET', {'cost': 20})
|
223
226
|
private_mix_post_mix_v1_account_sub_account_contract_assets = privateMixPostMixV1AccountSubAccountContractAssets = Entry('mix/v1/account/sub-account-contract-assets', ['private', 'mix'], 'POST', {'cost': 200})
|
224
227
|
private_mix_post_mix_v1_account_open_count = privateMixPostMixV1AccountOpenCount = Entry('mix/v1/account/open-count', ['private', 'mix'], 'POST', {'cost': 1})
|
225
228
|
private_mix_post_mix_v1_account_setleverage = privateMixPostMixV1AccountSetLeverage = Entry('mix/v1/account/setLeverage', ['private', 'mix'], 'POST', {'cost': 4})
|
@@ -0,0 +1,32 @@
|
|
1
|
+
from ccxt.base.types import Entry
|
2
|
+
|
3
|
+
|
4
|
+
class ImplicitAPI:
|
5
|
+
public_post_get_server_time = publicPostGetServerTime = Entry('get_server_time', 'public', 'POST', {'cost': 1})
|
6
|
+
public_post_get_pairs_info = publicPostGetPairsInfo = Entry('get_pairs_info', 'public', 'POST', {'cost': 1})
|
7
|
+
public_post_get_currencies_info = publicPostGetCurrenciesInfo = Entry('get_currencies_info', 'public', 'POST', {'cost': 1})
|
8
|
+
public_post_get_processing_info = publicPostGetProcessingInfo = Entry('get_processing_info', 'public', 'POST', {'cost': 10})
|
9
|
+
public_post_get_ticker = publicPostGetTicker = Entry('get_ticker', 'public', 'POST', {'cost': 1})
|
10
|
+
public_post_get_trade_history = publicPostGetTradeHistory = Entry('get_trade_history', 'public', 'POST', {'cost': 1})
|
11
|
+
public_post_get_order_book = publicPostGetOrderBook = Entry('get_order_book', 'public', 'POST', {'cost': 1})
|
12
|
+
public_post_get_candles = publicPostGetCandles = Entry('get_candles', 'public', 'POST', {'cost': 1})
|
13
|
+
private_post_get_my_current_fee = privatePostGetMyCurrentFee = Entry('get_my_current_fee', 'private', 'POST', {'cost': 5})
|
14
|
+
private_post_get_fee_strategy = privatePostGetFeeStrategy = Entry('get_fee_strategy', 'private', 'POST', {'cost': 1})
|
15
|
+
private_post_get_my_volume = privatePostGetMyVolume = Entry('get_my_volume', 'private', 'POST', {'cost': 5})
|
16
|
+
private_post_do_create_account = privatePostDoCreateAccount = Entry('do_create_account', 'private', 'POST', {'cost': 1})
|
17
|
+
private_post_get_my_account_status_v3 = privatePostGetMyAccountStatusV3 = Entry('get_my_account_status_v3', 'private', 'POST', {'cost': 5})
|
18
|
+
private_post_get_my_wallet_balance = privatePostGetMyWalletBalance = Entry('get_my_wallet_balance', 'private', 'POST', {'cost': 5})
|
19
|
+
private_post_get_my_orders = privatePostGetMyOrders = Entry('get_my_orders', 'private', 'POST', {'cost': 5})
|
20
|
+
private_post_do_my_new_order = privatePostDoMyNewOrder = Entry('do_my_new_order', 'private', 'POST', {'cost': 1})
|
21
|
+
private_post_do_cancel_my_order = privatePostDoCancelMyOrder = Entry('do_cancel_my_order', 'private', 'POST', {'cost': 1})
|
22
|
+
private_post_do_cancel_all_orders = privatePostDoCancelAllOrders = Entry('do_cancel_all_orders', 'private', 'POST', {'cost': 5})
|
23
|
+
private_post_get_order_book = privatePostGetOrderBook = Entry('get_order_book', 'private', 'POST', {'cost': 1})
|
24
|
+
private_post_get_candles = privatePostGetCandles = Entry('get_candles', 'private', 'POST', {'cost': 1})
|
25
|
+
private_post_get_trade_history = privatePostGetTradeHistory = Entry('get_trade_history', 'private', 'POST', {'cost': 1})
|
26
|
+
private_post_get_my_transaction_history = privatePostGetMyTransactionHistory = Entry('get_my_transaction_history', 'private', 'POST', {'cost': 1})
|
27
|
+
private_post_get_my_funding_history = privatePostGetMyFundingHistory = Entry('get_my_funding_history', 'private', 'POST', {'cost': 5})
|
28
|
+
private_post_do_my_internal_transfer = privatePostDoMyInternalTransfer = Entry('do_my_internal_transfer', 'private', 'POST', {'cost': 1})
|
29
|
+
private_post_get_processing_info = privatePostGetProcessingInfo = Entry('get_processing_info', 'private', 'POST', {'cost': 10})
|
30
|
+
private_post_get_deposit_address = privatePostGetDepositAddress = Entry('get_deposit_address', 'private', 'POST', {'cost': 5})
|
31
|
+
private_post_do_deposit_funds_from_wallet = privatePostDoDepositFundsFromWallet = Entry('do_deposit_funds_from_wallet', 'private', 'POST', {'cost': 1})
|
32
|
+
private_post_do_withdrawal_funds_to_wallet = privatePostDoWithdrawalFundsToWallet = Entry('do_withdrawal_funds_to_wallet', 'private', 'POST', {'cost': 1})
|
@@ -92,8 +92,13 @@ class ImplicitAPI:
|
|
92
92
|
private_unified_get_interest_records = privateUnifiedGetInterestRecords = Entry('interest_records', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
|
93
93
|
private_unified_get_estimate_rate = privateUnifiedGetEstimateRate = Entry('estimate_rate', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
|
94
94
|
private_unified_get_currency_discount_tiers = privateUnifiedGetCurrencyDiscountTiers = Entry('currency_discount_tiers', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
|
95
|
+
private_unified_get_risk_units = privateUnifiedGetRiskUnits = Entry('risk_units', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
|
96
|
+
private_unified_get_unified_mode = privateUnifiedGetUnifiedMode = Entry('unified_mode', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
|
97
|
+
private_unified_get_loan_margin_tiers = privateUnifiedGetLoanMarginTiers = Entry('loan_margin_tiers', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
|
95
98
|
private_unified_post_account_mode = privateUnifiedPostAccountMode = Entry('account_mode', ['private', 'unified'], 'POST', {'cost': 1.3333333333333333})
|
96
99
|
private_unified_post_loans = privateUnifiedPostLoans = Entry('loans', ['private', 'unified'], 'POST', {'cost': 13.333333333333334})
|
100
|
+
private_unified_post_portfolio_calculator = privateUnifiedPostPortfolioCalculator = Entry('portfolio_calculator', ['private', 'unified'], 'POST', {'cost': 1.3333333333333333})
|
101
|
+
private_unified_put_unified_mode = privateUnifiedPutUnifiedMode = Entry('unified_mode', ['private', 'unified'], 'PUT', {'cost': 1.3333333333333333})
|
97
102
|
private_spot_get_fee = privateSpotGetFee = Entry('fee', ['private', 'spot'], 'GET', {'cost': 1})
|
98
103
|
private_spot_get_batch_fee = privateSpotGetBatchFee = Entry('batch_fee', ['private', 'spot'], 'GET', {'cost': 1})
|
99
104
|
private_spot_get_accounts = privateSpotGetAccounts = Entry('accounts', ['private', 'spot'], 'GET', {'cost': 1})
|
@@ -92,8 +92,13 @@ class ImplicitAPI:
|
|
92
92
|
private_unified_get_interest_records = privateUnifiedGetInterestRecords = Entry('interest_records', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
|
93
93
|
private_unified_get_estimate_rate = privateUnifiedGetEstimateRate = Entry('estimate_rate', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
|
94
94
|
private_unified_get_currency_discount_tiers = privateUnifiedGetCurrencyDiscountTiers = Entry('currency_discount_tiers', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
|
95
|
+
private_unified_get_risk_units = privateUnifiedGetRiskUnits = Entry('risk_units', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
|
96
|
+
private_unified_get_unified_mode = privateUnifiedGetUnifiedMode = Entry('unified_mode', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
|
97
|
+
private_unified_get_loan_margin_tiers = privateUnifiedGetLoanMarginTiers = Entry('loan_margin_tiers', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
|
95
98
|
private_unified_post_account_mode = privateUnifiedPostAccountMode = Entry('account_mode', ['private', 'unified'], 'POST', {'cost': 1.3333333333333333})
|
96
99
|
private_unified_post_loans = privateUnifiedPostLoans = Entry('loans', ['private', 'unified'], 'POST', {'cost': 13.333333333333334})
|
100
|
+
private_unified_post_portfolio_calculator = privateUnifiedPostPortfolioCalculator = Entry('portfolio_calculator', ['private', 'unified'], 'POST', {'cost': 1.3333333333333333})
|
101
|
+
private_unified_put_unified_mode = privateUnifiedPutUnifiedMode = Entry('unified_mode', ['private', 'unified'], 'PUT', {'cost': 1.3333333333333333})
|
97
102
|
private_spot_get_fee = privateSpotGetFee = Entry('fee', ['private', 'spot'], 'GET', {'cost': 1})
|
98
103
|
private_spot_get_batch_fee = privateSpotGetBatchFee = Entry('batch_fee', ['private', 'spot'], 'GET', {'cost': 1})
|
99
104
|
private_spot_get_accounts = privateSpotGetAccounts = Entry('accounts', ['private', 'spot'], 'GET', {'cost': 1})
|
@@ -124,6 +124,7 @@ class ImplicitAPI:
|
|
124
124
|
private_post_lend_purchase_update = privatePostLendPurchaseUpdate = Entry('lend/purchase/update', 'private', 'POST', {'cost': 10})
|
125
125
|
private_post_bullet_private = privatePostBulletPrivate = Entry('bullet-private', 'private', 'POST', {'cost': 10})
|
126
126
|
private_post_position_update_user_leverage = privatePostPositionUpdateUserLeverage = Entry('position/update-user-leverage', 'private', 'POST', {'cost': 5})
|
127
|
+
private_post_deposit_address_create = privatePostDepositAddressCreate = Entry('deposit-address/create', 'private', 'POST', {'cost': 20})
|
127
128
|
private_delete_sub_api_key = privateDeleteSubApiKey = Entry('sub/api-key', 'private', 'DELETE', {'cost': 45})
|
128
129
|
private_delete_withdrawals_withdrawalid = privateDeleteWithdrawalsWithdrawalId = Entry('withdrawals/{withdrawalId}', 'private', 'DELETE', {'cost': 30})
|
129
130
|
private_delete_hf_orders_orderid = privateDeleteHfOrdersOrderId = Entry('hf/orders/{orderId}', 'private', 'DELETE', {'cost': 1})
|
@@ -124,6 +124,7 @@ class ImplicitAPI:
|
|
124
124
|
private_post_lend_purchase_update = privatePostLendPurchaseUpdate = Entry('lend/purchase/update', 'private', 'POST', {'cost': 10})
|
125
125
|
private_post_bullet_private = privatePostBulletPrivate = Entry('bullet-private', 'private', 'POST', {'cost': 10})
|
126
126
|
private_post_position_update_user_leverage = privatePostPositionUpdateUserLeverage = Entry('position/update-user-leverage', 'private', 'POST', {'cost': 5})
|
127
|
+
private_post_deposit_address_create = privatePostDepositAddressCreate = Entry('deposit-address/create', 'private', 'POST', {'cost': 20})
|
127
128
|
private_delete_sub_api_key = privateDeleteSubApiKey = Entry('sub/api-key', 'private', 'DELETE', {'cost': 45})
|
128
129
|
private_delete_withdrawals_withdrawalid = privateDeleteWithdrawalsWithdrawalId = Entry('withdrawals/{withdrawalId}', 'private', 'DELETE', {'cost': 30})
|
129
130
|
private_delete_hf_orders_orderid = privateDeleteHfOrdersOrderId = Entry('hf/orders/{orderId}', 'private', 'DELETE', {'cost': 1})
|
@@ -48,6 +48,7 @@ class ImplicitAPI:
|
|
48
48
|
public_get_rubik_stat_taker_volume = publicGetRubikStatTakerVolume = Entry('rubik/stat/taker-volume', 'public', 'GET', {'cost': 4})
|
49
49
|
public_get_rubik_stat_margin_loan_ratio = publicGetRubikStatMarginLoanRatio = Entry('rubik/stat/margin/loan-ratio', 'public', 'GET', {'cost': 4})
|
50
50
|
public_get_rubik_stat_contracts_long_short_account_ratio = publicGetRubikStatContractsLongShortAccountRatio = Entry('rubik/stat/contracts/long-short-account-ratio', 'public', 'GET', {'cost': 4})
|
51
|
+
public_get_rubik_stat_contracts_long_short_account_ratio_contract = publicGetRubikStatContractsLongShortAccountRatioContract = Entry('rubik/stat/contracts/long-short-account-ratio-contract', 'public', 'GET', {'cost': 4})
|
51
52
|
public_get_rubik_stat_contracts_open_interest_volume = publicGetRubikStatContractsOpenInterestVolume = Entry('rubik/stat/contracts/open-interest-volume', 'public', 'GET', {'cost': 4})
|
52
53
|
public_get_rubik_stat_option_open_interest_volume = publicGetRubikStatOptionOpenInterestVolume = Entry('rubik/stat/option/open-interest-volume', 'public', 'GET', {'cost': 4})
|
53
54
|
public_get_rubik_stat_option_open_interest_volume_ratio = publicGetRubikStatOptionOpenInterestVolumeRatio = Entry('rubik/stat/option/open-interest-volume-ratio', 'public', 'GET', {'cost': 4})
|
@@ -69,6 +69,7 @@ class alpaca(Exchange, ImplicitAPI):
|
|
69
69
|
'fetchDepositsWithdrawals': False,
|
70
70
|
'fetchFundingHistory': False,
|
71
71
|
'fetchFundingRate': False,
|
72
|
+
'fetchFundingRateHistory': False,
|
72
73
|
'fetchFundingRates': False,
|
73
74
|
'fetchL1OrderBook': True,
|
74
75
|
'fetchL2OrderBook': False,
|
@@ -69,6 +69,7 @@ class alpaca(Exchange, ImplicitAPI):
|
|
69
69
|
'fetchDepositsWithdrawals': False,
|
70
70
|
'fetchFundingHistory': False,
|
71
71
|
'fetchFundingRate': False,
|
72
|
+
'fetchFundingRateHistory': False,
|
72
73
|
'fetchFundingRates': False,
|
73
74
|
'fetchL1OrderBook': True,
|
74
75
|
'fetchL2OrderBook': False,
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '4.4.
|
5
|
+
__version__ = '4.4.22'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -707,6 +707,12 @@ class Exchange(BaseExchange):
|
|
707
707
|
async def set_margin(self, symbol: str, amount: float, params={}):
|
708
708
|
raise NotSupported(self.id + ' setMargin() is not supported yet')
|
709
709
|
|
710
|
+
async def fetch_long_short_ratio(self, symbol: str, timeframe: Str = None, params={}):
|
711
|
+
raise NotSupported(self.id + ' fetchLongShortRatio() is not supported yet')
|
712
|
+
|
713
|
+
async def fetch_long_short_ratio_history(self, symbol: Str = None, timeframe: Str = None, since: Int = None, limit: Int = None, params={}):
|
714
|
+
raise NotSupported(self.id + ' fetchLongShortRatioHistory() is not supported yet')
|
715
|
+
|
710
716
|
async def fetch_margin_adjustment_history(self, symbol: Str = None, type: Str = None, since: Num = None, limit: Num = None, params={}):
|
711
717
|
"""
|
712
718
|
fetches the history of margin added or reduced from contract isolated positions
|
@@ -55,7 +55,10 @@ class bigone(Exchange, ImplicitAPI):
|
|
55
55
|
'fetchDepositAddresses': False,
|
56
56
|
'fetchDepositAddressesByNetwork': False,
|
57
57
|
'fetchDeposits': True,
|
58
|
+
'fetchFundingHistory': False,
|
58
59
|
'fetchFundingRate': False,
|
60
|
+
'fetchFundingRateHistory': False,
|
61
|
+
'fetchFundingRates': False,
|
59
62
|
'fetchMarkets': True,
|
60
63
|
'fetchMyTrades': True,
|
61
64
|
'fetchOHLCV': True,
|
@@ -8,7 +8,7 @@ from ccxt.abstract.binance import ImplicitAPI
|
|
8
8
|
import asyncio
|
9
9
|
import hashlib
|
10
10
|
import json
|
11
|
-
from ccxt.base.types import Balances, Conversion, CrossBorrowRate, Currencies, Currency, DepositAddress, Greeks, Int, IsolatedBorrowRate, IsolatedBorrowRates, LedgerEntry, Leverage, Leverages, LeverageTier, LeverageTiers, MarginMode, MarginModes, MarginModification, Market, MarketInterface, Num, Option, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
|
11
|
+
from ccxt.base.types import LongShortRatio, Balances, Conversion, CrossBorrowRate, Currencies, Currency, DepositAddress, Greeks, Int, IsolatedBorrowRate, IsolatedBorrowRates, LedgerEntry, Leverage, Leverages, LeverageTier, LeverageTiers, MarginMode, MarginModes, MarginModification, Market, MarketInterface, Num, Option, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
|
12
12
|
from typing import List
|
13
13
|
from ccxt.base.errors import ExchangeError
|
14
14
|
from ccxt.base.errors import AuthenticationError
|
@@ -129,6 +129,8 @@ class binance(Exchange, ImplicitAPI):
|
|
129
129
|
'fetchLeverages': True,
|
130
130
|
'fetchLeverageTiers': True,
|
131
131
|
'fetchLiquidations': False,
|
132
|
+
'fetchLongShortRatio': False,
|
133
|
+
'fetchLongShortRatioHistory': True,
|
132
134
|
'fetchMarginAdjustmentHistory': True,
|
133
135
|
'fetchMarginMode': 'emulated',
|
134
136
|
'fetchMarginModes': True,
|
@@ -12701,3 +12703,96 @@ class binance(Exchange, ImplicitAPI):
|
|
12701
12703
|
#
|
12702
12704
|
result = self.parse_funding_rates(response, market)
|
12703
12705
|
return self.filter_by_array(result, 'symbol', symbols)
|
12706
|
+
|
12707
|
+
async def fetch_long_short_ratio_history(self, symbol: Str = None, timeframe: Str = None, since: Int = None, limit: Int = None, params={}) -> List[LongShortRatio]:
|
12708
|
+
"""
|
12709
|
+
fetches the long short ratio history for a unified market symbol
|
12710
|
+
:see: https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Long-Short-Ratio
|
12711
|
+
:see: https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/Long-Short-Ratio
|
12712
|
+
:param str symbol: unified symbol of the market to fetch the long short ratio for
|
12713
|
+
:param str [timeframe]: the period for the ratio, default is 24 hours
|
12714
|
+
:param int [since]: the earliest time in ms to fetch ratios for
|
12715
|
+
:param int [limit]: the maximum number of long short ratio structures to retrieve
|
12716
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
12717
|
+
:param int [params.until]: timestamp in ms of the latest ratio to fetch
|
12718
|
+
:returns dict[]: an array of `long short ratio structures <https://docs.ccxt.com/#/?id=long-short-ratio-structure>`
|
12719
|
+
"""
|
12720
|
+
await self.load_markets()
|
12721
|
+
market = self.market(symbol)
|
12722
|
+
if timeframe is None:
|
12723
|
+
timeframe = '1d'
|
12724
|
+
request: dict = {
|
12725
|
+
'period': timeframe,
|
12726
|
+
}
|
12727
|
+
request, params = self.handle_until_option('endTime', request, params)
|
12728
|
+
if since is not None:
|
12729
|
+
request['startTime'] = since
|
12730
|
+
if limit is not None:
|
12731
|
+
request['limit'] = limit
|
12732
|
+
subType = None
|
12733
|
+
subType, params = self.handle_sub_type_and_params('fetchLongShortRatioHistory', market, params)
|
12734
|
+
response = None
|
12735
|
+
if subType == 'linear':
|
12736
|
+
request['symbol'] = market['id']
|
12737
|
+
response = await self.fapiDataGetGlobalLongShortAccountRatio(self.extend(request, params))
|
12738
|
+
#
|
12739
|
+
# [
|
12740
|
+
# {
|
12741
|
+
# "symbol": "BTCUSDT",
|
12742
|
+
# "longAccount": "0.4558",
|
12743
|
+
# "longShortRatio": "0.8376",
|
12744
|
+
# "shortAccount": "0.5442",
|
12745
|
+
# "timestamp": 1726790400000
|
12746
|
+
# },
|
12747
|
+
# ]
|
12748
|
+
#
|
12749
|
+
elif subType == 'inverse':
|
12750
|
+
request['pair'] = market['info']['pair']
|
12751
|
+
response = await self.dapiDataGetGlobalLongShortAccountRatio(self.extend(request, params))
|
12752
|
+
#
|
12753
|
+
# [
|
12754
|
+
# {
|
12755
|
+
# "longAccount": "0.7262",
|
12756
|
+
# "longShortRatio": "2.6523",
|
12757
|
+
# "shortAccount": "0.2738",
|
12758
|
+
# "pair": "BTCUSD",
|
12759
|
+
# "timestamp": 1726790400000
|
12760
|
+
# },
|
12761
|
+
# ]
|
12762
|
+
#
|
12763
|
+
else:
|
12764
|
+
raise BadRequest(self.id + ' fetchLongShortRatioHistory() supports linear and inverse subTypes only')
|
12765
|
+
return self.parse_long_short_ratio_history(response, market)
|
12766
|
+
|
12767
|
+
def parse_long_short_ratio(self, info: dict, market: Market = None) -> LongShortRatio:
|
12768
|
+
#
|
12769
|
+
# linear
|
12770
|
+
#
|
12771
|
+
# {
|
12772
|
+
# "symbol": "BTCUSDT",
|
12773
|
+
# "longAccount": "0.4558",
|
12774
|
+
# "longShortRatio": "0.8376",
|
12775
|
+
# "shortAccount": "0.5442",
|
12776
|
+
# "timestamp": 1726790400000
|
12777
|
+
# }
|
12778
|
+
#
|
12779
|
+
# inverse
|
12780
|
+
#
|
12781
|
+
# {
|
12782
|
+
# "longAccount": "0.7262",
|
12783
|
+
# "longShortRatio": "2.6523",
|
12784
|
+
# "shortAccount": "0.2738",
|
12785
|
+
# "pair": "BTCUSD",
|
12786
|
+
# "timestamp": 1726790400000
|
12787
|
+
# }
|
12788
|
+
#
|
12789
|
+
marketId = self.safe_string(info, 'symbol')
|
12790
|
+
timestamp = self.safe_integer_omit_zero(info, 'timestamp')
|
12791
|
+
return {
|
12792
|
+
'info': info,
|
12793
|
+
'symbol': self.safe_symbol(marketId, market, None, 'contract'),
|
12794
|
+
'timestamp': timestamp,
|
12795
|
+
'datetime': self.iso8601(timestamp),
|
12796
|
+
'timeframe': None,
|
12797
|
+
'longShortRatio': self.safe_number(info, 'longShortRatio'),
|
12798
|
+
}
|
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.bitflyer import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Balances, Currency, Int, Market, MarketInterface, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Trade, TradingFeeInterface, Transaction
|
9
|
+
from ccxt.base.types import Balances, Currency, Int, Market, MarketInterface, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, FundingRate, Trade, TradingFeeInterface, Transaction
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import ArgumentsRequired
|
@@ -39,6 +39,8 @@ class bitflyer(Exchange, ImplicitAPI):
|
|
39
39
|
'fetchBalance': True,
|
40
40
|
'fetchClosedOrders': 'emulated',
|
41
41
|
'fetchDeposits': True,
|
42
|
+
'fetchFundingRate': True,
|
43
|
+
'fetchFundingRateHistory': False,
|
42
44
|
'fetchMarginMode': False,
|
43
45
|
'fetchMarkets': True,
|
44
46
|
'fetchMyTrades': True,
|
@@ -78,6 +80,7 @@ class bitflyer(Exchange, ImplicitAPI):
|
|
78
80
|
'gethealth',
|
79
81
|
'getboardstate',
|
80
82
|
'getchats',
|
83
|
+
'getfundingrate',
|
81
84
|
],
|
82
85
|
},
|
83
86
|
'private': {
|
@@ -963,6 +966,58 @@ class bitflyer(Exchange, ImplicitAPI):
|
|
963
966
|
'fee': fee,
|
964
967
|
}
|
965
968
|
|
969
|
+
async def fetch_funding_rate(self, symbol: str, params={}) -> FundingRate:
|
970
|
+
"""
|
971
|
+
fetch the current funding rate
|
972
|
+
:see: https://lightning.bitflyer.com/docs#funding-rate
|
973
|
+
:param str symbol: unified market symbol
|
974
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
975
|
+
:returns dict: a `funding rate structure <https://docs.ccxt.com/#/?id=funding-rate-structure>`
|
976
|
+
"""
|
977
|
+
await self.load_markets()
|
978
|
+
market = self.market(symbol)
|
979
|
+
request: dict = {
|
980
|
+
'product_code': market['id'],
|
981
|
+
}
|
982
|
+
response = await self.publicGetGetfundingrate(self.extend(request, params))
|
983
|
+
#
|
984
|
+
# {
|
985
|
+
# "current_funding_rate": -0.003750000000
|
986
|
+
# "next_funding_rate_settledate": "2024-04-15T13:00:00"
|
987
|
+
# }
|
988
|
+
#
|
989
|
+
return self.parse_funding_rate(response, market)
|
990
|
+
|
991
|
+
def parse_funding_rate(self, contract, market: Market = None) -> FundingRate:
|
992
|
+
#
|
993
|
+
# {
|
994
|
+
# "current_funding_rate": -0.003750000000
|
995
|
+
# "next_funding_rate_settledate": "2024-04-15T13:00:00"
|
996
|
+
# }
|
997
|
+
#
|
998
|
+
nextFundingDatetime = self.safe_string(contract, 'next_funding_rate_settledate')
|
999
|
+
nextFundingTimestamp = self.parse8601(nextFundingDatetime)
|
1000
|
+
return {
|
1001
|
+
'info': contract,
|
1002
|
+
'symbol': self.safe_string(market, 'symbol'),
|
1003
|
+
'markPrice': None,
|
1004
|
+
'indexPrice': None,
|
1005
|
+
'interestRate': None,
|
1006
|
+
'estimatedSettlePrice': None,
|
1007
|
+
'timestamp': None,
|
1008
|
+
'datetime': None,
|
1009
|
+
'fundingRate': None,
|
1010
|
+
'fundingTimestamp': None,
|
1011
|
+
'fundingDatetime': None,
|
1012
|
+
'nextFundingRate': self.safe_number(contract, 'current_funding_rate'),
|
1013
|
+
'nextFundingTimestamp': nextFundingTimestamp,
|
1014
|
+
'nextFundingDatetime': self.iso8601(nextFundingTimestamp),
|
1015
|
+
'previousFundingRate': None,
|
1016
|
+
'previousFundingTimestamp': None,
|
1017
|
+
'previousFundingDatetime': None,
|
1018
|
+
'interval': None,
|
1019
|
+
}
|
1020
|
+
|
966
1021
|
def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
|
967
1022
|
request = '/' + self.version + '/'
|
968
1023
|
if api == 'private':
|
@@ -8,7 +8,7 @@ from ccxt.abstract.bitget import ImplicitAPI
|
|
8
8
|
import asyncio
|
9
9
|
import hashlib
|
10
10
|
import json
|
11
|
-
from ccxt.base.types import Balances, Conversion, CrossBorrowRate, Currencies, Currency, DepositAddress, FundingHistory, Int, IsolatedBorrowRate, LedgerEntry, Leverage, LeverageTier, Liquidation, MarginMode, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, FundingRate, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
|
11
|
+
from ccxt.base.types import LongShortRatio, Balances, Conversion, CrossBorrowRate, Currencies, Currency, DepositAddress, FundingHistory, Int, IsolatedBorrowRate, LedgerEntry, Leverage, LeverageTier, Liquidation, MarginMode, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, FundingRate, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
|
12
12
|
from typing import List
|
13
13
|
from ccxt.base.errors import ExchangeError
|
14
14
|
from ccxt.base.errors import AuthenticationError
|
@@ -114,6 +114,8 @@ class bitget(Exchange, ImplicitAPI):
|
|
114
114
|
'fetchLeverage': True,
|
115
115
|
'fetchLeverageTiers': False,
|
116
116
|
'fetchLiquidations': False,
|
117
|
+
'fetchLongShortRatio': False,
|
118
|
+
'fetchLongShortRatioHistory': True,
|
117
119
|
'fetchMarginAdjustmentHistory': False,
|
118
120
|
'fetchMarginMode': True,
|
119
121
|
'fetchMarketLeverageTiers': True,
|
@@ -289,6 +291,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
289
291
|
'v2/mix/market/current-fund-rate': 1,
|
290
292
|
'v2/mix/market/contracts': 1,
|
291
293
|
'v2/mix/market/query-position-lever': 2,
|
294
|
+
'v2/mix/market/account-long-short': 20,
|
292
295
|
},
|
293
296
|
},
|
294
297
|
'margin': {
|
@@ -299,6 +302,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
299
302
|
'margin/v1/isolated/public/tierData': 2, # 10 times/1s(IP) => 20/10 = 2
|
300
303
|
'margin/v1/public/currencies': 1, # 20 times/1s(IP) => 20/20 = 1
|
301
304
|
'v2/margin/currencies': 2,
|
305
|
+
'v2/margin/market/long-short-ratio': 20,
|
302
306
|
},
|
303
307
|
},
|
304
308
|
'earn': {
|
@@ -461,6 +465,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
461
465
|
'v2/mix/order/orders-history': 2,
|
462
466
|
'v2/mix/order/orders-plan-pending': 2,
|
463
467
|
'v2/mix/order/orders-plan-history': 2,
|
468
|
+
'v2/mix/market/position-long-short': 20,
|
464
469
|
},
|
465
470
|
'post': {
|
466
471
|
'mix/v1/account/sub-account-contract-assets': 200, # 0.1 times/1s(UID) => 20/0.1 = 200
|
@@ -8273,6 +8278,73 @@ class bitget(Exchange, ImplicitAPI):
|
|
8273
8278
|
first = self.safe_dict(data, 0, {})
|
8274
8279
|
return self.parse_funding_rate(first, market)
|
8275
8280
|
|
8281
|
+
async def fetch_long_short_ratio_history(self, symbol: Str = None, timeframe: Str = None, since: Int = None, limit: Int = None, params={}) -> List[LongShortRatio]:
|
8282
|
+
"""
|
8283
|
+
fetches the long short ratio history for a unified market symbol
|
8284
|
+
:see: https://www.bitget.com/api-doc/common/apidata/Margin-Ls-Ratio
|
8285
|
+
:see: https://www.bitget.com/api-doc/common/apidata/Account-Long-Short
|
8286
|
+
:param str symbol: unified symbol of the market to fetch the long short ratio for
|
8287
|
+
:param str [timeframe]: the period for the ratio
|
8288
|
+
:param int [since]: the earliest time in ms to fetch ratios for
|
8289
|
+
:param int [limit]: the maximum number of long short ratio structures to retrieve
|
8290
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
8291
|
+
:returns dict[]: an array of `long short ratio structures <https://docs.ccxt.com/#/?id=long-short-ratio-structure>`
|
8292
|
+
"""
|
8293
|
+
await self.load_markets()
|
8294
|
+
market = self.market(symbol)
|
8295
|
+
request: dict = {
|
8296
|
+
'symbol': market['id'],
|
8297
|
+
}
|
8298
|
+
if timeframe is not None:
|
8299
|
+
request['period'] = timeframe
|
8300
|
+
response = None
|
8301
|
+
if market['swap'] or market['future']:
|
8302
|
+
response = await self.publicMixGetV2MixMarketAccountLongShort(self.extend(request, params))
|
8303
|
+
#
|
8304
|
+
# {
|
8305
|
+
# "code": "00000",
|
8306
|
+
# "msg": "success",
|
8307
|
+
# "requestTime": 1729321233281,
|
8308
|
+
# "data": [
|
8309
|
+
# {
|
8310
|
+
# "longAccountRatio": "0.58",
|
8311
|
+
# "shortAccountRatio": "0.42",
|
8312
|
+
# "longShortAccountRatio": "0.0138",
|
8313
|
+
# "ts": "1729312200000"
|
8314
|
+
# },
|
8315
|
+
# ]
|
8316
|
+
# }
|
8317
|
+
#
|
8318
|
+
else:
|
8319
|
+
response = await self.publicMarginGetV2MarginMarketLongShortRatio(self.extend(request, params))
|
8320
|
+
#
|
8321
|
+
# {
|
8322
|
+
# "code": "00000",
|
8323
|
+
# "msg": "success",
|
8324
|
+
# "requestTime": 1729306974712,
|
8325
|
+
# "data": [
|
8326
|
+
# {
|
8327
|
+
# "longShortRatio": "40.66",
|
8328
|
+
# "ts": "1729306800000"
|
8329
|
+
# },
|
8330
|
+
# ]
|
8331
|
+
# }
|
8332
|
+
#
|
8333
|
+
data = self.safe_list(response, 'data', [])
|
8334
|
+
return self.parse_long_short_ratio_history(data, market)
|
8335
|
+
|
8336
|
+
def parse_long_short_ratio(self, info: dict, market: Market = None) -> LongShortRatio:
|
8337
|
+
marketId = self.safe_string(info, 'symbol')
|
8338
|
+
timestamp = self.safe_integer_omit_zero(info, 'ts')
|
8339
|
+
return {
|
8340
|
+
'info': info,
|
8341
|
+
'symbol': self.safe_symbol(marketId, market, None, 'contract'),
|
8342
|
+
'timestamp': timestamp,
|
8343
|
+
'datetime': self.iso8601(timestamp),
|
8344
|
+
'timeframe': None,
|
8345
|
+
'longShortRatio': self.safe_number_2(info, 'longShortRatio', 'longShortAccountRatio'),
|
8346
|
+
}
|
8347
|
+
|
8276
8348
|
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
8277
8349
|
if not response:
|
8278
8350
|
return None # fallback to default error handler
|