ccxt 4.4.19__tar.gz → 4.4.21__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.19/ccxt.egg-info → ccxt-4.4.21}/PKG-INFO +4 -4
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/__init__.py +1 -1
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bybit.py +1 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/kucoin.py +1 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/kucoinfutures.py +1 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/okx.py +3 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/base/exchange.py +5 -1
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/binance.py +0 -9
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bingx.py +5 -1
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bybit.py +63 -4
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/gate.py +1 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/htx.py +26 -2
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/hyperliquid.py +7 -6
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/kucoin.py +15 -31
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/kucoinfutures.py +2 -2
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/lbank.py +3 -3
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/okx.py +9 -9
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/phemex.py +72 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/base/exchange.py +17 -1
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/binance.py +0 -9
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bingx.py +5 -1
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bybit.py +63 -4
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/gate.py +1 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/htx.py +26 -2
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/hyperliquid.py +7 -6
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/kucoin.py +15 -31
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/kucoinfutures.py +2 -2
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/lbank.py +3 -3
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/okx.py +9 -9
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/phemex.py +72 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/__init__.py +3 -1
- ccxt-4.4.21/ccxt/pro/coinbaseadvanced.py +16 -0
- {ccxt-4.4.19 → ccxt-4.4.21/ccxt.egg-info}/PKG-INFO +4 -4
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt.egg-info/SOURCES.txt +1 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/package.json +1 -1
- {ccxt-4.4.19 → ccxt-4.4.21}/LICENSE.txt +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/MANIFEST.in +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/README.rst +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/coinbaseadvanced.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/coinbaseexchange.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/hashkey.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/oxfun.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/paradex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/tradeogre.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/vertex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/woofipro.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/xt.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/ace.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/alpaca.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/ascendex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitget.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/coinbaseadvanced.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/coinbaseexchange.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/coinbaseinternational.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/coinex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/hashkey.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/oxfun.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/paradex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/tradeogre.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/vertex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/woofipro.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/xt.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/base/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/base/errors.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/base/precise.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/base/types.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bequant.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bigone.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/binanceus.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bit2c.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitbank.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitbay.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitbns.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitfinex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitflyer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitget.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bithumb.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitmart.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitmex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitopro.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitpanda.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitrue.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitso.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitstamp.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitteam.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bitvavo.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/bl3p.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/blofin.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/btcalpha.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/btcbox.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/btcturk.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/cex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/coinbase.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/coinbaseadvanced.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/coinbaseexchange.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/coinbaseinternational.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/coincheck.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/coinex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/coinlist.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/coinmate.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/coinmetro.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/coinone.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/coinsph.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/coinspot.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/cryptocom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/currencycom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/delta.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/deribit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/digifinex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/exmo.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/fmfwio.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/gateio.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/gemini.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/hashkey.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/hitbtc.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/hollaex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/huobi.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/huobijp.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/idex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/independentreserve.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/indodax.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/kraken.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/kuna.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/latoken.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/luno.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/lykke.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/mercado.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/mexc.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/ndax.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/novadax.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/oceanex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/okcoin.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/onetrading.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/oxfun.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/p2b.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/paradex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/paymium.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/poloniex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/binance.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/bitfinex2.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/blofin.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/cex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/coinbaseexchange.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/gate.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/hashkey.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/htx.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/idex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/luno.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/okx.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/oxfun.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/paradex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/probit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/vertex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/woo.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/woofipro.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/pro/xt.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/probit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/ast_utils.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/common.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/exceptions.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/grammar.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/indenter.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/lark.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/lexer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/load_grammar.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/py.typed +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/reconstruct.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/tree.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/tree_templates.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/utils.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/lark/visitors.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow/base.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow/fields.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow/py.typed +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow/schema.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow/types.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow/utils.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow/validate.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/common.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/constants.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/hash/address.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starkware/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/sympy/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/test/__init__.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/test/tests_async.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/test/tests_helpers.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/test/tests_init.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/test/tests_sync.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/timex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/tradeogre.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/upbit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/vertex.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/wazirx.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/whitebit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/woo.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/woofipro.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/xt.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/yobit.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/zaif.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt/zonda.py +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/setup.cfg +0 -0
- {ccxt-4.4.19 → ccxt-4.4.21}/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.21
|
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
|
@@ -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.21/dist/ccxt.browser.min.js
|
264
|
+
* unpkg: https://unpkg.com/ccxt@4.4.21/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.21/dist/ccxt.browser.min.js"></script>
|
270
270
|
```
|
271
271
|
|
272
272
|
Creates a global `ccxt` object:
|
@@ -163,6 +163,7 @@ class ImplicitAPI:
|
|
163
163
|
private_get_v5_user_del_submember = privateGetV5UserDelSubmember = Entry('v5/user/del-submember', 'private', 'GET', {'cost': 5})
|
164
164
|
private_get_v5_user_submembers = privateGetV5UserSubmembers = Entry('v5/user/submembers', 'private', 'GET', {'cost': 5})
|
165
165
|
private_get_v5_spot_lever_token_order_record = privateGetV5SpotLeverTokenOrderRecord = Entry('v5/spot-lever-token/order-record', 'private', 'GET', {'cost': 1})
|
166
|
+
private_get_v5_spot_margin_trade_interest_rate_history = privateGetV5SpotMarginTradeInterestRateHistory = Entry('v5/spot-margin-trade/interest-rate-history', 'private', 'GET', {'cost': 5})
|
166
167
|
private_get_v5_spot_margin_trade_state = privateGetV5SpotMarginTradeState = Entry('v5/spot-margin-trade/state', 'private', 'GET', {'cost': 5})
|
167
168
|
private_get_v5_spot_cross_margin_trade_loan_info = privateGetV5SpotCrossMarginTradeLoanInfo = Entry('v5/spot-cross-margin-trade/loan-info', 'private', 'GET', {'cost': 1})
|
168
169
|
private_get_v5_spot_cross_margin_trade_account = privateGetV5SpotCrossMarginTradeAccount = Entry('v5/spot-cross-margin-trade/account', 'private', 'GET', {'cost': 1})
|
@@ -20,6 +20,7 @@ class ImplicitAPI:
|
|
20
20
|
public_get_mark_price_symbol_current = publicGetMarkPriceSymbolCurrent = Entry('mark-price/{symbol}/current', 'public', 'GET', {'cost': 3})
|
21
21
|
public_get_mark_price_all_symbols = publicGetMarkPriceAllSymbols = Entry('mark-price/all-symbols', 'public', 'GET', {'cost': 3})
|
22
22
|
public_get_margin_config = publicGetMarginConfig = Entry('margin/config', 'public', 'GET', {'cost': 25})
|
23
|
+
public_get_announcements = publicGetAnnouncements = Entry('announcements', 'public', 'GET', {'cost': 20})
|
23
24
|
public_post_bullet_public = publicPostBulletPublic = Entry('bullet-public', 'public', 'POST', {'cost': 15})
|
24
25
|
private_get_user_info = privateGetUserInfo = Entry('user-info', 'private', 'GET', {'cost': 30})
|
25
26
|
private_get_accounts = privateGetAccounts = Entry('accounts', 'private', 'GET', {'cost': 7.5})
|
@@ -20,6 +20,7 @@ class ImplicitAPI:
|
|
20
20
|
public_get_mark_price_symbol_current = publicGetMarkPriceSymbolCurrent = Entry('mark-price/{symbol}/current', 'public', 'GET', {'cost': 3})
|
21
21
|
public_get_mark_price_all_symbols = publicGetMarkPriceAllSymbols = Entry('mark-price/all-symbols', 'public', 'GET', {'cost': 3})
|
22
22
|
public_get_margin_config = publicGetMarginConfig = Entry('margin/config', 'public', 'GET', {'cost': 25})
|
23
|
+
public_get_announcements = publicGetAnnouncements = Entry('announcements', 'public', 'GET', {'cost': 20})
|
23
24
|
public_post_bullet_public = publicPostBulletPublic = Entry('bullet-public', 'public', 'POST', {'cost': 15})
|
24
25
|
private_get_user_info = privateGetUserInfo = Entry('user-info', 'private', 'GET', {'cost': 30})
|
25
26
|
private_get_accounts = privateGetAccounts = Entry('accounts', 'private', 'GET', {'cost': 7.5})
|
@@ -153,6 +153,9 @@ class ImplicitAPI:
|
|
153
153
|
private_get_account_fixed_loan_borrowing_limit = privateGetAccountFixedLoanBorrowingLimit = Entry('account/fixed-loan/borrowing-limit', 'private', 'GET', {'cost': 4})
|
154
154
|
private_get_account_fixed_loan_borrowing_quote = privateGetAccountFixedLoanBorrowingQuote = Entry('account/fixed-loan/borrowing-quote', 'private', 'GET', {'cost': 5})
|
155
155
|
private_get_account_fixed_loan_borrowing_orders_list = privateGetAccountFixedLoanBorrowingOrdersList = Entry('account/fixed-loan/borrowing-orders-list', 'private', 'GET', {'cost': 5})
|
156
|
+
private_get_account_spot_manual_borrow_repay = privateGetAccountSpotManualBorrowRepay = Entry('account/spot-manual-borrow-repay', 'private', 'GET', {'cost': 10})
|
157
|
+
private_get_account_set_auto_repay = privateGetAccountSetAutoRepay = Entry('account/set-auto-repay', 'private', 'GET', {'cost': 4})
|
158
|
+
private_get_account_spot_borrow_repay_history = privateGetAccountSpotBorrowRepayHistory = Entry('account/spot-borrow-repay-history', 'private', 'GET', {'cost': 4})
|
156
159
|
private_get_users_subaccount_list = privateGetUsersSubaccountList = Entry('users/subaccount/list', 'private', 'GET', {'cost': 10})
|
157
160
|
private_get_account_subaccount_balances = privateGetAccountSubaccountBalances = Entry('account/subaccount/balances', 'private', 'GET', {'cost': 3.3333333333333335})
|
158
161
|
private_get_asset_subaccount_balances = privateGetAssetSubaccountBalances = Entry('asset/subaccount/balances', 'private', 'GET', {'cost': 3.3333333333333335})
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '4.4.
|
5
|
+
__version__ = '4.4.21'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -1908,6 +1908,8 @@ class Exchange(BaseExchange):
|
|
1908
1908
|
i = 0
|
1909
1909
|
errors = 0
|
1910
1910
|
result = []
|
1911
|
+
timeframe = self.safe_string(params, 'timeframe')
|
1912
|
+
params = self.omit(params, 'timeframe') # reading the timeframe from the method arguments to avoid changing the signature
|
1911
1913
|
while(i < maxCalls):
|
1912
1914
|
try:
|
1913
1915
|
if cursorValue is not None:
|
@@ -1919,6 +1921,8 @@ class Exchange(BaseExchange):
|
|
1919
1921
|
response = await getattr(self, method)(params)
|
1920
1922
|
elif method == 'getLeverageTiersPaginated' or method == 'fetchPositions':
|
1921
1923
|
response = await getattr(self, method)(symbol, params)
|
1924
|
+
elif method == 'fetchOpenInterestHistory':
|
1925
|
+
response = await getattr(self, method)(symbol, timeframe, since, maxEntriesPerRequest, params)
|
1922
1926
|
else:
|
1923
1927
|
response = await getattr(self, method)(symbol, since, maxEntriesPerRequest, params)
|
1924
1928
|
errors = 0
|
@@ -11138,15 +11138,6 @@ class binance(Exchange, ImplicitAPI):
|
|
11138
11138
|
#
|
11139
11139
|
return self.parse_borrow_rate_history(response, code, since, limit)
|
11140
11140
|
|
11141
|
-
def parse_borrow_rate_history(self, response, code, since, limit):
|
11142
|
-
result = []
|
11143
|
-
for i in range(0, len(response)):
|
11144
|
-
item = response[i]
|
11145
|
-
borrowRate = self.parse_borrow_rate(item)
|
11146
|
-
result.append(borrowRate)
|
11147
|
-
sorted = self.sort_by(result, 'timestamp')
|
11148
|
-
return self.filter_by_currency_since_limit(sorted, code, since, limit)
|
11149
|
-
|
11150
11141
|
def parse_borrow_rate(self, info, currency: Currency = None):
|
11151
11142
|
#
|
11152
11143
|
# {
|
@@ -4981,7 +4981,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
4981
4981
|
async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
|
4982
4982
|
"""
|
4983
4983
|
make a withdrawal
|
4984
|
-
:see: https://bingx-api.github.io/docs/#/
|
4984
|
+
:see: https://bingx-api.github.io/docs/#/en-us/spot/wallet-api.html#Withdraw
|
4985
4985
|
:param str code: unified currency code
|
4986
4986
|
:param float amount: the amount to withdraw
|
4987
4987
|
:param str address: the address to withdraw to
|
@@ -4990,6 +4990,8 @@ class bingx(Exchange, ImplicitAPI):
|
|
4990
4990
|
:param int [params.walletType]: 1 fund account, 2 standard account, 3 perpetual account
|
4991
4991
|
:returns dict: a `transaction structure <https://docs.ccxt.com/#/?id=transaction-structure>`
|
4992
4992
|
"""
|
4993
|
+
tag, params = self.handle_withdraw_tag_and_params(tag, params)
|
4994
|
+
self.check_address(address)
|
4993
4995
|
await self.load_markets()
|
4994
4996
|
currency = self.currency(code)
|
4995
4997
|
walletType = self.safe_integer(params, 'walletType')
|
@@ -5006,6 +5008,8 @@ class bingx(Exchange, ImplicitAPI):
|
|
5006
5008
|
network = self.safe_string_upper(params, 'network')
|
5007
5009
|
if network is not None:
|
5008
5010
|
request['network'] = self.network_code_to_id(network)
|
5011
|
+
if tag is not None:
|
5012
|
+
request['addressTag'] = tag
|
5009
5013
|
params = self.omit(params, ['walletType', 'network'])
|
5010
5014
|
response = await self.walletsV1PrivatePostCapitalWithdrawApply(self.extend(request, params))
|
5011
5015
|
data = self.safe_value(response, 'data')
|
@@ -385,6 +385,7 @@ class bybit(Exchange, ImplicitAPI):
|
|
385
385
|
# spot leverage token
|
386
386
|
'v5/spot-lever-token/order-record': 1, # 50/s => cost = 50 / 50 = 1
|
387
387
|
# spot margin trade
|
388
|
+
'v5/spot-margin-trade/interest-rate-history': 5,
|
388
389
|
'v5/spot-margin-trade/state': 5,
|
389
390
|
'v5/spot-cross-margin-trade/loan-info': 1, # 50/s => cost = 50 / 50 = 1
|
390
391
|
'v5/spot-cross-margin-trade/account': 1, # 50/s => cost = 50 / 50 = 1
|
@@ -6703,7 +6704,8 @@ class bybit(Exchange, ImplicitAPI):
|
|
6703
6704
|
paginate = self.safe_bool(params, 'paginate')
|
6704
6705
|
if paginate:
|
6705
6706
|
params = self.omit(params, 'paginate')
|
6706
|
-
|
6707
|
+
params['timeframe'] = timeframe
|
6708
|
+
return await self.fetch_paginated_call_cursor('fetchOpenInterestHistory', symbol, since, limit, params, 'nextPageCursor', 'cursor', None, 200)
|
6707
6709
|
market = self.market(symbol)
|
6708
6710
|
if market['spot'] or market['option']:
|
6709
6711
|
raise BadRequest(self.id + ' fetchOpenInterestHistory() symbol does not support market ' + symbol)
|
@@ -6775,12 +6777,22 @@ class bybit(Exchange, ImplicitAPI):
|
|
6775
6777
|
# "timestamp": 1666734490778
|
6776
6778
|
# }
|
6777
6779
|
#
|
6780
|
+
# fetchBorrowRateHistory
|
6781
|
+
# {
|
6782
|
+
# "timestamp": 1721469600000,
|
6783
|
+
# "currency": "USDC",
|
6784
|
+
# "hourlyBorrowRate": "0.000014621596",
|
6785
|
+
# "vipLevel": "No VIP"
|
6786
|
+
# }
|
6787
|
+
#
|
6778
6788
|
timestamp = self.safe_integer(info, 'timestamp')
|
6779
|
-
currencyId = self.
|
6789
|
+
currencyId = self.safe_string_2(info, 'coin', 'currency')
|
6790
|
+
hourlyBorrowRate = self.safe_number(info, 'hourlyBorrowRate')
|
6791
|
+
period = 3600000 if (hourlyBorrowRate is not None) else 86400000 # 1h or 1d
|
6780
6792
|
return {
|
6781
6793
|
'currency': self.safe_currency_code(currencyId, currency),
|
6782
|
-
'rate': self.safe_number(info, 'interestRate'),
|
6783
|
-
'period':
|
6794
|
+
'rate': self.safe_number(info, 'interestRate', hourlyBorrowRate),
|
6795
|
+
'period': period, # Daily
|
6784
6796
|
'timestamp': timestamp,
|
6785
6797
|
'datetime': self.iso8601(timestamp),
|
6786
6798
|
'info': info,
|
@@ -6830,6 +6842,53 @@ class bybit(Exchange, ImplicitAPI):
|
|
6830
6842
|
interest = self.parse_borrow_interests(rows, None)
|
6831
6843
|
return self.filter_by_currency_since_limit(interest, code, since, limit)
|
6832
6844
|
|
6845
|
+
async def fetch_borrow_rate_history(self, code: str, since: Int = None, limit: Int = None, params={}):
|
6846
|
+
"""
|
6847
|
+
retrieves a history of a currencies borrow interest rate at specific time slots
|
6848
|
+
:see: https://bybit-exchange.github.io/docs/v5/spot-margin-uta/historical-interest
|
6849
|
+
:param str code: unified currency code
|
6850
|
+
:param int [since]: timestamp for the earliest borrow rate
|
6851
|
+
:param int [limit]: the maximum number of `borrow rate structures <https://docs.ccxt.com/#/?id=borrow-rate-structure>` to retrieve
|
6852
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
6853
|
+
:param int [params.until]: the latest time in ms to fetch entries for
|
6854
|
+
:returns dict[]: an array of `borrow rate structures <https://docs.ccxt.com/#/?id=borrow-rate-structure>`
|
6855
|
+
"""
|
6856
|
+
await self.load_markets()
|
6857
|
+
currency = self.currency(code)
|
6858
|
+
request: dict = {
|
6859
|
+
'currency': currency['id'],
|
6860
|
+
}
|
6861
|
+
if since is None:
|
6862
|
+
since = self.milliseconds() - 86400000 * 30 # last 30 days
|
6863
|
+
request['startTime'] = since
|
6864
|
+
endTime = self.safe_integer_2(params, 'until', 'endTime')
|
6865
|
+
params = self.omit(params, ['until'])
|
6866
|
+
if endTime is None:
|
6867
|
+
endTime = since + 86400000 * 30 # since + 30 days
|
6868
|
+
request['endTime'] = endTime
|
6869
|
+
response = await self.privateGetV5SpotMarginTradeInterestRateHistory(self.extend(request, params))
|
6870
|
+
#
|
6871
|
+
# {
|
6872
|
+
# "retCode": 0,
|
6873
|
+
# "retMsg": "OK",
|
6874
|
+
# "result": {
|
6875
|
+
# "list": [
|
6876
|
+
# {
|
6877
|
+
# "timestamp": 1721469600000,
|
6878
|
+
# "currency": "USDC",
|
6879
|
+
# "hourlyBorrowRate": "0.000014621596",
|
6880
|
+
# "vipLevel": "No VIP"
|
6881
|
+
# }
|
6882
|
+
# ]
|
6883
|
+
# },
|
6884
|
+
# "retExtInfo": "{}",
|
6885
|
+
# "time": 1721899048991
|
6886
|
+
# }
|
6887
|
+
#
|
6888
|
+
data = self.safe_dict(response, 'result')
|
6889
|
+
rows = self.safe_list(data, 'list', [])
|
6890
|
+
return self.parse_borrow_rate_history(rows, code, since, limit)
|
6891
|
+
|
6833
6892
|
def parse_borrow_interest(self, info: dict, market: Market = None):
|
6834
6893
|
#
|
6835
6894
|
# {
|
@@ -4421,6 +4421,7 @@ class gate(Exchange, ImplicitAPI):
|
|
4421
4421
|
"""
|
4422
4422
|
fetch all unfilled currently open orders
|
4423
4423
|
:see: https://www.gate.io/docs/developers/apiv4/en/#list-all-open-orders
|
4424
|
+
:see: https://www.gate.io/docs/developers/apiv4/en/#retrieve-running-auto-order-list
|
4424
4425
|
:param str symbol: unified market symbol
|
4425
4426
|
:param int [since]: the earliest time in ms to fetch open orders for
|
4426
4427
|
:param int [limit]: the maximum number of open orders structures to retrieve
|
@@ -1628,6 +1628,10 @@ class htx(Exchange, ImplicitAPI):
|
|
1628
1628
|
async def fetch_markets(self, params={}) -> List[Market]:
|
1629
1629
|
"""
|
1630
1630
|
retrieves data on all markets for huobi
|
1631
|
+
:see: https://huobiapi.github.io/docs/spot/v1/en/#get-all-supported-trading-symbol-v1-deprecated
|
1632
|
+
:see: https://huobiapi.github.io/docs/dm/v1/en/#get-contract-info
|
1633
|
+
:see: https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#query-swap-info
|
1634
|
+
:see: https://huobiapi.github.io/docs/usdt_swap/v1/en/#general-query-swap-info
|
1631
1635
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1632
1636
|
:returns dict[]: an array of objects representing market data
|
1633
1637
|
"""
|
@@ -1651,7 +1655,19 @@ class htx(Exchange, ImplicitAPI):
|
|
1651
1655
|
allMarkets = self.array_concat(allMarkets, promises[i])
|
1652
1656
|
return allMarkets
|
1653
1657
|
|
1654
|
-
async def fetch_markets_by_type_and_sub_type(self, type, subType, params={}):
|
1658
|
+
async def fetch_markets_by_type_and_sub_type(self, type: Str, subType: Str, params={}):
|
1659
|
+
"""
|
1660
|
+
* @ignore
|
1661
|
+
retrieves data on all markets of a certain type and/or subtype
|
1662
|
+
:see: https://huobiapi.github.io/docs/spot/v1/en/#get-all-supported-trading-symbol-v1-deprecated
|
1663
|
+
:see: https://huobiapi.github.io/docs/dm/v1/en/#get-contract-info
|
1664
|
+
:see: https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#query-swap-info
|
1665
|
+
:see: https://huobiapi.github.io/docs/usdt_swap/v1/en/#general-query-swap-info
|
1666
|
+
:param str [type]: 'spot', 'swap' or 'future'
|
1667
|
+
:param str [subType]: 'linear' or 'inverse'
|
1668
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1669
|
+
:returns dict[]: an array of objects representing market data
|
1670
|
+
"""
|
1655
1671
|
isSpot = (type == 'spot')
|
1656
1672
|
request: dict = {}
|
1657
1673
|
response = None
|
@@ -3015,7 +3031,15 @@ class htx(Exchange, ImplicitAPI):
|
|
3015
3031
|
'code': None,
|
3016
3032
|
}
|
3017
3033
|
|
3018
|
-
async def fetch_account_id_by_type(self, type, marginMode=None, symbol=None, params={}):
|
3034
|
+
async def fetch_account_id_by_type(self, type: str, marginMode: Str = None, symbol: Str = None, params={}):
|
3035
|
+
"""
|
3036
|
+
fetch all the accounts by a type and marginModeassociated with a profile
|
3037
|
+
:see: https://huobiapi.github.io/docs/spot/v1/en/#get-all-accounts-of-the-current-user
|
3038
|
+
:param str type: 'spot', 'swap' or 'future
|
3039
|
+
:param str [marginMode]: 'cross' or 'isolated'
|
3040
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
3041
|
+
:returns dict: a dictionary of `account structures <https://docs.ccxt.com/#/?id=account-structure>` indexed by the account type
|
3042
|
+
"""
|
3019
3043
|
accounts = await self.load_accounts()
|
3020
3044
|
accountId = self.safe_value_2(params, 'accountId', 'account-id')
|
3021
3045
|
if accountId is not None:
|
@@ -639,17 +639,17 @@ class hyperliquid(Exchange, ImplicitAPI):
|
|
639
639
|
code = self.safe_currency_code(self.safe_string(balance, 'coin'))
|
640
640
|
account = self.account()
|
641
641
|
total = self.safe_string(balance, 'total')
|
642
|
-
|
642
|
+
used = self.safe_string(balance, 'hold')
|
643
643
|
account['total'] = total
|
644
|
-
account['used'] =
|
644
|
+
account['used'] = used
|
645
645
|
spotBalances[code] = account
|
646
646
|
return self.safe_balance(spotBalances)
|
647
647
|
data = self.safe_dict(response, 'marginSummary', {})
|
648
648
|
result: dict = {
|
649
649
|
'info': response,
|
650
650
|
'USDC': {
|
651
|
-
'total': self.
|
652
|
-
'
|
651
|
+
'total': self.safe_number(data, 'accountValue'),
|
652
|
+
'free': self.safe_number(response, 'withdrawable'),
|
653
653
|
},
|
654
654
|
}
|
655
655
|
timestamp = self.safe_integer(response, 'time')
|
@@ -2113,10 +2113,11 @@ class hyperliquid(Exchange, ImplicitAPI):
|
|
2113
2113
|
leverage = self.safe_dict(entry, 'leverage', {})
|
2114
2114
|
marginMode = self.safe_string(leverage, 'type')
|
2115
2115
|
isIsolated = (marginMode == 'isolated')
|
2116
|
-
size = self.
|
2116
|
+
size = self.safe_string(entry, 'szi')
|
2117
2117
|
side = None
|
2118
2118
|
if size is not None:
|
2119
|
-
side = 'long' if (size
|
2119
|
+
side = 'long' if Precise.string_gt(size, '0') else 'short'
|
2120
|
+
size = Precise.string_abs(size)
|
2120
2121
|
unrealizedPnl = self.safe_number(entry, 'unrealizedPnl')
|
2121
2122
|
initialMargin = self.safe_number(entry, 'marginUsed')
|
2122
2123
|
percentage = unrealizedPnl / initialMargin * 100
|
@@ -184,6 +184,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
184
184
|
'mark-price/{symbol}/current': 3, # 2PW
|
185
185
|
'mark-price/all-symbols': 3,
|
186
186
|
'margin/config': 25, # 25SW
|
187
|
+
'announcements': 20, # 20W
|
187
188
|
},
|
188
189
|
'post': {
|
189
190
|
# ws
|
@@ -473,6 +474,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
473
474
|
'precisionMode': TICK_SIZE,
|
474
475
|
'exceptions': {
|
475
476
|
'exact': {
|
477
|
+
'The order does not exist.': OrderNotFound,
|
476
478
|
'order not exist': OrderNotFound,
|
477
479
|
'order not exist.': OrderNotFound, # duplicated error temporarily
|
478
480
|
'order_not_exist': OrderNotFound, # {"code":"order_not_exist","msg":"order_not_exist"} ¯\_(ツ)_/¯
|
@@ -673,6 +675,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
673
675
|
'currencies/{currency}': 'v3',
|
674
676
|
'symbols': 'v2',
|
675
677
|
'mark-price/all-symbols': 'v3',
|
678
|
+
'announcements': 'v3',
|
676
679
|
},
|
677
680
|
},
|
678
681
|
'private': {
|
@@ -1530,38 +1533,28 @@ class kucoin(Exchange, ImplicitAPI):
|
|
1530
1533
|
# "chain": "ERC20"
|
1531
1534
|
# }
|
1532
1535
|
#
|
1536
|
+
minWithdrawFee = self.safe_number(fee, 'withdrawMinFee')
|
1533
1537
|
result: dict = {
|
1534
1538
|
'info': fee,
|
1535
1539
|
'withdraw': {
|
1540
|
+
'fee': minWithdrawFee,
|
1541
|
+
'percentage': False,
|
1542
|
+
},
|
1543
|
+
'deposit': {
|
1536
1544
|
'fee': None,
|
1537
1545
|
'percentage': None,
|
1538
1546
|
},
|
1547
|
+
'networks': {},
|
1548
|
+
}
|
1549
|
+
networkId = self.safe_string(fee, 'chain')
|
1550
|
+
networkCode = self.network_id_to_code(networkId, self.safe_string(currency, 'code'))
|
1551
|
+
result['networks'][networkCode] = {
|
1552
|
+
'withdraw': minWithdrawFee,
|
1539
1553
|
'deposit': {
|
1540
1554
|
'fee': None,
|
1541
1555
|
'percentage': None,
|
1542
1556
|
},
|
1543
|
-
'networks': {},
|
1544
1557
|
}
|
1545
|
-
isWithdrawEnabled = self.safe_bool(fee, 'isWithdrawEnabled', True)
|
1546
|
-
minFee = None
|
1547
|
-
if isWithdrawEnabled:
|
1548
|
-
result['withdraw']['percentage'] = False
|
1549
|
-
chains = self.safe_list(fee, 'chains', [])
|
1550
|
-
for i in range(0, len(chains)):
|
1551
|
-
chain = chains[i]
|
1552
|
-
networkId = self.safe_string(chain, 'chainId')
|
1553
|
-
networkCode = self.network_id_to_code(networkId, self.safe_string(currency, 'code'))
|
1554
|
-
withdrawFee = self.safe_string(chain, 'withdrawalMinFee')
|
1555
|
-
if minFee is None or (Precise.string_lt(withdrawFee, minFee)):
|
1556
|
-
minFee = withdrawFee
|
1557
|
-
result['networks'][networkCode] = {
|
1558
|
-
'withdraw': self.parse_number(withdrawFee),
|
1559
|
-
'deposit': {
|
1560
|
-
'fee': None,
|
1561
|
-
'percentage': None,
|
1562
|
-
},
|
1563
|
-
}
|
1564
|
-
result['withdraw']['fee'] = self.parse_number(minFee)
|
1565
1558
|
return result
|
1566
1559
|
|
1567
1560
|
def is_futures_method(self, methodName, params):
|
@@ -2921,7 +2914,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
2921
2914
|
},
|
2922
2915
|
'status': status,
|
2923
2916
|
'lastTradeTimestamp': None,
|
2924
|
-
'average':
|
2917
|
+
'average': self.safe_string(order, 'avgDealPrice'),
|
2925
2918
|
'trades': None,
|
2926
2919
|
}, market)
|
2927
2920
|
|
@@ -4154,15 +4147,6 @@ class kucoin(Exchange, ImplicitAPI):
|
|
4154
4147
|
return config['v1']
|
4155
4148
|
return self.safe_value(config, 'cost', 1)
|
4156
4149
|
|
4157
|
-
def parse_borrow_rate_history(self, response, code, since, limit):
|
4158
|
-
result = []
|
4159
|
-
for i in range(0, len(response)):
|
4160
|
-
item = response[i]
|
4161
|
-
borrowRate = self.parse_borrow_rate(item)
|
4162
|
-
result.append(borrowRate)
|
4163
|
-
sorted = self.sort_by(result, 'timestamp')
|
4164
|
-
return self.filter_by_currency_since_limit(sorted, code, since, limit)
|
4165
|
-
|
4166
4150
|
def parse_borrow_rate(self, info, currency: Currency = None):
|
4167
4151
|
#
|
4168
4152
|
# {
|
@@ -2103,8 +2103,8 @@ class kucoinfutures(kucoin, ImplicitAPI):
|
|
2103
2103
|
amount = self.safe_string(order, 'size')
|
2104
2104
|
filled = self.safe_string(order, 'filledSize')
|
2105
2105
|
cost = self.safe_string(order, 'filledValue')
|
2106
|
-
average =
|
2107
|
-
if Precise.string_gt(filled, '0'):
|
2106
|
+
average = self.safe_string(order, 'avgDealPrice')
|
2107
|
+
if (average is None) and Precise.string_gt(filled, '0'):
|
2108
2108
|
contractSize = self.safe_string(market, 'contractSize')
|
2109
2109
|
if market['linear']:
|
2110
2110
|
average = Precise.string_div(cost, Precise.string_mul(contractSize, filled))
|
@@ -976,15 +976,15 @@ class lbank(Exchange, ImplicitAPI):
|
|
976
976
|
limit = min(limit, 2000)
|
977
977
|
if since is None:
|
978
978
|
duration = self.parse_timeframe(timeframe)
|
979
|
-
since = self.milliseconds() - duration * 1000 * limit
|
979
|
+
since = self.milliseconds() - (duration * 1000 * limit)
|
980
980
|
request: dict = {
|
981
981
|
'symbol': market['id'],
|
982
982
|
'type': self.safe_string(self.timeframes, timeframe, timeframe),
|
983
983
|
'time': self.parse_to_int(since / 1000),
|
984
|
-
'size': limit, # max 2000
|
984
|
+
'size': min(limit + 1, 2000), # max 2000
|
985
985
|
}
|
986
986
|
response = await self.spotPublicGetKline(self.extend(request, params))
|
987
|
-
ohlcvs = self.
|
987
|
+
ohlcvs = self.safe_list(response, 'data', [])
|
988
988
|
#
|
989
989
|
#
|
990
990
|
# [
|
@@ -18,6 +18,7 @@ from ccxt.base.errors import AccountSuspended
|
|
18
18
|
from ccxt.base.errors import ArgumentsRequired
|
19
19
|
from ccxt.base.errors import BadRequest
|
20
20
|
from ccxt.base.errors import BadSymbol
|
21
|
+
from ccxt.base.errors import OperationRejected
|
21
22
|
from ccxt.base.errors import ManualInteractionNeeded
|
22
23
|
from ccxt.base.errors import InsufficientFunds
|
23
24
|
from ccxt.base.errors import InvalidAddress
|
@@ -379,6 +380,9 @@ class okx(Exchange, ImplicitAPI):
|
|
379
380
|
'account/fixed-loan/borrowing-limit': 4,
|
380
381
|
'account/fixed-loan/borrowing-quote': 5,
|
381
382
|
'account/fixed-loan/borrowing-orders-list': 5,
|
383
|
+
'account/spot-manual-borrow-repay': 10,
|
384
|
+
'account/set-auto-repay': 4,
|
385
|
+
'account/spot-borrow-repay-history': 4,
|
382
386
|
# subaccount
|
383
387
|
'users/subaccount/list': 10,
|
384
388
|
'account/subaccount/balances': 10 / 3,
|
@@ -910,6 +914,11 @@ class okx(Exchange, ImplicitAPI):
|
|
910
914
|
'59301': ExchangeError, # Margin adjustment failed for exceeding the max limit
|
911
915
|
'59313': ExchangeError, # Unable to repay. You haven't borrowed any {ccy} {ccyPair} in Quick margin mode.
|
912
916
|
'59401': ExchangeError, # Holdings already reached the limit
|
917
|
+
'59410': OperationRejected, # You can only borrow self crypto if it supports borrowing and borrowing is enabled.
|
918
|
+
'59411': InsufficientFunds, # Manual borrowing failed. Your account's free margin is insufficient
|
919
|
+
'59412': OperationRejected, # Manual borrowing failed. The amount exceeds your borrowing limit.
|
920
|
+
'59413': OperationRejected, # You didn't borrow self crypto. No repayment needed.
|
921
|
+
'59414': BadRequest, # Manual borrowing failed. The minimum borrowing limit is {param0}.needed.
|
913
922
|
'59500': ExchangeError, # Only the APIKey of the main account has permission
|
914
923
|
'59501': ExchangeError, # Only 50 APIKeys can be created per account
|
915
924
|
'59502': ExchangeError, # Note name cannot be duplicate with the currently created APIKey note name
|
@@ -6231,15 +6240,6 @@ class okx(Exchange, ImplicitAPI):
|
|
6231
6240
|
borrowRateHistories[code] = self.filter_by_currency_since_limit(borrowRateHistories[code], code, since, limit)
|
6232
6241
|
return borrowRateHistories
|
6233
6242
|
|
6234
|
-
def parse_borrow_rate_history(self, response, code, since, limit):
|
6235
|
-
result = []
|
6236
|
-
for i in range(0, len(response)):
|
6237
|
-
item = response[i]
|
6238
|
-
borrowRate = self.parse_borrow_rate(item)
|
6239
|
-
result.append(borrowRate)
|
6240
|
-
sorted = self.sort_by(result, 'timestamp')
|
6241
|
-
return self.filter_by_currency_since_limit(sorted, code, since, limit)
|
6242
|
-
|
6243
6243
|
async def fetch_borrow_rate_histories(self, codes=None, since: Int = None, limit: Int = None, params={}):
|
6244
6244
|
"""
|
6245
6245
|
retrieves a history of a multiple currencies borrow interest rate at specific time slots, returns all currencies if no symbols passed, default is None
|
@@ -82,6 +82,7 @@ class phemex(Exchange, ImplicitAPI):
|
|
82
82
|
'fetchMarkOHLCV': False,
|
83
83
|
'fetchMyTrades': True,
|
84
84
|
'fetchOHLCV': True,
|
85
|
+
'fetchOpenInterest': True,
|
85
86
|
'fetchOpenOrders': True,
|
86
87
|
'fetchOrder': True,
|
87
88
|
'fetchOrderBook': True,
|
@@ -4494,6 +4495,77 @@ class phemex(Exchange, ImplicitAPI):
|
|
4494
4495
|
data = self.safe_dict(response, 'data', {})
|
4495
4496
|
return self.parse_transaction(data, currency)
|
4496
4497
|
|
4498
|
+
async def fetch_open_interest(self, symbol: str, params={}):
|
4499
|
+
"""
|
4500
|
+
retrieves the open interest of a trading pair
|
4501
|
+
:see: https://phemex-docs.github.io/#query-24-hours-ticker
|
4502
|
+
:param str symbol: unified CCXT market symbol
|
4503
|
+
:param dict [params]: exchange specific parameters
|
4504
|
+
:returns dict} an open interest structure{@link https://docs.ccxt.com/#/?id=open-interest-structure:
|
4505
|
+
"""
|
4506
|
+
await self.load_markets()
|
4507
|
+
market = self.market(symbol)
|
4508
|
+
if not market['contract']:
|
4509
|
+
raise BadRequest(self.id + ' fetchOpenInterest is only supported for contract markets.')
|
4510
|
+
request: dict = {
|
4511
|
+
'symbol': market['id'],
|
4512
|
+
}
|
4513
|
+
response = await self.v2GetMdV2Ticker24hr(self.extend(request, params))
|
4514
|
+
#
|
4515
|
+
# {
|
4516
|
+
# error: null,
|
4517
|
+
# id: '0',
|
4518
|
+
# result: {
|
4519
|
+
# closeRp: '67550.1',
|
4520
|
+
# fundingRateRr: '0.0001',
|
4521
|
+
# highRp: '68400',
|
4522
|
+
# indexPriceRp: '67567.15389794',
|
4523
|
+
# lowRp: '66096.4',
|
4524
|
+
# markPriceRp: '67550.1',
|
4525
|
+
# openInterestRv: '1848.1144186',
|
4526
|
+
# openRp: '66330',
|
4527
|
+
# predFundingRateRr: '0.0001',
|
4528
|
+
# symbol: 'BTCUSDT',
|
4529
|
+
# timestamp: '1729114315443343001',
|
4530
|
+
# turnoverRv: '228863389.3237532',
|
4531
|
+
# volumeRq: '3388.5600312'
|
4532
|
+
# }
|
4533
|
+
# }
|
4534
|
+
#
|
4535
|
+
result = self.safe_dict(response, 'result')
|
4536
|
+
return self.parse_open_interest(result, market)
|
4537
|
+
|
4538
|
+
def parse_open_interest(self, interest, market: Market = None):
|
4539
|
+
#
|
4540
|
+
# {
|
4541
|
+
# closeRp: '67550.1',
|
4542
|
+
# fundingRateRr: '0.0001',
|
4543
|
+
# highRp: '68400',
|
4544
|
+
# indexPriceRp: '67567.15389794',
|
4545
|
+
# lowRp: '66096.4',
|
4546
|
+
# markPriceRp: '67550.1',
|
4547
|
+
# openInterestRv: '1848.1144186',
|
4548
|
+
# openRp: '66330',
|
4549
|
+
# predFundingRateRr: '0.0001',
|
4550
|
+
# symbol: 'BTCUSDT',
|
4551
|
+
# timestamp: '1729114315443343001',
|
4552
|
+
# turnoverRv: '228863389.3237532',
|
4553
|
+
# volumeRq: '3388.5600312'
|
4554
|
+
# }
|
4555
|
+
#
|
4556
|
+
timestamp = self.safe_integer(interest, 'timestamp') / 1000000
|
4557
|
+
id = self.safe_string(interest, 'symbol')
|
4558
|
+
return self.safe_open_interest({
|
4559
|
+
'info': interest,
|
4560
|
+
'symbol': self.safe_symbol(id, market),
|
4561
|
+
'baseVolume': self.safe_string(interest, 'volumeRq'),
|
4562
|
+
'quoteVolume': None, # deprecated
|
4563
|
+
'openInterestAmount': self.safe_string(interest, 'openInterestRv'),
|
4564
|
+
'openInterestValue': None,
|
4565
|
+
'timestamp': timestamp,
|
4566
|
+
'datetime': self.iso8601(timestamp),
|
4567
|
+
}, market)
|
4568
|
+
|
4497
4569
|
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
4498
4570
|
if response is None:
|
4499
4571
|
return None # fallback to default error handler
|