ccxt 4.3.56__tar.gz → 4.3.57__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.
Potentially problematic release.
This version of ccxt might be problematic. Click here for more details.
- {ccxt-4.3.56/ccxt.egg-info → ccxt-4.3.57}/PKG-INFO +4 -4
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/__init__.py +1 -1
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/base/exchange.py +1 -1
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/base/ws/client.py +25 -5
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bingx.py +45 -7
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitget.py +56 -47
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/coinone.py +15 -19
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/gate.py +96 -2
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/htx.py +84 -25
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/huobijp.py +61 -2
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/base/exchange.py +1 -1
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bingx.py +45 -7
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitget.py +56 -47
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/coinone.py +15 -19
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/gate.py +96 -2
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/htx.py +84 -25
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/huobijp.py +61 -2
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.3.56 → ccxt-4.3.57/ccxt.egg-info}/PKG-INFO +4 -4
- {ccxt-4.3.56 → ccxt-4.3.57}/package.json +1 -1
- {ccxt-4.3.56 → ccxt-4.3.57}/LICENSE.txt +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/MANIFEST.in +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/README.rst +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/coinbaseadvanced.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/coinbaseexchange.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/oxfun.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/tradeogre.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/vertex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/woofipro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/xt.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/ace.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/alpaca.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/ascendex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/binance.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/bybit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/coinbaseadvanced.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/coinbaseexchange.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/coinbaseinternational.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/coinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/hyperliquid.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/kucoin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/okx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/oxfun.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/tradeogre.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/vertex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/woofipro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/xt.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/base/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/base/errors.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/base/precise.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/base/types.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bequant.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bigone.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/binance.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/binanceus.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bit2c.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitbank.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitbay.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitbns.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitfinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitflyer.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bithumb.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitmart.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitmex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitopro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitpanda.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitrue.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitso.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitstamp.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitteam.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bitvavo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bl3p.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/blofin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/btcalpha.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/btcbox.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/btcturk.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/bybit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/cex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/coinbase.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/coinbaseadvanced.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/coinbaseexchange.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/coinbaseinternational.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/coincheck.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/coinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/coinlist.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/coinmate.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/coinmetro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/coinsph.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/coinspot.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/cryptocom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/currencycom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/delta.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/deribit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/digifinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/exmo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/fmfwio.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/gateio.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/gemini.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/hitbtc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/hollaex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/huobi.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/hyperliquid.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/idex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/independentreserve.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/indodax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/kraken.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/kucoin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/kuna.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/latoken.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/lbank.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/luno.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/lykke.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/mercado.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/mexc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/ndax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/novadax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/oceanex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/okcoin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/okx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/onetrading.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/oxfun.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/p2b.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/paymium.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/phemex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/poloniex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/binance.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/bitfinex2.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/cex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/coinbaseexchange.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/gate.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/htx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/idex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/luno.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/okx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/oxfun.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/probit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/vertex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/woo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/pro/woofipro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/probit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/test/__init__.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/test/tests_async.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/test/tests_helpers.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/test/tests_init.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/test/tests_sync.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/timex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/tradeogre.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/upbit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/vertex.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/wazirx.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/whitebit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/woo.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/woofipro.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/xt.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/yobit.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/zaif.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt/zonda.py +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/setup.cfg +0 -0
- {ccxt-4.3.56 → ccxt-4.3.57}/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.57
|
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.57/dist/ccxt.browser.min.js
|
261
|
+
* unpkg: https://unpkg.com/ccxt@4.3.57/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.57/dist/ccxt.browser.min.js"></script>
|
267
267
|
```
|
268
268
|
|
269
269
|
Creates a global `ccxt` object:
|
@@ -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,32 @@ 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())
|
71
79
|
return future
|
72
80
|
|
73
81
|
def resolve(self, result, message_hash):
|
74
82
|
if self.verbose and message_hash is None:
|
75
83
|
self.log(iso8601(milliseconds()), 'resolve received None messageHash')
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
84
|
+
|
85
|
+
if self.useMessageQueue:
|
86
|
+
if message_hash not in self.message_queue:
|
87
|
+
self.message_queue[message_hash] = deque(maxlen=10)
|
88
|
+
queue = self.message_queue[message_hash]
|
89
|
+
queue.append(result)
|
90
|
+
if message_hash in self.futures:
|
91
|
+
future = self.futures[message_hash]
|
92
|
+
future.resolve(queue.popleft())
|
93
|
+
del self.futures[message_hash]
|
94
|
+
else:
|
95
|
+
if message_hash in self.futures:
|
96
|
+
future = self.futures[message_hash]
|
97
|
+
future.resolve(result)
|
98
|
+
del self.futures[message_hash]
|
80
99
|
return result
|
81
100
|
|
82
101
|
def reject(self, result, message_hash=None):
|
@@ -165,6 +184,7 @@ class Client(object):
|
|
165
184
|
ensure_future(self.close(code), loop=self.asyncio_loop)
|
166
185
|
|
167
186
|
def reset(self, error):
|
187
|
+
self.message_queue = {}
|
168
188
|
self.reject(error)
|
169
189
|
|
170
190
|
async def ping_loop(self):
|
@@ -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]:
|
@@ -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
|
"""
|
@@ -25,8 +25,7 @@ class coinone(Exchange, ImplicitAPI):
|
|
25
25
|
'id': 'coinone',
|
26
26
|
'name': 'CoinOne',
|
27
27
|
'countries': ['KR'], # Korea
|
28
|
-
|
29
|
-
'rateLimit': 667,
|
28
|
+
'rateLimit': 50,
|
30
29
|
'version': 'v2',
|
31
30
|
'pro': False,
|
32
31
|
'has': {
|
@@ -198,10 +197,10 @@ class coinone(Exchange, ImplicitAPI):
|
|
198
197
|
},
|
199
198
|
'precisionMode': TICK_SIZE,
|
200
199
|
'exceptions': {
|
201
|
-
'
|
202
|
-
'
|
203
|
-
'108': BadSymbol,
|
204
|
-
'
|
200
|
+
'104': OrderNotFound,
|
201
|
+
'107': BadRequest,
|
202
|
+
'108': BadSymbol,
|
203
|
+
'405': OnMaintenance,
|
205
204
|
},
|
206
205
|
'commonCurrencies': {
|
207
206
|
'SOC': 'Soda Coin',
|
@@ -1111,17 +1110,14 @@ class coinone(Exchange, ImplicitAPI):
|
|
1111
1110
|
|
1112
1111
|
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
1113
1112
|
if response is None:
|
1114
|
-
return None
|
1115
|
-
|
1116
|
-
|
1117
|
-
|
1118
|
-
|
1119
|
-
|
1120
|
-
|
1121
|
-
|
1122
|
-
|
1123
|
-
|
1124
|
-
raise ExchangeError(feedback)
|
1125
|
-
else:
|
1126
|
-
raise ExchangeError(self.id + ' ' + body)
|
1113
|
+
return None # fallback to default error handler
|
1114
|
+
#
|
1115
|
+
# {"result":"error","error_code":"107","error_msg":"Parameter value is wrong"}
|
1116
|
+
# {"result":"error","error_code":"108","error_msg":"Unknown CryptoCurrency"}
|
1117
|
+
#
|
1118
|
+
errorCode = self.safe_string(response, 'error_code')
|
1119
|
+
if errorCode != '0':
|
1120
|
+
feedback = self.id + ' ' + body
|
1121
|
+
self.throw_exactly_matched_exception(self.exceptions, errorCode, feedback)
|
1122
|
+
raise ExchangeError(feedback) # unknown message
|
1127
1123
|
return None
|
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.gate import ImplicitAPI
|
8
8
|
import asyncio
|
9
9
|
import hashlib
|
10
|
-
from ccxt.base.types import Balances, Currencies, Currency, FundingHistory, Greeks, Int, Leverage, Leverages, LeverageTier, LeverageTiers, MarginModification, Market, MarketInterface, Num, Option, OptionChain, Order, OrderBook, OrderRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
|
10
|
+
from ccxt.base.types import Balances, Currencies, Currency, FundingHistory, Greeks, Int, Leverage, Leverages, LeverageTier, LeverageTiers, MarginModification, Market, MarketInterface, Num, Option, OptionChain, Order, OrderBook, OrderRequest, CancellationRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
|
11
11
|
from typing import List
|
12
12
|
from ccxt.base.errors import ExchangeError
|
13
13
|
from ccxt.base.errors import AuthenticationError
|
@@ -100,6 +100,8 @@ class gate(Exchange, ImplicitAPI):
|
|
100
100
|
'borrowIsolatedMargin': True,
|
101
101
|
'cancelAllOrders': True,
|
102
102
|
'cancelOrder': True,
|
103
|
+
'cancelOrders': True,
|
104
|
+
'cancelOrdersForSymbols': True,
|
103
105
|
'createMarketBuyOrderWithCost': True,
|
104
106
|
'createMarketOrder': True,
|
105
107
|
'createMarketOrderWithCost': False,
|
@@ -4185,6 +4187,8 @@ class gate(Exchange, ImplicitAPI):
|
|
4185
4187
|
# "message": "Not enough balance"
|
4186
4188
|
# }
|
4187
4189
|
#
|
4190
|
+
# {"user_id":10406147,"id":"id","succeeded":false,"message":"INVALID_PROTOCOL","label":"INVALID_PROTOCOL"}
|
4191
|
+
#
|
4188
4192
|
succeeded = self.safe_bool(order, 'succeeded', True)
|
4189
4193
|
if not succeeded:
|
4190
4194
|
# cancelOrders response
|
@@ -4192,6 +4196,7 @@ class gate(Exchange, ImplicitAPI):
|
|
4192
4196
|
'clientOrderId': self.safe_string(order, 'text'),
|
4193
4197
|
'info': order,
|
4194
4198
|
'status': 'rejected',
|
4199
|
+
'id': self.safe_string(order, 'id'),
|
4195
4200
|
})
|
4196
4201
|
put = self.safe_value_2(order, 'put', 'initial', {})
|
4197
4202
|
trigger = self.safe_value(order, 'trigger', {})
|
@@ -4727,6 +4732,81 @@ class gate(Exchange, ImplicitAPI):
|
|
4727
4732
|
#
|
4728
4733
|
return self.parse_order(response, market)
|
4729
4734
|
|
4735
|
+
async def cancel_orders(self, ids: List[str], symbol: Str = None, params={}):
|
4736
|
+
"""
|
4737
|
+
cancel multiple orders
|
4738
|
+
:see: https://www.gate.io/docs/developers/apiv4/en/#cancel-a-batch-of-orders-with-an-id-list
|
4739
|
+
:see: https://www.gate.io/docs/developers/apiv4/en/#cancel-a-batch-of-orders-with-an-id-list-2
|
4740
|
+
:param str[] ids: order ids
|
4741
|
+
:param str symbol: unified symbol of the market the order was made in
|
4742
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
4743
|
+
:returns dict: an list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
4744
|
+
"""
|
4745
|
+
await self.load_markets()
|
4746
|
+
market = None
|
4747
|
+
if symbol is not None:
|
4748
|
+
market = self.market(symbol)
|
4749
|
+
type = None
|
4750
|
+
defaultSettle = 'usdt' if (market is None) else market['settle']
|
4751
|
+
settle = self.safe_string_lower(params, 'settle', defaultSettle)
|
4752
|
+
type, params = self.handle_market_type_and_params('cancelOrders', market, params)
|
4753
|
+
isSpot = (type == 'spot')
|
4754
|
+
if isSpot and (symbol is None):
|
4755
|
+
raise ArgumentsRequired(self.id + ' cancelOrders requires a symbol argument for spot markets')
|
4756
|
+
if isSpot:
|
4757
|
+
ordersRequests = []
|
4758
|
+
for i in range(0, len(ids)):
|
4759
|
+
id = ids[i]
|
4760
|
+
orderItem: dict = {
|
4761
|
+
'id': id,
|
4762
|
+
'symbol': symbol,
|
4763
|
+
}
|
4764
|
+
ordersRequests.append(orderItem)
|
4765
|
+
return await self.cancel_orders_for_symbols(ordersRequests, params)
|
4766
|
+
request = {
|
4767
|
+
'settle': settle,
|
4768
|
+
}
|
4769
|
+
finalList = [request] # hacky but needs to be done here
|
4770
|
+
for i in range(0, len(ids)):
|
4771
|
+
finalList.append(ids[i])
|
4772
|
+
response = await self.privateFuturesPostSettleBatchCancelOrders(finalList)
|
4773
|
+
return self.parse_orders(response)
|
4774
|
+
|
4775
|
+
async def cancel_orders_for_symbols(self, orders: List[CancellationRequest], params={}):
|
4776
|
+
"""
|
4777
|
+
cancel multiple orders for multiple symbols
|
4778
|
+
:see: https://www.gate.io/docs/developers/apiv4/en/#cancel-a-batch-of-orders-with-an-id-list
|
4779
|
+
:param str[] ids: order ids
|
4780
|
+
:param str symbol: unified symbol of the market the order was made in
|
4781
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
4782
|
+
:param str[] [params.clientOrderIds]: client order ids
|
4783
|
+
:returns dict: an list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
4784
|
+
"""
|
4785
|
+
await self.load_markets()
|
4786
|
+
ordersRequests = []
|
4787
|
+
for i in range(0, len(orders)):
|
4788
|
+
order = orders[i]
|
4789
|
+
symbol = self.safe_string(order, 'symbol')
|
4790
|
+
market = self.market(symbol)
|
4791
|
+
if not market['spot']:
|
4792
|
+
raise NotSupported(self.id + ' cancelOrdersForSymbols() supports only spot markets')
|
4793
|
+
id = self.safe_string(order, 'id')
|
4794
|
+
orderItem: dict = {
|
4795
|
+
'id': id,
|
4796
|
+
'currency_pair': market['id'],
|
4797
|
+
}
|
4798
|
+
ordersRequests.append(orderItem)
|
4799
|
+
response = await self.privateSpotPostCancelBatchOrders(ordersRequests)
|
4800
|
+
#
|
4801
|
+
# [
|
4802
|
+
# {
|
4803
|
+
# "currency_pair": "BTC_USDT",
|
4804
|
+
# "id": "123456"
|
4805
|
+
# }
|
4806
|
+
# ]
|
4807
|
+
#
|
4808
|
+
return self.parse_orders(response)
|
4809
|
+
|
4730
4810
|
async def cancel_all_orders(self, symbol: Str = None, params={}):
|
4731
4811
|
"""
|
4732
4812
|
cancel all open orders
|
@@ -5653,7 +5733,20 @@ class gate(Exchange, ImplicitAPI):
|
|
5653
5733
|
authentication = api[0] # public, private
|
5654
5734
|
type = api[1] # spot, margin, future, delivery
|
5655
5735
|
query = self.omit(params, self.extract_params(path))
|
5656
|
-
|
5736
|
+
containsSettle = path.find('settle') > -1
|
5737
|
+
if containsSettle and path.endswith('batch_cancel_orders'): # weird check to prevent $settle in php and converting {settle} to array(settle)
|
5738
|
+
# special case where we need to extract the settle from the path
|
5739
|
+
# but the body is an array of strings
|
5740
|
+
settle = self.safe_dict(params, 0)
|
5741
|
+
path = self.implode_params(path, settle)
|
5742
|
+
# remove the first element from params
|
5743
|
+
newParams = []
|
5744
|
+
anyParams = params
|
5745
|
+
for i in range(1, len(anyParams)):
|
5746
|
+
newParams.append(params[i])
|
5747
|
+
params = newParams
|
5748
|
+
query = newParams
|
5749
|
+
elif isinstance(params, list):
|
5657
5750
|
# endpoints like createOrders use an array instead of an object
|
5658
5751
|
# so we infer the settle from one of the elements
|
5659
5752
|
# they have to be all the same so relying on the first one is fine
|
@@ -7012,6 +7105,7 @@ class gate(Exchange, ImplicitAPI):
|
|
7012
7105
|
# {"label": "INVALID_PARAM_VALUE", "message": "invalid argument: Trigger.rule"}
|
7013
7106
|
# {"label": "INVALID_PARAM_VALUE", "message": "invalid argument: trigger.expiration invalid range"}
|
7014
7107
|
# {"label": "INVALID_ARGUMENT", "detail": "invalid size"}
|
7108
|
+
# {"user_id":10406147,"id":"id","succeeded":false,"message":"INVALID_PROTOCOL","label":"INVALID_PROTOCOL"}
|
7015
7109
|
#
|
7016
7110
|
label = self.safe_string(response, 'label')
|
7017
7111
|
if label is not None:
|