ccxt 4.2.73__tar.gz → 4.2.75__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ccxt-4.2.73/ccxt.egg-info → ccxt-4.2.75}/PKG-INFO +11 -10
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/__init__.py +3 -1
- ccxt-4.2.75/ccxt/abstract/tradeogre.py +16 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/ascendex.py +5 -4
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/__init__.py +3 -1
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/ascendex.py +5 -4
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/base/exchange.py +1 -1
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitget.py +53 -43
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitmart.py +2 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bybit.py +84 -29
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/coinbase.py +4 -4
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/coinbaseinternational.py +1 -1
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/coinbasepro.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/coinex.py +4 -3
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/coinlist.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/cryptocom.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/currencycom.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/deribit.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/gate.py +1 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/htx.py +16 -9
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/huobijp.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/hyperliquid.py +2 -1
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/kraken.py +3 -3
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/kucoin.py +3 -3
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/luno.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/mexc.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/ndax.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/novadax.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/okx.py +2 -2
- ccxt-4.2.75/ccxt/async_support/tradeogre.py +598 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/woo.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/base/exchange.py +3 -3
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/base/types.py +8 -1
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitget.py +53 -43
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitmart.py +2 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bybit.py +84 -29
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/coinbase.py +4 -4
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/coinbaseinternational.py +1 -1
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/coinbasepro.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/coinex.py +4 -3
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/coinlist.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/cryptocom.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/currencycom.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/deribit.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/gate.py +1 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/htx.py +16 -9
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/huobijp.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/hyperliquid.py +2 -1
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/kraken.py +3 -3
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/kucoin.py +3 -3
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/luno.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/mexc.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/ndax.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/novadax.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/okx.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/krakenfutures.py +8 -7
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_market.py +1 -1
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/test_async.py +16 -12
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/test_sync.py +16 -12
- ccxt-4.2.75/ccxt/tradeogre.py +598 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/woo.py +2 -2
- {ccxt-4.2.73 → ccxt-4.2.75/ccxt.egg-info}/PKG-INFO +11 -10
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt.egg-info/SOURCES.txt +3 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/package.json +4 -1
- {ccxt-4.2.73 → ccxt-4.2.75}/LICENSE.txt +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/MANIFEST.in +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/README.rst +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/coinbasepro.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/ace.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/alpaca.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/binance.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bingx.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/flowbtc.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/base/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/base/errors.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/base/precise.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bequant.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bigone.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/binance.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/binanceus.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bingx.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bit2c.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitbank.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitbay.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitbns.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitfinex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitflyer.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bithumb.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitmex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitopro.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitpanda.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitrue.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitso.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitstamp.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitteam.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bitvavo.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/bl3p.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/blofin.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/btcalpha.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/btcbox.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/btcturk.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/cex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/coincheck.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/coinmate.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/coinmetro.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/coinone.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/coinsph.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/coinspot.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/delta.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/digifinex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/exmo.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/flowbtc.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/fmfwio.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/gateio.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/gemini.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/hitbtc.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/hollaex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/huobi.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/idex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/independentreserve.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/indodax.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/kuna.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/latoken.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/lbank.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/lykke.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/mercado.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/oceanex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/okcoin.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/onetrading.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/p2b.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/paymium.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/phemex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/poloniex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/binance.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/bitfinex2.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/cex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/coinbasepro.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/gate.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/htx.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/idex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/luno.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/okx.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/probit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/pro/woo.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/probit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/__init__.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_account.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_balance.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_borrow_interest.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_borrow_rate.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_calculate_fee.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_crypto.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_currency.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_datetime.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_decimal_to_precision.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_deep_extend.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_funding_rate_history.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_last_price.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_ledger_entry.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_ledger_item.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_leverage_tier.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_margin_mode.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_margin_modification.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_number.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_ohlcv.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_open_interest.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_order.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_order_book.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_position.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_shared_methods.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_status.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_throttle.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_ticker.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_trade.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_trading_fee.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/test/base/test_transaction.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/timex.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/upbit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/wazirx.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/whitebit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/yobit.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/zaif.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt/zonda.py +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/setup.cfg +0 -0
- {ccxt-4.2.73 → ccxt-4.2.75}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.2.
|
3
|
+
Version: 4.2.75
|
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
|
@@ -13,7 +13,7 @@ Project-URL: Twitter, https://twitter.com/ccxt_official
|
|
13
13
|
Project-URL: Funding, https://opencollective.com/ccxt
|
14
14
|
Description: # CCXT – CryptoCurrency eXchange Trading Library
|
15
15
|
|
16
|
-
[](https://travis-ci.com/ccxt/ccxt) [](https://npmjs.com/package/ccxt) [](https://pypi.python.org/pypi/ccxt) [](https://www.npmjs.com/package/ccxt) [](https://discord.gg/ccxt) [](https://travis-ci.com/ccxt/ccxt) [](https://npmjs.com/package/ccxt) [](https://pypi.python.org/pypi/ccxt) [](https://www.npmjs.com/package/ccxt) [](https://discord.gg/ccxt) [](https://github.com/ccxt/ccxt/wiki/Exchange-Markets) [](https://twitter.com/ccxt_official)
|
17
17
|
|
18
18
|
A JavaScript / Python / PHP / C# library for cryptocurrency trading and e-commerce with support for many bitcoin/ether/altcoin exchange markets and merchant APIs.
|
19
19
|
|
@@ -55,8 +55,8 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
55
55
|
| [](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) |
|
56
56
|
| [](https://www.bitmex.com/app/register/NZTR1q) | bitmex | [BitMEX](https://www.bitmex.com/app/register/NZTR1q) | [](https://www.bitmex.com/app/apiOverview) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://www.bitmex.com/app/register/NZTR1q) |
|
57
57
|
| [](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) | |
|
58
|
-
| [](https://
|
59
|
-
| [](https://www.coinex.com/register?refer_code=yw5fz) | coinex | [CoinEx](https://www.coinex.com/register?refer_code=yw5fz) | [](https://github.
|
58
|
+
| [](https://international.coinbase.com) | coinbaseinternational | [coinbase International](https://international.coinbase.com) | [](https://docs.cloud.coinbaseinternational.com/intx/docs) | [](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://viabtc.github.io/coinex_api_en_doc) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
60
60
|
| [](https://crypto.com/exch/kdacthrnxt) | cryptocom | [Crypto.com](https://crypto.com/exch/kdacthrnxt) | [](https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://crypto.com/exch/kdacthrnxt) |
|
61
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) |
|
62
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) |
|
@@ -68,7 +68,7 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
68
68
|
|
69
69
|
## Supported Cryptocurrency Exchange Markets
|
70
70
|
|
71
|
-
The CCXT library currently supports the following
|
71
|
+
The CCXT library currently supports the following 97 cryptocurrency exchange markets and trading APIs:
|
72
72
|
|
73
73
|
| logo | id | name | ver | certified | pro |
|
74
74
|
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------|-------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------:|-----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------|
|
@@ -108,10 +108,10 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
108
108
|
| [](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) |
|
109
109
|
| [](https://cex.io/r/0/up105393824/0/) | cex | [CEX.IO](https://cex.io/r/0/up105393824/0/) | [](https://cex.io/cex-api) | | [](https://ccxt.pro) |
|
110
110
|
| [](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | coinbase | [Coinbase](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | [](https://developers.coinbase.com/api/v2) | | [](https://ccxt.pro) |
|
111
|
-
| [](https://
|
111
|
+
| [](https://international.coinbase.com) | coinbaseinternational | [coinbase International](https://international.coinbase.com) | [](https://docs.cloud.coinbaseinternational.com/intx/docs) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) |
|
112
112
|
| [](https://pro.coinbase.com/) | coinbasepro | [Coinbase Pro](https://pro.coinbase.com/) | [](https://docs.pro.coinbase.com) | | [](https://ccxt.pro) |
|
113
113
|
| [](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.
|
114
|
+
| [](https://www.coinex.com/register?refer_code=yw5fz) | coinex | [CoinEx](https://www.coinex.com/register?refer_code=yw5fz) | [](https://viabtc.github.io/coinex_api_en_doc) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) |
|
115
115
|
| [](https://coinlist.co) | coinlist | [Coinlist](https://coinlist.co) | [](https://trade-docs.coinlist.co) | | |
|
116
116
|
| [](https://coinmate.io?referral=YTFkM1RsOWFObVpmY1ZjMGREQmpTRnBsWjJJNVp3PT0) | coinmate | [CoinMate](https://coinmate.io?referral=YTFkM1RsOWFObVpmY1ZjMGREQmpTRnBsWjJJNVp3PT0) | [](https://coinmate.docs.apiary.io) | | |
|
117
117
|
| [](https://go.coinmetro.com/?ref=crypto24) | coinmetro | [Coinmetro](https://go.coinmetro.com/?ref=crypto24) | [](https://documenter.getpostman.com/view/3653795/SVfWN6KS) | | |
|
@@ -160,6 +160,7 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
160
160
|
| [](https://www.probit.com/r/34608773) | probit | [ProBit](https://www.probit.com/r/34608773) | [](https://docs-en.probit.com) | | [](https://ccxt.pro) |
|
161
161
|
| [](https://timex.io/?refcode=1x27vNkTbP1uwkCck) | timex | [TimeX](https://timex.io/?refcode=1x27vNkTbP1uwkCck) | [](https://plasma-relay-backend.timex.io/swagger-ui/index.html) | | |
|
162
162
|
| [](https://tokocrypto.com) | tokocrypto | [Tokocrypto](https://tokocrypto.com) | [](https://www.tokocrypto.com/apidocs/) | | |
|
163
|
+
| [](https://tradeogre.com) | tradeogre | [tradeogre](https://tradeogre.com) | [](https://tradeogre.com/help/api) | | |
|
163
164
|
| [](https://upbit.com) | upbit | [Upbit](https://upbit.com) | [](https://docs.upbit.com/docs/%EC%9A%94%EC%B2%AD-%EC%88%98-%EC%A0%9C%ED%95%9C) | | [](https://ccxt.pro) |
|
164
165
|
| [](https://wx.network) | wavesexchange | [Waves.Exchange](https://wx.network) | [](https://docs.wx.network) | | |
|
165
166
|
| [](https://wazirx.com/invite/k7rrnks5) | wazirx | [WazirX](https://wazirx.com/invite/k7rrnks5) | [](https://docs.wazirx.com/#public-rest-api-for-wazirx) | | [](https://ccxt.pro) |
|
@@ -225,13 +226,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
225
226
|
|
226
227
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
227
228
|
|
228
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.
|
229
|
-
* unpkg: https://unpkg.com/ccxt@4.2.
|
229
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.75/dist/ccxt.browser.js
|
230
|
+
* unpkg: https://unpkg.com/ccxt@4.2.75/dist/ccxt.browser.js
|
230
231
|
|
231
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.
|
232
233
|
|
233
234
|
```HTML
|
234
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.
|
235
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.75/dist/ccxt.browser.js"></script>
|
235
236
|
```
|
236
237
|
|
237
238
|
Creates a global `ccxt` object:
|
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
# ----------------------------------------------------------------------------
|
24
24
|
|
25
|
-
__version__ = '4.2.
|
25
|
+
__version__ = '4.2.75'
|
26
26
|
|
27
27
|
# ----------------------------------------------------------------------------
|
28
28
|
|
@@ -173,6 +173,7 @@ from ccxt.poloniexfutures import poloniexfutures # noqa: F4
|
|
173
173
|
from ccxt.probit import probit # noqa: F401
|
174
174
|
from ccxt.timex import timex # noqa: F401
|
175
175
|
from ccxt.tokocrypto import tokocrypto # noqa: F401
|
176
|
+
from ccxt.tradeogre import tradeogre # noqa: F401
|
176
177
|
from ccxt.upbit import upbit # noqa: F401
|
177
178
|
from ccxt.wavesexchange import wavesexchange # noqa: F401
|
178
179
|
from ccxt.wazirx import wazirx # noqa: F401
|
@@ -277,6 +278,7 @@ exchanges = [
|
|
277
278
|
'probit',
|
278
279
|
'timex',
|
279
280
|
'tokocrypto',
|
281
|
+
'tradeogre',
|
280
282
|
'upbit',
|
281
283
|
'wavesexchange',
|
282
284
|
'wazirx',
|
@@ -0,0 +1,16 @@
|
|
1
|
+
from ccxt.base.types import Entry
|
2
|
+
|
3
|
+
|
4
|
+
class ImplicitAPI:
|
5
|
+
public_get_markets = publicGetMarkets = Entry('markets', 'public', 'GET', {'cost': 1})
|
6
|
+
public_get_orders_market = publicGetOrdersMarket = Entry('orders/{market}', 'public', 'GET', {'cost': 1})
|
7
|
+
public_get_ticker_market = publicGetTickerMarket = Entry('ticker/{market}', 'public', 'GET', {'cost': 1})
|
8
|
+
public_get_history_market = publicGetHistoryMarket = Entry('history/{market}', 'public', 'GET', {'cost': 1})
|
9
|
+
private_get_account_balance = privateGetAccountBalance = Entry('account/balance', 'private', 'GET', {'cost': 1})
|
10
|
+
private_get_account_balances = privateGetAccountBalances = Entry('account/balances', 'private', 'GET', {'cost': 1})
|
11
|
+
private_get_account_order_uuid = privateGetAccountOrderUuid = Entry('account/order/{uuid}', 'private', 'GET', {'cost': 1})
|
12
|
+
private_post_order_buy = privatePostOrderBuy = Entry('order/buy', 'private', 'POST', {'cost': 1})
|
13
|
+
private_post_order_sell = privatePostOrderSell = Entry('order/sell', 'private', 'POST', {'cost': 1})
|
14
|
+
private_post_order_cancel = privatePostOrderCancel = Entry('order/cancel', 'private', 'POST', {'cost': 1})
|
15
|
+
private_post_orders = privatePostOrders = Entry('orders', 'private', 'POST', {'cost': 1})
|
16
|
+
private_post_account_orders = privatePostAccountOrders = Entry('account/orders', 'private', 'POST', {'cost': 1})
|
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.ascendex import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
9
|
+
from ccxt.base.types import Account, Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import PermissionDenied
|
@@ -714,7 +714,7 @@ class ascendex(Exchange, ImplicitAPI):
|
|
714
714
|
data = self.safe_value(response, 'data')
|
715
715
|
return self.safe_integer(data, 'requestReceiveAt')
|
716
716
|
|
717
|
-
def fetch_accounts(self, params={}):
|
717
|
+
def fetch_accounts(self, params={}) -> List[Account]:
|
718
718
|
"""
|
719
719
|
fetch all the accounts associated with a profile
|
720
720
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -747,7 +747,7 @@ class ascendex(Exchange, ImplicitAPI):
|
|
747
747
|
{
|
748
748
|
'id': accountGroup,
|
749
749
|
'type': None,
|
750
|
-
'
|
750
|
+
'code': None,
|
751
751
|
'info': response,
|
752
752
|
},
|
753
753
|
]
|
@@ -2590,7 +2590,8 @@ class ascendex(Exchange, ImplicitAPI):
|
|
2590
2590
|
notional = self.safe_string(position, 'buyOpenOrderNotional')
|
2591
2591
|
if Precise.string_eq(notional, '0'):
|
2592
2592
|
notional = self.safe_string(position, 'sellOpenOrderNotional')
|
2593
|
-
|
2593
|
+
marginType = self.safe_string(position, 'marginType')
|
2594
|
+
marginMode = 'cross' if (marginType == 'crossed') else 'isolated'
|
2594
2595
|
collateral = None
|
2595
2596
|
if marginMode == 'isolated':
|
2596
2597
|
collateral = self.safe_string(position, 'isolatedMargin')
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.2.
|
7
|
+
__version__ = '4.2.75'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -153,6 +153,7 @@ from ccxt.async_support.poloniexfutures import poloniexfutures
|
|
153
153
|
from ccxt.async_support.probit import probit # noqa: F401
|
154
154
|
from ccxt.async_support.timex import timex # noqa: F401
|
155
155
|
from ccxt.async_support.tokocrypto import tokocrypto # noqa: F401
|
156
|
+
from ccxt.async_support.tradeogre import tradeogre # noqa: F401
|
156
157
|
from ccxt.async_support.upbit import upbit # noqa: F401
|
157
158
|
from ccxt.async_support.wavesexchange import wavesexchange # noqa: F401
|
158
159
|
from ccxt.async_support.wazirx import wazirx # noqa: F401
|
@@ -257,6 +258,7 @@ exchanges = [
|
|
257
258
|
'probit',
|
258
259
|
'timex',
|
259
260
|
'tokocrypto',
|
261
|
+
'tradeogre',
|
260
262
|
'upbit',
|
261
263
|
'wavesexchange',
|
262
264
|
'wazirx',
|
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.ascendex import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
9
|
+
from ccxt.base.types import Account, Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import PermissionDenied
|
@@ -714,7 +714,7 @@ class ascendex(Exchange, ImplicitAPI):
|
|
714
714
|
data = self.safe_value(response, 'data')
|
715
715
|
return self.safe_integer(data, 'requestReceiveAt')
|
716
716
|
|
717
|
-
async def fetch_accounts(self, params={}):
|
717
|
+
async def fetch_accounts(self, params={}) -> List[Account]:
|
718
718
|
"""
|
719
719
|
fetch all the accounts associated with a profile
|
720
720
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -747,7 +747,7 @@ class ascendex(Exchange, ImplicitAPI):
|
|
747
747
|
{
|
748
748
|
'id': accountGroup,
|
749
749
|
'type': None,
|
750
|
-
'
|
750
|
+
'code': None,
|
751
751
|
'info': response,
|
752
752
|
},
|
753
753
|
]
|
@@ -2590,7 +2590,8 @@ class ascendex(Exchange, ImplicitAPI):
|
|
2590
2590
|
notional = self.safe_string(position, 'buyOpenOrderNotional')
|
2591
2591
|
if Precise.string_eq(notional, '0'):
|
2592
2592
|
notional = self.safe_string(position, 'sellOpenOrderNotional')
|
2593
|
-
|
2593
|
+
marginType = self.safe_string(position, 'marginType')
|
2594
|
+
marginMode = 'cross' if (marginType == 'crossed') else 'isolated'
|
2594
2595
|
collateral = None
|
2595
2596
|
if marginMode == 'isolated':
|
2596
2597
|
collateral = self.safe_string(position, 'isolatedMargin')
|
@@ -1362,10 +1362,10 @@ class bitget(Exchange, ImplicitAPI):
|
|
1362
1362
|
},
|
1363
1363
|
'fetchOHLCV': {
|
1364
1364
|
'spot': {
|
1365
|
-
'method': 'publicSpotGetV2SpotMarketCandles', # or publicSpotGetV2SpotMarketHistoryCandles
|
1365
|
+
'method': 'publicSpotGetV2SpotMarketCandles', # publicSpotGetV2SpotMarketCandles or publicSpotGetV2SpotMarketHistoryCandles
|
1366
1366
|
},
|
1367
1367
|
'swap': {
|
1368
|
-
'method': 'publicMixGetV2MixMarketCandles', # or publicMixGetV2MixMarketHistoryCandles or publicMixGetV2MixMarketHistoryIndexCandles or publicMixGetV2MixMarketHistoryMarkCandles
|
1368
|
+
'method': 'publicMixGetV2MixMarketCandles', # publicMixGetV2MixMarketCandles or publicMixGetV2MixMarketHistoryCandles or publicMixGetV2MixMarketHistoryIndexCandles or publicMixGetV2MixMarketHistoryMarkCandles
|
1369
1369
|
},
|
1370
1370
|
'maxDaysPerTimeframe': {
|
1371
1371
|
'1m': 30,
|
@@ -3197,11 +3197,13 @@ class bitget(Exchange, ImplicitAPI):
|
|
3197
3197
|
:returns int[][]: A list of candles ordered, open, high, low, close, volume
|
3198
3198
|
"""
|
3199
3199
|
await self.load_markets()
|
3200
|
-
|
3200
|
+
defaultLimit = 100 # default 100, max 1000
|
3201
|
+
maxLimitForRecentEndpoint = 1000
|
3202
|
+
maxLimitForHistoryEndpoint = 200 # note, max 1000 bars are supported for "recent-candles" endpoint, but "historical-candles" support only max 200
|
3201
3203
|
paginate = False
|
3202
3204
|
paginate, params = self.handle_option_and_params(params, 'fetchOHLCV', 'paginate')
|
3203
3205
|
if paginate:
|
3204
|
-
return await self.fetch_paginated_call_deterministic('fetchOHLCV', symbol, since, limit, timeframe, params,
|
3206
|
+
return await self.fetch_paginated_call_deterministic('fetchOHLCV', symbol, since, limit, timeframe, params, maxLimitForHistoryEndpoint)
|
3205
3207
|
sandboxMode = self.safe_bool(self.options, 'sandboxMode', False)
|
3206
3208
|
market = None
|
3207
3209
|
if sandboxMode:
|
@@ -3211,28 +3213,17 @@ class bitget(Exchange, ImplicitAPI):
|
|
3211
3213
|
market = self.market(symbol)
|
3212
3214
|
marketType = 'spot' if market['spot'] else 'swap'
|
3213
3215
|
timeframes = self.options['timeframes'][marketType]
|
3214
|
-
|
3216
|
+
msInDay = 86400000
|
3215
3217
|
duration = self.parse_timeframe(timeframe) * 1000
|
3216
3218
|
request = {
|
3217
3219
|
'symbol': market['id'],
|
3218
|
-
'granularity':
|
3220
|
+
'granularity': self.safe_string(timeframes, timeframe, timeframe),
|
3219
3221
|
}
|
3220
|
-
defaultLimit = 100 # by default, exchange returns 100 items
|
3221
|
-
msInDay = 1000 * 60 * 60 * 24
|
3222
|
-
if limit is not None:
|
3223
|
-
limit = min(limit, maxLimit)
|
3224
|
-
request['limit'] = limit
|
3225
3222
|
until = self.safe_integer_2(params, 'until', 'till')
|
3223
|
+
limitDefined = limit is not None
|
3224
|
+
sinceDefined = since is not None
|
3225
|
+
untilDefined = until is not None
|
3226
3226
|
params = self.omit(params, ['until', 'till'])
|
3227
|
-
if until is not None:
|
3228
|
-
request['endTime'] = until
|
3229
|
-
if since is not None:
|
3230
|
-
request['startTime'] = since
|
3231
|
-
if market['spot'] and (until is None):
|
3232
|
-
# for spot we need to send "entTime" too
|
3233
|
-
limitForEnd = limit if (limit is not None) else defaultLimit
|
3234
|
-
calculatedEnd = self.sum(since, duration * limitForEnd)
|
3235
|
-
request['endTime'] = calculatedEnd
|
3236
3227
|
response = None
|
3237
3228
|
now = self.milliseconds()
|
3238
3229
|
# retrievable periods listed here:
|
@@ -3240,33 +3231,52 @@ class bitget(Exchange, ImplicitAPI):
|
|
3240
3231
|
# - https://www.bitget.com/api-doc/contract/market/Get-Candle-Data#description
|
3241
3232
|
ohlcOptions = self.safe_dict(self.options, 'fetchOHLCV', {})
|
3242
3233
|
retrievableDaysMap = self.safe_dict(ohlcOptions, 'maxDaysPerTimeframe', {})
|
3243
|
-
|
3244
|
-
endpointTsBoundary = now -
|
3245
|
-
|
3246
|
-
|
3247
|
-
|
3248
|
-
|
3249
|
-
|
3250
|
-
|
3251
|
-
|
3252
|
-
|
3253
|
-
|
3234
|
+
maxRetrievableDaysForRecent = self.safe_integer(retrievableDaysMap, timeframe, 30) # default to safe minimum
|
3235
|
+
endpointTsBoundary = now - maxRetrievableDaysForRecent * msInDay
|
3236
|
+
if limitDefined:
|
3237
|
+
limit = min(limit, maxLimitForRecentEndpoint)
|
3238
|
+
request['limit'] = limit
|
3239
|
+
else:
|
3240
|
+
limit = defaultLimit
|
3241
|
+
limitMultipliedDuration = limit * duration
|
3242
|
+
# exchange aligns from endTime, so it's important, not startTime
|
3243
|
+
# startTime is supported only on "recent" endpoint, not on "historical" endpoint
|
3244
|
+
calculatedStartTime = None
|
3245
|
+
calculatedEndTime = None
|
3246
|
+
if sinceDefined:
|
3247
|
+
calculatedStartTime = since
|
3248
|
+
request['startTime'] = since
|
3249
|
+
if not untilDefined:
|
3250
|
+
calculatedEndTime = self.sum(calculatedStartTime, limitMultipliedDuration)
|
3251
|
+
request['endTime'] = calculatedEndTime
|
3252
|
+
if untilDefined:
|
3253
|
+
calculatedEndTime = until
|
3254
|
+
request['endTime'] = calculatedEndTime
|
3255
|
+
if not sinceDefined:
|
3256
|
+
calculatedStartTime = calculatedEndTime - limitMultipliedDuration
|
3257
|
+
# we do not need to set "startTime" here
|
3258
|
+
historicalEndpointNeeded = (calculatedStartTime is not None) and (calculatedStartTime <= endpointTsBoundary)
|
3259
|
+
if historicalEndpointNeeded:
|
3260
|
+
# only for "historical-candles" - ensure we use correct max limit
|
3261
|
+
if limitDefined:
|
3262
|
+
request['limit'] = min(limit, maxLimitForHistoryEndpoint)
|
3263
|
+
# make request
|
3254
3264
|
if market['spot']:
|
3255
|
-
if
|
3265
|
+
# checks if we need history endpoint
|
3266
|
+
if historicalEndpointNeeded:
|
3256
3267
|
response = await self.publicSpotGetV2SpotMarketHistoryCandles(self.extend(request, params))
|
3257
3268
|
else:
|
3258
3269
|
response = await self.publicSpotGetV2SpotMarketCandles(self.extend(request, params))
|
3259
3270
|
else:
|
3260
|
-
maxDistanceDaysForContracts = 90 # maximum 90 days allowed between start-end times
|
3261
|
-
|
3262
|
-
if
|
3263
|
-
|
3264
|
-
|
3265
|
-
|
3266
|
-
|
3267
|
-
|
3268
|
-
priceType = self.
|
3269
|
-
params = self.omit(params, ['price'])
|
3271
|
+
maxDistanceDaysForContracts = 90 # for contract, maximum 90 days allowed between start-end times
|
3272
|
+
# only correct the request to fix 90 days if until was auto-calculated
|
3273
|
+
if sinceDefined:
|
3274
|
+
if not untilDefined:
|
3275
|
+
request['endTime'] = min(calculatedEndTime, self.sum(since, maxDistanceDaysForContracts * msInDay))
|
3276
|
+
elif calculatedEndTime - calculatedStartTime > maxDistanceDaysForContracts * msInDay:
|
3277
|
+
raise BadRequest(self.id + ' fetchOHLCV() between start and end must be less than ' + str(maxDistanceDaysForContracts) + ' days')
|
3278
|
+
priceType = None
|
3279
|
+
priceType, params = self.handle_param_string(params, 'price')
|
3270
3280
|
productType = None
|
3271
3281
|
productType, params = self.handle_product_type_and_params(market, params)
|
3272
3282
|
request['productType'] = productType
|
@@ -3277,7 +3287,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
3277
3287
|
elif priceType == 'index':
|
3278
3288
|
response = await self.publicMixGetV2MixMarketHistoryIndexCandles(extended)
|
3279
3289
|
else:
|
3280
|
-
if
|
3290
|
+
if historicalEndpointNeeded:
|
3281
3291
|
response = await self.publicMixGetV2MixMarketHistoryCandles(extended)
|
3282
3292
|
else:
|
3283
3293
|
response = await self.publicMixGetV2MixMarketCandles(extended)
|
@@ -19,6 +19,7 @@ from ccxt.base.errors import InvalidAddress
|
|
19
19
|
from ccxt.base.errors import InvalidOrder
|
20
20
|
from ccxt.base.errors import OrderNotFound
|
21
21
|
from ccxt.base.errors import NotSupported
|
22
|
+
from ccxt.base.errors import NetworkError
|
22
23
|
from ccxt.base.errors import RateLimitExceeded
|
23
24
|
from ccxt.base.errors import ExchangeNotAvailable
|
24
25
|
from ccxt.base.errors import OnMaintenance
|
@@ -365,6 +366,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
365
366
|
'70000': ExchangeError, # 200, no data
|
366
367
|
'70001': BadRequest, # 200, request param can not be null
|
367
368
|
'70002': BadSymbol, # 200, symbol is invalid
|
369
|
+
'70003': NetworkError, # {"code":70003,"trace":"81a9d57b63be4819b65d3065e6a4682b.105.17105295323593915","message":"net error, please try later","data":null}
|
368
370
|
'71001': BadRequest, # 200, after is invalid
|
369
371
|
'71002': BadRequest, # 200, before is invalid
|
370
372
|
'71003': BadRequest, # 200, request after or before is invalid
|
@@ -94,6 +94,7 @@ class bybit(Exchange, ImplicitAPI):
|
|
94
94
|
'fetchIsolatedBorrowRates': False,
|
95
95
|
'fetchLedger': True,
|
96
96
|
'fetchLeverage': True,
|
97
|
+
'fetchLeverageTiers': True,
|
97
98
|
'fetchMarketLeverageTiers': True,
|
98
99
|
'fetchMarkets': True,
|
99
100
|
'fetchMarkOHLCV': True,
|
@@ -6752,35 +6753,6 @@ class bybit(Exchange, ImplicitAPI):
|
|
6752
6753
|
request['symbol'] = market['id']
|
6753
6754
|
return await self.fetch_derivatives_market_leverage_tiers(symbol, params)
|
6754
6755
|
|
6755
|
-
def parse_market_leverage_tiers(self, info, market: Market = None):
|
6756
|
-
#
|
6757
|
-
# {
|
6758
|
-
# "id": 1,
|
6759
|
-
# "symbol": "BTCUSD",
|
6760
|
-
# "riskLimitValue": "150",
|
6761
|
-
# "maintenanceMargin": "0.5",
|
6762
|
-
# "initialMargin": "1",
|
6763
|
-
# "isLowestRisk": 1,
|
6764
|
-
# "maxLeverage": "100.00"
|
6765
|
-
# }
|
6766
|
-
#
|
6767
|
-
minNotional = 0
|
6768
|
-
tiers = []
|
6769
|
-
for i in range(0, len(info)):
|
6770
|
-
item = info[i]
|
6771
|
-
maxNotional = self.safe_number(item, 'riskLimitValue')
|
6772
|
-
tiers.append({
|
6773
|
-
'tier': self.sum(i, 1),
|
6774
|
-
'currency': market['base'],
|
6775
|
-
'minNotional': minNotional,
|
6776
|
-
'maxNotional': maxNotional,
|
6777
|
-
'maintenanceMarginRate': self.safe_number(item, 'maintenanceMargin'),
|
6778
|
-
'maxLeverage': self.safe_number(item, 'maxLeverage'),
|
6779
|
-
'info': item,
|
6780
|
-
})
|
6781
|
-
minNotional = maxNotional
|
6782
|
-
return tiers
|
6783
|
-
|
6784
6756
|
def parse_trading_fee(self, fee, market: Market = None):
|
6785
6757
|
#
|
6786
6758
|
# {
|
@@ -7448,6 +7420,89 @@ class bybit(Exchange, ImplicitAPI):
|
|
7448
7420
|
'datetime': self.iso8601(timestamp),
|
7449
7421
|
})
|
7450
7422
|
|
7423
|
+
async def fetch_leverage_tiers(self, symbols: Strings = None, params={}):
|
7424
|
+
"""
|
7425
|
+
:see: https://bybit-exchange.github.io/docs/v5/market/risk-limit
|
7426
|
+
retrieve information on the maximum leverage, for different trade sizes
|
7427
|
+
:param str[] [symbols]: a list of unified market symbols
|
7428
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
7429
|
+
:param str [params.subType]: market subType, ['linear', 'inverse'], default is 'linear'
|
7430
|
+
:returns dict: a dictionary of `leverage tiers structures <https://docs.ccxt.com/#/?id=leverage-tiers-structure>`, indexed by market symbols
|
7431
|
+
"""
|
7432
|
+
await self.load_markets()
|
7433
|
+
market = None
|
7434
|
+
if symbols is not None:
|
7435
|
+
market = self.market(symbols[0])
|
7436
|
+
if market['spot']:
|
7437
|
+
raise NotSupported(self.id + ' fetchLeverageTiers() is not supported for spot market')
|
7438
|
+
subType = None
|
7439
|
+
subType, params = self.handle_sub_type_and_params('fetchTickers', market, params, 'linear')
|
7440
|
+
request = {
|
7441
|
+
'category': subType,
|
7442
|
+
}
|
7443
|
+
response = await self.publicGetV5MarketRiskLimit(self.extend(request, params))
|
7444
|
+
result = self.safe_dict(response, 'result', {})
|
7445
|
+
data = self.safe_list(result, 'list', [])
|
7446
|
+
symbols = self.market_symbols(symbols)
|
7447
|
+
return self.parse_leverage_tiers(data, symbols, 'symbol')
|
7448
|
+
|
7449
|
+
def parse_leverage_tiers(self, response, symbols: Strings = None, marketIdKey=None):
|
7450
|
+
#
|
7451
|
+
# [
|
7452
|
+
# {
|
7453
|
+
# "id": 1,
|
7454
|
+
# "symbol": "BTCUSD",
|
7455
|
+
# "riskLimitValue": "150",
|
7456
|
+
# "maintenanceMargin": "0.5",
|
7457
|
+
# "initialMargin": "1",
|
7458
|
+
# "isLowestRisk": 1,
|
7459
|
+
# "maxLeverage": "100.00"
|
7460
|
+
# }
|
7461
|
+
# ]
|
7462
|
+
#
|
7463
|
+
tiers = {}
|
7464
|
+
marketIds = self.market_ids(symbols)
|
7465
|
+
filteredResults = self.filter_by_array(response, marketIdKey, marketIds, False)
|
7466
|
+
grouped = self.group_by(filteredResults, marketIdKey)
|
7467
|
+
keys = list(grouped.keys())
|
7468
|
+
for i in range(0, len(keys)):
|
7469
|
+
marketId = keys[i]
|
7470
|
+
entry = grouped[marketId]
|
7471
|
+
market = self.safe_market(marketId, None, None, 'contract')
|
7472
|
+
symbol = market['symbol']
|
7473
|
+
tiers[symbol] = self.parse_market_leverage_tiers(entry, market)
|
7474
|
+
return tiers
|
7475
|
+
|
7476
|
+
def parse_market_leverage_tiers(self, info, market: Market = None):
|
7477
|
+
#
|
7478
|
+
# [
|
7479
|
+
# {
|
7480
|
+
# "id": 1,
|
7481
|
+
# "symbol": "BTCUSD",
|
7482
|
+
# "riskLimitValue": "150",
|
7483
|
+
# "maintenanceMargin": "0.5",
|
7484
|
+
# "initialMargin": "1",
|
7485
|
+
# "isLowestRisk": 1,
|
7486
|
+
# "maxLeverage": "100.00"
|
7487
|
+
# }
|
7488
|
+
# ]
|
7489
|
+
#
|
7490
|
+
tiers = []
|
7491
|
+
for i in range(0, len(info)):
|
7492
|
+
tier = info[i]
|
7493
|
+
marketId = self.safe_string(info, 'symbol')
|
7494
|
+
market = self.safe_market(marketId)
|
7495
|
+
tiers.append({
|
7496
|
+
'tier': self.safe_integer(tier, 'id'),
|
7497
|
+
'currency': market['settle'],
|
7498
|
+
'minNotional': None,
|
7499
|
+
'maxNotional': None,
|
7500
|
+
'maintenanceMarginRate': self.safe_number(tier, 'maintenanceMargin'),
|
7501
|
+
'maxLeverage': self.safe_number(tier, 'maxLeverage'),
|
7502
|
+
'info': tier,
|
7503
|
+
})
|
7504
|
+
return tiers
|
7505
|
+
|
7451
7506
|
def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
|
7452
7507
|
url = self.implode_hostname(self.urls['api'][api]) + '/' + path
|
7453
7508
|
if api == 'public':
|
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.coinbase import ImplicitAPI
|
8
8
|
import asyncio
|
9
9
|
import hashlib
|
10
|
-
from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
|
10
|
+
from ccxt.base.types import Account, Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
|
11
11
|
from typing import List
|
12
12
|
from ccxt.base.errors import ExchangeError
|
13
13
|
from ccxt.base.errors import ArgumentsRequired
|
@@ -401,7 +401,7 @@ class coinbase(Exchange, ImplicitAPI):
|
|
401
401
|
#
|
402
402
|
return self.safe_timestamp_2(response, 'epoch', 'epochSeconds')
|
403
403
|
|
404
|
-
async def fetch_accounts(self, params={}):
|
404
|
+
async def fetch_accounts(self, params={}) -> List[Account]:
|
405
405
|
"""
|
406
406
|
fetch all the accounts associated with a profile
|
407
407
|
:see: https://docs.cloud.coinbase.com/advanced-trade-api/reference/retailbrokerageapi_getaccounts
|
@@ -415,7 +415,7 @@ class coinbase(Exchange, ImplicitAPI):
|
|
415
415
|
return await self.fetch_accounts_v3(params)
|
416
416
|
return await self.fetch_accounts_v2(params)
|
417
417
|
|
418
|
-
async def fetch_accounts_v2(self, params={}):
|
418
|
+
async def fetch_accounts_v2(self, params={}) -> List[Account]:
|
419
419
|
await self.load_markets()
|
420
420
|
paginate = False
|
421
421
|
paginate, params = self.handle_option_and_params(params, 'fetchAccounts', 'paginate')
|
@@ -481,7 +481,7 @@ class coinbase(Exchange, ImplicitAPI):
|
|
481
481
|
accounts[lastIndex] = last
|
482
482
|
return self.parse_accounts(data, params)
|
483
483
|
|
484
|
-
async def fetch_accounts_v3(self, params={}):
|
484
|
+
async def fetch_accounts_v3(self, params={}) -> List[Account]:
|
485
485
|
await self.load_markets()
|
486
486
|
paginate = False
|
487
487
|
paginate, params = self.handle_option_and_params(params, 'fetchAccounts', 'paginate')
|
@@ -124,7 +124,7 @@ class coinbaseinternational(Exchange, ImplicitAPI):
|
|
124
124
|
'test': {
|
125
125
|
'rest': 'https://api-n5e1.coinbase.com/api',
|
126
126
|
},
|
127
|
-
'www': 'https://
|
127
|
+
'www': 'https://international.coinbase.com',
|
128
128
|
'doc': [
|
129
129
|
'https://docs.cloud.coinbaseinternational.com/intx/docs',
|
130
130
|
],
|