ccxt 4.3.62__tar.gz → 4.3.64__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.3.62/ccxt.egg-info → ccxt-4.3.64}/PKG-INFO +4 -4
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/__init__.py +2 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/binance.py +5 -5
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/binancecoinm.py +5 -5
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/binanceus.py +5 -5
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/binanceusdm.py +5 -5
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/cryptocom.py +11 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/kucoin.py +1 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/kucoinfutures.py +1 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/woo.py +3 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/ace.py +33 -15
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/alpaca.py +1 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/__init__.py +2 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/ace.py +33 -15
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/alpaca.py +1 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/base/exchange.py +4 -4
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/binance.py +6 -9
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bingx.py +534 -152
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitfinex.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitfinex2.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/coinbaseinternational.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/cryptocom.py +17 -2
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/independentreserve.py +103 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/kucoin.py +2 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/mercado.py +5 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/whitebit.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/woo.py +321 -81
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/xt.py +3 -3
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/yobit.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/zonda.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/base/errors.py +8 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/base/exchange.py +11 -5
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/binance.py +6 -9
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bingx.py +534 -152
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitfinex.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitfinex2.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/coinbaseinternational.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/cryptocom.py +17 -2
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/independentreserve.py +103 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/kucoin.py +2 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/mercado.py +5 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/__init__.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/binance.py +56 -35
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/bitfinex2.py +6 -4
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/bitget.py +5 -2
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/bitmart.py +3 -3
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/bitvavo.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/bybit.py +41 -18
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/cryptocom.py +7 -2
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/gate.py +7 -4
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/gemini.py +4 -2
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/htx.py +5 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/independentreserve.py +6 -4
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/kraken.py +79 -6
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/okx.py +5 -5
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/onetrading.py +3 -2
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/oxfun.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/poloniexfutures.py +5 -2
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/vertex.py +3 -2
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/woo.py +2 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/woofipro.py +3 -2
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/test/tests_async.py +3 -3
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/test/tests_helpers.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/test/tests_init.py +3 -3
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/test/tests_sync.py +3 -3
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/whitebit.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/woo.py +321 -81
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/xt.py +3 -3
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/yobit.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/zonda.py +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64/ccxt.egg-info}/PKG-INFO +4 -4
- {ccxt-4.3.62 → ccxt-4.3.64}/package.json +1 -1
- {ccxt-4.3.62 → ccxt-4.3.64}/LICENSE.txt +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/MANIFEST.in +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/README.rst +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/ace.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/alpaca.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/ascendex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bequant.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bigone.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bingx.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bit2c.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitbank.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitbay.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitbns.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitcoincom.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitfinex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitfinex2.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitflyer.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitget.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bithumb.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitmart.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitmex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitopro.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitpanda.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitrue.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitso.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitstamp.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitteam.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bitvavo.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bl3p.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/blockchaincom.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/blofin.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/btcalpha.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/btcbox.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/btcmarkets.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/btcturk.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/bybit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/cex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/coinbase.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/coinbaseadvanced.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/coinbaseexchange.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/coinbaseinternational.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/coincheck.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/coinex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/coinlist.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/coinmate.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/coinmetro.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/coinone.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/coinsph.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/coinspot.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/currencycom.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/delta.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/deribit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/digifinex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/exmo.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/fmfwio.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/gate.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/gateio.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/gemini.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/hitbtc.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/hitbtc3.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/hollaex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/htx.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/huobi.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/huobijp.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/hyperliquid.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/idex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/independentreserve.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/indodax.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/kraken.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/krakenfutures.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/kuna.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/latoken.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/lbank.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/luno.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/lykke.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/mercado.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/mexc.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/ndax.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/novadax.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/oceanex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/okcoin.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/okx.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/onetrading.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/oxfun.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/p2b.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/paymium.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/phemex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/poloniex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/poloniexfutures.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/probit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/timex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/tokocrypto.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/tradeogre.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/upbit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/vertex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/wavesexchange.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/wazirx.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/whitebit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/woofipro.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/xt.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/yobit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/zaif.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/abstract/zonda.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/ascendex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/ascendex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/base/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/base/throttler.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/base/ws/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/base/ws/cache.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/base/ws/client.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/base/ws/fast_client.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/base/ws/functions.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/base/ws/future.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/base/ws/order_book.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bequant.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bigone.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/binancecoinm.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/binanceus.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/binanceusdm.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bit2c.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitbank.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitbay.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitbns.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitcoincom.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitflyer.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitget.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bithumb.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitmart.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitmex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitopro.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitpanda.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitrue.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitso.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitstamp.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitteam.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bitvavo.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bl3p.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/blockchaincom.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/blofin.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/btcalpha.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/btcbox.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/btcmarkets.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/btcturk.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/bybit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/cex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/coinbase.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/coinbaseadvanced.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/coinbaseexchange.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/coincheck.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/coinex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/coinlist.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/coinmate.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/coinmetro.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/coinone.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/coinsph.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/coinspot.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/currencycom.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/delta.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/deribit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/digifinex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/exmo.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/fmfwio.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/gate.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/gateio.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/gemini.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/hitbtc.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/hitbtc3.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/hollaex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/htx.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/huobi.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/huobijp.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/hyperliquid.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/idex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/indodax.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/kraken.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/krakenfutures.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/kucoinfutures.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/kuna.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/latoken.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/lbank.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/luno.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/lykke.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/mexc.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/ndax.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/novadax.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/oceanex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/okcoin.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/okx.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/onetrading.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/oxfun.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/p2b.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/paymium.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/phemex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/poloniex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/poloniexfutures.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/probit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/timex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/tokocrypto.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/tradeogre.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/upbit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/vertex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/wavesexchange.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/wazirx.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/woofipro.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/async_support/zaif.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/base/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/base/decimal_to_precision.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/base/precise.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/base/types.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bequant.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bigone.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/binancecoinm.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/binanceus.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/binanceusdm.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bit2c.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitbank.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitbay.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitbns.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitcoincom.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitflyer.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitget.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bithumb.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitmart.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitmex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitopro.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitpanda.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitrue.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitso.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitstamp.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitteam.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bitvavo.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bl3p.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/blockchaincom.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/blofin.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/btcalpha.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/btcbox.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/btcmarkets.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/btcturk.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/bybit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/cex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/coinbase.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/coinbaseadvanced.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/coinbaseexchange.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/coincheck.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/coinex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/coinlist.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/coinmate.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/coinmetro.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/coinone.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/coinsph.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/coinspot.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/currencycom.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/delta.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/deribit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/digifinex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/exmo.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/fmfwio.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/gate.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/gateio.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/gemini.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/hitbtc.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/hitbtc3.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/hollaex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/htx.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/huobi.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/huobijp.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/hyperliquid.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/idex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/indodax.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/kraken.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/krakenfutures.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/kucoinfutures.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/kuna.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/latoken.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/lbank.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/luno.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/lykke.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/mexc.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/ndax.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/novadax.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/oceanex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/okcoin.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/okx.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/onetrading.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/oxfun.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/p2b.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/paymium.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/phemex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/poloniex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/poloniexfutures.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/alpaca.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/ascendex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/bequant.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/binancecoinm.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/binanceus.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/binanceusdm.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/bingx.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/bitcoincom.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/bitfinex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/bithumb.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/bitmex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/bitopro.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/bitpanda.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/bitrue.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/bitstamp.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/blockchaincom.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/cex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/coinbase.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/coinbaseexchange.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/coinbaseinternational.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/coincheck.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/coinex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/coinone.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/currencycom.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/deribit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/exmo.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/gateio.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/hitbtc.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/hollaex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/huobi.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/huobijp.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/hyperliquid.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/idex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/krakenfutures.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/kucoin.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/kucoinfutures.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/lbank.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/luno.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/mexc.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/ndax.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/okcoin.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/p2b.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/phemex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/poloniex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/probit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/upbit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/wazirx.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/whitebit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/pro/xt.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/probit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/toolz/_version.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/static_dependencies/toolz/utils.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/test/__init__.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/timex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/tokocrypto.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/tradeogre.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/upbit.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/vertex.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/wavesexchange.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/wazirx.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/woofipro.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt/zaif.py +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt.egg-info/SOURCES.txt +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt.egg-info/dependency_links.txt +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt.egg-info/requires.txt +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/ccxt.egg-info/top_level.txt +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/setup.cfg +0 -0
- {ccxt-4.3.62 → ccxt-4.3.64}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.3.
|
3
|
+
Version: 4.3.64
|
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
|
@@ -257,13 +257,13 @@ console.log(version, Object.keys(exchanges));
|
|
257
257
|
|
258
258
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
259
259
|
|
260
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
261
|
-
* unpkg: https://unpkg.com/ccxt@4.3.
|
260
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.64/dist/ccxt.browser.min.js
|
261
|
+
* unpkg: https://unpkg.com/ccxt@4.3.64/dist/ccxt.browser.min.js
|
262
262
|
|
263
263
|
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.
|
264
264
|
|
265
265
|
```HTML
|
266
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
266
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.64/dist/ccxt.browser.min.js"></script>
|
267
267
|
```
|
268
268
|
|
269
269
|
Creates a global `ccxt` object:
|
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
# ----------------------------------------------------------------------------
|
24
24
|
|
25
|
-
__version__ = '4.3.
|
25
|
+
__version__ = '4.3.64'
|
26
26
|
|
27
27
|
# ----------------------------------------------------------------------------
|
28
28
|
|
@@ -74,6 +74,7 @@ from ccxt.base.errors import RateLimitExceeded # noqa: F4
|
|
74
74
|
from ccxt.base.errors import ExchangeNotAvailable # noqa: F401
|
75
75
|
from ccxt.base.errors import OnMaintenance # noqa: F401
|
76
76
|
from ccxt.base.errors import InvalidNonce # noqa: F401
|
77
|
+
from ccxt.base.errors import ChecksumError # noqa: F401
|
77
78
|
from ccxt.base.errors import RequestTimeout # noqa: F401
|
78
79
|
from ccxt.base.errors import BadResponse # noqa: F401
|
79
80
|
from ccxt.base.errors import NullResponse # noqa: F401
|
@@ -491,7 +491,7 @@ class ImplicitAPI:
|
|
491
491
|
fapiprivate_get_forceorders = fapiPrivateGetForceOrders = Entry('forceOrders', 'fapiPrivate', 'GET', {'cost': 20, 'noSymbol': 50})
|
492
492
|
fapiprivate_get_allorders = fapiPrivateGetAllOrders = Entry('allOrders', 'fapiPrivate', 'GET', {'cost': 5})
|
493
493
|
fapiprivate_get_openorder = fapiPrivateGetOpenOrder = Entry('openOrder', 'fapiPrivate', 'GET', {'cost': 1})
|
494
|
-
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1})
|
494
|
+
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1, 'noSymbol': 40})
|
495
495
|
fapiprivate_get_order = fapiPrivateGetOrder = Entry('order', 'fapiPrivate', 'GET', {'cost': 1})
|
496
496
|
fapiprivate_get_account = fapiPrivateGetAccount = Entry('account', 'fapiPrivate', 'GET', {'cost': 5})
|
497
497
|
fapiprivate_get_balance = fapiPrivateGetBalance = Entry('balance', 'fapiPrivate', 'GET', {'cost': 5})
|
@@ -629,18 +629,18 @@ class ImplicitAPI:
|
|
629
629
|
papi_get_ping = papiGetPing = Entry('ping', 'papi', 'GET', {'cost': 1})
|
630
630
|
papi_get_um_order = papiGetUmOrder = Entry('um/order', 'papi', 'GET', {'cost': 1})
|
631
631
|
papi_get_um_openorder = papiGetUmOpenOrder = Entry('um/openOrder', 'papi', 'GET', {'cost': 1})
|
632
|
-
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1})
|
632
|
+
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
633
633
|
papi_get_um_allorders = papiGetUmAllOrders = Entry('um/allOrders', 'papi', 'GET', {'cost': 5})
|
634
634
|
papi_get_cm_order = papiGetCmOrder = Entry('cm/order', 'papi', 'GET', {'cost': 1})
|
635
635
|
papi_get_cm_openorder = papiGetCmOpenOrder = Entry('cm/openOrder', 'papi', 'GET', {'cost': 1})
|
636
|
-
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1})
|
636
|
+
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
637
637
|
papi_get_cm_allorders = papiGetCmAllOrders = Entry('cm/allOrders', 'papi', 'GET', {'cost': 20})
|
638
638
|
papi_get_um_conditional_openorder = papiGetUmConditionalOpenOrder = Entry('um/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
639
|
-
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
639
|
+
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
640
640
|
papi_get_um_conditional_orderhistory = papiGetUmConditionalOrderHistory = Entry('um/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
641
641
|
papi_get_um_conditional_allorders = papiGetUmConditionalAllOrders = Entry('um/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
642
642
|
papi_get_cm_conditional_openorder = papiGetCmConditionalOpenOrder = Entry('cm/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
643
|
-
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
643
|
+
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
644
644
|
papi_get_cm_conditional_orderhistory = papiGetCmConditionalOrderHistory = Entry('cm/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
645
645
|
papi_get_cm_conditional_allorders = papiGetCmConditionalAllOrders = Entry('cm/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
646
646
|
papi_get_margin_order = papiGetMarginOrder = Entry('margin/order', 'papi', 'GET', {'cost': 5})
|
@@ -491,7 +491,7 @@ class ImplicitAPI:
|
|
491
491
|
fapiprivate_get_forceorders = fapiPrivateGetForceOrders = Entry('forceOrders', 'fapiPrivate', 'GET', {'cost': 20, 'noSymbol': 50})
|
492
492
|
fapiprivate_get_allorders = fapiPrivateGetAllOrders = Entry('allOrders', 'fapiPrivate', 'GET', {'cost': 5})
|
493
493
|
fapiprivate_get_openorder = fapiPrivateGetOpenOrder = Entry('openOrder', 'fapiPrivate', 'GET', {'cost': 1})
|
494
|
-
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1})
|
494
|
+
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1, 'noSymbol': 40})
|
495
495
|
fapiprivate_get_order = fapiPrivateGetOrder = Entry('order', 'fapiPrivate', 'GET', {'cost': 1})
|
496
496
|
fapiprivate_get_account = fapiPrivateGetAccount = Entry('account', 'fapiPrivate', 'GET', {'cost': 5})
|
497
497
|
fapiprivate_get_balance = fapiPrivateGetBalance = Entry('balance', 'fapiPrivate', 'GET', {'cost': 5})
|
@@ -629,18 +629,18 @@ class ImplicitAPI:
|
|
629
629
|
papi_get_ping = papiGetPing = Entry('ping', 'papi', 'GET', {'cost': 1})
|
630
630
|
papi_get_um_order = papiGetUmOrder = Entry('um/order', 'papi', 'GET', {'cost': 1})
|
631
631
|
papi_get_um_openorder = papiGetUmOpenOrder = Entry('um/openOrder', 'papi', 'GET', {'cost': 1})
|
632
|
-
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1})
|
632
|
+
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
633
633
|
papi_get_um_allorders = papiGetUmAllOrders = Entry('um/allOrders', 'papi', 'GET', {'cost': 5})
|
634
634
|
papi_get_cm_order = papiGetCmOrder = Entry('cm/order', 'papi', 'GET', {'cost': 1})
|
635
635
|
papi_get_cm_openorder = papiGetCmOpenOrder = Entry('cm/openOrder', 'papi', 'GET', {'cost': 1})
|
636
|
-
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1})
|
636
|
+
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
637
637
|
papi_get_cm_allorders = papiGetCmAllOrders = Entry('cm/allOrders', 'papi', 'GET', {'cost': 20})
|
638
638
|
papi_get_um_conditional_openorder = papiGetUmConditionalOpenOrder = Entry('um/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
639
|
-
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
639
|
+
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
640
640
|
papi_get_um_conditional_orderhistory = papiGetUmConditionalOrderHistory = Entry('um/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
641
641
|
papi_get_um_conditional_allorders = papiGetUmConditionalAllOrders = Entry('um/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
642
642
|
papi_get_cm_conditional_openorder = papiGetCmConditionalOpenOrder = Entry('cm/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
643
|
-
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
643
|
+
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
644
644
|
papi_get_cm_conditional_orderhistory = papiGetCmConditionalOrderHistory = Entry('cm/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
645
645
|
papi_get_cm_conditional_allorders = papiGetCmConditionalAllOrders = Entry('cm/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
646
646
|
papi_get_margin_order = papiGetMarginOrder = Entry('margin/order', 'papi', 'GET', {'cost': 5})
|
@@ -543,7 +543,7 @@ class ImplicitAPI:
|
|
543
543
|
fapiprivate_get_forceorders = fapiPrivateGetForceOrders = Entry('forceOrders', 'fapiPrivate', 'GET', {'cost': 20, 'noSymbol': 50})
|
544
544
|
fapiprivate_get_allorders = fapiPrivateGetAllOrders = Entry('allOrders', 'fapiPrivate', 'GET', {'cost': 5})
|
545
545
|
fapiprivate_get_openorder = fapiPrivateGetOpenOrder = Entry('openOrder', 'fapiPrivate', 'GET', {'cost': 1})
|
546
|
-
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1})
|
546
|
+
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1, 'noSymbol': 40})
|
547
547
|
fapiprivate_get_order = fapiPrivateGetOrder = Entry('order', 'fapiPrivate', 'GET', {'cost': 1})
|
548
548
|
fapiprivate_get_account = fapiPrivateGetAccount = Entry('account', 'fapiPrivate', 'GET', {'cost': 5})
|
549
549
|
fapiprivate_get_balance = fapiPrivateGetBalance = Entry('balance', 'fapiPrivate', 'GET', {'cost': 5})
|
@@ -681,18 +681,18 @@ class ImplicitAPI:
|
|
681
681
|
papi_get_ping = papiGetPing = Entry('ping', 'papi', 'GET', {'cost': 1})
|
682
682
|
papi_get_um_order = papiGetUmOrder = Entry('um/order', 'papi', 'GET', {'cost': 1})
|
683
683
|
papi_get_um_openorder = papiGetUmOpenOrder = Entry('um/openOrder', 'papi', 'GET', {'cost': 1})
|
684
|
-
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1})
|
684
|
+
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
685
685
|
papi_get_um_allorders = papiGetUmAllOrders = Entry('um/allOrders', 'papi', 'GET', {'cost': 5})
|
686
686
|
papi_get_cm_order = papiGetCmOrder = Entry('cm/order', 'papi', 'GET', {'cost': 1})
|
687
687
|
papi_get_cm_openorder = papiGetCmOpenOrder = Entry('cm/openOrder', 'papi', 'GET', {'cost': 1})
|
688
|
-
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1})
|
688
|
+
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
689
689
|
papi_get_cm_allorders = papiGetCmAllOrders = Entry('cm/allOrders', 'papi', 'GET', {'cost': 20})
|
690
690
|
papi_get_um_conditional_openorder = papiGetUmConditionalOpenOrder = Entry('um/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
691
|
-
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
691
|
+
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
692
692
|
papi_get_um_conditional_orderhistory = papiGetUmConditionalOrderHistory = Entry('um/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
693
693
|
papi_get_um_conditional_allorders = papiGetUmConditionalAllOrders = Entry('um/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
694
694
|
papi_get_cm_conditional_openorder = papiGetCmConditionalOpenOrder = Entry('cm/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
695
|
-
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
695
|
+
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
696
696
|
papi_get_cm_conditional_orderhistory = papiGetCmConditionalOrderHistory = Entry('cm/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
697
697
|
papi_get_cm_conditional_allorders = papiGetCmConditionalAllOrders = Entry('cm/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
698
698
|
papi_get_margin_order = papiGetMarginOrder = Entry('margin/order', 'papi', 'GET', {'cost': 5})
|
@@ -491,7 +491,7 @@ class ImplicitAPI:
|
|
491
491
|
fapiprivate_get_forceorders = fapiPrivateGetForceOrders = Entry('forceOrders', 'fapiPrivate', 'GET', {'cost': 20, 'noSymbol': 50})
|
492
492
|
fapiprivate_get_allorders = fapiPrivateGetAllOrders = Entry('allOrders', 'fapiPrivate', 'GET', {'cost': 5})
|
493
493
|
fapiprivate_get_openorder = fapiPrivateGetOpenOrder = Entry('openOrder', 'fapiPrivate', 'GET', {'cost': 1})
|
494
|
-
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1})
|
494
|
+
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1, 'noSymbol': 40})
|
495
495
|
fapiprivate_get_order = fapiPrivateGetOrder = Entry('order', 'fapiPrivate', 'GET', {'cost': 1})
|
496
496
|
fapiprivate_get_account = fapiPrivateGetAccount = Entry('account', 'fapiPrivate', 'GET', {'cost': 5})
|
497
497
|
fapiprivate_get_balance = fapiPrivateGetBalance = Entry('balance', 'fapiPrivate', 'GET', {'cost': 5})
|
@@ -629,18 +629,18 @@ class ImplicitAPI:
|
|
629
629
|
papi_get_ping = papiGetPing = Entry('ping', 'papi', 'GET', {'cost': 1})
|
630
630
|
papi_get_um_order = papiGetUmOrder = Entry('um/order', 'papi', 'GET', {'cost': 1})
|
631
631
|
papi_get_um_openorder = papiGetUmOpenOrder = Entry('um/openOrder', 'papi', 'GET', {'cost': 1})
|
632
|
-
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1})
|
632
|
+
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
633
633
|
papi_get_um_allorders = papiGetUmAllOrders = Entry('um/allOrders', 'papi', 'GET', {'cost': 5})
|
634
634
|
papi_get_cm_order = papiGetCmOrder = Entry('cm/order', 'papi', 'GET', {'cost': 1})
|
635
635
|
papi_get_cm_openorder = papiGetCmOpenOrder = Entry('cm/openOrder', 'papi', 'GET', {'cost': 1})
|
636
|
-
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1})
|
636
|
+
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
637
637
|
papi_get_cm_allorders = papiGetCmAllOrders = Entry('cm/allOrders', 'papi', 'GET', {'cost': 20})
|
638
638
|
papi_get_um_conditional_openorder = papiGetUmConditionalOpenOrder = Entry('um/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
639
|
-
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
639
|
+
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
640
640
|
papi_get_um_conditional_orderhistory = papiGetUmConditionalOrderHistory = Entry('um/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
641
641
|
papi_get_um_conditional_allorders = papiGetUmConditionalAllOrders = Entry('um/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
642
642
|
papi_get_cm_conditional_openorder = papiGetCmConditionalOpenOrder = Entry('cm/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
643
|
-
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
643
|
+
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
644
644
|
papi_get_cm_conditional_orderhistory = papiGetCmConditionalOrderHistory = Entry('cm/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
645
645
|
papi_get_cm_conditional_allorders = papiGetCmConditionalAllOrders = Entry('cm/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
646
646
|
papi_get_margin_order = papiGetMarginOrder = Entry('margin/order', 'papi', 'GET', {'cost': 5})
|
@@ -11,6 +11,7 @@ class ImplicitAPI:
|
|
11
11
|
v1_public_get_public_get_valuations = v1PublicGetPublicGetValuations = Entry('public/get-valuations', ['v1', 'public'], 'GET', {'cost': 1})
|
12
12
|
v1_public_get_public_get_expired_settlement_price = v1PublicGetPublicGetExpiredSettlementPrice = Entry('public/get-expired-settlement-price', ['v1', 'public'], 'GET', {'cost': 3.3333333333333335})
|
13
13
|
v1_public_get_public_get_insurance = v1PublicGetPublicGetInsurance = Entry('public/get-insurance', ['v1', 'public'], 'GET', {'cost': 1})
|
14
|
+
v1_public_post_public_staking_get_conversion_rate = v1PublicPostPublicStakingGetConversionRate = Entry('public/staking/get-conversion-rate', ['v1', 'public'], 'POST', {'cost': 2})
|
14
15
|
v1_private_post_private_set_cancel_on_disconnect = v1PrivatePostPrivateSetCancelOnDisconnect = Entry('private/set-cancel-on-disconnect', ['v1', 'private'], 'POST', {'cost': 3.3333333333333335})
|
15
16
|
v1_private_post_private_get_cancel_on_disconnect = v1PrivatePostPrivateGetCancelOnDisconnect = Entry('private/get-cancel-on-disconnect', ['v1', 'private'], 'POST', {'cost': 3.3333333333333335})
|
16
17
|
v1_private_post_private_user_balance = v1PrivatePostPrivateUserBalance = Entry('private/user-balance', ['v1', 'private'], 'POST', {'cost': 3.3333333333333335})
|
@@ -37,6 +38,16 @@ class ImplicitAPI:
|
|
37
38
|
v1_private_post_private_get_accounts = v1PrivatePostPrivateGetAccounts = Entry('private/get-accounts', ['v1', 'private'], 'POST', {'cost': 3.3333333333333335})
|
38
39
|
v1_private_post_private_get_withdrawal_history = v1PrivatePostPrivateGetWithdrawalHistory = Entry('private/get-withdrawal-history', ['v1', 'private'], 'POST', {'cost': 3.3333333333333335})
|
39
40
|
v1_private_post_private_get_deposit_history = v1PrivatePostPrivateGetDepositHistory = Entry('private/get-deposit-history', ['v1', 'private'], 'POST', {'cost': 3.3333333333333335})
|
41
|
+
v1_private_post_private_staking_stake = v1PrivatePostPrivateStakingStake = Entry('private/staking/stake', ['v1', 'private'], 'POST', {'cost': 2})
|
42
|
+
v1_private_post_private_staking_unstake = v1PrivatePostPrivateStakingUnstake = Entry('private/staking/unstake', ['v1', 'private'], 'POST', {'cost': 2})
|
43
|
+
v1_private_post_private_staking_get_staking_position = v1PrivatePostPrivateStakingGetStakingPosition = Entry('private/staking/get-staking-position', ['v1', 'private'], 'POST', {'cost': 2})
|
44
|
+
v1_private_post_private_staking_get_staking_instruments = v1PrivatePostPrivateStakingGetStakingInstruments = Entry('private/staking/get-staking-instruments', ['v1', 'private'], 'POST', {'cost': 2})
|
45
|
+
v1_private_post_private_staking_get_open_stake = v1PrivatePostPrivateStakingGetOpenStake = Entry('private/staking/get-open-stake', ['v1', 'private'], 'POST', {'cost': 2})
|
46
|
+
v1_private_post_private_staking_get_stake_history = v1PrivatePostPrivateStakingGetStakeHistory = Entry('private/staking/get-stake-history', ['v1', 'private'], 'POST', {'cost': 2})
|
47
|
+
v1_private_post_private_staking_get_reward_history = v1PrivatePostPrivateStakingGetRewardHistory = Entry('private/staking/get-reward-history', ['v1', 'private'], 'POST', {'cost': 2})
|
48
|
+
v1_private_post_private_staking_convert = v1PrivatePostPrivateStakingConvert = Entry('private/staking/convert', ['v1', 'private'], 'POST', {'cost': 2})
|
49
|
+
v1_private_post_private_staking_get_open_convert = v1PrivatePostPrivateStakingGetOpenConvert = Entry('private/staking/get-open-convert', ['v1', 'private'], 'POST', {'cost': 2})
|
50
|
+
v1_private_post_private_staking_get_convert_history = v1PrivatePostPrivateStakingGetConvertHistory = Entry('private/staking/get-convert-history', ['v1', 'private'], 'POST', {'cost': 2})
|
40
51
|
v2_public_get_public_auth = v2PublicGetPublicAuth = Entry('public/auth', ['v2', 'public'], 'GET', {'cost': 1})
|
41
52
|
v2_public_get_public_get_instruments = v2PublicGetPublicGetInstruments = Entry('public/get-instruments', ['v2', 'public'], 'GET', {'cost': 1})
|
42
53
|
v2_public_get_public_get_book = v2PublicGetPublicGetBook = Entry('public/get-book', ['v2', 'public'], 'GET', {'cost': 1})
|
@@ -18,6 +18,7 @@ class ImplicitAPI:
|
|
18
18
|
public_get_timestamp = publicGetTimestamp = Entry('timestamp', 'public', 'GET', {'cost': 4.5})
|
19
19
|
public_get_status = publicGetStatus = Entry('status', 'public', 'GET', {'cost': 4.5})
|
20
20
|
public_get_mark_price_symbol_current = publicGetMarkPriceSymbolCurrent = Entry('mark-price/{symbol}/current', 'public', 'GET', {'cost': 3})
|
21
|
+
public_get_mark_price_all_symbols = publicGetMarkPriceAllSymbols = Entry('mark-price/all-symbols', 'public', 'GET', {'cost': 3})
|
21
22
|
public_get_margin_config = publicGetMarginConfig = Entry('margin/config', 'public', 'GET', {'cost': 25})
|
22
23
|
public_post_bullet_public = publicPostBulletPublic = Entry('bullet-public', 'public', 'POST', {'cost': 15})
|
23
24
|
private_get_user_info = privateGetUserInfo = Entry('user-info', 'private', 'GET', {'cost': 30})
|
@@ -18,6 +18,7 @@ class ImplicitAPI:
|
|
18
18
|
public_get_timestamp = publicGetTimestamp = Entry('timestamp', 'public', 'GET', {'cost': 4.5})
|
19
19
|
public_get_status = publicGetStatus = Entry('status', 'public', 'GET', {'cost': 4.5})
|
20
20
|
public_get_mark_price_symbol_current = publicGetMarkPriceSymbolCurrent = Entry('mark-price/{symbol}/current', 'public', 'GET', {'cost': 3})
|
21
|
+
public_get_mark_price_all_symbols = publicGetMarkPriceAllSymbols = Entry('mark-price/all-symbols', 'public', 'GET', {'cost': 3})
|
21
22
|
public_get_margin_config = publicGetMarginConfig = Entry('margin/config', 'public', 'GET', {'cost': 25})
|
22
23
|
public_post_bullet_public = publicPostBulletPublic = Entry('bullet-public', 'public', 'POST', {'cost': 15})
|
23
24
|
private_get_user_info = privateGetUserInfo = Entry('user-info', 'private', 'GET', {'cost': 30})
|
@@ -42,6 +42,7 @@ class ImplicitAPI:
|
|
42
42
|
v1_private_get_positions = v1PrivateGetPositions = Entry('positions', ['v1', 'private'], 'GET', {'cost': 3.33})
|
43
43
|
v1_private_get_position_symbol = v1PrivateGetPositionSymbol = Entry('position/{symbol}', ['v1', 'private'], 'GET', {'cost': 3.33})
|
44
44
|
v1_private_get_client_transaction_history = v1PrivateGetClientTransactionHistory = Entry('client/transaction_history', ['v1', 'private'], 'GET', {'cost': 60})
|
45
|
+
v1_private_get_client_futures_leverage = v1PrivateGetClientFuturesLeverage = Entry('client/futures_leverage', ['v1', 'private'], 'GET', {'cost': 60})
|
45
46
|
v1_private_post_order = v1PrivatePostOrder = Entry('order', ['v1', 'private'], 'POST', {'cost': 5})
|
46
47
|
v1_private_post_order_cancel_all_after = v1PrivatePostOrderCancelAllAfter = Entry('order/cancel_all_after', ['v1', 'private'], 'POST', {'cost': 1})
|
47
48
|
v1_private_post_asset_main_sub_transfer = v1PrivatePostAssetMainSubTransfer = Entry('asset/main_sub_transfer', ['v1', 'private'], 'POST', {'cost': 30})
|
@@ -52,6 +53,8 @@ class ImplicitAPI:
|
|
52
53
|
v1_private_post_client_account_mode = v1PrivatePostClientAccountMode = Entry('client/account_mode', ['v1', 'private'], 'POST', {'cost': 120})
|
53
54
|
v1_private_post_client_position_mode = v1PrivatePostClientPositionMode = Entry('client/position_mode', ['v1', 'private'], 'POST', {'cost': 5})
|
54
55
|
v1_private_post_client_leverage = v1PrivatePostClientLeverage = Entry('client/leverage', ['v1', 'private'], 'POST', {'cost': 120})
|
56
|
+
v1_private_post_client_futures_leverage = v1PrivatePostClientFuturesLeverage = Entry('client/futures_leverage', ['v1', 'private'], 'POST', {'cost': 30})
|
57
|
+
v1_private_post_client_isolated_margin = v1PrivatePostClientIsolatedMargin = Entry('client/isolated_margin', ['v1', 'private'], 'POST', {'cost': 30})
|
55
58
|
v1_private_delete_order = v1PrivateDeleteOrder = Entry('order', ['v1', 'private'], 'DELETE', {'cost': 1})
|
56
59
|
v1_private_delete_client_order = v1PrivateDeleteClientOrder = Entry('client/order', ['v1', 'private'], 'DELETE', {'cost': 1})
|
57
60
|
v1_private_delete_orders = v1PrivateDeleteOrders = Entry('orders', ['v1', 'private'], 'DELETE', {'cost': 1})
|
@@ -203,10 +203,23 @@ class ace(Exchange, ImplicitAPI):
|
|
203
203
|
return self.parse_markets(response)
|
204
204
|
|
205
205
|
def parse_market(self, market: dict) -> Market:
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
206
|
+
#
|
207
|
+
# {
|
208
|
+
# "symbol": "ADA/TWD",
|
209
|
+
# "base": "ADA",
|
210
|
+
# "baseCurrencyId": "122",
|
211
|
+
# "quote": "TWD",
|
212
|
+
# "quoteCurrencyId": "1",
|
213
|
+
# "basePrecision": "2",
|
214
|
+
# "quotePrecision": "3",
|
215
|
+
# "minLimitBaseAmount": "1.0",
|
216
|
+
# "maxLimitBaseAmount": "150000.0"
|
217
|
+
# }
|
218
|
+
#
|
219
|
+
baseId = self.safe_string(market, 'baseCurrencyId')
|
220
|
+
base = self.safe_currency_code(self.safe_string(market, 'base'))
|
221
|
+
quoteId = self.safe_string(market, 'quoteCurrencyId')
|
222
|
+
quote = self.safe_currency_code(self.safe_string(market, 'quote'))
|
210
223
|
symbol = base + '/' + quote
|
211
224
|
return {
|
212
225
|
'id': self.safe_string(market, 'symbol'),
|
@@ -304,7 +317,7 @@ class ace(Exchange, ImplicitAPI):
|
|
304
317
|
market = self.market(symbol)
|
305
318
|
response = self.publicGetOapiV2ListTradePrice(params)
|
306
319
|
marketId = market['id']
|
307
|
-
ticker = self.
|
320
|
+
ticker = self.safe_dict(response, marketId, {})
|
308
321
|
#
|
309
322
|
# {
|
310
323
|
# "BTC/USDT":{
|
@@ -340,7 +353,7 @@ class ace(Exchange, ImplicitAPI):
|
|
340
353
|
for i in range(0, len(pairs)):
|
341
354
|
marketId = pairs[i]
|
342
355
|
market = self.safe_market(marketId)
|
343
|
-
rawTicker = self.
|
356
|
+
rawTicker = self.safe_dict(response, marketId)
|
344
357
|
ticker = self.parse_ticker(rawTicker, market)
|
345
358
|
tickers.append(ticker)
|
346
359
|
return self.filter_by_array_tickers(tickers, 'symbol', symbols)
|
@@ -454,7 +467,7 @@ class ace(Exchange, ImplicitAPI):
|
|
454
467
|
if since is not None:
|
455
468
|
request['startTime'] = since
|
456
469
|
response = self.privatePostV2KlineGetKline(self.extend(request, params))
|
457
|
-
data = self.
|
470
|
+
data = self.safe_list(response, 'attachment', [])
|
458
471
|
#
|
459
472
|
# {
|
460
473
|
# "attachment":[
|
@@ -533,18 +546,18 @@ class ace(Exchange, ImplicitAPI):
|
|
533
546
|
if dateTime is not None:
|
534
547
|
timestamp = self.parse8601(dateTime)
|
535
548
|
timestamp = timestamp - 28800000 # 8 hours
|
536
|
-
orderSide = self.
|
549
|
+
orderSide = self.safe_string(order, 'buyOrSell')
|
537
550
|
if orderSide is not None:
|
538
|
-
side = 'buy' if (orderSide == 1) else 'sell'
|
551
|
+
side = 'buy' if (orderSide == '1') else 'sell'
|
539
552
|
amount = self.safe_string(order, 'num')
|
540
553
|
price = self.safe_string(order, 'price')
|
541
554
|
quoteId = self.safe_string(order, 'quoteCurrencyName')
|
542
555
|
baseId = self.safe_string(order, 'baseCurrencyName')
|
543
556
|
if quoteId is not None and baseId is not None:
|
544
557
|
symbol = baseId + '/' + quoteId
|
545
|
-
orderType = self.
|
558
|
+
orderType = self.safe_string(order, 'type')
|
546
559
|
if orderType is not None:
|
547
|
-
type = 'limit' if (orderType == 1) else 'market'
|
560
|
+
type = 'limit' if (orderType == '1') else 'market'
|
548
561
|
filled = self.safe_string(order, 'tradeNum')
|
549
562
|
remaining = self.safe_string(order, 'remainNum')
|
550
563
|
status = self.parse_order_status(self.safe_string(order, 'status'))
|
@@ -694,7 +707,7 @@ class ace(Exchange, ImplicitAPI):
|
|
694
707
|
if limit is not None:
|
695
708
|
request['size'] = limit
|
696
709
|
response = self.privatePostV2OrderGetOrderList(self.extend(request, params))
|
697
|
-
orders = self.
|
710
|
+
orders = self.safe_list(response, 'attachment')
|
698
711
|
#
|
699
712
|
# {
|
700
713
|
# "attachment": [
|
@@ -851,7 +864,7 @@ class ace(Exchange, ImplicitAPI):
|
|
851
864
|
# "status": 200
|
852
865
|
# }
|
853
866
|
#
|
854
|
-
data = self.
|
867
|
+
data = self.safe_dict(response, 'attachment')
|
855
868
|
trades = self.safe_list(data, 'trades', [])
|
856
869
|
return self.parse_trades(trades, market, since, limit)
|
857
870
|
|
@@ -947,7 +960,7 @@ class ace(Exchange, ImplicitAPI):
|
|
947
960
|
"""
|
948
961
|
self.load_markets()
|
949
962
|
response = self.privatePostV2CoinCustomerAccount(params)
|
950
|
-
balances = self.
|
963
|
+
balances = self.safe_list(response, 'attachment', [])
|
951
964
|
#
|
952
965
|
# {
|
953
966
|
# "attachment":[
|
@@ -981,7 +994,12 @@ class ace(Exchange, ImplicitAPI):
|
|
981
994
|
}, params)
|
982
995
|
sortedData = self.keysort(data)
|
983
996
|
values = list(sortedData.values())
|
984
|
-
|
997
|
+
stringifiedValues = []
|
998
|
+
for i in range(0, len(values)):
|
999
|
+
value = values[i]
|
1000
|
+
strValue = str(value)
|
1001
|
+
stringifiedValues.append(strValue)
|
1002
|
+
auth += ''.join(stringifiedValues)
|
985
1003
|
signature = self.hash(self.encode(auth), 'sha256', 'hex')
|
986
1004
|
data['signKey'] = signature
|
987
1005
|
headers = {
|
@@ -1056,6 +1056,7 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1056
1056
|
url = self.implode_hostname(self.urls['api'][api[0]])
|
1057
1057
|
headers = headers if (headers is not None) else {}
|
1058
1058
|
if api[1] == 'private':
|
1059
|
+
self.check_required_credentials()
|
1059
1060
|
headers['APCA-API-KEY-ID'] = self.apiKey
|
1060
1061
|
headers['APCA-API-SECRET-KEY'] = self.secret
|
1061
1062
|
query = self.omit(params, self.extract_params(path))
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.3.
|
7
|
+
__version__ = '4.3.64'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -53,6 +53,7 @@ from ccxt.base.errors import RateLimitExceeded # noqa: F4
|
|
53
53
|
from ccxt.base.errors import ExchangeNotAvailable # noqa: F401
|
54
54
|
from ccxt.base.errors import OnMaintenance # noqa: F401
|
55
55
|
from ccxt.base.errors import InvalidNonce # noqa: F401
|
56
|
+
from ccxt.base.errors import ChecksumError # noqa: F401
|
56
57
|
from ccxt.base.errors import RequestTimeout # noqa: F401
|
57
58
|
from ccxt.base.errors import BadResponse # noqa: F401
|
58
59
|
from ccxt.base.errors import NullResponse # noqa: F401
|
@@ -203,10 +203,23 @@ class ace(Exchange, ImplicitAPI):
|
|
203
203
|
return self.parse_markets(response)
|
204
204
|
|
205
205
|
def parse_market(self, market: dict) -> Market:
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
206
|
+
#
|
207
|
+
# {
|
208
|
+
# "symbol": "ADA/TWD",
|
209
|
+
# "base": "ADA",
|
210
|
+
# "baseCurrencyId": "122",
|
211
|
+
# "quote": "TWD",
|
212
|
+
# "quoteCurrencyId": "1",
|
213
|
+
# "basePrecision": "2",
|
214
|
+
# "quotePrecision": "3",
|
215
|
+
# "minLimitBaseAmount": "1.0",
|
216
|
+
# "maxLimitBaseAmount": "150000.0"
|
217
|
+
# }
|
218
|
+
#
|
219
|
+
baseId = self.safe_string(market, 'baseCurrencyId')
|
220
|
+
base = self.safe_currency_code(self.safe_string(market, 'base'))
|
221
|
+
quoteId = self.safe_string(market, 'quoteCurrencyId')
|
222
|
+
quote = self.safe_currency_code(self.safe_string(market, 'quote'))
|
210
223
|
symbol = base + '/' + quote
|
211
224
|
return {
|
212
225
|
'id': self.safe_string(market, 'symbol'),
|
@@ -304,7 +317,7 @@ class ace(Exchange, ImplicitAPI):
|
|
304
317
|
market = self.market(symbol)
|
305
318
|
response = await self.publicGetOapiV2ListTradePrice(params)
|
306
319
|
marketId = market['id']
|
307
|
-
ticker = self.
|
320
|
+
ticker = self.safe_dict(response, marketId, {})
|
308
321
|
#
|
309
322
|
# {
|
310
323
|
# "BTC/USDT":{
|
@@ -340,7 +353,7 @@ class ace(Exchange, ImplicitAPI):
|
|
340
353
|
for i in range(0, len(pairs)):
|
341
354
|
marketId = pairs[i]
|
342
355
|
market = self.safe_market(marketId)
|
343
|
-
rawTicker = self.
|
356
|
+
rawTicker = self.safe_dict(response, marketId)
|
344
357
|
ticker = self.parse_ticker(rawTicker, market)
|
345
358
|
tickers.append(ticker)
|
346
359
|
return self.filter_by_array_tickers(tickers, 'symbol', symbols)
|
@@ -454,7 +467,7 @@ class ace(Exchange, ImplicitAPI):
|
|
454
467
|
if since is not None:
|
455
468
|
request['startTime'] = since
|
456
469
|
response = await self.privatePostV2KlineGetKline(self.extend(request, params))
|
457
|
-
data = self.
|
470
|
+
data = self.safe_list(response, 'attachment', [])
|
458
471
|
#
|
459
472
|
# {
|
460
473
|
# "attachment":[
|
@@ -533,18 +546,18 @@ class ace(Exchange, ImplicitAPI):
|
|
533
546
|
if dateTime is not None:
|
534
547
|
timestamp = self.parse8601(dateTime)
|
535
548
|
timestamp = timestamp - 28800000 # 8 hours
|
536
|
-
orderSide = self.
|
549
|
+
orderSide = self.safe_string(order, 'buyOrSell')
|
537
550
|
if orderSide is not None:
|
538
|
-
side = 'buy' if (orderSide == 1) else 'sell'
|
551
|
+
side = 'buy' if (orderSide == '1') else 'sell'
|
539
552
|
amount = self.safe_string(order, 'num')
|
540
553
|
price = self.safe_string(order, 'price')
|
541
554
|
quoteId = self.safe_string(order, 'quoteCurrencyName')
|
542
555
|
baseId = self.safe_string(order, 'baseCurrencyName')
|
543
556
|
if quoteId is not None and baseId is not None:
|
544
557
|
symbol = baseId + '/' + quoteId
|
545
|
-
orderType = self.
|
558
|
+
orderType = self.safe_string(order, 'type')
|
546
559
|
if orderType is not None:
|
547
|
-
type = 'limit' if (orderType == 1) else 'market'
|
560
|
+
type = 'limit' if (orderType == '1') else 'market'
|
548
561
|
filled = self.safe_string(order, 'tradeNum')
|
549
562
|
remaining = self.safe_string(order, 'remainNum')
|
550
563
|
status = self.parse_order_status(self.safe_string(order, 'status'))
|
@@ -694,7 +707,7 @@ class ace(Exchange, ImplicitAPI):
|
|
694
707
|
if limit is not None:
|
695
708
|
request['size'] = limit
|
696
709
|
response = await self.privatePostV2OrderGetOrderList(self.extend(request, params))
|
697
|
-
orders = self.
|
710
|
+
orders = self.safe_list(response, 'attachment')
|
698
711
|
#
|
699
712
|
# {
|
700
713
|
# "attachment": [
|
@@ -851,7 +864,7 @@ class ace(Exchange, ImplicitAPI):
|
|
851
864
|
# "status": 200
|
852
865
|
# }
|
853
866
|
#
|
854
|
-
data = self.
|
867
|
+
data = self.safe_dict(response, 'attachment')
|
855
868
|
trades = self.safe_list(data, 'trades', [])
|
856
869
|
return self.parse_trades(trades, market, since, limit)
|
857
870
|
|
@@ -947,7 +960,7 @@ class ace(Exchange, ImplicitAPI):
|
|
947
960
|
"""
|
948
961
|
await self.load_markets()
|
949
962
|
response = await self.privatePostV2CoinCustomerAccount(params)
|
950
|
-
balances = self.
|
963
|
+
balances = self.safe_list(response, 'attachment', [])
|
951
964
|
#
|
952
965
|
# {
|
953
966
|
# "attachment":[
|
@@ -981,7 +994,12 @@ class ace(Exchange, ImplicitAPI):
|
|
981
994
|
}, params)
|
982
995
|
sortedData = self.keysort(data)
|
983
996
|
values = list(sortedData.values())
|
984
|
-
|
997
|
+
stringifiedValues = []
|
998
|
+
for i in range(0, len(values)):
|
999
|
+
value = values[i]
|
1000
|
+
strValue = str(value)
|
1001
|
+
stringifiedValues.append(strValue)
|
1002
|
+
auth += ''.join(stringifiedValues)
|
985
1003
|
signature = self.hash(self.encode(auth), 'sha256', 'hex')
|
986
1004
|
data['signKey'] = signature
|
987
1005
|
headers = {
|
@@ -1056,6 +1056,7 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1056
1056
|
url = self.implode_hostname(self.urls['api'][api[0]])
|
1057
1057
|
headers = headers if (headers is not None) else {}
|
1058
1058
|
if api[1] == 'private':
|
1059
|
+
self.check_required_credentials()
|
1059
1060
|
headers['APCA-API-KEY-ID'] = self.apiKey
|
1060
1061
|
headers['APCA-API-SECRET-KEY'] = self.secret
|
1061
1062
|
query = self.omit(params, self.extract_params(path))
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '4.3.
|
5
|
+
__version__ = '4.3.64'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -1013,14 +1013,14 @@ class Exchange(BaseExchange):
|
|
1013
1013
|
await self.load_markets()
|
1014
1014
|
market = self.market(symbol)
|
1015
1015
|
symbol = market['symbol']
|
1016
|
-
tickers = await self.
|
1016
|
+
tickers = await self.fetch_tickers_ws([symbol], params)
|
1017
1017
|
ticker = self.safe_dict(tickers, symbol)
|
1018
1018
|
if ticker is None:
|
1019
|
-
raise NullResponse(self.id + '
|
1019
|
+
raise NullResponse(self.id + ' fetchTickerWs() could not find a ticker for ' + symbol)
|
1020
1020
|
else:
|
1021
1021
|
return ticker
|
1022
1022
|
else:
|
1023
|
-
raise NotSupported(self.id + '
|
1023
|
+
raise NotSupported(self.id + ' fetchTickerWs() is not supported yet')
|
1024
1024
|
|
1025
1025
|
async def watch_ticker(self, symbol: str, params={}):
|
1026
1026
|
raise NotSupported(self.id + ' watchTicker() is not supported yet')
|
@@ -837,7 +837,7 @@ class binance(Exchange, ImplicitAPI):
|
|
837
837
|
'forceOrders': {'cost': 20, 'noSymbol': 50},
|
838
838
|
'allOrders': 5,
|
839
839
|
'openOrder': 1,
|
840
|
-
'openOrders': 1,
|
840
|
+
'openOrders': {'cost': 1, 'noSymbol': 40},
|
841
841
|
'order': 1,
|
842
842
|
'account': 5,
|
843
843
|
'balance': 5,
|
@@ -1029,18 +1029,18 @@ class binance(Exchange, ImplicitAPI):
|
|
1029
1029
|
'ping': 1,
|
1030
1030
|
'um/order': 1, # 1
|
1031
1031
|
'um/openOrder': 1, # 1
|
1032
|
-
'um/openOrders': 1,
|
1032
|
+
'um/openOrders': {'cost': 1, 'noSymbol': 40},
|
1033
1033
|
'um/allOrders': 5, # 5
|
1034
1034
|
'cm/order': 1, # 1
|
1035
1035
|
'cm/openOrder': 1, # 1
|
1036
|
-
'cm/openOrders': 1,
|
1036
|
+
'cm/openOrders': {'cost': 1, 'noSymbol': 40},
|
1037
1037
|
'cm/allOrders': 20, # 20
|
1038
1038
|
'um/conditional/openOrder': 1,
|
1039
|
-
'um/conditional/openOrders': 40,
|
1039
|
+
'um/conditional/openOrders': {'cost': 1, 'noSymbol': 40},
|
1040
1040
|
'um/conditional/orderHistory': 1,
|
1041
1041
|
'um/conditional/allOrders': 40,
|
1042
1042
|
'cm/conditional/openOrder': 1,
|
1043
|
-
'cm/conditional/openOrders': 40,
|
1043
|
+
'cm/conditional/openOrders': {'cost': 1, 'noSymbol': 40},
|
1044
1044
|
'cm/conditional/orderHistory': 1,
|
1045
1045
|
'cm/conditional/allOrders': 40,
|
1046
1046
|
'margin/order': 5,
|
@@ -6202,10 +6202,7 @@ class binance(Exchange, ImplicitAPI):
|
|
6202
6202
|
marketType = market['type'] if ('type' in market) else defaultType
|
6203
6203
|
type = self.safe_string(params, 'type', marketType)
|
6204
6204
|
elif self.options['warnOnFetchOpenOrdersWithoutSymbol']:
|
6205
|
-
|
6206
|
-
numSymbols = len(symbols)
|
6207
|
-
fetchOpenOrdersRateLimit = self.parse_to_int(numSymbols / 2)
|
6208
|
-
raise ExchangeError(self.id + ' fetchOpenOrders() WARNING: fetching open orders without specifying a symbol is rate-limited to one call per ' + str(fetchOpenOrdersRateLimit) + ' seconds. Do not call self method frequently to avoid ban. Set ' + self.id + '.options["warnOnFetchOpenOrdersWithoutSymbol"] = False to suppress self warning message.')
|
6205
|
+
raise ExchangeError(self.id + ' fetchOpenOrders() WARNING: fetching open orders without specifying a symbol has stricter rate limits(10 times more for spot, 40 times more for other markets) compared to requesting with symbol argument. To acknowledge self warning, set ' + self.id + '.options["warnOnFetchOpenOrdersWithoutSymbol"] = False to suppress self warning message.')
|
6209
6206
|
else:
|
6210
6207
|
defaultType = self.safe_string_2(self.options, 'fetchOpenOrders', 'defaultType', 'spot')
|
6211
6208
|
type = self.safe_string(params, 'type', defaultType)
|