ccxt 4.3.23__tar.gz → 4.3.24__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ccxt might be problematic. Click here for more details.
- {ccxt-4.3.23/ccxt.egg-info → ccxt-4.3.24}/PKG-INFO +6 -6
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/__init__.py +5 -3
- ccxt-4.3.24/ccxt/abstract/coinbaseadvanced.py +94 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/__init__.py +5 -3
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/base/exchange.py +4 -3
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitrue.py +5 -1
- ccxt-4.3.24/ccxt/async_support/coinbaseadvanced.py +17 -0
- ccxt-4.3.23/ccxt/async_support/coinbasepro.py → ccxt-4.3.24/ccxt/async_support/coinbaseexchange.py +13 -13
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/coinex.py +40 -72
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/kucoin.py +1 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/base/exchange.py +4 -3
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitrue.py +5 -1
- ccxt-4.3.24/ccxt/coinbaseadvanced.py +17 -0
- ccxt-4.3.23/ccxt/coinbasepro.py → ccxt-4.3.24/ccxt/coinbaseexchange.py +13 -13
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/coinex.py +40 -72
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/kucoin.py +1 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/__init__.py +3 -3
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/bitget.py +10 -3
- ccxt-4.3.23/ccxt/pro/coinbasepro.py → ccxt-4.3.24/ccxt/pro/coinbaseexchange.py +5 -5
- {ccxt-4.3.23 → ccxt-4.3.24/ccxt.egg-info}/PKG-INFO +6 -6
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt.egg-info/SOURCES.txt +7 -4
- {ccxt-4.3.23 → ccxt-4.3.24}/package.json +1 -1
- {ccxt-4.3.23 → ccxt-4.3.24}/LICENSE.txt +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/MANIFEST.in +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/README.rst +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/coinbase.py +0 -0
- /ccxt-4.3.23/ccxt/abstract/coinbasepro.py → /ccxt-4.3.24/ccxt/abstract/coinbaseexchange.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/tradeogre.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/woofipro.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/ace.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/alpaca.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/ascendex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/binance.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bingx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitfinex2.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitget.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/bybit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/coinbaseinternational.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/gate.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/htx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/hyperliquid.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/okx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/tradeogre.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/woofipro.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/base/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/base/errors.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/base/precise.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/base/types.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bequant.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bigone.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/binance.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/binanceus.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bingx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bit2c.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitbank.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitbay.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitbns.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitfinex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitfinex2.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitflyer.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitget.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bithumb.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitmart.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitmex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitopro.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitpanda.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitso.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitstamp.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitteam.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bitvavo.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bl3p.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/blofin.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/btcalpha.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/btcbox.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/btcturk.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/bybit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/cex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/coinbase.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/coinbaseinternational.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/coincheck.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/coinlist.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/coinmate.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/coinmetro.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/coinone.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/coinsph.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/coinspot.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/cryptocom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/currencycom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/delta.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/deribit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/digifinex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/exmo.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/fmfwio.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/gate.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/gateio.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/gemini.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/hitbtc.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/hollaex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/htx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/huobi.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/huobijp.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/hyperliquid.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/idex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/independentreserve.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/indodax.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/kraken.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/kuna.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/latoken.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/lbank.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/luno.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/lykke.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/mercado.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/mexc.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/ndax.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/novadax.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/oceanex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/okcoin.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/okx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/onetrading.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/p2b.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/paymium.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/phemex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/poloniex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/binance.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/bitfinex2.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/cex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/gate.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/htx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/idex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/luno.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/okx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/probit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/woo.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/pro/woofipro.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/probit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/__init__.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_account.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_balance.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_borrow_interest.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_borrow_rate.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_calculate_fee.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_crypto.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_currency.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_datetime.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_decimal_to_precision.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_deep_extend.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_funding_rate_history.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_last_price.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_ledger_entry.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_ledger_item.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_leverage_tier.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_margin_mode.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_margin_modification.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_market.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_number.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_ohlcv.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_open_interest.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_order.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_order_book.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_position.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_shared_methods.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_status.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_throttle.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_ticker.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_trade.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_trading_fee.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/base/test_transaction.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/test_async.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/test/test_sync.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/timex.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/tradeogre.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/upbit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/wazirx.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/whitebit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/woo.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/woofipro.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/yobit.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/zaif.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt/zonda.py +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/setup.cfg +0 -0
- {ccxt-4.3.23 → ccxt-4.3.24}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.3.
|
3
|
+
Version: 4.3.24
|
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
|
|
@@ -109,8 +109,8 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
109
109
|
| [](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) |
|
110
110
|
| [](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) |
|
111
111
|
| [](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | coinbase | [Coinbase Advanced](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | [](https://developers.coinbase.com/api/v2) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) |
|
112
|
+
| [](https://coinbase.com/) | coinbaseexchange | [Coinbase Exchange](https://coinbase.com/) | [](https://docs.cloud.coinbase.com/exchange/docs/) | | [](https://ccxt.pro) |
|
112
113
|
| [](https://international.coinbase.com) | coinbaseinternational | [Coinbase International](https://international.coinbase.com) | [](https://docs.cloud.coinbase.com/intx/docs) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) |
|
113
|
-
| [](https://pro.coinbase.com/) | coinbasepro | [Coinbase Pro(Deprecated)](https://pro.coinbase.com/) | [](https://docs.pro.coinbase.com) | | [](https://ccxt.pro) |
|
114
114
|
| [](https://coincheck.com) | coincheck | [coincheck](https://coincheck.com) | [](https://coincheck.com/documents/exchange/api) | | |
|
115
115
|
| [](https://www.coinex.com/register?refer_code=yw5fz) | coinex | [CoinEx](https://www.coinex.com/register?refer_code=yw5fz) | [](https://docs.coinex.com/api/v2) | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) |
|
116
116
|
| [](https://coinlist.co) | coinlist | [Coinlist](https://coinlist.co) | [](https://trade-docs.coinlist.co) | | |
|
@@ -228,13 +228,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
|
|
228
228
|
|
229
229
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
230
230
|
|
231
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
232
|
-
* unpkg: https://unpkg.com/ccxt@4.3.
|
231
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.24/dist/ccxt.browser.js
|
232
|
+
* unpkg: https://unpkg.com/ccxt@4.3.24/dist/ccxt.browser.js
|
233
233
|
|
234
234
|
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.
|
235
235
|
|
236
236
|
```HTML
|
237
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
237
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.24/dist/ccxt.browser.js"></script>
|
238
238
|
```
|
239
239
|
|
240
240
|
Creates a global `ccxt` object:
|
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
# ----------------------------------------------------------------------------
|
24
24
|
|
25
|
-
__version__ = '4.3.
|
25
|
+
__version__ = '4.3.24'
|
26
26
|
|
27
27
|
# ----------------------------------------------------------------------------
|
28
28
|
|
@@ -119,8 +119,9 @@ from ccxt.btcturk import btcturk # noqa: F4
|
|
119
119
|
from ccxt.bybit import bybit # noqa: F401
|
120
120
|
from ccxt.cex import cex # noqa: F401
|
121
121
|
from ccxt.coinbase import coinbase # noqa: F401
|
122
|
+
from ccxt.coinbaseadvanced import coinbaseadvanced # noqa: F401
|
123
|
+
from ccxt.coinbaseexchange import coinbaseexchange # noqa: F401
|
122
124
|
from ccxt.coinbaseinternational import coinbaseinternational # noqa: F401
|
123
|
-
from ccxt.coinbasepro import coinbasepro # noqa: F401
|
124
125
|
from ccxt.coincheck import coincheck # noqa: F401
|
125
126
|
from ccxt.coinex import coinex # noqa: F401
|
126
127
|
from ccxt.coinlist import coinlist # noqa: F401
|
@@ -225,8 +226,9 @@ exchanges = [
|
|
225
226
|
'bybit',
|
226
227
|
'cex',
|
227
228
|
'coinbase',
|
229
|
+
'coinbaseadvanced',
|
230
|
+
'coinbaseexchange',
|
228
231
|
'coinbaseinternational',
|
229
|
-
'coinbasepro',
|
230
232
|
'coincheck',
|
231
233
|
'coinex',
|
232
234
|
'coinlist',
|
@@ -0,0 +1,94 @@
|
|
1
|
+
from ccxt.base.types import Entry
|
2
|
+
|
3
|
+
|
4
|
+
class ImplicitAPI:
|
5
|
+
v2_public_get_currencies = v2PublicGetCurrencies = Entry('currencies', ['v2', 'public'], 'GET', {'cost': 10.6})
|
6
|
+
v2_public_get_currencies_crypto = v2PublicGetCurrenciesCrypto = Entry('currencies/crypto', ['v2', 'public'], 'GET', {'cost': 10.6})
|
7
|
+
v2_public_get_time = v2PublicGetTime = Entry('time', ['v2', 'public'], 'GET', {'cost': 10.6})
|
8
|
+
v2_public_get_exchange_rates = v2PublicGetExchangeRates = Entry('exchange-rates', ['v2', 'public'], 'GET', {'cost': 10.6})
|
9
|
+
v2_public_get_users_user_id = v2PublicGetUsersUserId = Entry('users/{user_id}', ['v2', 'public'], 'GET', {'cost': 10.6})
|
10
|
+
v2_public_get_prices_symbol_buy = v2PublicGetPricesSymbolBuy = Entry('prices/{symbol}/buy', ['v2', 'public'], 'GET', {'cost': 10.6})
|
11
|
+
v2_public_get_prices_symbol_sell = v2PublicGetPricesSymbolSell = Entry('prices/{symbol}/sell', ['v2', 'public'], 'GET', {'cost': 10.6})
|
12
|
+
v2_public_get_prices_symbol_spot = v2PublicGetPricesSymbolSpot = Entry('prices/{symbol}/spot', ['v2', 'public'], 'GET', {'cost': 10.6})
|
13
|
+
v2_private_get_accounts = v2PrivateGetAccounts = Entry('accounts', ['v2', 'private'], 'GET', {'cost': 10.6})
|
14
|
+
v2_private_get_accounts_account_id = v2PrivateGetAccountsAccountId = Entry('accounts/{account_id}', ['v2', 'private'], 'GET', {'cost': 10.6})
|
15
|
+
v2_private_get_accounts_account_id_addresses = v2PrivateGetAccountsAccountIdAddresses = Entry('accounts/{account_id}/addresses', ['v2', 'private'], 'GET', {'cost': 10.6})
|
16
|
+
v2_private_get_accounts_account_id_addresses_address_id = v2PrivateGetAccountsAccountIdAddressesAddressId = Entry('accounts/{account_id}/addresses/{address_id}', ['v2', 'private'], 'GET', {'cost': 10.6})
|
17
|
+
v2_private_get_accounts_account_id_addresses_address_id_transactions = v2PrivateGetAccountsAccountIdAddressesAddressIdTransactions = Entry('accounts/{account_id}/addresses/{address_id}/transactions', ['v2', 'private'], 'GET', {'cost': 10.6})
|
18
|
+
v2_private_get_accounts_account_id_transactions = v2PrivateGetAccountsAccountIdTransactions = Entry('accounts/{account_id}/transactions', ['v2', 'private'], 'GET', {'cost': 10.6})
|
19
|
+
v2_private_get_accounts_account_id_transactions_transaction_id = v2PrivateGetAccountsAccountIdTransactionsTransactionId = Entry('accounts/{account_id}/transactions/{transaction_id}', ['v2', 'private'], 'GET', {'cost': 10.6})
|
20
|
+
v2_private_get_accounts_account_id_buys = v2PrivateGetAccountsAccountIdBuys = Entry('accounts/{account_id}/buys', ['v2', 'private'], 'GET', {'cost': 10.6})
|
21
|
+
v2_private_get_accounts_account_id_buys_buy_id = v2PrivateGetAccountsAccountIdBuysBuyId = Entry('accounts/{account_id}/buys/{buy_id}', ['v2', 'private'], 'GET', {'cost': 10.6})
|
22
|
+
v2_private_get_accounts_account_id_sells = v2PrivateGetAccountsAccountIdSells = Entry('accounts/{account_id}/sells', ['v2', 'private'], 'GET', {'cost': 10.6})
|
23
|
+
v2_private_get_accounts_account_id_sells_sell_id = v2PrivateGetAccountsAccountIdSellsSellId = Entry('accounts/{account_id}/sells/{sell_id}', ['v2', 'private'], 'GET', {'cost': 10.6})
|
24
|
+
v2_private_get_accounts_account_id_deposits = v2PrivateGetAccountsAccountIdDeposits = Entry('accounts/{account_id}/deposits', ['v2', 'private'], 'GET', {'cost': 10.6})
|
25
|
+
v2_private_get_accounts_account_id_deposits_deposit_id = v2PrivateGetAccountsAccountIdDepositsDepositId = Entry('accounts/{account_id}/deposits/{deposit_id}', ['v2', 'private'], 'GET', {'cost': 10.6})
|
26
|
+
v2_private_get_accounts_account_id_withdrawals = v2PrivateGetAccountsAccountIdWithdrawals = Entry('accounts/{account_id}/withdrawals', ['v2', 'private'], 'GET', {'cost': 10.6})
|
27
|
+
v2_private_get_accounts_account_id_withdrawals_withdrawal_id = v2PrivateGetAccountsAccountIdWithdrawalsWithdrawalId = Entry('accounts/{account_id}/withdrawals/{withdrawal_id}', ['v2', 'private'], 'GET', {'cost': 10.6})
|
28
|
+
v2_private_get_payment_methods = v2PrivateGetPaymentMethods = Entry('payment-methods', ['v2', 'private'], 'GET', {'cost': 10.6})
|
29
|
+
v2_private_get_payment_methods_payment_method_id = v2PrivateGetPaymentMethodsPaymentMethodId = Entry('payment-methods/{payment_method_id}', ['v2', 'private'], 'GET', {'cost': 10.6})
|
30
|
+
v2_private_get_user = v2PrivateGetUser = Entry('user', ['v2', 'private'], 'GET', {'cost': 10.6})
|
31
|
+
v2_private_get_user_auth = v2PrivateGetUserAuth = Entry('user/auth', ['v2', 'private'], 'GET', {'cost': 10.6})
|
32
|
+
v2_private_post_accounts = v2PrivatePostAccounts = Entry('accounts', ['v2', 'private'], 'POST', {'cost': 10.6})
|
33
|
+
v2_private_post_accounts_account_id_primary = v2PrivatePostAccountsAccountIdPrimary = Entry('accounts/{account_id}/primary', ['v2', 'private'], 'POST', {'cost': 10.6})
|
34
|
+
v2_private_post_accounts_account_id_addresses = v2PrivatePostAccountsAccountIdAddresses = Entry('accounts/{account_id}/addresses', ['v2', 'private'], 'POST', {'cost': 10.6})
|
35
|
+
v2_private_post_accounts_account_id_transactions = v2PrivatePostAccountsAccountIdTransactions = Entry('accounts/{account_id}/transactions', ['v2', 'private'], 'POST', {'cost': 10.6})
|
36
|
+
v2_private_post_accounts_account_id_transactions_transaction_id_complete = v2PrivatePostAccountsAccountIdTransactionsTransactionIdComplete = Entry('accounts/{account_id}/transactions/{transaction_id}/complete', ['v2', 'private'], 'POST', {'cost': 10.6})
|
37
|
+
v2_private_post_accounts_account_id_transactions_transaction_id_resend = v2PrivatePostAccountsAccountIdTransactionsTransactionIdResend = Entry('accounts/{account_id}/transactions/{transaction_id}/resend', ['v2', 'private'], 'POST', {'cost': 10.6})
|
38
|
+
v2_private_post_accounts_account_id_buys = v2PrivatePostAccountsAccountIdBuys = Entry('accounts/{account_id}/buys', ['v2', 'private'], 'POST', {'cost': 10.6})
|
39
|
+
v2_private_post_accounts_account_id_buys_buy_id_commit = v2PrivatePostAccountsAccountIdBuysBuyIdCommit = Entry('accounts/{account_id}/buys/{buy_id}/commit', ['v2', 'private'], 'POST', {'cost': 10.6})
|
40
|
+
v2_private_post_accounts_account_id_sells = v2PrivatePostAccountsAccountIdSells = Entry('accounts/{account_id}/sells', ['v2', 'private'], 'POST', {'cost': 10.6})
|
41
|
+
v2_private_post_accounts_account_id_sells_sell_id_commit = v2PrivatePostAccountsAccountIdSellsSellIdCommit = Entry('accounts/{account_id}/sells/{sell_id}/commit', ['v2', 'private'], 'POST', {'cost': 10.6})
|
42
|
+
v2_private_post_accounts_account_id_deposits = v2PrivatePostAccountsAccountIdDeposits = Entry('accounts/{account_id}/deposits', ['v2', 'private'], 'POST', {'cost': 10.6})
|
43
|
+
v2_private_post_accounts_account_id_deposits_deposit_id_commit = v2PrivatePostAccountsAccountIdDepositsDepositIdCommit = Entry('accounts/{account_id}/deposits/{deposit_id}/commit', ['v2', 'private'], 'POST', {'cost': 10.6})
|
44
|
+
v2_private_post_accounts_account_id_withdrawals = v2PrivatePostAccountsAccountIdWithdrawals = Entry('accounts/{account_id}/withdrawals', ['v2', 'private'], 'POST', {'cost': 10.6})
|
45
|
+
v2_private_post_accounts_account_id_withdrawals_withdrawal_id_commit = v2PrivatePostAccountsAccountIdWithdrawalsWithdrawalIdCommit = Entry('accounts/{account_id}/withdrawals/{withdrawal_id}/commit', ['v2', 'private'], 'POST', {'cost': 10.6})
|
46
|
+
v2_private_put_accounts_account_id = v2PrivatePutAccountsAccountId = Entry('accounts/{account_id}', ['v2', 'private'], 'PUT', {'cost': 10.6})
|
47
|
+
v2_private_put_user = v2PrivatePutUser = Entry('user', ['v2', 'private'], 'PUT', {'cost': 10.6})
|
48
|
+
v2_private_delete_accounts_id = v2PrivateDeleteAccountsId = Entry('accounts/{id}', ['v2', 'private'], 'DELETE', {'cost': 10.6})
|
49
|
+
v2_private_delete_accounts_account_id_transactions_transaction_id = v2PrivateDeleteAccountsAccountIdTransactionsTransactionId = Entry('accounts/{account_id}/transactions/{transaction_id}', ['v2', 'private'], 'DELETE', {'cost': 10.6})
|
50
|
+
v3_public_get_brokerage_time = v3PublicGetBrokerageTime = Entry('brokerage/time', ['v3', 'public'], 'GET', {'cost': 3})
|
51
|
+
v3_public_get_brokerage_market_product_book = v3PublicGetBrokerageMarketProductBook = Entry('brokerage/market/product_book', ['v3', 'public'], 'GET', {'cost': 3})
|
52
|
+
v3_public_get_brokerage_market_products = v3PublicGetBrokerageMarketProducts = Entry('brokerage/market/products', ['v3', 'public'], 'GET', {'cost': 3})
|
53
|
+
v3_public_get_brokerage_market_products_product_id = v3PublicGetBrokerageMarketProductsProductId = Entry('brokerage/market/products/{product_id}', ['v3', 'public'], 'GET', {'cost': 3})
|
54
|
+
v3_public_get_brokerage_market_products_product_id_candles = v3PublicGetBrokerageMarketProductsProductIdCandles = Entry('brokerage/market/products/{product_id}/candles', ['v3', 'public'], 'GET', {'cost': 3})
|
55
|
+
v3_public_get_brokerage_market_products_product_id_ticker = v3PublicGetBrokerageMarketProductsProductIdTicker = Entry('brokerage/market/products/{product_id}/ticker', ['v3', 'public'], 'GET', {'cost': 3})
|
56
|
+
v3_private_get_brokerage_accounts = v3PrivateGetBrokerageAccounts = Entry('brokerage/accounts', ['v3', 'private'], 'GET', {'cost': 1})
|
57
|
+
v3_private_get_brokerage_accounts_account_uuid = v3PrivateGetBrokerageAccountsAccountUuid = Entry('brokerage/accounts/{account_uuid}', ['v3', 'private'], 'GET', {'cost': 1})
|
58
|
+
v3_private_get_brokerage_orders_historical_batch = v3PrivateGetBrokerageOrdersHistoricalBatch = Entry('brokerage/orders/historical/batch', ['v3', 'private'], 'GET', {'cost': 1})
|
59
|
+
v3_private_get_brokerage_orders_historical_fills = v3PrivateGetBrokerageOrdersHistoricalFills = Entry('brokerage/orders/historical/fills', ['v3', 'private'], 'GET', {'cost': 1})
|
60
|
+
v3_private_get_brokerage_orders_historical_order_id = v3PrivateGetBrokerageOrdersHistoricalOrderId = Entry('brokerage/orders/historical/{order_id}', ['v3', 'private'], 'GET', {'cost': 1})
|
61
|
+
v3_private_get_brokerage_products = v3PrivateGetBrokerageProducts = Entry('brokerage/products', ['v3', 'private'], 'GET', {'cost': 3})
|
62
|
+
v3_private_get_brokerage_products_product_id = v3PrivateGetBrokerageProductsProductId = Entry('brokerage/products/{product_id}', ['v3', 'private'], 'GET', {'cost': 3})
|
63
|
+
v3_private_get_brokerage_products_product_id_candles = v3PrivateGetBrokerageProductsProductIdCandles = Entry('brokerage/products/{product_id}/candles', ['v3', 'private'], 'GET', {'cost': 3})
|
64
|
+
v3_private_get_brokerage_products_product_id_ticker = v3PrivateGetBrokerageProductsProductIdTicker = Entry('brokerage/products/{product_id}/ticker', ['v3', 'private'], 'GET', {'cost': 3})
|
65
|
+
v3_private_get_brokerage_best_bid_ask = v3PrivateGetBrokerageBestBidAsk = Entry('brokerage/best_bid_ask', ['v3', 'private'], 'GET', {'cost': 3})
|
66
|
+
v3_private_get_brokerage_product_book = v3PrivateGetBrokerageProductBook = Entry('brokerage/product_book', ['v3', 'private'], 'GET', {'cost': 3})
|
67
|
+
v3_private_get_brokerage_transaction_summary = v3PrivateGetBrokerageTransactionSummary = Entry('brokerage/transaction_summary', ['v3', 'private'], 'GET', {'cost': 3})
|
68
|
+
v3_private_get_brokerage_portfolios = v3PrivateGetBrokeragePortfolios = Entry('brokerage/portfolios', ['v3', 'private'], 'GET', {'cost': 1})
|
69
|
+
v3_private_get_brokerage_portfolios_portfolio_uuid = v3PrivateGetBrokeragePortfoliosPortfolioUuid = Entry('brokerage/portfolios/{portfolio_uuid}', ['v3', 'private'], 'GET', {'cost': 1})
|
70
|
+
v3_private_get_brokerage_convert_trade_trade_id = v3PrivateGetBrokerageConvertTradeTradeId = Entry('brokerage/convert/trade/{trade_id}', ['v3', 'private'], 'GET', {'cost': 1})
|
71
|
+
v3_private_get_brokerage_cfm_balance_summary = v3PrivateGetBrokerageCfmBalanceSummary = Entry('brokerage/cfm/balance_summary', ['v3', 'private'], 'GET', {'cost': 1})
|
72
|
+
v3_private_get_brokerage_cfm_positions = v3PrivateGetBrokerageCfmPositions = Entry('brokerage/cfm/positions', ['v3', 'private'], 'GET', {'cost': 1})
|
73
|
+
v3_private_get_brokerage_cfm_positions_product_id = v3PrivateGetBrokerageCfmPositionsProductId = Entry('brokerage/cfm/positions/{product_id}', ['v3', 'private'], 'GET', {'cost': 1})
|
74
|
+
v3_private_get_brokerage_cfm_sweeps = v3PrivateGetBrokerageCfmSweeps = Entry('brokerage/cfm/sweeps', ['v3', 'private'], 'GET', {'cost': 1})
|
75
|
+
v3_private_get_brokerage_intx_portfolio_portfolio_uuid = v3PrivateGetBrokerageIntxPortfolioPortfolioUuid = Entry('brokerage/intx/portfolio/{portfolio_uuid}', ['v3', 'private'], 'GET', {'cost': 1})
|
76
|
+
v3_private_get_brokerage_intx_positions_portfolio_uuid = v3PrivateGetBrokerageIntxPositionsPortfolioUuid = Entry('brokerage/intx/positions/{portfolio_uuid}', ['v3', 'private'], 'GET', {'cost': 1})
|
77
|
+
v3_private_get_brokerage_intx_positions_portfolio_uuid_symbol = v3PrivateGetBrokerageIntxPositionsPortfolioUuidSymbol = Entry('brokerage/intx/positions/{portfolio_uuid}/{symbol}', ['v3', 'private'], 'GET', {'cost': 1})
|
78
|
+
v3_private_get_brokerage_payment_methods = v3PrivateGetBrokeragePaymentMethods = Entry('brokerage/payment_methods', ['v3', 'private'], 'GET', {'cost': 1})
|
79
|
+
v3_private_get_brokerage_payment_methods_payment_method_id = v3PrivateGetBrokeragePaymentMethodsPaymentMethodId = Entry('brokerage/payment_methods/{payment_method_id}', ['v3', 'private'], 'GET', {'cost': 1})
|
80
|
+
v3_private_post_brokerage_orders = v3PrivatePostBrokerageOrders = Entry('brokerage/orders', ['v3', 'private'], 'POST', {'cost': 1})
|
81
|
+
v3_private_post_brokerage_orders_batch_cancel = v3PrivatePostBrokerageOrdersBatchCancel = Entry('brokerage/orders/batch_cancel', ['v3', 'private'], 'POST', {'cost': 1})
|
82
|
+
v3_private_post_brokerage_orders_edit = v3PrivatePostBrokerageOrdersEdit = Entry('brokerage/orders/edit', ['v3', 'private'], 'POST', {'cost': 1})
|
83
|
+
v3_private_post_brokerage_orders_edit_preview = v3PrivatePostBrokerageOrdersEditPreview = Entry('brokerage/orders/edit_preview', ['v3', 'private'], 'POST', {'cost': 1})
|
84
|
+
v3_private_post_brokerage_orders_preview = v3PrivatePostBrokerageOrdersPreview = Entry('brokerage/orders/preview', ['v3', 'private'], 'POST', {'cost': 1})
|
85
|
+
v3_private_post_brokerage_portfolios = v3PrivatePostBrokeragePortfolios = Entry('brokerage/portfolios', ['v3', 'private'], 'POST', {'cost': 1})
|
86
|
+
v3_private_post_brokerage_portfolios_move_funds = v3PrivatePostBrokeragePortfoliosMoveFunds = Entry('brokerage/portfolios/move_funds', ['v3', 'private'], 'POST', {'cost': 1})
|
87
|
+
v3_private_post_brokerage_convert_quote = v3PrivatePostBrokerageConvertQuote = Entry('brokerage/convert/quote', ['v3', 'private'], 'POST', {'cost': 1})
|
88
|
+
v3_private_post_brokerage_convert_trade_trade_id = v3PrivatePostBrokerageConvertTradeTradeId = Entry('brokerage/convert/trade/{trade_id}', ['v3', 'private'], 'POST', {'cost': 1})
|
89
|
+
v3_private_post_brokerage_cfm_sweeps_schedule = v3PrivatePostBrokerageCfmSweepsSchedule = Entry('brokerage/cfm/sweeps/schedule', ['v3', 'private'], 'POST', {'cost': 1})
|
90
|
+
v3_private_post_brokerage_intx_allocate = v3PrivatePostBrokerageIntxAllocate = Entry('brokerage/intx/allocate', ['v3', 'private'], 'POST', {'cost': 1})
|
91
|
+
v3_private_post_brokerage_orders_close_position = v3PrivatePostBrokerageOrdersClosePosition = Entry('brokerage/orders/close_position', ['v3', 'private'], 'POST', {'cost': 1})
|
92
|
+
v3_private_put_brokerage_portfolios_portfolio_uuid = v3PrivatePutBrokeragePortfoliosPortfolioUuid = Entry('brokerage/portfolios/{portfolio_uuid}', ['v3', 'private'], 'PUT', {'cost': 1})
|
93
|
+
v3_private_delete_brokerage_portfolios_portfolio_uuid = v3PrivateDeleteBrokeragePortfoliosPortfolioUuid = Entry('brokerage/portfolios/{portfolio_uuid}', ['v3', 'private'], 'DELETE', {'cost': 1})
|
94
|
+
v3_private_delete_brokerage_cfm_sweeps = v3PrivateDeleteBrokerageCfmSweeps = Entry('brokerage/cfm/sweeps', ['v3', 'private'], 'DELETE', {'cost': 1})
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.3.
|
7
|
+
__version__ = '4.3.24'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -99,8 +99,9 @@ from ccxt.async_support.btcturk import btcturk
|
|
99
99
|
from ccxt.async_support.bybit import bybit # noqa: F401
|
100
100
|
from ccxt.async_support.cex import cex # noqa: F401
|
101
101
|
from ccxt.async_support.coinbase import coinbase # noqa: F401
|
102
|
+
from ccxt.async_support.coinbaseadvanced import coinbaseadvanced # noqa: F401
|
103
|
+
from ccxt.async_support.coinbaseexchange import coinbaseexchange # noqa: F401
|
102
104
|
from ccxt.async_support.coinbaseinternational import coinbaseinternational # noqa: F401
|
103
|
-
from ccxt.async_support.coinbasepro import coinbasepro # noqa: F401
|
104
105
|
from ccxt.async_support.coincheck import coincheck # noqa: F401
|
105
106
|
from ccxt.async_support.coinex import coinex # noqa: F401
|
106
107
|
from ccxt.async_support.coinlist import coinlist # noqa: F401
|
@@ -205,8 +206,9 @@ exchanges = [
|
|
205
206
|
'bybit',
|
206
207
|
'cex',
|
207
208
|
'coinbase',
|
209
|
+
'coinbaseadvanced',
|
210
|
+
'coinbaseexchange',
|
208
211
|
'coinbaseinternational',
|
209
|
-
'coinbasepro',
|
210
212
|
'coincheck',
|
211
213
|
'coinex',
|
212
214
|
'coinlist',
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '4.3.
|
5
|
+
__version__ = '4.3.24'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -1848,8 +1848,9 @@ class Exchange(BaseExchange):
|
|
1848
1848
|
errors = 0
|
1849
1849
|
responseLength = len(response)
|
1850
1850
|
if self.verbose:
|
1851
|
-
|
1852
|
-
|
1851
|
+
cursorString = '' if (cursorValue is None) else cursorValue
|
1852
|
+
iteration = (i + 1)
|
1853
|
+
cursorMessage = 'Cursor pagination call ' + str(iteration) + ' method ' + method + ' response length ' + str(responseLength) + ' cursor ' + cursorString
|
1853
1854
|
self.log(cursorMessage)
|
1854
1855
|
if responseLength == 0:
|
1855
1856
|
break
|
@@ -2933,6 +2933,10 @@ class bitrue(Exchange, ImplicitAPI):
|
|
2933
2933
|
signPath = signPath + '/' + version + '/' + path
|
2934
2934
|
signMessage = timestamp + method + signPath
|
2935
2935
|
if method == 'GET':
|
2936
|
+
keys = list(params.keys())
|
2937
|
+
keysLength = len(keys)
|
2938
|
+
if keysLength > 0:
|
2939
|
+
signMessage += '?' + self.urlencode(params)
|
2936
2940
|
signature = self.hmac(self.encode(signMessage), self.encode(self.secret), hashlib.sha256)
|
2937
2941
|
headers = {
|
2938
2942
|
'X-CH-APIKEY': self.apiKey,
|
@@ -2945,7 +2949,7 @@ class bitrue(Exchange, ImplicitAPI):
|
|
2945
2949
|
'recvWindow': recvWindow,
|
2946
2950
|
}, params)
|
2947
2951
|
body = self.json(query)
|
2948
|
-
signMessage
|
2952
|
+
signMessage += body
|
2949
2953
|
signature = self.hmac(self.encode(signMessage), self.encode(self.secret), hashlib.sha256)
|
2950
2954
|
headers = {
|
2951
2955
|
'Content-Type': 'application/json',
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
# PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
4
|
+
# https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
5
|
+
|
6
|
+
from ccxt.async_support.coinbase import coinbase
|
7
|
+
from ccxt.abstract.coinbaseadvanced import ImplicitAPI
|
8
|
+
|
9
|
+
|
10
|
+
class coinbaseadvanced(coinbase, ImplicitAPI):
|
11
|
+
|
12
|
+
def describe(self):
|
13
|
+
return self.deep_extend(super(coinbaseadvanced, self).describe(), {
|
14
|
+
'id': 'coinbaseadvanced',
|
15
|
+
'name': 'Coinbase Advanced',
|
16
|
+
'alias': True,
|
17
|
+
})
|
ccxt-4.3.23/ccxt/async_support/coinbasepro.py → ccxt-4.3.24/ccxt/async_support/coinbaseexchange.py
RENAMED
@@ -4,7 +4,7 @@
|
|
4
4
|
# https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
5
5
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
|
-
from ccxt.abstract.
|
7
|
+
from ccxt.abstract.coinbaseexchange import ImplicitAPI
|
8
8
|
import hashlib
|
9
9
|
from ccxt.base.types import Account, Balances, Currencies, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, Transaction
|
10
10
|
from typing import List
|
@@ -22,12 +22,12 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
|
|
22
22
|
from ccxt.base.precise import Precise
|
23
23
|
|
24
24
|
|
25
|
-
class
|
25
|
+
class coinbaseexchange(Exchange, ImplicitAPI):
|
26
26
|
|
27
27
|
def describe(self):
|
28
|
-
return self.deep_extend(super(
|
29
|
-
'id': '
|
30
|
-
'name': 'Coinbase
|
28
|
+
return self.deep_extend(super(coinbaseexchange, self).describe(), {
|
29
|
+
'id': 'coinbaseexchange',
|
30
|
+
'name': 'Coinbase Exchange',
|
31
31
|
'countries': ['US'],
|
32
32
|
'rateLimit': 100,
|
33
33
|
'userAgent': self.userAgents['chrome'],
|
@@ -89,19 +89,19 @@ class coinbasepro(Exchange, ImplicitAPI):
|
|
89
89
|
'6h': 21600,
|
90
90
|
'1d': 86400,
|
91
91
|
},
|
92
|
-
'hostname': '
|
92
|
+
'hostname': 'exchange.coinbase.com',
|
93
93
|
'urls': {
|
94
94
|
'test': {
|
95
|
-
'public': 'https://api-public.sandbox.
|
96
|
-
'private': 'https://api-public.sandbox.
|
95
|
+
'public': 'https://api-public.sandbox.exchange.coinbase.com',
|
96
|
+
'private': 'https://api-public.sandbox.exchange.coinbase.com',
|
97
97
|
},
|
98
|
-
'logo': 'https://
|
98
|
+
'logo': 'https://github.com/ccxt/ccxt/assets/43336371/34a65553-88aa-4a38-a714-064bd228b97e',
|
99
99
|
'api': {
|
100
100
|
'public': 'https://api.{hostname}',
|
101
101
|
'private': 'https://api.{hostname}',
|
102
102
|
},
|
103
|
-
'www': 'https://
|
104
|
-
'doc': 'https://docs.
|
103
|
+
'www': 'https://coinbase.com/',
|
104
|
+
'doc': 'https://docs.cloud.coinbase.com/exchange/docs/',
|
105
105
|
'fees': [
|
106
106
|
'https://docs.pro.coinbase.com/#fees',
|
107
107
|
'https://support.pro.coinbase.com/customer/en/portal/articles/2945310-fees',
|
@@ -315,7 +315,7 @@ class coinbasepro(Exchange, ImplicitAPI):
|
|
315
315
|
|
316
316
|
async def fetch_markets(self, params={}) -> List[Market]:
|
317
317
|
"""
|
318
|
-
retrieves data on all markets for
|
318
|
+
retrieves data on all markets for coinbaseexchange
|
319
319
|
:see: https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getproducts
|
320
320
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
321
321
|
:returns dict[]: an array of objects representing market data
|
@@ -1047,7 +1047,7 @@ class coinbasepro(Exchange, ImplicitAPI):
|
|
1047
1047
|
"""
|
1048
1048
|
:see: https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getorder
|
1049
1049
|
fetches information on an order made by the user
|
1050
|
-
:param str symbol: not used by
|
1050
|
+
:param str symbol: not used by coinbaseexchange fetchOrder
|
1051
1051
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1052
1052
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
1053
1053
|
"""
|
@@ -459,7 +459,9 @@ class coinex(Exchange, ImplicitAPI):
|
|
459
459
|
'fillResponseFromRequest': True,
|
460
460
|
},
|
461
461
|
'accountsById': {
|
462
|
-
'spot': '
|
462
|
+
'spot': 'SPOT',
|
463
|
+
'margin': 'MARGIN',
|
464
|
+
'swap': 'FUTURES',
|
463
465
|
},
|
464
466
|
'networks': {
|
465
467
|
'BEP20': 'BSC',
|
@@ -3454,7 +3456,10 @@ class coinex(Exchange, ImplicitAPI):
|
|
3454
3456
|
:param str [params.marginMode]: 'cross' or 'isolated' for fetching spot margin orders
|
3455
3457
|
:returns Order[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
3456
3458
|
"""
|
3457
|
-
|
3459
|
+
openOrders = await self.fetch_orders_by_status('pending', symbol, since, limit, params)
|
3460
|
+
for i in range(0, len(openOrders)):
|
3461
|
+
openOrders[i]['status'] = 'open'
|
3462
|
+
return openOrders
|
3458
3463
|
|
3459
3464
|
async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
3460
3465
|
"""
|
@@ -4599,40 +4604,42 @@ class coinex(Exchange, ImplicitAPI):
|
|
4599
4604
|
async def transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={}) -> TransferEntry:
|
4600
4605
|
"""
|
4601
4606
|
transfer currency internally between wallets on the same account
|
4602
|
-
:see: https://
|
4603
|
-
:see: https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot002_account013_margin_transfer
|
4607
|
+
:see: https://docs.coinex.com/api/v2/assets/transfer/http/transfer
|
4604
4608
|
:param str code: unified currency code
|
4605
4609
|
:param float amount: amount to transfer
|
4606
4610
|
:param str fromAccount: account to transfer from
|
4607
4611
|
:param str toAccount: account to transfer to
|
4608
4612
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
4613
|
+
:param str [params.symbol]: unified ccxt symbol, required when either the fromAccount or toAccount is margin
|
4609
4614
|
:returns dict: a `transfer structure <https://docs.ccxt.com/#/?id=transfer-structure>`
|
4610
4615
|
"""
|
4611
4616
|
await self.load_markets()
|
4612
4617
|
currency = self.currency(code)
|
4613
4618
|
amountToPrecision = self.currency_to_precision(code, amount)
|
4619
|
+
accountsById = self.safe_dict(self.options, 'accountsById', {})
|
4620
|
+
fromId = self.safe_string(accountsById, fromAccount, fromAccount)
|
4621
|
+
toId = self.safe_string(accountsById, toAccount, toAccount)
|
4614
4622
|
request = {
|
4623
|
+
'ccy': currency['id'],
|
4615
4624
|
'amount': amountToPrecision,
|
4616
|
-
'
|
4625
|
+
'from_account_type': fromId,
|
4626
|
+
'to_account_type': toId,
|
4617
4627
|
}
|
4618
|
-
|
4619
|
-
|
4620
|
-
|
4621
|
-
|
4622
|
-
|
4623
|
-
request['
|
4624
|
-
|
4625
|
-
|
4626
|
-
|
4627
|
-
fromId = self.safe_string(accountsById, fromAccount, fromAccount)
|
4628
|
-
toId = self.safe_string(accountsById, toAccount, toAccount)
|
4629
|
-
# fromAccount and toAccount must be integers for margin transfers
|
4630
|
-
# spot is 0, use fetchBalance() to find the margin account id
|
4631
|
-
request['from_account'] = int(fromId)
|
4632
|
-
request['to_account'] = int(toId)
|
4633
|
-
response = await self.v1PrivatePostMarginTransfer(self.extend(request, params))
|
4628
|
+
if (fromAccount == 'margin') or (toAccount == 'margin'):
|
4629
|
+
symbol = self.safe_string(params, 'symbol')
|
4630
|
+
if symbol is None:
|
4631
|
+
raise ArgumentsRequired(self.id + ' transfer() the symbol parameter must be defined for a margin account')
|
4632
|
+
params = self.omit(params, 'symbol')
|
4633
|
+
request['market'] = self.market_id(symbol)
|
4634
|
+
if (fromAccount != 'spot') and (toAccount != 'spot'):
|
4635
|
+
raise BadRequest(self.id + ' transfer() can only be between spot and swap, or spot and margin, either the fromAccount or toAccount must be spot')
|
4636
|
+
response = await self.v2PrivatePostAssetsTransfer(self.extend(request, params))
|
4634
4637
|
#
|
4635
|
-
# {
|
4638
|
+
# {
|
4639
|
+
# "code": 0,
|
4640
|
+
# "data": {},
|
4641
|
+
# "message": "OK"
|
4642
|
+
# }
|
4636
4643
|
#
|
4637
4644
|
return self.extend(self.parse_transfer(response, currency), {
|
4638
4645
|
'amount': self.parse_number(amountToPrecision),
|
@@ -4640,67 +4647,28 @@ class coinex(Exchange, ImplicitAPI):
|
|
4640
4647
|
'toAccount': toAccount,
|
4641
4648
|
})
|
4642
4649
|
|
4643
|
-
def parse_transfer_status(self, status
|
4650
|
+
def parse_transfer_status(self, status):
|
4644
4651
|
statuses = {
|
4645
4652
|
'0': 'ok',
|
4646
4653
|
'SUCCESS': 'ok',
|
4654
|
+
'OK': 'ok',
|
4647
4655
|
}
|
4648
4656
|
return self.safe_string(statuses, status, status)
|
4649
4657
|
|
4650
4658
|
def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
|
4651
|
-
|
4652
|
-
|
4653
|
-
|
4654
|
-
|
4655
|
-
|
4656
|
-
# "asset": "USDT",
|
4657
|
-
# "transfer_type": "transfer_out", # from swap to spot
|
4658
|
-
# "created_at": 1651633422
|
4659
|
-
# },
|
4660
|
-
#
|
4661
|
-
# fetchTransfers Margin
|
4662
|
-
#
|
4663
|
-
# {
|
4664
|
-
# "id": 7580062,
|
4665
|
-
# "updated_at": 1653684379,
|
4666
|
-
# "user_id": 3620173,
|
4667
|
-
# "from_account_id": 0,
|
4668
|
-
# "to_account_id": 1,
|
4669
|
-
# "asset": "BTC",
|
4670
|
-
# "amount": "0.00160829",
|
4671
|
-
# "balance": "0.00160829",
|
4672
|
-
# "transfer_type": "IN",
|
4673
|
-
# "status": "SUCCESS",
|
4674
|
-
# "created_at": 1653684379
|
4675
|
-
# },
|
4676
|
-
#
|
4677
|
-
timestamp = self.safe_timestamp(transfer, 'created_at')
|
4678
|
-
transferType = self.safe_string(transfer, 'transfer_type')
|
4679
|
-
fromAccount = None
|
4680
|
-
toAccount = None
|
4681
|
-
if transferType == 'transfer_out':
|
4682
|
-
fromAccount = 'swap'
|
4683
|
-
toAccount = 'spot'
|
4684
|
-
elif transferType == 'transfer_in':
|
4685
|
-
fromAccount = 'spot'
|
4686
|
-
toAccount = 'swap'
|
4687
|
-
elif transferType == 'IN':
|
4688
|
-
fromAccount = 'spot'
|
4689
|
-
toAccount = 'margin'
|
4690
|
-
elif transferType == 'OUT':
|
4691
|
-
fromAccount = 'margin'
|
4692
|
-
toAccount = 'spot'
|
4693
|
-
currencyId = self.safe_string(transfer, 'asset')
|
4694
|
-
currencyCode = self.safe_currency_code(currencyId, currency)
|
4659
|
+
timestamp = self.safe_integer(transfer, 'created_at')
|
4660
|
+
currencyId = self.safe_string(transfer, 'ccy')
|
4661
|
+
fromId = self.safe_string(transfer, 'from_account_type')
|
4662
|
+
toId = self.safe_string(transfer, 'to_account_type')
|
4663
|
+
accountsById = self.safe_value(self.options, 'accountsById', {})
|
4695
4664
|
return {
|
4696
|
-
'
|
4697
|
-
'id': self.safe_string(transfer, 'id'),
|
4665
|
+
'id': None,
|
4698
4666
|
'timestamp': timestamp,
|
4699
4667
|
'datetime': self.iso8601(timestamp),
|
4700
|
-
'currency':
|
4668
|
+
'currency': self.safe_currency_code(currencyId, currency),
|
4701
4669
|
'amount': self.safe_number(transfer, 'amount'),
|
4702
|
-
'fromAccount':
|
4703
|
-
'toAccount':
|
4670
|
+
'fromAccount': self.safe_string(accountsById, fromId, fromId),
|
4671
|
+
'toAccount': self.safe_string(accountsById, toId, toId),
|
4704
4672
|
'status': self.parse_transfer_status(self.safe_string_2(transfer, 'code', 'status')),
|
4705
4673
|
}
|
4706
4674
|
|
@@ -4490,6 +4490,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
4490
4490
|
partnerSignature = self.hmac(self.encode(partnerPayload), self.encode(partnerSecret), hashlib.sha256, 'base64')
|
4491
4491
|
headers['KC-API-PARTNER-SIGN'] = partnerSignature
|
4492
4492
|
headers['KC-API-PARTNER'] = partnerId
|
4493
|
+
headers['KC-API-PARTNER-VERIFY'] = 'true'
|
4493
4494
|
if isBroker:
|
4494
4495
|
brokerName = self.safe_string(partner, 'name')
|
4495
4496
|
if brokerName is not None:
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.3.
|
7
|
+
__version__ = '4.3.24'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -5566,8 +5566,9 @@ class Exchange(object):
|
|
5566
5566
|
errors = 0
|
5567
5567
|
responseLength = len(response)
|
5568
5568
|
if self.verbose:
|
5569
|
-
|
5570
|
-
|
5569
|
+
cursorString = '' if (cursorValue is None) else cursorValue
|
5570
|
+
iteration = (i + 1)
|
5571
|
+
cursorMessage = 'Cursor pagination call ' + str(iteration) + ' method ' + method + ' response length ' + str(responseLength) + ' cursor ' + cursorString
|
5571
5572
|
self.log(cursorMessage)
|
5572
5573
|
if responseLength == 0:
|
5573
5574
|
break
|
@@ -2932,6 +2932,10 @@ class bitrue(Exchange, ImplicitAPI):
|
|
2932
2932
|
signPath = signPath + '/' + version + '/' + path
|
2933
2933
|
signMessage = timestamp + method + signPath
|
2934
2934
|
if method == 'GET':
|
2935
|
+
keys = list(params.keys())
|
2936
|
+
keysLength = len(keys)
|
2937
|
+
if keysLength > 0:
|
2938
|
+
signMessage += '?' + self.urlencode(params)
|
2935
2939
|
signature = self.hmac(self.encode(signMessage), self.encode(self.secret), hashlib.sha256)
|
2936
2940
|
headers = {
|
2937
2941
|
'X-CH-APIKEY': self.apiKey,
|
@@ -2944,7 +2948,7 @@ class bitrue(Exchange, ImplicitAPI):
|
|
2944
2948
|
'recvWindow': recvWindow,
|
2945
2949
|
}, params)
|
2946
2950
|
body = self.json(query)
|
2947
|
-
signMessage
|
2951
|
+
signMessage += body
|
2948
2952
|
signature = self.hmac(self.encode(signMessage), self.encode(self.secret), hashlib.sha256)
|
2949
2953
|
headers = {
|
2950
2954
|
'Content-Type': 'application/json',
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
# PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
4
|
+
# https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
5
|
+
|
6
|
+
from ccxt.coinbase import coinbase
|
7
|
+
from ccxt.abstract.coinbaseadvanced import ImplicitAPI
|
8
|
+
|
9
|
+
|
10
|
+
class coinbaseadvanced(coinbase, ImplicitAPI):
|
11
|
+
|
12
|
+
def describe(self):
|
13
|
+
return self.deep_extend(super(coinbaseadvanced, self).describe(), {
|
14
|
+
'id': 'coinbaseadvanced',
|
15
|
+
'name': 'Coinbase Advanced',
|
16
|
+
'alias': True,
|
17
|
+
})
|