ccxt 4.2.86__tar.gz → 4.2.88__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ccxt-4.2.86/ccxt.egg-info → ccxt-4.2.88}/PKG-INFO +5 -6
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/__init__.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/ascendex.py +16 -6
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/ascendex.py +16 -6
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/base/exchange.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/binance.py +28 -11
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bingx.py +39 -3
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitfinex.py +2 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitfinex2.py +18 -4
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitflyer.py +18 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitget.py +37 -22
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitopro.py +2 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitrue.py +16 -8
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitvavo.py +2 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/btcmarkets.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/btcturk.py +2 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/coinex.py +182 -58
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/cryptocom.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/currencycom.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/delta.py +8 -6
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/digifinex.py +9 -7
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/exmo.py +15 -15
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/gate.py +23 -20
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/hitbtc.py +31 -7
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/htx.py +2 -2
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/huobijp.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/hyperliquid.py +242 -16
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/idex.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/krakenfutures.py +4 -5
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/kucoin.py +7 -4
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/kucoinfutures.py +2 -2
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/lbank.py +2 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/mexc.py +4 -4
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/oceanex.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/okx.py +29 -15
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/phemex.py +6 -4
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/wazirx.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/zonda.py +2 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/base/exchange.py +22 -3
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/base/types.py +12 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/binance.py +28 -11
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bingx.py +39 -3
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitfinex.py +2 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitfinex2.py +18 -4
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitflyer.py +18 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitget.py +37 -22
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitopro.py +2 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitrue.py +16 -8
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitvavo.py +2 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/btcmarkets.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/btcturk.py +2 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/coinex.py +182 -58
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/cryptocom.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/currencycom.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/delta.py +8 -6
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/digifinex.py +9 -7
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/exmo.py +15 -15
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/gate.py +23 -20
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/hitbtc.py +31 -7
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/htx.py +2 -2
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/huobijp.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/hyperliquid.py +241 -16
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/idex.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/krakenfutures.py +4 -5
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/kucoin.py +7 -4
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/kucoinfutures.py +2 -2
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/lbank.py +2 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/mexc.py +4 -4
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/oceanex.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/okx.py +29 -15
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/phemex.py +6 -4
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/kucoin.py +10 -6
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_last_price.py +0 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_shared_methods.py +1 -2
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_status.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/wazirx.py +1 -1
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/zonda.py +2 -0
- {ccxt-4.2.86 → ccxt-4.2.88/ccxt.egg-info}/PKG-INFO +5 -6
- {ccxt-4.2.86 → ccxt-4.2.88}/package.json +3 -2
- {ccxt-4.2.86 → ccxt-4.2.88}/LICENSE.txt +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/MANIFEST.in +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/README.rst +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/coinbasepro.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/tradeogre.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/ace.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/alpaca.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/bybit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/coinbaseinternational.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/coinbasepro.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/flowbtc.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/tradeogre.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/base/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/base/errors.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/base/precise.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bequant.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bigone.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/binanceus.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bit2c.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitbank.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitbay.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitbns.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bithumb.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitmart.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitmex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitpanda.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitso.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitstamp.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bitteam.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bl3p.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/blofin.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/btcalpha.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/btcbox.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/bybit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/cex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/coinbase.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/coinbaseinternational.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/coinbasepro.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/coincheck.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/coinlist.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/coinmate.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/coinmetro.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/coinone.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/coinsph.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/coinspot.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/deribit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/flowbtc.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/fmfwio.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/gateio.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/gemini.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/hollaex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/huobi.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/independentreserve.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/indodax.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/kraken.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/kuna.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/latoken.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/luno.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/lykke.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/mercado.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/ndax.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/novadax.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/okcoin.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/onetrading.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/p2b.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/paymium.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/poloniex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/binance.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/bitfinex2.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/cex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/coinbasepro.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/gate.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/htx.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/idex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/luno.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/okx.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/probit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/pro/woo.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/probit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/__init__.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_account.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_balance.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_borrow_interest.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_borrow_rate.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_calculate_fee.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_crypto.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_currency.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_datetime.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_decimal_to_precision.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_deep_extend.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_funding_rate_history.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_ledger_entry.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_ledger_item.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_leverage_tier.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_margin_mode.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_margin_modification.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_market.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_number.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_ohlcv.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_open_interest.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_order.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_order_book.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_position.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_throttle.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_ticker.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_trade.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_trading_fee.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/base/test_transaction.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/test_async.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/test/test_sync.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/timex.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/tradeogre.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/upbit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/whitebit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/woo.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/yobit.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt/zaif.py +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/setup.cfg +0 -0
- {ccxt-4.2.86 → ccxt-4.2.88}/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.88
|
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
|
@@ -33,7 +33,6 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
33
33
|
|
34
34
|
|
35
35
|
## Sponsored Promotion
|
36
|
-
[](https://www.bitget.com/events/competition/86c98f96df155e6bb397e866dcd86afc?channelCode=ccxt&vipCode=tg9j)
|
37
36
|
|
38
37
|
## See Also
|
39
38
|
|
@@ -66,7 +65,7 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
66
65
|
| [](https://www.okx.com/join/CCXT2023) | okx | [OKX](https://www.okx.com/join/CCXT2023) | [](https://www.okx.com/docs-v5/en/) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://www.okx.com/join/CCXT2023) |
|
67
66
|
| [](https://x.woo.org/register?ref=YWOWC96B) | woo | [WOO X](https://x.woo.org/register?ref=YWOWC96B) | [](https://docs.woo.org/) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://x.woo.org/register?ref=YWOWC96B) |
|
68
67
|
|
69
|
-
## Supported Cryptocurrency
|
68
|
+
## Supported Cryptocurrency Exchanges
|
70
69
|
|
71
70
|
The CCXT library currently supports the following 97 cryptocurrency exchange markets and trading APIs:
|
72
71
|
|
@@ -226,13 +225,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
226
225
|
|
227
226
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
228
227
|
|
229
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.
|
230
|
-
* unpkg: https://unpkg.com/ccxt@4.2.
|
228
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.88/dist/ccxt.browser.js
|
229
|
+
* unpkg: https://unpkg.com/ccxt@4.2.88/dist/ccxt.browser.js
|
231
230
|
|
232
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.
|
233
232
|
|
234
233
|
```HTML
|
235
|
-
<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.88/dist/ccxt.browser.js"></script>
|
236
235
|
```
|
237
236
|
|
238
237
|
Creates a global `ccxt` object:
|
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.ascendex import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Account, Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
9
|
+
from ccxt.base.types import Account, Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import PermissionDenied
|
@@ -2701,7 +2701,7 @@ class ascendex(Exchange, ImplicitAPI):
|
|
2701
2701
|
result = self.parse_funding_rates(contracts)
|
2702
2702
|
return self.filter_by_array(result, 'symbol', symbols)
|
2703
2703
|
|
2704
|
-
def modify_margin_helper(self, symbol: str, amount, type, params={}):
|
2704
|
+
def modify_margin_helper(self, symbol: str, amount, type, params={}) -> MarginModification:
|
2705
2705
|
self.load_markets()
|
2706
2706
|
self.load_accounts()
|
2707
2707
|
market = self.market(symbol)
|
@@ -2728,19 +2728,29 @@ class ascendex(Exchange, ImplicitAPI):
|
|
2728
2728
|
'type': type,
|
2729
2729
|
})
|
2730
2730
|
|
2731
|
-
def parse_margin_modification(self, data, market: Market = None):
|
2731
|
+
def parse_margin_modification(self, data, market: Market = None) -> MarginModification:
|
2732
|
+
#
|
2733
|
+
# addMargin/reduceMargin
|
2734
|
+
#
|
2735
|
+
# {
|
2736
|
+
# "code": 0
|
2737
|
+
# }
|
2738
|
+
#
|
2732
2739
|
errorCode = self.safe_string(data, 'code')
|
2733
2740
|
status = 'ok' if (errorCode == '0') else 'failed'
|
2734
2741
|
return {
|
2735
2742
|
'info': data,
|
2743
|
+
'symbol': market['symbol'],
|
2736
2744
|
'type': None,
|
2737
2745
|
'amount': None,
|
2746
|
+
'total': None,
|
2738
2747
|
'code': market['quote'],
|
2739
|
-
'symbol': market['symbol'],
|
2740
2748
|
'status': status,
|
2749
|
+
'timestamp': None,
|
2750
|
+
'datetime': None,
|
2741
2751
|
}
|
2742
2752
|
|
2743
|
-
def reduce_margin(self, symbol: str, amount, params={}):
|
2753
|
+
def reduce_margin(self, symbol: str, amount, params={}) -> MarginModification:
|
2744
2754
|
"""
|
2745
2755
|
remove margin from a position
|
2746
2756
|
:param str symbol: unified market symbol
|
@@ -2750,7 +2760,7 @@ class ascendex(Exchange, ImplicitAPI):
|
|
2750
2760
|
"""
|
2751
2761
|
return self.modify_margin_helper(symbol, -amount, 'reduce', params)
|
2752
2762
|
|
2753
|
-
def add_margin(self, symbol: str, amount, params={}):
|
2763
|
+
def add_margin(self, symbol: str, amount, params={}) -> MarginModification:
|
2754
2764
|
"""
|
2755
2765
|
add margin
|
2756
2766
|
:param str symbol: unified market symbol
|
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.ascendex import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Account, Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
9
|
+
from ccxt.base.types import Account, Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import PermissionDenied
|
@@ -2701,7 +2701,7 @@ class ascendex(Exchange, ImplicitAPI):
|
|
2701
2701
|
result = self.parse_funding_rates(contracts)
|
2702
2702
|
return self.filter_by_array(result, 'symbol', symbols)
|
2703
2703
|
|
2704
|
-
async def modify_margin_helper(self, symbol: str, amount, type, params={}):
|
2704
|
+
async def modify_margin_helper(self, symbol: str, amount, type, params={}) -> MarginModification:
|
2705
2705
|
await self.load_markets()
|
2706
2706
|
await self.load_accounts()
|
2707
2707
|
market = self.market(symbol)
|
@@ -2728,19 +2728,29 @@ class ascendex(Exchange, ImplicitAPI):
|
|
2728
2728
|
'type': type,
|
2729
2729
|
})
|
2730
2730
|
|
2731
|
-
def parse_margin_modification(self, data, market: Market = None):
|
2731
|
+
def parse_margin_modification(self, data, market: Market = None) -> MarginModification:
|
2732
|
+
#
|
2733
|
+
# addMargin/reduceMargin
|
2734
|
+
#
|
2735
|
+
# {
|
2736
|
+
# "code": 0
|
2737
|
+
# }
|
2738
|
+
#
|
2732
2739
|
errorCode = self.safe_string(data, 'code')
|
2733
2740
|
status = 'ok' if (errorCode == '0') else 'failed'
|
2734
2741
|
return {
|
2735
2742
|
'info': data,
|
2743
|
+
'symbol': market['symbol'],
|
2736
2744
|
'type': None,
|
2737
2745
|
'amount': None,
|
2746
|
+
'total': None,
|
2738
2747
|
'code': market['quote'],
|
2739
|
-
'symbol': market['symbol'],
|
2740
2748
|
'status': status,
|
2749
|
+
'timestamp': None,
|
2750
|
+
'datetime': None,
|
2741
2751
|
}
|
2742
2752
|
|
2743
|
-
async def reduce_margin(self, symbol: str, amount, params={}):
|
2753
|
+
async def reduce_margin(self, symbol: str, amount, params={}) -> MarginModification:
|
2744
2754
|
"""
|
2745
2755
|
remove margin from a position
|
2746
2756
|
:param str symbol: unified market symbol
|
@@ -2750,7 +2760,7 @@ class ascendex(Exchange, ImplicitAPI):
|
|
2750
2760
|
"""
|
2751
2761
|
return await self.modify_margin_helper(symbol, -amount, 'reduce', params)
|
2752
2762
|
|
2753
|
-
async def add_margin(self, symbol: str, amount, params={}):
|
2763
|
+
async def add_margin(self, symbol: str, amount, params={}) -> MarginModification:
|
2754
2764
|
"""
|
2755
2765
|
add margin
|
2756
2766
|
:param str symbol: unified market symbol
|
@@ -8,7 +8,7 @@ from ccxt.abstract.binance import ImplicitAPI
|
|
8
8
|
import asyncio
|
9
9
|
import hashlib
|
10
10
|
import json
|
11
|
-
from ccxt.base.types import Balances, Currency, Greeks, Int, Leverage, Leverages, MarginMode, MarginModes, Market, MarketInterface, Num, Option, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
11
|
+
from ccxt.base.types import Balances, Currency, Greeks, Int, Leverage, Leverages, MarginMode, MarginModes, MarginModification, Market, MarketInterface, Num, Option, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
12
12
|
from typing import List
|
13
13
|
from ccxt.base.errors import ExchangeError
|
14
14
|
from ccxt.base.errors import PermissionDenied
|
@@ -1883,7 +1883,7 @@ class binance(Exchange, ImplicitAPI):
|
|
1883
1883
|
'-4140': BadRequest, # Invalid symbol status for opening position
|
1884
1884
|
'-4141': OperationRejected, # Symbol is closed
|
1885
1885
|
'-4144': BadSymbol, # Invalid pair
|
1886
|
-
'-4164':
|
1886
|
+
'-4164': InvalidOrder, # {"code":-4164,"msg":"Order's notional must be no smaller than 20(unless you choose reduce only)."}
|
1887
1887
|
'-4165': BadRequest, # Invalid time interval
|
1888
1888
|
'-4167': BadRequest, # Unable to adjust to Multi-Assets mode with symbols of USDⓈ-M Futures under isolated-margin mode.
|
1889
1889
|
'-4168': BadRequest, # Unable to adjust to isolated-margin mode under the Multi-Assets mode.
|
@@ -8500,7 +8500,7 @@ class binance(Exchange, ImplicitAPI):
|
|
8500
8500
|
'previousFundingDatetime': None,
|
8501
8501
|
}
|
8502
8502
|
|
8503
|
-
def parse_account_positions(self, account):
|
8503
|
+
def parse_account_positions(self, account, filterClosed=False):
|
8504
8504
|
positions = self.safe_list(account, 'positions')
|
8505
8505
|
assets = self.safe_list(account, 'assets', [])
|
8506
8506
|
balances = {}
|
@@ -8522,7 +8522,8 @@ class binance(Exchange, ImplicitAPI):
|
|
8522
8522
|
code = market['quote'] if market['linear'] else market['base']
|
8523
8523
|
maintenanceMargin = self.safe_string(position, 'maintMargin')
|
8524
8524
|
# check for maintenance margin so empty positions are not returned
|
8525
|
-
|
8525
|
+
isPositionOpen = (maintenanceMargin != '0') and (maintenanceMargin != '0.00000000')
|
8526
|
+
if not filterClosed or isPositionOpen:
|
8526
8527
|
# sometimes not all the codes are correctly returned...
|
8527
8528
|
if code in balances:
|
8528
8529
|
parsed = self.parse_account_position(self.extend(position, {
|
@@ -9288,10 +9289,11 @@ class binance(Exchange, ImplicitAPI):
|
|
9288
9289
|
:see: https://binance-docs.github.io/apidocs/delivery/en/#account-information-user_data
|
9289
9290
|
:see: https://binance-docs.github.io/apidocs/pm/en/#get-um-account-detail-user_data
|
9290
9291
|
:see: https://binance-docs.github.io/apidocs/pm/en/#get-cm-account-detail-user_data
|
9291
|
-
:param str[]
|
9292
|
+
:param str[] [symbols]: list of unified market symbols
|
9292
9293
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
9293
9294
|
:param boolean [params.portfolioMargin]: set to True if you would like to fetch positions in a portfolio margin account
|
9294
9295
|
:param str [params.subType]: "linear" or "inverse"
|
9296
|
+
:param boolean [params.filterClosed]: set to True if you would like to filter out closed positions, default is False
|
9295
9297
|
:returns dict: data on account positions
|
9296
9298
|
"""
|
9297
9299
|
if symbols is not None:
|
@@ -9319,7 +9321,9 @@ class binance(Exchange, ImplicitAPI):
|
|
9319
9321
|
response = await self.dapiPrivateGetAccount(params)
|
9320
9322
|
else:
|
9321
9323
|
raise NotSupported(self.id + ' fetchPositions() supports linear and inverse contracts only')
|
9322
|
-
|
9324
|
+
filterClosed = None
|
9325
|
+
filterClosed, params = self.handle_option_and_params(params, 'fetchAccountPositions', 'filterClosed', False)
|
9326
|
+
result = self.parse_account_positions(response, filterClosed)
|
9323
9327
|
symbols = self.market_symbols(symbols)
|
9324
9328
|
return self.filter_by_array_positions(result, 'symbol', symbols, False)
|
9325
9329
|
|
@@ -10287,7 +10291,7 @@ class binance(Exchange, ImplicitAPI):
|
|
10287
10291
|
raise NotSupported(self.id + ' add / reduce margin only supported with type future or delivery')
|
10288
10292
|
await self.load_markets()
|
10289
10293
|
market = self.market(symbol)
|
10290
|
-
amount = self.
|
10294
|
+
amount = self.amount_to_precision(symbol, amount)
|
10291
10295
|
request = {
|
10292
10296
|
'type': addOrReduce,
|
10293
10297
|
'symbol': market['id'],
|
@@ -10313,7 +10317,17 @@ class binance(Exchange, ImplicitAPI):
|
|
10313
10317
|
'code': code,
|
10314
10318
|
})
|
10315
10319
|
|
10316
|
-
def parse_margin_modification(self, data, market: Market = None):
|
10320
|
+
def parse_margin_modification(self, data, market: Market = None) -> MarginModification:
|
10321
|
+
#
|
10322
|
+
# add/reduce margin
|
10323
|
+
#
|
10324
|
+
# {
|
10325
|
+
# "code": 200,
|
10326
|
+
# "msg": "Successfully modify position margin.",
|
10327
|
+
# "amount": 0.001,
|
10328
|
+
# "type": 1
|
10329
|
+
# }
|
10330
|
+
#
|
10317
10331
|
rawType = self.safe_integer(data, 'type')
|
10318
10332
|
resultType = 'add' if (rawType == 1) else 'reduce'
|
10319
10333
|
resultAmount = self.safe_number(data, 'amount')
|
@@ -10321,14 +10335,17 @@ class binance(Exchange, ImplicitAPI):
|
|
10321
10335
|
status = 'ok' if (errorCode == '200') else 'failed'
|
10322
10336
|
return {
|
10323
10337
|
'info': data,
|
10338
|
+
'symbol': market['symbol'],
|
10324
10339
|
'type': resultType,
|
10325
10340
|
'amount': resultAmount,
|
10341
|
+
'total': None,
|
10326
10342
|
'code': None,
|
10327
|
-
'symbol': market['symbol'],
|
10328
10343
|
'status': status,
|
10344
|
+
'timestamp': None,
|
10345
|
+
'datetime': None,
|
10329
10346
|
}
|
10330
10347
|
|
10331
|
-
async def reduce_margin(self, symbol: str, amount, params={}):
|
10348
|
+
async def reduce_margin(self, symbol: str, amount, params={}) -> MarginModification:
|
10332
10349
|
"""
|
10333
10350
|
:see: https://binance-docs.github.io/apidocs/delivery/en/#modify-isolated-position-margin-trade
|
10334
10351
|
:see: https://binance-docs.github.io/apidocs/futures/en/#modify-isolated-position-margin-trade
|
@@ -10340,7 +10357,7 @@ class binance(Exchange, ImplicitAPI):
|
|
10340
10357
|
"""
|
10341
10358
|
return await self.modify_margin_helper(symbol, amount, 2, params)
|
10342
10359
|
|
10343
|
-
async def add_margin(self, symbol: str, amount, params={}):
|
10360
|
+
async def add_margin(self, symbol: str, amount, params={}) -> MarginModification:
|
10344
10361
|
"""
|
10345
10362
|
:see: https://binance-docs.github.io/apidocs/delivery/en/#modify-isolated-position-margin-trade
|
10346
10363
|
:see: https://binance-docs.github.io/apidocs/futures/en/#modify-isolated-position-margin-trade
|
@@ -8,7 +8,7 @@ from ccxt.abstract.bingx import ImplicitAPI
|
|
8
8
|
import asyncio
|
9
9
|
import hashlib
|
10
10
|
import numbers
|
11
|
-
from ccxt.base.types import Balances, Currency, Int, Leverage, MarginMode, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
11
|
+
from ccxt.base.types import Balances, Currency, Int, Leverage, MarginMode, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
12
12
|
from typing import List
|
13
13
|
from ccxt.base.errors import ExchangeError
|
14
14
|
from ccxt.base.errors import PermissionDenied
|
@@ -44,6 +44,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
44
44
|
'swap': True,
|
45
45
|
'future': False,
|
46
46
|
'option': False,
|
47
|
+
'addMargin': True,
|
47
48
|
'cancelAllOrders': True,
|
48
49
|
'cancelOrder': True,
|
49
50
|
'cancelOrders': True,
|
@@ -90,6 +91,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
90
91
|
'fetchTrades': True,
|
91
92
|
'fetchTransfers': True,
|
92
93
|
'fetchWithdrawals': True,
|
94
|
+
'reduceMargin': True,
|
93
95
|
'setLeverage': True,
|
94
96
|
'setMargin': True,
|
95
97
|
'setMarginMode': True,
|
@@ -3247,7 +3249,19 @@ class bingx(Exchange, ImplicitAPI):
|
|
3247
3249
|
}
|
3248
3250
|
return await self.swapV2PrivatePostTradeMarginType(self.extend(request, params))
|
3249
3251
|
|
3250
|
-
async def
|
3252
|
+
async def add_margin(self, symbol: str, amount: float, params={}) -> MarginModification:
|
3253
|
+
request = {
|
3254
|
+
'type': 1,
|
3255
|
+
}
|
3256
|
+
return await self.set_margin(symbol, amount, self.extend(request, params))
|
3257
|
+
|
3258
|
+
async def reduce_margin(self, symbol: str, amount: float, params={}) -> MarginModification:
|
3259
|
+
request = {
|
3260
|
+
'type': 2,
|
3261
|
+
}
|
3262
|
+
return await self.set_margin(symbol, amount, self.extend(request, params))
|
3263
|
+
|
3264
|
+
async def set_margin(self, symbol: str, amount: float, params={}) -> MarginModification:
|
3251
3265
|
"""
|
3252
3266
|
Either adds or reduces margin in an isolated position in order to set the margin to a specific value
|
3253
3267
|
:see: https://bingx-api.github.io/docs/#/swapV2/trade-api.html#Adjust%20isolated%20margin
|
@@ -3277,7 +3291,29 @@ class bingx(Exchange, ImplicitAPI):
|
|
3277
3291
|
# "type": 1
|
3278
3292
|
# }
|
3279
3293
|
#
|
3280
|
-
return response
|
3294
|
+
return self.parse_margin_modification(response, market)
|
3295
|
+
|
3296
|
+
def parse_margin_modification(self, data, market: Market = None) -> MarginModification:
|
3297
|
+
#
|
3298
|
+
# {
|
3299
|
+
# "code": 0,
|
3300
|
+
# "msg": "",
|
3301
|
+
# "amount": 1,
|
3302
|
+
# "type": 1
|
3303
|
+
# }
|
3304
|
+
#
|
3305
|
+
type = self.safe_string(data, 'type')
|
3306
|
+
return {
|
3307
|
+
'info': data,
|
3308
|
+
'symbol': self.safe_string(market, 'symbol'),
|
3309
|
+
'type': 'add' if (type == '1') else 'reduce',
|
3310
|
+
'amount': self.safe_number(data, 'amount'),
|
3311
|
+
'total': self.safe_number(data, 'margin'),
|
3312
|
+
'code': self.safe_string(market, 'settle'),
|
3313
|
+
'status': None,
|
3314
|
+
'timestamp': None,
|
3315
|
+
'datetime': None,
|
3316
|
+
}
|
3281
3317
|
|
3282
3318
|
async def fetch_leverage(self, symbol: str, params={}) -> Leverage:
|
3283
3319
|
"""
|
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.bitfinex2 import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
9
|
+
from ccxt.base.types import Balances, Currency, Int, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import PermissionDenied
|
@@ -1343,6 +1343,8 @@ class bitfinex2(Exchange, ImplicitAPI):
|
|
1343
1343
|
market = self.market(symbol)
|
1344
1344
|
if limit is None:
|
1345
1345
|
limit = 10000
|
1346
|
+
else:
|
1347
|
+
limit = min(limit, 10000)
|
1346
1348
|
request = {
|
1347
1349
|
'symbol': market['id'],
|
1348
1350
|
'timeframe': self.safe_string(self.timeframes, timeframe, timeframe),
|
@@ -3279,7 +3281,7 @@ class bitfinex2(Exchange, ImplicitAPI):
|
|
3279
3281
|
'datetime': self.iso8601(timestamp),
|
3280
3282
|
})
|
3281
3283
|
|
3282
|
-
async def set_margin(self, symbol: str, amount: float, params={}):
|
3284
|
+
async def set_margin(self, symbol: str, amount: float, params={}) -> MarginModification:
|
3283
3285
|
"""
|
3284
3286
|
either adds or reduces margin in a swap position in order to set the margin to a specific value
|
3285
3287
|
:see: https://docs.bitfinex.com/reference/rest-auth-deriv-pos-collateral-set
|
@@ -3307,16 +3309,28 @@ class bitfinex2(Exchange, ImplicitAPI):
|
|
3307
3309
|
data = self.safe_value(response, 0)
|
3308
3310
|
return self.parse_margin_modification(data, market)
|
3309
3311
|
|
3310
|
-
def parse_margin_modification(self, data, market=None):
|
3312
|
+
def parse_margin_modification(self, data, market=None) -> MarginModification:
|
3313
|
+
#
|
3314
|
+
# setMargin
|
3315
|
+
#
|
3316
|
+
# [
|
3317
|
+
# [
|
3318
|
+
# 1
|
3319
|
+
# ]
|
3320
|
+
# ]
|
3321
|
+
#
|
3311
3322
|
marginStatusRaw = data[0]
|
3312
3323
|
marginStatus = 'ok' if (marginStatusRaw == 1) else 'failed'
|
3313
3324
|
return {
|
3314
3325
|
'info': data,
|
3326
|
+
'symbol': market['symbol'],
|
3315
3327
|
'type': None,
|
3316
3328
|
'amount': None,
|
3329
|
+
'total': None,
|
3317
3330
|
'code': None,
|
3318
|
-
'symbol': market['symbol'],
|
3319
3331
|
'status': marginStatus,
|
3332
|
+
'timestamp': None,
|
3333
|
+
'datetime': None,
|
3320
3334
|
}
|
3321
3335
|
|
3322
3336
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
@@ -11,6 +11,7 @@ from typing import List
|
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import ArgumentsRequired
|
13
13
|
from ccxt.base.errors import OrderNotFound
|
14
|
+
from ccxt.base.errors import OnMaintenance
|
14
15
|
from ccxt.base.decimal_to_precision import TICK_SIZE
|
15
16
|
from ccxt.base.precise import Precise
|
16
17
|
|
@@ -118,6 +119,11 @@ class bitflyer(Exchange, ImplicitAPI):
|
|
118
119
|
},
|
119
120
|
},
|
120
121
|
'precisionMode': TICK_SIZE,
|
122
|
+
'exceptions': {
|
123
|
+
'exact': {
|
124
|
+
'-2': OnMaintenance, # {"status":-2,"error_message":"Under maintenance","data":null}
|
125
|
+
},
|
126
|
+
},
|
121
127
|
})
|
122
128
|
|
123
129
|
def parse_expiry_date(self, expiry):
|
@@ -973,3 +979,15 @@ class bitflyer(Exchange, ImplicitAPI):
|
|
973
979
|
'Content-Type': 'application/json',
|
974
980
|
}
|
975
981
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
982
|
+
|
983
|
+
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
984
|
+
if response is None:
|
985
|
+
return None # fallback to the default error handler
|
986
|
+
feedback = self.id + ' ' + body
|
987
|
+
# i.e. {"status":-2,"error_message":"Under maintenance","data":null}
|
988
|
+
errorMessage = self.safe_string(response, 'error_message')
|
989
|
+
statusCode = self.safe_number(response, 'status')
|
990
|
+
if errorMessage is not None:
|
991
|
+
self.throw_exactly_matched_exception(self.exceptions['exact'], statusCode, feedback)
|
992
|
+
self.throw_broadly_matched_exception(self.exceptions['broad'], errorMessage, feedback)
|
993
|
+
return None
|