ccxt 4.4.67__tar.gz → 4.4.68__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.68}/PKG-INFO +6 -6
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/__init__.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/tradeogre.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/__init__.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/base/exchange.py +6 -5
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitrue.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bybit.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/coinbase.py +73 -2
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/luno.py +113 -1
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/tradeogre.py +7 -6
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/base/exchange.py +6 -4
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitrue.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bybit.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/coinbase.py +73 -2
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/luno.py +113 -1
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/tradeogre.py +7 -6
- {ccxt-4.4.67 → ccxt-4.4.68/ccxt.egg-info}/PKG-INFO +6 -6
- {ccxt-4.4.67 → ccxt-4.4.68}/package.json +4 -4
- {ccxt-4.4.67 → ccxt-4.4.68}/LICENSE.txt +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/MANIFEST.in +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/README.rst +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/binance.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/binancecoinm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/binanceus.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/binanceusdm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitfinex1.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/coinbaseadvanced.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/coinbaseexchange.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/coincatch.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/cryptocom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/cryptomus.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/defx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/derive.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/ellipx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/hashkey.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/kucoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/kucoinfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/myokx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/oxfun.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/paradex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/vertex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/woo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/woofipro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/xt.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/ace.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/alpaca.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/ascendex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/ace.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/alpaca.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/binance.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bingx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitfinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitfinex1.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitget.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/coinbaseadvanced.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/coinbaseexchange.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/coinbaseinternational.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/coincatch.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/coinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/cryptocom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/cryptomus.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/defx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/derive.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/ellipx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/gate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/hashkey.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/htx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/hyperliquid.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/independentreserve.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/kucoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/mercado.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/myokx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/okx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/oxfun.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/paradex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/vertex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/whitebit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/woo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/woofipro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/xt.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/yobit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/async_support/zonda.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/base/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/base/errors.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/base/precise.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/base/types.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bequant.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bigone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/binance.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/binanceus.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bingx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bit2c.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitbank.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitbns.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitfinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitfinex1.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitflyer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitget.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bithumb.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitmart.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitmex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitopro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitpanda.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitso.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitstamp.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitteam.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bitvavo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/bl3p.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/blofin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/btcalpha.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/btcbox.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/btcturk.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/cex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/coinbaseadvanced.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/coinbaseexchange.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/coinbaseinternational.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/coincatch.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/coincheck.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/coinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/coinlist.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/coinmate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/coinmetro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/coinone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/coinsph.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/coinspot.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/cryptocom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/cryptomus.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/defx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/delta.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/deribit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/derive.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/digifinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/ellipx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/exmo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/fmfwio.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/gate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/gateio.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/gemini.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/hashkey.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/hitbtc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/hollaex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/htx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/huobi.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/huobijp.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/hyperliquid.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/idex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/independentreserve.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/indodax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/kraken.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/kucoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/kuna.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/latoken.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/lbank.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/mercado.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/mexc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/myokx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/ndax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/novadax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/oceanex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/okcoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/okx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/onetrading.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/oxfun.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/p2b.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/paradex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/paymium.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/phemex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/poloniex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/binance.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/bitfinex1.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/bitget.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/bitmart.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/bitvavo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/blofin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/bybit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/cex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/coinbaseadvanced.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/coinbaseexchange.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/coincatch.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/cryptocom.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/defx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/derive.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/gate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/gemini.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/hashkey.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/htx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/idex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/independentreserve.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/kraken.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/luno.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/myokx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/okx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/onetrading.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/oxfun.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/paradex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/poloniexfutures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/probit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/vertex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/woo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/woofipro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/pro/xt.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/probit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/ast_utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/common.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/exceptions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/grammar.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/indenter.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/lark.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/lexer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/load_grammar.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/reconstruct.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/tree.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/tree_templates.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/lark/visitors.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow/base.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow/fields.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow/schema.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow/types.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow/utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow/validate.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/common.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/constants.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/hash/address.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starkware/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/sympy/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/test/__init__.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/test/tests_async.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/test/tests_helpers.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/test/tests_init.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/test/tests_sync.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/timex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/upbit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/vertex.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/whitebit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/woo.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/woofipro.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/xt.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/yobit.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/zaif.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt/zonda.py +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/setup.cfg +0 -0
- {ccxt-4.4.67 → ccxt-4.4.68}/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.68
|
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.68/dist/ccxt.browser.min.js
|
271
|
+
* unpkg: https://unpkg.com/ccxt@4.4.68/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.68/dist/ccxt.browser.min.js"></script>
|
277
277
|
```
|
278
278
|
|
279
279
|
Creates a global `ccxt` object:
|
@@ -6,7 +6,7 @@ class ImplicitAPI:
|
|
6
6
|
public_get_orders_market = publicGetOrdersMarket = Entry('orders/{market}', 'public', 'GET', {'cost': 1})
|
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 = publicGetChartIntervalMarket = Entry('chart/{interval}/{market}', 'public', 'GET', {'cost': 1})
|
10
10
|
private_get_account_balance = privateGetAccountBalance = Entry('account/balance', 'private', 'GET', {'cost': 1})
|
11
11
|
private_get_account_balances = privateGetAccountBalances = Entry('account/balances', 'private', 'GET', {'cost': 1})
|
12
12
|
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.68'
|
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
|
# -----------------------------------------------------------------------------
|
@@ -881,14 +881,15 @@ class Exchange(BaseExchange):
|
|
881
881
|
try:
|
882
882
|
return await self.fetch(request['url'], request['method'], request['headers'], request['body'])
|
883
883
|
except Exception as e:
|
884
|
-
if isinstance(e,
|
884
|
+
if isinstance(e, OperationFailed):
|
885
885
|
if i < retries:
|
886
886
|
if self.verbose:
|
887
887
|
self.log('Request failed with the error: ' + str(e) + ', retrying ' + (i + str(1)) + ' of ' + str(retries) + '...')
|
888
888
|
if (retryDelay is not None) and (retryDelay != 0):
|
889
889
|
await self.sleep(retryDelay)
|
890
|
-
|
891
|
-
|
890
|
+
else:
|
891
|
+
raise e
|
892
|
+
else:
|
892
893
|
raise e
|
893
894
|
return None # self line is never reached, but exists for c# value return requirement
|
894
895
|
|
@@ -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
|
|
@@ -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)
|
@@ -4127,7 +4127,8 @@ class coinbase(Exchange, ImplicitAPI):
|
|
4127
4127
|
# }
|
4128
4128
|
# }
|
4129
4129
|
#
|
4130
|
-
|
4130
|
+
# https://github.com/ccxt/ccxt/issues/25484
|
4131
|
+
data = self.safe_dict_2(response, 'data', 'transfer', {})
|
4131
4132
|
return self.parse_transaction(data)
|
4132
4133
|
|
4133
4134
|
async def fetch_deposit(self, id: str, code: Str = None, params={}):
|
@@ -4192,7 +4193,8 @@ class coinbase(Exchange, ImplicitAPI):
|
|
4192
4193
|
# }
|
4193
4194
|
# }
|
4194
4195
|
#
|
4195
|
-
|
4196
|
+
# https://github.com/ccxt/ccxt/issues/25484
|
4197
|
+
data = self.safe_dict_2(response, 'data', 'transfer', {})
|
4196
4198
|
return self.parse_transaction(data)
|
4197
4199
|
|
4198
4200
|
async def fetch_deposit_method_ids(self, params={}):
|
@@ -4670,6 +4672,75 @@ class coinbase(Exchange, ImplicitAPI):
|
|
4670
4672
|
}
|
4671
4673
|
return result
|
4672
4674
|
|
4675
|
+
async def fetch_portfolio_details(self, portfolioUuid: str, params={}) -> List[Any]:
|
4676
|
+
"""
|
4677
|
+
Fetch details for a specific portfolio by UUID
|
4678
|
+
|
4679
|
+
https://docs.cloud.coinbase.com/advanced-trade/reference/retailbrokerageapi_getportfolios
|
4680
|
+
|
4681
|
+
:param str portfolioUuid: The unique identifier of the portfolio to fetch
|
4682
|
+
:param Dict [params]: Extra parameters specific to the exchange API endpoint
|
4683
|
+
:returns any[]: An account structure <https://docs.ccxt.com/#/?id=account-structure>
|
4684
|
+
"""
|
4685
|
+
await self.load_markets()
|
4686
|
+
request = {
|
4687
|
+
'portfolio_uuid': portfolioUuid,
|
4688
|
+
}
|
4689
|
+
response = await self.v3PrivateGetBrokeragePortfoliosPortfolioUuid(self.extend(request, params))
|
4690
|
+
result = self.parse_portfolio_details(response)
|
4691
|
+
return result
|
4692
|
+
|
4693
|
+
def parse_portfolio_details(self, portfolioData: dict):
|
4694
|
+
"""
|
4695
|
+
Parse a Coinbase portfolio JSON object and extract relevant trading information.
|
4696
|
+
:param Dict portfolioData: The JSON response containing portfolio details
|
4697
|
+
:returns any[]: List of dictionaries with parsed portfolio position data
|
4698
|
+
"""
|
4699
|
+
breakdown = portfolioData['breakdown']
|
4700
|
+
portfolioInfo = self.safe_dict(breakdown, 'portfolio', {})
|
4701
|
+
portfolioName = self.safe_string(portfolioInfo, 'name', 'Unknown')
|
4702
|
+
portfolioUuid = self.safe_string(portfolioInfo, 'uuid', '')
|
4703
|
+
spotPositions = self.safe_list(breakdown, 'spot_positions', [])
|
4704
|
+
parsedPositions = []
|
4705
|
+
for i in range(0, len(spotPositions)):
|
4706
|
+
position: dict = spotPositions[i]
|
4707
|
+
currencyCode = self.safe_string(position, 'asset', 'Unknown')
|
4708
|
+
availableBalanceStr = self.safe_string(position, 'available_to_trade_fiat', '0')
|
4709
|
+
availableBalance = self.parse_number(availableBalanceStr)
|
4710
|
+
totalBalanceFiatStr = self.safe_string(position, 'total_balance_fiat', '0')
|
4711
|
+
totalBalanceFiat = self.parse_number(totalBalanceFiatStr)
|
4712
|
+
holdAmount = totalBalanceFiat - availableBalance
|
4713
|
+
costBasisDict = self.safe_dict(position, 'cost_basis', {})
|
4714
|
+
costBasisStr = self.safe_string(costBasisDict, 'value', '0')
|
4715
|
+
averageEntryPriceDict = self.safe_dict(position, 'average_entry_price', {})
|
4716
|
+
averageEntryPriceStr = self.safe_string(averageEntryPriceDict, 'value', '0')
|
4717
|
+
positionData: dict = {
|
4718
|
+
'currency': currencyCode,
|
4719
|
+
'available_balance': availableBalance,
|
4720
|
+
'hold_amount': holdAmount > holdAmount if 0 else 0,
|
4721
|
+
'wallet_name': portfolioName,
|
4722
|
+
'account_id': portfolioUuid,
|
4723
|
+
'account_uuid': self.safe_string(position, 'account_uuid', ''),
|
4724
|
+
'total_balance_fiat': totalBalanceFiat,
|
4725
|
+
'total_balance_crypto': self.parse_number(self.safe_string(position, 'total_balance_crypto', '0')),
|
4726
|
+
'available_to_trade_fiat': self.parse_number(self.safe_string(position, 'available_to_trade_fiat', '0')),
|
4727
|
+
'available_to_trade_crypto': self.parse_number(self.safe_string(position, 'available_to_trade_crypto', '0')),
|
4728
|
+
'available_to_transfer_fiat': self.parse_number(self.safe_string(position, 'available_to_transfer_fiat', '0')),
|
4729
|
+
'available_to_transfer_crypto': self.parse_number(self.safe_string(position, 'available_to_trade_crypto', '0')),
|
4730
|
+
'allocation': self.parse_number(self.safe_string(position, 'allocation', '0')),
|
4731
|
+
'cost_basis': self.parse_number(costBasisStr),
|
4732
|
+
'cost_basis_currency': self.safe_string(costBasisDict, 'currency', 'USD'),
|
4733
|
+
'is_cash': self.safe_bool(position, 'is_cash', False),
|
4734
|
+
'average_entry_price': self.parse_number(averageEntryPriceStr),
|
4735
|
+
'average_entry_price_currency': self.safe_string(averageEntryPriceDict, 'currency', 'USD'),
|
4736
|
+
'asset_uuid': self.safe_string(position, 'asset_uuid', ''),
|
4737
|
+
'unrealized_pnl': self.parse_number(self.safe_string(position, 'unrealized_pnl', '0')),
|
4738
|
+
'asset_color': self.safe_string(position, 'asset_color', ''),
|
4739
|
+
'account_type': self.safe_string(position, 'account_type', ''),
|
4740
|
+
}
|
4741
|
+
parsedPositions.append(positionData)
|
4742
|
+
return parsedPositions
|
4743
|
+
|
4673
4744
|
def create_auth_token(self, seconds: Int, method: Str = None, url: Str = None):
|
4674
4745
|
# it may not work for v2
|
4675
4746
|
uri = None
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.luno import ImplicitAPI
|
8
|
-
from ccxt.base.types import Account, Any, Balances, Currency, Int, LedgerEntry, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface
|
8
|
+
from ccxt.base.types import Account, Any, Balances, Currency, DepositAddress, Int, LedgerEntry, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface
|
9
9
|
from typing import List
|
10
10
|
from ccxt.base.errors import ExchangeError
|
11
11
|
from ccxt.base.errors import ArgumentsRequired
|
@@ -35,6 +35,7 @@ class luno(Exchange, ImplicitAPI):
|
|
35
35
|
'cancelOrder': True,
|
36
36
|
'closeAllPositions': False,
|
37
37
|
'closePosition': False,
|
38
|
+
'createDepositAddress': True,
|
38
39
|
'createOrder': True,
|
39
40
|
'createReduceOnlyOrder': False,
|
40
41
|
'fetchAccounts': True,
|
@@ -43,6 +44,7 @@ class luno(Exchange, ImplicitAPI):
|
|
43
44
|
'fetchClosedOrders': True,
|
44
45
|
'fetchCrossBorrowRate': False,
|
45
46
|
'fetchCrossBorrowRates': False,
|
47
|
+
'fetchDepositAddress': True,
|
46
48
|
'fetchFundingHistory': False,
|
47
49
|
'fetchFundingRate': False,
|
48
50
|
'fetchFundingRateHistory': False,
|
@@ -1158,6 +1160,116 @@ class luno(Exchange, ImplicitAPI):
|
|
1158
1160
|
'fee': None,
|
1159
1161
|
}, currency)
|
1160
1162
|
|
1163
|
+
async def create_deposit_address(self, code: str, params={}) -> DepositAddress:
|
1164
|
+
"""
|
1165
|
+
create a currency deposit address
|
1166
|
+
|
1167
|
+
https://www.luno.com/en/developers/api#tag/Receive/operation/createFundingAddress
|
1168
|
+
|
1169
|
+
:param str code: unified currency code of the currency for the deposit address
|
1170
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1171
|
+
:param str [params.name]: an optional name for the new address
|
1172
|
+
:param int [params.account_id]: an optional account id for the new address
|
1173
|
+
:returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
|
1174
|
+
"""
|
1175
|
+
await self.load_markets()
|
1176
|
+
currency = self.currency(code)
|
1177
|
+
request: dict = {
|
1178
|
+
'asset': currency['id'],
|
1179
|
+
}
|
1180
|
+
response = await self.privatePostFundingAddress(self.extend(request, params))
|
1181
|
+
#
|
1182
|
+
# {
|
1183
|
+
# "account_id": "string",
|
1184
|
+
# "address": "string",
|
1185
|
+
# "address_meta": [
|
1186
|
+
# {
|
1187
|
+
# "label": "string",
|
1188
|
+
# "value": "string"
|
1189
|
+
# }
|
1190
|
+
# ],
|
1191
|
+
# "asset": "string",
|
1192
|
+
# "assigned_at": 0,
|
1193
|
+
# "name": "string",
|
1194
|
+
# "network": 0,
|
1195
|
+
# "qr_code_uri": "string",
|
1196
|
+
# "receive_fee": "string",
|
1197
|
+
# "total_received": "string",
|
1198
|
+
# "total_unconfirmed": "string"
|
1199
|
+
# }
|
1200
|
+
#
|
1201
|
+
return self.parse_deposit_address(response, currency)
|
1202
|
+
|
1203
|
+
async def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
|
1204
|
+
"""
|
1205
|
+
fetch the deposit address for a currency associated with self account
|
1206
|
+
|
1207
|
+
https://www.luno.com/en/developers/api#tag/Receive/operation/getFundingAddress
|
1208
|
+
|
1209
|
+
:param str code: unified currency code
|
1210
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1211
|
+
:param str [params.address]: a specific cryptocurrency address to retrieve
|
1212
|
+
:returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
|
1213
|
+
"""
|
1214
|
+
await self.load_markets()
|
1215
|
+
currency = self.currency(code)
|
1216
|
+
request: dict = {
|
1217
|
+
'asset': currency['id'],
|
1218
|
+
}
|
1219
|
+
response = await self.privateGetFundingAddress(self.extend(request, params))
|
1220
|
+
#
|
1221
|
+
# {
|
1222
|
+
# "account_id": "string",
|
1223
|
+
# "address": "string",
|
1224
|
+
# "address_meta": [
|
1225
|
+
# {
|
1226
|
+
# "label": "string",
|
1227
|
+
# "value": "string"
|
1228
|
+
# }
|
1229
|
+
# ],
|
1230
|
+
# "asset": "string",
|
1231
|
+
# "assigned_at": 0,
|
1232
|
+
# "name": "string",
|
1233
|
+
# "network": 0,
|
1234
|
+
# "qr_code_uri": "string",
|
1235
|
+
# "receive_fee": "string",
|
1236
|
+
# "total_received": "string",
|
1237
|
+
# "total_unconfirmed": "string"
|
1238
|
+
# }
|
1239
|
+
#
|
1240
|
+
return self.parse_deposit_address(response, currency)
|
1241
|
+
|
1242
|
+
def parse_deposit_address(self, depositAddress, currency: Currency = None) -> DepositAddress:
|
1243
|
+
#
|
1244
|
+
# {
|
1245
|
+
# "account_id": "string",
|
1246
|
+
# "address": "string",
|
1247
|
+
# "address_meta": [
|
1248
|
+
# {
|
1249
|
+
# "label": "string",
|
1250
|
+
# "value": "string"
|
1251
|
+
# }
|
1252
|
+
# ],
|
1253
|
+
# "asset": "string",
|
1254
|
+
# "assigned_at": 0,
|
1255
|
+
# "name": "string",
|
1256
|
+
# "network": 0,
|
1257
|
+
# "qr_code_uri": "string",
|
1258
|
+
# "receive_fee": "string",
|
1259
|
+
# "total_received": "string",
|
1260
|
+
# "total_unconfirmed": "string"
|
1261
|
+
# }
|
1262
|
+
#
|
1263
|
+
currencyId = self.safe_string_upper(depositAddress, 'currency')
|
1264
|
+
code = self.safe_currency_code(currencyId, currency)
|
1265
|
+
return {
|
1266
|
+
'info': depositAddress,
|
1267
|
+
'currency': code,
|
1268
|
+
'network': None,
|
1269
|
+
'address': self.safe_string(depositAddress, 'address'),
|
1270
|
+
'tag': self.safe_string(depositAddress, 'name'),
|
1271
|
+
}
|
1272
|
+
|
1161
1273
|
def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
|
1162
1274
|
url = self.urls['api'][api] + '/' + self.version + '/' + self.implode_params(path, params)
|
1163
1275
|
query = self.omit(params, self.extract_params(path))
|
@@ -134,7 +134,7 @@ class tradeogre(Exchange, ImplicitAPI):
|
|
134
134
|
'orders/{market}': 1,
|
135
135
|
'ticker/{market}': 1,
|
136
136
|
'history/{market}': 1,
|
137
|
-
'chart/{interval}/{market}
|
137
|
+
'chart/{interval}/{market}': 1,
|
138
138
|
},
|
139
139
|
},
|
140
140
|
'private': {
|
@@ -442,6 +442,7 @@ class tradeogre(Exchange, ImplicitAPI):
|
|
442
442
|
:param int [since]: timestamp in ms of the earliest candle to fetch
|
443
443
|
:param int [limit]: the maximum amount of candles to fetch
|
444
444
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
445
|
+
:param int [params.until]: timestamp of the latest candle in ms
|
445
446
|
:returns int[][]: A list of candles ordered, open, high, low, close, volume
|
446
447
|
"""
|
447
448
|
await self.load_markets()
|
@@ -450,11 +451,11 @@ class tradeogre(Exchange, ImplicitAPI):
|
|
450
451
|
'market': market['id'],
|
451
452
|
'interval': self.safe_string(self.timeframes, timeframe, timeframe),
|
452
453
|
}
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
request['timestamp'] =
|
457
|
-
response = await self.
|
454
|
+
until = self.safe_integer(params, 'until')
|
455
|
+
if until is not None:
|
456
|
+
params = self.omit(params, 'until')
|
457
|
+
request['timestamp'] = until
|
458
|
+
response = await self.publicGetChartIntervalMarket(self.extend(request, params))
|
458
459
|
#
|
459
460
|
# [
|
460
461
|
# [
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.4.
|
7
|
+
__version__ = '4.4.68'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -21,6 +21,7 @@ from ccxt.base.errors import ArgumentsRequired
|
|
21
21
|
from ccxt.base.errors import BadSymbol
|
22
22
|
from ccxt.base.errors import NullResponse
|
23
23
|
from ccxt.base.errors import RateLimitExceeded
|
24
|
+
from ccxt.base.errors import OperationFailed
|
24
25
|
from ccxt.base.errors import BadRequest
|
25
26
|
from ccxt.base.errors import BadResponse
|
26
27
|
from ccxt.base.errors import InvalidProxySettings
|
@@ -4351,14 +4352,15 @@ class Exchange(object):
|
|
4351
4352
|
try:
|
4352
4353
|
return self.fetch(request['url'], request['method'], request['headers'], request['body'])
|
4353
4354
|
except Exception as e:
|
4354
|
-
if isinstance(e,
|
4355
|
+
if isinstance(e, OperationFailed):
|
4355
4356
|
if i < retries:
|
4356
4357
|
if self.verbose:
|
4357
4358
|
self.log('Request failed with the error: ' + str(e) + ', retrying ' + (i + str(1)) + ' of ' + str(retries) + '...')
|
4358
4359
|
if (retryDelay is not None) and (retryDelay != 0):
|
4359
4360
|
self.sleep(retryDelay)
|
4360
|
-
|
4361
|
-
|
4361
|
+
else:
|
4362
|
+
raise e
|
4363
|
+
else:
|
4362
4364
|
raise e
|
4363
4365
|
return None # self line is never reached, but exists for c# value return requirement
|
4364
4366
|
|
@@ -1633,7 +1633,7 @@ class bitrue(Exchange, ImplicitAPI):
|
|
1633
1633
|
tickers: dict = {}
|
1634
1634
|
for i in range(0, len(data)):
|
1635
1635
|
ticker = self.safe_dict(data, i, {})
|
1636
|
-
market = self.
|
1636
|
+
market = self.safe_market(self.safe_string(ticker, 'symbol'))
|
1637
1637
|
tickers[market['id']] = ticker
|
1638
1638
|
return self.parse_tickers(tickers, symbols)
|
1639
1639
|
|
@@ -8825,7 +8825,7 @@ classic accounts only/ spot not supported* fetches information on an order made
|
|
8825
8825
|
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
|
8826
8826
|
else:
|
8827
8827
|
feedback = self.id + ' ' + body
|
8828
|
-
if body.find('Withdraw address chain or destination tag are not equal'):
|
8828
|
+
if body.find('Withdraw address chain or destination tag are not equal') > -1:
|
8829
8829
|
feedback = feedback + '; You might also need to ensure the address is whitelisted'
|
8830
8830
|
self.throw_broadly_matched_exception(self.exceptions['broad'], body, feedback)
|
8831
8831
|
self.throw_exactly_matched_exception(self.exceptions['exact'], errorCode, feedback)
|
@@ -4126,7 +4126,8 @@ class coinbase(Exchange, ImplicitAPI):
|
|
4126
4126
|
# }
|
4127
4127
|
# }
|
4128
4128
|
#
|
4129
|
-
|
4129
|
+
# https://github.com/ccxt/ccxt/issues/25484
|
4130
|
+
data = self.safe_dict_2(response, 'data', 'transfer', {})
|
4130
4131
|
return self.parse_transaction(data)
|
4131
4132
|
|
4132
4133
|
def fetch_deposit(self, id: str, code: Str = None, params={}):
|
@@ -4191,7 +4192,8 @@ class coinbase(Exchange, ImplicitAPI):
|
|
4191
4192
|
# }
|
4192
4193
|
# }
|
4193
4194
|
#
|
4194
|
-
|
4195
|
+
# https://github.com/ccxt/ccxt/issues/25484
|
4196
|
+
data = self.safe_dict_2(response, 'data', 'transfer', {})
|
4195
4197
|
return self.parse_transaction(data)
|
4196
4198
|
|
4197
4199
|
def fetch_deposit_method_ids(self, params={}):
|
@@ -4669,6 +4671,75 @@ class coinbase(Exchange, ImplicitAPI):
|
|
4669
4671
|
}
|
4670
4672
|
return result
|
4671
4673
|
|
4674
|
+
def fetch_portfolio_details(self, portfolioUuid: str, params={}) -> List[Any]:
|
4675
|
+
"""
|
4676
|
+
Fetch details for a specific portfolio by UUID
|
4677
|
+
|
4678
|
+
https://docs.cloud.coinbase.com/advanced-trade/reference/retailbrokerageapi_getportfolios
|
4679
|
+
|
4680
|
+
:param str portfolioUuid: The unique identifier of the portfolio to fetch
|
4681
|
+
:param Dict [params]: Extra parameters specific to the exchange API endpoint
|
4682
|
+
:returns any[]: An account structure <https://docs.ccxt.com/#/?id=account-structure>
|
4683
|
+
"""
|
4684
|
+
self.load_markets()
|
4685
|
+
request = {
|
4686
|
+
'portfolio_uuid': portfolioUuid,
|
4687
|
+
}
|
4688
|
+
response = self.v3PrivateGetBrokeragePortfoliosPortfolioUuid(self.extend(request, params))
|
4689
|
+
result = self.parse_portfolio_details(response)
|
4690
|
+
return result
|
4691
|
+
|
4692
|
+
def parse_portfolio_details(self, portfolioData: dict):
|
4693
|
+
"""
|
4694
|
+
Parse a Coinbase portfolio JSON object and extract relevant trading information.
|
4695
|
+
:param Dict portfolioData: The JSON response containing portfolio details
|
4696
|
+
:returns any[]: List of dictionaries with parsed portfolio position data
|
4697
|
+
"""
|
4698
|
+
breakdown = portfolioData['breakdown']
|
4699
|
+
portfolioInfo = self.safe_dict(breakdown, 'portfolio', {})
|
4700
|
+
portfolioName = self.safe_string(portfolioInfo, 'name', 'Unknown')
|
4701
|
+
portfolioUuid = self.safe_string(portfolioInfo, 'uuid', '')
|
4702
|
+
spotPositions = self.safe_list(breakdown, 'spot_positions', [])
|
4703
|
+
parsedPositions = []
|
4704
|
+
for i in range(0, len(spotPositions)):
|
4705
|
+
position: dict = spotPositions[i]
|
4706
|
+
currencyCode = self.safe_string(position, 'asset', 'Unknown')
|
4707
|
+
availableBalanceStr = self.safe_string(position, 'available_to_trade_fiat', '0')
|
4708
|
+
availableBalance = self.parse_number(availableBalanceStr)
|
4709
|
+
totalBalanceFiatStr = self.safe_string(position, 'total_balance_fiat', '0')
|
4710
|
+
totalBalanceFiat = self.parse_number(totalBalanceFiatStr)
|
4711
|
+
holdAmount = totalBalanceFiat - availableBalance
|
4712
|
+
costBasisDict = self.safe_dict(position, 'cost_basis', {})
|
4713
|
+
costBasisStr = self.safe_string(costBasisDict, 'value', '0')
|
4714
|
+
averageEntryPriceDict = self.safe_dict(position, 'average_entry_price', {})
|
4715
|
+
averageEntryPriceStr = self.safe_string(averageEntryPriceDict, 'value', '0')
|
4716
|
+
positionData: dict = {
|
4717
|
+
'currency': currencyCode,
|
4718
|
+
'available_balance': availableBalance,
|
4719
|
+
'hold_amount': holdAmount > holdAmount if 0 else 0,
|
4720
|
+
'wallet_name': portfolioName,
|
4721
|
+
'account_id': portfolioUuid,
|
4722
|
+
'account_uuid': self.safe_string(position, 'account_uuid', ''),
|
4723
|
+
'total_balance_fiat': totalBalanceFiat,
|
4724
|
+
'total_balance_crypto': self.parse_number(self.safe_string(position, 'total_balance_crypto', '0')),
|
4725
|
+
'available_to_trade_fiat': self.parse_number(self.safe_string(position, 'available_to_trade_fiat', '0')),
|
4726
|
+
'available_to_trade_crypto': self.parse_number(self.safe_string(position, 'available_to_trade_crypto', '0')),
|
4727
|
+
'available_to_transfer_fiat': self.parse_number(self.safe_string(position, 'available_to_transfer_fiat', '0')),
|
4728
|
+
'available_to_transfer_crypto': self.parse_number(self.safe_string(position, 'available_to_trade_crypto', '0')),
|
4729
|
+
'allocation': self.parse_number(self.safe_string(position, 'allocation', '0')),
|
4730
|
+
'cost_basis': self.parse_number(costBasisStr),
|
4731
|
+
'cost_basis_currency': self.safe_string(costBasisDict, 'currency', 'USD'),
|
4732
|
+
'is_cash': self.safe_bool(position, 'is_cash', False),
|
4733
|
+
'average_entry_price': self.parse_number(averageEntryPriceStr),
|
4734
|
+
'average_entry_price_currency': self.safe_string(averageEntryPriceDict, 'currency', 'USD'),
|
4735
|
+
'asset_uuid': self.safe_string(position, 'asset_uuid', ''),
|
4736
|
+
'unrealized_pnl': self.parse_number(self.safe_string(position, 'unrealized_pnl', '0')),
|
4737
|
+
'asset_color': self.safe_string(position, 'asset_color', ''),
|
4738
|
+
'account_type': self.safe_string(position, 'account_type', ''),
|
4739
|
+
}
|
4740
|
+
parsedPositions.append(positionData)
|
4741
|
+
return parsedPositions
|
4742
|
+
|
4672
4743
|
def create_auth_token(self, seconds: Int, method: Str = None, url: Str = None):
|
4673
4744
|
# it may not work for v2
|
4674
4745
|
uri = None
|