ccxt 4.3.56__tar.gz → 4.3.58__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.56/ccxt.egg-info → ccxt-4.3.58}/PKG-INFO +4 -4
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/__init__.py +1 -1
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/kucoin.py +1 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/kucoinfutures.py +1 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/alpaca.py +5 -1
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/alpaca.py +5 -1
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/base/exchange.py +1 -1
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/base/ws/client.py +26 -5
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bigone.py +19 -1
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bingx.py +114 -26
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitget.py +56 -47
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/coinmate.py +28 -32
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/coinone.py +15 -19
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/gate.py +102 -4
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/htx.py +87 -26
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/huobijp.py +61 -2
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/kucoin.py +3 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/latoken.py +5 -1
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/okx.py +2 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/woo.py +2 -1
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/base/exchange.py +1 -1
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bigone.py +19 -1
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bingx.py +114 -26
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitget.py +56 -47
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/coinmate.py +28 -32
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/coinone.py +15 -19
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/gate.py +102 -4
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/htx.py +87 -26
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/huobijp.py +61 -2
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/kucoin.py +3 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/latoken.py +5 -1
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/okx.py +2 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/htx.py +1 -1
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/okx.py +3 -3
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/woo.py +2 -1
- {ccxt-4.3.56 → ccxt-4.3.58/ccxt.egg-info}/PKG-INFO +4 -4
- {ccxt-4.3.56 → ccxt-4.3.58}/package.json +1 -1
- {ccxt-4.3.56 → ccxt-4.3.58}/LICENSE.txt +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/MANIFEST.in +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/README.rst +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/coinbaseadvanced.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/coinbaseexchange.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/oxfun.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/tradeogre.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/vertex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/woofipro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/xt.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/ace.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/ascendex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/binance.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/bybit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/coinbaseadvanced.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/coinbaseexchange.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/coinbaseinternational.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/coinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/hyperliquid.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/oxfun.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/tradeogre.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/vertex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/woofipro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/xt.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/base/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/base/errors.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/base/precise.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/base/types.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bequant.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/binance.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/binanceus.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bit2c.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitbank.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitbay.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitbns.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitfinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitflyer.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bithumb.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitmart.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitmex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitopro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitpanda.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitrue.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitso.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitstamp.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitteam.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bitvavo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bl3p.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/blofin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/btcalpha.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/btcbox.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/btcturk.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/bybit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/cex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/coinbase.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/coinbaseadvanced.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/coinbaseexchange.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/coinbaseinternational.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/coincheck.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/coinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/coinlist.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/coinmetro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/coinsph.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/coinspot.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/cryptocom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/currencycom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/delta.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/deribit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/digifinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/exmo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/fmfwio.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/gateio.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/gemini.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/hitbtc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/hollaex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/huobi.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/hyperliquid.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/idex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/independentreserve.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/indodax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/kraken.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/kuna.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/lbank.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/luno.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/lykke.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/mercado.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/mexc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/ndax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/novadax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/oceanex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/okcoin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/onetrading.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/oxfun.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/p2b.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/paymium.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/phemex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/poloniex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/binance.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/bitfinex2.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/cex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/coinbaseexchange.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/gate.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/idex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/luno.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/oxfun.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/probit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/vertex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/woo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/pro/woofipro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/probit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/test/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/test/tests_async.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/test/tests_helpers.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/test/tests_init.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/test/tests_sync.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/timex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/tradeogre.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/upbit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/vertex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/wazirx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/whitebit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/woofipro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/xt.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/yobit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/zaif.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt/zonda.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/setup.cfg +0 -0
- {ccxt-4.3.56 → ccxt-4.3.58}/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.58
|
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
|
@@ -257,13 +257,13 @@ console.log(version, Object.keys(exchanges));
|
|
257
257
|
|
258
258
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
259
259
|
|
260
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
261
|
-
* unpkg: https://unpkg.com/ccxt@4.3.
|
260
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.58/dist/ccxt.browser.min.js
|
261
|
+
* unpkg: https://unpkg.com/ccxt@4.3.58/dist/ccxt.browser.min.js
|
262
262
|
|
263
263
|
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.
|
264
264
|
|
265
265
|
```HTML
|
266
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
266
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.58/dist/ccxt.browser.min.js"></script>
|
267
267
|
```
|
268
268
|
|
269
269
|
Creates a global `ccxt` object:
|
@@ -87,6 +87,7 @@ class ImplicitAPI:
|
|
87
87
|
private_get_redeem_orders = privateGetRedeemOrders = Entry('redeem/orders', 'private', 'GET', {'cost': 10})
|
88
88
|
private_get_purchase_orders = privateGetPurchaseOrders = Entry('purchase/orders', 'private', 'GET', {'cost': 10})
|
89
89
|
private_get_broker_api_rebase_download = privateGetBrokerApiRebaseDownload = Entry('broker/api/rebase/download', 'private', 'GET', {'cost': 3})
|
90
|
+
private_get_affiliate_inviter_statistics = privateGetAffiliateInviterStatistics = Entry('affiliate/inviter/statistics', 'private', 'GET', {'cost': 30})
|
90
91
|
private_post_sub_user_created = privatePostSubUserCreated = Entry('sub/user/created', 'private', 'POST', {'cost': 22.5})
|
91
92
|
private_post_sub_api_key = privatePostSubApiKey = Entry('sub/api-key', 'private', 'POST', {'cost': 30})
|
92
93
|
private_post_sub_api_key_update = privatePostSubApiKeyUpdate = Entry('sub/api-key/update', 'private', 'POST', {'cost': 45})
|
@@ -87,6 +87,7 @@ class ImplicitAPI:
|
|
87
87
|
private_get_redeem_orders = privateGetRedeemOrders = Entry('redeem/orders', 'private', 'GET', {'cost': 10})
|
88
88
|
private_get_purchase_orders = privateGetPurchaseOrders = Entry('purchase/orders', 'private', 'GET', {'cost': 10})
|
89
89
|
private_get_broker_api_rebase_download = privateGetBrokerApiRebaseDownload = Entry('broker/api/rebase/download', 'private', 'GET', {'cost': 3})
|
90
|
+
private_get_affiliate_inviter_statistics = privateGetAffiliateInviterStatistics = Entry('affiliate/inviter/statistics', 'private', 'GET', {'cost': 30})
|
90
91
|
private_post_sub_user_created = privatePostSubUserCreated = Entry('sub/user/created', 'private', 'POST', {'cost': 22.5})
|
91
92
|
private_post_sub_api_key = privatePostSubApiKey = Entry('sub/api-key', 'private', 'POST', {'cost': 30})
|
92
93
|
private_post_sub_api_key_update = privatePostSubApiKeyUpdate = Entry('sub/api-key/update', 'private', 'POST', {'cost': 45})
|
@@ -787,7 +787,11 @@ class alpaca(Exchange, ImplicitAPI):
|
|
787
787
|
if isinstance(response, list):
|
788
788
|
return self.parse_orders(response, None)
|
789
789
|
else:
|
790
|
-
return
|
790
|
+
return [
|
791
|
+
self.safe_order({
|
792
|
+
'info': response,
|
793
|
+
}),
|
794
|
+
]
|
791
795
|
|
792
796
|
def fetch_order(self, id: str, symbol: Str = None, params={}):
|
793
797
|
"""
|
@@ -787,7 +787,11 @@ class alpaca(Exchange, ImplicitAPI):
|
|
787
787
|
if isinstance(response, list):
|
788
788
|
return self.parse_orders(response, None)
|
789
789
|
else:
|
790
|
-
return
|
790
|
+
return [
|
791
|
+
self.safe_order({
|
792
|
+
'info': response,
|
793
|
+
}),
|
794
|
+
]
|
791
795
|
|
792
796
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
793
797
|
"""
|
@@ -4,7 +4,7 @@ from asyncio import sleep, ensure_future, wait_for, TimeoutError
|
|
4
4
|
from .functions import milliseconds, iso8601, deep_extend
|
5
5
|
from ccxt import NetworkError, RequestTimeout, NotSupported
|
6
6
|
from ccxt.async_support.base.ws.future import Future
|
7
|
-
|
7
|
+
from collections import deque
|
8
8
|
|
9
9
|
class Client(object):
|
10
10
|
|
@@ -14,6 +14,8 @@ class Client(object):
|
|
14
14
|
options = {} # ws-specific options
|
15
15
|
subscriptions = {}
|
16
16
|
rejections = {}
|
17
|
+
message_queue = {}
|
18
|
+
useMessageQueue = True
|
17
19
|
on_message_callback = None
|
18
20
|
on_error_callback = None
|
19
21
|
on_close_callback = None
|
@@ -68,15 +70,33 @@ class Client(object):
|
|
68
70
|
if message_hash in self.rejections:
|
69
71
|
future.reject(self.rejections[message_hash])
|
70
72
|
del self.rejections[message_hash]
|
73
|
+
del self.message_queue[message_hash]
|
74
|
+
return future
|
75
|
+
if self.useMessageQueue and message_hash in self.message_queue:
|
76
|
+
queue = self.message_queue[message_hash]
|
77
|
+
if len(queue):
|
78
|
+
future.resolve(queue.popleft())
|
79
|
+
del self.futures[message_hash]
|
71
80
|
return future
|
72
81
|
|
73
82
|
def resolve(self, result, message_hash):
|
74
83
|
if self.verbose and message_hash is None:
|
75
84
|
self.log(iso8601(milliseconds()), 'resolve received None messageHash')
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
85
|
+
|
86
|
+
if self.useMessageQueue:
|
87
|
+
if message_hash not in self.message_queue:
|
88
|
+
self.message_queue[message_hash] = deque(maxlen=10)
|
89
|
+
queue = self.message_queue[message_hash]
|
90
|
+
queue.append(result)
|
91
|
+
if message_hash in self.futures:
|
92
|
+
future = self.futures[message_hash]
|
93
|
+
future.resolve(queue.popleft())
|
94
|
+
del self.futures[message_hash]
|
95
|
+
else:
|
96
|
+
if message_hash in self.futures:
|
97
|
+
future = self.futures[message_hash]
|
98
|
+
future.resolve(result)
|
99
|
+
del self.futures[message_hash]
|
80
100
|
return result
|
81
101
|
|
82
102
|
def reject(self, result, message_hash=None):
|
@@ -165,6 +185,7 @@ class Client(object):
|
|
165
185
|
ensure_future(self.close(code), loop=self.asyncio_loop)
|
166
186
|
|
167
187
|
def reset(self, error):
|
188
|
+
self.message_queue = {}
|
168
189
|
self.reject(error)
|
169
190
|
|
170
191
|
async def ping_loop(self):
|
@@ -1540,7 +1540,25 @@ class bigone(Exchange, ImplicitAPI):
|
|
1540
1540
|
# }
|
1541
1541
|
# }
|
1542
1542
|
#
|
1543
|
-
|
1543
|
+
data = self.safe_dict(response, 'data', {})
|
1544
|
+
cancelled = self.safe_list(data, 'cancelled', [])
|
1545
|
+
failed = self.safe_list(data, 'failed', [])
|
1546
|
+
result = []
|
1547
|
+
for i in range(0, len(cancelled)):
|
1548
|
+
orderId = cancelled[i]
|
1549
|
+
result.append(self.safe_order({
|
1550
|
+
'info': orderId,
|
1551
|
+
'id': orderId,
|
1552
|
+
'status': 'canceled',
|
1553
|
+
}))
|
1554
|
+
for i in range(0, len(failed)):
|
1555
|
+
orderId = failed[i]
|
1556
|
+
result.append(self.safe_order({
|
1557
|
+
'info': orderId,
|
1558
|
+
'id': orderId,
|
1559
|
+
'status': 'failed',
|
1560
|
+
}))
|
1561
|
+
return result
|
1544
1562
|
|
1545
1563
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
1546
1564
|
"""
|
@@ -675,6 +675,29 @@ class bingx(Exchange, ImplicitAPI):
|
|
675
675
|
markets = self.safe_list(response, 'data', [])
|
676
676
|
return self.parse_markets(markets)
|
677
677
|
|
678
|
+
async def fetch_inverse_swap_markets(self, params):
|
679
|
+
response = await self.cswapV1PublicGetMarketContracts(params)
|
680
|
+
#
|
681
|
+
# {
|
682
|
+
# "code": 0,
|
683
|
+
# "msg": "",
|
684
|
+
# "timestamp": 1720074487610,
|
685
|
+
# "data": [
|
686
|
+
# {
|
687
|
+
# "symbol": "BNB-USD",
|
688
|
+
# "pricePrecision": 2,
|
689
|
+
# "minTickSize": "10",
|
690
|
+
# "minTradeValue": "10",
|
691
|
+
# "minQty": "1.00000000",
|
692
|
+
# "status": 1,
|
693
|
+
# "timeOnline": 1713175200000
|
694
|
+
# },
|
695
|
+
# ]
|
696
|
+
# }
|
697
|
+
#
|
698
|
+
markets = self.safe_list(response, 'data', [])
|
699
|
+
return self.parse_markets(markets)
|
700
|
+
|
678
701
|
def parse_market(self, market: dict) -> Market:
|
679
702
|
id = self.safe_string(market, 'symbol')
|
680
703
|
symbolParts = id.split('-')
|
@@ -683,6 +706,14 @@ class bingx(Exchange, ImplicitAPI):
|
|
683
706
|
base = self.safe_currency_code(baseId)
|
684
707
|
quote = self.safe_currency_code(quoteId)
|
685
708
|
currency = self.safe_string(market, 'currency')
|
709
|
+
checkIsInverse = False
|
710
|
+
checkIsLinear = True
|
711
|
+
minTickSize = self.safe_number(market, 'minTickSize')
|
712
|
+
if minTickSize is not None:
|
713
|
+
# inverse swap market
|
714
|
+
currency = baseId
|
715
|
+
checkIsInverse = True
|
716
|
+
checkIsLinear = False
|
686
717
|
settle = self.safe_currency_code(currency)
|
687
718
|
pricePrecision = self.safe_number(market, 'tickSize')
|
688
719
|
if pricePrecision is None:
|
@@ -699,8 +730,11 @@ class bingx(Exchange, ImplicitAPI):
|
|
699
730
|
fees = self.safe_dict(self.fees, type, {})
|
700
731
|
contractSize = self.parse_number('1') if (swap) else None
|
701
732
|
isActive = self.safe_string(market, 'status') == '1'
|
702
|
-
isInverse = None if (spot) else
|
703
|
-
isLinear = None if (spot) else
|
733
|
+
isInverse = None if (spot) else checkIsInverse
|
734
|
+
isLinear = None if (spot) else checkIsLinear
|
735
|
+
timeOnline = self.safe_integer(market, 'timeOnline')
|
736
|
+
if timeOnline == 0:
|
737
|
+
timeOnline = None
|
704
738
|
return self.safe_market_structure({
|
705
739
|
'id': id,
|
706
740
|
'symbol': symbol,
|
@@ -742,15 +776,15 @@ class bingx(Exchange, ImplicitAPI):
|
|
742
776
|
'max': self.safe_number(market, 'maxQty'),
|
743
777
|
},
|
744
778
|
'price': {
|
745
|
-
'min':
|
779
|
+
'min': minTickSize,
|
746
780
|
'max': None,
|
747
781
|
},
|
748
782
|
'cost': {
|
749
|
-
'min': self.
|
783
|
+
'min': self.safe_number_n(market, ['minNotional', 'tradeMinUSDT', 'minTradeValue']),
|
750
784
|
'max': self.safe_number(market, 'maxNotional'),
|
751
785
|
},
|
752
786
|
},
|
753
|
-
'created':
|
787
|
+
'created': timeOnline,
|
754
788
|
'info': market,
|
755
789
|
})
|
756
790
|
|
@@ -759,16 +793,20 @@ class bingx(Exchange, ImplicitAPI):
|
|
759
793
|
retrieves data on all markets for bingx
|
760
794
|
:see: https://bingx-api.github.io/docs/#/spot/market-api.html#Query%20Symbols
|
761
795
|
:see: https://bingx-api.github.io/docs/#/swapV2/market-api.html#Contract%20Information
|
796
|
+
:see: https://bingx-api.github.io/docs/#/en-us/cswap/market-api.html#Contract%20Information
|
762
797
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
763
798
|
:returns dict[]: an array of objects representing market data
|
764
799
|
"""
|
765
800
|
requests = [self.fetch_swap_markets(params)]
|
766
801
|
isSandbox = self.safe_bool(self.options, 'sandboxMode', False)
|
767
802
|
if not isSandbox:
|
803
|
+
requests.append(self.fetch_inverse_swap_markets(params))
|
768
804
|
requests.append(self.fetch_spot_markets(params)) # sandbox is swap only
|
769
805
|
promises = await asyncio.gather(*requests)
|
770
|
-
|
771
|
-
|
806
|
+
linearSwapMarkets = self.safe_list(promises, 0, [])
|
807
|
+
inverseSwapMarkets = self.safe_list(promises, 1, [])
|
808
|
+
spotMarkets = self.safe_list(promises, 2, [])
|
809
|
+
swapMarkets = self.array_concat(linearSwapMarkets, inverseSwapMarkets)
|
772
810
|
return self.array_concat(spotMarkets, swapMarkets)
|
773
811
|
|
774
812
|
async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
@@ -778,13 +816,14 @@ class bingx(Exchange, ImplicitAPI):
|
|
778
816
|
:see: https://bingx-api.github.io/docs/#/spot/market-api.html#Candlestick%20chart%20data
|
779
817
|
:see: https://bingx-api.github.io/docs/#/swapV2/market-api.html#%20K-Line%20Data
|
780
818
|
:see: https://bingx-api.github.io/docs/#/en-us/swapV2/market-api.html#K-Line%20Data%20-%20Mark%20Price
|
819
|
+
:see: https://bingx-api.github.io/docs/#/en-us/cswap/market-api.html#Get%20K-line%20Data
|
781
820
|
:param str symbol: unified symbol of the market to fetch OHLCV data for
|
782
821
|
:param str timeframe: the length of time each candle represents
|
783
822
|
:param int [since]: timestamp in ms of the earliest candle to fetch
|
784
823
|
:param int [limit]: the maximum amount of candles to fetch
|
785
824
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
786
825
|
:param int [params.until]: timestamp in ms of the latest candle to fetch
|
787
|
-
:param boolean [params.paginate]: default False, when True will automatically paginate by calling self endpoint multiple times. See in the docs all the [
|
826
|
+
:param boolean [params.paginate]: default False, when True will automatically paginate by calling self endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
788
827
|
:returns int[][]: A list of candles ordered, open, high, low, close, volume
|
789
828
|
"""
|
790
829
|
await self.load_markets()
|
@@ -809,12 +848,15 @@ class bingx(Exchange, ImplicitAPI):
|
|
809
848
|
if market['spot']:
|
810
849
|
response = await self.spotV1PublicGetMarketKline(self.extend(request, params))
|
811
850
|
else:
|
812
|
-
|
813
|
-
|
814
|
-
if price == 'mark':
|
815
|
-
response = await self.swapV1PrivateGetMarketMarkPriceKlines(self.extend(request, params))
|
851
|
+
if market['inverse']:
|
852
|
+
response = await self.cswapV1PublicGetMarketKlines(self.extend(request, params))
|
816
853
|
else:
|
817
|
-
|
854
|
+
price = self.safe_string(params, 'price')
|
855
|
+
params = self.omit(params, 'price')
|
856
|
+
if price == 'mark':
|
857
|
+
response = await self.swapV1PrivateGetMarketMarkPriceKlines(self.extend(request, params))
|
858
|
+
else:
|
859
|
+
response = await self.swapV3PublicGetQuoteKlines(self.extend(request, params))
|
818
860
|
#
|
819
861
|
# {
|
820
862
|
# "code": 0,
|
@@ -1107,6 +1149,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
1107
1149
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
1108
1150
|
:see: https://bingx-api.github.io/docs/#/spot/market-api.html#Query%20depth%20information
|
1109
1151
|
:see: https://bingx-api.github.io/docs/#/swapV2/market-api.html#Get%20Market%20Depth
|
1152
|
+
:see: https://bingx-api.github.io/docs/#/en-us/cswap/market-api.html#Query%20Depth%20Data
|
1110
1153
|
:param str symbol: unified symbol of the market to fetch the order book for
|
1111
1154
|
:param int [limit]: the maximum amount of order book entries to return
|
1112
1155
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -1125,7 +1168,10 @@ class bingx(Exchange, ImplicitAPI):
|
|
1125
1168
|
if marketType == 'spot':
|
1126
1169
|
response = await self.spotV1PublicGetMarketDepth(self.extend(request, params))
|
1127
1170
|
else:
|
1128
|
-
|
1171
|
+
if market['inverse']:
|
1172
|
+
response = await self.cswapV1PublicGetMarketDepth(self.extend(request, params))
|
1173
|
+
else:
|
1174
|
+
response = await self.swapV2PublicGetQuoteDepth(self.extend(request, params))
|
1129
1175
|
#
|
1130
1176
|
# spot
|
1131
1177
|
#
|
@@ -1191,6 +1237,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
1191
1237
|
"""
|
1192
1238
|
fetch the current funding rate
|
1193
1239
|
:see: https://bingx-api.github.io/docs/#/swapV2/market-api.html#Current%20Funding%20Rate
|
1240
|
+
:see: https://bingx-api.github.io/docs/#/en-us/cswap/market-api.html#Price%20&%20Current%20Funding%20Rate
|
1194
1241
|
:param str symbol: unified market symbol
|
1195
1242
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1196
1243
|
:returns dict: a `funding rate structure <https://docs.ccxt.com/#/?id=funding-rate-structure>`
|
@@ -1200,7 +1247,11 @@ class bingx(Exchange, ImplicitAPI):
|
|
1200
1247
|
request: dict = {
|
1201
1248
|
'symbol': market['id'],
|
1202
1249
|
}
|
1203
|
-
response =
|
1250
|
+
response = None
|
1251
|
+
if market['inverse']:
|
1252
|
+
response = await self.cswapV1PublicGetMarketPremiumIndex(self.extend(request, params))
|
1253
|
+
else:
|
1254
|
+
response = await self.swapV2PublicGetQuotePremiumIndex(self.extend(request, params))
|
1204
1255
|
#
|
1205
1256
|
# {
|
1206
1257
|
# "code":0,
|
@@ -1338,9 +1389,10 @@ class bingx(Exchange, ImplicitAPI):
|
|
1338
1389
|
|
1339
1390
|
async def fetch_open_interest(self, symbol: str, params={}):
|
1340
1391
|
"""
|
1341
|
-
|
1392
|
+
retrieves the open interest of a trading pair
|
1342
1393
|
:see: https://bingx-api.github.io/docs/#/swapV2/market-api.html#Get%20Swap%20Open%20Positions
|
1343
|
-
:
|
1394
|
+
:see: https://bingx-api.github.io/docs/#/en-us/cswap/market-api.html#Get%20Swap%20Open%20Positions
|
1395
|
+
:param str symbol: unified CCXT market symbol
|
1344
1396
|
:param dict [params]: exchange specific parameters
|
1345
1397
|
:returns dict} an open interest structure{@link https://docs.ccxt.com/#/?id=open-interest-structure:
|
1346
1398
|
"""
|
@@ -1349,7 +1401,13 @@ class bingx(Exchange, ImplicitAPI):
|
|
1349
1401
|
request: dict = {
|
1350
1402
|
'symbol': market['id'],
|
1351
1403
|
}
|
1352
|
-
response =
|
1404
|
+
response = None
|
1405
|
+
if market['inverse']:
|
1406
|
+
response = await self.cswapV1PublicGetMarketOpenInterest(self.extend(request, params))
|
1407
|
+
else:
|
1408
|
+
response = await self.swapV2PublicGetQuoteOpenInterest(self.extend(request, params))
|
1409
|
+
#
|
1410
|
+
# linear swap
|
1353
1411
|
#
|
1354
1412
|
# {
|
1355
1413
|
# "code": 0,
|
@@ -1361,18 +1419,48 @@ class bingx(Exchange, ImplicitAPI):
|
|
1361
1419
|
# }
|
1362
1420
|
# }
|
1363
1421
|
#
|
1364
|
-
|
1365
|
-
|
1422
|
+
# inverse swap
|
1423
|
+
#
|
1424
|
+
# {
|
1425
|
+
# "code": 0,
|
1426
|
+
# "msg": "",
|
1427
|
+
# "timestamp": 1720328247986,
|
1428
|
+
# "data": [
|
1429
|
+
# {
|
1430
|
+
# "symbol": "BTC-USD",
|
1431
|
+
# "openInterest": "749.1160",
|
1432
|
+
# "timestamp": 1720310400000
|
1433
|
+
# }
|
1434
|
+
# ]
|
1435
|
+
# }
|
1436
|
+
#
|
1437
|
+
result: dict = {}
|
1438
|
+
if market['inverse']:
|
1439
|
+
data = self.safe_list(response, 'data', [])
|
1440
|
+
result = self.safe_dict(data, 0, {})
|
1441
|
+
else:
|
1442
|
+
result = self.safe_dict(response, 'data', {})
|
1443
|
+
return self.parse_open_interest(result, market)
|
1366
1444
|
|
1367
1445
|
def parse_open_interest(self, interest, market: Market = None):
|
1368
1446
|
#
|
1369
|
-
#
|
1370
|
-
#
|
1371
|
-
#
|
1372
|
-
#
|
1373
|
-
#
|
1447
|
+
# linear swap
|
1448
|
+
#
|
1449
|
+
# {
|
1450
|
+
# "openInterest": "3289641547.10",
|
1451
|
+
# "symbol": "BTC-USDT",
|
1452
|
+
# "time": 1672026617364
|
1453
|
+
# }
|
1454
|
+
#
|
1455
|
+
# inverse swap
|
1456
|
+
#
|
1457
|
+
# {
|
1458
|
+
# "symbol": "BTC-USD",
|
1459
|
+
# "openInterest": "749.1160",
|
1460
|
+
# "timestamp": 1720310400000
|
1461
|
+
# }
|
1374
1462
|
#
|
1375
|
-
timestamp = self.
|
1463
|
+
timestamp = self.safe_integer_2(interest, 'time', 'timestamp')
|
1376
1464
|
id = self.safe_string(interest, 'symbol')
|
1377
1465
|
symbol = self.safe_symbol(id, market, '-', 'swap')
|
1378
1466
|
openInterest = self.safe_number(interest, 'openInterest')
|
@@ -4692,6 +4692,22 @@ class bitget(Exchange, ImplicitAPI):
|
|
4692
4692
|
response = await self.privateMarginPostMarginV1CrossOrderBatchCancelOrder(self.extend(request, params))
|
4693
4693
|
else:
|
4694
4694
|
response = await self.privateMarginPostMarginV1IsolatedOrderBatchCancelOrder(self.extend(request, params))
|
4695
|
+
#
|
4696
|
+
# {
|
4697
|
+
# "code": "00000",
|
4698
|
+
# "msg": "success",
|
4699
|
+
# "requestTime": 1700717155622,
|
4700
|
+
# "data": {
|
4701
|
+
# "resultList": [
|
4702
|
+
# {
|
4703
|
+
# "orderId": "1111453253721796609",
|
4704
|
+
# "clientOid": "2ae7fc8a4ff949b6b60d770ca3950e2d"
|
4705
|
+
# },
|
4706
|
+
# ],
|
4707
|
+
# "failure": []
|
4708
|
+
# }
|
4709
|
+
# }
|
4710
|
+
#
|
4695
4711
|
else:
|
4696
4712
|
if stop:
|
4697
4713
|
stopRequest: dict = {
|
@@ -4700,6 +4716,27 @@ class bitget(Exchange, ImplicitAPI):
|
|
4700
4716
|
response = await self.privateSpotPostV2SpotTradeBatchCancelPlanOrder(self.extend(stopRequest, params))
|
4701
4717
|
else:
|
4702
4718
|
response = await self.privateSpotPostV2SpotTradeCancelSymbolOrder(self.extend(request, params))
|
4719
|
+
#
|
4720
|
+
# {
|
4721
|
+
# "code": "00000",
|
4722
|
+
# "msg": "success",
|
4723
|
+
# "requestTime": 1700716953996,
|
4724
|
+
# "data": {
|
4725
|
+
# "symbol": "BTCUSDT"
|
4726
|
+
# }
|
4727
|
+
# }
|
4728
|
+
#
|
4729
|
+
timestamp = self.safe_integer(response, 'requestTime')
|
4730
|
+
responseData = self.safe_dict(response, 'data')
|
4731
|
+
marketId = self.safe_string(responseData, 'symbol')
|
4732
|
+
return [
|
4733
|
+
self.safe_order({
|
4734
|
+
'info': response,
|
4735
|
+
'symbol': self.safe_symbol(marketId, None, None, 'spot'),
|
4736
|
+
'timestamp': timestamp,
|
4737
|
+
'datetime': self.iso8601(timestamp),
|
4738
|
+
}),
|
4739
|
+
]
|
4703
4740
|
else:
|
4704
4741
|
productType = None
|
4705
4742
|
productType, params = self.handle_product_type_and_params(market, params)
|
@@ -4708,53 +4745,25 @@ class bitget(Exchange, ImplicitAPI):
|
|
4708
4745
|
response = await self.privateMixPostV2MixOrderCancelPlanOrder(self.extend(request, params))
|
4709
4746
|
else:
|
4710
4747
|
response = await self.privateMixPostV2MixOrderBatchCancelOrders(self.extend(request, params))
|
4711
|
-
|
4712
|
-
|
4713
|
-
|
4714
|
-
|
4715
|
-
|
4716
|
-
|
4717
|
-
|
4718
|
-
|
4719
|
-
|
4720
|
-
|
4721
|
-
|
4722
|
-
|
4723
|
-
|
4724
|
-
|
4725
|
-
|
4726
|
-
|
4727
|
-
|
4728
|
-
|
4729
|
-
|
4730
|
-
# "successList": [
|
4731
|
-
# {
|
4732
|
-
# "orderId": "1024598257429823488",
|
4733
|
-
# "clientOid": "876493ce-c287-4bfc-9f4a-8b1905881313"
|
4734
|
-
# },
|
4735
|
-
# ],
|
4736
|
-
# "failureList": []
|
4737
|
-
# }
|
4738
|
-
# }
|
4739
|
-
#
|
4740
|
-
# spot margin
|
4741
|
-
#
|
4742
|
-
# {
|
4743
|
-
# "code": "00000",
|
4744
|
-
# "msg": "success",
|
4745
|
-
# "requestTime": 1700717155622,
|
4746
|
-
# "data": {
|
4747
|
-
# "resultList": [
|
4748
|
-
# {
|
4749
|
-
# "orderId": "1111453253721796609",
|
4750
|
-
# "clientOid": "2ae7fc8a4ff949b6b60d770ca3950e2d"
|
4751
|
-
# },
|
4752
|
-
# ],
|
4753
|
-
# "failure": []
|
4754
|
-
# }
|
4755
|
-
# }
|
4756
|
-
#
|
4757
|
-
return response
|
4748
|
+
# {
|
4749
|
+
# "code": "00000",
|
4750
|
+
# "msg": "success",
|
4751
|
+
# "requestTime": "1680008815965",
|
4752
|
+
# "data": {
|
4753
|
+
# "successList": [
|
4754
|
+
# {
|
4755
|
+
# "orderId": "1024598257429823488",
|
4756
|
+
# "clientOid": "876493ce-c287-4bfc-9f4a-8b1905881313"
|
4757
|
+
# },
|
4758
|
+
# ],
|
4759
|
+
# "failureList": []
|
4760
|
+
# }
|
4761
|
+
# }
|
4762
|
+
data = self.safe_dict(response, 'data')
|
4763
|
+
resultList = self.safe_list_2(data, 'resultList', 'successList')
|
4764
|
+
failureList = self.safe_list_2(data, 'failure', 'failureList')
|
4765
|
+
responseList = self.array_concat(resultList, failureList)
|
4766
|
+
return self.parse_orders(responseList)
|
4758
4767
|
|
4759
4768
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
4760
4769
|
"""
|