ccxt 4.2.93__tar.gz → 4.2.95__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.2.93/ccxt.egg-info → ccxt-4.2.95}/PKG-INFO +4 -4
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/__init__.py +2 -2
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/binance.py +1 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/binancecoinm.py +1 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/binanceus.py +1 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/binanceusdm.py +1 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitstamp.py +6 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/__init__.py +2 -2
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/base/exchange.py +7 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/binance.py +63 -5
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitget.py +136 -2
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitstamp.py +7 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/coinex.py +62 -56
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/gemini.py +3 -2
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/htx.py +117 -116
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/okx.py +191 -43
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/woo.py +136 -2
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/base/errors.py +7 -7
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/base/exchange.py +18 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/base/types.py +13 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/binance.py +63 -5
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitget.py +136 -2
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitstamp.py +7 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/coinex.py +62 -56
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/gemini.py +3 -2
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/htx.py +117 -116
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/okx.py +191 -43
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/coinbase.py +12 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/kraken.py +97 -19
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/krakenfutures.py +105 -40
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/kucoin.py +25 -16
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/woo.py +136 -2
- {ccxt-4.2.93 → ccxt-4.2.95/ccxt.egg-info}/PKG-INFO +4 -4
- {ccxt-4.2.93 → ccxt-4.2.95}/package.json +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/LICENSE.txt +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/MANIFEST.in +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/README.rst +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/coinbasepro.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/tradeogre.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/ace.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/alpaca.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/ascendex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/ace.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/ascendex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bigone.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bingx.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bit2c.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitbank.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitfinex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitfinex2.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bithumb.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitmart.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitmex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitopro.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitrue.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitso.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitteam.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bitvavo.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/blockchaincom.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/blofin.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/btcalpha.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/btcbox.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/bybit.py +2 -2
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/cex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/coinbase.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/coinbaseinternational.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/coinbasepro.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/coincheck.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/coinlist.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/coinmate.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/coinsph.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/cryptocom.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/currencycom.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/delta.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/deribit.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/digifinex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/exmo.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/flowbtc.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/gate.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/hitbtc.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/hollaex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/huobijp.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/hyperliquid.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/idex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/indodax.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/kraken.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/krakenfutures.py +2 -2
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/kucoin.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/kucoinfutures.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/latoken.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/lbank.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/mexc.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/ndax.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/novadax.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/oceanex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/okcoin.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/onetrading.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/p2b.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/phemex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/poloniex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/poloniexfutures.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/probit.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/timex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/tokocrypto.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/tradeogre.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/upbit.py +2 -2
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/wavesexchange.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/whitebit.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/yobit.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/async_support/zonda.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/base/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/base/precise.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bequant.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bigone.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/binanceus.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bingx.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bit2c.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitbank.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitbay.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitbns.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitfinex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitfinex2.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitflyer.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bithumb.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitmart.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitmex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitopro.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitpanda.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitrue.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitso.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitteam.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bitvavo.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bl3p.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/blockchaincom.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/blofin.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/btcalpha.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/btcbox.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/btcturk.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/bybit.py +2 -2
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/cex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/coinbase.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/coinbaseinternational.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/coinbasepro.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/coincheck.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/coinlist.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/coinmate.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/coinmetro.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/coinone.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/coinsph.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/coinspot.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/cryptocom.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/currencycom.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/delta.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/deribit.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/digifinex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/exmo.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/flowbtc.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/fmfwio.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/gate.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/gateio.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/hitbtc.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/hollaex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/huobi.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/huobijp.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/hyperliquid.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/idex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/independentreserve.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/indodax.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/kraken.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/krakenfutures.py +2 -2
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/kucoin.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/kucoinfutures.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/kuna.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/latoken.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/lbank.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/luno.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/lykke.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/mercado.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/mexc.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/ndax.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/novadax.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/oceanex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/okcoin.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/onetrading.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/p2b.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/paymium.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/phemex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/poloniex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/poloniexfutures.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/ascendex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/binance.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/bitfinex2.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/bitget.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/bitmart.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/bitmex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/bitstamp.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/bitvavo.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/blockchaincom.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/bybit.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/cex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/coinbaseinternational.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/coinbasepro.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/coinex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/cryptocom.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/gate.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/hitbtc.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/hollaex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/htx.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/idex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/luno.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/okcoin.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/okx.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/poloniex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/poloniexfutures.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/probit.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/whitebit.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/pro/woo.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/probit.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/__init__.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_account.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_balance.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_borrow_interest.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_borrow_rate.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_calculate_fee.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_crypto.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_currency.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_datetime.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_decimal_to_precision.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_deep_extend.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_funding_rate_history.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_last_price.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_ledger_entry.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_ledger_item.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_leverage_tier.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_margin_mode.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_margin_modification.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_market.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_number.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_ohlcv.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_open_interest.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_order.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_order_book.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_position.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_shared_methods.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_status.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_throttle.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_ticker.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_trade.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_trading_fee.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/base/test_transaction.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/test_async.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/test/test_sync.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/timex.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/tokocrypto.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/tradeogre.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/upbit.py +2 -2
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/wavesexchange.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/wazirx.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/whitebit.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/yobit.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/zaif.py +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt/zonda.py +1 -1
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/setup.cfg +0 -0
- {ccxt-4.2.93 → ccxt-4.2.95}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.2.
|
3
|
+
Version: 4.2.95
|
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
|
@@ -225,13 +225,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
225
225
|
|
226
226
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
227
227
|
|
228
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.
|
229
|
-
* unpkg: https://unpkg.com/ccxt@4.2.
|
228
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.95/dist/ccxt.browser.js
|
229
|
+
* unpkg: https://unpkg.com/ccxt@4.2.95/dist/ccxt.browser.js
|
230
230
|
|
231
231
|
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.
|
232
232
|
|
233
233
|
```HTML
|
234
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.
|
234
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.95/dist/ccxt.browser.js"></script>
|
235
235
|
```
|
236
236
|
|
237
237
|
Creates a global `ccxt` object:
|
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
# ----------------------------------------------------------------------------
|
24
24
|
|
25
|
-
__version__ = '4.2.
|
25
|
+
__version__ = '4.2.95'
|
26
26
|
|
27
27
|
# ----------------------------------------------------------------------------
|
28
28
|
|
@@ -68,6 +68,7 @@ from ccxt.base.errors import DuplicateOrderId # noqa: F4
|
|
68
68
|
from ccxt.base.errors import ContractUnavailable # noqa: F401
|
69
69
|
from ccxt.base.errors import NotSupported # noqa: F401
|
70
70
|
from ccxt.base.errors import ProxyError # noqa: F401
|
71
|
+
from ccxt.base.errors import ExchangeClosedByUser # noqa: F401
|
71
72
|
from ccxt.base.errors import OperationFailed # noqa: F401
|
72
73
|
from ccxt.base.errors import NetworkError # noqa: F401
|
73
74
|
from ccxt.base.errors import DDoSProtection # noqa: F401
|
@@ -76,7 +77,6 @@ from ccxt.base.errors import ExchangeNotAvailable # noqa: F4
|
|
76
77
|
from ccxt.base.errors import OnMaintenance # noqa: F401
|
77
78
|
from ccxt.base.errors import InvalidNonce # noqa: F401
|
78
79
|
from ccxt.base.errors import RequestTimeout # noqa: F401
|
79
|
-
from ccxt.base.errors import ExchangeClosedByUser # noqa: F401
|
80
80
|
from ccxt.base.errors import error_hierarchy # noqa: F401
|
81
81
|
|
82
82
|
from ccxt.ace import ace # noqa: F401
|
@@ -608,6 +608,7 @@ class ImplicitAPI:
|
|
608
608
|
private_get_myallocations = privateGetMyAllocations = Entry('myAllocations', 'private', 'GET', {'cost': 4})
|
609
609
|
private_get_account_commission = privateGetAccountCommission = Entry('account/commission', 'private', 'GET', {'cost': 4})
|
610
610
|
private_post_order_oco = privatePostOrderOco = Entry('order/oco', 'private', 'POST', {'cost': 0.2})
|
611
|
+
private_post_orderlist_oco = privatePostOrderListOco = Entry('orderList/oco', 'private', 'POST', {'cost': 0.2})
|
611
612
|
private_post_sor_order = privatePostSorOrder = Entry('sor/order', 'private', 'POST', {'cost': 0.2})
|
612
613
|
private_post_sor_order_test = privatePostSorOrderTest = Entry('sor/order/test', 'private', 'POST', {'cost': 0.2})
|
613
614
|
private_post_order = privatePostOrder = Entry('order', 'private', 'POST', {'cost': 0.2})
|
@@ -608,6 +608,7 @@ class ImplicitAPI:
|
|
608
608
|
private_get_myallocations = privateGetMyAllocations = Entry('myAllocations', 'private', 'GET', {'cost': 4})
|
609
609
|
private_get_account_commission = privateGetAccountCommission = Entry('account/commission', 'private', 'GET', {'cost': 4})
|
610
610
|
private_post_order_oco = privatePostOrderOco = Entry('order/oco', 'private', 'POST', {'cost': 0.2})
|
611
|
+
private_post_orderlist_oco = privatePostOrderListOco = Entry('orderList/oco', 'private', 'POST', {'cost': 0.2})
|
611
612
|
private_post_sor_order = privatePostSorOrder = Entry('sor/order', 'private', 'POST', {'cost': 0.2})
|
612
613
|
private_post_sor_order_test = privatePostSorOrderTest = Entry('sor/order/test', 'private', 'POST', {'cost': 0.2})
|
613
614
|
private_post_order = privatePostOrder = Entry('order', 'private', 'POST', {'cost': 0.2})
|
@@ -660,6 +660,7 @@ class ImplicitAPI:
|
|
660
660
|
private_get_myallocations = privateGetMyAllocations = Entry('myAllocations', 'private', 'GET', {'cost': 4})
|
661
661
|
private_get_account_commission = privateGetAccountCommission = Entry('account/commission', 'private', 'GET', {'cost': 4})
|
662
662
|
private_post_order_oco = privatePostOrderOco = Entry('order/oco', 'private', 'POST', {'cost': 0.2})
|
663
|
+
private_post_orderlist_oco = privatePostOrderListOco = Entry('orderList/oco', 'private', 'POST', {'cost': 0.2})
|
663
664
|
private_post_sor_order = privatePostSorOrder = Entry('sor/order', 'private', 'POST', {'cost': 0.2})
|
664
665
|
private_post_sor_order_test = privatePostSorOrderTest = Entry('sor/order/test', 'private', 'POST', {'cost': 0.2})
|
665
666
|
private_post_order = privatePostOrder = Entry('order', 'private', 'POST', {'cost': 0.2})
|
@@ -608,6 +608,7 @@ class ImplicitAPI:
|
|
608
608
|
private_get_myallocations = privateGetMyAllocations = Entry('myAllocations', 'private', 'GET', {'cost': 4})
|
609
609
|
private_get_account_commission = privateGetAccountCommission = Entry('account/commission', 'private', 'GET', {'cost': 4})
|
610
610
|
private_post_order_oco = privatePostOrderOco = Entry('order/oco', 'private', 'POST', {'cost': 0.2})
|
611
|
+
private_post_orderlist_oco = privatePostOrderListOco = Entry('orderList/oco', 'private', 'POST', {'cost': 0.2})
|
611
612
|
private_post_sor_order = privatePostSorOrder = Entry('sor/order', 'private', 'POST', {'cost': 0.2})
|
612
613
|
private_post_sor_order_test = privatePostSorOrderTest = Entry('sor/order/test', 'private', 'POST', {'cost': 0.2})
|
613
614
|
private_post_order = privatePostOrder = Entry('order', 'private', 'POST', {'cost': 0.2})
|
@@ -234,3 +234,9 @@ class ImplicitAPI:
|
|
234
234
|
private_post_blur_address = privatePostBlurAddress = Entry('blur_address/', 'private', 'POST', {'cost': 1})
|
235
235
|
private_post_vext_withdrawal = privatePostVextWithdrawal = Entry('vext_withdrawal/', 'private', 'POST', {'cost': 1})
|
236
236
|
private_post_vext_address = privatePostVextAddress = Entry('vext_address/', 'private', 'POST', {'cost': 1})
|
237
|
+
private_post_cspr_withdrawal = privatePostCsprWithdrawal = Entry('cspr_withdrawal/', 'private', 'POST', {'cost': 1})
|
238
|
+
private_post_cspr_address = privatePostCsprAddress = Entry('cspr_address/', 'private', 'POST', {'cost': 1})
|
239
|
+
private_post_vchf_withdrawal = privatePostVchfWithdrawal = Entry('vchf_withdrawal/', 'private', 'POST', {'cost': 1})
|
240
|
+
private_post_vchf_address = privatePostVchfAddress = Entry('vchf_address/', 'private', 'POST', {'cost': 1})
|
241
|
+
private_post_veur_withdrawal = privatePostVeurWithdrawal = Entry('veur_withdrawal/', 'private', 'POST', {'cost': 1})
|
242
|
+
private_post_veur_address = privatePostVeurAddress = Entry('veur_address/', 'private', 'POST', {'cost': 1})
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.2.
|
7
|
+
__version__ = '4.2.95'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -47,6 +47,7 @@ from ccxt.base.errors import DuplicateOrderId # noqa: F4
|
|
47
47
|
from ccxt.base.errors import ContractUnavailable # noqa: F401
|
48
48
|
from ccxt.base.errors import NotSupported # noqa: F401
|
49
49
|
from ccxt.base.errors import ProxyError # noqa: F401
|
50
|
+
from ccxt.base.errors import ExchangeClosedByUser # noqa: F401
|
50
51
|
from ccxt.base.errors import OperationFailed # noqa: F401
|
51
52
|
from ccxt.base.errors import NetworkError # noqa: F401
|
52
53
|
from ccxt.base.errors import DDoSProtection # noqa: F401
|
@@ -55,7 +56,6 @@ from ccxt.base.errors import ExchangeNotAvailable # noqa: F4
|
|
55
56
|
from ccxt.base.errors import OnMaintenance # noqa: F401
|
56
57
|
from ccxt.base.errors import InvalidNonce # noqa: F401
|
57
58
|
from ccxt.base.errors import RequestTimeout # noqa: F401
|
58
|
-
from ccxt.base.errors import ExchangeClosedByUser # noqa: F401
|
59
59
|
from ccxt.base.errors import error_hierarchy # noqa: F401
|
60
60
|
|
61
61
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '4.2.
|
5
|
+
__version__ = '4.2.95'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -1281,6 +1281,9 @@ class Exchange(BaseExchange):
|
|
1281
1281
|
async def fetch_option(self, symbol: str, params={}):
|
1282
1282
|
raise NotSupported(self.id + ' fetchOption() is not supported yet')
|
1283
1283
|
|
1284
|
+
async def fetch_convert_quote(self, fromCode: str, toCode: str, amount: Num = None, params={}):
|
1285
|
+
raise NotSupported(self.id + ' fetchConvertQuote() is not supported yet')
|
1286
|
+
|
1284
1287
|
async def fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
1285
1288
|
"""
|
1286
1289
|
fetch history of deposits and withdrawals
|
@@ -1421,6 +1424,9 @@ class Exchange(BaseExchange):
|
|
1421
1424
|
fees = await self.fetch_trading_fees(params)
|
1422
1425
|
return self.safe_dict(fees, symbol)
|
1423
1426
|
|
1427
|
+
async def fetch_convert_currencies(self, params={}):
|
1428
|
+
raise NotSupported(self.id + ' fetchConvertCurrencies() is not supported yet')
|
1429
|
+
|
1424
1430
|
async def fetch_funding_rate(self, symbol: str, params={}):
|
1425
1431
|
if self.has['fetchFundingRates']:
|
1426
1432
|
await self.load_markets()
|
@@ -11,11 +11,13 @@ import json
|
|
11
11
|
from ccxt.base.types import Balances, Currencies, Currency, Greeks, Int, Leverage, Leverages, MarginMode, MarginModes, MarginModification, Market, MarketInterface, Num, Option, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
|
12
12
|
from typing import List
|
13
13
|
from ccxt.base.errors import ExchangeError
|
14
|
+
from ccxt.base.errors import AuthenticationError
|
14
15
|
from ccxt.base.errors import PermissionDenied
|
15
16
|
from ccxt.base.errors import AccountSuspended
|
16
17
|
from ccxt.base.errors import ArgumentsRequired
|
17
18
|
from ccxt.base.errors import BadRequest
|
18
19
|
from ccxt.base.errors import BadSymbol
|
20
|
+
from ccxt.base.errors import OperationRejected
|
19
21
|
from ccxt.base.errors import MarginModeAlreadySet
|
20
22
|
from ccxt.base.errors import BadResponse
|
21
23
|
from ccxt.base.errors import InsufficientFunds
|
@@ -24,14 +26,12 @@ from ccxt.base.errors import OrderNotFound
|
|
24
26
|
from ccxt.base.errors import OrderImmediatelyFillable
|
25
27
|
from ccxt.base.errors import OrderNotFillable
|
26
28
|
from ccxt.base.errors import NotSupported
|
29
|
+
from ccxt.base.errors import OperationFailed
|
27
30
|
from ccxt.base.errors import DDoSProtection
|
28
31
|
from ccxt.base.errors import RateLimitExceeded
|
29
32
|
from ccxt.base.errors import OnMaintenance
|
30
33
|
from ccxt.base.errors import InvalidNonce
|
31
34
|
from ccxt.base.errors import RequestTimeout
|
32
|
-
from ccxt.base.errors import AuthenticationError
|
33
|
-
from ccxt.base.errors import OperationRejected
|
34
|
-
from ccxt.base.errors import OperationFailed
|
35
35
|
from ccxt.base.decimal_to_precision import TRUNCATE
|
36
36
|
from ccxt.base.decimal_to_precision import DECIMAL_PLACES
|
37
37
|
from ccxt.base.precise import Precise
|
@@ -94,6 +94,8 @@ class binance(Exchange, ImplicitAPI):
|
|
94
94
|
'fetchCanceledOrders': 'emulated',
|
95
95
|
'fetchClosedOrder': False,
|
96
96
|
'fetchClosedOrders': 'emulated',
|
97
|
+
'fetchConvertCurrencies': True,
|
98
|
+
'fetchConvertQuote': False,
|
97
99
|
'fetchCrossBorrowRate': True,
|
98
100
|
'fetchCrossBorrowRates': False,
|
99
101
|
'fetchCurrencies': True,
|
@@ -993,6 +995,7 @@ class binance(Exchange, ImplicitAPI):
|
|
993
995
|
},
|
994
996
|
'post': {
|
995
997
|
'order/oco': 0.2,
|
998
|
+
'orderList/oco': 0.2,
|
996
999
|
'sor/order': 0.2,
|
997
1000
|
'sor/order/test': 0.2,
|
998
1001
|
'order': 0.2,
|
@@ -4109,10 +4112,13 @@ class binance(Exchange, ImplicitAPI):
|
|
4109
4112
|
'interval': self.safe_string(self.timeframes, timeframe, timeframe),
|
4110
4113
|
'limit': limit,
|
4111
4114
|
}
|
4115
|
+
marketId = market['id']
|
4112
4116
|
if price == 'index':
|
4113
|
-
|
4117
|
+
parts = marketId.split('_')
|
4118
|
+
pair = self.safe_string(parts, 0)
|
4119
|
+
request['pair'] = pair # Index price takes self argument instead of symbol
|
4114
4120
|
else:
|
4115
|
-
request['symbol'] =
|
4121
|
+
request['symbol'] = marketId
|
4116
4122
|
# duration = self.parse_timeframe(timeframe)
|
4117
4123
|
if since is not None:
|
4118
4124
|
request['startTime'] = since
|
@@ -11578,3 +11584,55 @@ class binance(Exchange, ImplicitAPI):
|
|
11578
11584
|
#
|
11579
11585
|
modifications = self.parse_margin_modifications(response)
|
11580
11586
|
return self.filter_by_symbol_since_limit(modifications, symbol, since, limit)
|
11587
|
+
|
11588
|
+
async def fetch_convert_currencies(self, params={}) -> Currencies:
|
11589
|
+
"""
|
11590
|
+
fetches all available currencies that can be converted
|
11591
|
+
:see: https://binance-docs.github.io/apidocs/spot/en/#query-order-quantity-precision-per-asset-user_data
|
11592
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
11593
|
+
:returns dict: an associative dictionary of currencies
|
11594
|
+
"""
|
11595
|
+
await self.load_markets()
|
11596
|
+
response = await self.sapiGetConvertAssetInfo(params)
|
11597
|
+
#
|
11598
|
+
# [
|
11599
|
+
# {
|
11600
|
+
# "asset": "BTC",
|
11601
|
+
# "fraction": 8
|
11602
|
+
# },
|
11603
|
+
# ]
|
11604
|
+
#
|
11605
|
+
result = {}
|
11606
|
+
for i in range(0, len(response)):
|
11607
|
+
entry = response[i]
|
11608
|
+
id = self.safe_string(entry, 'asset')
|
11609
|
+
code = self.safe_currency_code(id)
|
11610
|
+
result[code] = {
|
11611
|
+
'info': entry,
|
11612
|
+
'id': id,
|
11613
|
+
'code': code,
|
11614
|
+
'networks': None,
|
11615
|
+
'type': None,
|
11616
|
+
'name': None,
|
11617
|
+
'active': None,
|
11618
|
+
'deposit': None,
|
11619
|
+
'withdraw': None,
|
11620
|
+
'fee': None,
|
11621
|
+
'precision': self.safe_integer(entry, 'fraction'),
|
11622
|
+
'limits': {
|
11623
|
+
'amount': {
|
11624
|
+
'min': None,
|
11625
|
+
'max': None,
|
11626
|
+
},
|
11627
|
+
'withdraw': {
|
11628
|
+
'min': None,
|
11629
|
+
'max': None,
|
11630
|
+
},
|
11631
|
+
'deposit': {
|
11632
|
+
'min': None,
|
11633
|
+
'max': None,
|
11634
|
+
},
|
11635
|
+
},
|
11636
|
+
'created': None,
|
11637
|
+
}
|
11638
|
+
return result
|
@@ -8,9 +8,10 @@ from ccxt.abstract.bitget import ImplicitAPI
|
|
8
8
|
import asyncio
|
9
9
|
import hashlib
|
10
10
|
import json
|
11
|
-
from ccxt.base.types import Balances, Currencies, Currency, FundingHistory, Int, Liquidation, Leverage, MarginMode, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
|
11
|
+
from ccxt.base.types import Balances, Conversion, Currencies, Currency, FundingHistory, Int, Liquidation, Leverage, MarginMode, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
|
12
12
|
from typing import List
|
13
13
|
from ccxt.base.errors import ExchangeError
|
14
|
+
from ccxt.base.errors import AuthenticationError
|
14
15
|
from ccxt.base.errors import PermissionDenied
|
15
16
|
from ccxt.base.errors import AccountSuspended
|
16
17
|
from ccxt.base.errors import ArgumentsRequired
|
@@ -28,7 +29,6 @@ from ccxt.base.errors import ExchangeNotAvailable
|
|
28
29
|
from ccxt.base.errors import OnMaintenance
|
29
30
|
from ccxt.base.errors import InvalidNonce
|
30
31
|
from ccxt.base.errors import RequestTimeout
|
31
|
-
from ccxt.base.errors import AuthenticationError
|
32
32
|
from ccxt.base.decimal_to_precision import TICK_SIZE
|
33
33
|
from ccxt.base.precise import Precise
|
34
34
|
|
@@ -85,6 +85,8 @@ class bitget(Exchange, ImplicitAPI):
|
|
85
85
|
'fetchCanceledAndClosedOrders': True,
|
86
86
|
'fetchCanceledOrders': True,
|
87
87
|
'fetchClosedOrders': True,
|
88
|
+
'fetchConvertCurrencies': True,
|
89
|
+
'fetchConvertQuote': True,
|
88
90
|
'fetchCrossBorrowRate': True,
|
89
91
|
'fetchCrossBorrowRates': False,
|
90
92
|
'fetchCurrencies': True,
|
@@ -7853,6 +7855,138 @@ class bitget(Exchange, ImplicitAPI):
|
|
7853
7855
|
'marginMode': marginType,
|
7854
7856
|
}
|
7855
7857
|
|
7858
|
+
async def fetch_convert_quote(self, fromCode: str, toCode: str, amount: Num = None, params={}) -> Conversion:
|
7859
|
+
"""
|
7860
|
+
fetch a quote for converting from one currency to another
|
7861
|
+
:see: https://www.bitget.com/api-doc/common/convert/Get-Quoted-Price
|
7862
|
+
:param str fromCode: the currency that you want to sell and convert from
|
7863
|
+
:param str toCode: the currency that you want to buy and convert into
|
7864
|
+
:param float [amount]: how much you want to trade in units of the from currency
|
7865
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
7866
|
+
:returns dict: a `conversion structure <https://docs.ccxt.com/#/?id=conversion-structure>`
|
7867
|
+
"""
|
7868
|
+
await self.load_markets()
|
7869
|
+
request = {
|
7870
|
+
'fromCoin': fromCode.upper(),
|
7871
|
+
'toCoin': toCode.upper(),
|
7872
|
+
'fromCoinSize': self.number_to_string(amount),
|
7873
|
+
}
|
7874
|
+
response = await self.privateConvertGetV2ConvertQuotedPrice(self.extend(request, params))
|
7875
|
+
#
|
7876
|
+
# {
|
7877
|
+
# "code": "00000",
|
7878
|
+
# "msg": "success",
|
7879
|
+
# "requestTime": 1712121940158,
|
7880
|
+
# "data": {
|
7881
|
+
# "fromCoin": "USDT",
|
7882
|
+
# "fromCoinSize": "5",
|
7883
|
+
# "cnvtPrice": "0.9993007892377704",
|
7884
|
+
# "toCoin": "USDC",
|
7885
|
+
# "toCoinSize": "4.99650394",
|
7886
|
+
# "traceId": "1159288930228187140",
|
7887
|
+
# "fee": "0"
|
7888
|
+
# }
|
7889
|
+
# }
|
7890
|
+
#
|
7891
|
+
data = self.safe_dict(response, 'data', {})
|
7892
|
+
fromCurrencyId = self.safe_string(data, 'fromCoin', fromCode)
|
7893
|
+
fromCurrency = self.currency(fromCurrencyId)
|
7894
|
+
toCurrencyId = self.safe_string(data, 'toCoin', toCode)
|
7895
|
+
toCurrency = self.currency(toCurrencyId)
|
7896
|
+
return self.parse_conversion(data, fromCurrency, toCurrency)
|
7897
|
+
|
7898
|
+
def parse_conversion(self, conversion, fromCurrency: Currency = None, toCurrency: Currency = None) -> Conversion:
|
7899
|
+
#
|
7900
|
+
# fetchConvertQuote
|
7901
|
+
#
|
7902
|
+
# {
|
7903
|
+
# "fromCoin": "USDT",
|
7904
|
+
# "fromCoinSize": "5",
|
7905
|
+
# "cnvtPrice": "0.9993007892377704",
|
7906
|
+
# "toCoin": "USDC",
|
7907
|
+
# "toCoinSize": "4.99650394",
|
7908
|
+
# "traceId": "1159288930228187140",
|
7909
|
+
# "fee": "0"
|
7910
|
+
# }
|
7911
|
+
#
|
7912
|
+
timestamp = self.safe_integer(conversion, 'ts')
|
7913
|
+
fromCoin = self.safe_string(conversion, 'fromCoin')
|
7914
|
+
fromCode = self.safe_currency_code(fromCoin, fromCurrency)
|
7915
|
+
to = self.safe_string(conversion, 'toCoin')
|
7916
|
+
toCode = self.safe_currency_code(to, toCurrency)
|
7917
|
+
return {
|
7918
|
+
'info': conversion,
|
7919
|
+
'timestamp': timestamp,
|
7920
|
+
'datetime': self.iso8601(timestamp),
|
7921
|
+
'id': self.safe_string(conversion, 'traceId'),
|
7922
|
+
'fromCurrency': fromCode,
|
7923
|
+
'fromAmount': self.safe_number(conversion, 'fromCoinSize'),
|
7924
|
+
'toCurrency': toCode,
|
7925
|
+
'toAmount': self.safe_number(conversion, 'toCoinSize'),
|
7926
|
+
'price': self.safe_number(conversion, 'cnvtPrice'),
|
7927
|
+
'fee': self.safe_number(conversion, 'fee'),
|
7928
|
+
}
|
7929
|
+
|
7930
|
+
async def fetch_convert_currencies(self, params={}) -> Currencies:
|
7931
|
+
"""
|
7932
|
+
fetches all available currencies that can be converted
|
7933
|
+
:see: https://www.bitget.com/api-doc/common/convert/Get-Convert-Currencies
|
7934
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
7935
|
+
:returns dict: an associative dictionary of currencies
|
7936
|
+
"""
|
7937
|
+
await self.load_markets()
|
7938
|
+
response = await self.privateConvertGetV2ConvertCurrencies(params)
|
7939
|
+
#
|
7940
|
+
# {
|
7941
|
+
# "code": "00000",
|
7942
|
+
# "msg": "success",
|
7943
|
+
# "requestTime": 1712121755897,
|
7944
|
+
# "data": [
|
7945
|
+
# {
|
7946
|
+
# "coin": "BTC",
|
7947
|
+
# "available": "0.00009850",
|
7948
|
+
# "maxAmount": "0.756266",
|
7949
|
+
# "minAmount": "0.00001"
|
7950
|
+
# },
|
7951
|
+
# ]
|
7952
|
+
# }
|
7953
|
+
#
|
7954
|
+
result = {}
|
7955
|
+
data = self.safe_list(response, 'data', [])
|
7956
|
+
for i in range(0, len(data)):
|
7957
|
+
entry = data[i]
|
7958
|
+
id = self.safe_string(entry, 'coin')
|
7959
|
+
code = self.safe_currency_code(id)
|
7960
|
+
result[code] = {
|
7961
|
+
'info': entry,
|
7962
|
+
'id': id,
|
7963
|
+
'code': code,
|
7964
|
+
'networks': None,
|
7965
|
+
'type': None,
|
7966
|
+
'name': None,
|
7967
|
+
'active': None,
|
7968
|
+
'deposit': None,
|
7969
|
+
'withdraw': self.safe_number(entry, 'available'),
|
7970
|
+
'fee': None,
|
7971
|
+
'precision': None,
|
7972
|
+
'limits': {
|
7973
|
+
'amount': {
|
7974
|
+
'min': self.safe_number(entry, 'minAmount'),
|
7975
|
+
'max': self.safe_number(entry, 'maxAmount'),
|
7976
|
+
},
|
7977
|
+
'withdraw': {
|
7978
|
+
'min': None,
|
7979
|
+
'max': None,
|
7980
|
+
},
|
7981
|
+
'deposit': {
|
7982
|
+
'min': None,
|
7983
|
+
'max': None,
|
7984
|
+
},
|
7985
|
+
},
|
7986
|
+
'created': None,
|
7987
|
+
}
|
7988
|
+
return result
|
7989
|
+
|
7856
7990
|
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
7857
7991
|
if not response:
|
7858
7992
|
return None # fallback to default error handler
|
@@ -9,6 +9,7 @@ import hashlib
|
|
9
9
|
from ccxt.base.types import Balances, Currencies, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
|
+
from ccxt.base.errors import AuthenticationError
|
12
13
|
from ccxt.base.errors import PermissionDenied
|
13
14
|
from ccxt.base.errors import BadRequest
|
14
15
|
from ccxt.base.errors import InsufficientFunds
|
@@ -19,7 +20,6 @@ from ccxt.base.errors import NotSupported
|
|
19
20
|
from ccxt.base.errors import ExchangeNotAvailable
|
20
21
|
from ccxt.base.errors import OnMaintenance
|
21
22
|
from ccxt.base.errors import InvalidNonce
|
22
|
-
from ccxt.base.errors import AuthenticationError
|
23
23
|
from ccxt.base.decimal_to_precision import TICK_SIZE
|
24
24
|
from ccxt.base.precise import Precise
|
25
25
|
|
@@ -370,6 +370,12 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
370
370
|
'blur_address/': 1,
|
371
371
|
'vext_withdrawal/': 1,
|
372
372
|
'vext_address/': 1,
|
373
|
+
'cspr_withdrawal/': 1,
|
374
|
+
'cspr_address/': 1,
|
375
|
+
'vchf_withdrawal/': 1,
|
376
|
+
'vchf_address/': 1,
|
377
|
+
'veur_withdrawal/': 1,
|
378
|
+
'veur_address/': 1,
|
373
379
|
},
|
374
380
|
},
|
375
381
|
},
|
@@ -9,6 +9,7 @@ import asyncio
|
|
9
9
|
from ccxt.base.types import Balances, Currencies, Currency, Int, Leverage, Leverages, MarginModification, Market, Num, Order, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
|
+
from ccxt.base.errors import AuthenticationError
|
12
13
|
from ccxt.base.errors import PermissionDenied
|
13
14
|
from ccxt.base.errors import ArgumentsRequired
|
14
15
|
from ccxt.base.errors import BadRequest
|
@@ -20,7 +21,6 @@ from ccxt.base.errors import NotSupported
|
|
20
21
|
from ccxt.base.errors import RateLimitExceeded
|
21
22
|
from ccxt.base.errors import ExchangeNotAvailable
|
22
23
|
from ccxt.base.errors import RequestTimeout
|
23
|
-
from ccxt.base.errors import AuthenticationError
|
24
24
|
from ccxt.base.decimal_to_precision import TICK_SIZE
|
25
25
|
from ccxt.base.precise import Precise
|
26
26
|
|
@@ -1076,8 +1076,8 @@ class coinex(Exchange, ImplicitAPI):
|
|
1076
1076
|
async def fetch_order_book(self, symbol: str, limit: Int = 20, params={}):
|
1077
1077
|
"""
|
1078
1078
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
1079
|
-
:see: https://
|
1080
|
-
:see: https://
|
1079
|
+
:see: https://docs.coinex.com/api/v2/spot/market/http/list-market-depth
|
1080
|
+
:see: https://docs.coinex.com/api/v2/futures/market/http/list-market-depth
|
1081
1081
|
:param str symbol: unified symbol of the market to fetch the order book for
|
1082
1082
|
:param int [limit]: the maximum amount of order book entries to return
|
1083
1083
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -1088,63 +1088,69 @@ class coinex(Exchange, ImplicitAPI):
|
|
1088
1088
|
if limit is None:
|
1089
1089
|
limit = 20 # default
|
1090
1090
|
request = {
|
1091
|
-
'market':
|
1092
|
-
'
|
1093
|
-
'
|
1091
|
+
'market': market['id'],
|
1092
|
+
'limit': limit,
|
1093
|
+
'interval': '0',
|
1094
1094
|
}
|
1095
1095
|
response = None
|
1096
1096
|
if market['swap']:
|
1097
|
-
response = await self.
|
1097
|
+
response = await self.v2PublicGetFuturesDepth(self.extend(request, params))
|
1098
|
+
#
|
1099
|
+
# {
|
1100
|
+
# "code": 0,
|
1101
|
+
# "data": {
|
1102
|
+
# "depth": {
|
1103
|
+
# "asks": [
|
1104
|
+
# ["70851.94", "0.2119"],
|
1105
|
+
# ["70851.95", "0.0004"],
|
1106
|
+
# ["70851.96", "0.0004"]
|
1107
|
+
# ],
|
1108
|
+
# "bids": [
|
1109
|
+
# ["70851.93", "1.0314"],
|
1110
|
+
# ["70850.93", "0.0021"],
|
1111
|
+
# ["70850.42", "0.0306"]
|
1112
|
+
# ],
|
1113
|
+
# "checksum": 2956436260,
|
1114
|
+
# "last": "70851.94",
|
1115
|
+
# "updated_at": 1712824003252
|
1116
|
+
# },
|
1117
|
+
# "is_full": True,
|
1118
|
+
# "market": "BTCUSDT"
|
1119
|
+
# },
|
1120
|
+
# "message": "OK"
|
1121
|
+
# }
|
1122
|
+
#
|
1098
1123
|
else:
|
1099
|
-
response = await self.
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
-
|
1110
|
-
|
1111
|
-
|
1112
|
-
|
1113
|
-
|
1114
|
-
|
1115
|
-
|
1116
|
-
|
1117
|
-
|
1118
|
-
|
1119
|
-
|
1120
|
-
|
1121
|
-
|
1122
|
-
|
1123
|
-
|
1124
|
-
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1128
|
-
|
1129
|
-
# ["40625.50", "0.0219"],
|
1130
|
-
# ["40625.90", "0.3506"]
|
1131
|
-
# ],
|
1132
|
-
# "bids": [
|
1133
|
-
# ["40620.89", "19.6861"],
|
1134
|
-
# ["40620.80", "0.0012"],
|
1135
|
-
# ["40619.87", "0.0365"]
|
1136
|
-
# ],
|
1137
|
-
# "last": "40620.89",
|
1138
|
-
# "time": 1650587672406,
|
1139
|
-
# "sign_price": "40619.32",
|
1140
|
-
# "index_price": "40609.93"
|
1141
|
-
# },
|
1142
|
-
# "message": "OK"
|
1143
|
-
# }
|
1144
|
-
#
|
1145
|
-
result = self.safe_value(response, 'data', {})
|
1146
|
-
timestamp = self.safe_integer(result, 'time')
|
1147
|
-
return self.parse_order_book(result, symbol, timestamp)
|
1124
|
+
response = await self.v2PublicGetSpotDepth(self.extend(request, params))
|
1125
|
+
#
|
1126
|
+
# {
|
1127
|
+
# "code": 0,
|
1128
|
+
# "data": {
|
1129
|
+
# "depth": {
|
1130
|
+
# "asks": [
|
1131
|
+
# ["70875.31", "0.28670282"],
|
1132
|
+
# ["70875.32", "0.31008114"],
|
1133
|
+
# ["70875.42", "0.05876653"]
|
1134
|
+
# ],
|
1135
|
+
# "bids": [
|
1136
|
+
# ["70855.3", "0.00632222"],
|
1137
|
+
# ["70855.29", "0.36216834"],
|
1138
|
+
# ["70855.17", "0.10166802"]
|
1139
|
+
# ],
|
1140
|
+
# "checksum": 2313816665,
|
1141
|
+
# "last": "70857.19",
|
1142
|
+
# "updated_at": 1712823790987
|
1143
|
+
# },
|
1144
|
+
# "is_full": True,
|
1145
|
+
# "market": "BTCUSDT"
|
1146
|
+
# },
|
1147
|
+
# "message": "OK"
|
1148
|
+
# }
|
1149
|
+
#
|
1150
|
+
data = self.safe_dict(response, 'data', {})
|
1151
|
+
depth = self.safe_dict(data, 'depth', {})
|
1152
|
+
timestamp = self.safe_integer(depth, 'updated_at')
|
1153
|
+
return self.parse_order_book(depth, symbol, timestamp)
|
1148
1154
|
|
1149
1155
|
def parse_trade(self, trade, market: Market = None) -> Trade:
|
1150
1156
|
#
|
@@ -10,6 +10,7 @@ import hashlib
|
|
10
10
|
from ccxt.base.types import Balances, Currencies, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, Transaction
|
11
11
|
from typing import List
|
12
12
|
from ccxt.base.errors import ExchangeError
|
13
|
+
from ccxt.base.errors import AuthenticationError
|
13
14
|
from ccxt.base.errors import PermissionDenied
|
14
15
|
from ccxt.base.errors import ArgumentsRequired
|
15
16
|
from ccxt.base.errors import BadRequest
|
@@ -21,7 +22,6 @@ from ccxt.base.errors import RateLimitExceeded
|
|
21
22
|
from ccxt.base.errors import ExchangeNotAvailable
|
22
23
|
from ccxt.base.errors import OnMaintenance
|
23
24
|
from ccxt.base.errors import InvalidNonce
|
24
|
-
from ccxt.base.errors import AuthenticationError
|
25
25
|
from ccxt.base.decimal_to_precision import TICK_SIZE
|
26
26
|
from ccxt.base.precise import Precise
|
27
27
|
|
@@ -666,7 +666,8 @@ class gemini(Exchange, ImplicitAPI):
|
|
666
666
|
for i in range(0, len(quoteQurrencies)):
|
667
667
|
quoteCurrency = quoteQurrencies[i]
|
668
668
|
if marketIdWithoutPerp.endswith(quoteCurrency):
|
669
|
-
|
669
|
+
quoteLength = self.parse_to_int(-1 * len(quoteCurrency))
|
670
|
+
baseId = marketIdWithoutPerp[0:quoteLength]
|
670
671
|
quoteId = quoteCurrency
|
671
672
|
if isPerp:
|
672
673
|
settleId = quoteCurrency # always same
|