ccxt 4.4.67__tar.gz → 4.4.69__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.4.67/ccxt.egg-info → ccxt-4.4.69}/PKG-INFO +6 -6
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/__init__.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/paradex.py +23 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/tradeogre.py +1 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/base/exchange.py +10 -5
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/binance.py +16 -2
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitrue.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitstamp.py +2 -3
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bybit.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/coinbase.py +69 -2
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/cryptomus.py +122 -6
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/hyperliquid.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/luno.py +113 -1
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/paradex.py +173 -5
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/phemex.py +2 -2
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/tradeogre.py +14 -9
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/whitebit.py +210 -2
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/base/exchange.py +6 -4
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/binance.py +16 -2
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitrue.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitstamp.py +2 -3
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bybit.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/coinbase.py +69 -2
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/cryptomus.py +122 -6
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/hyperliquid.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/luno.py +113 -1
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/paradex.py +173 -5
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/phemex.py +2 -2
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/test/tests_async.py +22 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/test/tests_sync.py +22 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/tradeogre.py +14 -9
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/whitebit.py +210 -2
- {ccxt-4.4.67 → ccxt-4.4.69/ccxt.egg-info}/PKG-INFO +6 -6
- {ccxt-4.4.67 → ccxt-4.4.69}/package.json +4 -4
- {ccxt-4.4.67 → ccxt-4.4.69}/LICENSE.txt +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/MANIFEST.in +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/README.rst +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitfinex1.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/coinbaseadvanced.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/coinbaseexchange.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/coincatch.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/cryptomus.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/defx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/derive.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/ellipx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/hashkey.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/myokx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/oxfun.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/vertex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/woofipro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/xt.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/ace.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/alpaca.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/ascendex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bingx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitfinex1.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitget.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/coinbaseadvanced.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/coinbaseexchange.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/coinbaseinternational.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/coincatch.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/coinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/defx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/derive.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/ellipx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/gate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/hashkey.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/htx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/kucoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/myokx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/okx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/oxfun.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/vertex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/woofipro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/xt.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/base/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/base/errors.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/base/precise.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/base/types.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bequant.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bigone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/binanceus.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bingx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bit2c.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitbank.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitbns.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitfinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitfinex1.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitflyer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitget.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bithumb.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitmart.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitmex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitopro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitpanda.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitso.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitteam.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bitvavo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/bl3p.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/blofin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/btcalpha.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/btcbox.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/btcturk.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/cex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/coinbaseadvanced.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/coinbaseexchange.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/coinbaseinternational.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/coincatch.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/coincheck.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/coinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/coinlist.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/coinmate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/coinmetro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/coinone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/coinsph.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/coinspot.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/cryptocom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/defx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/delta.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/deribit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/derive.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/digifinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/ellipx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/exmo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/fmfwio.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/gate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/gateio.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/gemini.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/hashkey.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/hitbtc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/hollaex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/htx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/huobi.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/huobijp.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/idex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/independentreserve.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/indodax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/kraken.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/kucoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/kuna.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/latoken.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/lbank.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/mercado.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/mexc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/myokx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/ndax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/novadax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/oceanex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/okcoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/okx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/onetrading.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/oxfun.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/p2b.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/paymium.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/poloniex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/binance.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/bitfinex1.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/blofin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/cex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/coinbaseadvanced.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/coinbaseexchange.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/coincatch.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/defx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/derive.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/gate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/hashkey.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/htx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/idex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/luno.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/myokx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/okx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/oxfun.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/paradex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/probit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/vertex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/woo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/woofipro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/pro/xt.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/probit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/ast_utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/common.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/exceptions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/grammar.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/indenter.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/lark.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/lexer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/load_grammar.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/reconstruct.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/tree.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/tree_templates.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/lark/visitors.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow/base.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow/fields.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow/schema.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow/types.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow/utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow/validate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/common.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/constants.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/hash/address.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starkware/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/sympy/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/test/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/test/tests_helpers.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/test/tests_init.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/timex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/upbit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/vertex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/woo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/woofipro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/xt.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/yobit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/zaif.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt/zonda.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/setup.cfg +0 -0
- {ccxt-4.4.67 → ccxt-4.4.69}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.4.
|
3
|
+
Version: 4.4.69
|
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
|
@@ -72,7 +72,7 @@ Current feature list:
|
|
72
72
|
## Certified Cryptocurrency Exchanges
|
73
73
|
|
74
74
|
|
75
|
-
|
|
75
|
+
|logo |id |name |ver |type |certified |pro |discount |
|
76
76
|
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|-----------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------:|--------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------:|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
77
77
|
| [](https://accounts.binance.com/en/register?ref=D7YA7CLY) | binance | [Binance](https://accounts.binance.com/en/register?ref=D7YA7CLY) | [](https://developers.binance.com/en) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://accounts.binance.com/en/register?ref=D7YA7CLY) |
|
78
78
|
| [](https://accounts.binance.com/en/register?ref=D7YA7CLY) | binancecoinm | [Binance COIN-M](https://accounts.binance.com/en/register?ref=D7YA7CLY) | [](https://binance-docs.github.io/apidocs/delivery/en/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://accounts.binance.com/en/register?ref=D7YA7CLY) |
|
@@ -99,7 +99,7 @@ Current feature list:
|
|
99
99
|
|
100
100
|
The CCXT library currently supports the following 106 cryptocurrency exchange markets and trading APIs:
|
101
101
|
|
102
|
-
|
|
102
|
+
|logo |id |name |ver |type |certified |pro |
|
103
103
|
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------|----------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------:|--------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------|
|
104
104
|
| [](https://ace.io/) | ace | [ACE](https://ace.io/) | [](https://github.com/ace-exchange/ace-offical-api-docs) |  | | |
|
105
105
|
| [](https://alpaca.markets) | alpaca | [Alpaca](https://alpaca.markets) | [](https://alpaca.markets/docs/) |  | | [](https://ccxt.pro) |
|
@@ -267,13 +267,13 @@ console.log(version, Object.keys(exchanges));
|
|
267
267
|
|
268
268
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
269
269
|
|
270
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.
|
271
|
-
* unpkg: https://unpkg.com/ccxt@4.4.
|
270
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.69/dist/ccxt.browser.min.js
|
271
|
+
* unpkg: https://unpkg.com/ccxt@4.4.69/dist/ccxt.browser.min.js
|
272
272
|
|
273
273
|
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.
|
274
274
|
|
275
275
|
```HTML
|
276
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.
|
276
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.69/dist/ccxt.browser.min.js"></script>
|
277
277
|
```
|
278
278
|
|
279
279
|
Creates a global `ccxt` object:
|
@@ -14,8 +14,19 @@ class ImplicitAPI:
|
|
14
14
|
public_get_system_state = publicGetSystemState = Entry('system/state', 'public', 'GET', {'cost': 1})
|
15
15
|
public_get_system_time = publicGetSystemTime = Entry('system/time', 'public', 'GET', {'cost': 1})
|
16
16
|
public_get_trades = publicGetTrades = Entry('trades', 'public', 'GET', {'cost': 1})
|
17
|
+
public_get_vaults = publicGetVaults = Entry('vaults', 'public', 'GET', {'cost': 1})
|
18
|
+
public_get_vaults_balance = publicGetVaultsBalance = Entry('vaults/balance', 'public', 'GET', {'cost': 1})
|
19
|
+
public_get_vaults_config = publicGetVaultsConfig = Entry('vaults/config', 'public', 'GET', {'cost': 1})
|
20
|
+
public_get_vaults_history = publicGetVaultsHistory = Entry('vaults/history', 'public', 'GET', {'cost': 1})
|
21
|
+
public_get_vaults_positions = publicGetVaultsPositions = Entry('vaults/positions', 'public', 'GET', {'cost': 1})
|
22
|
+
public_get_vaults_summary = publicGetVaultsSummary = Entry('vaults/summary', 'public', 'GET', {'cost': 1})
|
23
|
+
public_get_vaults_transfers = publicGetVaultsTransfers = Entry('vaults/transfers', 'public', 'GET', {'cost': 1})
|
17
24
|
private_get_account = privateGetAccount = Entry('account', 'private', 'GET', {'cost': 1})
|
25
|
+
private_get_account_info = privateGetAccountInfo = Entry('account/info', 'private', 'GET', {'cost': 1})
|
26
|
+
private_get_account_history = privateGetAccountHistory = Entry('account/history', 'private', 'GET', {'cost': 1})
|
27
|
+
private_get_account_margin = privateGetAccountMargin = Entry('account/margin', 'private', 'GET', {'cost': 1})
|
18
28
|
private_get_account_profile = privateGetAccountProfile = Entry('account/profile', 'private', 'GET', {'cost': 1})
|
29
|
+
private_get_account_subaccounts = privateGetAccountSubaccounts = Entry('account/subaccounts', 'private', 'GET', {'cost': 1})
|
19
30
|
private_get_balance = privateGetBalance = Entry('balance', 'private', 'GET', {'cost': 1})
|
20
31
|
private_get_fills = privateGetFills = Entry('fills', 'private', 'GET', {'cost': 1})
|
21
32
|
private_get_funding_payments = privateGetFundingPayments = Entry('funding/payments', 'private', 'GET', {'cost': 1})
|
@@ -28,13 +39,25 @@ class ImplicitAPI:
|
|
28
39
|
private_get_orders_by_client_id_client_id = privateGetOrdersByClientIdClientId = Entry('orders/by_client_id/{client_id}', 'private', 'GET', {'cost': 1})
|
29
40
|
private_get_orders_order_id = privateGetOrdersOrderId = Entry('orders/{order_id}', 'private', 'GET', {'cost': 1})
|
30
41
|
private_get_points_data_market_program = privateGetPointsDataMarketProgram = Entry('points_data/{market}/{program}', 'private', 'GET', {'cost': 1})
|
42
|
+
private_get_referrals_qr_code = privateGetReferralsQrCode = Entry('referrals/qr-code', 'private', 'GET', {'cost': 1})
|
31
43
|
private_get_referrals_summary = privateGetReferralsSummary = Entry('referrals/summary', 'private', 'GET', {'cost': 1})
|
32
44
|
private_get_transfers = privateGetTransfers = Entry('transfers', 'private', 'GET', {'cost': 1})
|
45
|
+
private_get_algo_orders = privateGetAlgoOrders = Entry('algo/orders', 'private', 'GET', {'cost': 1})
|
46
|
+
private_get_algo_orders_history = privateGetAlgoOrdersHistory = Entry('algo/orders-history', 'private', 'GET', {'cost': 1})
|
47
|
+
private_get_algo_orders_algo_id = privateGetAlgoOrdersAlgoId = Entry('algo/orders/{algo_id}', 'private', 'GET', {'cost': 1})
|
48
|
+
private_get_vaults_account_summary = privateGetVaultsAccountSummary = Entry('vaults/account-summary', 'private', 'GET', {'cost': 1})
|
49
|
+
private_post_account_margin_market = privatePostAccountMarginMarket = Entry('account/margin/{market}', 'private', 'POST', {'cost': 1})
|
50
|
+
private_post_account_profile_max_slippage = privatePostAccountProfileMaxSlippage = Entry('account/profile/max_slippage', 'private', 'POST', {'cost': 1})
|
33
51
|
private_post_account_profile_referral_code = privatePostAccountProfileReferralCode = Entry('account/profile/referral_code', 'private', 'POST', {'cost': 1})
|
34
52
|
private_post_account_profile_username = privatePostAccountProfileUsername = Entry('account/profile/username', 'private', 'POST', {'cost': 1})
|
35
53
|
private_post_auth = privatePostAuth = Entry('auth', 'private', 'POST', {'cost': 1})
|
36
54
|
private_post_onboarding = privatePostOnboarding = Entry('onboarding', 'private', 'POST', {'cost': 1})
|
37
55
|
private_post_orders = privatePostOrders = Entry('orders', 'private', 'POST', {'cost': 1})
|
56
|
+
private_post_orders_batch = privatePostOrdersBatch = Entry('orders/batch', 'private', 'POST', {'cost': 1})
|
57
|
+
private_post_algo_orders = privatePostAlgoOrders = Entry('algo/orders', 'private', 'POST', {'cost': 1})
|
58
|
+
private_post_vaults = privatePostVaults = Entry('vaults', 'private', 'POST', {'cost': 1})
|
59
|
+
private_put_orders_order_id = privatePutOrdersOrderId = Entry('orders/{order_id}', 'private', 'PUT', {'cost': 1})
|
38
60
|
private_delete_orders = privateDeleteOrders = Entry('orders', 'private', 'DELETE', {'cost': 1})
|
39
61
|
private_delete_orders_by_client_id_client_id = privateDeleteOrdersByClientIdClientId = Entry('orders/by_client_id/{client_id}', 'private', 'DELETE', {'cost': 1})
|
40
62
|
private_delete_orders_order_id = privateDeleteOrdersOrderId = Entry('orders/{order_id}', 'private', 'DELETE', {'cost': 1})
|
63
|
+
private_delete_algo_orders_algo_id = privateDeleteAlgoOrdersAlgoId = Entry('algo/orders/{algo_id}', 'private', 'DELETE', {'cost': 1})
|
@@ -7,6 +7,7 @@ class ImplicitAPI:
|
|
7
7
|
public_get_ticker_market = publicGetTickerMarket = Entry('ticker/{market}', 'public', 'GET', {'cost': 1})
|
8
8
|
public_get_history_market = publicGetHistoryMarket = Entry('history/{market}', 'public', 'GET', {'cost': 1})
|
9
9
|
public_get_chart_interval_market_timestamp = publicGetChartIntervalMarketTimestamp = Entry('chart/{interval}/{market}/{timestamp}', 'public', 'GET', {'cost': 1})
|
10
|
+
public_get_chart_interval_market = publicGetChartIntervalMarket = Entry('chart/{interval}/{market}', 'public', 'GET', {'cost': 1})
|
10
11
|
private_get_account_balance = privateGetAccountBalance = Entry('account/balance', 'private', 'GET', {'cost': 1})
|
11
12
|
private_get_account_balances = privateGetAccountBalances = Entry('account/balances', 'private', 'GET', {'cost': 1})
|
12
13
|
private_get_account_order_uuid = privateGetAccountOrderUuid = Entry('account/order/{uuid}', 'private', 'GET', {'cost': 1})
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '4.4.
|
5
|
+
__version__ = '4.4.69'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -24,7 +24,7 @@ from ccxt.async_support.base.throttler import Throttler
|
|
24
24
|
|
25
25
|
# -----------------------------------------------------------------------------
|
26
26
|
|
27
|
-
from ccxt.base.errors import BaseError,
|
27
|
+
from ccxt.base.errors import BaseError, BadSymbol, BadRequest, BadResponse, ExchangeError, ExchangeNotAvailable, RequestTimeout, NotSupported, NullResponse, InvalidAddress, RateLimitExceeded, OperationFailed
|
28
28
|
from ccxt.base.types import OrderType, OrderSide, OrderRequest, CancellationRequest
|
29
29
|
|
30
30
|
# -----------------------------------------------------------------------------
|
@@ -283,6 +283,10 @@ class Exchange(BaseExchange):
|
|
283
283
|
self.markets_loading = asyncio.ensure_future(coroutine)
|
284
284
|
try:
|
285
285
|
result = await self.markets_loading
|
286
|
+
except asyncio.CancelledError as e: # CancelledError is a base exception so we need to catch it explicitly
|
287
|
+
self.reloading_markets = False
|
288
|
+
self.markets_loading = None
|
289
|
+
raise e
|
286
290
|
except Exception as e:
|
287
291
|
self.reloading_markets = False
|
288
292
|
self.markets_loading = None
|
@@ -881,14 +885,15 @@ class Exchange(BaseExchange):
|
|
881
885
|
try:
|
882
886
|
return await self.fetch(request['url'], request['method'], request['headers'], request['body'])
|
883
887
|
except Exception as e:
|
884
|
-
if isinstance(e,
|
888
|
+
if isinstance(e, OperationFailed):
|
885
889
|
if i < retries:
|
886
890
|
if self.verbose:
|
887
891
|
self.log('Request failed with the error: ' + str(e) + ', retrying ' + (i + str(1)) + ' of ' + str(retries) + '...')
|
888
892
|
if (retryDelay is not None) and (retryDelay != 0):
|
889
893
|
await self.sleep(retryDelay)
|
890
|
-
|
891
|
-
|
894
|
+
else:
|
895
|
+
raise e
|
896
|
+
else:
|
892
897
|
raise e
|
893
898
|
return None # self line is never reached, but exists for c# value return requirement
|
894
899
|
|
@@ -11326,8 +11326,22 @@ class binance(Exchange, ImplicitAPI):
|
|
11326
11326
|
query = None
|
11327
11327
|
# handle batchOrders
|
11328
11328
|
if (path == 'batchOrders') and ((method == 'POST') or (method == 'PUT')):
|
11329
|
-
batchOrders = self.
|
11330
|
-
|
11329
|
+
batchOrders = self.safe_list(params, 'batchOrders')
|
11330
|
+
checkedBatchOrders = batchOrders
|
11331
|
+
if method == 'POST' and api == 'fapiPrivate':
|
11332
|
+
# check broker id if batchOrders are called with fapiPrivatePostBatchOrders
|
11333
|
+
checkedBatchOrders = []
|
11334
|
+
for i in range(0, len(batchOrders)):
|
11335
|
+
batchOrder = batchOrders[i]
|
11336
|
+
newClientOrderId = self.safe_string(batchOrder, 'newClientOrderId')
|
11337
|
+
if newClientOrderId is None:
|
11338
|
+
defaultId = 'x-xcKtGhcu' # batchOrders can not be spot or margin
|
11339
|
+
broker = self.safe_dict(self.options, 'broker', {})
|
11340
|
+
brokerId = self.safe_string(broker, 'future', defaultId)
|
11341
|
+
newClientOrderId = brokerId + self.uuid22()
|
11342
|
+
batchOrder['newClientOrderId'] = newClientOrderId
|
11343
|
+
checkedBatchOrders.append(batchOrder)
|
11344
|
+
queryBatch = (self.json(checkedBatchOrders))
|
11331
11345
|
params['batchOrders'] = queryBatch
|
11332
11346
|
defaultRecvWindow = self.safe_integer(self.options, 'recvWindow')
|
11333
11347
|
extendedParams = self.extend({
|
@@ -1634,7 +1634,7 @@ class bitrue(Exchange, ImplicitAPI):
|
|
1634
1634
|
tickers: dict = {}
|
1635
1635
|
for i in range(0, len(data)):
|
1636
1636
|
ticker = self.safe_dict(data, i, {})
|
1637
|
-
market = self.
|
1637
|
+
market = self.safe_market(self.safe_string(ticker, 'symbol'))
|
1638
1638
|
tickers[market['id']] = ticker
|
1639
1639
|
return self.parse_tickers(tickers, symbols)
|
1640
1640
|
|
@@ -1282,10 +1282,9 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
1282
1282
|
|
1283
1283
|
def parse_trading_fees(self, fees):
|
1284
1284
|
result: dict = {'info': fees}
|
1285
|
-
|
1286
|
-
for i in range(0, len(symbols)):
|
1287
|
-
symbol = symbols[i]
|
1285
|
+
for i in range(0, len(fees)):
|
1288
1286
|
fee = self.parse_trading_fee(fees[i])
|
1287
|
+
symbol = fee['symbol']
|
1289
1288
|
result[symbol] = fee
|
1290
1289
|
return result
|
1291
1290
|
|
@@ -8826,7 +8826,7 @@ classic accounts only/ spot not supported* fetches information on an order made
|
|
8826
8826
|
feedback = self.id + ' private api uses /user/v3/private/query-api to check if you have a unified account. The API key of user id must own one of permissions: "Account Transfer", "Subaccount Transfer", "Withdrawal" ' + body
|
8827
8827
|
else:
|
8828
8828
|
feedback = self.id + ' ' + body
|
8829
|
-
if body.find('Withdraw address chain or destination tag are not equal'):
|
8829
|
+
if body.find('Withdraw address chain or destination tag are not equal') > -1:
|
8830
8830
|
feedback = feedback + '; You might also need to ensure the address is whitelisted'
|
8831
8831
|
self.throw_broadly_matched_exception(self.exceptions['broad'], body, feedback)
|
8832
8832
|
self.throw_exactly_matched_exception(self.exceptions['exact'], errorCode, feedback)
|
@@ -4089,6 +4089,7 @@ class coinbase(Exchange, ImplicitAPI):
|
|
4089
4089
|
'amount': self.number_to_string(amount),
|
4090
4090
|
'currency': code.upper(), # need to use code in case depositing USD etc.
|
4091
4091
|
'payment_method': id,
|
4092
|
+
'commit': True, # otheriwse the deposit does not go through
|
4092
4093
|
}
|
4093
4094
|
response = await self.v2PrivatePostAccountsAccountIdDeposits(self.extend(request, params))
|
4094
4095
|
#
|
@@ -4127,7 +4128,8 @@ class coinbase(Exchange, ImplicitAPI):
|
|
4127
4128
|
# }
|
4128
4129
|
# }
|
4129
4130
|
#
|
4130
|
-
|
4131
|
+
# https://github.com/ccxt/ccxt/issues/25484
|
4132
|
+
data = self.safe_dict_2(response, 'data', 'transfer', {})
|
4131
4133
|
return self.parse_transaction(data)
|
4132
4134
|
|
4133
4135
|
async def fetch_deposit(self, id: str, code: Str = None, params={}):
|
@@ -4192,7 +4194,8 @@ class coinbase(Exchange, ImplicitAPI):
|
|
4192
4194
|
# }
|
4193
4195
|
# }
|
4194
4196
|
#
|
4195
|
-
|
4197
|
+
# https://github.com/ccxt/ccxt/issues/25484
|
4198
|
+
data = self.safe_dict_2(response, 'data', 'transfer', {})
|
4196
4199
|
return self.parse_transaction(data)
|
4197
4200
|
|
4198
4201
|
async def fetch_deposit_method_ids(self, params={}):
|
@@ -4670,6 +4673,70 @@ class coinbase(Exchange, ImplicitAPI):
|
|
4670
4673
|
}
|
4671
4674
|
return result
|
4672
4675
|
|
4676
|
+
async def fetch_portfolio_details(self, portfolioUuid: str, params={}) -> List[Any]:
|
4677
|
+
"""
|
4678
|
+
Fetch details for a specific portfolio by UUID
|
4679
|
+
|
4680
|
+
https://docs.cloud.coinbase.com/advanced-trade/reference/retailbrokerageapi_getportfolios
|
4681
|
+
|
4682
|
+
:param str portfolioUuid: The unique identifier of the portfolio to fetch
|
4683
|
+
:param Dict [params]: Extra parameters specific to the exchange API endpoint
|
4684
|
+
:returns any[]: An account structure <https://docs.ccxt.com/#/?id=account-structure>
|
4685
|
+
"""
|
4686
|
+
await self.load_markets()
|
4687
|
+
request = {
|
4688
|
+
'portfolio_uuid': portfolioUuid,
|
4689
|
+
}
|
4690
|
+
response = await self.v3PrivateGetBrokeragePortfoliosPortfolioUuid(self.extend(request, params))
|
4691
|
+
result = self.parse_portfolio_details(response)
|
4692
|
+
return result
|
4693
|
+
|
4694
|
+
def parse_portfolio_details(self, portfolioData: dict):
|
4695
|
+
breakdown = portfolioData['breakdown']
|
4696
|
+
portfolioInfo = self.safe_dict(breakdown, 'portfolio', {})
|
4697
|
+
portfolioName = self.safe_string(portfolioInfo, 'name', 'Unknown')
|
4698
|
+
portfolioUuid = self.safe_string(portfolioInfo, 'uuid', '')
|
4699
|
+
spotPositions = self.safe_list(breakdown, 'spot_positions', [])
|
4700
|
+
parsedPositions = []
|
4701
|
+
for i in range(0, len(spotPositions)):
|
4702
|
+
position: dict = spotPositions[i]
|
4703
|
+
currencyCode = self.safe_string(position, 'asset', 'Unknown')
|
4704
|
+
availableBalanceStr = self.safe_string(position, 'available_to_trade_fiat', '0')
|
4705
|
+
availableBalance = self.parse_number(availableBalanceStr)
|
4706
|
+
totalBalanceFiatStr = self.safe_string(position, 'total_balance_fiat', '0')
|
4707
|
+
totalBalanceFiat = self.parse_number(totalBalanceFiatStr)
|
4708
|
+
holdAmount = totalBalanceFiat - availableBalance
|
4709
|
+
costBasisDict = self.safe_dict(position, 'cost_basis', {})
|
4710
|
+
costBasisStr = self.safe_string(costBasisDict, 'value', '0')
|
4711
|
+
averageEntryPriceDict = self.safe_dict(position, 'average_entry_price', {})
|
4712
|
+
averageEntryPriceStr = self.safe_string(averageEntryPriceDict, 'value', '0')
|
4713
|
+
positionData: dict = {
|
4714
|
+
'currency': currencyCode,
|
4715
|
+
'available_balance': availableBalance,
|
4716
|
+
'hold_amount': holdAmount > holdAmount if 0 else 0,
|
4717
|
+
'wallet_name': portfolioName,
|
4718
|
+
'account_id': portfolioUuid,
|
4719
|
+
'account_uuid': self.safe_string(position, 'account_uuid', ''),
|
4720
|
+
'total_balance_fiat': totalBalanceFiat,
|
4721
|
+
'total_balance_crypto': self.parse_number(self.safe_string(position, 'total_balance_crypto', '0')),
|
4722
|
+
'available_to_trade_fiat': self.parse_number(self.safe_string(position, 'available_to_trade_fiat', '0')),
|
4723
|
+
'available_to_trade_crypto': self.parse_number(self.safe_string(position, 'available_to_trade_crypto', '0')),
|
4724
|
+
'available_to_transfer_fiat': self.parse_number(self.safe_string(position, 'available_to_transfer_fiat', '0')),
|
4725
|
+
'available_to_transfer_crypto': self.parse_number(self.safe_string(position, 'available_to_trade_crypto', '0')),
|
4726
|
+
'allocation': self.parse_number(self.safe_string(position, 'allocation', '0')),
|
4727
|
+
'cost_basis': self.parse_number(costBasisStr),
|
4728
|
+
'cost_basis_currency': self.safe_string(costBasisDict, 'currency', 'USD'),
|
4729
|
+
'is_cash': self.safe_bool(position, 'is_cash', False),
|
4730
|
+
'average_entry_price': self.parse_number(averageEntryPriceStr),
|
4731
|
+
'average_entry_price_currency': self.safe_string(averageEntryPriceDict, 'currency', 'USD'),
|
4732
|
+
'asset_uuid': self.safe_string(position, 'asset_uuid', ''),
|
4733
|
+
'unrealized_pnl': self.parse_number(self.safe_string(position, 'unrealized_pnl', '0')),
|
4734
|
+
'asset_color': self.safe_string(position, 'asset_color', ''),
|
4735
|
+
'account_type': self.safe_string(position, 'account_type', ''),
|
4736
|
+
}
|
4737
|
+
parsedPositions.append(positionData)
|
4738
|
+
return parsedPositions
|
4739
|
+
|
4673
4740
|
def create_auth_token(self, seconds: Int, method: Str = None, url: Str = None):
|
4674
4741
|
# it may not work for v2
|
4675
4742
|
uri = None
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.cryptomus import ImplicitAPI
|
8
|
-
from ccxt.base.types import Any, Balances, Currencies, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade
|
8
|
+
from ccxt.base.types import Any, Balances, Currencies, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees
|
9
9
|
from typing import List
|
10
10
|
from ccxt.base.errors import ExchangeError
|
11
11
|
from ccxt.base.errors import ArgumentsRequired
|
@@ -23,7 +23,7 @@ class cryptomus(Exchange, ImplicitAPI):
|
|
23
23
|
'name': 'Cryptomus',
|
24
24
|
'countries': ['CA'],
|
25
25
|
'rateLimit': 100, # todo check
|
26
|
-
'version': '
|
26
|
+
'version': 'v2',
|
27
27
|
'certified': False,
|
28
28
|
'pro': False,
|
29
29
|
'has': {
|
@@ -105,7 +105,7 @@ class cryptomus(Exchange, ImplicitAPI):
|
|
105
105
|
'fetchTime': False,
|
106
106
|
'fetchTrades': True,
|
107
107
|
'fetchTradingFee': False,
|
108
|
-
'fetchTradingFees':
|
108
|
+
'fetchTradingFees': True,
|
109
109
|
'fetchTransactions': False,
|
110
110
|
'fetchTransfers': False,
|
111
111
|
'fetchWithdrawals': False,
|
@@ -143,9 +143,9 @@ class cryptomus(Exchange, ImplicitAPI):
|
|
143
143
|
'private': {
|
144
144
|
'get': {
|
145
145
|
'v2/user-api/exchange/orders': 1, # done
|
146
|
-
'v2/user-api/exchange/orders/history': 1,
|
146
|
+
'v2/user-api/exchange/orders/history': 1, # done
|
147
147
|
'v2/user-api/exchange/account/balance': 1, # done
|
148
|
-
'v2/user-api/exchange/account/tariffs': 1,
|
148
|
+
'v2/user-api/exchange/account/tariffs': 1, # done
|
149
149
|
'v2/user-api/payment/services': 1,
|
150
150
|
'v2/user-api/payout/services': 1,
|
151
151
|
'v2/user-api/transaction/list': 1,
|
@@ -231,7 +231,9 @@ class cryptomus(Exchange, ImplicitAPI):
|
|
231
231
|
async def fetch_markets(self, params={}) -> List[Market]:
|
232
232
|
"""
|
233
233
|
retrieves data on all markets for the exchange
|
234
|
+
|
234
235
|
https://doc.cryptomus.com/personal/market-cap/tickers
|
236
|
+
|
235
237
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
236
238
|
:returns dict[]: an array of objects representing market data
|
237
239
|
"""
|
@@ -339,7 +341,9 @@ class cryptomus(Exchange, ImplicitAPI):
|
|
339
341
|
async def fetch_currencies(self, params={}) -> Currencies:
|
340
342
|
"""
|
341
343
|
fetches all available currencies on an exchange
|
344
|
+
|
342
345
|
https://doc.cryptomus.com/personal/market-cap/assets
|
346
|
+
|
343
347
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
344
348
|
:returns dict: an associative dictionary of currencies
|
345
349
|
"""
|
@@ -466,7 +470,9 @@ class cryptomus(Exchange, ImplicitAPI):
|
|
466
470
|
async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
467
471
|
"""
|
468
472
|
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
473
|
+
|
469
474
|
https://doc.cryptomus.com/personal/market-cap/tickers
|
475
|
+
|
470
476
|
:param str[] [symbols]: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
471
477
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
472
478
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
@@ -528,7 +534,9 @@ class cryptomus(Exchange, ImplicitAPI):
|
|
528
534
|
async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
529
535
|
"""
|
530
536
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
537
|
+
|
531
538
|
https://doc.cryptomus.com/personal/market-cap/orderbook
|
539
|
+
|
532
540
|
:param str symbol: unified symbol of the market to fetch the order book for
|
533
541
|
:param int [limit]: the maximum amount of order book entries to return
|
534
542
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -570,7 +578,9 @@ class cryptomus(Exchange, ImplicitAPI):
|
|
570
578
|
async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
571
579
|
"""
|
572
580
|
get the list of most recent trades for a particular symbol
|
581
|
+
|
573
582
|
https://doc.cryptomus.com/personal/market-cap/trades
|
583
|
+
|
574
584
|
:param str symbol: unified symbol of the market to fetch trades for
|
575
585
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
576
586
|
:param int [limit]: the maximum amount of trades to fetch(maximum value is 100)
|
@@ -634,7 +644,9 @@ class cryptomus(Exchange, ImplicitAPI):
|
|
634
644
|
async def fetch_balance(self, params={}) -> Balances:
|
635
645
|
"""
|
636
646
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
647
|
+
|
637
648
|
https://doc.cryptomus.com/personal/converts/balance
|
649
|
+
|
638
650
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
639
651
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
640
652
|
"""
|
@@ -679,8 +691,10 @@ class cryptomus(Exchange, ImplicitAPI):
|
|
679
691
|
async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}) -> Order:
|
680
692
|
"""
|
681
693
|
create a trade order
|
694
|
+
|
682
695
|
https://doc.cryptomus.com/personal/exchange/market-order-creation
|
683
696
|
https://doc.cryptomus.com/personal/exchange/limit-order-creation
|
697
|
+
|
684
698
|
:param str symbol: unified symbol of the market to create an order in
|
685
699
|
:param str type: 'market' or 'limit' or for spot
|
686
700
|
:param str side: 'buy' or 'sell'
|
@@ -688,7 +702,6 @@ class cryptomus(Exchange, ImplicitAPI):
|
|
688
702
|
:param float [price]: the price that the order is to be fulfilled, in units of the quote currency, ignored in market orders(only for limit orders)
|
689
703
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
690
704
|
:param float [params.cost]: *market buy only* the quote quantity that can be used alternative for the amount
|
691
|
-
:param dict [params]: extra parameters specific to the exchange API endpoint
|
692
705
|
:param str [params.clientOrderId]: a unique identifier for the order(optional)
|
693
706
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
694
707
|
"""
|
@@ -742,7 +755,9 @@ class cryptomus(Exchange, ImplicitAPI):
|
|
742
755
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
743
756
|
"""
|
744
757
|
cancels an open limit order
|
758
|
+
|
745
759
|
https://doc.cryptomus.com/personal/exchange/limit-order-cancellation
|
760
|
+
|
746
761
|
:param str id: order id
|
747
762
|
:param str symbol: unified symbol of the market the order was made in(not used in cryptomus)
|
748
763
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -762,7 +777,9 @@ class cryptomus(Exchange, ImplicitAPI):
|
|
762
777
|
async def fetch_canceled_and_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
763
778
|
"""
|
764
779
|
fetches information on multiple orders made by the user
|
780
|
+
|
765
781
|
https://doc.cryptomus.com/personal/exchange/history-of-completed-orders
|
782
|
+
|
766
783
|
:param str symbol: unified market symbol of the market orders were made in(not used in cryptomus)
|
767
784
|
:param int [since]: the earliest time in ms to fetch orders for(not used in cryptomus)
|
768
785
|
:param int [limit]: the maximum number of order structures to retrieve(not used in cryptomus)
|
@@ -832,7 +849,9 @@ class cryptomus(Exchange, ImplicitAPI):
|
|
832
849
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
833
850
|
"""
|
834
851
|
fetch all unfilled currently open orders
|
852
|
+
|
835
853
|
https://doc.cryptomus.com/personal/exchange/list-of-active-orders
|
854
|
+
|
836
855
|
:param str symbol: unified market symbol
|
837
856
|
:param int [since]: the earliest time in ms to fetch open orders for(not used in cryptomus)
|
838
857
|
:param int [limit]: the maximum number of open orders structures to retrieve(not used in cryptomus)
|
@@ -993,6 +1012,103 @@ class cryptomus(Exchange, ImplicitAPI):
|
|
993
1012
|
}
|
994
1013
|
return self.safe_string(statuses, status, status)
|
995
1014
|
|
1015
|
+
async def fetch_trading_fees(self, params={}) -> TradingFees:
|
1016
|
+
"""
|
1017
|
+
fetch the trading fees for multiple markets
|
1018
|
+
|
1019
|
+
https://trade-docs.coinlist.co/?javascript--nodejs#list-fees
|
1020
|
+
|
1021
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1022
|
+
:returns dict: a dictionary of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>` indexed by market symbols
|
1023
|
+
"""
|
1024
|
+
response = await self.privateGetV2UserApiExchangeAccountTariffs(params)
|
1025
|
+
#
|
1026
|
+
# {
|
1027
|
+
# result: {
|
1028
|
+
# equivalent_currency_code: 'USD',
|
1029
|
+
# current_tariff_step: {
|
1030
|
+
# step: '0',
|
1031
|
+
# from_turnover: '0.00000000',
|
1032
|
+
# maker_percent: '0.08',
|
1033
|
+
# taker_percent: '0.1'
|
1034
|
+
# },
|
1035
|
+
# tariff_steps: [
|
1036
|
+
# {
|
1037
|
+
# step: '0',
|
1038
|
+
# from_turnover: '0.00000000',
|
1039
|
+
# maker_percent: '0.08',
|
1040
|
+
# taker_percent: '0.1'
|
1041
|
+
# },
|
1042
|
+
# {
|
1043
|
+
# step: '1',
|
1044
|
+
# from_turnover: '100001.00000000',
|
1045
|
+
# maker_percent: '0.06',
|
1046
|
+
# taker_percent: '0.095'
|
1047
|
+
# },
|
1048
|
+
# {
|
1049
|
+
# step: '2',
|
1050
|
+
# from_turnover: '250001.00000000',
|
1051
|
+
# maker_percent: '0.055',
|
1052
|
+
# taker_percent: '0.085'
|
1053
|
+
# },
|
1054
|
+
# {
|
1055
|
+
# step: '3',
|
1056
|
+
# from_turnover: '500001.00000000',
|
1057
|
+
# maker_percent: '0.05',
|
1058
|
+
# taker_percent: '0.075'
|
1059
|
+
# },
|
1060
|
+
# {
|
1061
|
+
# step: '4',
|
1062
|
+
# from_turnover: '2500001.00000000',
|
1063
|
+
# maker_percent: '0.04',
|
1064
|
+
# taker_percent: '0.07'
|
1065
|
+
# }
|
1066
|
+
# ],
|
1067
|
+
# daily_turnover: '0.00000000',
|
1068
|
+
# monthly_turnover: '77.52062617',
|
1069
|
+
# circulation_funds: '25.48900443'
|
1070
|
+
# }
|
1071
|
+
# }
|
1072
|
+
#
|
1073
|
+
data = self.safe_dict(response, 'result', {})
|
1074
|
+
currentFeeTier = self.safe_dict(data, 'current_tariff_step', {})
|
1075
|
+
makerFee = self.safe_string(currentFeeTier, 'maker_percent')
|
1076
|
+
takerFee = self.safe_string(currentFeeTier, 'taker_percent')
|
1077
|
+
makerFee = Precise.string_div(makerFee, '100')
|
1078
|
+
takerFee = Precise.string_div(takerFee, '100')
|
1079
|
+
feeTiers = self.safe_list(data, 'tariff_steps', [])
|
1080
|
+
result: dict = {}
|
1081
|
+
tiers = self.parse_fee_tiers(feeTiers)
|
1082
|
+
for i in range(0, len(self.symbols)):
|
1083
|
+
symbol = self.symbols[i]
|
1084
|
+
result[symbol] = {
|
1085
|
+
'info': response,
|
1086
|
+
'symbol': symbol,
|
1087
|
+
'maker': self.parse_number(makerFee),
|
1088
|
+
'taker': self.parse_number(takerFee),
|
1089
|
+
'percentage': True,
|
1090
|
+
'tierBased': True,
|
1091
|
+
'tiers': tiers,
|
1092
|
+
}
|
1093
|
+
return result
|
1094
|
+
|
1095
|
+
def parse_fee_tiers(self, feeTiers, market: Market = None):
|
1096
|
+
takerFees = []
|
1097
|
+
makerFees = []
|
1098
|
+
for i in range(0, len(feeTiers)):
|
1099
|
+
tier = feeTiers[i]
|
1100
|
+
turnover = self.safe_number(tier, 'from_turnover')
|
1101
|
+
taker = self.safe_string(tier, 'taker_percent')
|
1102
|
+
maker = self.safe_string(tier, 'maker_percent')
|
1103
|
+
maker = Precise.string_div(maker, '100')
|
1104
|
+
taker = Precise.string_div(taker, '100')
|
1105
|
+
makerFees.append([turnover, self.parse_number(maker)])
|
1106
|
+
takerFees.append([turnover, self.parse_number(taker)])
|
1107
|
+
return {
|
1108
|
+
'maker': makerFees,
|
1109
|
+
'taker': takerFees,
|
1110
|
+
}
|
1111
|
+
|
996
1112
|
def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
|
997
1113
|
endpoint = self.implode_params(path, params)
|
998
1114
|
params = self.omit(params, self.extract_params(path))
|
@@ -838,7 +838,7 @@ class hyperliquid(Exchange, ImplicitAPI):
|
|
838
838
|
'info': response,
|
839
839
|
'USDC': {
|
840
840
|
'total': self.safe_number(data, 'accountValue'),
|
841
|
-
'
|
841
|
+
'used': self.safe_number(data, 'totalMarginUsed'),
|
842
842
|
},
|
843
843
|
}
|
844
844
|
timestamp = self.safe_integer(response, 'time')
|