ccxt 4.3.96__tar.gz → 4.3.97__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ccxt-4.3.96/ccxt.egg-info → ccxt-4.3.97}/PKG-INFO +4 -4
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/__init__.py +1 -1
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/base/exchange.py +1 -1
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/binance.py +2 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/coinex.py +15 -3
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/base/exchange.py +1 -1
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/binance.py +2 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/coinex.py +15 -3
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/gate.py +155 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/kucoin.py +107 -0
- {ccxt-4.3.96 → ccxt-4.3.97/ccxt.egg-info}/PKG-INFO +4 -4
- {ccxt-4.3.96 → ccxt-4.3.97}/package.json +1 -1
- {ccxt-4.3.96 → ccxt-4.3.97}/LICENSE.txt +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/MANIFEST.in +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/README.rst +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/coinbaseadvanced.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/coinbaseexchange.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/hashkey.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/oxfun.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/paradex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/tradeogre.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/vertex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/woofipro.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/xt.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/ace.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/alpaca.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/ascendex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bingx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitget.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/bybit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/coinbaseadvanced.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/coinbaseexchange.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/coinbaseinternational.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/gate.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/hashkey.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/htx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/hyperliquid.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/kucoin.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/okx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/oxfun.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/paradex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/tradeogre.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/vertex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/woofipro.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/xt.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/base/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/base/errors.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/base/precise.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/base/types.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bequant.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bigone.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/binanceus.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bingx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bit2c.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitbank.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitbay.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitbns.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitfinex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitflyer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitget.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bithumb.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitmart.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitmex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitopro.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitpanda.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitrue.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitso.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitstamp.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitteam.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bitvavo.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bl3p.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/blofin.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/btcalpha.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/btcbox.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/btcturk.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/bybit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/cex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/coinbase.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/coinbaseadvanced.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/coinbaseexchange.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/coinbaseinternational.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/coincheck.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/coinlist.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/coinmate.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/coinmetro.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/coinone.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/coinsph.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/coinspot.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/cryptocom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/currencycom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/delta.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/deribit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/digifinex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/exmo.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/fmfwio.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/gate.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/gateio.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/gemini.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/hashkey.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/hitbtc.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/hollaex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/htx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/huobi.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/huobijp.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/hyperliquid.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/idex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/independentreserve.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/indodax.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/kraken.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/kucoin.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/kuna.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/latoken.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/lbank.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/luno.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/lykke.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/mercado.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/mexc.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/ndax.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/novadax.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/oceanex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/okcoin.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/okx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/onetrading.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/oxfun.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/p2b.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/paradex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/paymium.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/phemex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/poloniex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/binance.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/bitfinex2.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/blofin.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/cex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/coinbaseexchange.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/hashkey.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/htx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/idex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/luno.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/okx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/oxfun.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/paradex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/probit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/vertex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/woo.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/woofipro.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/pro/xt.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/probit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/ast_utils.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/common.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/exceptions.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/grammar.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/indenter.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/lark.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/lexer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/load_grammar.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/py.typed +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/reconstruct.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/tree.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/tree_templates.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/utils.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/lark/visitors.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow/base.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow/fields.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow/py.typed +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow/schema.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow/types.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow/utils.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow/validate.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/common.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/constants.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/hash/address.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starkware/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/sympy/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/test/__init__.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/test/tests_async.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/test/tests_helpers.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/test/tests_init.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/test/tests_sync.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/timex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/tradeogre.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/upbit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/vertex.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/wazirx.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/whitebit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/woo.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/woofipro.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/xt.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/yobit.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/zaif.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt/zonda.py +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/setup.cfg +0 -0
- {ccxt-4.3.96 → ccxt-4.3.97}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.3.
|
3
|
+
Version: 4.3.97
|
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
|
@@ -261,13 +261,13 @@ console.log(version, Object.keys(exchanges));
|
|
261
261
|
|
262
262
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
263
263
|
|
264
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
265
|
-
* unpkg: https://unpkg.com/ccxt@4.3.
|
264
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.97/dist/ccxt.browser.min.js
|
265
|
+
* unpkg: https://unpkg.com/ccxt@4.3.97/dist/ccxt.browser.min.js
|
266
266
|
|
267
267
|
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.
|
268
268
|
|
269
269
|
```HTML
|
270
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
270
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.97/dist/ccxt.browser.min.js"></script>
|
271
271
|
```
|
272
272
|
|
273
273
|
Creates a global `ccxt` object:
|
@@ -4121,6 +4121,8 @@ class binance(Exchange, ImplicitAPI):
|
|
4121
4121
|
price = self.safe_string(params, 'price')
|
4122
4122
|
until = self.safe_integer(params, 'until')
|
4123
4123
|
params = self.omit(params, ['price', 'until'])
|
4124
|
+
if since is not None and until is not None and limit is None:
|
4125
|
+
limit = maxLimit
|
4124
4126
|
limit = defaultLimit if (limit is None) else min(limit, maxLimit)
|
4125
4127
|
request: dict = {
|
4126
4128
|
'interval': self.safe_string(self.timeframes, timeframe, timeframe),
|
@@ -1199,7 +1199,10 @@ class coinex(Exchange, ImplicitAPI):
|
|
1199
1199
|
# "side": "buy",
|
1200
1200
|
# "order_id": 136915589622,
|
1201
1201
|
# "price": "64376",
|
1202
|
-
# "amount": "0.0001"
|
1202
|
+
# "amount": "0.0001",
|
1203
|
+
# "role": "taker",
|
1204
|
+
# "fee": "0.0299",
|
1205
|
+
# "fee_ccy": "USDT"
|
1203
1206
|
# }
|
1204
1207
|
#
|
1205
1208
|
timestamp = self.safe_integer(trade, 'created_at')
|
@@ -1208,6 +1211,15 @@ class coinex(Exchange, ImplicitAPI):
|
|
1208
1211
|
defaultType = market['type']
|
1209
1212
|
marketId = self.safe_string(trade, 'market')
|
1210
1213
|
market = self.safe_market(marketId, market, None, defaultType)
|
1214
|
+
feeCostString = self.safe_string(trade, 'fee')
|
1215
|
+
fee = None
|
1216
|
+
if feeCostString is not None:
|
1217
|
+
feeCurrencyId = self.safe_string(trade, 'fee_ccy')
|
1218
|
+
feeCurrencyCode = self.safe_currency_code(feeCurrencyId)
|
1219
|
+
fee = {
|
1220
|
+
'cost': feeCostString,
|
1221
|
+
'currency': feeCurrencyCode,
|
1222
|
+
}
|
1211
1223
|
return self.safe_trade({
|
1212
1224
|
'info': trade,
|
1213
1225
|
'timestamp': timestamp,
|
@@ -1217,11 +1229,11 @@ class coinex(Exchange, ImplicitAPI):
|
|
1217
1229
|
'order': self.safe_string(trade, 'order_id'),
|
1218
1230
|
'type': None,
|
1219
1231
|
'side': self.safe_string(trade, 'side'),
|
1220
|
-
'takerOrMaker':
|
1232
|
+
'takerOrMaker': self.safe_string(trade, 'role'),
|
1221
1233
|
'price': self.safe_string(trade, 'price'),
|
1222
1234
|
'amount': self.safe_string(trade, 'amount'),
|
1223
1235
|
'cost': self.safe_string(trade, 'deal_money'),
|
1224
|
-
'fee':
|
1236
|
+
'fee': fee,
|
1225
1237
|
}, market)
|
1226
1238
|
|
1227
1239
|
async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
@@ -4120,6 +4120,8 @@ class binance(Exchange, ImplicitAPI):
|
|
4120
4120
|
price = self.safe_string(params, 'price')
|
4121
4121
|
until = self.safe_integer(params, 'until')
|
4122
4122
|
params = self.omit(params, ['price', 'until'])
|
4123
|
+
if since is not None and until is not None and limit is None:
|
4124
|
+
limit = maxLimit
|
4123
4125
|
limit = defaultLimit if (limit is None) else min(limit, maxLimit)
|
4124
4126
|
request: dict = {
|
4125
4127
|
'interval': self.safe_string(self.timeframes, timeframe, timeframe),
|
@@ -1198,7 +1198,10 @@ class coinex(Exchange, ImplicitAPI):
|
|
1198
1198
|
# "side": "buy",
|
1199
1199
|
# "order_id": 136915589622,
|
1200
1200
|
# "price": "64376",
|
1201
|
-
# "amount": "0.0001"
|
1201
|
+
# "amount": "0.0001",
|
1202
|
+
# "role": "taker",
|
1203
|
+
# "fee": "0.0299",
|
1204
|
+
# "fee_ccy": "USDT"
|
1202
1205
|
# }
|
1203
1206
|
#
|
1204
1207
|
timestamp = self.safe_integer(trade, 'created_at')
|
@@ -1207,6 +1210,15 @@ class coinex(Exchange, ImplicitAPI):
|
|
1207
1210
|
defaultType = market['type']
|
1208
1211
|
marketId = self.safe_string(trade, 'market')
|
1209
1212
|
market = self.safe_market(marketId, market, None, defaultType)
|
1213
|
+
feeCostString = self.safe_string(trade, 'fee')
|
1214
|
+
fee = None
|
1215
|
+
if feeCostString is not None:
|
1216
|
+
feeCurrencyId = self.safe_string(trade, 'fee_ccy')
|
1217
|
+
feeCurrencyCode = self.safe_currency_code(feeCurrencyId)
|
1218
|
+
fee = {
|
1219
|
+
'cost': feeCostString,
|
1220
|
+
'currency': feeCurrencyCode,
|
1221
|
+
}
|
1210
1222
|
return self.safe_trade({
|
1211
1223
|
'info': trade,
|
1212
1224
|
'timestamp': timestamp,
|
@@ -1216,11 +1228,11 @@ class coinex(Exchange, ImplicitAPI):
|
|
1216
1228
|
'order': self.safe_string(trade, 'order_id'),
|
1217
1229
|
'type': None,
|
1218
1230
|
'side': self.safe_string(trade, 'side'),
|
1219
|
-
'takerOrMaker':
|
1231
|
+
'takerOrMaker': self.safe_string(trade, 'role'),
|
1220
1232
|
'price': self.safe_string(trade, 'price'),
|
1221
1233
|
'amount': self.safe_string(trade, 'amount'),
|
1222
1234
|
'cost': self.safe_string(trade, 'deal_money'),
|
1223
|
-
'fee':
|
1235
|
+
'fee': fee,
|
1224
1236
|
}, market)
|
1225
1237
|
|
1226
1238
|
def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
@@ -9,12 +9,14 @@ import hashlib
|
|
9
9
|
from ccxt.base.types import Balances, Int, Liquidation, Market, MarketType, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, Trade
|
10
10
|
from ccxt.async_support.base.ws.client import Client
|
11
11
|
from typing import List
|
12
|
+
from typing import Any
|
12
13
|
from ccxt.base.errors import ExchangeError
|
13
14
|
from ccxt.base.errors import AuthenticationError
|
14
15
|
from ccxt.base.errors import ArgumentsRequired
|
15
16
|
from ccxt.base.errors import BadRequest
|
16
17
|
from ccxt.base.errors import NotSupported
|
17
18
|
from ccxt.base.errors import ChecksumError
|
19
|
+
from ccxt.base.errors import UnsubscribeError
|
18
20
|
from ccxt.base.precise import Precise
|
19
21
|
|
20
22
|
|
@@ -371,6 +373,31 @@ class gate(ccxt.async_support.gate):
|
|
371
373
|
orderbook = await self.subscribe_public(url, messageHash, payload, channel, query, subscription)
|
372
374
|
return orderbook.limit()
|
373
375
|
|
376
|
+
async def un_watch_order_book(self, symbol: str, params={}) -> Any:
|
377
|
+
"""
|
378
|
+
unWatches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
379
|
+
:param str symbol: unified symbol of the market to fetch the order book for
|
380
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
381
|
+
:returns dict: A dictionary of `order book structures <https://docs.ccxt.com/#/?id=order-book-structure>` indexed by market symbols
|
382
|
+
"""
|
383
|
+
await self.load_markets()
|
384
|
+
market = self.market(symbol)
|
385
|
+
symbol = market['symbol']
|
386
|
+
marketId = market['id']
|
387
|
+
interval = '100ms'
|
388
|
+
interval, params = self.handle_option_and_params(params, 'watchOrderBook', 'interval', interval)
|
389
|
+
messageType = self.get_type_by_market(market)
|
390
|
+
channel = messageType + '.order_book_update'
|
391
|
+
subMessageHash = 'orderbook' + ':' + symbol
|
392
|
+
messageHash = 'unsubscribe:orderbook' + ':' + symbol
|
393
|
+
url = self.get_url_by_market(market)
|
394
|
+
payload = [marketId, interval]
|
395
|
+
limit = self.safe_integer(params, 'limit', 100)
|
396
|
+
if market['contract']:
|
397
|
+
stringLimit = str(limit)
|
398
|
+
payload.append(stringLimit)
|
399
|
+
return await self.un_subscribe_public_multiple(url, 'orderbook', [symbol], [messageHash], [subMessageHash], payload, channel, params)
|
400
|
+
|
374
401
|
def handle_order_book_subscription(self, client: Client, message, subscription):
|
375
402
|
symbol = self.safe_string(subscription, 'symbol')
|
376
403
|
limit = self.safe_integer(subscription, 'limit')
|
@@ -671,6 +698,37 @@ class gate(ccxt.async_support.gate):
|
|
671
698
|
limit = trades.getLimit(tradeSymbol, limit)
|
672
699
|
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
673
700
|
|
701
|
+
async def un_watch_trades_for_symbols(self, symbols: List[str], params={}) -> Any:
|
702
|
+
"""
|
703
|
+
get the list of most recent trades for a particular symbol
|
704
|
+
:param str symbol: unified symbol of the market to fetch trades for
|
705
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
706
|
+
:returns dict[]: a list of `trade structures <https://docs.ccxt.com/#/?id=public-trades>`
|
707
|
+
"""
|
708
|
+
await self.load_markets()
|
709
|
+
symbols = self.market_symbols(symbols)
|
710
|
+
marketIds = self.market_ids(symbols)
|
711
|
+
market = self.market(symbols[0])
|
712
|
+
messageType = self.get_type_by_market(market)
|
713
|
+
channel = messageType + '.trades'
|
714
|
+
subMessageHashes = []
|
715
|
+
messageHashes = []
|
716
|
+
for i in range(0, len(symbols)):
|
717
|
+
symbol = symbols[i]
|
718
|
+
subMessageHashes.append('trades:' + symbol)
|
719
|
+
messageHashes.append('unsubscribe:trades:' + symbol)
|
720
|
+
url = self.get_url_by_market(market)
|
721
|
+
return await self.un_subscribe_public_multiple(url, 'trades', symbols, messageHashes, subMessageHashes, marketIds, channel, params)
|
722
|
+
|
723
|
+
async def un_watch_trades(self, symbol: str, params={}) -> Any:
|
724
|
+
"""
|
725
|
+
get the list of most recent trades for a particular symbol
|
726
|
+
:param str symbol: unified symbol of the market to fetch trades for
|
727
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
728
|
+
:returns dict[]: a list of `trade structures <https://docs.ccxt.com/#/?id=public-trades>`
|
729
|
+
"""
|
730
|
+
return await self.un_watch_trades_for_symbols([symbol], params)
|
731
|
+
|
674
732
|
def handle_trades(self, client: Client, message):
|
675
733
|
#
|
676
734
|
# {
|
@@ -1445,6 +1503,79 @@ class gate(ccxt.async_support.gate):
|
|
1445
1503
|
if id in client.subscriptions:
|
1446
1504
|
del client.subscriptions[id]
|
1447
1505
|
|
1506
|
+
def handle_un_subscribe(self, client: Client, message):
|
1507
|
+
#
|
1508
|
+
# {
|
1509
|
+
# "time":1725534679,
|
1510
|
+
# "time_ms":1725534679786,
|
1511
|
+
# "id":2,
|
1512
|
+
# "conn_id":"fac539b443fd7002",
|
1513
|
+
# "trace_id":"efe1d282b630b4aa266b84bee177791a",
|
1514
|
+
# "channel":"spot.trades",
|
1515
|
+
# "event":"unsubscribe",
|
1516
|
+
# "payload":[
|
1517
|
+
# "LTC_USDT"
|
1518
|
+
# ],
|
1519
|
+
# "result":{
|
1520
|
+
# "status":"success"
|
1521
|
+
# },
|
1522
|
+
# "requestId":"efe1d282b630b4aa266b84bee177791a"
|
1523
|
+
# }
|
1524
|
+
#
|
1525
|
+
id = self.safe_string(message, 'id')
|
1526
|
+
keys = list(client.subscriptions.keys())
|
1527
|
+
for i in range(0, len(keys)):
|
1528
|
+
messageHash = keys[i]
|
1529
|
+
if not (messageHash in client.subscriptions):
|
1530
|
+
continue
|
1531
|
+
# the previous iteration can have deleted the messageHash from the subscriptions
|
1532
|
+
if messageHash.startswith('unsubscribe'):
|
1533
|
+
subscription = client.subscriptions[messageHash]
|
1534
|
+
subId = self.safe_string(subscription, 'id')
|
1535
|
+
if id != subId:
|
1536
|
+
continue
|
1537
|
+
messageHashes = self.safe_list(subscription, 'messageHashes', [])
|
1538
|
+
subMessageHashes = self.safe_list(subscription, 'subMessageHashes', [])
|
1539
|
+
for j in range(0, len(messageHashes)):
|
1540
|
+
unsubHash = messageHashes[j]
|
1541
|
+
subHash = subMessageHashes[j]
|
1542
|
+
if unsubHash in client.subscriptions:
|
1543
|
+
del client.subscriptions[unsubHash]
|
1544
|
+
if subHash in client.subscriptions:
|
1545
|
+
del client.subscriptions[subHash]
|
1546
|
+
error = UnsubscribeError(self.id + ' ' + messageHash)
|
1547
|
+
client.reject(error, subHash)
|
1548
|
+
client.resolve(True, unsubHash)
|
1549
|
+
self.clean_cache(subscription)
|
1550
|
+
|
1551
|
+
def clean_cache(self, subscription: dict):
|
1552
|
+
topic = self.safe_string(subscription, 'topic', '')
|
1553
|
+
symbols = self.safe_list(subscription, 'symbols', [])
|
1554
|
+
symbolsLength = len(symbols)
|
1555
|
+
if topic == 'ohlcv':
|
1556
|
+
symbolsAndTimeFrames = self.safe_list(subscription, 'symbolsAndTimeframes', [])
|
1557
|
+
for i in range(0, len(symbolsAndTimeFrames)):
|
1558
|
+
symbolAndTimeFrame = symbolsAndTimeFrames[i]
|
1559
|
+
symbol = self.safe_string(symbolAndTimeFrame, 0)
|
1560
|
+
timeframe = self.safe_string(symbolAndTimeFrame, 1)
|
1561
|
+
del self.ohlcvs[symbol][timeframe]
|
1562
|
+
elif symbolsLength > 0:
|
1563
|
+
for i in range(0, len(symbols)):
|
1564
|
+
symbol = symbols[i]
|
1565
|
+
if topic.endswith('trades'):
|
1566
|
+
del self.trades[symbol]
|
1567
|
+
elif topic == 'orderbook':
|
1568
|
+
del self.orderbooks[symbol]
|
1569
|
+
elif topic == 'ticker':
|
1570
|
+
del self.tickers[symbol]
|
1571
|
+
else:
|
1572
|
+
if topic.endswith('trades'):
|
1573
|
+
# don't reset self.myTrades directly here
|
1574
|
+
# because in c# we need to use a different object
|
1575
|
+
keys = list(self.trades.keys())
|
1576
|
+
for i in range(0, len(keys)):
|
1577
|
+
del self.trades[keys[i]]
|
1578
|
+
|
1448
1579
|
def handle_message(self, client: Client, message):
|
1449
1580
|
#
|
1450
1581
|
# subscribe
|
@@ -1541,6 +1672,9 @@ class gate(ccxt.async_support.gate):
|
|
1541
1672
|
if event == 'subscribe':
|
1542
1673
|
self.handle_subscription_status(client, message)
|
1543
1674
|
return
|
1675
|
+
if event == 'unsubscribe':
|
1676
|
+
self.handle_un_subscribe(client, message)
|
1677
|
+
return
|
1544
1678
|
channel = self.safe_string(message, 'channel', '')
|
1545
1679
|
channelParts = channel.split('.')
|
1546
1680
|
channelType = self.safe_value(channelParts, 1)
|
@@ -1645,6 +1779,27 @@ class gate(ccxt.async_support.gate):
|
|
1645
1779
|
message = self.extend(request, params)
|
1646
1780
|
return await self.watch_multiple(url, messageHashes, message, messageHashes)
|
1647
1781
|
|
1782
|
+
async def un_subscribe_public_multiple(self, url, topic, symbols, messageHashes, subMessageHashes, payload, channel, params={}):
|
1783
|
+
requestId = self.request_id()
|
1784
|
+
time = self.seconds()
|
1785
|
+
request: dict = {
|
1786
|
+
'id': requestId,
|
1787
|
+
'time': time,
|
1788
|
+
'channel': channel,
|
1789
|
+
'event': 'unsubscribe',
|
1790
|
+
'payload': payload,
|
1791
|
+
}
|
1792
|
+
sub = {
|
1793
|
+
'id': str(requestId),
|
1794
|
+
'topic': topic,
|
1795
|
+
'unsubscribe': True,
|
1796
|
+
'messageHashes': messageHashes,
|
1797
|
+
'subMessageHashes': subMessageHashes,
|
1798
|
+
'symbols': symbols,
|
1799
|
+
}
|
1800
|
+
message = self.extend(request, params)
|
1801
|
+
return await self.watch_multiple(url, messageHashes, message, messageHashes, sub)
|
1802
|
+
|
1648
1803
|
async def authenticate(self, url, messageType):
|
1649
1804
|
channel = messageType + '.login'
|
1650
1805
|
client = self.client(url)
|
@@ -8,8 +8,10 @@ from ccxt.async_support.base.ws.cache import ArrayCache, ArrayCacheBySymbolById,
|
|
8
8
|
from ccxt.base.types import Balances, Int, Order, OrderBook, Str, Strings, Ticker, Tickers, Trade
|
9
9
|
from ccxt.async_support.base.ws.client import Client
|
10
10
|
from typing import List
|
11
|
+
from typing import Any
|
11
12
|
from ccxt.base.errors import ExchangeError
|
12
13
|
from ccxt.base.errors import ArgumentsRequired
|
14
|
+
from ccxt.base.errors import UnsubscribeError
|
13
15
|
|
14
16
|
|
15
17
|
class kucoin(ccxt.async_support.kucoin):
|
@@ -153,6 +155,24 @@ class kucoin(ccxt.async_support.kucoin):
|
|
153
155
|
client.subscriptions[requestId] = subscriptionHash
|
154
156
|
return await self.watch_multiple(url, messageHashes, message, subscriptionHashes, subscription)
|
155
157
|
|
158
|
+
async def un_subscribe_multiple(self, url, messageHashes, topic, subscriptionHashes, params={}, subscription: dict = None):
|
159
|
+
requestId = str(self.request_id())
|
160
|
+
request: dict = {
|
161
|
+
'id': requestId,
|
162
|
+
'type': 'unsubscribe',
|
163
|
+
'topic': topic,
|
164
|
+
'response': True,
|
165
|
+
}
|
166
|
+
message = self.extend(request, params)
|
167
|
+
if subscription is not None:
|
168
|
+
subscription[requestId] = requestId
|
169
|
+
client = self.client(url)
|
170
|
+
for i in range(0, len(subscriptionHashes)):
|
171
|
+
subscriptionHash = subscriptionHashes[i]
|
172
|
+
if not (subscriptionHash in client.subscriptions):
|
173
|
+
client.subscriptions[requestId] = subscriptionHash
|
174
|
+
return await self.watch_multiple(url, messageHashes, message, subscriptionHashes, subscription)
|
175
|
+
|
156
176
|
async def watch_ticker(self, symbol: str, params={}) -> Ticker:
|
157
177
|
"""
|
158
178
|
watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
@@ -477,6 +497,46 @@ class kucoin(ccxt.async_support.kucoin):
|
|
477
497
|
limit = trades.getLimit(tradeSymbol, limit)
|
478
498
|
return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
479
499
|
|
500
|
+
async def un_watch_trades_for_symbols(self, symbols: List[str], params={}) -> Any:
|
501
|
+
"""
|
502
|
+
unWatches trades stream
|
503
|
+
:see: https://www.kucoin.com/docs/websocket/spot-trading/public-channels/match-execution-data
|
504
|
+
:param str symbol: unified symbol of the market to fetch trades for
|
505
|
+
:param int [since]: timestamp in ms of the earliest trade to fetch
|
506
|
+
:param int [limit]: the maximum amount of trades to fetch
|
507
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
508
|
+
:returns dict[]: a list of `trade structures <https://docs.ccxt.com/#/?id=public-trades>`
|
509
|
+
"""
|
510
|
+
await self.load_markets()
|
511
|
+
symbols = self.market_symbols(symbols, None, False)
|
512
|
+
marketIds = self.market_ids(symbols)
|
513
|
+
url = await self.negotiate(False)
|
514
|
+
messageHashes = []
|
515
|
+
subscriptionHashes = []
|
516
|
+
topic = '/market/match:' + ','.join(marketIds)
|
517
|
+
for i in range(0, len(symbols)):
|
518
|
+
symbol = symbols[i]
|
519
|
+
messageHashes.append('unsubscribe:trades:' + symbol)
|
520
|
+
subscriptionHashes.append('trades:' + symbol)
|
521
|
+
subscription = {
|
522
|
+
'messageHashes': messageHashes,
|
523
|
+
'subMessageHashes': subscriptionHashes,
|
524
|
+
'topic': 'trades',
|
525
|
+
'unsubscribe': True,
|
526
|
+
'symbols': symbols,
|
527
|
+
}
|
528
|
+
return await self.un_subscribe_multiple(url, messageHashes, topic, messageHashes, params, subscription)
|
529
|
+
|
530
|
+
async def un_watch_trades(self, symbol: str, params={}) -> Any:
|
531
|
+
"""
|
532
|
+
unWatches trades stream
|
533
|
+
:see: https://www.kucoin.com/docs/websocket/spot-trading/public-channels/match-execution-data
|
534
|
+
:param str symbol: unified symbol of the market to fetch trades for
|
535
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
536
|
+
:returns dict[]: a list of `trade structures <https://docs.ccxt.com/#/?id=public-trades>`
|
537
|
+
"""
|
538
|
+
return await self.un_watch_trades_for_symbols([symbol], params)
|
539
|
+
|
480
540
|
def handle_trade(self, client: Client, message):
|
481
541
|
#
|
482
542
|
# {
|
@@ -731,6 +791,53 @@ class kucoin(ccxt.async_support.kucoin):
|
|
731
791
|
method = self.safe_value(subscription, 'method')
|
732
792
|
if method is not None:
|
733
793
|
method(client, message, subscription)
|
794
|
+
isUnSub = self.safe_bool(subscription, 'unsubscribe', False)
|
795
|
+
if isUnSub:
|
796
|
+
messageHashes = self.safe_list(subscription, 'messageHashes', [])
|
797
|
+
subMessageHashes = self.safe_list(subscription, 'subMessageHashes', [])
|
798
|
+
for i in range(0, len(messageHashes)):
|
799
|
+
messageHash = messageHashes[i]
|
800
|
+
subHash = subMessageHashes[i]
|
801
|
+
if messageHash in client.subscriptions:
|
802
|
+
del client.subscriptions[messageHash]
|
803
|
+
if subHash in client.subscriptions:
|
804
|
+
del client.subscriptions[subHash]
|
805
|
+
error = UnsubscribeError(self.id + ' ' + subHash)
|
806
|
+
client.reject(error, subHash)
|
807
|
+
client.resolve(True, messageHash)
|
808
|
+
self.clean_cache(subscription)
|
809
|
+
|
810
|
+
def clean_cache(self, subscription: dict):
|
811
|
+
topic = self.safe_string(subscription, 'topic')
|
812
|
+
symbols = self.safe_list(subscription, 'symbols', [])
|
813
|
+
symbolsLength = len(symbols)
|
814
|
+
if symbolsLength > 0:
|
815
|
+
for i in range(0, len(symbols)):
|
816
|
+
symbol = symbols[i]
|
817
|
+
if topic == 'trades':
|
818
|
+
if symbol in self.trades:
|
819
|
+
del self.trades[symbol]
|
820
|
+
elif topic == 'orderbook':
|
821
|
+
if symbol in self.orderbooks:
|
822
|
+
del self.orderbooks[symbol]
|
823
|
+
elif topic == 'ticker':
|
824
|
+
if symbol in self.tickers:
|
825
|
+
del self.tickers[symbol]
|
826
|
+
else:
|
827
|
+
if topic == 'myTrades':
|
828
|
+
# don't reset self.myTrades directly here
|
829
|
+
# because in c# we need to use a different object
|
830
|
+
keys = list(self.myTrades.keys())
|
831
|
+
for i in range(0, len(keys)):
|
832
|
+
del self.myTrades[keys[i]]
|
833
|
+
elif topic == 'orders':
|
834
|
+
orderSymbols = list(self.orders.keys())
|
835
|
+
for i in range(0, len(orderSymbols)):
|
836
|
+
del self.orders[orderSymbols[i]]
|
837
|
+
elif topic == 'ticker':
|
838
|
+
tickerSymbols = list(self.tickers.keys())
|
839
|
+
for i in range(0, len(tickerSymbols)):
|
840
|
+
del self.tickers[tickerSymbols[i]]
|
734
841
|
|
735
842
|
def handle_system_status(self, client: Client, message):
|
736
843
|
#
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.3.
|
3
|
+
Version: 4.3.97
|
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
|
@@ -261,13 +261,13 @@ console.log(version, Object.keys(exchanges));
|
|
261
261
|
|
262
262
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
263
263
|
|
264
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
265
|
-
* unpkg: https://unpkg.com/ccxt@4.3.
|
264
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.97/dist/ccxt.browser.min.js
|
265
|
+
* unpkg: https://unpkg.com/ccxt@4.3.97/dist/ccxt.browser.min.js
|
266
266
|
|
267
267
|
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.
|
268
268
|
|
269
269
|
```HTML
|
270
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
270
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.97/dist/ccxt.browser.min.js"></script>
|
271
271
|
```
|
272
272
|
|
273
273
|
Creates a global `ccxt` object:
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|