ccxt 4.3.36__tar.gz → 4.3.38__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.36/ccxt.egg-info → ccxt-4.3.38}/PKG-INFO +6 -4
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/__init__.py +1 -1
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/kraken.py +3 -3
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/okx.py +3 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/base/exchange.py +1 -1
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bingx.py +61 -31
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitbank.py +46 -1
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitmart.py +36 -37
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bl3p.py +7 -1
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/btcalpha.py +7 -2
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/btcturk.py +11 -1
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/coinbase.py +2 -2
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/coincheck.py +8 -1
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/coinex.py +9 -6
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/htx.py +64 -3
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/kraken.py +5 -5
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/okx.py +3 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/woofipro.py +3 -1
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/base/exchange.py +1 -1
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bingx.py +61 -31
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitbank.py +46 -1
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitmart.py +36 -37
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bl3p.py +7 -1
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/btcalpha.py +7 -2
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/btcturk.py +11 -1
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/coinbase.py +2 -2
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/coincheck.py +8 -1
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/coinex.py +9 -6
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/htx.py +64 -3
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/kraken.py +5 -5
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/okx.py +3 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/woofipro.py +3 -1
- {ccxt-4.3.36 → ccxt-4.3.38/ccxt.egg-info}/PKG-INFO +6 -4
- {ccxt-4.3.36 → ccxt-4.3.38}/package.json +1 -1
- {ccxt-4.3.36 → ccxt-4.3.38}/LICENSE.txt +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/MANIFEST.in +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/README.rst +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/coinbaseadvanced.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/coinbaseexchange.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/tradeogre.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/woofipro.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/ace.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/alpaca.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/ascendex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/binance.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitget.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/bybit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/coinbaseadvanced.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/coinbaseexchange.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/coinbaseinternational.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/gate.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/hyperliquid.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/kucoin.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/tradeogre.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/base/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/base/errors.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/base/precise.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/base/types.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bequant.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bigone.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/binance.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/binanceus.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bit2c.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitbay.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitbns.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitfinex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitflyer.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitget.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bithumb.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitmex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitopro.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitpanda.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitrue.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitso.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitstamp.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitteam.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bitvavo.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/blofin.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/btcbox.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/bybit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/cex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/coinbaseadvanced.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/coinbaseexchange.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/coinbaseinternational.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/coinlist.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/coinmate.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/coinmetro.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/coinone.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/coinsph.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/coinspot.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/cryptocom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/currencycom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/delta.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/deribit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/digifinex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/exmo.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/fmfwio.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/gate.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/gateio.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/gemini.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/hitbtc.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/hollaex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/huobi.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/huobijp.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/hyperliquid.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/idex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/independentreserve.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/indodax.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/kucoin.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/kuna.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/latoken.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/lbank.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/luno.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/lykke.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/mercado.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/mexc.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/ndax.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/novadax.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/oceanex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/okcoin.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/onetrading.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/p2b.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/paymium.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/phemex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/poloniex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/binance.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/bitfinex2.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/cex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/coinbaseexchange.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/gate.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/htx.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/idex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/luno.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/okx.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/probit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/woo.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/pro/woofipro.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/probit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/__init__.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_account.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_balance.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_borrow_interest.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_borrow_rate.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_calculate_fee.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_crypto.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_currency.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_datetime.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_decimal_to_precision.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_deep_extend.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_funding_rate_history.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_last_price.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_ledger_entry.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_ledger_item.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_leverage_tier.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_liquidation.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_margin_mode.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_margin_modification.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_market.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_number.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_ohlcv.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_open_interest.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_order.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_order_book.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_position.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_shared_methods.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_status.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_throttle.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_ticker.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_trade.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_trading_fee.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/base/test_transaction.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/test_async.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/test/test_sync.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/timex.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/tradeogre.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/upbit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/wazirx.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/whitebit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/woo.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/yobit.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/zaif.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt/zonda.py +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/setup.cfg +0 -0
- {ccxt-4.3.36 → ccxt-4.3.38}/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.38
|
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
|
@@ -34,6 +34,8 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
34
34
|
|
35
35
|
## Sponsored Promotion
|
36
36
|
|
37
|
+
[](https://www.bitmex.com/app/register/NZTR1q)
|
38
|
+
|
37
39
|
## See Also
|
38
40
|
|
39
41
|
- <sub>[](https://tab-trader.com/?utm_source=ccxt)</sub> **[TabTrader](https://tab-trader.com/?utm_source=ccxt)** – trading on all exchanges in one app. Available on **[Android](https://play.google.com/store/apps/details?id=com.tabtrader.android&referrer=utm_source%3Dccxt)** and **[iOS](https://itunes.apple.com/app/apple-store/id1095716562?mt=8)**!
|
@@ -228,13 +230,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
228
230
|
|
229
231
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
230
232
|
|
231
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
232
|
-
* unpkg: https://unpkg.com/ccxt@4.3.
|
233
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.38/dist/ccxt.browser.min.js
|
234
|
+
* unpkg: https://unpkg.com/ccxt@4.3.38/dist/ccxt.browser.min.js
|
233
235
|
|
234
236
|
CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
|
235
237
|
|
236
238
|
```HTML
|
237
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
239
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.38/dist/ccxt.browser.min.js"></script>
|
238
240
|
```
|
239
241
|
|
240
242
|
Creates a global `ccxt` object:
|
@@ -6,13 +6,13 @@ class ImplicitAPI:
|
|
6
6
|
zendesk_get_201893608 = zendeskGet201893608 = Entry('201893608', 'zendesk', 'GET', {})
|
7
7
|
public_get_assets = publicGetAssets = Entry('Assets', 'public', 'GET', {'cost': 1})
|
8
8
|
public_get_assetpairs = publicGetAssetPairs = Entry('AssetPairs', 'public', 'GET', {'cost': 1})
|
9
|
-
public_get_depth = publicGetDepth = Entry('Depth', 'public', 'GET', {'cost': 1})
|
10
|
-
public_get_ohlc = publicGetOHLC = Entry('OHLC', 'public', 'GET', {'cost': 1})
|
9
|
+
public_get_depth = publicGetDepth = Entry('Depth', 'public', 'GET', {'cost': 1.2})
|
10
|
+
public_get_ohlc = publicGetOHLC = Entry('OHLC', 'public', 'GET', {'cost': 1.2})
|
11
11
|
public_get_spread = publicGetSpread = Entry('Spread', 'public', 'GET', {'cost': 1})
|
12
12
|
public_get_systemstatus = publicGetSystemStatus = Entry('SystemStatus', 'public', 'GET', {'cost': 1})
|
13
13
|
public_get_ticker = publicGetTicker = Entry('Ticker', 'public', 'GET', {'cost': 1})
|
14
14
|
public_get_time = publicGetTime = Entry('Time', 'public', 'GET', {'cost': 1})
|
15
|
-
public_get_trades = publicGetTrades = Entry('Trades', 'public', 'GET', {'cost': 1})
|
15
|
+
public_get_trades = publicGetTrades = Entry('Trades', 'public', 'GET', {'cost': 1.2})
|
16
16
|
private_post_addorder = privatePostAddOrder = Entry('AddOrder', 'private', 'POST', {'cost': 0})
|
17
17
|
private_post_addorderbatch = privatePostAddOrderBatch = Entry('AddOrderBatch', 'private', 'POST', {'cost': 0})
|
18
18
|
private_post_addexport = privatePostAddExport = Entry('AddExport', 'private', 'POST', {'cost': 3})
|
@@ -69,6 +69,9 @@ class ImplicitAPI:
|
|
69
69
|
public_get_finance_staking_defi_eth_apy_history = publicGetFinanceStakingDefiEthApyHistory = Entry('finance/staking-defi/eth/apy-history', 'public', 'GET', {'cost': 1.6666666666666667})
|
70
70
|
public_get_finance_savings_lending_rate_summary = publicGetFinanceSavingsLendingRateSummary = Entry('finance/savings/lending-rate-summary', 'public', 'GET', {'cost': 1.6666666666666667})
|
71
71
|
public_get_finance_savings_lending_rate_history = publicGetFinanceSavingsLendingRateHistory = Entry('finance/savings/lending-rate-history', 'public', 'GET', {'cost': 1.6666666666666667})
|
72
|
+
public_get_finance_fixed_loan_lending_offers = publicGetFinanceFixedLoanLendingOffers = Entry('finance/fixed-loan/lending-offers', 'public', 'GET', {'cost': 3.3333333333333335})
|
73
|
+
public_get_finance_fixed_loan_lending_apy_history = publicGetFinanceFixedLoanLendingApyHistory = Entry('finance/fixed-loan/lending-apy-history', 'public', 'GET', {'cost': 3.3333333333333335})
|
74
|
+
public_get_finance_fixed_loan_pending_lending_volume = publicGetFinanceFixedLoanPendingLendingVolume = Entry('finance/fixed-loan/pending-lending-volume', 'public', 'GET', {'cost': 3.3333333333333335})
|
72
75
|
public_get_finance_sfp_dcd_products = publicGetFinanceSfpDcdProducts = Entry('finance/sfp/dcd/products', 'public', 'GET', {'cost': 0.6666666666666666})
|
73
76
|
public_get_copytrading_public_lead_traders = publicGetCopytradingPublicLeadTraders = Entry('copytrading/public-lead-traders', 'public', 'GET', {'cost': 4})
|
74
77
|
public_get_copytrading_public_weekly_pnl = publicGetCopytradingPublicWeeklyPnl = Entry('copytrading/public-weekly-pnl', 'public', 'GET', {'cost': 4})
|
@@ -2570,7 +2570,9 @@ class bingx(Exchange, ImplicitAPI):
|
|
2570
2570
|
#
|
2571
2571
|
else:
|
2572
2572
|
raise BadRequest(self.id + ' cancelAllOrders is only supported for spot and swap markets.')
|
2573
|
-
|
2573
|
+
data = self.safe_dict(response, 'data', {})
|
2574
|
+
orders = self.safe_list_2(data, 'success', 'orders', [])
|
2575
|
+
return self.parse_orders(orders)
|
2574
2576
|
|
2575
2577
|
async def cancel_orders(self, ids: List[str], symbol: Str = None, params={}):
|
2576
2578
|
"""
|
@@ -2606,42 +2608,70 @@ class bingx(Exchange, ImplicitAPI):
|
|
2606
2608
|
spotReqKey = 'clientOrderIDs' if areClientOrderIds else 'orderIds'
|
2607
2609
|
request[spotReqKey] = ','.join(parsedIds)
|
2608
2610
|
response = await self.spotV1PrivatePostTradeCancelOrders(self.extend(request, params))
|
2611
|
+
#
|
2612
|
+
# {
|
2613
|
+
# "code": 0,
|
2614
|
+
# "msg": "",
|
2615
|
+
# "debugMsg": "",
|
2616
|
+
# "data": {
|
2617
|
+
# "orders": [
|
2618
|
+
# {
|
2619
|
+
# "symbol": "SOL-USDT",
|
2620
|
+
# "orderId": 1795970045910614016,
|
2621
|
+
# "transactTime": 1717027601111,
|
2622
|
+
# "price": "180.25",
|
2623
|
+
# "stopPrice": "0",
|
2624
|
+
# "origQty": "0.03",
|
2625
|
+
# "executedQty": "0",
|
2626
|
+
# "cummulativeQuoteQty": "0",
|
2627
|
+
# "status": "CANCELED",
|
2628
|
+
# "type": "LIMIT",
|
2629
|
+
# "side": "SELL",
|
2630
|
+
# "clientOrderID": ""
|
2631
|
+
# },
|
2632
|
+
# ...
|
2633
|
+
# ]
|
2634
|
+
# }
|
2635
|
+
# }
|
2636
|
+
#
|
2609
2637
|
else:
|
2610
2638
|
if areClientOrderIds:
|
2611
2639
|
request['clientOrderIDList'] = self.json(parsedIds)
|
2612
2640
|
else:
|
2613
2641
|
request['orderIdList'] = parsedIds
|
2614
2642
|
response = await self.swapV2PrivateDeleteTradeBatchOrders(self.extend(request, params))
|
2615
|
-
|
2616
|
-
|
2617
|
-
|
2618
|
-
|
2619
|
-
|
2620
|
-
|
2621
|
-
|
2622
|
-
|
2623
|
-
|
2624
|
-
|
2625
|
-
|
2626
|
-
|
2627
|
-
|
2628
|
-
|
2629
|
-
|
2630
|
-
|
2631
|
-
|
2632
|
-
|
2633
|
-
|
2634
|
-
|
2635
|
-
|
2636
|
-
|
2637
|
-
|
2638
|
-
|
2639
|
-
|
2640
|
-
|
2641
|
-
|
2642
|
-
|
2643
|
-
|
2644
|
-
|
2643
|
+
#
|
2644
|
+
# {
|
2645
|
+
# "code": 0,
|
2646
|
+
# "msg": "",
|
2647
|
+
# "data": {
|
2648
|
+
# "success": [
|
2649
|
+
# {
|
2650
|
+
# "symbol": "LINK-USDT",
|
2651
|
+
# "orderId": 1597783850786750464,
|
2652
|
+
# "side": "BUY",
|
2653
|
+
# "positionSide": "LONG",
|
2654
|
+
# "type": "TRIGGER_MARKET",
|
2655
|
+
# "origQty": "5.0",
|
2656
|
+
# "price": "5.5710",
|
2657
|
+
# "executedQty": "0.0",
|
2658
|
+
# "avgPrice": "0.0000",
|
2659
|
+
# "cumQuote": "0",
|
2660
|
+
# "stopPrice": "5.0000",
|
2661
|
+
# "profit": "0.0000",
|
2662
|
+
# "commission": "0.000000",
|
2663
|
+
# "status": "CANCELLED",
|
2664
|
+
# "time": 1669776330000,
|
2665
|
+
# "updateTime": 1672370837000
|
2666
|
+
# }
|
2667
|
+
# ],
|
2668
|
+
# "failed": null
|
2669
|
+
# }
|
2670
|
+
# }
|
2671
|
+
#
|
2672
|
+
data = self.safe_dict(response, 'data', {})
|
2673
|
+
success = self.safe_list_2(data, 'success', 'orders', [])
|
2674
|
+
return self.parse_orders(success)
|
2645
2675
|
|
2646
2676
|
async def cancel_all_orders_after(self, timeout: Int, params={}):
|
2647
2677
|
"""
|
@@ -669,8 +669,31 @@ class bitbank(Exchange, ImplicitAPI):
|
|
669
669
|
'pair': market['id'],
|
670
670
|
}
|
671
671
|
response = await self.privatePostUserSpotCancelOrder(self.extend(request, params))
|
672
|
+
#
|
673
|
+
# {
|
674
|
+
# "success": 1,
|
675
|
+
# "data": {
|
676
|
+
# "order_id": 0,
|
677
|
+
# "pair": "string",
|
678
|
+
# "side": "string",
|
679
|
+
# "type": "string",
|
680
|
+
# "start_amount": "string",
|
681
|
+
# "remaining_amount": "string",
|
682
|
+
# "executed_amount": "string",
|
683
|
+
# "price": "string",
|
684
|
+
# "post_only": False,
|
685
|
+
# "average_price": "string",
|
686
|
+
# "ordered_at": 0,
|
687
|
+
# "expire_at": 0,
|
688
|
+
# "canceled_at": 0,
|
689
|
+
# "triggered_at": 0,
|
690
|
+
# "trigger_price": "string",
|
691
|
+
# "status": "string"
|
692
|
+
# }
|
693
|
+
# }
|
694
|
+
#
|
672
695
|
data = self.safe_value(response, 'data')
|
673
|
-
return data
|
696
|
+
return self.parse_order(data)
|
674
697
|
|
675
698
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
676
699
|
"""
|
@@ -687,6 +710,28 @@ class bitbank(Exchange, ImplicitAPI):
|
|
687
710
|
'pair': market['id'],
|
688
711
|
}
|
689
712
|
response = await self.privateGetUserSpotOrder(self.extend(request, params))
|
713
|
+
#
|
714
|
+
# {
|
715
|
+
# "success": 1,
|
716
|
+
# "data": {
|
717
|
+
# "order_id": 0,
|
718
|
+
# "pair": "string",
|
719
|
+
# "side": "string",
|
720
|
+
# "type": "string",
|
721
|
+
# "start_amount": "string",
|
722
|
+
# "remaining_amount": "string",
|
723
|
+
# "executed_amount": "string",
|
724
|
+
# "price": "string",
|
725
|
+
# "post_only": False,
|
726
|
+
# "average_price": "string",
|
727
|
+
# "ordered_at": 0,
|
728
|
+
# "expire_at": 0,
|
729
|
+
# "triggered_at": 0,
|
730
|
+
# "triger_price": "string",
|
731
|
+
# "status": "string"
|
732
|
+
# }
|
733
|
+
# }
|
734
|
+
#
|
690
735
|
data = self.safe_dict(response, 'data')
|
691
736
|
return self.parse_order(data, market)
|
692
737
|
|
@@ -1180,9 +1180,9 @@ class bitmart(Exchange, ImplicitAPI):
|
|
1180
1180
|
market = self.safe_market(marketId, market)
|
1181
1181
|
symbol = market['symbol']
|
1182
1182
|
last = self.safe_string_2(ticker, 'close_24h', 'last_price')
|
1183
|
-
percentage =
|
1183
|
+
percentage = self.safe_string(ticker, 'price_change_percent_24h')
|
1184
1184
|
if percentage is None:
|
1185
|
-
percentage = Precise.
|
1185
|
+
percentage = Precise.string_mul(self.safe_string(ticker, 'fluctuation'), '100')
|
1186
1186
|
baseVolume = self.safe_string(ticker, 'base_volume_24h')
|
1187
1187
|
quoteVolume = self.safe_string(ticker, 'quote_volume_24h')
|
1188
1188
|
if quoteVolume is None:
|
@@ -1412,13 +1412,13 @@ class bitmart(Exchange, ImplicitAPI):
|
|
1412
1412
|
#
|
1413
1413
|
# public fetchTrades spot( amount = count * price )
|
1414
1414
|
#
|
1415
|
-
#
|
1416
|
-
#
|
1417
|
-
#
|
1418
|
-
#
|
1419
|
-
#
|
1420
|
-
#
|
1421
|
-
#
|
1415
|
+
# [
|
1416
|
+
# "BTC_USDT", # symbol
|
1417
|
+
# "1717212457302", # timestamp
|
1418
|
+
# "67643.11", # price
|
1419
|
+
# "0.00106", # size
|
1420
|
+
# "sell" # side
|
1421
|
+
# ]
|
1422
1422
|
#
|
1423
1423
|
# spot: fetchMyTrades
|
1424
1424
|
#
|
@@ -1465,22 +1465,23 @@ class bitmart(Exchange, ImplicitAPI):
|
|
1465
1465
|
# 'lastTradeID': 6802340762
|
1466
1466
|
# }
|
1467
1467
|
#
|
1468
|
-
timestamp = self.safe_integer_n(trade, ['
|
1469
|
-
|
1468
|
+
timestamp = self.safe_integer_n(trade, ['createTime', 'create_time', 1])
|
1469
|
+
isPublic = self.safe_string(trade, 0)
|
1470
|
+
isPublicTrade = (isPublic is not None)
|
1470
1471
|
amount = None
|
1471
1472
|
cost = None
|
1472
1473
|
type = None
|
1473
1474
|
side = None
|
1474
1475
|
if isPublicTrade:
|
1475
|
-
amount = self.
|
1476
|
+
amount = self.safe_string_2(trade, 'count', 3)
|
1476
1477
|
cost = self.safe_string(trade, 'amount')
|
1477
|
-
side = self.
|
1478
|
+
side = self.safe_string_2(trade, 'type', 4)
|
1478
1479
|
else:
|
1479
1480
|
amount = self.safe_string_n(trade, ['size', 'vol', 'fillQty'])
|
1480
1481
|
cost = self.safe_string(trade, 'notional')
|
1481
1482
|
type = self.safe_string(trade, 'type')
|
1482
1483
|
side = self.parse_order_side(self.safe_string(trade, 'side'))
|
1483
|
-
marketId = self.
|
1484
|
+
marketId = self.safe_string_2(trade, 'symbol', 0)
|
1484
1485
|
market = self.safe_market(marketId, market)
|
1485
1486
|
feeCostString = self.safe_string_2(trade, 'fee', 'paid_fees')
|
1486
1487
|
fee = None
|
@@ -1502,7 +1503,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
1502
1503
|
'symbol': market['symbol'],
|
1503
1504
|
'type': type,
|
1504
1505
|
'side': side,
|
1505
|
-
'price': self.
|
1506
|
+
'price': self.safe_string_n(trade, ['price', 'fillPrice', 2]),
|
1506
1507
|
'amount': amount,
|
1507
1508
|
'cost': cost,
|
1508
1509
|
'takerOrMaker': self.safe_string_lower_2(trade, 'tradeRole', 'exec_type'),
|
@@ -1511,10 +1512,11 @@ class bitmart(Exchange, ImplicitAPI):
|
|
1511
1512
|
|
1512
1513
|
async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
1513
1514
|
"""
|
1514
|
-
get
|
1515
|
+
get a list of the most recent trades for a particular symbol
|
1516
|
+
:see: https://developer-pro.bitmart.com/en/spot/#get-recent-trades-v3
|
1515
1517
|
:param str symbol: unified symbol of the market to fetch trades for
|
1516
1518
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
1517
|
-
:param int [limit]: the maximum
|
1519
|
+
:param int [limit]: the maximum number of trades to fetch
|
1518
1520
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1519
1521
|
:returns Trade[]: a list of `trade structures <https://docs.ccxt.com/#/?id=public-trades>`
|
1520
1522
|
"""
|
@@ -1525,30 +1527,27 @@ class bitmart(Exchange, ImplicitAPI):
|
|
1525
1527
|
request: dict = {
|
1526
1528
|
'symbol': market['id'],
|
1527
1529
|
}
|
1528
|
-
|
1529
|
-
|
1530
|
-
|
1530
|
+
if limit is not None:
|
1531
|
+
request['limit'] = limit
|
1532
|
+
response = await self.publicGetSpotQuotationV3Trades(self.extend(request, params))
|
1531
1533
|
#
|
1532
1534
|
# {
|
1533
|
-
# "
|
1534
|
-
# "
|
1535
|
-
# "
|
1536
|
-
# "data":
|
1537
|
-
#
|
1538
|
-
#
|
1539
|
-
#
|
1540
|
-
#
|
1541
|
-
#
|
1542
|
-
#
|
1543
|
-
#
|
1544
|
-
#
|
1545
|
-
# ]
|
1546
|
-
# }
|
1535
|
+
# "code": 1000,
|
1536
|
+
# "trace": "58031f9a5bd.111.17117",
|
1537
|
+
# "message": "success",
|
1538
|
+
# "data": [
|
1539
|
+
# [
|
1540
|
+
# "BTC_USDT",
|
1541
|
+
# "1717212457302",
|
1542
|
+
# "67643.11",
|
1543
|
+
# "0.00106",
|
1544
|
+
# "sell"
|
1545
|
+
# ],
|
1546
|
+
# ]
|
1547
1547
|
# }
|
1548
1548
|
#
|
1549
|
-
data = self.
|
1550
|
-
|
1551
|
-
return self.parse_trades(trades, market, since, limit)
|
1549
|
+
data = self.safe_list(response, 'data', [])
|
1550
|
+
return self.parse_trades(data, market, since, limit)
|
1552
1551
|
|
1553
1552
|
def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
|
1554
1553
|
#
|
@@ -413,7 +413,13 @@ class bl3p(Exchange, ImplicitAPI):
|
|
413
413
|
request: dict = {
|
414
414
|
'order_id': id,
|
415
415
|
}
|
416
|
-
|
416
|
+
response = await self.privatePostMarketMoneyOrderCancel(self.extend(request, params))
|
417
|
+
#
|
418
|
+
# "success"
|
419
|
+
#
|
420
|
+
return self.safe_order({
|
421
|
+
'info': response,
|
422
|
+
})
|
417
423
|
|
418
424
|
async def create_deposit_address(self, code: str, params={}):
|
419
425
|
"""
|
@@ -679,7 +679,7 @@ class btcalpha(Exchange, ImplicitAPI):
|
|
679
679
|
filled = self.safe_string(order, 'amount_filled')
|
680
680
|
amount = self.safe_string(order, 'amount_original')
|
681
681
|
status = self.parse_order_status(self.safe_string(order, 'status'))
|
682
|
-
id = self.
|
682
|
+
id = self.safe_string_n(order, ['oid', 'id', 'order'])
|
683
683
|
trades = self.safe_value(order, 'trades')
|
684
684
|
side = self.safe_string_2(order, 'my_side', 'type')
|
685
685
|
return self.safe_order({
|
@@ -751,7 +751,12 @@ class btcalpha(Exchange, ImplicitAPI):
|
|
751
751
|
'order': id,
|
752
752
|
}
|
753
753
|
response = await self.privatePostOrderCancel(self.extend(request, params))
|
754
|
-
|
754
|
+
#
|
755
|
+
# {
|
756
|
+
# "order": 63568
|
757
|
+
# }
|
758
|
+
#
|
759
|
+
return self.parse_order(response)
|
755
760
|
|
756
761
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
757
762
|
"""
|
@@ -684,7 +684,17 @@ class btcturk(Exchange, ImplicitAPI):
|
|
684
684
|
request: dict = {
|
685
685
|
'id': id,
|
686
686
|
}
|
687
|
-
|
687
|
+
response = await self.privateDeleteOrder(self.extend(request, params))
|
688
|
+
#
|
689
|
+
# {
|
690
|
+
# "success": True,
|
691
|
+
# "message": "SUCCESS",
|
692
|
+
# "code": 0
|
693
|
+
# }
|
694
|
+
#
|
695
|
+
return self.safe_order({
|
696
|
+
'info': response,
|
697
|
+
})
|
688
698
|
|
689
699
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
690
700
|
"""
|
@@ -503,9 +503,9 @@ class coinbase(Exchange, ImplicitAPI):
|
|
503
503
|
paginate = False
|
504
504
|
paginate, params = self.handle_option_and_params(params, 'fetchAccounts', 'paginate')
|
505
505
|
if paginate:
|
506
|
-
return await self.fetch_paginated_call_cursor('fetchAccounts', None, None, None, params, 'cursor', 'cursor', None,
|
506
|
+
return await self.fetch_paginated_call_cursor('fetchAccounts', None, None, None, params, 'cursor', 'cursor', None, 250)
|
507
507
|
request: dict = {
|
508
|
-
'limit':
|
508
|
+
'limit': 250,
|
509
509
|
}
|
510
510
|
response = await self.v3PrivateGetBrokerageAccounts(self.extend(request, params))
|
511
511
|
#
|
@@ -595,7 +595,14 @@ class coincheck(Exchange, ImplicitAPI):
|
|
595
595
|
request: dict = {
|
596
596
|
'id': id,
|
597
597
|
}
|
598
|
-
|
598
|
+
response = await self.privateDeleteExchangeOrdersId(self.extend(request, params))
|
599
|
+
#
|
600
|
+
# {
|
601
|
+
# "success": True,
|
602
|
+
# "id": 12345
|
603
|
+
# }
|
604
|
+
#
|
605
|
+
return self.parse_order(response)
|
599
606
|
|
600
607
|
async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
601
608
|
"""
|
@@ -1635,14 +1635,13 @@ class coinex(Exchange, ImplicitAPI):
|
|
1635
1635
|
marketType, params = self.handle_market_type_and_params('fetchBalance', None, params)
|
1636
1636
|
marginMode = None
|
1637
1637
|
marginMode, params = self.handle_margin_mode_and_params('fetchBalance', params)
|
1638
|
-
|
1639
|
-
|
1640
|
-
if marketType == 'margin':
|
1641
|
-
return await self.fetch_margin_balance(params)
|
1642
|
-
elif marketType == 'swap':
|
1638
|
+
isMargin = (marginMode is not None) or (marketType == 'margin')
|
1639
|
+
if marketType == 'swap':
|
1643
1640
|
return await self.fetch_swap_balance(params)
|
1644
1641
|
elif marketType == 'financial':
|
1645
1642
|
return await self.fetch_financial_balance(params)
|
1643
|
+
elif isMargin:
|
1644
|
+
return await self.fetch_margin_balance(params)
|
1646
1645
|
else:
|
1647
1646
|
return await self.fetch_spot_balance(params)
|
1648
1647
|
|
@@ -3060,7 +3059,11 @@ class coinex(Exchange, ImplicitAPI):
|
|
3060
3059
|
#
|
3061
3060
|
# {"code":0,"data":{},"message":"OK"}
|
3062
3061
|
#
|
3063
|
-
return
|
3062
|
+
return [
|
3063
|
+
self.safe_order({
|
3064
|
+
'info': response,
|
3065
|
+
}),
|
3066
|
+
]
|
3064
3067
|
|
3065
3068
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
3066
3069
|
"""
|
@@ -57,6 +57,8 @@ class htx(Exchange, ImplicitAPI):
|
|
57
57
|
'cancelAllOrdersAfter': True,
|
58
58
|
'cancelOrder': True,
|
59
59
|
'cancelOrders': True,
|
60
|
+
'closeAllPositions': False,
|
61
|
+
'closePosition': True,
|
60
62
|
'createDepositAddress': None,
|
61
63
|
'createMarketBuyOrderWithCost': True,
|
62
64
|
'createMarketOrderWithCost': False,
|
@@ -5004,7 +5006,7 @@ class htx(Exchange, ImplicitAPI):
|
|
5004
5006
|
:param float [params.stopLossPrice]: *contract only* the price a stop-loss order is triggered at
|
5005
5007
|
:param float [params.takeProfitPrice]: *contract only* the price a take-profit order is triggered at
|
5006
5008
|
:param str [params.operator]: *spot and margin only* gte or lte, trigger price condition
|
5007
|
-
:param str [params.offset]: *contract only* '
|
5009
|
+
:param str [params.offset]: *contract only* 'both'(linear only), 'open', or 'close', required in hedge mode and for inverse markets
|
5008
5010
|
:param bool [params.postOnly]: *contract only* True or False
|
5009
5011
|
:param int [params.leverRate]: *contract only* required for all contract orders except tpsl, leverage greater than 20x requires prior approval of high-leverage agreement
|
5010
5012
|
:param str [params.timeInForce]: supports 'IOC' and 'FOK'
|
@@ -5054,6 +5056,9 @@ class htx(Exchange, ImplicitAPI):
|
|
5054
5056
|
else:
|
5055
5057
|
response = await self.contractPrivatePostLinearSwapApiV1SwapCrossOrder(contractRequest)
|
5056
5058
|
elif market['inverse']:
|
5059
|
+
offset = self.safe_string(params, 'offset')
|
5060
|
+
if offset is None:
|
5061
|
+
raise ArgumentsRequired(self.id + ' createOrder() requires an extra parameter params["offset"] to be set to "open" or "close" when placing orders in inverse markets')
|
5057
5062
|
if market['swap']:
|
5058
5063
|
if isStop:
|
5059
5064
|
response = await self.contractPrivatePostSwapApiV1SwapTriggerOrder(contractRequest)
|
@@ -6935,14 +6940,19 @@ class htx(Exchange, ImplicitAPI):
|
|
6935
6940
|
fetch all open positions
|
6936
6941
|
:param str[]|None symbols: list of unified market symbols
|
6937
6942
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
6943
|
+
:param str [params.subType]: 'linear' or 'inverse'
|
6944
|
+
:param str [params.type]: *inverse only* 'future', or 'swap'
|
6945
|
+
:param str [params.marginMode]: *linear only* 'cross' or 'isolated'
|
6938
6946
|
:returns dict[]: a list of `position structure <https://docs.ccxt.com/#/?id=position-structure>`
|
6939
6947
|
"""
|
6940
6948
|
await self.load_markets()
|
6941
6949
|
symbols = self.market_symbols(symbols)
|
6942
6950
|
market = None
|
6943
6951
|
if symbols is not None:
|
6944
|
-
|
6945
|
-
|
6952
|
+
symbolsLength = len(symbols)
|
6953
|
+
if symbolsLength > 0:
|
6954
|
+
first = self.safe_string(symbols, 0)
|
6955
|
+
market = self.market(first)
|
6946
6956
|
marginMode = None
|
6947
6957
|
marginMode, params = self.handle_margin_mode_and_params('fetchPositions', params, 'cross')
|
6948
6958
|
subType = None
|
@@ -8386,6 +8396,57 @@ class htx(Exchange, ImplicitAPI):
|
|
8386
8396
|
'datetime': self.iso8601(timestamp),
|
8387
8397
|
})
|
8388
8398
|
|
8399
|
+
async def close_position(self, symbol: str, side: OrderSide = None, params={}) -> Order:
|
8400
|
+
"""
|
8401
|
+
closes open positions for a contract market, requires 'amount' in params, unlike other exchanges
|
8402
|
+
:see: https://huobiapi.github.io/docs/usdt_swap/v1/en/#isolated-place-lightning-close-order # USDT-M(isolated)
|
8403
|
+
:see: https://huobiapi.github.io/docs/usdt_swap/v1/en/#cross-place-lightning-close-position # USDT-M(cross)
|
8404
|
+
:see: https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#place-lightning-close-order # Coin-M swap
|
8405
|
+
:see: https://huobiapi.github.io/docs/dm/v1/en/#place-flash-close-order # Coin-M futures
|
8406
|
+
:param str symbol: unified CCXT market symbol
|
8407
|
+
:param str side: 'buy' or 'sell', the side of the closing order, opposite side side
|
8408
|
+
:param dict [params]: extra parameters specific to the okx api endpoint
|
8409
|
+
:param str [params.clientOrderId]: client needs to provide unique API and have to maintain the API themselves afterwards. [1, 9223372036854775807]
|
8410
|
+
:param dict [params.marginMode]: 'cross' or 'isolated', required for linear markets
|
8411
|
+
*
|
8412
|
+
* EXCHANGE SPECIFIC PARAMETERS
|
8413
|
+
:param number [params.amount]: order quantity
|
8414
|
+
:param str [params.order_price_type]: 'lightning' by default, 'lightning_fok': lightning fok type, 'lightning_ioc': lightning ioc type 'market' by default, 'market': market order type, 'lightning_fok': lightning
|
8415
|
+
:returns dict: `an order structure <https://docs.ccxt.com/#/?id=position-structure>`
|
8416
|
+
"""
|
8417
|
+
await self.load_markets()
|
8418
|
+
market = self.market(symbol)
|
8419
|
+
clientOrderId = self.safe_string(params, 'clientOrderId')
|
8420
|
+
if not market['contract']:
|
8421
|
+
raise BadRequest(self.id + ' closePosition() symbol supports contract markets only')
|
8422
|
+
self.check_required_argument('closePosition', side, 'side')
|
8423
|
+
request: dict = {
|
8424
|
+
'contract_code': market['id'],
|
8425
|
+
'direction': side,
|
8426
|
+
}
|
8427
|
+
if clientOrderId is not None:
|
8428
|
+
request['client_order_id'] = clientOrderId
|
8429
|
+
if market['inverse']:
|
8430
|
+
amount = self.safe_string_2(params, 'volume', 'amount')
|
8431
|
+
if amount is None:
|
8432
|
+
raise ArgumentsRequired(self.id + ' closePosition() requires an extra argument params["amount"] for inverse markets')
|
8433
|
+
request['volume'] = self.amount_to_precision(symbol, amount)
|
8434
|
+
params = self.omit(params, ['clientOrderId', 'volume', 'amount'])
|
8435
|
+
response = None
|
8436
|
+
if market['inverse']: # Coin-M
|
8437
|
+
if market['swap']:
|
8438
|
+
response = await self.contractPrivatePostSwapApiV1SwapLightningClosePosition(self.extend(request, params))
|
8439
|
+
else: # future
|
8440
|
+
response = await self.contractPrivatePostApiV1LightningClosePosition(self.extend(request, params))
|
8441
|
+
else: # USDT-M
|
8442
|
+
marginMode = None
|
8443
|
+
marginMode, params = self.handle_margin_mode_and_params('closePosition', params, 'cross')
|
8444
|
+
if marginMode == 'cross':
|
8445
|
+
response = await self.contractPrivatePostLinearSwapApiV1SwapCrossLightningClosePosition(self.extend(request, params))
|
8446
|
+
else: # isolated
|
8447
|
+
response = await self.contractPrivatePostLinearSwapApiV1SwapLightningClosePosition(self.extend(request, params))
|
8448
|
+
return self.parse_order(response, market)
|
8449
|
+
|
8389
8450
|
async def set_position_mode(self, hedged: bool, symbol: Str = None, params={}):
|
8390
8451
|
"""
|
8391
8452
|
set hedged to True or False
|