ccxt 4.3.79__tar.gz → 4.3.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.
- {ccxt-4.3.79/ccxt.egg-info → ccxt-4.3.81}/PKG-INFO +4 -4
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/__init__.py +1 -1
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/base/exchange.py +1 -1
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/binance.py +1 -1
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitmart.py +3 -3
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bybit.py +85 -49
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/poloniex.py +3 -2
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/yobit.py +1 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/base/exchange.py +38 -40
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/binance.py +1 -1
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitmart.py +3 -3
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bybit.py +85 -49
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/poloniex.py +3 -2
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/yobit.py +1 -0
- {ccxt-4.3.79 → ccxt-4.3.81/ccxt.egg-info}/PKG-INFO +4 -4
- {ccxt-4.3.79 → ccxt-4.3.81}/package.json +1 -1
- {ccxt-4.3.79 → ccxt-4.3.81}/LICENSE.txt +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/MANIFEST.in +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/README.rst +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/coinbaseadvanced.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/coinbaseexchange.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/oxfun.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/paradex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/tradeogre.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/vertex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/woofipro.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/xt.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/ace.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/alpaca.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/ascendex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bingx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitget.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/coinbaseadvanced.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/coinbaseexchange.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/coinbaseinternational.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/coinex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/gate.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/htx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/hyperliquid.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/kucoin.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/okx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/oxfun.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/paradex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/tradeogre.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/vertex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/woofipro.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/xt.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/base/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/base/errors.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/base/precise.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/base/types.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bequant.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bigone.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/binanceus.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bingx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bit2c.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitbank.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitbay.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitbns.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitfinex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitflyer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitget.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bithumb.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitmex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitopro.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitpanda.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitrue.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitso.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitstamp.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitteam.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bitvavo.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/bl3p.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/blofin.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/btcalpha.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/btcbox.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/btcturk.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/cex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/coinbase.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/coinbaseadvanced.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/coinbaseexchange.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/coinbaseinternational.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/coincheck.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/coinex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/coinlist.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/coinmate.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/coinmetro.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/coinone.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/coinsph.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/coinspot.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/cryptocom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/currencycom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/delta.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/deribit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/digifinex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/exmo.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/fmfwio.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/gate.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/gateio.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/gemini.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/hitbtc.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/hollaex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/htx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/huobi.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/huobijp.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/hyperliquid.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/idex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/independentreserve.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/indodax.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/kraken.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/kucoin.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/kuna.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/latoken.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/lbank.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/luno.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/lykke.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/mercado.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/mexc.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/ndax.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/novadax.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/oceanex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/okcoin.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/okx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/onetrading.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/oxfun.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/p2b.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/paradex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/paymium.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/phemex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/binance.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/bitfinex2.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/blofin.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/cex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/coinbaseexchange.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/gate.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/htx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/idex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/luno.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/okx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/oxfun.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/paradex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/probit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/vertex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/woo.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/woofipro.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/pro/xt.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/probit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/ast_utils.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/common.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/exceptions.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/grammar.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/indenter.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/lark.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/lexer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/load_grammar.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/py.typed +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/reconstruct.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/tree.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/tree_templates.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/utils.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/lark/visitors.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow/base.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow/fields.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow/py.typed +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow/schema.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow/types.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow/utils.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow/validate.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/common.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/constants.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/hash/address.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starkware/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/sympy/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/test/__init__.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/test/tests_async.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/test/tests_helpers.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/test/tests_init.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/test/tests_sync.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/timex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/tradeogre.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/upbit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/vertex.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/wazirx.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/whitebit.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/woo.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/woofipro.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/xt.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/zaif.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt/zonda.py +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/setup.cfg +0 -0
- {ccxt-4.3.79 → ccxt-4.3.81}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.3.
|
3
|
+
Version: 4.3.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
|
@@ -259,13 +259,13 @@ console.log(version, Object.keys(exchanges));
|
|
259
259
|
|
260
260
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
261
261
|
|
262
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
263
|
-
* unpkg: https://unpkg.com/ccxt@4.3.
|
262
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.81/dist/ccxt.browser.min.js
|
263
|
+
* unpkg: https://unpkg.com/ccxt@4.3.81/dist/ccxt.browser.min.js
|
264
264
|
|
265
265
|
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.
|
266
266
|
|
267
267
|
```HTML
|
268
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
268
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.81/dist/ccxt.browser.min.js"></script>
|
269
269
|
```
|
270
270
|
|
271
271
|
Creates a global `ccxt` object:
|
@@ -75,7 +75,7 @@ class binance(Exchange, ImplicitAPI):
|
|
75
75
|
'createMarketSellOrderWithCost': True,
|
76
76
|
'createOrder': True,
|
77
77
|
'createOrders': True,
|
78
|
-
'createOrderWithTakeProfitAndStopLoss':
|
78
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
79
79
|
'createPostOnlyOrder': True,
|
80
80
|
'createReduceOnlyOrder': True,
|
81
81
|
'createStopLimitOrder': True,
|
@@ -2364,8 +2364,6 @@ class bitmart(Exchange, ImplicitAPI):
|
|
2364
2364
|
:see: https://developer-pro.bitmart.com/en/spot/#place-margin-order
|
2365
2365
|
:see: https://developer-pro.bitmart.com/en/futures/#submit-order-signed
|
2366
2366
|
:see: https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
|
2367
|
-
:see: https://developer-pro.bitmart.com/en/futures/#submit-order-signed
|
2368
|
-
:see: https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
|
2369
2367
|
:see: https://developer-pro.bitmart.com/en/futuresv2/#submit-plan-order-signed
|
2370
2368
|
:param str symbol: unified symbol of the market to create an order in
|
2371
2369
|
:param str type: 'market', 'limit' or 'trailing' for swap markets only
|
@@ -2496,6 +2494,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
2496
2494
|
create a trade order
|
2497
2495
|
:see: https://developer-pro.bitmart.com/en/futures/#submit-order-signed
|
2498
2496
|
:see: https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
|
2497
|
+
:see: https://developer-pro.bitmart.com/en/futuresv2/#submit-plan-order-signed
|
2499
2498
|
:param str symbol: unified symbol of the market to create an order in
|
2500
2499
|
:param str type: 'market', 'limit' or 'trailing'
|
2501
2500
|
:param str side: 'buy' or 'sell'
|
@@ -2549,7 +2548,8 @@ class bitmart(Exchange, ImplicitAPI):
|
|
2549
2548
|
request['activation_price'] = self.price_to_precision(symbol, trailingTriggerPrice)
|
2550
2549
|
request['activation_price_type'] = self.safe_integer(params, 'activation_price_type', 1)
|
2551
2550
|
if isTriggerOrder:
|
2552
|
-
|
2551
|
+
if isLimitOrder or price is not None:
|
2552
|
+
request['executive_price'] = self.price_to_precision(symbol, price)
|
2553
2553
|
request['trigger_price'] = self.price_to_precision(symbol, triggerPrice)
|
2554
2554
|
request['price_type'] = self.safe_integer(params, 'price_type', 1)
|
2555
2555
|
if side == 'buy':
|
@@ -1210,6 +1210,18 @@ class bybit(Exchange, ImplicitAPI):
|
|
1210
1210
|
optionType = self.safe_string(optionParts, 3)
|
1211
1211
|
datetime = self.convert_expire_date(expiry)
|
1212
1212
|
timestamp = self.parse8601(datetime)
|
1213
|
+
amountPrecision = None
|
1214
|
+
pricePrecision = None
|
1215
|
+
# hard coded amount and price precisions from fetchOptionMarkets
|
1216
|
+
if base == 'BTC':
|
1217
|
+
amountPrecision = self.parse_number('0.01')
|
1218
|
+
pricePrecision = self.parse_number('5')
|
1219
|
+
elif base == 'ETH':
|
1220
|
+
amountPrecision = self.parse_number('0.1')
|
1221
|
+
pricePrecision = self.parse_number('0.1')
|
1222
|
+
elif base == 'SOL':
|
1223
|
+
amountPrecision = self.parse_number('1')
|
1224
|
+
pricePrecision = self.parse_number('0.01')
|
1213
1225
|
return {
|
1214
1226
|
'id': base + '-' + self.convert_expire_date_to_market_id_date(expiry) + '-' + strike + '-' + optionType,
|
1215
1227
|
'symbol': base + '/' + quote + ':' + settle + '-' + expiry + '-' + strike + '-' + optionType,
|
@@ -1229,14 +1241,14 @@ class bybit(Exchange, ImplicitAPI):
|
|
1229
1241
|
'option': True,
|
1230
1242
|
'margin': False,
|
1231
1243
|
'contract': True,
|
1232
|
-
'contractSize':
|
1244
|
+
'contractSize': self.parse_number('1'),
|
1233
1245
|
'expiry': timestamp,
|
1234
1246
|
'expiryDatetime': datetime,
|
1235
1247
|
'optionType': 'call' if (optionType == 'C') else 'put',
|
1236
1248
|
'strike': self.parse_number(strike),
|
1237
1249
|
'precision': {
|
1238
|
-
'amount':
|
1239
|
-
'price':
|
1250
|
+
'amount': amountPrecision,
|
1251
|
+
'price': pricePrecision,
|
1240
1252
|
},
|
1241
1253
|
'limits': {
|
1242
1254
|
'amount': {
|
@@ -1271,6 +1283,30 @@ class bybit(Exchange, ImplicitAPI):
|
|
1271
1283
|
return [type, params]
|
1272
1284
|
return [subType, params]
|
1273
1285
|
|
1286
|
+
def get_amount(self, symbol: str, amount: float):
|
1287
|
+
# some markets like options might not have the precision available
|
1288
|
+
# and we shouldn't crash in those cases
|
1289
|
+
market = self.market(symbol)
|
1290
|
+
emptyPrecisionAmount = (market['precision']['amount'] is None)
|
1291
|
+
amountString = self.number_to_string(amount)
|
1292
|
+
if not emptyPrecisionAmount and (amountString != '0'):
|
1293
|
+
return self.amount_to_precision(symbol, amount)
|
1294
|
+
return amountString
|
1295
|
+
|
1296
|
+
def get_price(self, symbol: str, price: str):
|
1297
|
+
market = self.market(symbol)
|
1298
|
+
emptyPrecisionPrice = (market['precision']['price'] is None)
|
1299
|
+
if not emptyPrecisionPrice:
|
1300
|
+
return self.price_to_precision(symbol, price)
|
1301
|
+
return price
|
1302
|
+
|
1303
|
+
def get_cost(self, symbol: str, cost: str):
|
1304
|
+
market = self.market(symbol)
|
1305
|
+
emptyPrecisionPrice = (market['precision']['price'] is None)
|
1306
|
+
if not emptyPrecisionPrice:
|
1307
|
+
return self.cost_to_precision(symbol, cost)
|
1308
|
+
return cost
|
1309
|
+
|
1274
1310
|
async def fetch_time(self, params={}):
|
1275
1311
|
"""
|
1276
1312
|
fetches the current integer timestamp in milliseconds from the exchange server
|
@@ -1848,7 +1884,7 @@ class bybit(Exchange, ImplicitAPI):
|
|
1848
1884
|
'inverse': None,
|
1849
1885
|
'taker': self.safe_number(market, 'takerFee', self.parse_number('0.0006')),
|
1850
1886
|
'maker': self.safe_number(market, 'makerFee', self.parse_number('0.0001')),
|
1851
|
-
'contractSize': self.
|
1887
|
+
'contractSize': self.parse_number('1'),
|
1852
1888
|
'expiry': expiry,
|
1853
1889
|
'expiryDatetime': self.iso8601(expiry),
|
1854
1890
|
'strike': self.parse_number(strike),
|
@@ -3474,24 +3510,26 @@ class bybit(Exchange, ImplicitAPI):
|
|
3474
3510
|
isLimit = lowerCaseType == 'limit'
|
3475
3511
|
isBuy = side == 'buy'
|
3476
3512
|
isAlternativeEndpoint = defaultMethod == 'privatePostV5PositionTradingStop'
|
3513
|
+
amountString = self.get_amount(symbol, amount)
|
3514
|
+
priceString = self.get_price(symbol, self.number_to_string(price)) if (price is not None) else None
|
3477
3515
|
if isTrailingAmountOrder or isAlternativeEndpoint:
|
3478
3516
|
if isStopLoss or isTakeProfit or isTriggerOrder or market['spot']:
|
3479
3517
|
raise InvalidOrder(self.id + ' the API endpoint used only supports contract trailingAmount, stopLossPrice and takeProfitPrice orders')
|
3480
3518
|
if isStopLossTriggerOrder or isTakeProfitTriggerOrder:
|
3481
3519
|
if isStopLossTriggerOrder:
|
3482
|
-
request['stopLoss'] = self.
|
3520
|
+
request['stopLoss'] = self.get_price(symbol, stopLossTriggerPrice)
|
3483
3521
|
if isLimit:
|
3484
3522
|
request['tpslMode'] = 'Partial'
|
3485
3523
|
request['slOrderType'] = 'Limit'
|
3486
|
-
request['slLimitPrice'] =
|
3487
|
-
request['slSize'] =
|
3524
|
+
request['slLimitPrice'] = priceString
|
3525
|
+
request['slSize'] = amountString
|
3488
3526
|
elif isTakeProfitTriggerOrder:
|
3489
|
-
request['takeProfit'] = self.
|
3527
|
+
request['takeProfit'] = self.get_price(symbol, takeProfitTriggerPrice)
|
3490
3528
|
if isLimit:
|
3491
3529
|
request['tpslMode'] = 'Partial'
|
3492
3530
|
request['tpOrderType'] = 'Limit'
|
3493
|
-
request['tpLimitPrice'] =
|
3494
|
-
request['tpSize'] =
|
3531
|
+
request['tpLimitPrice'] = priceString
|
3532
|
+
request['tpSize'] = amountString
|
3495
3533
|
else:
|
3496
3534
|
request['side'] = self.capitalize(side)
|
3497
3535
|
request['orderType'] = self.capitalize(lowerCaseType)
|
@@ -3519,7 +3557,7 @@ class bybit(Exchange, ImplicitAPI):
|
|
3519
3557
|
# mandatory field for options
|
3520
3558
|
request['orderLinkId'] = self.uuid16()
|
3521
3559
|
if isLimit:
|
3522
|
-
request['price'] =
|
3560
|
+
request['price'] = priceString
|
3523
3561
|
if market['spot']:
|
3524
3562
|
request['category'] = 'spot'
|
3525
3563
|
elif market['linear']:
|
@@ -3540,14 +3578,12 @@ class bybit(Exchange, ImplicitAPI):
|
|
3540
3578
|
if cost is not None:
|
3541
3579
|
orderCost = cost
|
3542
3580
|
else:
|
3543
|
-
amountString = self.number_to_string(amount)
|
3544
|
-
priceString = self.number_to_string(price)
|
3545
3581
|
quoteAmount = Precise.string_mul(amountString, priceString)
|
3546
3582
|
orderCost = quoteAmount
|
3547
|
-
request['qty'] = self.
|
3583
|
+
request['qty'] = self.get_cost(symbol, orderCost)
|
3548
3584
|
else:
|
3549
3585
|
request['marketUnit'] = 'baseCoin'
|
3550
|
-
request['qty'] =
|
3586
|
+
request['qty'] = amountString
|
3551
3587
|
elif market['spot'] and (type == 'market') and (side == 'buy'):
|
3552
3588
|
# classic accounts
|
3553
3589
|
# for market buy it requires the amount of quote currency to spend
|
@@ -3557,22 +3593,17 @@ class bybit(Exchange, ImplicitAPI):
|
|
3557
3593
|
if (price is None) and (cost is None):
|
3558
3594
|
raise InvalidOrder(self.id + ' createOrder() requires the price argument for market buy orders to calculate the total cost to spend(amount * price), alternatively set the createMarketBuyOrderRequiresPrice option or param to False and pass the cost to spend in the amount argument')
|
3559
3595
|
else:
|
3560
|
-
amountString = self.number_to_string(amount)
|
3561
|
-
priceString = self.number_to_string(price)
|
3562
3596
|
quoteAmount = Precise.string_mul(amountString, priceString)
|
3563
3597
|
costRequest = cost if (cost is not None) else quoteAmount
|
3564
|
-
request['qty'] = self.
|
3598
|
+
request['qty'] = self.get_cost(symbol, costRequest)
|
3565
3599
|
else:
|
3566
|
-
request['qty'] = self.
|
3600
|
+
request['qty'] = self.get_cost(symbol, self.number_to_string(amount))
|
3567
3601
|
else:
|
3568
3602
|
if not isTrailingAmountOrder and not isAlternativeEndpoint:
|
3569
|
-
|
3570
|
-
request['qty'] = self.number_to_string(amount)
|
3571
|
-
else:
|
3572
|
-
request['qty'] = self.amount_to_precision(symbol, amount)
|
3603
|
+
request['qty'] = amountString
|
3573
3604
|
if isTrailingAmountOrder:
|
3574
3605
|
if trailingTriggerPrice is not None:
|
3575
|
-
request['activePrice'] = self.
|
3606
|
+
request['activePrice'] = self.get_price(symbol, trailingTriggerPrice)
|
3576
3607
|
request['trailingStop'] = trailingAmount
|
3577
3608
|
elif isTriggerOrder and not isAlternativeEndpoint:
|
3578
3609
|
triggerDirection = self.safe_string(params, 'triggerDirection')
|
@@ -3585,32 +3616,32 @@ class bybit(Exchange, ImplicitAPI):
|
|
3585
3616
|
raise ArgumentsRequired(self.id + ' stop/trigger orders require a triggerDirection parameter, either "above" or "below" to determine the direction of the trigger.')
|
3586
3617
|
isAsending = ((triggerDirection == 'above') or (triggerDirection == '1'))
|
3587
3618
|
request['triggerDirection'] = 1 if isAsending else 2
|
3588
|
-
request['triggerPrice'] = self.
|
3619
|
+
request['triggerPrice'] = self.get_price(symbol, triggerPrice)
|
3589
3620
|
elif (isStopLossTriggerOrder or isTakeProfitTriggerOrder) and not isAlternativeEndpoint:
|
3590
3621
|
if isBuy:
|
3591
3622
|
request['triggerDirection'] = 1 if isStopLossTriggerOrder else 2
|
3592
3623
|
else:
|
3593
3624
|
request['triggerDirection'] = 2 if isStopLossTriggerOrder else 1
|
3594
3625
|
triggerPrice = stopLossTriggerPrice if isStopLossTriggerOrder else takeProfitTriggerPrice
|
3595
|
-
request['triggerPrice'] = self.
|
3626
|
+
request['triggerPrice'] = self.get_price(symbol, triggerPrice)
|
3596
3627
|
request['reduceOnly'] = True
|
3597
3628
|
if (isStopLoss or isTakeProfit) and not isAlternativeEndpoint:
|
3598
3629
|
if isStopLoss:
|
3599
3630
|
slTriggerPrice = self.safe_value_2(stopLoss, 'triggerPrice', 'stopPrice', stopLoss)
|
3600
|
-
request['stopLoss'] = self.
|
3631
|
+
request['stopLoss'] = self.get_price(symbol, slTriggerPrice)
|
3601
3632
|
slLimitPrice = self.safe_value(stopLoss, 'price')
|
3602
3633
|
if slLimitPrice is not None:
|
3603
3634
|
request['tpslMode'] = 'Partial'
|
3604
3635
|
request['slOrderType'] = 'Limit'
|
3605
|
-
request['slLimitPrice'] = self.
|
3636
|
+
request['slLimitPrice'] = self.get_price(symbol, slLimitPrice)
|
3606
3637
|
if isTakeProfit:
|
3607
3638
|
tpTriggerPrice = self.safe_value_2(takeProfit, 'triggerPrice', 'stopPrice', takeProfit)
|
3608
|
-
request['takeProfit'] = self.
|
3639
|
+
request['takeProfit'] = self.get_price(symbol, tpTriggerPrice)
|
3609
3640
|
tpLimitPrice = self.safe_value(takeProfit, 'price')
|
3610
3641
|
if tpLimitPrice is not None:
|
3611
3642
|
request['tpslMode'] = 'Partial'
|
3612
3643
|
request['tpOrderType'] = 'Limit'
|
3613
|
-
request['tpLimitPrice'] = self.
|
3644
|
+
request['tpLimitPrice'] = self.get_price(symbol, tpLimitPrice)
|
3614
3645
|
params = self.omit(params, ['stopPrice', 'timeInForce', 'stopLossPrice', 'takeProfitPrice', 'postOnly', 'clientOrderId', 'triggerPrice', 'stopLoss', 'takeProfit', 'trailingAmount', 'trailingTriggerPrice'])
|
3615
3646
|
return self.extend(request, params)
|
3616
3647
|
|
@@ -3710,7 +3741,7 @@ class bybit(Exchange, ImplicitAPI):
|
|
3710
3741
|
'side': self.capitalize(side),
|
3711
3742
|
'orderType': self.capitalize(lowerCaseType), # limit or market
|
3712
3743
|
'timeInForce': 'GoodTillCancel', # ImmediateOrCancel, FillOrKill, PostOnly
|
3713
|
-
'orderQty': self.
|
3744
|
+
'orderQty': self.get_amount(symbol, amount),
|
3714
3745
|
# 'takeProfit': 123.45, # take profit price, only take effect upon opening the position
|
3715
3746
|
# 'stopLoss': 123.45, # stop loss price, only take effect upon opening the position
|
3716
3747
|
# 'reduceOnly': False, # reduce only, required for linear orders
|
@@ -3728,7 +3759,7 @@ class bybit(Exchange, ImplicitAPI):
|
|
3728
3759
|
isMarket = lowerCaseType == 'market'
|
3729
3760
|
isLimit = lowerCaseType == 'limit'
|
3730
3761
|
if isLimit is not None:
|
3731
|
-
request['orderPrice'] = self.
|
3762
|
+
request['orderPrice'] = self.get_price(symbol, self.number_to_string(price))
|
3732
3763
|
exchangeSpecificParam = self.safe_string(params, 'time_in_force')
|
3733
3764
|
timeInForce = self.safe_string_lower(params, 'timeInForce')
|
3734
3765
|
postOnly = self.is_post_only(isMarket, exchangeSpecificParam == 'PostOnly', params)
|
@@ -3755,17 +3786,17 @@ class bybit(Exchange, ImplicitAPI):
|
|
3755
3786
|
request['orderFilter'] = 'StopOrder'
|
3756
3787
|
request['trigger_by'] = 'LastPrice'
|
3757
3788
|
stopPx = stopLossTriggerPrice if isStopLossTriggerOrder else takeProfitTriggerPrice
|
3758
|
-
preciseStopPrice = self.
|
3789
|
+
preciseStopPrice = self.get_price(symbol, stopPx)
|
3759
3790
|
request['triggerPrice'] = preciseStopPrice
|
3760
3791
|
delta = self.number_to_string(market['precision']['price'])
|
3761
3792
|
request['basePrice'] = Precise.string_sub(preciseStopPrice, delta) if isStopLossTriggerOrder else Precise.string_add(preciseStopPrice, delta)
|
3762
3793
|
elif isStopLoss or isTakeProfit:
|
3763
3794
|
if isStopLoss:
|
3764
3795
|
slTriggerPrice = self.safe_value_2(stopLoss, 'triggerPrice', 'stopPrice', stopLoss)
|
3765
|
-
request['stopLoss'] = self.
|
3796
|
+
request['stopLoss'] = self.get_price(symbol, slTriggerPrice)
|
3766
3797
|
if isTakeProfit:
|
3767
3798
|
tpTriggerPrice = self.safe_value_2(takeProfit, 'triggerPrice', 'stopPrice', takeProfit)
|
3768
|
-
request['takeProfit'] = self.
|
3799
|
+
request['takeProfit'] = self.get_price(symbol, tpTriggerPrice)
|
3769
3800
|
else:
|
3770
3801
|
request['orderFilter'] = 'Order'
|
3771
3802
|
clientOrderId = self.safe_string(params, 'clientOrderId')
|
@@ -3816,9 +3847,9 @@ class bybit(Exchange, ImplicitAPI):
|
|
3816
3847
|
'orderId': id,
|
3817
3848
|
}
|
3818
3849
|
if amount is not None:
|
3819
|
-
request['orderQty'] = self.
|
3850
|
+
request['orderQty'] = self.get_amount(symbol, amount)
|
3820
3851
|
if price is not None:
|
3821
|
-
request['orderPrice'] = self.
|
3852
|
+
request['orderPrice'] = self.get_price(symbol, price)
|
3822
3853
|
response = None
|
3823
3854
|
if market['option']:
|
3824
3855
|
response = await self.privatePostOptionUsdcOpenapiPrivateV1ReplaceOrder(self.extend(request, params))
|
@@ -3833,11 +3864,11 @@ class bybit(Exchange, ImplicitAPI):
|
|
3833
3864
|
if isStopOrder:
|
3834
3865
|
request['orderFilter'] = 'StopOrder' if isStop else 'Order'
|
3835
3866
|
if triggerPrice is not None:
|
3836
|
-
request['triggerPrice'] = self.
|
3867
|
+
request['triggerPrice'] = self.get_price(symbol, triggerPrice)
|
3837
3868
|
if stopLossPrice is not None:
|
3838
|
-
request['stopLoss'] = self.
|
3869
|
+
request['stopLoss'] = self.get_price(symbol, stopLossPrice)
|
3839
3870
|
if takeProfitPrice is not None:
|
3840
|
-
request['takeProfit'] = self.
|
3871
|
+
request['takeProfit'] = self.get_price(symbol, takeProfitPrice)
|
3841
3872
|
params = self.omit(params, ['stop', 'stopPrice', 'triggerPrice', 'stopLossPrice', 'takeProfitPrice'])
|
3842
3873
|
response = await self.privatePostPerpetualUsdcOpenapiPrivateV1ReplaceOrder(self.extend(request, params))
|
3843
3874
|
#
|
@@ -3880,11 +3911,9 @@ class bybit(Exchange, ImplicitAPI):
|
|
3880
3911
|
elif market['option']:
|
3881
3912
|
request['category'] = 'option'
|
3882
3913
|
if amount is not None:
|
3883
|
-
request['qty'] = self.
|
3914
|
+
request['qty'] = self.get_amount(symbol, amount)
|
3884
3915
|
if price is not None:
|
3885
|
-
request['price'] = self.
|
3886
|
-
if amount is not None:
|
3887
|
-
request['qty'] = self.amount_to_precision(symbol, amount)
|
3916
|
+
request['price'] = self.get_price(symbol, self.number_to_string(price))
|
3888
3917
|
triggerPrice = self.safe_string_2(params, 'triggerPrice', 'stopPrice')
|
3889
3918
|
stopLossTriggerPrice = self.safe_string(params, 'stopLossPrice')
|
3890
3919
|
takeProfitTriggerPrice = self.safe_string(params, 'takeProfitPrice')
|
@@ -3897,20 +3926,20 @@ class bybit(Exchange, ImplicitAPI):
|
|
3897
3926
|
if isStopLossTriggerOrder or isTakeProfitTriggerOrder:
|
3898
3927
|
triggerPrice = stopLossTriggerPrice if isStopLossTriggerOrder else takeProfitTriggerPrice
|
3899
3928
|
if triggerPrice is not None:
|
3900
|
-
triggerPriceRequest = triggerPrice if (triggerPrice == '0') else self.
|
3929
|
+
triggerPriceRequest = triggerPrice if (triggerPrice == '0') else self.get_price(symbol, triggerPrice)
|
3901
3930
|
request['triggerPrice'] = triggerPriceRequest
|
3902
3931
|
triggerBy = self.safe_string(params, 'triggerBy', 'LastPrice')
|
3903
3932
|
request['triggerBy'] = triggerBy
|
3904
3933
|
if isStopLoss or isTakeProfit:
|
3905
3934
|
if isStopLoss:
|
3906
3935
|
slTriggerPrice = self.safe_string_2(stopLoss, 'triggerPrice', 'stopPrice', stopLoss)
|
3907
|
-
stopLossRequest = slTriggerPrice if (slTriggerPrice == '0') else self.
|
3936
|
+
stopLossRequest = slTriggerPrice if (slTriggerPrice == '0') else self.get_price(symbol, slTriggerPrice)
|
3908
3937
|
request['stopLoss'] = stopLossRequest
|
3909
3938
|
slTriggerBy = self.safe_string(params, 'slTriggerBy', 'LastPrice')
|
3910
3939
|
request['slTriggerBy'] = slTriggerBy
|
3911
3940
|
if isTakeProfit:
|
3912
3941
|
tpTriggerPrice = self.safe_string_2(takeProfit, 'triggerPrice', 'stopPrice', takeProfit)
|
3913
|
-
takeProfitRequest = tpTriggerPrice if (tpTriggerPrice == '0') else self.
|
3942
|
+
takeProfitRequest = tpTriggerPrice if (tpTriggerPrice == '0') else self.get_price(symbol, tpTriggerPrice)
|
3914
3943
|
request['takeProfit'] = takeProfitRequest
|
3915
3944
|
tpTriggerBy = self.safe_string(params, 'tpTriggerBy', 'LastPrice')
|
3916
3945
|
request['tpTriggerBy'] = tpTriggerBy
|
@@ -3946,9 +3975,9 @@ class bybit(Exchange, ImplicitAPI):
|
|
3946
3975
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
3947
3976
|
"""
|
3948
3977
|
await self.load_markets()
|
3978
|
+
market = self.market(symbol)
|
3949
3979
|
if symbol is None:
|
3950
3980
|
raise ArgumentsRequired(self.id + ' editOrder() requires a symbol argument')
|
3951
|
-
market = self.market(symbol)
|
3952
3981
|
enableUnifiedMargin, enableUnifiedAccount = await self.is_unified_enabled()
|
3953
3982
|
isUnifiedAccount = (enableUnifiedMargin or enableUnifiedAccount)
|
3954
3983
|
isUsdcSettled = market['settle'] == 'USDC'
|
@@ -5466,10 +5495,12 @@ class bybit(Exchange, ImplicitAPI):
|
|
5466
5495
|
"""
|
5467
5496
|
fetch the history of changes, actions done by the user or operations that altered balance of the user
|
5468
5497
|
:see: https://bybit-exchange.github.io/docs/v5/account/transaction-log
|
5498
|
+
:see: https://bybit-exchange.github.io/docs/v5/account/contract-transaction-log
|
5469
5499
|
:param str code: unified currency code, default is None
|
5470
5500
|
:param int [since]: timestamp in ms of the earliest ledger entry, default is None
|
5471
5501
|
:param int [limit]: max number of ledger entrys to return, default is None
|
5472
5502
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
5503
|
+
:param str [params.subType]: if inverse will use v5/account/contract-transaction-log
|
5473
5504
|
:returns dict: a `ledger structure <https://docs.ccxt.com/#/?id=ledger-structure>`
|
5474
5505
|
"""
|
5475
5506
|
await self.load_markets()
|
@@ -5507,9 +5538,14 @@ class bybit(Exchange, ImplicitAPI):
|
|
5507
5538
|
request[currencyKey] = currency['id']
|
5508
5539
|
if limit is not None:
|
5509
5540
|
request['limit'] = limit
|
5541
|
+
subType = None
|
5542
|
+
subType, params = self.handle_sub_type_and_params('fetchLedger', None, params)
|
5510
5543
|
response = None
|
5511
5544
|
if enableUnified[1]:
|
5512
|
-
|
5545
|
+
if subType == 'inverse':
|
5546
|
+
response = await self.privateGetV5AccountContractTransactionLog(self.extend(request, params))
|
5547
|
+
else:
|
5548
|
+
response = await self.privateGetV5AccountTransactionLog(self.extend(request, params))
|
5513
5549
|
else:
|
5514
5550
|
response = await self.privateGetV2PrivateWalletFundRecords(self.extend(request, params))
|
5515
5551
|
#
|
@@ -1088,8 +1088,9 @@ class poloniex(Exchange, ImplicitAPI):
|
|
1088
1088
|
market = self.safe_market(marketId, market, '_')
|
1089
1089
|
symbol = market['symbol']
|
1090
1090
|
resultingTrades = self.safe_value(order, 'resultingTrades')
|
1091
|
-
if not
|
1092
|
-
|
1091
|
+
if resultingTrades is not None:
|
1092
|
+
if not isinstance(resultingTrades, list):
|
1093
|
+
resultingTrades = self.safe_value(resultingTrades, self.safe_string(market, 'id', marketId))
|
1093
1094
|
price = self.safe_string_2(order, 'price', 'rate')
|
1094
1095
|
amount = self.safe_string(order, 'quantity')
|
1095
1096
|
filled = self.safe_string(order, 'filledQuantity')
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.3.
|
7
|
+
__version__ = '4.3.81'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -1472,14 +1472,6 @@ class Exchange(object):
|
|
1472
1472
|
return error
|
1473
1473
|
return result
|
1474
1474
|
|
1475
|
-
def check_address(self, address):
|
1476
|
-
"""Checks an address is not the same character repeated or an empty sequence"""
|
1477
|
-
if address is None:
|
1478
|
-
raise InvalidAddress(self.id + ' address is None')
|
1479
|
-
if all(letter == address[0] for letter in address) or len(address) < self.minFundingAddressLength or ' ' in address:
|
1480
|
-
raise InvalidAddress(self.id + ' address is invalid or has less than ' + str(self.minFundingAddressLength) + ' characters: "' + str(address) + '"')
|
1481
|
-
return address
|
1482
|
-
|
1483
1475
|
def precision_from_string(self, str):
|
1484
1476
|
# support string formats like '1e-4'
|
1485
1477
|
if 'e' in str or 'E' in str:
|
@@ -2236,44 +2228,38 @@ class Exchange(object):
|
|
2236
2228
|
httpsProxy = None
|
2237
2229
|
socksProxy = None
|
2238
2230
|
# httpProxy
|
2239
|
-
|
2231
|
+
isHttpProxyDefined = self.value_is_defined(self.httpProxy)
|
2232
|
+
isHttp_proxy_defined = self.value_is_defined(self.http_proxy)
|
2233
|
+
if isHttpProxyDefined or isHttp_proxy_defined:
|
2240
2234
|
usedProxies.append('httpProxy')
|
2241
|
-
httpProxy = self.httpProxy
|
2242
|
-
|
2243
|
-
|
2244
|
-
|
2245
|
-
if self.httpProxyCallback is not None:
|
2235
|
+
httpProxy = self.httpProxy if isHttpProxyDefined else self.http_proxy
|
2236
|
+
ishttpProxyCallbackDefined = self.value_is_defined(self.httpProxyCallback)
|
2237
|
+
ishttp_proxy_callback_defined = self.value_is_defined(self.http_proxy_callback)
|
2238
|
+
if ishttpProxyCallbackDefined or ishttp_proxy_callback_defined:
|
2246
2239
|
usedProxies.append('httpProxyCallback')
|
2247
|
-
httpProxy = self.httpProxyCallback(url, method, headers, body)
|
2248
|
-
if self.http_proxy_callback is not None:
|
2249
|
-
usedProxies.append('http_proxy_callback')
|
2250
|
-
httpProxy = self.http_proxy_callback(url, method, headers, body)
|
2240
|
+
httpProxy = self.httpProxyCallback(url, method, headers, body) if ishttpProxyCallbackDefined else self.http_proxy_callback(url, method, headers, body)
|
2251
2241
|
# httpsProxy
|
2252
|
-
|
2242
|
+
isHttpsProxyDefined = self.value_is_defined(self.httpsProxy)
|
2243
|
+
isHttps_proxy_defined = self.value_is_defined(self.https_proxy)
|
2244
|
+
if isHttpsProxyDefined or isHttps_proxy_defined:
|
2253
2245
|
usedProxies.append('httpsProxy')
|
2254
|
-
httpsProxy = self.httpsProxy
|
2255
|
-
|
2256
|
-
|
2257
|
-
|
2258
|
-
if self.httpsProxyCallback is not None:
|
2246
|
+
httpsProxy = self.httpsProxy if isHttpsProxyDefined else self.https_proxy
|
2247
|
+
ishttpsProxyCallbackDefined = self.value_is_defined(self.httpsProxyCallback)
|
2248
|
+
ishttps_proxy_callback_defined = self.value_is_defined(self.https_proxy_callback)
|
2249
|
+
if ishttpsProxyCallbackDefined or ishttps_proxy_callback_defined:
|
2259
2250
|
usedProxies.append('httpsProxyCallback')
|
2260
|
-
httpsProxy = self.httpsProxyCallback(url, method, headers, body)
|
2261
|
-
if self.https_proxy_callback is not None:
|
2262
|
-
usedProxies.append('https_proxy_callback')
|
2263
|
-
httpsProxy = self.https_proxy_callback(url, method, headers, body)
|
2251
|
+
httpsProxy = self.httpsProxyCallback(url, method, headers, body) if ishttpsProxyCallbackDefined else self.https_proxy_callback(url, method, headers, body)
|
2264
2252
|
# socksProxy
|
2265
|
-
|
2253
|
+
isSocksProxyDefined = self.value_is_defined(self.socksProxy)
|
2254
|
+
isSocks_proxy_defined = self.value_is_defined(self.socks_proxy)
|
2255
|
+
if isSocksProxyDefined or isSocks_proxy_defined:
|
2266
2256
|
usedProxies.append('socksProxy')
|
2267
|
-
socksProxy = self.socksProxy
|
2268
|
-
|
2269
|
-
|
2270
|
-
|
2271
|
-
if self.socksProxyCallback is not None:
|
2257
|
+
socksProxy = self.socksProxy if isSocksProxyDefined else self.socks_proxy
|
2258
|
+
issocksProxyCallbackDefined = self.value_is_defined(self.socksProxyCallback)
|
2259
|
+
issocks_proxy_callback_defined = self.value_is_defined(self.socks_proxy_callback)
|
2260
|
+
if issocksProxyCallbackDefined or issocks_proxy_callback_defined:
|
2272
2261
|
usedProxies.append('socksProxyCallback')
|
2273
|
-
socksProxy = self.socksProxyCallback(url, method, headers, body)
|
2274
|
-
if self.socks_proxy_callback is not None:
|
2275
|
-
usedProxies.append('socks_proxy_callback')
|
2276
|
-
socksProxy = self.socks_proxy_callback(url, method, headers, body)
|
2262
|
+
socksProxy = self.socksProxyCallback(url, method, headers, body) if issocksProxyCallbackDefined else self.socks_proxy_callback(url, method, headers, body)
|
2277
2263
|
# check
|
2278
2264
|
length = len(usedProxies)
|
2279
2265
|
if length > 1:
|
@@ -2318,6 +2304,16 @@ class Exchange(object):
|
|
2318
2304
|
if proxyAgentSet and proxyUrlSet:
|
2319
2305
|
raise InvalidProxySettings(self.id + ' you have multiple conflicting proxy settings, please use only one from : proxyUrl, httpProxy, httpsProxy, socksProxy')
|
2320
2306
|
|
2307
|
+
def check_address(self, address: Str = None):
|
2308
|
+
if address is None:
|
2309
|
+
raise InvalidAddress(self.id + ' address is None')
|
2310
|
+
# check the address is not the same letter like 'aaaaa' nor too short nor has a space
|
2311
|
+
uniqChars = (self.unique(self.string_to_chars_array(address)))
|
2312
|
+
length = len(uniqChars) # py transpiler trick
|
2313
|
+
if length == 1 or len(address) < self.minFundingAddressLength or address.find(' ') > -1:
|
2314
|
+
raise InvalidAddress(self.id + ' address is invalid or has less than ' + str(self.minFundingAddressLength) + ' characters: "' + str(address) + '"')
|
2315
|
+
return address
|
2316
|
+
|
2321
2317
|
def find_message_hashes(self, client, element: str):
|
2322
2318
|
result = []
|
2323
2319
|
messageHashes = list(client.futures.keys())
|
@@ -4000,7 +3996,9 @@ class Exchange(object):
|
|
4000
3996
|
]
|
4001
3997
|
|
4002
3998
|
def get_list_from_object_values(self, objects, key: IndexType):
|
4003
|
-
newArray =
|
3999
|
+
newArray = objects
|
4000
|
+
if not isinstance(objects, list):
|
4001
|
+
newArray = self.to_array(objects)
|
4004
4002
|
results = []
|
4005
4003
|
for i in range(0, len(newArray)):
|
4006
4004
|
results.append(newArray[i][key])
|
@@ -74,7 +74,7 @@ class binance(Exchange, ImplicitAPI):
|
|
74
74
|
'createMarketSellOrderWithCost': True,
|
75
75
|
'createOrder': True,
|
76
76
|
'createOrders': True,
|
77
|
-
'createOrderWithTakeProfitAndStopLoss':
|
77
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
78
78
|
'createPostOnlyOrder': True,
|
79
79
|
'createReduceOnlyOrder': True,
|
80
80
|
'createStopLimitOrder': True,
|
@@ -2364,8 +2364,6 @@ class bitmart(Exchange, ImplicitAPI):
|
|
2364
2364
|
:see: https://developer-pro.bitmart.com/en/spot/#place-margin-order
|
2365
2365
|
:see: https://developer-pro.bitmart.com/en/futures/#submit-order-signed
|
2366
2366
|
:see: https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
|
2367
|
-
:see: https://developer-pro.bitmart.com/en/futures/#submit-order-signed
|
2368
|
-
:see: https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
|
2369
2367
|
:see: https://developer-pro.bitmart.com/en/futuresv2/#submit-plan-order-signed
|
2370
2368
|
:param str symbol: unified symbol of the market to create an order in
|
2371
2369
|
:param str type: 'market', 'limit' or 'trailing' for swap markets only
|
@@ -2496,6 +2494,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
2496
2494
|
create a trade order
|
2497
2495
|
:see: https://developer-pro.bitmart.com/en/futures/#submit-order-signed
|
2498
2496
|
:see: https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
|
2497
|
+
:see: https://developer-pro.bitmart.com/en/futuresv2/#submit-plan-order-signed
|
2499
2498
|
:param str symbol: unified symbol of the market to create an order in
|
2500
2499
|
:param str type: 'market', 'limit' or 'trailing'
|
2501
2500
|
:param str side: 'buy' or 'sell'
|
@@ -2549,7 +2548,8 @@ class bitmart(Exchange, ImplicitAPI):
|
|
2549
2548
|
request['activation_price'] = self.price_to_precision(symbol, trailingTriggerPrice)
|
2550
2549
|
request['activation_price_type'] = self.safe_integer(params, 'activation_price_type', 1)
|
2551
2550
|
if isTriggerOrder:
|
2552
|
-
|
2551
|
+
if isLimitOrder or price is not None:
|
2552
|
+
request['executive_price'] = self.price_to_precision(symbol, price)
|
2553
2553
|
request['trigger_price'] = self.price_to_precision(symbol, triggerPrice)
|
2554
2554
|
request['price_type'] = self.safe_integer(params, 'price_type', 1)
|
2555
2555
|
if side == 'buy':
|