ccxt 4.1.83__tar.gz → 4.1.85__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.1.83/ccxt.egg-info → ccxt-4.1.85}/PKG-INFO +6 -5
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/__init__.py +1 -1
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/base/exchange.py +4 -1
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/binance.py +1 -1
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bingx.py +8 -7
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bithumb.py +2 -2
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitmart.py +90 -73
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitopro.py +2 -2
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bybit.py +3 -2
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/coinex.py +1 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/coinsph.py +18 -9
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/htx.py +33 -4
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/huobijp.py +31 -5
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/kucoinfutures.py +0 -3
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/base/exchange.py +4 -1
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/binance.py +1 -1
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bingx.py +8 -7
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitmart.py +90 -73
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bybit.py +3 -2
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/coinex.py +1 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/coinsph.py +18 -9
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/htx.py +33 -4
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/huobijp.py +31 -5
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/kucoinfutures.py +0 -3
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/__init__.py +1 -1
- ccxt-4.1.85/ccxt/pro/bitmart.py +1315 -0
- {ccxt-4.1.83 → ccxt-4.1.85/ccxt.egg-info}/PKG-INFO +6 -5
- {ccxt-4.1.83 → ccxt-4.1.85}/package.json +1 -1
- ccxt-4.1.83/ccxt/pro/bitmart.py +0 -597
- {ccxt-4.1.83 → ccxt-4.1.85}/LICENSE.txt +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/MANIFEST.in +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/README.rst +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitforex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bittrex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/coinbaseprime.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/coinbasepro.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/ace.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/alpaca.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/ascendex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitforex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitget.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bittrex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/coinbaseprime.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/coinbasepro.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/flowbtc.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/gate.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/kucoin.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/okx.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/base/__init__.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/base/errors.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/base/precise.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/base/types.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bequant.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bigone.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/binanceus.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bit2c.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitbank.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitbay.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitbns.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitfinex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitflyer.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitforex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitget.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bithumb.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitmex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitopro.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitpanda.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitrue.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitso.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitstamp.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bittrex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bitvavo.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/bl3p.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/btcalpha.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/btcbox.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/btcturk.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/cex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/coinbase.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/coinbaseprime.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/coinbasepro.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/coincheck.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/coinlist.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/coinmate.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/coinone.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/coinspot.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/cryptocom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/currencycom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/delta.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/deribit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/digifinex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/exmo.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/flowbtc.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/fmfwio.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/gate.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/gateio.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/gemini.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/hitbtc.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/hollaex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/huobi.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/idex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/independentreserve.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/indodax.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/kraken.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/kucoin.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/kuna.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/latoken.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/lbank.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/luno.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/lykke.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/mercado.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/mexc.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/ndax.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/novadax.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/oceanex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/okcoin.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/okx.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/p2b.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/paymium.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/phemex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/poloniex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/binance.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/bitfinex2.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/bittrex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/cex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/coinbaseprime.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/coinbasepro.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/gate.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/htx.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/huobipro.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/idex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/luno.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/mexc3.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/okex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/okx.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/probit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/pro/woo.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/probit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/__init__.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/__init__.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_account.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_balance.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_borrow_interest.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_borrow_rate.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_calculate_fee.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_crypto.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_currency.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_datetime.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_decimal_to_precision.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_deep_extend.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_funding_rate_history.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_ledger_entry.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_ledger_item.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_leverage_tier.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_margin_modification.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_market.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_number.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_ohlcv.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_open_interest.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_order.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_order_book.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_position.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_shared_methods.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_status.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_throttle.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_ticker.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_trade.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_trading_fee.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/base/test_transaction.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/test_async.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/test/test_sync.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/timex.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/upbit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/wazirx.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/whitebit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/woo.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/yobit.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/zaif.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt/zonda.py +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/setup.cfg +0 -0
- {ccxt-4.1.83 → ccxt-4.1.85}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.1.
|
3
|
+
Version: 4.1.85
|
4
4
|
Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges
|
5
5
|
Home-page: https://ccxt.com
|
6
6
|
Author: Igor Kroitor
|
@@ -56,6 +56,7 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
56
56
|
| [](http://www.bitmart.com/?r=rQCFLh) | bitmart | [BitMart](http://www.bitmart.com/?r=rQCFLh) | [](https://developer-pro.bitmart.com/) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](http://www.bitmart.com/?r=rQCFLh) |
|
57
57
|
| [](https://www.bitmex.com/register/upZpOX) | bitmex | [BitMEX](https://www.bitmex.com/register/upZpOX) | [](https://www.bitmex.com/app/apiOverview) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
58
58
|
| [](https://www.bybit.com/register?affiliate_id=35953) | bybit | [Bybit](https://www.bybit.com/register?affiliate_id=35953) | [](https://bybit-exchange.github.io/docs/inverse/) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
59
|
+
| [](https://www.coinex.com/register?refer_code=yw5fz) | coinex | [CoinEx](https://www.coinex.com/register?refer_code=yw5fz) | [](https://github.com/coinexcom/coinex_exchange_api/wiki) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
59
60
|
| [](https://crypto.com/exch/5835vstech) | cryptocom | [Crypto.com](https://crypto.com/exch/5835vstech) | [](https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
60
61
|
| [](https://www.gate.io/signup/2436035) | gate | [Gate.io](https://www.gate.io/signup/2436035) | [](https://www.gate.io/docs/developers/apiv4/en/) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://www.gate.io/signup/2436035) |
|
61
62
|
| [](https://www.huobi.com/en-us/v/register/double-invite/?inviter_id=11343840&invite_code=6rmm2223) | htx | [HTX](https://www.huobi.com/en-us/v/register/double-invite/?inviter_id=11343840&invite_code=6rmm2223) | [](https://huobiapi.github.io/docs/spot/v1/en/) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://www.huobi.com/en-us/v/register/double-invite/?inviter_id=11343840&invite_code=6rmm2223) |
|
@@ -111,7 +112,7 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
111
112
|
| [](https://exchange.coinbase.com) | coinbaseprime | [Coinbase Prime](https://exchange.coinbase.com) | [](https://docs.exchange.coinbase.com) | | [](https://ccxt.pro) |
|
112
113
|
| [](https://pro.coinbase.com/) | coinbasepro | [Coinbase Pro](https://pro.coinbase.com/) | [](https://docs.pro.coinbase.com) | | [](https://ccxt.pro) |
|
113
114
|
| [](https://coincheck.com) | coincheck | [coincheck](https://coincheck.com) | [](https://coincheck.com/documents/exchange/api) | | |
|
114
|
-
| [](https://www.coinex.com/register?refer_code=yw5fz) | coinex | [CoinEx](https://www.coinex.com/register?refer_code=yw5fz) | [](https://github.com/coinexcom/coinex_exchange_api/wiki) |
|
115
|
+
| [](https://www.coinex.com/register?refer_code=yw5fz) | coinex | [CoinEx](https://www.coinex.com/register?refer_code=yw5fz) | [](https://github.com/coinexcom/coinex_exchange_api/wiki) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) |
|
115
116
|
| [](https://coinlist.co) | coinlist | [Coinlist](https://coinlist.co) | [](https://trade-docs.coinlist.co) | | |
|
116
117
|
| [](https://coinmate.io?referral=YTFkM1RsOWFObVpmY1ZjMGREQmpTRnBsWjJJNVp3PT0) | coinmate | [CoinMate](https://coinmate.io?referral=YTFkM1RsOWFObVpmY1ZjMGREQmpTRnBsWjJJNVp3PT0) | [](https://coinmate.docs.apiary.io) | | |
|
117
118
|
| [](https://coinone.co.kr) | coinone | [CoinOne](https://coinone.co.kr) | [](https://doc.coinone.co.kr) | | |
|
@@ -222,13 +223,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
222
223
|
|
223
224
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
224
225
|
|
225
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.1.
|
226
|
-
* unpkg: https://unpkg.com/ccxt@4.1.
|
226
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.1.85/dist/ccxt.browser.js
|
227
|
+
* unpkg: https://unpkg.com/ccxt@4.1.85/dist/ccxt.browser.js
|
227
228
|
|
228
229
|
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.
|
229
230
|
|
230
231
|
```HTML
|
231
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.1.
|
232
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.1.85/dist/ccxt.browser.js"></script>
|
232
233
|
```
|
233
234
|
|
234
235
|
Creates a global `ccxt` object:
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '4.1.
|
5
|
+
__version__ = '4.1.85'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -1016,6 +1016,9 @@ class Exchange(BaseExchange):
|
|
1016
1016
|
async def close_all_positions(self, params={}):
|
1017
1017
|
raise NotSupported(self.id + ' closeAllPositions() is not supported yet')
|
1018
1018
|
|
1019
|
+
async def fetch_l3_order_book(self, symbol: str, limit: Int = None, params={}):
|
1020
|
+
raise BadRequest(self.id + ' fetchL3OrderBook() is not supported yet')
|
1021
|
+
|
1019
1022
|
async def fetch_deposit_address(self, code: str, params={}):
|
1020
1023
|
if self.has['fetchDepositAddresses']:
|
1021
1024
|
depositAddresses = await self.fetchDepositAddresses([code], params)
|
@@ -7939,7 +7939,7 @@ class binance(Exchange, ImplicitAPI):
|
|
7939
7939
|
extendedParams = self.omit(extendedParams, ['orderidlist', 'origclientorderidlist'])
|
7940
7940
|
query = self.rawencode(extendedParams)
|
7941
7941
|
orderidlistLength = len(orderidlist)
|
7942
|
-
origclientorderidlistLength = len(
|
7942
|
+
origclientorderidlistLength = len(origclientorderidlist)
|
7943
7943
|
if orderidlistLength > 0:
|
7944
7944
|
query = query + '&' + 'orderidlist=[' + ','.join(orderidlist) + ']'
|
7945
7945
|
if origclientorderidlistLength > 0:
|
@@ -1913,6 +1913,8 @@ class bingx(Exchange, ImplicitAPI):
|
|
1913
1913
|
positionSide = self.safe_string_2(order, 'positionSide', 'ps')
|
1914
1914
|
marketType = 'spot' if (positionSide is None) else 'swap'
|
1915
1915
|
marketId = self.safe_string_2(order, 'symbol', 's')
|
1916
|
+
if market is None:
|
1917
|
+
market = self.safe_market(marketId, None, None, marketType)
|
1916
1918
|
symbol = self.safe_symbol(marketId, market, '-', marketType)
|
1917
1919
|
orderId = self.safe_string_2(order, 'orderId', 'i')
|
1918
1920
|
side = self.safe_string_lower_2(order, 'side', 'S')
|
@@ -2251,15 +2253,14 @@ class bingx(Exchange, ImplicitAPI):
|
|
2251
2253
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
2252
2254
|
:returns dict[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
2253
2255
|
"""
|
2254
|
-
if symbol is None:
|
2255
|
-
raise ArgumentsRequired(self.id + ' fetchOrders() requires a symbol argument')
|
2256
2256
|
await self.load_markets()
|
2257
|
-
market =
|
2258
|
-
request = {
|
2259
|
-
|
2260
|
-
|
2257
|
+
market = None
|
2258
|
+
request = {}
|
2259
|
+
if symbol is not None:
|
2260
|
+
market = self.market(symbol)
|
2261
|
+
request['symbol'] = market['id']
|
2261
2262
|
response = None
|
2262
|
-
marketType, query = self.handle_market_type_and_params('
|
2263
|
+
marketType, query = self.handle_market_type_and_params('fetchOpenOrders', market, params)
|
2263
2264
|
if marketType == 'spot':
|
2264
2265
|
response = await self.spotV1PrivateGetTradeOpenOrders(self.extend(request, query))
|
2265
2266
|
else:
|
@@ -903,11 +903,11 @@ class bithumb(Exchange, ImplicitAPI):
|
|
903
903
|
}
|
904
904
|
return await self.privatePostTradeCancel(self.extend(request, params))
|
905
905
|
|
906
|
-
def cancel_unified_order(self, order, params={}):
|
906
|
+
async def cancel_unified_order(self, order, params={}):
|
907
907
|
request = {
|
908
908
|
'side': order['side'],
|
909
909
|
}
|
910
|
-
return self.cancel_order(order['id'], order['symbol'], self.extend(request, params))
|
910
|
+
return await self.cancel_order(order['id'], order['symbol'], self.extend(request, params))
|
911
911
|
|
912
912
|
async def withdraw(self, code: str, amount, address, tag=None, params={}):
|
913
913
|
"""
|
@@ -1308,48 +1308,58 @@ class bitmart(Exchange, ImplicitAPI):
|
|
1308
1308
|
#
|
1309
1309
|
# public fetchTrades spot( amount = count * price )
|
1310
1310
|
#
|
1311
|
-
#
|
1312
|
-
#
|
1313
|
-
#
|
1314
|
-
#
|
1315
|
-
#
|
1316
|
-
#
|
1317
|
-
#
|
1311
|
+
# {
|
1312
|
+
# "amount": "818.94",
|
1313
|
+
# "order_time": "1637601839035", # ETH/USDT
|
1314
|
+
# "price": "4221.99",
|
1315
|
+
# "count": "0.19397",
|
1316
|
+
# "type": "buy"
|
1317
|
+
# }
|
1318
1318
|
#
|
1319
1319
|
# spot: fetchMyTrades
|
1320
1320
|
#
|
1321
|
-
#
|
1322
|
-
#
|
1323
|
-
#
|
1324
|
-
#
|
1325
|
-
#
|
1326
|
-
#
|
1327
|
-
#
|
1328
|
-
#
|
1329
|
-
#
|
1330
|
-
#
|
1331
|
-
#
|
1332
|
-
#
|
1333
|
-
#
|
1334
|
-
#
|
1335
|
-
#
|
1336
|
-
#
|
1321
|
+
# {
|
1322
|
+
# "tradeId":"182342999769370687",
|
1323
|
+
# "orderId":"183270218784142990",
|
1324
|
+
# "clientOrderId":"183270218784142990",
|
1325
|
+
# "symbol":"ADA_USDT",
|
1326
|
+
# "side":"buy",
|
1327
|
+
# "orderMode":"spot",
|
1328
|
+
# "type":"market",
|
1329
|
+
# "price":"0.245948",
|
1330
|
+
# "size":"20.71",
|
1331
|
+
# "notional":"5.09358308",
|
1332
|
+
# "fee":"0.00509358",
|
1333
|
+
# "feeCoinName":"USDT",
|
1334
|
+
# "tradeRole":"taker",
|
1335
|
+
# "createTime":1695658457836,
|
1336
|
+
# }
|
1337
1337
|
#
|
1338
1338
|
# swap: fetchMyTrades
|
1339
1339
|
#
|
1340
|
-
#
|
1341
|
-
#
|
1342
|
-
#
|
1343
|
-
#
|
1344
|
-
#
|
1345
|
-
#
|
1346
|
-
#
|
1347
|
-
#
|
1348
|
-
#
|
1349
|
-
#
|
1350
|
-
#
|
1351
|
-
#
|
1352
|
-
#
|
1340
|
+
# {
|
1341
|
+
# "order_id": "230930336848609",
|
1342
|
+
# "trade_id": "6212604014",
|
1343
|
+
# "symbol": "BTCUSDT",
|
1344
|
+
# "side": 3,
|
1345
|
+
# "price": "26910.4",
|
1346
|
+
# "vol": "1",
|
1347
|
+
# "exec_type": "Taker",
|
1348
|
+
# "profit": False,
|
1349
|
+
# "create_time": 1695961596692,
|
1350
|
+
# "realised_profit": "-0.0003",
|
1351
|
+
# "paid_fees": "0.01614624"
|
1352
|
+
# }
|
1353
|
+
#
|
1354
|
+
# ws swap
|
1355
|
+
#
|
1356
|
+
# {
|
1357
|
+
# 'fee': '-0.000044502',
|
1358
|
+
# 'feeCcy': 'USDT',
|
1359
|
+
# 'fillPrice': '74.17',
|
1360
|
+
# 'fillQty': '1',
|
1361
|
+
# 'lastTradeID': 6802340762
|
1362
|
+
# }
|
1353
1363
|
#
|
1354
1364
|
timestamp = self.safe_integer_n(trade, ['order_time', 'createTime', 'create_time'])
|
1355
1365
|
isPublicTrade = ('order_time' in trade)
|
@@ -1362,7 +1372,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
1362
1372
|
cost = self.safe_string(trade, 'amount')
|
1363
1373
|
side = self.safe_string(trade, 'type')
|
1364
1374
|
else:
|
1365
|
-
amount = self.
|
1375
|
+
amount = self.safe_string_n(trade, ['size', 'vol', 'fillQty'])
|
1366
1376
|
cost = self.safe_string(trade, 'notional')
|
1367
1377
|
type = self.safe_string(trade, 'type')
|
1368
1378
|
side = self.parse_order_side(self.safe_string(trade, 'side'))
|
@@ -1381,14 +1391,14 @@ class bitmart(Exchange, ImplicitAPI):
|
|
1381
1391
|
}
|
1382
1392
|
return self.safe_trade({
|
1383
1393
|
'info': trade,
|
1384
|
-
'id': self.
|
1394
|
+
'id': self.safe_string_n(trade, ['tradeId', 'trade_id', 'lastTradeID']),
|
1385
1395
|
'order': self.safe_string_2(trade, 'orderId', 'order_id'),
|
1386
1396
|
'timestamp': timestamp,
|
1387
1397
|
'datetime': self.iso8601(timestamp),
|
1388
1398
|
'symbol': market['symbol'],
|
1389
1399
|
'type': type,
|
1390
1400
|
'side': side,
|
1391
|
-
'price': self.
|
1401
|
+
'price': self.safe_string_2(trade, 'price', 'fillPrice'),
|
1392
1402
|
'amount': amount,
|
1393
1403
|
'cost': cost,
|
1394
1404
|
'takerOrMaker': self.safe_string_lower_2(trade, 'tradeRole', 'exec_type'),
|
@@ -1439,38 +1449,45 @@ class bitmart(Exchange, ImplicitAPI):
|
|
1439
1449
|
def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
|
1440
1450
|
#
|
1441
1451
|
# spot
|
1442
|
-
#
|
1443
|
-
#
|
1444
|
-
#
|
1445
|
-
#
|
1446
|
-
#
|
1447
|
-
#
|
1448
|
-
#
|
1449
|
-
#
|
1450
|
-
#
|
1451
|
-
# ]
|
1452
|
+
# [
|
1453
|
+
# "1699512060", # timestamp
|
1454
|
+
# "36746.49", # open
|
1455
|
+
# "36758.71", # high
|
1456
|
+
# "36736.13", # low
|
1457
|
+
# "36755.99", # close
|
1458
|
+
# "2.83965", # base volume
|
1459
|
+
# "104353.57" # quote volume
|
1460
|
+
# ]
|
1452
1461
|
#
|
1453
1462
|
# swap
|
1454
|
-
#
|
1455
|
-
#
|
1456
|
-
#
|
1457
|
-
#
|
1458
|
-
#
|
1459
|
-
#
|
1460
|
-
#
|
1461
|
-
#
|
1462
|
-
# }
|
1463
|
+
# {
|
1464
|
+
# "low_price": "20090.3",
|
1465
|
+
# "high_price": "20095.5",
|
1466
|
+
# "open_price": "20092.6",
|
1467
|
+
# "close_price": "20091.4",
|
1468
|
+
# "volume": "8748",
|
1469
|
+
# "timestamp": 1665002281
|
1470
|
+
# }
|
1463
1471
|
#
|
1464
1472
|
# ws
|
1465
|
-
#
|
1466
|
-
#
|
1467
|
-
#
|
1468
|
-
#
|
1469
|
-
#
|
1470
|
-
#
|
1471
|
-
#
|
1472
|
-
#
|
1473
|
-
#
|
1473
|
+
# [
|
1474
|
+
# 1631056350, # timestamp
|
1475
|
+
# "46532.83", # open
|
1476
|
+
# "46555.71", # high
|
1477
|
+
# "46511.41", # low
|
1478
|
+
# "46555.71", # close
|
1479
|
+
# "0.25", # volume
|
1480
|
+
# ]
|
1481
|
+
#
|
1482
|
+
# ws swap
|
1483
|
+
# {
|
1484
|
+
# "symbol":"BTCUSDT",
|
1485
|
+
# "o":"146.24",
|
1486
|
+
# "h":"146.24",
|
1487
|
+
# "l":"146.24",
|
1488
|
+
# "c":"146.24",
|
1489
|
+
# "v":"146"
|
1490
|
+
# }
|
1474
1491
|
#
|
1475
1492
|
if isinstance(ohlcv, list):
|
1476
1493
|
return [
|
@@ -1483,12 +1500,12 @@ class bitmart(Exchange, ImplicitAPI):
|
|
1483
1500
|
]
|
1484
1501
|
else:
|
1485
1502
|
return [
|
1486
|
-
self.
|
1487
|
-
self.
|
1488
|
-
self.
|
1489
|
-
self.
|
1490
|
-
self.
|
1491
|
-
self.
|
1503
|
+
self.safe_timestamp_2(ohlcv, 'timestamp', 'ts'),
|
1504
|
+
self.safe_number_2(ohlcv, 'open_price', 'o'),
|
1505
|
+
self.safe_number_2(ohlcv, 'high_price', 'h'),
|
1506
|
+
self.safe_number_2(ohlcv, 'low_price', 'l'),
|
1507
|
+
self.safe_number_2(ohlcv, 'close_price', 'c'),
|
1508
|
+
self.safe_number_2(ohlcv, 'volume', 'v'),
|
1492
1509
|
]
|
1493
1510
|
|
1494
1511
|
async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
@@ -1191,11 +1191,11 @@ class bitopro(Exchange, ImplicitAPI):
|
|
1191
1191
|
#
|
1192
1192
|
return self.parse_orders(orders, market, since, limit)
|
1193
1193
|
|
1194
|
-
def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
1194
|
+
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
1195
1195
|
request = {
|
1196
1196
|
'statusKind': 'OPEN',
|
1197
1197
|
}
|
1198
|
-
return self.fetch_orders(symbol, since, limit, self.extend(request, params))
|
1198
|
+
return await self.fetch_orders(symbol, since, limit, self.extend(request, params))
|
1199
1199
|
|
1200
1200
|
async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
1201
1201
|
"""
|
@@ -5367,8 +5367,10 @@ class bybit(Exchange, ImplicitAPI):
|
|
5367
5367
|
raise ArgumentsRequired(self.id + ' fetchPositions() does not accept an array with more than one symbol')
|
5368
5368
|
elif symbolsLength == 1:
|
5369
5369
|
symbol = symbols[0]
|
5370
|
+
symbols = self.market_symbols(symbols)
|
5370
5371
|
elif symbols is not None:
|
5371
5372
|
symbol = symbols
|
5373
|
+
symbols = [self.symbol(symbol)]
|
5372
5374
|
await self.load_markets()
|
5373
5375
|
enableUnifiedMargin, enableUnifiedAccount = await self.is_unified_enabled()
|
5374
5376
|
isUnifiedAccount = (enableUnifiedMargin or enableUnifiedAccount)
|
@@ -5377,12 +5379,11 @@ class bybit(Exchange, ImplicitAPI):
|
|
5377
5379
|
isUsdcSettled = False
|
5378
5380
|
if symbol is not None:
|
5379
5381
|
market = self.market(symbol)
|
5382
|
+
symbol = market['symbol']
|
5380
5383
|
request['symbol'] = market['id']
|
5381
5384
|
isUsdcSettled = market['settle'] == 'USDC'
|
5382
5385
|
type = None
|
5383
5386
|
type, params = self.get_bybit_type('fetchPositions', market, params)
|
5384
|
-
if type == 'spot':
|
5385
|
-
raise NotSupported(self.id + ' fetchPositions() not support spot market')
|
5386
5387
|
if type == 'linear' or type == 'inverse':
|
5387
5388
|
baseCoin = self.safe_string(params, 'baseCoin')
|
5388
5389
|
if type == 'linear':
|
@@ -54,6 +54,9 @@ class coinsph(Exchange, ImplicitAPI):
|
|
54
54
|
'closeAllPositions': False,
|
55
55
|
'closePosition': False,
|
56
56
|
'createDepositAddress': False,
|
57
|
+
'createMarketBuyOrderWithCost': True,
|
58
|
+
'createMarketOrderWithCost': False,
|
59
|
+
'createMarketSellOrderWithCost': False,
|
57
60
|
'createOrder': True,
|
58
61
|
'createPostOnlyOrder': False,
|
59
62
|
'createReduceOnlyOrder': False,
|
@@ -1028,12 +1031,14 @@ class coinsph(Exchange, ImplicitAPI):
|
|
1028
1031
|
async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount, price=None, params={}):
|
1029
1032
|
"""
|
1030
1033
|
create a trade order
|
1034
|
+
:see: https://coins-docs.github.io/rest-api/#new-order--trade
|
1031
1035
|
:param str symbol: unified symbol of the market to create an order in
|
1032
1036
|
:param str type: 'market', 'limit', 'stop_loss', 'take_profit', 'stop_loss_limit', 'take_profit_limit' or 'limit_maker'
|
1033
1037
|
:param str side: 'buy' or 'sell'
|
1034
1038
|
:param float amount: how much of currency you want to trade in units of base currency
|
1035
1039
|
:param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
|
1036
1040
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1041
|
+
:param float [params.cost]: the quote quantity that can be used alternative for the amount for market buy orders
|
1037
1042
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
1038
1043
|
"""
|
1039
1044
|
# todo: add test order low priority
|
@@ -1065,20 +1070,24 @@ class coinsph(Exchange, ImplicitAPI):
|
|
1065
1070
|
if orderSide == 'SELL':
|
1066
1071
|
request['quantity'] = self.amount_to_precision(symbol, amount)
|
1067
1072
|
elif orderSide == 'BUY':
|
1068
|
-
|
1069
|
-
createMarketBuyOrderRequiresPrice =
|
1070
|
-
|
1071
|
-
|
1073
|
+
quoteAmount = None
|
1074
|
+
createMarketBuyOrderRequiresPrice = True
|
1075
|
+
createMarketBuyOrderRequiresPrice, params = self.handle_option_and_params(params, 'createOrder', 'createMarketBuyOrderRequiresPrice', True)
|
1076
|
+
cost = self.safe_number_2(params, 'cost', 'quoteOrderQty')
|
1077
|
+
params = self.omit(params, 'cost')
|
1078
|
+
if cost is not None:
|
1079
|
+
quoteAmount = self.cost_to_precision(symbol, cost)
|
1072
1080
|
elif createMarketBuyOrderRequiresPrice:
|
1073
1081
|
if price is None:
|
1074
|
-
raise InvalidOrder(self.id +
|
1082
|
+
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')
|
1075
1083
|
else:
|
1076
1084
|
amountString = self.number_to_string(amount)
|
1077
1085
|
priceString = self.number_to_string(price)
|
1078
|
-
|
1079
|
-
|
1080
|
-
|
1081
|
-
|
1086
|
+
costRequest = Precise.string_mul(amountString, priceString)
|
1087
|
+
quoteAmount = self.cost_to_precision(symbol, costRequest)
|
1088
|
+
else:
|
1089
|
+
quoteAmount = self.cost_to_precision(symbol, amount)
|
1090
|
+
request['quoteOrderQty'] = quoteAmount
|
1082
1091
|
if orderType == 'STOP_LOSS' or orderType == 'STOP_LOSS_LIMIT' or orderType == 'TAKE_PROFIT' or orderType == 'TAKE_PROFIT_LIMIT':
|
1083
1092
|
stopPrice = self.safe_string_2(params, 'triggerPrice', 'stopPrice')
|
1084
1093
|
if stopPrice is None:
|
@@ -57,6 +57,9 @@ class htx(Exchange, ImplicitAPI):
|
|
57
57
|
'cancelOrder': True,
|
58
58
|
'cancelOrders': True,
|
59
59
|
'createDepositAddress': None,
|
60
|
+
'createMarketBuyOrderWithCost': True,
|
61
|
+
'createMarketOrderWithCost': False,
|
62
|
+
'createMarketSellOrderWithCost': False,
|
60
63
|
'createOrder': True,
|
61
64
|
'createOrders': True,
|
62
65
|
'createReduceOnlyOrder': False,
|
@@ -4536,6 +4539,22 @@ class htx(Exchange, ImplicitAPI):
|
|
4536
4539
|
'trades': trades,
|
4537
4540
|
}, market)
|
4538
4541
|
|
4542
|
+
async def create_market_buy_order_with_cost(self, symbol: str, cost, params={}):
|
4543
|
+
"""
|
4544
|
+
create a market buy order by providing the symbol and cost
|
4545
|
+
:see: https://www.htx.com/en-us/opend/newApiPages/?id=7ec4ee16-7773-11ed-9966-0242ac110003
|
4546
|
+
:param str symbol: unified symbol of the market to create an order in
|
4547
|
+
:param float cost: how much you want to trade in units of the quote currency
|
4548
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
4549
|
+
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
4550
|
+
"""
|
4551
|
+
await self.load_markets()
|
4552
|
+
market = self.market(symbol)
|
4553
|
+
if not market['spot']:
|
4554
|
+
raise NotSupported(self.id + ' createMarketBuyOrderWithCost() supports spot orders only')
|
4555
|
+
params['createMarketBuyOrderRequiresPrice'] = False
|
4556
|
+
return await self.create_order(symbol, 'market', 'buy', cost, None, params)
|
4557
|
+
|
4539
4558
|
async def create_spot_order_request(self, symbol: str, type: OrderType, side: OrderSide, amount, price=None, params={}):
|
4540
4559
|
"""
|
4541
4560
|
* @ignore
|
@@ -4547,6 +4566,7 @@ class htx(Exchange, ImplicitAPI):
|
|
4547
4566
|
:param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
|
4548
4567
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
4549
4568
|
:param str [params.timeInForce]: supports 'IOC' and 'FOK'
|
4569
|
+
:param float [params.cost]: the quote quantity that can be used alternative for the amount for market buy orders
|
4550
4570
|
:returns dict: request to be sent to the exchange
|
4551
4571
|
"""
|
4552
4572
|
await self.load_markets()
|
@@ -4608,9 +4628,16 @@ class htx(Exchange, ImplicitAPI):
|
|
4608
4628
|
elif marginMode == 'c2c':
|
4609
4629
|
request['source'] = 'c2c-margin-api'
|
4610
4630
|
if (orderType == 'market') and (side == 'buy'):
|
4611
|
-
|
4631
|
+
quoteAmount = None
|
4632
|
+
createMarketBuyOrderRequiresPrice = True
|
4633
|
+
createMarketBuyOrderRequiresPrice, params = self.handle_option_and_params(params, 'createOrder', 'createMarketBuyOrderRequiresPrice', True)
|
4634
|
+
cost = self.safe_number(params, 'cost')
|
4635
|
+
params = self.omit(params, 'cost')
|
4636
|
+
if cost is not None:
|
4637
|
+
quoteAmount = self.amount_to_precision(symbol, cost)
|
4638
|
+
elif createMarketBuyOrderRequiresPrice:
|
4612
4639
|
if price is None:
|
4613
|
-
raise InvalidOrder(self.id +
|
4640
|
+
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')
|
4614
4641
|
else:
|
4615
4642
|
# despite that cost = amount * price is in quote currency and should have quote precision
|
4616
4643
|
# the exchange API requires the cost supplied in 'amount' to be of base precision
|
@@ -4620,9 +4647,10 @@ class htx(Exchange, ImplicitAPI):
|
|
4620
4647
|
# we use amountToPrecision here because the exchange requires cost in base precision
|
4621
4648
|
amountString = self.number_to_string(amount)
|
4622
4649
|
priceString = self.number_to_string(price)
|
4623
|
-
|
4650
|
+
quoteAmount = self.amount_to_precision(symbol, Precise.string_mul(amountString, priceString))
|
4624
4651
|
else:
|
4625
|
-
|
4652
|
+
quoteAmount = self.amount_to_precision(symbol, amount)
|
4653
|
+
request['amount'] = quoteAmount
|
4626
4654
|
else:
|
4627
4655
|
request['amount'] = self.amount_to_precision(symbol, amount)
|
4628
4656
|
limitOrderTypes = self.safe_value(options, 'limitOrderTypes', {})
|
@@ -4732,6 +4760,7 @@ class htx(Exchange, ImplicitAPI):
|
|
4732
4760
|
:param bool [params.postOnly]: *contract only* True or False
|
4733
4761
|
:param int [params.leverRate]: *contract only* required for all contract orders except tpsl, leverage greater than 20x requires prior approval of high-leverage agreement
|
4734
4762
|
:param str [params.timeInForce]: supports 'IOC' and 'FOK'
|
4763
|
+
:param float [params.cost]: *spot market buy only* the quote quantity that can be used alternative for the amount
|
4735
4764
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
4736
4765
|
"""
|
4737
4766
|
await self.load_markets()
|