ccxt 4.3.14__tar.gz → 4.3.15__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.14 → ccxt-4.3.15}/LICENSE.txt +1 -1
- {ccxt-4.3.14/ccxt.egg-info → ccxt-4.3.15}/PKG-INFO +4 -4
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/__init__.py +2 -1
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/luno.py +2 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/__init__.py +2 -1
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/base/exchange.py +1 -1
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/binance.py +4 -3
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bingx.py +1 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bybit.py +6 -6
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/coinex.py +35 -33
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/cryptocom.py +2 -1
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/hitbtc.py +1 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/luno.py +2 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/phemex.py +1 -1
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/base/errors.py +6 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/base/exchange.py +7 -7
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/binance.py +4 -3
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bingx.py +1 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bybit.py +6 -6
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/coinex.py +35 -33
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/cryptocom.py +2 -1
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/hitbtc.py +1 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/luno.py +2 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/phemex.py +1 -1
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/hitbtc.py +1 -1
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/independentreserve.py +3 -3
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/poloniex.py +3 -3
- {ccxt-4.3.14 → ccxt-4.3.15/ccxt.egg-info}/PKG-INFO +4 -4
- {ccxt-4.3.14 → ccxt-4.3.15}/package.json +1 -1
- {ccxt-4.3.14 → ccxt-4.3.15}/MANIFEST.in +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/README.rst +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/coinbasepro.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/tradeogre.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/ace.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/alpaca.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/ascendex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitget.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/coinbaseinternational.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/coinbasepro.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/gate.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/htx.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/hyperliquid.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/kucoin.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/okx.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/tradeogre.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/base/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/base/precise.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/base/types.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bequant.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bigone.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/binanceus.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bit2c.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitbank.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitbay.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitbns.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitfinex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitflyer.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitget.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bithumb.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitmart.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitmex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitopro.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitpanda.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitrue.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitso.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitstamp.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitteam.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bitvavo.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/bl3p.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/blofin.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/btcalpha.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/btcbox.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/btcturk.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/cex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/coinbase.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/coinbaseinternational.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/coinbasepro.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/coincheck.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/coinlist.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/coinmate.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/coinmetro.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/coinone.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/coinsph.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/coinspot.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/currencycom.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/delta.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/deribit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/digifinex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/exmo.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/fmfwio.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/gate.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/gateio.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/gemini.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/hollaex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/htx.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/huobi.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/huobijp.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/hyperliquid.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/idex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/independentreserve.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/indodax.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/kraken.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/kucoin.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/kuna.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/latoken.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/lbank.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/lykke.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/mercado.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/mexc.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/ndax.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/novadax.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/oceanex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/okcoin.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/okx.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/onetrading.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/p2b.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/paymium.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/poloniex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/binance.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/bitfinex2.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/cex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/coinbasepro.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/gate.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/htx.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/idex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/luno.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/okx.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/probit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/pro/woo.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/probit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/__init__.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_account.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_balance.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_borrow_interest.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_borrow_rate.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_calculate_fee.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_crypto.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_currency.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_datetime.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_decimal_to_precision.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_deep_extend.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_funding_rate_history.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_last_price.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_ledger_entry.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_ledger_item.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_leverage_tier.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_margin_mode.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_margin_modification.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_market.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_number.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_ohlcv.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_open_interest.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_order.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_order_book.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_position.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_shared_methods.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_status.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_throttle.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_ticker.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_trade.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_trading_fee.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/base/test_transaction.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/test_async.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/test/test_sync.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/timex.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/tradeogre.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/upbit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/wazirx.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/whitebit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/woo.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/yobit.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/zaif.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt/zonda.py +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/setup.cfg +0 -0
- {ccxt-4.3.14 → ccxt-4.3.15}/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.15
|
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.3.
|
230
|
-
* unpkg: https://unpkg.com/ccxt@4.3.
|
229
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.15/dist/ccxt.browser.js
|
230
|
+
* unpkg: https://unpkg.com/ccxt@4.3.15/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.3.
|
235
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.15/dist/ccxt.browser.js"></script>
|
236
236
|
```
|
237
237
|
|
238
238
|
Creates a global `ccxt` object:
|
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
# ----------------------------------------------------------------------------
|
24
24
|
|
25
|
-
__version__ = '4.3.
|
25
|
+
__version__ = '4.3.15'
|
26
26
|
|
27
27
|
# ----------------------------------------------------------------------------
|
28
28
|
|
@@ -53,6 +53,7 @@ from ccxt.base.errors import BadSymbol # noqa: F4
|
|
53
53
|
from ccxt.base.errors import OperationRejected # noqa: F401
|
54
54
|
from ccxt.base.errors import NoChange # noqa: F401
|
55
55
|
from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
|
56
|
+
from ccxt.base.errors import MarketClosed # noqa: F401
|
56
57
|
from ccxt.base.errors import BadResponse # noqa: F401
|
57
58
|
from ccxt.base.errors import NullResponse # noqa: F401
|
58
59
|
from ccxt.base.errors import InsufficientFunds # noqa: F401
|
@@ -31,5 +31,7 @@ class ImplicitAPI:
|
|
31
31
|
private_post_withdrawals = privatePostWithdrawals = Entry('withdrawals', 'private', 'POST', {'cost': 1})
|
32
32
|
private_post_send = privatePostSend = Entry('send', 'private', 'POST', {'cost': 1})
|
33
33
|
private_post_oauth2_grant = privatePostOauth2Grant = Entry('oauth2/grant', 'private', 'POST', {'cost': 1})
|
34
|
+
private_post_beneficiaries = privatePostBeneficiaries = Entry('beneficiaries', 'private', 'POST', {'cost': 1})
|
34
35
|
private_put_accounts_id_name = privatePutAccountsIdName = Entry('accounts/{id}/name', 'private', 'PUT', {'cost': 1})
|
35
36
|
private_delete_withdrawals_id = privateDeleteWithdrawalsId = Entry('withdrawals/{id}', 'private', 'DELETE', {'cost': 1})
|
37
|
+
private_delete_beneficiaries_id = privateDeleteBeneficiariesId = Entry('beneficiaries/{id}', 'private', 'DELETE', {'cost': 1})
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.3.
|
7
|
+
__version__ = '4.3.15'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -32,6 +32,7 @@ from ccxt.base.errors import BadSymbol # noqa: F4
|
|
32
32
|
from ccxt.base.errors import OperationRejected # noqa: F401
|
33
33
|
from ccxt.base.errors import NoChange # noqa: F401
|
34
34
|
from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
|
35
|
+
from ccxt.base.errors import MarketClosed # noqa: F401
|
35
36
|
from ccxt.base.errors import BadResponse # noqa: F401
|
36
37
|
from ccxt.base.errors import NullResponse # noqa: F401
|
37
38
|
from ccxt.base.errors import InsufficientFunds # noqa: F401
|
@@ -19,6 +19,7 @@ from ccxt.base.errors import BadRequest
|
|
19
19
|
from ccxt.base.errors import BadSymbol
|
20
20
|
from ccxt.base.errors import OperationRejected
|
21
21
|
from ccxt.base.errors import MarginModeAlreadySet
|
22
|
+
from ccxt.base.errors import MarketClosed
|
22
23
|
from ccxt.base.errors import BadResponse
|
23
24
|
from ccxt.base.errors import InsufficientFunds
|
24
25
|
from ccxt.base.errors import InvalidOrder
|
@@ -2419,7 +2420,7 @@ class binance(Exchange, ImplicitAPI):
|
|
2419
2420
|
'Rest API trading is not enabled.': PermissionDenied,
|
2420
2421
|
'This account may not place or cancel orders.': PermissionDenied,
|
2421
2422
|
"You don't have permission.": PermissionDenied, # {"msg":"You don't have permission.","success":false}
|
2422
|
-
'Market is closed.':
|
2423
|
+
'Market is closed.': MarketClosed, # {"code":-1013,"msg":"Market is closed."}
|
2423
2424
|
'Too many requests. Please try again later.': RateLimitExceeded, # {"msg":"Too many requests. Please try again later.","success":false}
|
2424
2425
|
'This action is disabled on self account.': AccountSuspended, # {"code":-2011,"msg":"This action is disabled on self account."}
|
2425
2426
|
'Limit orders require GTC for self phase.': BadRequest,
|
@@ -3886,8 +3887,8 @@ class binance(Exchange, ImplicitAPI):
|
|
3886
3887
|
"""
|
3887
3888
|
fetches the last price for multiple markets
|
3888
3889
|
:see: https://binance-docs.github.io/apidocs/spot/en/#symbol-price-ticker # spot
|
3889
|
-
:see: https://binance-docs.github.io/apidocs/
|
3890
|
-
:see: https://binance-docs.github.io/apidocs/delivery/en/#symbol-price-
|
3890
|
+
:see: https://binance-docs.github.io/apidocs/futures/en/#symbol-price-ticker # swap
|
3891
|
+
:see: https://binance-docs.github.io/apidocs/delivery/en/#symbol-price-tickers # future
|
3891
3892
|
:param str[]|None symbols: unified symbols of the markets to fetch the last prices
|
3892
3893
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
3893
3894
|
:param str [params.subType]: "linear" or "inverse"
|
@@ -401,6 +401,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
401
401
|
'100202': InsufficientFunds,
|
402
402
|
'100204': BadRequest,
|
403
403
|
'100400': BadRequest,
|
404
|
+
'100410': OperationFailed, # {"code":100410,"msg":"The current system is busy, please try again later"}
|
404
405
|
'100421': BadSymbol, # {"code":100421,"msg":"This pair is currently restricted from API trading","debugMsg":""}
|
405
406
|
'100440': ExchangeError,
|
406
407
|
'100500': OperationFailed, # {"code":100500,"msg":"The current system is busy, please try again later","debugMsg":""}
|
@@ -6268,19 +6268,19 @@ class bybit(Exchange, ImplicitAPI):
|
|
6268
6268
|
isUsdcSettled = market['settle'] == 'USDC'
|
6269
6269
|
# engage in leverage setting
|
6270
6270
|
# we reuse the code here instead of having two methods
|
6271
|
-
|
6271
|
+
leverageString = self.number_to_string(leverage)
|
6272
6272
|
request = {
|
6273
6273
|
'symbol': market['id'],
|
6274
|
-
'buyLeverage':
|
6275
|
-
'sellLeverage':
|
6274
|
+
'buyLeverage': leverageString,
|
6275
|
+
'sellLeverage': leverageString,
|
6276
6276
|
}
|
6277
6277
|
response = None
|
6278
6278
|
if isUsdcSettled and not isUnifiedAccount:
|
6279
|
-
request['leverage'] =
|
6279
|
+
request['leverage'] = leverageString
|
6280
6280
|
response = await self.privatePostPerpetualUsdcOpenapiPrivateV1PositionLeverageSave(self.extend(request, params))
|
6281
6281
|
else:
|
6282
|
-
request['buyLeverage'] =
|
6283
|
-
request['sellLeverage'] =
|
6282
|
+
request['buyLeverage'] = leverageString
|
6283
|
+
request['sellLeverage'] = leverageString
|
6284
6284
|
if market['linear']:
|
6285
6285
|
request['category'] = 'linear'
|
6286
6286
|
elif market['inverse']:
|
@@ -3488,48 +3488,49 @@ class coinex(Exchange, ImplicitAPI):
|
|
3488
3488
|
async def create_deposit_address(self, code: str, params={}):
|
3489
3489
|
"""
|
3490
3490
|
create a currency deposit address
|
3491
|
-
:see: https://
|
3491
|
+
:see: https://docs.coinex.com/api/v2/assets/deposit-withdrawal/http/update-deposit-address
|
3492
3492
|
:param str code: unified currency code of the currency for the deposit address
|
3493
3493
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
3494
|
+
:param str [params.network]: the blockchain network to create a deposit address on
|
3494
3495
|
:returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
|
3495
3496
|
"""
|
3496
3497
|
await self.load_markets()
|
3497
3498
|
currency = self.currency(code)
|
3499
|
+
network = self.safe_string_2(params, 'chain', 'network')
|
3500
|
+
if network is None:
|
3501
|
+
raise ArgumentsRequired(self.id + ' createDepositAddress() requires a network parameter')
|
3502
|
+
params = self.omit(params, 'network')
|
3498
3503
|
request = {
|
3499
|
-
'
|
3504
|
+
'ccy': currency['id'],
|
3505
|
+
'chain': self.network_code_to_id(network, currency['code']),
|
3500
3506
|
}
|
3501
|
-
|
3502
|
-
network = self.safe_string(params, 'network')
|
3503
|
-
params = self.omit(params, 'network')
|
3504
|
-
request['smart_contract_name'] = network
|
3505
|
-
response = await self.v1PrivatePutBalanceDepositAddressCoinType(self.extend(request, params))
|
3507
|
+
response = await self.v2PrivatePostAssetsRenewalDepositAddress(self.extend(request, params))
|
3506
3508
|
#
|
3507
3509
|
# {
|
3508
3510
|
# "code": 0,
|
3509
3511
|
# "data": {
|
3510
|
-
# "
|
3511
|
-
# "
|
3512
|
+
# "address": "0x321bd6479355142334f45653ad5d8b76105a1234",
|
3513
|
+
# "memo": ""
|
3512
3514
|
# },
|
3513
|
-
# "message": "
|
3515
|
+
# "message": "OK"
|
3514
3516
|
# }
|
3517
|
+
#
|
3515
3518
|
data = self.safe_dict(response, 'data', {})
|
3516
3519
|
return self.parse_deposit_address(data, currency)
|
3517
3520
|
|
3518
3521
|
async def fetch_deposit_address(self, code: str, params={}):
|
3519
3522
|
"""
|
3520
3523
|
fetch the deposit address for a currency associated with self account
|
3521
|
-
:see: https://
|
3524
|
+
:see: https://docs.coinex.com/api/v2/assets/deposit-withdrawal/http/get-deposit-address
|
3522
3525
|
:param str code: unified currency code
|
3523
3526
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
3527
|
+
:param str [params.network]: the blockchain network to create a deposit address on
|
3524
3528
|
:returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
|
3525
3529
|
"""
|
3526
3530
|
await self.load_markets()
|
3527
3531
|
currency = self.currency(code)
|
3528
|
-
|
3529
|
-
|
3530
|
-
}
|
3531
|
-
networks = self.safe_value(currency, 'networks', {})
|
3532
|
-
network = self.safe_string(params, 'network')
|
3532
|
+
networks = self.safe_dict(currency, 'networks', {})
|
3533
|
+
network = self.safe_string_2(params, 'network', 'chain')
|
3533
3534
|
params = self.omit(params, 'network')
|
3534
3535
|
networksKeys = list(networks.keys())
|
3535
3536
|
numOfNetworks = len(networksKeys)
|
@@ -3538,23 +3539,24 @@ class coinex(Exchange, ImplicitAPI):
|
|
3538
3539
|
raise ArgumentsRequired(self.id + ' fetchDepositAddress() ' + code + ' requires a network parameter')
|
3539
3540
|
if not (network in networks):
|
3540
3541
|
raise ExchangeError(self.id + ' fetchDepositAddress() ' + network + ' network not supported for ' + code)
|
3541
|
-
|
3542
|
-
|
3543
|
-
|
3542
|
+
request = {
|
3543
|
+
'ccy': currency['id'],
|
3544
|
+
'chain': network,
|
3545
|
+
}
|
3546
|
+
response = await self.v2PrivateGetAssetsDepositAddress(self.extend(request, params))
|
3544
3547
|
#
|
3545
|
-
#
|
3546
|
-
#
|
3547
|
-
#
|
3548
|
-
#
|
3549
|
-
#
|
3550
|
-
#
|
3551
|
-
#
|
3552
|
-
#
|
3553
|
-
# }
|
3548
|
+
# {
|
3549
|
+
# "code": 0,
|
3550
|
+
# "data": {
|
3551
|
+
# "address": "0x321bd6479355142334f45653ad5d8b76105a1234",
|
3552
|
+
# "memo": ""
|
3553
|
+
# },
|
3554
|
+
# "message": "OK"
|
3555
|
+
# }
|
3554
3556
|
#
|
3555
|
-
data = self.
|
3557
|
+
data = self.safe_dict(response, 'data', {})
|
3556
3558
|
depositAddress = self.parse_deposit_address(data, currency)
|
3557
|
-
options = self.
|
3559
|
+
options = self.safe_dict(self.options, 'fetchDepositAddress', {})
|
3558
3560
|
fillResponseFromRequest = self.safe_bool(options, 'fillResponseFromRequest', True)
|
3559
3561
|
if fillResponseFromRequest:
|
3560
3562
|
depositAddress['network'] = self.safe_network_code(network, currency)
|
@@ -3578,11 +3580,11 @@ class coinex(Exchange, ImplicitAPI):
|
|
3578
3580
|
def parse_deposit_address(self, depositAddress, currency: Currency = None):
|
3579
3581
|
#
|
3580
3582
|
# {
|
3581
|
-
# "
|
3582
|
-
# "
|
3583
|
+
# "address": "1P1JqozxioQwaqPwgMAQdNDYNyaVSqgARq",
|
3584
|
+
# "memo": ""
|
3583
3585
|
# }
|
3584
3586
|
#
|
3585
|
-
coinAddress = self.safe_string(depositAddress, '
|
3587
|
+
coinAddress = self.safe_string(depositAddress, 'address')
|
3586
3588
|
parts = coinAddress.split(':')
|
3587
3589
|
address = None
|
3588
3590
|
tag = None
|
@@ -509,7 +509,8 @@ class cryptocom(Exchange, ImplicitAPI):
|
|
509
509
|
strike = self.safe_string(market, 'strike')
|
510
510
|
marginBuyEnabled = self.safe_value(market, 'margin_buy_enabled')
|
511
511
|
marginSellEnabled = self.safe_value(market, 'margin_sell_enabled')
|
512
|
-
|
512
|
+
expiryString = self.omit_zero(self.safe_string(market, 'expiry_timestamp_ms'))
|
513
|
+
expiry = int(expiryString) if (expiryString is not None) else None
|
513
514
|
symbol = base + '/' + quote
|
514
515
|
type = None
|
515
516
|
contract = None
|
@@ -150,6 +150,7 @@ class luno(Exchange, ImplicitAPI):
|
|
150
150
|
'withdrawals': 1,
|
151
151
|
'send': 1,
|
152
152
|
'oauth2/grant': 1,
|
153
|
+
'beneficiaries': 1,
|
153
154
|
# POST /api/exchange/1/move
|
154
155
|
},
|
155
156
|
'put': {
|
@@ -157,6 +158,7 @@ class luno(Exchange, ImplicitAPI):
|
|
157
158
|
},
|
158
159
|
'delete': {
|
159
160
|
'withdrawals/{id}': 1,
|
161
|
+
'beneficiaries/{id}': 1,
|
160
162
|
},
|
161
163
|
},
|
162
164
|
},
|
@@ -2299,7 +2299,7 @@ class phemex(Exchange, ImplicitAPI):
|
|
2299
2299
|
if lastTradeTimestamp == 0:
|
2300
2300
|
lastTradeTimestamp = None
|
2301
2301
|
timeInForce = self.parse_time_in_force(self.safe_string(order, 'timeInForce'))
|
2302
|
-
stopPrice = self.omit_zero(self.
|
2302
|
+
stopPrice = self.omit_zero(self.safe_string_2(order, 'stopPx', 'stopPxRp'))
|
2303
2303
|
postOnly = (timeInForce == 'PO')
|
2304
2304
|
reduceOnly = self.safe_value(order, 'reduceOnly')
|
2305
2305
|
execInst = self.safe_string(order, 'execInst')
|
@@ -15,6 +15,7 @@ error_hierarchy = {
|
|
15
15
|
'NoChange': {
|
16
16
|
'MarginModeAlreadySet': {},
|
17
17
|
},
|
18
|
+
'MarketClosed': {},
|
18
19
|
},
|
19
20
|
'BadResponse': {
|
20
21
|
'NullResponse': {},
|
@@ -99,6 +100,10 @@ class MarginModeAlreadySet(NoChange):
|
|
99
100
|
pass
|
100
101
|
|
101
102
|
|
103
|
+
class MarketClosed(OperationRejected):
|
104
|
+
pass
|
105
|
+
|
106
|
+
|
102
107
|
class BadResponse(ExchangeError):
|
103
108
|
pass
|
104
109
|
|
@@ -209,6 +214,7 @@ __all__ = [
|
|
209
214
|
'OperationRejected',
|
210
215
|
'NoChange',
|
211
216
|
'MarginModeAlreadySet',
|
217
|
+
'MarketClosed',
|
212
218
|
'BadResponse',
|
213
219
|
'NullResponse',
|
214
220
|
'InsufficientFunds',
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.3.
|
7
|
+
__version__ = '4.3.15'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -3092,15 +3092,15 @@ class Exchange(object):
|
|
3092
3092
|
# timestamp and symbol operations don't belong in safeTicker
|
3093
3093
|
# they should be done in the derived classes
|
3094
3094
|
return self.extend(ticker, {
|
3095
|
-
'bid': self.parse_number(self.omit_zero(self.
|
3095
|
+
'bid': self.parse_number(self.omit_zero(self.safe_string(ticker, 'bid'))),
|
3096
3096
|
'bidVolume': self.safe_number(ticker, 'bidVolume'),
|
3097
|
-
'ask': self.parse_number(self.omit_zero(self.
|
3097
|
+
'ask': self.parse_number(self.omit_zero(self.safe_string(ticker, 'ask'))),
|
3098
3098
|
'askVolume': self.safe_number(ticker, 'askVolume'),
|
3099
3099
|
'high': self.parse_number(self.omit_zero(self.safe_string(ticker, 'high'))),
|
3100
|
-
'low': self.parse_number(self.omit_zero(self.
|
3101
|
-
'open': self.parse_number(self.omit_zero(
|
3102
|
-
'close': self.parse_number(self.omit_zero(
|
3103
|
-
'last': self.parse_number(self.omit_zero(
|
3100
|
+
'low': self.parse_number(self.omit_zero(self.safe_string(ticker, 'low'))),
|
3101
|
+
'open': self.parse_number(self.omit_zero(open)),
|
3102
|
+
'close': self.parse_number(self.omit_zero(close)),
|
3103
|
+
'last': self.parse_number(self.omit_zero(last)),
|
3104
3104
|
'change': self.parse_number(change),
|
3105
3105
|
'percentage': self.parse_number(percentage),
|
3106
3106
|
'average': self.parse_number(average),
|
@@ -18,6 +18,7 @@ from ccxt.base.errors import BadRequest
|
|
18
18
|
from ccxt.base.errors import BadSymbol
|
19
19
|
from ccxt.base.errors import OperationRejected
|
20
20
|
from ccxt.base.errors import MarginModeAlreadySet
|
21
|
+
from ccxt.base.errors import MarketClosed
|
21
22
|
from ccxt.base.errors import BadResponse
|
22
23
|
from ccxt.base.errors import InsufficientFunds
|
23
24
|
from ccxt.base.errors import InvalidOrder
|
@@ -2418,7 +2419,7 @@ class binance(Exchange, ImplicitAPI):
|
|
2418
2419
|
'Rest API trading is not enabled.': PermissionDenied,
|
2419
2420
|
'This account may not place or cancel orders.': PermissionDenied,
|
2420
2421
|
"You don't have permission.": PermissionDenied, # {"msg":"You don't have permission.","success":false}
|
2421
|
-
'Market is closed.':
|
2422
|
+
'Market is closed.': MarketClosed, # {"code":-1013,"msg":"Market is closed."}
|
2422
2423
|
'Too many requests. Please try again later.': RateLimitExceeded, # {"msg":"Too many requests. Please try again later.","success":false}
|
2423
2424
|
'This action is disabled on self account.': AccountSuspended, # {"code":-2011,"msg":"This action is disabled on self account."}
|
2424
2425
|
'Limit orders require GTC for self phase.': BadRequest,
|
@@ -3885,8 +3886,8 @@ class binance(Exchange, ImplicitAPI):
|
|
3885
3886
|
"""
|
3886
3887
|
fetches the last price for multiple markets
|
3887
3888
|
:see: https://binance-docs.github.io/apidocs/spot/en/#symbol-price-ticker # spot
|
3888
|
-
:see: https://binance-docs.github.io/apidocs/
|
3889
|
-
:see: https://binance-docs.github.io/apidocs/delivery/en/#symbol-price-
|
3889
|
+
:see: https://binance-docs.github.io/apidocs/futures/en/#symbol-price-ticker # swap
|
3890
|
+
:see: https://binance-docs.github.io/apidocs/delivery/en/#symbol-price-tickers # future
|
3890
3891
|
:param str[]|None symbols: unified symbols of the markets to fetch the last prices
|
3891
3892
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
3892
3893
|
:param str [params.subType]: "linear" or "inverse"
|
@@ -400,6 +400,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
400
400
|
'100202': InsufficientFunds,
|
401
401
|
'100204': BadRequest,
|
402
402
|
'100400': BadRequest,
|
403
|
+
'100410': OperationFailed, # {"code":100410,"msg":"The current system is busy, please try again later"}
|
403
404
|
'100421': BadSymbol, # {"code":100421,"msg":"This pair is currently restricted from API trading","debugMsg":""}
|
404
405
|
'100440': ExchangeError,
|
405
406
|
'100500': OperationFailed, # {"code":100500,"msg":"The current system is busy, please try again later","debugMsg":""}
|
@@ -6267,19 +6267,19 @@ class bybit(Exchange, ImplicitAPI):
|
|
6267
6267
|
isUsdcSettled = market['settle'] == 'USDC'
|
6268
6268
|
# engage in leverage setting
|
6269
6269
|
# we reuse the code here instead of having two methods
|
6270
|
-
|
6270
|
+
leverageString = self.number_to_string(leverage)
|
6271
6271
|
request = {
|
6272
6272
|
'symbol': market['id'],
|
6273
|
-
'buyLeverage':
|
6274
|
-
'sellLeverage':
|
6273
|
+
'buyLeverage': leverageString,
|
6274
|
+
'sellLeverage': leverageString,
|
6275
6275
|
}
|
6276
6276
|
response = None
|
6277
6277
|
if isUsdcSettled and not isUnifiedAccount:
|
6278
|
-
request['leverage'] =
|
6278
|
+
request['leverage'] = leverageString
|
6279
6279
|
response = self.privatePostPerpetualUsdcOpenapiPrivateV1PositionLeverageSave(self.extend(request, params))
|
6280
6280
|
else:
|
6281
|
-
request['buyLeverage'] =
|
6282
|
-
request['sellLeverage'] =
|
6281
|
+
request['buyLeverage'] = leverageString
|
6282
|
+
request['sellLeverage'] = leverageString
|
6283
6283
|
if market['linear']:
|
6284
6284
|
request['category'] = 'linear'
|
6285
6285
|
elif market['inverse']:
|
@@ -3487,48 +3487,49 @@ class coinex(Exchange, ImplicitAPI):
|
|
3487
3487
|
def create_deposit_address(self, code: str, params={}):
|
3488
3488
|
"""
|
3489
3489
|
create a currency deposit address
|
3490
|
-
:see: https://
|
3490
|
+
:see: https://docs.coinex.com/api/v2/assets/deposit-withdrawal/http/update-deposit-address
|
3491
3491
|
:param str code: unified currency code of the currency for the deposit address
|
3492
3492
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
3493
|
+
:param str [params.network]: the blockchain network to create a deposit address on
|
3493
3494
|
:returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
|
3494
3495
|
"""
|
3495
3496
|
self.load_markets()
|
3496
3497
|
currency = self.currency(code)
|
3498
|
+
network = self.safe_string_2(params, 'chain', 'network')
|
3499
|
+
if network is None:
|
3500
|
+
raise ArgumentsRequired(self.id + ' createDepositAddress() requires a network parameter')
|
3501
|
+
params = self.omit(params, 'network')
|
3497
3502
|
request = {
|
3498
|
-
'
|
3503
|
+
'ccy': currency['id'],
|
3504
|
+
'chain': self.network_code_to_id(network, currency['code']),
|
3499
3505
|
}
|
3500
|
-
|
3501
|
-
network = self.safe_string(params, 'network')
|
3502
|
-
params = self.omit(params, 'network')
|
3503
|
-
request['smart_contract_name'] = network
|
3504
|
-
response = self.v1PrivatePutBalanceDepositAddressCoinType(self.extend(request, params))
|
3506
|
+
response = self.v2PrivatePostAssetsRenewalDepositAddress(self.extend(request, params))
|
3505
3507
|
#
|
3506
3508
|
# {
|
3507
3509
|
# "code": 0,
|
3508
3510
|
# "data": {
|
3509
|
-
# "
|
3510
|
-
# "
|
3511
|
+
# "address": "0x321bd6479355142334f45653ad5d8b76105a1234",
|
3512
|
+
# "memo": ""
|
3511
3513
|
# },
|
3512
|
-
# "message": "
|
3514
|
+
# "message": "OK"
|
3513
3515
|
# }
|
3516
|
+
#
|
3514
3517
|
data = self.safe_dict(response, 'data', {})
|
3515
3518
|
return self.parse_deposit_address(data, currency)
|
3516
3519
|
|
3517
3520
|
def fetch_deposit_address(self, code: str, params={}):
|
3518
3521
|
"""
|
3519
3522
|
fetch the deposit address for a currency associated with self account
|
3520
|
-
:see: https://
|
3523
|
+
:see: https://docs.coinex.com/api/v2/assets/deposit-withdrawal/http/get-deposit-address
|
3521
3524
|
:param str code: unified currency code
|
3522
3525
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
3526
|
+
:param str [params.network]: the blockchain network to create a deposit address on
|
3523
3527
|
:returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
|
3524
3528
|
"""
|
3525
3529
|
self.load_markets()
|
3526
3530
|
currency = self.currency(code)
|
3527
|
-
|
3528
|
-
|
3529
|
-
}
|
3530
|
-
networks = self.safe_value(currency, 'networks', {})
|
3531
|
-
network = self.safe_string(params, 'network')
|
3531
|
+
networks = self.safe_dict(currency, 'networks', {})
|
3532
|
+
network = self.safe_string_2(params, 'network', 'chain')
|
3532
3533
|
params = self.omit(params, 'network')
|
3533
3534
|
networksKeys = list(networks.keys())
|
3534
3535
|
numOfNetworks = len(networksKeys)
|
@@ -3537,23 +3538,24 @@ class coinex(Exchange, ImplicitAPI):
|
|
3537
3538
|
raise ArgumentsRequired(self.id + ' fetchDepositAddress() ' + code + ' requires a network parameter')
|
3538
3539
|
if not (network in networks):
|
3539
3540
|
raise ExchangeError(self.id + ' fetchDepositAddress() ' + network + ' network not supported for ' + code)
|
3540
|
-
|
3541
|
-
|
3542
|
-
|
3541
|
+
request = {
|
3542
|
+
'ccy': currency['id'],
|
3543
|
+
'chain': network,
|
3544
|
+
}
|
3545
|
+
response = self.v2PrivateGetAssetsDepositAddress(self.extend(request, params))
|
3543
3546
|
#
|
3544
|
-
#
|
3545
|
-
#
|
3546
|
-
#
|
3547
|
-
#
|
3548
|
-
#
|
3549
|
-
#
|
3550
|
-
#
|
3551
|
-
#
|
3552
|
-
# }
|
3547
|
+
# {
|
3548
|
+
# "code": 0,
|
3549
|
+
# "data": {
|
3550
|
+
# "address": "0x321bd6479355142334f45653ad5d8b76105a1234",
|
3551
|
+
# "memo": ""
|
3552
|
+
# },
|
3553
|
+
# "message": "OK"
|
3554
|
+
# }
|
3553
3555
|
#
|
3554
|
-
data = self.
|
3556
|
+
data = self.safe_dict(response, 'data', {})
|
3555
3557
|
depositAddress = self.parse_deposit_address(data, currency)
|
3556
|
-
options = self.
|
3558
|
+
options = self.safe_dict(self.options, 'fetchDepositAddress', {})
|
3557
3559
|
fillResponseFromRequest = self.safe_bool(options, 'fillResponseFromRequest', True)
|
3558
3560
|
if fillResponseFromRequest:
|
3559
3561
|
depositAddress['network'] = self.safe_network_code(network, currency)
|
@@ -3577,11 +3579,11 @@ class coinex(Exchange, ImplicitAPI):
|
|
3577
3579
|
def parse_deposit_address(self, depositAddress, currency: Currency = None):
|
3578
3580
|
#
|
3579
3581
|
# {
|
3580
|
-
# "
|
3581
|
-
# "
|
3582
|
+
# "address": "1P1JqozxioQwaqPwgMAQdNDYNyaVSqgARq",
|
3583
|
+
# "memo": ""
|
3582
3584
|
# }
|
3583
3585
|
#
|
3584
|
-
coinAddress = self.safe_string(depositAddress, '
|
3586
|
+
coinAddress = self.safe_string(depositAddress, 'address')
|
3585
3587
|
parts = coinAddress.split(':')
|
3586
3588
|
address = None
|
3587
3589
|
tag = None
|
@@ -509,7 +509,8 @@ class cryptocom(Exchange, ImplicitAPI):
|
|
509
509
|
strike = self.safe_string(market, 'strike')
|
510
510
|
marginBuyEnabled = self.safe_value(market, 'margin_buy_enabled')
|
511
511
|
marginSellEnabled = self.safe_value(market, 'margin_sell_enabled')
|
512
|
-
|
512
|
+
expiryString = self.omit_zero(self.safe_string(market, 'expiry_timestamp_ms'))
|
513
|
+
expiry = int(expiryString) if (expiryString is not None) else None
|
513
514
|
symbol = base + '/' + quote
|
514
515
|
type = None
|
515
516
|
contract = None
|
@@ -150,6 +150,7 @@ class luno(Exchange, ImplicitAPI):
|
|
150
150
|
'withdrawals': 1,
|
151
151
|
'send': 1,
|
152
152
|
'oauth2/grant': 1,
|
153
|
+
'beneficiaries': 1,
|
153
154
|
# POST /api/exchange/1/move
|
154
155
|
},
|
155
156
|
'put': {
|
@@ -157,6 +158,7 @@ class luno(Exchange, ImplicitAPI):
|
|
157
158
|
},
|
158
159
|
'delete': {
|
159
160
|
'withdrawals/{id}': 1,
|
161
|
+
'beneficiaries/{id}': 1,
|
160
162
|
},
|
161
163
|
},
|
162
164
|
},
|
@@ -2299,7 +2299,7 @@ class phemex(Exchange, ImplicitAPI):
|
|
2299
2299
|
if lastTradeTimestamp == 0:
|
2300
2300
|
lastTradeTimestamp = None
|
2301
2301
|
timeInForce = self.parse_time_in_force(self.safe_string(order, 'timeInForce'))
|
2302
|
-
stopPrice = self.omit_zero(self.
|
2302
|
+
stopPrice = self.omit_zero(self.safe_string_2(order, 'stopPx', 'stopPxRp'))
|
2303
2303
|
postOnly = (timeInForce == 'PO')
|
2304
2304
|
reduceOnly = self.safe_value(order, 'reduceOnly')
|
2305
2305
|
execInst = self.safe_string(order, 'execInst')
|