ccxt 4.3.35__tar.gz → 4.3.36__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.35/ccxt.egg-info → ccxt-4.3.36}/PKG-INFO +4 -4
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/__init__.py +1 -1
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitbay.py +6 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/zonda.py +6 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/exchange.py +1 -1
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bingx.py +2 -2
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bit2c.py +2 -1
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitget.py +10 -4
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/paymium.py +4 -1
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/whitebit.py +24 -3
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/zaif.py +30 -2
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/zonda.py +6 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/base/exchange.py +1 -1
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bingx.py +2 -2
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bit2c.py +2 -1
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitget.py +10 -4
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/paymium.py +4 -1
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/binance.py +4 -4
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bingx.py +9 -4
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitfinex2.py +4 -4
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitmart.py +8 -6
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bybit.py +6 -6
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/htx.py +5 -6
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/okx.py +3 -4
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/woo.py +4 -4
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/whitebit.py +24 -3
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/zaif.py +30 -2
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/zonda.py +6 -0
- {ccxt-4.3.35 → ccxt-4.3.36/ccxt.egg-info}/PKG-INFO +4 -4
- {ccxt-4.3.35 → ccxt-4.3.36}/package.json +1 -1
- {ccxt-4.3.35 → ccxt-4.3.36}/LICENSE.txt +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/MANIFEST.in +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/README.rst +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinbaseadvanced.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinbaseexchange.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/tradeogre.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/woofipro.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/ace.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/alpaca.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/ascendex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/binance.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bybit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinbaseadvanced.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinbaseexchange.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinbaseinternational.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/gate.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/htx.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/hyperliquid.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/kucoin.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/okx.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/tradeogre.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/woofipro.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/base/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/base/errors.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/base/precise.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/base/types.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bequant.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bigone.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/binance.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/binanceus.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitbank.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitbay.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitbns.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitfinex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitflyer.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bithumb.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitmart.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitmex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitopro.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitpanda.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitrue.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitso.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitstamp.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitteam.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitvavo.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bl3p.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/blofin.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/btcalpha.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/btcbox.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/btcturk.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bybit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/cex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinbase.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinbaseadvanced.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinbaseexchange.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinbaseinternational.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coincheck.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinlist.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinmate.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinmetro.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinone.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinsph.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinspot.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/cryptocom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/currencycom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/delta.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/deribit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/digifinex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/exmo.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/fmfwio.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/gate.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/gateio.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/gemini.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/hitbtc.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/hollaex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/htx.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/huobi.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/huobijp.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/hyperliquid.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/idex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/independentreserve.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/indodax.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/kraken.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/kucoin.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/kuna.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/latoken.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/lbank.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/luno.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/lykke.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/mercado.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/mexc.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/ndax.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/novadax.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/oceanex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/okcoin.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/okx.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/onetrading.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/p2b.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/phemex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/poloniex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/cex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/coinbaseexchange.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/gate.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/idex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/luno.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/probit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/woofipro.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/probit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/__init__.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_account.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_balance.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_borrow_interest.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_borrow_rate.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_calculate_fee.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_crypto.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_currency.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_datetime.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_decimal_to_precision.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_deep_extend.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_funding_rate_history.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_last_price.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_ledger_entry.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_ledger_item.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_leverage_tier.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_liquidation.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_margin_mode.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_margin_modification.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_market.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_number.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_ohlcv.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_open_interest.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_order.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_order_book.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_position.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_shared_methods.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_status.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_throttle.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_ticker.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_trade.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_trading_fee.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_transaction.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/test_async.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/test_sync.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/timex.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/tradeogre.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/upbit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/wazirx.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/woo.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/woofipro.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/yobit.py +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/setup.cfg +0 -0
- {ccxt-4.3.35 → ccxt-4.3.36}/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.36
|
4
4
|
Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges
|
5
5
|
Home-page: https://ccxt.com
|
6
6
|
Author: Igor Kroitor
|
@@ -228,13 +228,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
228
228
|
|
229
229
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
230
230
|
|
231
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
232
|
-
* unpkg: https://unpkg.com/ccxt@4.3.
|
231
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.36/dist/ccxt.browser.min.js
|
232
|
+
* unpkg: https://unpkg.com/ccxt@4.3.36/dist/ccxt.browser.min.js
|
233
233
|
|
234
234
|
CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
|
235
235
|
|
236
236
|
```HTML
|
237
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
237
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.36/dist/ccxt.browser.min.js"></script>
|
238
238
|
```
|
239
239
|
|
240
240
|
Creates a global `ccxt` object:
|
@@ -34,6 +34,10 @@ class ImplicitAPI:
|
|
34
34
|
v1_01private_get_balances_bitbay_balance = v1_01PrivateGetBalancesBITBAYBalance = Entry('balances/BITBAY/balance', 'v1_01Private', 'GET', {})
|
35
35
|
v1_01private_get_fiat_cantor_rate_baseid_quoteid = v1_01PrivateGetFiatCantorRateBaseIdQuoteId = Entry('fiat_cantor/rate/{baseId}/{quoteId}', 'v1_01Private', 'GET', {})
|
36
36
|
v1_01private_get_fiat_cantor_history = v1_01PrivateGetFiatCantorHistory = Entry('fiat_cantor/history', 'v1_01Private', 'GET', {})
|
37
|
+
v1_01private_get_client_payments_v2_customer_crypto_currency_channels_deposit = v1_01PrivateGetClientPaymentsV2CustomerCryptoCurrencyChannelsDeposit = Entry('client_payments/v2/customer/crypto/{currency}/channels/deposit', 'v1_01Private', 'GET', {})
|
38
|
+
v1_01private_get_client_payments_v2_customer_crypto_currency_channels_withdrawal = v1_01PrivateGetClientPaymentsV2CustomerCryptoCurrencyChannelsWithdrawal = Entry('client_payments/v2/customer/crypto/{currency}/channels/withdrawal', 'v1_01Private', 'GET', {})
|
39
|
+
v1_01private_get_client_payments_v2_customer_crypto_deposit_fee = v1_01PrivateGetClientPaymentsV2CustomerCryptoDepositFee = Entry('client_payments/v2/customer/crypto/deposit/fee', 'v1_01Private', 'GET', {})
|
40
|
+
v1_01private_get_client_payments_v2_customer_crypto_withdrawal_fee = v1_01PrivateGetClientPaymentsV2CustomerCryptoWithdrawalFee = Entry('client_payments/v2/customer/crypto/withdrawal/fee', 'v1_01Private', 'GET', {})
|
37
41
|
v1_01private_post_trading_offer_symbol = v1_01PrivatePostTradingOfferSymbol = Entry('trading/offer/{symbol}', 'v1_01Private', 'POST', {})
|
38
42
|
v1_01private_post_trading_stop_offer_symbol = v1_01PrivatePostTradingStopOfferSymbol = Entry('trading/stop/offer/{symbol}', 'v1_01Private', 'POST', {})
|
39
43
|
v1_01private_post_trading_config_symbol = v1_01PrivatePostTradingConfigSymbol = Entry('trading/config/{symbol}', 'v1_01Private', 'POST', {})
|
@@ -42,6 +46,8 @@ class ImplicitAPI:
|
|
42
46
|
v1_01private_post_fiat_cantor_exchange = v1_01PrivatePostFiatCantorExchange = Entry('fiat_cantor/exchange', 'v1_01Private', 'POST', {})
|
43
47
|
v1_01private_post_api_payments_withdrawals_crypto = v1_01PrivatePostApiPaymentsWithdrawalsCrypto = Entry('api_payments/withdrawals/crypto', 'v1_01Private', 'POST', {})
|
44
48
|
v1_01private_post_api_payments_withdrawals_fiat = v1_01PrivatePostApiPaymentsWithdrawalsFiat = Entry('api_payments/withdrawals/fiat', 'v1_01Private', 'POST', {})
|
49
|
+
v1_01private_post_client_payments_v2_customer_crypto_deposit = v1_01PrivatePostClientPaymentsV2CustomerCryptoDeposit = Entry('client_payments/v2/customer/crypto/deposit', 'v1_01Private', 'POST', {})
|
50
|
+
v1_01private_post_client_payments_v2_customer_crypto_withdrawal = v1_01PrivatePostClientPaymentsV2CustomerCryptoWithdrawal = Entry('client_payments/v2/customer/crypto/withdrawal', 'v1_01Private', 'POST', {})
|
45
51
|
v1_01private_delete_trading_offer_symbol_id_side_price = v1_01PrivateDeleteTradingOfferSymbolIdSidePrice = Entry('trading/offer/{symbol}/{id}/{side}/{price}', 'v1_01Private', 'DELETE', {})
|
46
52
|
v1_01private_delete_trading_stop_offer_symbol_id_side_price = v1_01PrivateDeleteTradingStopOfferSymbolIdSidePrice = Entry('trading/stop/offer/{symbol}/{id}/{side}/{price}', 'v1_01Private', 'DELETE', {})
|
47
53
|
v1_01private_put_balances_bitbay_balance_id = v1_01PrivatePutBalancesBITBAYBalanceId = Entry('balances/BITBAY/balance/{id}', 'v1_01Private', 'PUT', {})
|
@@ -34,6 +34,10 @@ class ImplicitAPI:
|
|
34
34
|
v1_01private_get_balances_bitbay_balance = v1_01PrivateGetBalancesBITBAYBalance = Entry('balances/BITBAY/balance', 'v1_01Private', 'GET', {})
|
35
35
|
v1_01private_get_fiat_cantor_rate_baseid_quoteid = v1_01PrivateGetFiatCantorRateBaseIdQuoteId = Entry('fiat_cantor/rate/{baseId}/{quoteId}', 'v1_01Private', 'GET', {})
|
36
36
|
v1_01private_get_fiat_cantor_history = v1_01PrivateGetFiatCantorHistory = Entry('fiat_cantor/history', 'v1_01Private', 'GET', {})
|
37
|
+
v1_01private_get_client_payments_v2_customer_crypto_currency_channels_deposit = v1_01PrivateGetClientPaymentsV2CustomerCryptoCurrencyChannelsDeposit = Entry('client_payments/v2/customer/crypto/{currency}/channels/deposit', 'v1_01Private', 'GET', {})
|
38
|
+
v1_01private_get_client_payments_v2_customer_crypto_currency_channels_withdrawal = v1_01PrivateGetClientPaymentsV2CustomerCryptoCurrencyChannelsWithdrawal = Entry('client_payments/v2/customer/crypto/{currency}/channels/withdrawal', 'v1_01Private', 'GET', {})
|
39
|
+
v1_01private_get_client_payments_v2_customer_crypto_deposit_fee = v1_01PrivateGetClientPaymentsV2CustomerCryptoDepositFee = Entry('client_payments/v2/customer/crypto/deposit/fee', 'v1_01Private', 'GET', {})
|
40
|
+
v1_01private_get_client_payments_v2_customer_crypto_withdrawal_fee = v1_01PrivateGetClientPaymentsV2CustomerCryptoWithdrawalFee = Entry('client_payments/v2/customer/crypto/withdrawal/fee', 'v1_01Private', 'GET', {})
|
37
41
|
v1_01private_post_trading_offer_symbol = v1_01PrivatePostTradingOfferSymbol = Entry('trading/offer/{symbol}', 'v1_01Private', 'POST', {})
|
38
42
|
v1_01private_post_trading_stop_offer_symbol = v1_01PrivatePostTradingStopOfferSymbol = Entry('trading/stop/offer/{symbol}', 'v1_01Private', 'POST', {})
|
39
43
|
v1_01private_post_trading_config_symbol = v1_01PrivatePostTradingConfigSymbol = Entry('trading/config/{symbol}', 'v1_01Private', 'POST', {})
|
@@ -42,6 +46,8 @@ class ImplicitAPI:
|
|
42
46
|
v1_01private_post_fiat_cantor_exchange = v1_01PrivatePostFiatCantorExchange = Entry('fiat_cantor/exchange', 'v1_01Private', 'POST', {})
|
43
47
|
v1_01private_post_api_payments_withdrawals_crypto = v1_01PrivatePostApiPaymentsWithdrawalsCrypto = Entry('api_payments/withdrawals/crypto', 'v1_01Private', 'POST', {})
|
44
48
|
v1_01private_post_api_payments_withdrawals_fiat = v1_01PrivatePostApiPaymentsWithdrawalsFiat = Entry('api_payments/withdrawals/fiat', 'v1_01Private', 'POST', {})
|
49
|
+
v1_01private_post_client_payments_v2_customer_crypto_deposit = v1_01PrivatePostClientPaymentsV2CustomerCryptoDeposit = Entry('client_payments/v2/customer/crypto/deposit', 'v1_01Private', 'POST', {})
|
50
|
+
v1_01private_post_client_payments_v2_customer_crypto_withdrawal = v1_01PrivatePostClientPaymentsV2CustomerCryptoWithdrawal = Entry('client_payments/v2/customer/crypto/withdrawal', 'v1_01Private', 'POST', {})
|
45
51
|
v1_01private_delete_trading_offer_symbol_id_side_price = v1_01PrivateDeleteTradingOfferSymbolIdSidePrice = Entry('trading/offer/{symbol}/{id}/{side}/{price}', 'v1_01Private', 'DELETE', {})
|
46
52
|
v1_01private_delete_trading_stop_offer_symbol_id_side_price = v1_01PrivateDeleteTradingStopOfferSymbolIdSidePrice = Entry('trading/stop/offer/{symbol}/{id}/{side}/{price}', 'v1_01Private', 'DELETE', {})
|
47
53
|
v1_01private_put_balances_bitbay_balance_id = v1_01PrivatePutBalancesBITBAYBalanceId = Entry('balances/BITBAY/balance/{id}', 'v1_01Private', 'PUT', {})
|
@@ -1017,7 +1017,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
1017
1017
|
if time == 0:
|
1018
1018
|
time = None
|
1019
1019
|
cost = self.safe_string(trade, 'quoteQty')
|
1020
|
-
type = 'spot' if (cost is None) else 'swap'
|
1020
|
+
# type = 'spot' if (cost is None) else 'swap'; self is not reliable
|
1021
1021
|
currencyId = self.safe_string_n(trade, ['currency', 'N', 'commissionAsset'])
|
1022
1022
|
currencyCode = self.safe_currency_code(currencyId)
|
1023
1023
|
m = self.safe_bool(trade, 'm')
|
@@ -1048,7 +1048,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
1048
1048
|
'info': trade,
|
1049
1049
|
'timestamp': time,
|
1050
1050
|
'datetime': self.iso8601(time),
|
1051
|
-
'symbol': self.safe_symbol(marketId, market, '-'
|
1051
|
+
'symbol': self.safe_symbol(marketId, market, '-'),
|
1052
1052
|
'order': self.safe_string_2(trade, 'orderId', 'i'),
|
1053
1053
|
'type': self.safe_string_lower(trade, 'o'),
|
1054
1054
|
'side': self.parse_order_side(side),
|
@@ -448,7 +448,8 @@ class bit2c(Exchange, ImplicitAPI):
|
|
448
448
|
request: dict = {
|
449
449
|
'id': id,
|
450
450
|
}
|
451
|
-
|
451
|
+
response = await self.privatePostOrderCancelOrder(self.extend(request, params))
|
452
|
+
return self.parse_order(response)
|
452
453
|
|
453
454
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
454
455
|
"""
|
@@ -1250,6 +1250,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
1250
1250
|
'40712': InsufficientFunds, # Insufficient margin
|
1251
1251
|
'40713': ExchangeError, # Cannot exceed the maximum transferable margin amount
|
1252
1252
|
'40714': ExchangeError, # No direct margin call is allowed
|
1253
|
+
'40762': InsufficientFunds, # {"code":"40762","msg":"The order amount exceeds the balance","requestTime":1716572156622,"data":null}
|
1253
1254
|
'40768': OrderNotFound, # Order does not exist"
|
1254
1255
|
'41114': OnMaintenance, # {"code":"41114","msg":"The current trading pair is under maintenance, please refer to the official announcement for the opening time","requestTime":1679196062544,"data":null}
|
1255
1256
|
'43011': InvalidOrder, # The parameter does not meet the specification executePrice <= 0
|
@@ -4139,18 +4140,23 @@ class bitget(Exchange, ImplicitAPI):
|
|
4139
4140
|
marginMode = 'cross'
|
4140
4141
|
marginModeRequest = 'crossed' if (marginMode == 'cross') else 'isolated'
|
4141
4142
|
request['marginMode'] = marginModeRequest
|
4142
|
-
|
4143
|
-
params = self.
|
4143
|
+
hedged = None
|
4144
|
+
hedged, params = self.handle_param_bool(params, 'hedged', False)
|
4145
|
+
# backward compatibility for `oneWayMode`
|
4146
|
+
oneWayMode = None
|
4147
|
+
oneWayMode, params = self.handle_param_bool(params, 'oneWayMode')
|
4148
|
+
if oneWayMode is not None:
|
4149
|
+
hedged = not oneWayMode
|
4144
4150
|
requestSide = side
|
4145
4151
|
if reduceOnly:
|
4146
|
-
if
|
4152
|
+
if not hedged:
|
4147
4153
|
request['reduceOnly'] = 'YES'
|
4148
4154
|
else:
|
4149
4155
|
# on bitget hedge mode if the position is long the side is always buy, and if the position is short the side is always sell
|
4150
4156
|
requestSide = 'sell' if (side == 'buy') else 'buy'
|
4151
4157
|
request['tradeSide'] = 'Close'
|
4152
4158
|
else:
|
4153
|
-
if
|
4159
|
+
if hedged:
|
4154
4160
|
request['tradeSide'] = 'Open'
|
4155
4161
|
request['side'] = requestSide
|
4156
4162
|
elif marketType == 'spot':
|
@@ -407,7 +407,10 @@ class paymium(Exchange, ImplicitAPI):
|
|
407
407
|
request: dict = {
|
408
408
|
'uuid': id,
|
409
409
|
}
|
410
|
-
|
410
|
+
response = await self.privateDeleteUserOrdersUuidCancel(self.extend(request, params))
|
411
|
+
return self.safe_order({
|
412
|
+
'info': response,
|
413
|
+
})
|
411
414
|
|
412
415
|
async def transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={}) -> TransferEntry:
|
413
416
|
"""
|
@@ -1341,7 +1341,27 @@ class whitebit(Exchange, ImplicitAPI):
|
|
1341
1341
|
'market': market['id'],
|
1342
1342
|
'orderId': int(id),
|
1343
1343
|
}
|
1344
|
-
|
1344
|
+
response = await self.v4PrivatePostOrderCancel(self.extend(request, params))
|
1345
|
+
#
|
1346
|
+
# {
|
1347
|
+
# "orderId": 4180284841, # order id
|
1348
|
+
# "clientOrderId": "customId11", # custom order identifier; "clientOrderId": "" - if not specified.
|
1349
|
+
# "market": "BTC_USDT", # deal market
|
1350
|
+
# "side": "buy", # order side
|
1351
|
+
# "type": "stop market", # order type
|
1352
|
+
# "timestamp": 1595792396.165973, # current timestamp
|
1353
|
+
# "dealMoney": "0", # if order finished - amount in money currency that is finished
|
1354
|
+
# "dealStock": "0", # if order finished - amount in stock currency that is finished
|
1355
|
+
# "amount": "0.001", # amount
|
1356
|
+
# "takerFee": "0.001", # maker fee ratio. If the number less than 0.0001 - it will be rounded to zero
|
1357
|
+
# "makerFee": "0.001", # maker fee ratio. If the number less than 0.0001 - it will be rounded to zero
|
1358
|
+
# "left": "0.001", # if order not finished - rest of the amount that must be finished
|
1359
|
+
# "dealFee": "0", # fee in money that you pay if order is finished
|
1360
|
+
# "price": "40000", # price if price isset
|
1361
|
+
# "activation_price": "40000" # activation price if activation price is set
|
1362
|
+
# }
|
1363
|
+
#
|
1364
|
+
return self.parse_order(response)
|
1345
1365
|
|
1346
1366
|
async def cancel_all_orders(self, symbol: Str = None, params={}):
|
1347
1367
|
"""
|
@@ -1378,7 +1398,7 @@ class whitebit(Exchange, ImplicitAPI):
|
|
1378
1398
|
#
|
1379
1399
|
# []
|
1380
1400
|
#
|
1381
|
-
return response
|
1401
|
+
return self.parse_orders(response, market)
|
1382
1402
|
|
1383
1403
|
async def cancel_all_orders_after(self, timeout: Int, params={}):
|
1384
1404
|
"""
|
@@ -1588,7 +1608,7 @@ class whitebit(Exchange, ImplicitAPI):
|
|
1588
1608
|
|
1589
1609
|
def parse_order(self, order: dict, market: Market = None) -> Order:
|
1590
1610
|
#
|
1591
|
-
# createOrder, fetchOpenOrders
|
1611
|
+
# createOrder, fetchOpenOrders, cancelOrder
|
1592
1612
|
#
|
1593
1613
|
# {
|
1594
1614
|
# "orderId":105687928629,
|
@@ -1603,6 +1623,7 @@ class whitebit(Exchange, ImplicitAPI):
|
|
1603
1623
|
# "takerFee":"0.001",
|
1604
1624
|
# "makerFee":"0",
|
1605
1625
|
# "left":"100",
|
1626
|
+
# "price": "40000", # price if price isset
|
1606
1627
|
# "dealFee":"0",
|
1607
1628
|
# "activation_price":"0.065" # stop price(if stop limit or stop market)
|
1608
1629
|
# }
|
@@ -461,7 +461,23 @@ class zaif(Exchange, ImplicitAPI):
|
|
461
461
|
request: dict = {
|
462
462
|
'order_id': id,
|
463
463
|
}
|
464
|
-
|
464
|
+
response = await self.privatePostCancelOrder(self.extend(request, params))
|
465
|
+
#
|
466
|
+
# {
|
467
|
+
# "success": 1,
|
468
|
+
# "return": {
|
469
|
+
# "order_id": 184,
|
470
|
+
# "funds": {
|
471
|
+
# "jpy": 15320,
|
472
|
+
# "btc": 1.392,
|
473
|
+
# "mona": 2600,
|
474
|
+
# "kaori": 0.1
|
475
|
+
# }
|
476
|
+
# }
|
477
|
+
# }
|
478
|
+
#
|
479
|
+
data = self.safe_dict(response, 'return')
|
480
|
+
return self.parse_order(data)
|
465
481
|
|
466
482
|
def parse_order(self, order: dict, market: Market = None) -> Order:
|
467
483
|
#
|
@@ -474,6 +490,18 @@ class zaif(Exchange, ImplicitAPI):
|
|
474
490
|
# "comment" : "demo"
|
475
491
|
# }
|
476
492
|
#
|
493
|
+
# cancelOrder
|
494
|
+
#
|
495
|
+
# {
|
496
|
+
# "order_id": 184,
|
497
|
+
# "funds": {
|
498
|
+
# "jpy": 15320,
|
499
|
+
# "btc": 1.392,
|
500
|
+
# "mona": 2600,
|
501
|
+
# "kaori": 0.1
|
502
|
+
# }
|
503
|
+
# }
|
504
|
+
#
|
477
505
|
side = self.safe_string(order, 'action')
|
478
506
|
side = 'buy' if (side == 'bid') else 'sell'
|
479
507
|
timestamp = self.safe_timestamp(order, 'timestamp')
|
@@ -481,7 +509,7 @@ class zaif(Exchange, ImplicitAPI):
|
|
481
509
|
symbol = self.safe_symbol(marketId, market, '_')
|
482
510
|
price = self.safe_string(order, 'price')
|
483
511
|
amount = self.safe_string(order, 'amount')
|
484
|
-
id = self.
|
512
|
+
id = self.safe_string_2(order, 'id', 'order_id')
|
485
513
|
return self.safe_order({
|
486
514
|
'id': id,
|
487
515
|
'clientOrderId': None,
|
@@ -183,6 +183,10 @@ class zonda(Exchange, ImplicitAPI):
|
|
183
183
|
'balances/BITBAY/balance',
|
184
184
|
'fiat_cantor/rate/{baseId}/{quoteId}',
|
185
185
|
'fiat_cantor/history',
|
186
|
+
'client_payments/v2/customer/crypto/{currency}/channels/deposit',
|
187
|
+
'client_payments/v2/customer/crypto/{currency}/channels/withdrawal',
|
188
|
+
'client_payments/v2/customer/crypto/deposit/fee',
|
189
|
+
'client_payments/v2/customer/crypto/withdrawal/fee',
|
186
190
|
],
|
187
191
|
'post': [
|
188
192
|
'trading/offer/{symbol}',
|
@@ -193,6 +197,8 @@ class zonda(Exchange, ImplicitAPI):
|
|
193
197
|
'fiat_cantor/exchange',
|
194
198
|
'api_payments/withdrawals/crypto',
|
195
199
|
'api_payments/withdrawals/fiat',
|
200
|
+
'client_payments/v2/customer/crypto/deposit',
|
201
|
+
'client_payments/v2/customer/crypto/withdrawal',
|
196
202
|
],
|
197
203
|
'delete': [
|
198
204
|
'trading/offer/{symbol}/{id}/{side}/{price}',
|
@@ -1016,7 +1016,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
1016
1016
|
if time == 0:
|
1017
1017
|
time = None
|
1018
1018
|
cost = self.safe_string(trade, 'quoteQty')
|
1019
|
-
type = 'spot' if (cost is None) else 'swap'
|
1019
|
+
# type = 'spot' if (cost is None) else 'swap'; self is not reliable
|
1020
1020
|
currencyId = self.safe_string_n(trade, ['currency', 'N', 'commissionAsset'])
|
1021
1021
|
currencyCode = self.safe_currency_code(currencyId)
|
1022
1022
|
m = self.safe_bool(trade, 'm')
|
@@ -1047,7 +1047,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
1047
1047
|
'info': trade,
|
1048
1048
|
'timestamp': time,
|
1049
1049
|
'datetime': self.iso8601(time),
|
1050
|
-
'symbol': self.safe_symbol(marketId, market, '-'
|
1050
|
+
'symbol': self.safe_symbol(marketId, market, '-'),
|
1051
1051
|
'order': self.safe_string_2(trade, 'orderId', 'i'),
|
1052
1052
|
'type': self.safe_string_lower(trade, 'o'),
|
1053
1053
|
'side': self.parse_order_side(side),
|
@@ -448,7 +448,8 @@ class bit2c(Exchange, ImplicitAPI):
|
|
448
448
|
request: dict = {
|
449
449
|
'id': id,
|
450
450
|
}
|
451
|
-
|
451
|
+
response = self.privatePostOrderCancelOrder(self.extend(request, params))
|
452
|
+
return self.parse_order(response)
|
452
453
|
|
453
454
|
def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
454
455
|
"""
|
@@ -1249,6 +1249,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
1249
1249
|
'40712': InsufficientFunds, # Insufficient margin
|
1250
1250
|
'40713': ExchangeError, # Cannot exceed the maximum transferable margin amount
|
1251
1251
|
'40714': ExchangeError, # No direct margin call is allowed
|
1252
|
+
'40762': InsufficientFunds, # {"code":"40762","msg":"The order amount exceeds the balance","requestTime":1716572156622,"data":null}
|
1252
1253
|
'40768': OrderNotFound, # Order does not exist"
|
1253
1254
|
'41114': OnMaintenance, # {"code":"41114","msg":"The current trading pair is under maintenance, please refer to the official announcement for the opening time","requestTime":1679196062544,"data":null}
|
1254
1255
|
'43011': InvalidOrder, # The parameter does not meet the specification executePrice <= 0
|
@@ -4138,18 +4139,23 @@ class bitget(Exchange, ImplicitAPI):
|
|
4138
4139
|
marginMode = 'cross'
|
4139
4140
|
marginModeRequest = 'crossed' if (marginMode == 'cross') else 'isolated'
|
4140
4141
|
request['marginMode'] = marginModeRequest
|
4141
|
-
|
4142
|
-
params = self.
|
4142
|
+
hedged = None
|
4143
|
+
hedged, params = self.handle_param_bool(params, 'hedged', False)
|
4144
|
+
# backward compatibility for `oneWayMode`
|
4145
|
+
oneWayMode = None
|
4146
|
+
oneWayMode, params = self.handle_param_bool(params, 'oneWayMode')
|
4147
|
+
if oneWayMode is not None:
|
4148
|
+
hedged = not oneWayMode
|
4143
4149
|
requestSide = side
|
4144
4150
|
if reduceOnly:
|
4145
|
-
if
|
4151
|
+
if not hedged:
|
4146
4152
|
request['reduceOnly'] = 'YES'
|
4147
4153
|
else:
|
4148
4154
|
# on bitget hedge mode if the position is long the side is always buy, and if the position is short the side is always sell
|
4149
4155
|
requestSide = 'sell' if (side == 'buy') else 'buy'
|
4150
4156
|
request['tradeSide'] = 'Close'
|
4151
4157
|
else:
|
4152
|
-
if
|
4158
|
+
if hedged:
|
4153
4159
|
request['tradeSide'] = 'Open'
|
4154
4160
|
request['side'] = requestSide
|
4155
4161
|
elif marketType == 'spot':
|
@@ -407,7 +407,10 @@ class paymium(Exchange, ImplicitAPI):
|
|
407
407
|
request: dict = {
|
408
408
|
'uuid': id,
|
409
409
|
}
|
410
|
-
|
410
|
+
response = self.privateDeleteUserOrdersUuidCancel(self.extend(request, params))
|
411
|
+
return self.safe_order({
|
412
|
+
'info': response,
|
413
|
+
})
|
411
414
|
|
412
415
|
def transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={}) -> TransferEntry:
|
413
416
|
"""
|
@@ -691,10 +691,10 @@ class binance(ccxt.async_support.binance):
|
|
691
691
|
# todo: self is a synch blocking call - make it async
|
692
692
|
# default 100, max 1000, valid limits 5, 10, 20, 50, 100, 500, 1000
|
693
693
|
snapshot = await self.fetch_rest_order_book_safe(symbol, limit, params)
|
694
|
-
|
695
|
-
if orderbook is None:
|
694
|
+
if self.safe_value(self.orderbooks, symbol) is None:
|
696
695
|
# if the orderbook is dropped before the snapshot is received
|
697
696
|
return
|
697
|
+
orderbook = self.orderbooks[symbol]
|
698
698
|
orderbook.reset(snapshot)
|
699
699
|
# unroll the accumulated deltas
|
700
700
|
messages = orderbook.cache
|
@@ -770,8 +770,7 @@ class binance(ccxt.async_support.binance):
|
|
770
770
|
symbol = market['symbol']
|
771
771
|
name = 'depth'
|
772
772
|
messageHash = market['lowercaseId'] + '@' + name
|
773
|
-
|
774
|
-
if orderbook is None:
|
773
|
+
if not (symbol in self.orderbooks):
|
775
774
|
#
|
776
775
|
# https://github.com/ccxt/ccxt/issues/6672
|
777
776
|
#
|
@@ -781,6 +780,7 @@ class binance(ccxt.async_support.binance):
|
|
781
780
|
# therefore it is safe to drop these premature messages.
|
782
781
|
#
|
783
782
|
return
|
783
|
+
orderbook = self.orderbooks[symbol]
|
784
784
|
nonce = self.safe_integer(orderbook, 'nonce')
|
785
785
|
if nonce is None:
|
786
786
|
# 2. Buffer the events you receive from the stream.
|
@@ -928,13 +928,16 @@ class bingx(ccxt.async_support.bingx):
|
|
928
928
|
# }
|
929
929
|
#
|
930
930
|
isSpot = ('dataType' in message)
|
931
|
-
result = self.
|
931
|
+
result = self.safe_dict_2(message, 'data', 'o', {})
|
932
932
|
cachedTrades = self.myTrades
|
933
933
|
if cachedTrades is None:
|
934
934
|
limit = self.safe_integer(self.options, 'tradesLimit', 1000)
|
935
935
|
cachedTrades = ArrayCacheBySymbolById(limit)
|
936
936
|
self.myTrades = cachedTrades
|
937
|
-
|
937
|
+
type = 'spot' if isSpot else 'swap'
|
938
|
+
marketId = self.safe_string(result, 's')
|
939
|
+
market = self.safe_market(marketId, None, '-', type)
|
940
|
+
parsed = self.parse_trade(result, market)
|
938
941
|
symbol = parsed['symbol']
|
939
942
|
spotHash = 'spot:mytrades'
|
940
943
|
swapHash = 'swap:mytrades'
|
@@ -980,10 +983,12 @@ class bingx(ccxt.async_support.bingx):
|
|
980
983
|
# }
|
981
984
|
# }
|
982
985
|
#
|
983
|
-
a = self.
|
984
|
-
data = self.
|
986
|
+
a = self.safe_dict(message, 'a', {})
|
987
|
+
data = self.safe_list(a, 'B', [])
|
985
988
|
timestamp = self.safe_integer_2(message, 'T', 'E')
|
986
989
|
type = 'swap' if ('P' in a) else 'spot'
|
990
|
+
if not (type in self.balance):
|
991
|
+
self.balance[type] = {}
|
987
992
|
self.balance[type]['info'] = data
|
988
993
|
self.balance[type]['timestamp'] = timestamp
|
989
994
|
self.balance[type]['datetime'] = self.iso8601(timestamp)
|
@@ -551,8 +551,7 @@ class bitfinex2(ccxt.async_support.bitfinex2):
|
|
551
551
|
prec = self.safe_string(subscription, 'prec', 'P0')
|
552
552
|
isRaw = (prec == 'R0')
|
553
553
|
# if it is an initial snapshot
|
554
|
-
|
555
|
-
if orderbook is None:
|
554
|
+
if not (symbol in self.orderbooks):
|
556
555
|
limit = self.safe_integer(subscription, 'len')
|
557
556
|
if isRaw:
|
558
557
|
# raw order books
|
@@ -571,7 +570,7 @@ class bitfinex2(ccxt.async_support.bitfinex2):
|
|
571
570
|
bookside = orderbook[side]
|
572
571
|
idString = self.safe_string(delta, 0)
|
573
572
|
price = self.safe_float(delta, 1)
|
574
|
-
bookside.
|
573
|
+
bookside.storeArray([price, size, idString])
|
575
574
|
else:
|
576
575
|
deltas = message[1]
|
577
576
|
for i in range(0, len(deltas)):
|
@@ -582,10 +581,11 @@ class bitfinex2(ccxt.async_support.bitfinex2):
|
|
582
581
|
size = -amount if (amount < 0) else amount
|
583
582
|
side = 'asks' if (amount < 0) else 'bids'
|
584
583
|
bookside = orderbook[side]
|
585
|
-
bookside.
|
584
|
+
bookside.storeArray([price, size, counter])
|
586
585
|
orderbook['symbol'] = symbol
|
587
586
|
client.resolve(orderbook, messageHash)
|
588
587
|
else:
|
588
|
+
orderbook = self.orderbooks[symbol]
|
589
589
|
deltas = message[1]
|
590
590
|
orderbookItem = self.orderbooks[symbol]
|
591
591
|
if isRaw:
|
@@ -12,7 +12,6 @@ from ccxt.async_support.base.ws.client import Client
|
|
12
12
|
from typing import List
|
13
13
|
from ccxt.base.errors import ExchangeError
|
14
14
|
from ccxt.base.errors import AuthenticationError
|
15
|
-
from ccxt.base.errors import ArgumentsRequired
|
16
15
|
from ccxt.base.errors import NotSupported
|
17
16
|
|
18
17
|
|
@@ -333,9 +332,9 @@ class bitmart(ccxt.async_support.bitmart):
|
|
333
332
|
|
334
333
|
async def watch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
335
334
|
"""
|
336
|
-
:see: https://developer-pro.bitmart.com/en/spot/#private-order-channel
|
337
|
-
:see: https://developer-pro.bitmart.com/en/futures/#private-order-channel
|
338
335
|
watches information on multiple orders made by the user
|
336
|
+
:see: https://developer-pro.bitmart.com/en/spot/#private-order-progress
|
337
|
+
:see: https://developer-pro.bitmart.com/en/futures/#private-order-channel
|
339
338
|
:param str symbol: unified market symbol of the market orders were made in
|
340
339
|
:param int [since]: the earliest time in ms to fetch orders for
|
341
340
|
:param int [limit]: the maximum number of order structures to retrieve
|
@@ -354,11 +353,14 @@ class bitmart(ccxt.async_support.bitmart):
|
|
354
353
|
await self.authenticate(type, params)
|
355
354
|
request = None
|
356
355
|
if type == 'spot':
|
357
|
-
|
358
|
-
|
356
|
+
argsRequest = 'spot/user/order:'
|
357
|
+
if symbol is not None:
|
358
|
+
argsRequest += market['id']
|
359
|
+
else:
|
360
|
+
argsRequest = 'spot/user/orders:ALL_SYMBOLS'
|
359
361
|
request = {
|
360
362
|
'op': 'subscribe',
|
361
|
-
'args': [
|
363
|
+
'args': [argsRequest],
|
362
364
|
}
|
363
365
|
else:
|
364
366
|
request = {
|
@@ -678,21 +678,21 @@ class bybit(ccxt.async_support.bybit):
|
|
678
678
|
isSpot = client.url.find('spot') >= 0
|
679
679
|
type = self.safe_string(message, 'type')
|
680
680
|
isSnapshot = (type == 'snapshot')
|
681
|
-
data = self.
|
681
|
+
data = self.safe_dict(message, 'data', {})
|
682
682
|
marketId = self.safe_string(data, 's')
|
683
683
|
marketType = 'spot' if isSpot else 'contract'
|
684
684
|
market = self.safe_market(marketId, None, None, marketType)
|
685
685
|
symbol = market['symbol']
|
686
686
|
timestamp = self.safe_integer(message, 'ts')
|
687
|
-
|
688
|
-
|
689
|
-
|
687
|
+
if not (symbol in self.orderbooks):
|
688
|
+
self.orderbooks[symbol] = self.order_book()
|
689
|
+
orderbook = self.orderbooks[symbol]
|
690
690
|
if isSnapshot:
|
691
691
|
snapshot = self.parse_order_book(data, symbol, timestamp, 'b', 'a')
|
692
692
|
orderbook.reset(snapshot)
|
693
693
|
else:
|
694
|
-
asks = self.
|
695
|
-
bids = self.
|
694
|
+
asks = self.safe_list(data, 'a', [])
|
695
|
+
bids = self.safe_list(data, 'b', [])
|
696
696
|
self.handle_deltas(orderbook['asks'], asks)
|
697
697
|
self.handle_deltas(orderbook['bids'], bids)
|
698
698
|
orderbook['timestamp'] = timestamp
|
@@ -608,19 +608,18 @@ class htx(ccxt.async_support.htx):
|
|
608
608
|
# }
|
609
609
|
#
|
610
610
|
messageHash = self.safe_string(message, 'ch')
|
611
|
-
tick = self.
|
611
|
+
tick = self.safe_dict(message, 'tick')
|
612
612
|
event = self.safe_string(tick, 'event')
|
613
|
-
ch = self.
|
613
|
+
ch = self.safe_string(message, 'ch')
|
614
614
|
parts = ch.split('.')
|
615
615
|
marketId = self.safe_string(parts, 1)
|
616
616
|
symbol = self.safe_symbol(marketId)
|
617
|
-
|
618
|
-
if orderbook is None:
|
617
|
+
if not (symbol in self.orderbooks):
|
619
618
|
size = self.safe_string(parts, 3)
|
620
619
|
sizeParts = size.split('_')
|
621
620
|
limit = self.safe_integer(sizeParts, 1)
|
622
|
-
|
623
|
-
|
621
|
+
self.orderbooks[symbol] = self.order_book({}, limit)
|
622
|
+
orderbook = self.orderbooks[symbol]
|
624
623
|
if (event is None) and (orderbook['nonce'] is None):
|
625
624
|
orderbook.cache.append(message)
|
626
625
|
else:
|
@@ -1004,10 +1004,9 @@ class okx(ccxt.async_support.okx):
|
|
1004
1004
|
self.handle_order_book_message(client, update, orderbook, messageHash)
|
1005
1005
|
client.resolve(orderbook, messageHash)
|
1006
1006
|
elif (channel == 'books5') or (channel == 'bbo-tbt'):
|
1007
|
-
|
1008
|
-
|
1009
|
-
|
1010
|
-
self.orderbooks[symbol] = orderbook
|
1007
|
+
if not (symbol in self.orderbooks):
|
1008
|
+
self.orderbooks[symbol] = self.order_book({}, limit)
|
1009
|
+
orderbook = self.orderbooks[symbol]
|
1011
1010
|
for i in range(0, len(data)):
|
1012
1011
|
update = data[i]
|
1013
1012
|
timestamp = self.safe_integer(update, 'ts')
|