ccxt 4.2.79__tar.gz → 4.2.81__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.79/ccxt.egg-info → ccxt-4.2.81}/PKG-INFO +4 -4
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/__init__.py +1 -1
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/upbit.py +1 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/base/exchange.py +10 -1
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/binance.py +92 -4
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bybit.py +174 -1
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/deribit.py +152 -1
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/gate.py +193 -6
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/hyperliquid.py +42 -9
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/mexc.py +2 -2
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/okx.py +17 -34
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/upbit.py +2 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/base/exchange.py +34 -5
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/base/types.py +23 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/binance.py +92 -4
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bybit.py +174 -1
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/deribit.py +152 -1
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/gate.py +193 -6
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/hyperliquid.py +42 -9
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/mexc.py +2 -2
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/okx.py +17 -34
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/binance.py +5 -5
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/bitopro.py +2 -1
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/gemini.py +4 -3
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/phemex.py +6 -1
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_ohlcv.py +3 -2
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_shared_methods.py +8 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_ticker.py +7 -1
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/test_async.py +26 -25
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/test_sync.py +26 -25
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/upbit.py +2 -0
- {ccxt-4.2.79 → ccxt-4.2.81/ccxt.egg-info}/PKG-INFO +4 -4
- {ccxt-4.2.79 → ccxt-4.2.81}/package.json +1 -1
- {ccxt-4.2.79 → ccxt-4.2.81}/LICENSE.txt +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/MANIFEST.in +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/README.rst +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/coinbasepro.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/tradeogre.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/ace.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/alpaca.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/ascendex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bingx.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitget.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/coinbaseinternational.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/coinbasepro.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/coinex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/flowbtc.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/htx.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/kucoin.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/tradeogre.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/base/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/base/errors.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/base/precise.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bequant.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bigone.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/binanceus.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bingx.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bit2c.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitbank.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitbay.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitbns.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitfinex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitflyer.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitget.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bithumb.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitmart.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitmex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitopro.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitpanda.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitrue.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitso.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitstamp.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitteam.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bitvavo.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/bl3p.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/blofin.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/btcalpha.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/btcbox.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/btcturk.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/cex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/coinbase.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/coinbaseinternational.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/coinbasepro.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/coincheck.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/coinex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/coinlist.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/coinmate.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/coinmetro.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/coinone.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/coinsph.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/coinspot.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/cryptocom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/currencycom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/delta.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/digifinex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/exmo.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/flowbtc.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/fmfwio.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/gateio.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/gemini.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/hitbtc.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/hollaex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/htx.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/huobi.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/huobijp.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/idex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/independentreserve.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/indodax.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/kraken.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/kucoin.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/kuna.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/latoken.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/lbank.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/luno.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/lykke.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/mercado.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/ndax.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/novadax.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/oceanex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/okcoin.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/onetrading.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/p2b.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/paymium.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/phemex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/poloniex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/bitfinex2.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/cex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/coinbasepro.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/gate.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/htx.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/idex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/luno.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/okx.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/probit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/pro/woo.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/probit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/__init__.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_account.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_balance.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_borrow_interest.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_borrow_rate.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_calculate_fee.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_crypto.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_currency.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_datetime.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_decimal_to_precision.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_deep_extend.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_funding_rate_history.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_last_price.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_ledger_entry.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_ledger_item.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_leverage_tier.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_margin_mode.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_margin_modification.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_market.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_number.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_open_interest.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_order.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_order_book.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_position.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_status.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_throttle.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_trade.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_trading_fee.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/test/base/test_transaction.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/timex.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/tradeogre.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/wazirx.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/whitebit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/woo.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/yobit.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/zaif.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt/zonda.py +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/setup.cfg +0 -0
- {ccxt-4.2.79 → ccxt-4.2.81}/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.81
|
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
|
@@ -226,13 +226,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
226
226
|
|
227
227
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
228
228
|
|
229
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.
|
230
|
-
* unpkg: https://unpkg.com/ccxt@4.2.
|
229
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.81/dist/ccxt.browser.js
|
230
|
+
* unpkg: https://unpkg.com/ccxt@4.2.81/dist/ccxt.browser.js
|
231
231
|
|
232
232
|
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
233
|
|
234
234
|
```HTML
|
235
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.
|
235
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.81/dist/ccxt.browser.js"></script>
|
236
236
|
```
|
237
237
|
|
238
238
|
Creates a global `ccxt` object:
|
@@ -9,6 +9,7 @@ class ImplicitAPI:
|
|
9
9
|
public_get_candles_minutes_1 = publicGetCandlesMinutes1 = Entry('candles/minutes/1', 'public', 'GET', {})
|
10
10
|
public_get_candles_minutes_3 = publicGetCandlesMinutes3 = Entry('candles/minutes/3', 'public', 'GET', {})
|
11
11
|
public_get_candles_minutes_5 = publicGetCandlesMinutes5 = Entry('candles/minutes/5', 'public', 'GET', {})
|
12
|
+
public_get_candles_minutes_10 = publicGetCandlesMinutes10 = Entry('candles/minutes/10', 'public', 'GET', {})
|
12
13
|
public_get_candles_minutes_15 = publicGetCandlesMinutes15 = Entry('candles/minutes/15', 'public', 'GET', {})
|
13
14
|
public_get_candles_minutes_30 = publicGetCandlesMinutes30 = Entry('candles/minutes/30', 'public', 'GET', {})
|
14
15
|
public_get_candles_minutes_60 = publicGetCandlesMinutes60 = Entry('candles/minutes/60', 'public', 'GET', {})
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '4.2.
|
5
|
+
__version__ = '4.2.81'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -982,6 +982,9 @@ class Exchange(BaseExchange):
|
|
982
982
|
async def fetch_order_books(self, symbols: List[str] = None, limit: Int = None, params={}):
|
983
983
|
raise NotSupported(self.id + ' fetchOrderBooks() is not supported yet')
|
984
984
|
|
985
|
+
async def watch_bids_asks(self, symbols: List[str] = None, params={}):
|
986
|
+
raise NotSupported(self.id + ' watchBidsAsks() is not supported yet')
|
987
|
+
|
985
988
|
async def watch_tickers(self, symbols: List[str] = None, params={}):
|
986
989
|
raise NotSupported(self.id + ' watchTickers() is not supported yet')
|
987
990
|
|
@@ -1284,6 +1287,12 @@ class Exchange(BaseExchange):
|
|
1284
1287
|
async def fetch_greeks(self, symbol: str, params={}):
|
1285
1288
|
raise NotSupported(self.id + ' fetchGreeks() is not supported yet')
|
1286
1289
|
|
1290
|
+
async def fetch_option_chain(self, code: str, params={}):
|
1291
|
+
raise NotSupported(self.id + ' fetchOptionChain() is not supported yet')
|
1292
|
+
|
1293
|
+
async def fetch_option(self, symbol: str, params={}):
|
1294
|
+
raise NotSupported(self.id + ' fetchOption() is not supported yet')
|
1295
|
+
|
1287
1296
|
async def fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
1288
1297
|
"""
|
1289
1298
|
fetch history of deposits and withdrawals
|
@@ -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, 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, 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
|
@@ -134,6 +134,8 @@ class binance(Exchange, ImplicitAPI):
|
|
134
134
|
'fetchOpenInterestHistory': True,
|
135
135
|
'fetchOpenOrder': True,
|
136
136
|
'fetchOpenOrders': True,
|
137
|
+
'fetchOption': True,
|
138
|
+
'fetchOptionChain': False,
|
137
139
|
'fetchOrder': True,
|
138
140
|
'fetchOrderBook': True,
|
139
141
|
'fetchOrderBooks': False,
|
@@ -2423,13 +2425,13 @@ class binance(Exchange, ImplicitAPI):
|
|
2423
2425
|
},
|
2424
2426
|
})
|
2425
2427
|
|
2426
|
-
def is_inverse(self, type, subType=None) -> bool:
|
2428
|
+
def is_inverse(self, type: str, subType: Str = None) -> bool:
|
2427
2429
|
if subType is None:
|
2428
|
-
return
|
2430
|
+
return(type == 'delivery')
|
2429
2431
|
else:
|
2430
2432
|
return subType == 'inverse'
|
2431
2433
|
|
2432
|
-
def is_linear(self, type, subType=None) -> bool:
|
2434
|
+
def is_linear(self, type: str, subType: Str = None) -> bool:
|
2433
2435
|
if subType is None:
|
2434
2436
|
return(type == 'future') or (type == 'swap')
|
2435
2437
|
else:
|
@@ -11411,3 +11413,89 @@ class binance(Exchange, ImplicitAPI):
|
|
11411
11413
|
'symbol': market['symbol'],
|
11412
11414
|
'marginMode': 'isolated' if isIsolated else 'cross',
|
11413
11415
|
}
|
11416
|
+
|
11417
|
+
async def fetch_option(self, symbol: str, params={}) -> Option:
|
11418
|
+
"""
|
11419
|
+
fetches option data that is commonly found in an option chain
|
11420
|
+
:see: https://binance-docs.github.io/apidocs/voptions/en/#24hr-ticker-price-change-statistics
|
11421
|
+
:param str symbol: unified market symbol
|
11422
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
11423
|
+
:returns dict: an `option chain structure <https://docs.ccxt.com/#/?id=option-chain-structure>`
|
11424
|
+
"""
|
11425
|
+
await self.load_markets()
|
11426
|
+
market = self.market(symbol)
|
11427
|
+
request = {
|
11428
|
+
'symbol': market['id'],
|
11429
|
+
}
|
11430
|
+
response = await self.eapiPublicGetTicker(self.extend(request, params))
|
11431
|
+
#
|
11432
|
+
# [
|
11433
|
+
# {
|
11434
|
+
# "symbol": "BTC-241227-80000-C",
|
11435
|
+
# "priceChange": "0",
|
11436
|
+
# "priceChangePercent": "0",
|
11437
|
+
# "lastPrice": "2750",
|
11438
|
+
# "lastQty": "0",
|
11439
|
+
# "open": "2750",
|
11440
|
+
# "high": "2750",
|
11441
|
+
# "low": "2750",
|
11442
|
+
# "volume": "0",
|
11443
|
+
# "amount": "0",
|
11444
|
+
# "bidPrice": "4880",
|
11445
|
+
# "askPrice": "0",
|
11446
|
+
# "openTime": 0,
|
11447
|
+
# "closeTime": 0,
|
11448
|
+
# "firstTradeId": 0,
|
11449
|
+
# "tradeCount": 0,
|
11450
|
+
# "strikePrice": "80000",
|
11451
|
+
# "exercisePrice": "63944.09893617"
|
11452
|
+
# }
|
11453
|
+
# ]
|
11454
|
+
#
|
11455
|
+
chain = self.safe_dict(response, 0, {})
|
11456
|
+
return self.parse_option(chain, None, market)
|
11457
|
+
|
11458
|
+
def parse_option(self, chain, currency: Currency = None, market: Market = None):
|
11459
|
+
#
|
11460
|
+
# {
|
11461
|
+
# "symbol": "BTC-241227-80000-C",
|
11462
|
+
# "priceChange": "0",
|
11463
|
+
# "priceChangePercent": "0",
|
11464
|
+
# "lastPrice": "2750",
|
11465
|
+
# "lastQty": "0",
|
11466
|
+
# "open": "2750",
|
11467
|
+
# "high": "2750",
|
11468
|
+
# "low": "2750",
|
11469
|
+
# "volume": "0",
|
11470
|
+
# "amount": "0",
|
11471
|
+
# "bidPrice": "4880",
|
11472
|
+
# "askPrice": "0",
|
11473
|
+
# "openTime": 0,
|
11474
|
+
# "closeTime": 0,
|
11475
|
+
# "firstTradeId": 0,
|
11476
|
+
# "tradeCount": 0,
|
11477
|
+
# "strikePrice": "80000",
|
11478
|
+
# "exercisePrice": "63944.09893617"
|
11479
|
+
# }
|
11480
|
+
#
|
11481
|
+
marketId = self.safe_string(chain, 'symbol')
|
11482
|
+
market = self.safe_market(marketId, market)
|
11483
|
+
return {
|
11484
|
+
'info': chain,
|
11485
|
+
'currency': None,
|
11486
|
+
'symbol': market['symbol'],
|
11487
|
+
'timestamp': None,
|
11488
|
+
'datetime': None,
|
11489
|
+
'impliedVolatility': None,
|
11490
|
+
'openInterest': None,
|
11491
|
+
'bidPrice': self.safe_number(chain, 'bidPrice'),
|
11492
|
+
'askPrice': self.safe_number(chain, 'askPrice'),
|
11493
|
+
'midPrice': None,
|
11494
|
+
'markPrice': None,
|
11495
|
+
'lastPrice': self.safe_number(chain, 'lastPrice'),
|
11496
|
+
'underlyingPrice': self.safe_number(chain, 'exercisePrice'),
|
11497
|
+
'change': self.safe_number(chain, 'priceChange'),
|
11498
|
+
'percentage': self.safe_number(chain, 'priceChangePercent'),
|
11499
|
+
'baseVolume': self.safe_number(chain, 'volume'),
|
11500
|
+
'quoteVolume': None,
|
11501
|
+
}
|
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.bybit import ImplicitAPI
|
8
8
|
import asyncio
|
9
9
|
import hashlib
|
10
|
-
from ccxt.base.types import Balances, Currency, Greeks, Int, Leverage, Market, MarketInterface, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
10
|
+
from ccxt.base.types import Balances, Currency, Greeks, Int, Leverage, Market, MarketInterface, Num, Option, OptionChain, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
11
11
|
from typing import List
|
12
12
|
from ccxt.base.errors import ExchangeError
|
13
13
|
from ccxt.base.errors import PermissionDenied
|
@@ -107,6 +107,8 @@ class bybit(Exchange, ImplicitAPI):
|
|
107
107
|
'fetchOpenInterestHistory': True,
|
108
108
|
'fetchOpenOrder': True,
|
109
109
|
'fetchOpenOrders': True,
|
110
|
+
'fetchOption': True,
|
111
|
+
'fetchOptionChain': True,
|
110
112
|
'fetchOrder': False,
|
111
113
|
'fetchOrderBook': True,
|
112
114
|
'fetchOrders': False,
|
@@ -7632,6 +7634,177 @@ class bybit(Exchange, ImplicitAPI):
|
|
7632
7634
|
'rate': self.safe_number(income, 'feeRate'),
|
7633
7635
|
}
|
7634
7636
|
|
7637
|
+
async def fetch_option(self, symbol: str, params={}) -> Option:
|
7638
|
+
"""
|
7639
|
+
fetches option data that is commonly found in an option chain
|
7640
|
+
:see: https://bybit-exchange.github.io/docs/v5/market/tickers
|
7641
|
+
:param str symbol: unified market symbol
|
7642
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
7643
|
+
:returns dict: an `option chain structure <https://docs.ccxt.com/#/?id=option-chain-structure>`
|
7644
|
+
"""
|
7645
|
+
await self.load_markets()
|
7646
|
+
market = self.market(symbol)
|
7647
|
+
request = {
|
7648
|
+
'category': 'option',
|
7649
|
+
'symbol': market['id'],
|
7650
|
+
}
|
7651
|
+
response = await self.publicGetV5MarketTickers(self.extend(request, params))
|
7652
|
+
#
|
7653
|
+
# {
|
7654
|
+
# "retCode": 0,
|
7655
|
+
# "retMsg": "SUCCESS",
|
7656
|
+
# "result": {
|
7657
|
+
# "category": "option",
|
7658
|
+
# "list": [
|
7659
|
+
# {
|
7660
|
+
# "symbol": "BTC-27DEC24-55000-P",
|
7661
|
+
# "bid1Price": "0",
|
7662
|
+
# "bid1Size": "0",
|
7663
|
+
# "bid1Iv": "0",
|
7664
|
+
# "ask1Price": "0",
|
7665
|
+
# "ask1Size": "0",
|
7666
|
+
# "ask1Iv": "0",
|
7667
|
+
# "lastPrice": "10980",
|
7668
|
+
# "highPrice24h": "0",
|
7669
|
+
# "lowPrice24h": "0",
|
7670
|
+
# "markPrice": "11814.66756236",
|
7671
|
+
# "indexPrice": "63838.92",
|
7672
|
+
# "markIv": "0.8866",
|
7673
|
+
# "underlyingPrice": "71690.55303594",
|
7674
|
+
# "openInterest": "0.01",
|
7675
|
+
# "turnover24h": "0",
|
7676
|
+
# "volume24h": "0",
|
7677
|
+
# "totalVolume": "2",
|
7678
|
+
# "totalTurnover": "78719",
|
7679
|
+
# "delta": "-0.23284954",
|
7680
|
+
# "gamma": "0.0000055",
|
7681
|
+
# "vega": "191.70757975",
|
7682
|
+
# "theta": "-30.43617927",
|
7683
|
+
# "predictedDeliveryPrice": "0",
|
7684
|
+
# "change24h": "0"
|
7685
|
+
# }
|
7686
|
+
# ]
|
7687
|
+
# },
|
7688
|
+
# "retExtInfo": {},
|
7689
|
+
# "time": 1711162003672
|
7690
|
+
# }
|
7691
|
+
#
|
7692
|
+
result = self.safe_dict(response, 'result', {})
|
7693
|
+
resultList = self.safe_list(result, 'list', [])
|
7694
|
+
chain = self.safe_dict(resultList, 0, {})
|
7695
|
+
return self.parse_option(chain, None, market)
|
7696
|
+
|
7697
|
+
async def fetch_option_chain(self, code: str, params={}) -> OptionChain:
|
7698
|
+
"""
|
7699
|
+
fetches data for an underlying asset that is commonly found in an option chain
|
7700
|
+
:see: https://bybit-exchange.github.io/docs/v5/market/tickers
|
7701
|
+
:param str currency: base currency to fetch an option chain for
|
7702
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
7703
|
+
:returns dict: a list of `option chain structures <https://docs.ccxt.com/#/?id=option-chain-structure>`
|
7704
|
+
"""
|
7705
|
+
await self.load_markets()
|
7706
|
+
currency = self.currency(code)
|
7707
|
+
request = {
|
7708
|
+
'category': 'option',
|
7709
|
+
'baseCoin': currency['id'],
|
7710
|
+
}
|
7711
|
+
response = await self.publicGetV5MarketTickers(self.extend(request, params))
|
7712
|
+
#
|
7713
|
+
# {
|
7714
|
+
# "retCode": 0,
|
7715
|
+
# "retMsg": "SUCCESS",
|
7716
|
+
# "result": {
|
7717
|
+
# "category": "option",
|
7718
|
+
# "list": [
|
7719
|
+
# {
|
7720
|
+
# "symbol": "BTC-27DEC24-55000-P",
|
7721
|
+
# "bid1Price": "0",
|
7722
|
+
# "bid1Size": "0",
|
7723
|
+
# "bid1Iv": "0",
|
7724
|
+
# "ask1Price": "0",
|
7725
|
+
# "ask1Size": "0",
|
7726
|
+
# "ask1Iv": "0",
|
7727
|
+
# "lastPrice": "10980",
|
7728
|
+
# "highPrice24h": "0",
|
7729
|
+
# "lowPrice24h": "0",
|
7730
|
+
# "markPrice": "11814.66756236",
|
7731
|
+
# "indexPrice": "63838.92",
|
7732
|
+
# "markIv": "0.8866",
|
7733
|
+
# "underlyingPrice": "71690.55303594",
|
7734
|
+
# "openInterest": "0.01",
|
7735
|
+
# "turnover24h": "0",
|
7736
|
+
# "volume24h": "0",
|
7737
|
+
# "totalVolume": "2",
|
7738
|
+
# "totalTurnover": "78719",
|
7739
|
+
# "delta": "-0.23284954",
|
7740
|
+
# "gamma": "0.0000055",
|
7741
|
+
# "vega": "191.70757975",
|
7742
|
+
# "theta": "-30.43617927",
|
7743
|
+
# "predictedDeliveryPrice": "0",
|
7744
|
+
# "change24h": "0"
|
7745
|
+
# },
|
7746
|
+
# ]
|
7747
|
+
# },
|
7748
|
+
# "retExtInfo": {},
|
7749
|
+
# "time": 1711162003672
|
7750
|
+
# }
|
7751
|
+
#
|
7752
|
+
result = self.safe_dict(response, 'result', {})
|
7753
|
+
resultList = self.safe_list(result, 'list', [])
|
7754
|
+
return self.parse_option_chain(resultList, None, 'symbol')
|
7755
|
+
|
7756
|
+
def parse_option(self, chain, currency: Currency = None, market: Market = None):
|
7757
|
+
#
|
7758
|
+
# {
|
7759
|
+
# "symbol": "BTC-27DEC24-55000-P",
|
7760
|
+
# "bid1Price": "0",
|
7761
|
+
# "bid1Size": "0",
|
7762
|
+
# "bid1Iv": "0",
|
7763
|
+
# "ask1Price": "0",
|
7764
|
+
# "ask1Size": "0",
|
7765
|
+
# "ask1Iv": "0",
|
7766
|
+
# "lastPrice": "10980",
|
7767
|
+
# "highPrice24h": "0",
|
7768
|
+
# "lowPrice24h": "0",
|
7769
|
+
# "markPrice": "11814.66756236",
|
7770
|
+
# "indexPrice": "63838.92",
|
7771
|
+
# "markIv": "0.8866",
|
7772
|
+
# "underlyingPrice": "71690.55303594",
|
7773
|
+
# "openInterest": "0.01",
|
7774
|
+
# "turnover24h": "0",
|
7775
|
+
# "volume24h": "0",
|
7776
|
+
# "totalVolume": "2",
|
7777
|
+
# "totalTurnover": "78719",
|
7778
|
+
# "delta": "-0.23284954",
|
7779
|
+
# "gamma": "0.0000055",
|
7780
|
+
# "vega": "191.70757975",
|
7781
|
+
# "theta": "-30.43617927",
|
7782
|
+
# "predictedDeliveryPrice": "0",
|
7783
|
+
# "change24h": "0"
|
7784
|
+
# }
|
7785
|
+
#
|
7786
|
+
marketId = self.safe_string(chain, 'symbol')
|
7787
|
+
market = self.safe_market(marketId, market)
|
7788
|
+
return {
|
7789
|
+
'info': chain,
|
7790
|
+
'currency': None,
|
7791
|
+
'symbol': market['symbol'],
|
7792
|
+
'timestamp': None,
|
7793
|
+
'datetime': None,
|
7794
|
+
'impliedVolatility': self.safe_number(chain, 'markIv'),
|
7795
|
+
'openInterest': self.safe_number(chain, 'openInterest'),
|
7796
|
+
'bidPrice': self.safe_number(chain, 'bid1Price'),
|
7797
|
+
'askPrice': self.safe_number(chain, 'ask1Price'),
|
7798
|
+
'midPrice': None,
|
7799
|
+
'markPrice': self.safe_number(chain, 'markPrice'),
|
7800
|
+
'lastPrice': self.safe_number(chain, 'lastPrice'),
|
7801
|
+
'underlyingPrice': self.safe_number(chain, 'underlyingPrice'),
|
7802
|
+
'change': self.safe_number(chain, 'change24h'),
|
7803
|
+
'percentage': None,
|
7804
|
+
'baseVolume': self.safe_number(chain, 'totalVolume'),
|
7805
|
+
'quoteVolume': None,
|
7806
|
+
}
|
7807
|
+
|
7635
7808
|
def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
|
7636
7809
|
url = self.implode_hostname(self.urls['api'][api]) + '/' + path
|
7637
7810
|
if api == 'public':
|
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.deribit import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Account, Balances, Currency, Greeks, Int, Market, MarketInterface, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
9
|
+
from ccxt.base.types import Account, Balances, Currency, Greeks, Int, Market, MarketInterface, Num, Option, OptionChain, Order, OrderBook, 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
|
@@ -83,6 +83,8 @@ class deribit(Exchange, ImplicitAPI):
|
|
83
83
|
'fetchMyTrades': True,
|
84
84
|
'fetchOHLCV': True,
|
85
85
|
'fetchOpenOrders': True,
|
86
|
+
'fetchOption': True,
|
87
|
+
'fetchOptionChain': True,
|
86
88
|
'fetchOrder': True,
|
87
89
|
'fetchOrderBook': True,
|
88
90
|
'fetchOrders': False,
|
@@ -3270,6 +3272,155 @@ class deribit(Exchange, ImplicitAPI):
|
|
3270
3272
|
'info': greeks,
|
3271
3273
|
}
|
3272
3274
|
|
3275
|
+
async def fetch_option(self, symbol: str, params={}) -> Option:
|
3276
|
+
"""
|
3277
|
+
fetches option data that is commonly found in an option chain
|
3278
|
+
:see: https://docs.deribit.com/#public-get_book_summary_by_instrument
|
3279
|
+
:param str symbol: unified market symbol
|
3280
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
3281
|
+
:returns dict: an `option chain structure <https://docs.ccxt.com/#/?id=option-chain-structure>`
|
3282
|
+
"""
|
3283
|
+
await self.load_markets()
|
3284
|
+
market = self.market(symbol)
|
3285
|
+
request = {
|
3286
|
+
'instrument_name': market['id'],
|
3287
|
+
}
|
3288
|
+
response = await self.publicGetGetBookSummaryByInstrument(self.extend(request, params))
|
3289
|
+
#
|
3290
|
+
# {
|
3291
|
+
# "jsonrpc": "2.0",
|
3292
|
+
# "result": [
|
3293
|
+
# {
|
3294
|
+
# "mid_price": 0.04025,
|
3295
|
+
# "volume_usd": 11045.12,
|
3296
|
+
# "quote_currency": "BTC",
|
3297
|
+
# "estimated_delivery_price": 65444.72,
|
3298
|
+
# "creation_timestamp": 1711100949273,
|
3299
|
+
# "base_currency": "BTC",
|
3300
|
+
# "underlying_index": "BTC-27DEC24",
|
3301
|
+
# "underlying_price": 73742.14,
|
3302
|
+
# "volume": 4.0,
|
3303
|
+
# "interest_rate": 0.0,
|
3304
|
+
# "price_change": -6.9767,
|
3305
|
+
# "open_interest": 274.2,
|
3306
|
+
# "ask_price": 0.042,
|
3307
|
+
# "bid_price": 0.0385,
|
3308
|
+
# "instrument_name": "BTC-27DEC24-240000-C",
|
3309
|
+
# "mark_price": 0.04007735,
|
3310
|
+
# "last": 0.04,
|
3311
|
+
# "low": 0.04,
|
3312
|
+
# "high": 0.043
|
3313
|
+
# }
|
3314
|
+
# ],
|
3315
|
+
# "usIn": 1711100949273223,
|
3316
|
+
# "usOut": 1711100949273580,
|
3317
|
+
# "usDiff": 357,
|
3318
|
+
# "testnet": False
|
3319
|
+
# }
|
3320
|
+
#
|
3321
|
+
result = self.safe_list(response, 'result', [])
|
3322
|
+
chain = self.safe_dict(result, 0, {})
|
3323
|
+
return self.parse_option(chain, None, market)
|
3324
|
+
|
3325
|
+
async def fetch_option_chain(self, code: str, params={}) -> OptionChain:
|
3326
|
+
"""
|
3327
|
+
fetches data for an underlying asset that is commonly found in an option chain
|
3328
|
+
:see: https://docs.deribit.com/#public-get_book_summary_by_currency
|
3329
|
+
:param str currency: base currency to fetch an option chain for
|
3330
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
3331
|
+
:returns dict: a list of `option chain structures <https://docs.ccxt.com/#/?id=option-chain-structure>`
|
3332
|
+
"""
|
3333
|
+
await self.load_markets()
|
3334
|
+
currency = self.currency(code)
|
3335
|
+
request = {
|
3336
|
+
'currency': currency['id'],
|
3337
|
+
'kind': 'option',
|
3338
|
+
}
|
3339
|
+
response = await self.publicGetGetBookSummaryByCurrency(self.extend(request, params))
|
3340
|
+
#
|
3341
|
+
# {
|
3342
|
+
# "jsonrpc": "2.0",
|
3343
|
+
# "result": [
|
3344
|
+
# {
|
3345
|
+
# "mid_price": 0.4075,
|
3346
|
+
# "volume_usd": 2836.83,
|
3347
|
+
# "quote_currency": "BTC",
|
3348
|
+
# "estimated_delivery_price": 65479.26,
|
3349
|
+
# "creation_timestamp": 1711101594477,
|
3350
|
+
# "base_currency": "BTC",
|
3351
|
+
# "underlying_index": "BTC-28JUN24",
|
3352
|
+
# "underlying_price": 68827.27,
|
3353
|
+
# "volume": 0.1,
|
3354
|
+
# "interest_rate": 0.0,
|
3355
|
+
# "price_change": 0.0,
|
3356
|
+
# "open_interest": 364.1,
|
3357
|
+
# "ask_price": 0.411,
|
3358
|
+
# "bid_price": 0.404,
|
3359
|
+
# "instrument_name": "BTC-28JUN24-42000-C",
|
3360
|
+
# "mark_price": 0.40752052,
|
3361
|
+
# "last": 0.423,
|
3362
|
+
# "low": 0.423,
|
3363
|
+
# "high": 0.423
|
3364
|
+
# }
|
3365
|
+
# ],
|
3366
|
+
# "usIn": 1711101594456388,
|
3367
|
+
# "usOut": 1711101594484065,
|
3368
|
+
# "usDiff": 27677,
|
3369
|
+
# "testnet": False
|
3370
|
+
# }
|
3371
|
+
#
|
3372
|
+
result = self.safe_list(response, 'result', [])
|
3373
|
+
return self.parse_option_chain(result, 'base_currency', 'instrument_name')
|
3374
|
+
|
3375
|
+
def parse_option(self, chain, currency: Currency = None, market: Market = None):
|
3376
|
+
#
|
3377
|
+
# {
|
3378
|
+
# "mid_price": 0.04025,
|
3379
|
+
# "volume_usd": 11045.12,
|
3380
|
+
# "quote_currency": "BTC",
|
3381
|
+
# "estimated_delivery_price": 65444.72,
|
3382
|
+
# "creation_timestamp": 1711100949273,
|
3383
|
+
# "base_currency": "BTC",
|
3384
|
+
# "underlying_index": "BTC-27DEC24",
|
3385
|
+
# "underlying_price": 73742.14,
|
3386
|
+
# "volume": 4.0,
|
3387
|
+
# "interest_rate": 0.0,
|
3388
|
+
# "price_change": -6.9767,
|
3389
|
+
# "open_interest": 274.2,
|
3390
|
+
# "ask_price": 0.042,
|
3391
|
+
# "bid_price": 0.0385,
|
3392
|
+
# "instrument_name": "BTC-27DEC24-240000-C",
|
3393
|
+
# "mark_price": 0.04007735,
|
3394
|
+
# "last": 0.04,
|
3395
|
+
# "low": 0.04,
|
3396
|
+
# "high": 0.043
|
3397
|
+
# }
|
3398
|
+
#
|
3399
|
+
marketId = self.safe_string(chain, 'instrument_name')
|
3400
|
+
market = self.safe_market(marketId, market)
|
3401
|
+
currencyId = self.safe_string(chain, 'base_currency')
|
3402
|
+
code = self.safe_currency_code(currencyId, currency)
|
3403
|
+
timestamp = self.safe_integer(chain, 'timestamp')
|
3404
|
+
return {
|
3405
|
+
'info': chain,
|
3406
|
+
'currency': code['code'],
|
3407
|
+
'symbol': market['symbol'],
|
3408
|
+
'timestamp': timestamp,
|
3409
|
+
'datetime': self.iso8601(timestamp),
|
3410
|
+
'impliedVolatility': None,
|
3411
|
+
'openInterest': self.safe_number(chain, 'open_interest'),
|
3412
|
+
'bidPrice': self.safe_number(chain, 'bid_price'),
|
3413
|
+
'askPrice': self.safe_number(chain, 'ask_price'),
|
3414
|
+
'midPrice': self.safe_number(chain, 'mid_price'),
|
3415
|
+
'markPrice': self.safe_number(chain, 'mark_price'),
|
3416
|
+
'lastPrice': self.safe_number(chain, 'last'),
|
3417
|
+
'underlyingPrice': self.safe_number(chain, 'underlying_price'),
|
3418
|
+
'change': None,
|
3419
|
+
'percentage': self.safe_number(chain, 'price_change'),
|
3420
|
+
'baseVolume': self.safe_number(chain, 'volume'),
|
3421
|
+
'quoteVolume': self.safe_number(chain, 'volume_usd'),
|
3422
|
+
}
|
3423
|
+
|
3273
3424
|
def nonce(self):
|
3274
3425
|
return self.milliseconds()
|
3275
3426
|
|