ccxt-ir 4.3.46.0.1__py2.py3-none-any.whl
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/__init__.py +358 -0
- ccxt/abantether.py +316 -0
- ccxt/abstract/__init__.py +0 -0
- ccxt/abstract/abantether.py +5 -0
- ccxt/abstract/ace.py +15 -0
- ccxt/abstract/afratether.py +6 -0
- ccxt/abstract/alpaca.py +70 -0
- ccxt/abstract/arzinja.py +5 -0
- ccxt/abstract/arzplus.py +7 -0
- ccxt/abstract/ascendex.py +77 -0
- ccxt/abstract/bequant.py +115 -0
- ccxt/abstract/bigone.py +45 -0
- ccxt/abstract/binance.py +712 -0
- ccxt/abstract/binancecoinm.py +712 -0
- ccxt/abstract/binanceus.py +764 -0
- ccxt/abstract/binanceusdm.py +712 -0
- ccxt/abstract/bingx.py +113 -0
- ccxt/abstract/bit2c.py +27 -0
- ccxt/abstract/bitbank.py +27 -0
- ccxt/abstract/bitbay.py +53 -0
- ccxt/abstract/bitbns.py +40 -0
- ccxt/abstract/bitcoincom.py +115 -0
- ccxt/abstract/bitfinex.py +69 -0
- ccxt/abstract/bitfinex2.py +139 -0
- ccxt/abstract/bitflyer.py +38 -0
- ccxt/abstract/bitget.py +508 -0
- ccxt/abstract/bithumb.py +32 -0
- ccxt/abstract/bitimen.py +7 -0
- ccxt/abstract/bitir.py +7 -0
- ccxt/abstract/bitmart.py +99 -0
- ccxt/abstract/bitmex.py +97 -0
- ccxt/abstract/bitopro.py +29 -0
- ccxt/abstract/bitpanda.py +35 -0
- ccxt/abstract/bitpin.py +7 -0
- ccxt/abstract/bitrue.py +72 -0
- ccxt/abstract/bitso.py +43 -0
- ccxt/abstract/bitstamp.py +258 -0
- ccxt/abstract/bitteam.py +29 -0
- ccxt/abstract/bitvavo.py +27 -0
- ccxt/abstract/bl3p.py +19 -0
- ccxt/abstract/blockchaincom.py +28 -0
- ccxt/abstract/blofin.py +37 -0
- ccxt/abstract/btcalpha.py +18 -0
- ccxt/abstract/btcbox.py +13 -0
- ccxt/abstract/btcmarkets.py +39 -0
- ccxt/abstract/btcturk.py +20 -0
- ccxt/abstract/bybit.py +298 -0
- ccxt/abstract/cex.py +33 -0
- ccxt/abstract/coinbase.py +94 -0
- ccxt/abstract/coinbaseadvanced.py +94 -0
- ccxt/abstract/coinbaseexchange.py +67 -0
- ccxt/abstract/coinbaseinternational.py +39 -0
- ccxt/abstract/coincatch.py +94 -0
- ccxt/abstract/coincheck.py +33 -0
- ccxt/abstract/coinex.py +237 -0
- ccxt/abstract/coinlist.py +54 -0
- ccxt/abstract/coinmate.py +62 -0
- ccxt/abstract/coinmetro.py +34 -0
- ccxt/abstract/coinone.py +67 -0
- ccxt/abstract/coinsph.py +54 -0
- ccxt/abstract/coinspot.py +28 -0
- ccxt/abstract/cryptocom.py +107 -0
- ccxt/abstract/currencycom.py +68 -0
- ccxt/abstract/delta.py +50 -0
- ccxt/abstract/deribit.py +125 -0
- ccxt/abstract/digifinex.py +91 -0
- ccxt/abstract/eterex.py +5 -0
- ccxt/abstract/excoino.py +7 -0
- ccxt/abstract/exir.py +8 -0
- ccxt/abstract/exmo.py +55 -0
- ccxt/abstract/exnovin.py +6 -0
- ccxt/abstract/farhadexchange.py +5 -0
- ccxt/abstract/fmfwio.py +115 -0
- ccxt/abstract/gate.py +265 -0
- ccxt/abstract/gateio.py +265 -0
- ccxt/abstract/gemini.py +58 -0
- ccxt/abstract/hashkey.py +67 -0
- ccxt/abstract/hitbtc.py +115 -0
- ccxt/abstract/hitbtc3.py +115 -0
- ccxt/abstract/hitobit.py +8 -0
- ccxt/abstract/hollaex.py +33 -0
- ccxt/abstract/htx.py +548 -0
- ccxt/abstract/huobi.py +548 -0
- ccxt/abstract/huobijp.py +114 -0
- ccxt/abstract/hyperliquid.py +6 -0
- ccxt/abstract/idex.py +26 -0
- ccxt/abstract/independentreserve.py +37 -0
- ccxt/abstract/indodax.py +26 -0
- ccxt/abstract/jibitex.py +7 -0
- ccxt/abstract/kraken.py +57 -0
- ccxt/abstract/krakenfutures.py +38 -0
- ccxt/abstract/kucoin.py +214 -0
- ccxt/abstract/kucoinfutures.py +233 -0
- ccxt/abstract/kuna.py +182 -0
- ccxt/abstract/latoken.py +56 -0
- ccxt/abstract/lbank.py +61 -0
- ccxt/abstract/luno.py +37 -0
- ccxt/abstract/lykke.py +29 -0
- ccxt/abstract/mercado.py +25 -0
- ccxt/abstract/mexc.py +178 -0
- ccxt/abstract/ndax.py +97 -0
- ccxt/abstract/nobitex.py +7 -0
- ccxt/abstract/novadax.py +29 -0
- ccxt/abstract/oceanex.py +22 -0
- ccxt/abstract/okcoin.py +74 -0
- ccxt/abstract/okexchange.py +8 -0
- ccxt/abstract/okx.py +324 -0
- ccxt/abstract/ompfinex.py +7 -0
- ccxt/abstract/onetrading.py +35 -0
- ccxt/abstract/oxfun.py +34 -0
- ccxt/abstract/p2b.py +22 -0
- ccxt/abstract/paradex.py +40 -0
- ccxt/abstract/paymium.py +28 -0
- ccxt/abstract/phemex.py +115 -0
- ccxt/abstract/poloniex.py +69 -0
- ccxt/abstract/poloniexfutures.py +48 -0
- ccxt/abstract/probit.py +23 -0
- ccxt/abstract/ramzinex.py +7 -0
- ccxt/abstract/sarmayex.py +5 -0
- ccxt/abstract/sarrafex.py +7 -0
- ccxt/abstract/tabdeal.py +7 -0
- ccxt/abstract/tetherland.py +5 -0
- ccxt/abstract/timex.py +62 -0
- ccxt/abstract/tokocrypto.py +37 -0
- ccxt/abstract/tradeogre.py +16 -0
- ccxt/abstract/twox.py +5 -0
- ccxt/abstract/ubitex.py +7 -0
- ccxt/abstract/upbit.py +38 -0
- ccxt/abstract/vertex.py +19 -0
- ccxt/abstract/wallex.py +8 -0
- ccxt/abstract/wavesexchange.py +154 -0
- ccxt/abstract/wazirx.py +30 -0
- ccxt/abstract/whitebit.py +98 -0
- ccxt/abstract/woo.py +83 -0
- ccxt/abstract/woofipro.py +119 -0
- ccxt/abstract/xt.py +152 -0
- ccxt/abstract/yobit.py +16 -0
- ccxt/abstract/zaif.py +38 -0
- ccxt/abstract/zonda.py +53 -0
- ccxt/ace.py +1012 -0
- ccxt/afratether.py +293 -0
- ccxt/alpaca.py +1083 -0
- ccxt/arzinja.py +285 -0
- ccxt/arzplus.py +412 -0
- ccxt/ascendex.py +3330 -0
- ccxt/async_support/__init__.py +337 -0
- ccxt/async_support/abantether.py +316 -0
- ccxt/async_support/ace.py +1012 -0
- ccxt/async_support/afratether.py +293 -0
- ccxt/async_support/alpaca.py +1083 -0
- ccxt/async_support/arzinja.py +285 -0
- ccxt/async_support/arzplus.py +412 -0
- ccxt/async_support/ascendex.py +3330 -0
- ccxt/async_support/base/__init__.py +1 -0
- ccxt/async_support/base/exchange.py +1966 -0
- ccxt/async_support/base/throttler.py +50 -0
- ccxt/async_support/base/ws/__init__.py +38 -0
- ccxt/async_support/base/ws/aiohttp_client.py +125 -0
- ccxt/async_support/base/ws/cache.py +212 -0
- ccxt/async_support/base/ws/client.py +193 -0
- ccxt/async_support/base/ws/fast_client.py +96 -0
- ccxt/async_support/base/ws/functions.py +59 -0
- ccxt/async_support/base/ws/future.py +58 -0
- ccxt/async_support/base/ws/order_book.py +78 -0
- ccxt/async_support/base/ws/order_book_side.py +174 -0
- ccxt/async_support/bequant.py +33 -0
- ccxt/async_support/bigone.py +2113 -0
- ccxt/async_support/binance.py +12234 -0
- ccxt/async_support/binancecoinm.py +45 -0
- ccxt/async_support/binanceus.py +211 -0
- ccxt/async_support/binanceusdm.py +58 -0
- ccxt/async_support/bingx.py +4325 -0
- ccxt/async_support/bit2c.py +866 -0
- ccxt/async_support/bitbank.py +1001 -0
- ccxt/async_support/bitbay.py +17 -0
- ccxt/async_support/bitbns.py +1154 -0
- ccxt/async_support/bitcoincom.py +17 -0
- ccxt/async_support/bitfinex.py +1617 -0
- ccxt/async_support/bitfinex2.py +3552 -0
- ccxt/async_support/bitflyer.py +995 -0
- ccxt/async_support/bitget.py +8273 -0
- ccxt/async_support/bithumb.py +1061 -0
- ccxt/async_support/bitimen.py +401 -0
- ccxt/async_support/bitir.py +490 -0
- ccxt/async_support/bitmart.py +4415 -0
- ccxt/async_support/bitmex.py +2756 -0
- ccxt/async_support/bitopro.py +1630 -0
- ccxt/async_support/bitpanda.py +16 -0
- ccxt/async_support/bitpin.py +454 -0
- ccxt/async_support/bitrue.py +3027 -0
- ccxt/async_support/bitso.py +1670 -0
- ccxt/async_support/bitstamp.py +2203 -0
- ccxt/async_support/bitteam.py +2239 -0
- ccxt/async_support/bitvavo.py +1968 -0
- ccxt/async_support/bl3p.py +485 -0
- ccxt/async_support/blockchaincom.py +1104 -0
- ccxt/async_support/blofin.py +2066 -0
- ccxt/async_support/btcalpha.py +891 -0
- ccxt/async_support/btcbox.py +544 -0
- ccxt/async_support/btcmarkets.py +1221 -0
- ccxt/async_support/btcturk.py +911 -0
- ccxt/async_support/bybit.py +8159 -0
- ccxt/async_support/cex.py +1605 -0
- ccxt/async_support/coinbase.py +4475 -0
- ccxt/async_support/coinbaseadvanced.py +17 -0
- ccxt/async_support/coinbaseexchange.py +1734 -0
- ccxt/async_support/coinbaseinternational.py +1899 -0
- ccxt/async_support/coincatch.py +5069 -0
- ccxt/async_support/coincheck.py +815 -0
- ccxt/async_support/coinex.py +5526 -0
- ccxt/async_support/coinlist.py +2243 -0
- ccxt/async_support/coinmate.py +1067 -0
- ccxt/async_support/coinmetro.py +1797 -0
- ccxt/async_support/coinone.py +1127 -0
- ccxt/async_support/coinsph.py +1850 -0
- ccxt/async_support/coinspot.py +534 -0
- ccxt/async_support/cryptocom.py +2822 -0
- ccxt/async_support/currencycom.py +1950 -0
- ccxt/async_support/delta.py +3376 -0
- ccxt/async_support/deribit.py +3437 -0
- ccxt/async_support/digifinex.py +3960 -0
- ccxt/async_support/eterex.py +286 -0
- ccxt/async_support/excoino.py +399 -0
- ccxt/async_support/exir.py +375 -0
- ccxt/async_support/exmo.py +2462 -0
- ccxt/async_support/exnovin.py +360 -0
- ccxt/async_support/farhadexchange.py +266 -0
- ccxt/async_support/fmfwio.py +34 -0
- ccxt/async_support/gate.py +6976 -0
- ccxt/async_support/gateio.py +16 -0
- ccxt/async_support/gemini.py +1825 -0
- ccxt/async_support/hashkey.py +4150 -0
- ccxt/async_support/hitbtc.py +3423 -0
- ccxt/async_support/hitbtc3.py +16 -0
- ccxt/async_support/hitobit.py +391 -0
- ccxt/async_support/hollaex.py +1813 -0
- ccxt/async_support/htx.py +8506 -0
- ccxt/async_support/huobi.py +16 -0
- ccxt/async_support/huobijp.py +1801 -0
- ccxt/async_support/hyperliquid.py +2431 -0
- ccxt/async_support/idex.py +1766 -0
- ccxt/async_support/independentreserve.py +784 -0
- ccxt/async_support/indodax.py +1247 -0
- ccxt/async_support/jibitex.py +395 -0
- ccxt/async_support/kraken.py +2894 -0
- ccxt/async_support/krakenfutures.py +2601 -0
- ccxt/async_support/kucoin.py +4602 -0
- ccxt/async_support/kucoinfutures.py +2698 -0
- ccxt/async_support/kuna.py +1841 -0
- ccxt/async_support/latoken.py +1664 -0
- ccxt/async_support/lbank.py +2683 -0
- ccxt/async_support/luno.py +1067 -0
- ccxt/async_support/lykke.py +1270 -0
- ccxt/async_support/mercado.py +842 -0
- ccxt/async_support/mexc.py +5369 -0
- ccxt/async_support/ndax.py +2354 -0
- ccxt/async_support/nobitex.py +419 -0
- ccxt/async_support/novadax.py +1484 -0
- ccxt/async_support/oceanex.py +903 -0
- ccxt/async_support/okcoin.py +2936 -0
- ccxt/async_support/okexchange.py +349 -0
- ccxt/async_support/okx.py +7827 -0
- ccxt/async_support/ompfinex.py +472 -0
- ccxt/async_support/onetrading.py +1911 -0
- ccxt/async_support/oxfun.py +2773 -0
- ccxt/async_support/p2b.py +1194 -0
- ccxt/async_support/paradex.py +2015 -0
- ccxt/async_support/paymium.py +564 -0
- ccxt/async_support/phemex.py +4473 -0
- ccxt/async_support/poloniex.py +2232 -0
- ccxt/async_support/poloniexfutures.py +1717 -0
- ccxt/async_support/probit.py +1734 -0
- ccxt/async_support/ramzinex.py +476 -0
- ccxt/async_support/sarmayex.py +357 -0
- ccxt/async_support/sarrafex.py +478 -0
- ccxt/async_support/tabdeal.py +364 -0
- ccxt/async_support/tetherland.py +349 -0
- ccxt/async_support/timex.py +1593 -0
- ccxt/async_support/tokocrypto.py +2405 -0
- ccxt/async_support/tradeogre.py +608 -0
- ccxt/async_support/twox.py +326 -0
- ccxt/async_support/ubitex.py +409 -0
- ccxt/async_support/upbit.py +1833 -0
- ccxt/async_support/vertex.py +2922 -0
- ccxt/async_support/wallex.py +445 -0
- ccxt/async_support/wavesexchange.py +2473 -0
- ccxt/async_support/wazirx.py +1224 -0
- ccxt/async_support/whitebit.py +2469 -0
- ccxt/async_support/woo.py +3114 -0
- ccxt/async_support/woofipro.py +2533 -0
- ccxt/async_support/xt.py +4454 -0
- ccxt/async_support/yobit.py +1283 -0
- ccxt/async_support/zaif.py +725 -0
- ccxt/async_support/zonda.py +1828 -0
- ccxt/base/__init__.py +27 -0
- ccxt/base/decimal_to_precision.py +174 -0
- ccxt/base/errors.py +242 -0
- ccxt/base/exchange.py +5941 -0
- ccxt/base/precise.py +287 -0
- ccxt/base/types.py +502 -0
- ccxt/bequant.py +33 -0
- ccxt/bigone.py +2112 -0
- ccxt/binance.py +12233 -0
- ccxt/binancecoinm.py +45 -0
- ccxt/binanceus.py +211 -0
- ccxt/binanceusdm.py +58 -0
- ccxt/bingx.py +4324 -0
- ccxt/bit2c.py +866 -0
- ccxt/bitbank.py +1001 -0
- ccxt/bitbay.py +17 -0
- ccxt/bitbns.py +1154 -0
- ccxt/bitcoincom.py +17 -0
- ccxt/bitfinex.py +1617 -0
- ccxt/bitfinex2.py +3552 -0
- ccxt/bitflyer.py +995 -0
- ccxt/bitget.py +8272 -0
- ccxt/bithumb.py +1061 -0
- ccxt/bitimen.py +401 -0
- ccxt/bitir.py +490 -0
- ccxt/bitmart.py +4415 -0
- ccxt/bitmex.py +2756 -0
- ccxt/bitopro.py +1630 -0
- ccxt/bitpanda.py +16 -0
- ccxt/bitpin.py +454 -0
- ccxt/bitrue.py +3026 -0
- ccxt/bitso.py +1670 -0
- ccxt/bitstamp.py +2203 -0
- ccxt/bitteam.py +2239 -0
- ccxt/bitvavo.py +1968 -0
- ccxt/bl3p.py +485 -0
- ccxt/blockchaincom.py +1104 -0
- ccxt/blofin.py +2066 -0
- ccxt/btcalpha.py +891 -0
- ccxt/btcbox.py +544 -0
- ccxt/btcmarkets.py +1221 -0
- ccxt/btcturk.py +911 -0
- ccxt/bybit.py +8158 -0
- ccxt/cex.py +1605 -0
- ccxt/coinbase.py +4474 -0
- ccxt/coinbaseadvanced.py +17 -0
- ccxt/coinbaseexchange.py +1734 -0
- ccxt/coinbaseinternational.py +1899 -0
- ccxt/coincatch.py +5069 -0
- ccxt/coincheck.py +815 -0
- ccxt/coinex.py +5525 -0
- ccxt/coinlist.py +2243 -0
- ccxt/coinmate.py +1067 -0
- ccxt/coinmetro.py +1797 -0
- ccxt/coinone.py +1127 -0
- ccxt/coinsph.py +1850 -0
- ccxt/coinspot.py +534 -0
- ccxt/cryptocom.py +2822 -0
- ccxt/currencycom.py +1950 -0
- ccxt/delta.py +3376 -0
- ccxt/deribit.py +3437 -0
- ccxt/digifinex.py +3959 -0
- ccxt/eterex.py +286 -0
- ccxt/excoino.py +399 -0
- ccxt/exir.py +375 -0
- ccxt/exmo.py +2462 -0
- ccxt/exnovin.py +360 -0
- ccxt/farhadexchange.py +266 -0
- ccxt/fmfwio.py +34 -0
- ccxt/gate.py +6975 -0
- ccxt/gateio.py +16 -0
- ccxt/gemini.py +1824 -0
- ccxt/hashkey.py +4150 -0
- ccxt/hitbtc.py +3423 -0
- ccxt/hitbtc3.py +16 -0
- ccxt/hitobit.py +391 -0
- ccxt/hollaex.py +1813 -0
- ccxt/htx.py +8505 -0
- ccxt/huobi.py +16 -0
- ccxt/huobijp.py +1801 -0
- ccxt/hyperliquid.py +2430 -0
- ccxt/idex.py +1766 -0
- ccxt/independentreserve.py +784 -0
- ccxt/indodax.py +1247 -0
- ccxt/jibitex.py +395 -0
- ccxt/kraken.py +2894 -0
- ccxt/krakenfutures.py +2601 -0
- ccxt/kucoin.py +4601 -0
- ccxt/kucoinfutures.py +2698 -0
- ccxt/kuna.py +1841 -0
- ccxt/latoken.py +1664 -0
- ccxt/lbank.py +2682 -0
- ccxt/luno.py +1067 -0
- ccxt/lykke.py +1270 -0
- ccxt/mercado.py +842 -0
- ccxt/mexc.py +5369 -0
- ccxt/ndax.py +2354 -0
- ccxt/nobitex.py +419 -0
- ccxt/novadax.py +1484 -0
- ccxt/oceanex.py +903 -0
- ccxt/okcoin.py +2936 -0
- ccxt/okexchange.py +349 -0
- ccxt/okx.py +7826 -0
- ccxt/ompfinex.py +472 -0
- ccxt/onetrading.py +1911 -0
- ccxt/oxfun.py +2772 -0
- ccxt/p2b.py +1194 -0
- ccxt/paradex.py +2015 -0
- ccxt/paymium.py +564 -0
- ccxt/phemex.py +4473 -0
- ccxt/poloniex.py +2232 -0
- ccxt/poloniexfutures.py +1717 -0
- ccxt/pro/__init__.py +149 -0
- ccxt/pro/alpaca.py +685 -0
- ccxt/pro/ascendex.py +916 -0
- ccxt/pro/bequant.py +38 -0
- ccxt/pro/binance.py +3488 -0
- ccxt/pro/binancecoinm.py +28 -0
- ccxt/pro/binanceus.py +48 -0
- ccxt/pro/binanceusdm.py +31 -0
- ccxt/pro/bingx.py +1264 -0
- ccxt/pro/bitcoincom.py +34 -0
- ccxt/pro/bitfinex.py +621 -0
- ccxt/pro/bitfinex2.py +1083 -0
- ccxt/pro/bitget.py +1692 -0
- ccxt/pro/bithumb.py +368 -0
- ccxt/pro/bitmart.py +1449 -0
- ccxt/pro/bitmex.py +1656 -0
- ccxt/pro/bitopro.py +445 -0
- ccxt/pro/bitpanda.py +15 -0
- ccxt/pro/bitrue.py +447 -0
- ccxt/pro/bitstamp.py +522 -0
- ccxt/pro/bitvavo.py +1270 -0
- ccxt/pro/blockchaincom.py +738 -0
- ccxt/pro/blofin.py +692 -0
- ccxt/pro/bybit.py +2000 -0
- ccxt/pro/cex.py +1440 -0
- ccxt/pro/coinbase.py +678 -0
- ccxt/pro/coinbaseadvanced.py +16 -0
- ccxt/pro/coinbaseexchange.py +895 -0
- ccxt/pro/coinbaseinternational.py +620 -0
- ccxt/pro/coincatch.py +1464 -0
- ccxt/pro/coincheck.py +199 -0
- ccxt/pro/coinex.py +1061 -0
- ccxt/pro/coinone.py +395 -0
- ccxt/pro/cryptocom.py +947 -0
- ccxt/pro/currencycom.py +536 -0
- ccxt/pro/deribit.py +892 -0
- ccxt/pro/exmo.py +629 -0
- ccxt/pro/gate.py +1416 -0
- ccxt/pro/gateio.py +15 -0
- ccxt/pro/gemini.py +865 -0
- ccxt/pro/hashkey.py +802 -0
- ccxt/pro/hitbtc.py +1216 -0
- ccxt/pro/hollaex.py +563 -0
- ccxt/pro/htx.py +2215 -0
- ccxt/pro/huobi.py +15 -0
- ccxt/pro/huobijp.py +570 -0
- ccxt/pro/hyperliquid.py +525 -0
- ccxt/pro/idex.py +672 -0
- ccxt/pro/independentreserve.py +270 -0
- ccxt/pro/kraken.py +1356 -0
- ccxt/pro/krakenfutures.py +1492 -0
- ccxt/pro/kucoin.py +1133 -0
- ccxt/pro/kucoinfutures.py +1081 -0
- ccxt/pro/lbank.py +843 -0
- ccxt/pro/luno.py +303 -0
- ccxt/pro/mexc.py +1122 -0
- ccxt/pro/ndax.py +506 -0
- ccxt/pro/okcoin.py +698 -0
- ccxt/pro/okx.py +1851 -0
- ccxt/pro/onetrading.py +1275 -0
- ccxt/pro/oxfun.py +950 -0
- ccxt/pro/p2b.py +419 -0
- ccxt/pro/paradex.py +352 -0
- ccxt/pro/phemex.py +1441 -0
- ccxt/pro/poloniex.py +1166 -0
- ccxt/pro/poloniexfutures.py +990 -0
- ccxt/pro/probit.py +551 -0
- ccxt/pro/upbit.py +520 -0
- ccxt/pro/vertex.py +943 -0
- ccxt/pro/wazirx.py +749 -0
- ccxt/pro/whitebit.py +864 -0
- ccxt/pro/woo.py +1078 -0
- ccxt/pro/woofipro.py +1183 -0
- ccxt/pro/xt.py +1067 -0
- ccxt/probit.py +1734 -0
- ccxt/ramzinex.py +476 -0
- ccxt/sarmayex.py +357 -0
- ccxt/sarrafex.py +478 -0
- ccxt/static_dependencies/__init__.py +1 -0
- ccxt/static_dependencies/ecdsa/__init__.py +14 -0
- ccxt/static_dependencies/ecdsa/_version.py +520 -0
- ccxt/static_dependencies/ecdsa/curves.py +56 -0
- ccxt/static_dependencies/ecdsa/der.py +221 -0
- ccxt/static_dependencies/ecdsa/ecdsa.py +310 -0
- ccxt/static_dependencies/ecdsa/ellipticcurve.py +197 -0
- ccxt/static_dependencies/ecdsa/keys.py +332 -0
- ccxt/static_dependencies/ecdsa/numbertheory.py +531 -0
- ccxt/static_dependencies/ecdsa/rfc6979.py +100 -0
- ccxt/static_dependencies/ecdsa/util.py +266 -0
- ccxt/static_dependencies/ethereum/__init__.py +7 -0
- ccxt/static_dependencies/ethereum/abi/__init__.py +16 -0
- ccxt/static_dependencies/ethereum/abi/abi.py +19 -0
- ccxt/static_dependencies/ethereum/abi/base.py +152 -0
- ccxt/static_dependencies/ethereum/abi/codec.py +217 -0
- ccxt/static_dependencies/ethereum/abi/constants.py +3 -0
- ccxt/static_dependencies/ethereum/abi/decoding.py +565 -0
- ccxt/static_dependencies/ethereum/abi/encoding.py +720 -0
- ccxt/static_dependencies/ethereum/abi/exceptions.py +139 -0
- ccxt/static_dependencies/ethereum/abi/grammar.py +443 -0
- ccxt/static_dependencies/ethereum/abi/packed.py +13 -0
- ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- ccxt/static_dependencies/ethereum/abi/registry.py +643 -0
- ccxt/static_dependencies/ethereum/abi/tools/__init__.py +3 -0
- ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +230 -0
- ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- ccxt/static_dependencies/ethereum/abi/utils/numeric.py +83 -0
- ccxt/static_dependencies/ethereum/abi/utils/padding.py +27 -0
- ccxt/static_dependencies/ethereum/abi/utils/string.py +19 -0
- ccxt/static_dependencies/ethereum/account/__init__.py +3 -0
- ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +4 -0
- ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +239 -0
- ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +40 -0
- ccxt/static_dependencies/ethereum/account/messages.py +263 -0
- ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- ccxt/static_dependencies/ethereum/hexbytes/__init__.py +5 -0
- ccxt/static_dependencies/ethereum/hexbytes/_utils.py +54 -0
- ccxt/static_dependencies/ethereum/hexbytes/main.py +65 -0
- ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- ccxt/static_dependencies/ethereum/typing/__init__.py +63 -0
- ccxt/static_dependencies/ethereum/typing/abi.py +6 -0
- ccxt/static_dependencies/ethereum/typing/bls.py +7 -0
- ccxt/static_dependencies/ethereum/typing/discovery.py +5 -0
- ccxt/static_dependencies/ethereum/typing/encoding.py +7 -0
- ccxt/static_dependencies/ethereum/typing/enums.py +17 -0
- ccxt/static_dependencies/ethereum/typing/ethpm.py +9 -0
- ccxt/static_dependencies/ethereum/typing/evm.py +20 -0
- ccxt/static_dependencies/ethereum/typing/networks.py +1122 -0
- ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- ccxt/static_dependencies/ethereum/utils/__init__.py +115 -0
- ccxt/static_dependencies/ethereum/utils/abi.py +72 -0
- ccxt/static_dependencies/ethereum/utils/address.py +171 -0
- ccxt/static_dependencies/ethereum/utils/applicators.py +151 -0
- ccxt/static_dependencies/ethereum/utils/conversions.py +190 -0
- ccxt/static_dependencies/ethereum/utils/currency.py +107 -0
- ccxt/static_dependencies/ethereum/utils/curried/__init__.py +269 -0
- ccxt/static_dependencies/ethereum/utils/debug.py +20 -0
- ccxt/static_dependencies/ethereum/utils/decorators.py +132 -0
- ccxt/static_dependencies/ethereum/utils/encoding.py +6 -0
- ccxt/static_dependencies/ethereum/utils/exceptions.py +4 -0
- ccxt/static_dependencies/ethereum/utils/functional.py +75 -0
- ccxt/static_dependencies/ethereum/utils/hexadecimal.py +74 -0
- ccxt/static_dependencies/ethereum/utils/humanize.py +188 -0
- ccxt/static_dependencies/ethereum/utils/logging.py +159 -0
- ccxt/static_dependencies/ethereum/utils/module_loading.py +31 -0
- ccxt/static_dependencies/ethereum/utils/numeric.py +43 -0
- ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- ccxt/static_dependencies/ethereum/utils/toolz.py +76 -0
- ccxt/static_dependencies/ethereum/utils/types.py +54 -0
- ccxt/static_dependencies/ethereum/utils/typing/__init__.py +18 -0
- ccxt/static_dependencies/ethereum/utils/typing/misc.py +14 -0
- ccxt/static_dependencies/ethereum/utils/units.py +31 -0
- ccxt/static_dependencies/keccak/__init__.py +3 -0
- ccxt/static_dependencies/keccak/keccak.py +197 -0
- ccxt/static_dependencies/lark/__init__.py +38 -0
- ccxt/static_dependencies/lark/__pyinstaller/__init__.py +6 -0
- ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +14 -0
- ccxt/static_dependencies/lark/ast_utils.py +59 -0
- ccxt/static_dependencies/lark/common.py +86 -0
- ccxt/static_dependencies/lark/exceptions.py +292 -0
- ccxt/static_dependencies/lark/grammar.py +130 -0
- ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
- ccxt/static_dependencies/lark/indenter.py +143 -0
- ccxt/static_dependencies/lark/lark.py +658 -0
- ccxt/static_dependencies/lark/lexer.py +678 -0
- ccxt/static_dependencies/lark/load_grammar.py +1428 -0
- ccxt/static_dependencies/lark/parse_tree_builder.py +391 -0
- ccxt/static_dependencies/lark/parser_frontends.py +257 -0
- ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
- ccxt/static_dependencies/lark/parsers/cyk.py +340 -0
- ccxt/static_dependencies/lark/parsers/earley.py +314 -0
- ccxt/static_dependencies/lark/parsers/earley_common.py +42 -0
- ccxt/static_dependencies/lark/parsers/earley_forest.py +801 -0
- ccxt/static_dependencies/lark/parsers/grammar_analysis.py +203 -0
- ccxt/static_dependencies/lark/parsers/lalr_analysis.py +332 -0
- ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +158 -0
- ccxt/static_dependencies/lark/parsers/lalr_parser.py +122 -0
- ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +110 -0
- ccxt/static_dependencies/lark/parsers/xearley.py +165 -0
- ccxt/static_dependencies/lark/reconstruct.py +107 -0
- ccxt/static_dependencies/lark/tools/__init__.py +70 -0
- ccxt/static_dependencies/lark/tools/nearley.py +202 -0
- ccxt/static_dependencies/lark/tools/serialize.py +32 -0
- ccxt/static_dependencies/lark/tools/standalone.py +196 -0
- ccxt/static_dependencies/lark/tree.py +267 -0
- ccxt/static_dependencies/lark/tree_matcher.py +186 -0
- ccxt/static_dependencies/lark/tree_templates.py +180 -0
- ccxt/static_dependencies/lark/utils.py +343 -0
- ccxt/static_dependencies/lark/visitors.py +596 -0
- ccxt/static_dependencies/marshmallow/__init__.py +81 -0
- ccxt/static_dependencies/marshmallow/base.py +65 -0
- ccxt/static_dependencies/marshmallow/class_registry.py +94 -0
- ccxt/static_dependencies/marshmallow/decorators.py +231 -0
- ccxt/static_dependencies/marshmallow/error_store.py +60 -0
- ccxt/static_dependencies/marshmallow/exceptions.py +71 -0
- ccxt/static_dependencies/marshmallow/fields.py +2114 -0
- ccxt/static_dependencies/marshmallow/orderedset.py +89 -0
- ccxt/static_dependencies/marshmallow/schema.py +1228 -0
- ccxt/static_dependencies/marshmallow/types.py +12 -0
- ccxt/static_dependencies/marshmallow/utils.py +378 -0
- ccxt/static_dependencies/marshmallow/validate.py +678 -0
- ccxt/static_dependencies/marshmallow/warnings.py +2 -0
- ccxt/static_dependencies/marshmallow_dataclass/__init__.py +1047 -0
- ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +51 -0
- ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +45 -0
- ccxt/static_dependencies/marshmallow_dataclass/mypy.py +71 -0
- ccxt/static_dependencies/marshmallow_dataclass/typing.py +14 -0
- ccxt/static_dependencies/marshmallow_dataclass/union_field.py +82 -0
- ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +1 -0
- ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +193 -0
- ccxt/static_dependencies/msgpack/__init__.py +55 -0
- ccxt/static_dependencies/msgpack/exceptions.py +48 -0
- ccxt/static_dependencies/msgpack/ext.py +168 -0
- ccxt/static_dependencies/msgpack/fallback.py +951 -0
- ccxt/static_dependencies/parsimonious/__init__.py +10 -0
- ccxt/static_dependencies/parsimonious/exceptions.py +105 -0
- ccxt/static_dependencies/parsimonious/expressions.py +479 -0
- ccxt/static_dependencies/parsimonious/grammar.py +487 -0
- ccxt/static_dependencies/parsimonious/nodes.py +325 -0
- ccxt/static_dependencies/parsimonious/utils.py +40 -0
- ccxt/static_dependencies/starknet/__init__.py +0 -0
- ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
- ccxt/static_dependencies/starknet/cairo/data_types.py +123 -0
- ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
- ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +77 -0
- ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +46 -0
- ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +138 -0
- ccxt/static_dependencies/starknet/cairo/felt.py +64 -0
- ccxt/static_dependencies/starknet/cairo/type_parser.py +121 -0
- ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
- ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +59 -0
- ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
- ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +77 -0
- ccxt/static_dependencies/starknet/ccxt_utils.py +7 -0
- ccxt/static_dependencies/starknet/common.py +15 -0
- ccxt/static_dependencies/starknet/constants.py +39 -0
- ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
- ccxt/static_dependencies/starknet/hash/address.py +79 -0
- ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +111 -0
- ccxt/static_dependencies/starknet/hash/selector.py +16 -0
- ccxt/static_dependencies/starknet/hash/storage.py +12 -0
- ccxt/static_dependencies/starknet/hash/utils.py +78 -0
- ccxt/static_dependencies/starknet/models/__init__.py +0 -0
- ccxt/static_dependencies/starknet/models/typed_data.py +45 -0
- ccxt/static_dependencies/starknet/serialization/__init__.py +24 -0
- ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +40 -0
- ccxt/static_dependencies/starknet/serialization/_context.py +142 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +10 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +82 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +43 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +37 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +66 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +71 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +71 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +50 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +58 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +43 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +40 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +72 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +36 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +36 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +76 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +100 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +32 -0
- ccxt/static_dependencies/starknet/serialization/errors.py +10 -0
- ccxt/static_dependencies/starknet/serialization/factory.py +229 -0
- ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +110 -0
- ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +59 -0
- ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
- ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +86 -0
- ccxt/static_dependencies/starknet/utils/iterable.py +13 -0
- ccxt/static_dependencies/starknet/utils/schema.py +13 -0
- ccxt/static_dependencies/starknet/utils/typed_data.py +182 -0
- ccxt/static_dependencies/starkware/__init__.py +0 -0
- ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
- ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +50 -0
- ccxt/static_dependencies/starkware/crypto/math_utils.py +78 -0
- ccxt/static_dependencies/starkware/crypto/signature.py +2344 -0
- ccxt/static_dependencies/starkware/crypto/utils.py +63 -0
- ccxt/static_dependencies/sympy/__init__.py +0 -0
- ccxt/static_dependencies/sympy/core/__init__.py +0 -0
- ccxt/static_dependencies/sympy/core/intfunc.py +35 -0
- ccxt/static_dependencies/sympy/external/__init__.py +0 -0
- ccxt/static_dependencies/sympy/external/gmpy.py +345 -0
- ccxt/static_dependencies/sympy/external/importtools.py +187 -0
- ccxt/static_dependencies/sympy/external/ntheory.py +637 -0
- ccxt/static_dependencies/sympy/external/pythonmpq.py +341 -0
- ccxt/static_dependencies/toolz/__init__.py +26 -0
- ccxt/static_dependencies/toolz/_signatures.py +784 -0
- ccxt/static_dependencies/toolz/_version.py +520 -0
- ccxt/static_dependencies/toolz/compatibility.py +30 -0
- ccxt/static_dependencies/toolz/curried/__init__.py +101 -0
- ccxt/static_dependencies/toolz/curried/exceptions.py +22 -0
- ccxt/static_dependencies/toolz/curried/operator.py +22 -0
- ccxt/static_dependencies/toolz/dicttoolz.py +339 -0
- ccxt/static_dependencies/toolz/functoolz.py +1049 -0
- ccxt/static_dependencies/toolz/itertoolz.py +1057 -0
- ccxt/static_dependencies/toolz/recipes.py +46 -0
- ccxt/static_dependencies/toolz/utils.py +9 -0
- ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
- ccxt/static_dependencies/typing_inspect/typing_inspect.py +851 -0
- ccxt/tabdeal.py +364 -0
- ccxt/test/__init__.py +3 -0
- ccxt/test/base/__init__.py +29 -0
- ccxt/test/base/test_account.py +26 -0
- ccxt/test/base/test_balance.py +56 -0
- ccxt/test/base/test_borrow_interest.py +35 -0
- ccxt/test/base/test_borrow_rate.py +32 -0
- ccxt/test/base/test_calculate_fee.py +51 -0
- ccxt/test/base/test_crypto.py +127 -0
- ccxt/test/base/test_currency.py +76 -0
- ccxt/test/base/test_datetime.py +109 -0
- ccxt/test/base/test_decimal_to_precision.py +392 -0
- ccxt/test/base/test_deep_extend.py +68 -0
- ccxt/test/base/test_deposit_withdrawal.py +50 -0
- ccxt/test/base/test_exchange_datetime_functions.py +76 -0
- ccxt/test/base/test_funding_rate_history.py +29 -0
- ccxt/test/base/test_last_price.py +31 -0
- ccxt/test/base/test_ledger_entry.py +45 -0
- ccxt/test/base/test_ledger_item.py +48 -0
- ccxt/test/base/test_leverage_tier.py +33 -0
- ccxt/test/base/test_liquidation.py +50 -0
- ccxt/test/base/test_margin_mode.py +24 -0
- ccxt/test/base/test_margin_modification.py +35 -0
- ccxt/test/base/test_market.py +193 -0
- ccxt/test/base/test_number.py +411 -0
- ccxt/test/base/test_ohlcv.py +33 -0
- ccxt/test/base/test_open_interest.py +32 -0
- ccxt/test/base/test_order.py +64 -0
- ccxt/test/base/test_order_book.py +69 -0
- ccxt/test/base/test_position.py +60 -0
- ccxt/test/base/test_shared_methods.py +353 -0
- ccxt/test/base/test_status.py +24 -0
- ccxt/test/base/test_throttle.py +126 -0
- ccxt/test/base/test_ticker.py +92 -0
- ccxt/test/base/test_trade.py +47 -0
- ccxt/test/base/test_trading_fee.py +26 -0
- ccxt/test/base/test_transaction.py +39 -0
- ccxt/test/test_async.py +1649 -0
- ccxt/test/test_sync.py +1648 -0
- ccxt/test/tests_async.py +1558 -0
- ccxt/test/tests_helpers.py +287 -0
- ccxt/test/tests_init.py +39 -0
- ccxt/test/tests_sync.py +1555 -0
- ccxt/tetherland.py +349 -0
- ccxt/timex.py +1593 -0
- ccxt/tokocrypto.py +2405 -0
- ccxt/tradeogre.py +608 -0
- ccxt/twox.py +326 -0
- ccxt/ubitex.py +409 -0
- ccxt/upbit.py +1833 -0
- ccxt/vertex.py +2922 -0
- ccxt/wallex.py +445 -0
- ccxt/wavesexchange.py +2472 -0
- ccxt/wazirx.py +1224 -0
- ccxt/whitebit.py +2469 -0
- ccxt/woo.py +3114 -0
- ccxt/woofipro.py +2533 -0
- ccxt/xt.py +4453 -0
- ccxt/yobit.py +1283 -0
- ccxt/zaif.py +725 -0
- ccxt/zonda.py +1828 -0
- ccxt_ir-4.3.46.0.1.dist-info/LICENSE.txt +21 -0
- ccxt_ir-4.3.46.0.1.dist-info/METADATA +655 -0
- ccxt_ir-4.3.46.0.1.dist-info/RECORD +772 -0
- ccxt_ir-4.3.46.0.1.dist-info/WHEEL +6 -0
- ccxt_ir-4.3.46.0.1.dist-info/top_level.txt +1 -0
ccxt/__init__.py
ADDED
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
"""CCXT: CryptoCurrency eXchange Trading Library"""
|
|
4
|
+
|
|
5
|
+
# MIT License
|
|
6
|
+
# Copyright (c) 2017 Igor Kroitor
|
|
7
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
9
|
+
# in the Software without restriction, including without limitation the rights
|
|
10
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
12
|
+
# furnished to do so, subject to the following conditions:
|
|
13
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
# copies or substantial portions of the Software.
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
23
|
+
# ----------------------------------------------------------------------------
|
|
24
|
+
|
|
25
|
+
__version__ = '4.3.46-0.1'
|
|
26
|
+
|
|
27
|
+
# ----------------------------------------------------------------------------
|
|
28
|
+
|
|
29
|
+
from ccxt.base.exchange import Exchange # noqa: F401
|
|
30
|
+
from ccxt.base.precise import Precise # noqa: F401
|
|
31
|
+
|
|
32
|
+
from ccxt.base.decimal_to_precision import decimal_to_precision # noqa: F401
|
|
33
|
+
from ccxt.base.decimal_to_precision import TRUNCATE # noqa: F401
|
|
34
|
+
from ccxt.base.decimal_to_precision import ROUND # noqa: F401
|
|
35
|
+
from ccxt.base.decimal_to_precision import ROUND_UP # noqa: F401
|
|
36
|
+
from ccxt.base.decimal_to_precision import ROUND_DOWN # noqa: F401
|
|
37
|
+
from ccxt.base.decimal_to_precision import DECIMAL_PLACES # noqa: F401
|
|
38
|
+
from ccxt.base.decimal_to_precision import SIGNIFICANT_DIGITS # noqa: F401
|
|
39
|
+
from ccxt.base.decimal_to_precision import TICK_SIZE # noqa: F401
|
|
40
|
+
from ccxt.base.decimal_to_precision import NO_PADDING # noqa: F401
|
|
41
|
+
from ccxt.base.decimal_to_precision import PAD_WITH_ZERO # noqa: F401
|
|
42
|
+
|
|
43
|
+
from ccxt.base import errors
|
|
44
|
+
from ccxt.base.errors import BaseError # noqa: F401
|
|
45
|
+
from ccxt.base.errors import ExchangeError # noqa: F401
|
|
46
|
+
from ccxt.base.errors import AuthenticationError # noqa: F401
|
|
47
|
+
from ccxt.base.errors import PermissionDenied # noqa: F401
|
|
48
|
+
from ccxt.base.errors import AccountNotEnabled # noqa: F401
|
|
49
|
+
from ccxt.base.errors import AccountSuspended # noqa: F401
|
|
50
|
+
from ccxt.base.errors import ArgumentsRequired # noqa: F401
|
|
51
|
+
from ccxt.base.errors import BadRequest # noqa: F401
|
|
52
|
+
from ccxt.base.errors import BadSymbol # noqa: F401
|
|
53
|
+
from ccxt.base.errors import OperationRejected # noqa: F401
|
|
54
|
+
from ccxt.base.errors import NoChange # noqa: F401
|
|
55
|
+
from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
|
|
56
|
+
from ccxt.base.errors import MarketClosed # noqa: F401
|
|
57
|
+
from ccxt.base.errors import BadResponse # noqa: F401
|
|
58
|
+
from ccxt.base.errors import NullResponse # noqa: F401
|
|
59
|
+
from ccxt.base.errors import InsufficientFunds # noqa: F401
|
|
60
|
+
from ccxt.base.errors import InvalidAddress # noqa: F401
|
|
61
|
+
from ccxt.base.errors import AddressPending # noqa: F401
|
|
62
|
+
from ccxt.base.errors import InvalidOrder # noqa: F401
|
|
63
|
+
from ccxt.base.errors import OrderNotFound # noqa: F401
|
|
64
|
+
from ccxt.base.errors import OrderNotCached # noqa: F401
|
|
65
|
+
from ccxt.base.errors import CancelPending # noqa: F401
|
|
66
|
+
from ccxt.base.errors import OrderImmediatelyFillable # noqa: F401
|
|
67
|
+
from ccxt.base.errors import OrderNotFillable # noqa: F401
|
|
68
|
+
from ccxt.base.errors import DuplicateOrderId # noqa: F401
|
|
69
|
+
from ccxt.base.errors import ContractUnavailable # noqa: F401
|
|
70
|
+
from ccxt.base.errors import NotSupported # noqa: F401
|
|
71
|
+
from ccxt.base.errors import ProxyError # noqa: F401
|
|
72
|
+
from ccxt.base.errors import ExchangeClosedByUser # noqa: F401
|
|
73
|
+
from ccxt.base.errors import OperationFailed # noqa: F401
|
|
74
|
+
from ccxt.base.errors import NetworkError # noqa: F401
|
|
75
|
+
from ccxt.base.errors import DDoSProtection # noqa: F401
|
|
76
|
+
from ccxt.base.errors import RateLimitExceeded # noqa: F401
|
|
77
|
+
from ccxt.base.errors import ExchangeNotAvailable # noqa: F401
|
|
78
|
+
from ccxt.base.errors import OnMaintenance # noqa: F401
|
|
79
|
+
from ccxt.base.errors import InvalidNonce # noqa: F401
|
|
80
|
+
from ccxt.base.errors import RequestTimeout # noqa: F401
|
|
81
|
+
from ccxt.base.errors import error_hierarchy # noqa: F401
|
|
82
|
+
|
|
83
|
+
from ccxt.abantether import abantether # noqa: F401
|
|
84
|
+
from ccxt.ace import ace # noqa: F401
|
|
85
|
+
from ccxt.afratether import afratether # noqa: F401
|
|
86
|
+
from ccxt.alpaca import alpaca # noqa: F401
|
|
87
|
+
from ccxt.arzinja import arzinja # noqa: F401
|
|
88
|
+
from ccxt.arzplus import arzplus # noqa: F401
|
|
89
|
+
from ccxt.ascendex import ascendex # noqa: F401
|
|
90
|
+
from ccxt.bequant import bequant # noqa: F401
|
|
91
|
+
from ccxt.bigone import bigone # noqa: F401
|
|
92
|
+
from ccxt.binance import binance # noqa: F401
|
|
93
|
+
from ccxt.binancecoinm import binancecoinm # noqa: F401
|
|
94
|
+
from ccxt.binanceus import binanceus # noqa: F401
|
|
95
|
+
from ccxt.binanceusdm import binanceusdm # noqa: F401
|
|
96
|
+
from ccxt.bingx import bingx # noqa: F401
|
|
97
|
+
from ccxt.bit2c import bit2c # noqa: F401
|
|
98
|
+
from ccxt.bitbank import bitbank # noqa: F401
|
|
99
|
+
from ccxt.bitbay import bitbay # noqa: F401
|
|
100
|
+
from ccxt.bitbns import bitbns # noqa: F401
|
|
101
|
+
from ccxt.bitcoincom import bitcoincom # noqa: F401
|
|
102
|
+
from ccxt.bitfinex import bitfinex # noqa: F401
|
|
103
|
+
from ccxt.bitfinex2 import bitfinex2 # noqa: F401
|
|
104
|
+
from ccxt.bitflyer import bitflyer # noqa: F401
|
|
105
|
+
from ccxt.bitget import bitget # noqa: F401
|
|
106
|
+
from ccxt.bithumb import bithumb # noqa: F401
|
|
107
|
+
from ccxt.bitimen import bitimen # noqa: F401
|
|
108
|
+
from ccxt.bitir import bitir # noqa: F401
|
|
109
|
+
from ccxt.bitmart import bitmart # noqa: F401
|
|
110
|
+
from ccxt.bitmex import bitmex # noqa: F401
|
|
111
|
+
from ccxt.bitopro import bitopro # noqa: F401
|
|
112
|
+
from ccxt.bitpanda import bitpanda # noqa: F401
|
|
113
|
+
from ccxt.bitpin import bitpin # noqa: F401
|
|
114
|
+
from ccxt.bitrue import bitrue # noqa: F401
|
|
115
|
+
from ccxt.bitso import bitso # noqa: F401
|
|
116
|
+
from ccxt.bitstamp import bitstamp # noqa: F401
|
|
117
|
+
from ccxt.bitteam import bitteam # noqa: F401
|
|
118
|
+
from ccxt.bitvavo import bitvavo # noqa: F401
|
|
119
|
+
from ccxt.bl3p import bl3p # noqa: F401
|
|
120
|
+
from ccxt.blockchaincom import blockchaincom # noqa: F401
|
|
121
|
+
from ccxt.blofin import blofin # noqa: F401
|
|
122
|
+
from ccxt.btcalpha import btcalpha # noqa: F401
|
|
123
|
+
from ccxt.btcbox import btcbox # noqa: F401
|
|
124
|
+
from ccxt.btcmarkets import btcmarkets # noqa: F401
|
|
125
|
+
from ccxt.btcturk import btcturk # noqa: F401
|
|
126
|
+
from ccxt.bybit import bybit # noqa: F401
|
|
127
|
+
from ccxt.cex import cex # noqa: F401
|
|
128
|
+
from ccxt.coinbase import coinbase # noqa: F401
|
|
129
|
+
from ccxt.coinbaseadvanced import coinbaseadvanced # noqa: F401
|
|
130
|
+
from ccxt.coinbaseexchange import coinbaseexchange # noqa: F401
|
|
131
|
+
from ccxt.coinbaseinternational import coinbaseinternational # noqa: F401
|
|
132
|
+
from ccxt.coincheck import coincheck # noqa: F401
|
|
133
|
+
from ccxt.coinex import coinex # noqa: F401
|
|
134
|
+
from ccxt.coinlist import coinlist # noqa: F401
|
|
135
|
+
from ccxt.coinmate import coinmate # noqa: F401
|
|
136
|
+
from ccxt.coinmetro import coinmetro # noqa: F401
|
|
137
|
+
from ccxt.coinone import coinone # noqa: F401
|
|
138
|
+
from ccxt.coinsph import coinsph # noqa: F401
|
|
139
|
+
from ccxt.coinspot import coinspot # noqa: F401
|
|
140
|
+
from ccxt.cryptocom import cryptocom # noqa: F401
|
|
141
|
+
from ccxt.currencycom import currencycom # noqa: F401
|
|
142
|
+
from ccxt.delta import delta # noqa: F401
|
|
143
|
+
from ccxt.deribit import deribit # noqa: F401
|
|
144
|
+
from ccxt.digifinex import digifinex # noqa: F401
|
|
145
|
+
from ccxt.eterex import eterex # noqa: F401
|
|
146
|
+
from ccxt.excoino import excoino # noqa: F401
|
|
147
|
+
from ccxt.exir import exir # noqa: F401
|
|
148
|
+
from ccxt.exmo import exmo # noqa: F401
|
|
149
|
+
from ccxt.exnovin import exnovin # noqa: F401
|
|
150
|
+
from ccxt.farhadexchange import farhadexchange # noqa: F401
|
|
151
|
+
from ccxt.fmfwio import fmfwio # noqa: F401
|
|
152
|
+
from ccxt.gate import gate # noqa: F401
|
|
153
|
+
from ccxt.gateio import gateio # noqa: F401
|
|
154
|
+
from ccxt.gemini import gemini # noqa: F401
|
|
155
|
+
from ccxt.hitbtc import hitbtc # noqa: F401
|
|
156
|
+
from ccxt.hitbtc3 import hitbtc3 # noqa: F401
|
|
157
|
+
from ccxt.hitobit import hitobit # noqa: F401
|
|
158
|
+
from ccxt.hollaex import hollaex # noqa: F401
|
|
159
|
+
from ccxt.htx import htx # noqa: F401
|
|
160
|
+
from ccxt.huobi import huobi # noqa: F401
|
|
161
|
+
from ccxt.huobijp import huobijp # noqa: F401
|
|
162
|
+
from ccxt.hyperliquid import hyperliquid # noqa: F401
|
|
163
|
+
from ccxt.idex import idex # noqa: F401
|
|
164
|
+
from ccxt.independentreserve import independentreserve # noqa: F401
|
|
165
|
+
from ccxt.indodax import indodax # noqa: F401
|
|
166
|
+
from ccxt.jibitex import jibitex # noqa: F401
|
|
167
|
+
from ccxt.kraken import kraken # noqa: F401
|
|
168
|
+
from ccxt.krakenfutures import krakenfutures # noqa: F401
|
|
169
|
+
from ccxt.kucoin import kucoin # noqa: F401
|
|
170
|
+
from ccxt.kucoinfutures import kucoinfutures # noqa: F401
|
|
171
|
+
from ccxt.kuna import kuna # noqa: F401
|
|
172
|
+
from ccxt.latoken import latoken # noqa: F401
|
|
173
|
+
from ccxt.lbank import lbank # noqa: F401
|
|
174
|
+
from ccxt.luno import luno # noqa: F401
|
|
175
|
+
from ccxt.lykke import lykke # noqa: F401
|
|
176
|
+
from ccxt.mercado import mercado # noqa: F401
|
|
177
|
+
from ccxt.mexc import mexc # noqa: F401
|
|
178
|
+
from ccxt.ndax import ndax # noqa: F401
|
|
179
|
+
from ccxt.nobitex import nobitex # noqa: F401
|
|
180
|
+
from ccxt.novadax import novadax # noqa: F401
|
|
181
|
+
from ccxt.oceanex import oceanex # noqa: F401
|
|
182
|
+
from ccxt.okcoin import okcoin # noqa: F401
|
|
183
|
+
from ccxt.okexchange import okexchange # noqa: F401
|
|
184
|
+
from ccxt.okx import okx # noqa: F401
|
|
185
|
+
from ccxt.ompfinex import ompfinex # noqa: F401
|
|
186
|
+
from ccxt.onetrading import onetrading # noqa: F401
|
|
187
|
+
from ccxt.oxfun import oxfun # noqa: F401
|
|
188
|
+
from ccxt.p2b import p2b # noqa: F401
|
|
189
|
+
from ccxt.paymium import paymium # noqa: F401
|
|
190
|
+
from ccxt.phemex import phemex # noqa: F401
|
|
191
|
+
from ccxt.poloniex import poloniex # noqa: F401
|
|
192
|
+
from ccxt.poloniexfutures import poloniexfutures # noqa: F401
|
|
193
|
+
from ccxt.probit import probit # noqa: F401
|
|
194
|
+
from ccxt.ramzinex import ramzinex # noqa: F401
|
|
195
|
+
from ccxt.sarmayex import sarmayex # noqa: F401
|
|
196
|
+
from ccxt.sarrafex import sarrafex # noqa: F401
|
|
197
|
+
from ccxt.tabdeal import tabdeal # noqa: F401
|
|
198
|
+
from ccxt.tetherland import tetherland # noqa: F401
|
|
199
|
+
from ccxt.timex import timex # noqa: F401
|
|
200
|
+
from ccxt.tokocrypto import tokocrypto # noqa: F401
|
|
201
|
+
from ccxt.tradeogre import tradeogre # noqa: F401
|
|
202
|
+
from ccxt.twox import twox # noqa: F401
|
|
203
|
+
from ccxt.ubitex import ubitex # noqa: F401
|
|
204
|
+
from ccxt.upbit import upbit # noqa: F401
|
|
205
|
+
from ccxt.wallex import wallex # noqa: F401
|
|
206
|
+
from ccxt.wavesexchange import wavesexchange # noqa: F401
|
|
207
|
+
from ccxt.wazirx import wazirx # noqa: F401
|
|
208
|
+
from ccxt.whitebit import whitebit # noqa: F401
|
|
209
|
+
from ccxt.woo import woo # noqa: F401
|
|
210
|
+
from ccxt.woofipro import woofipro # noqa: F401
|
|
211
|
+
from ccxt.xt import xt # noqa: F401
|
|
212
|
+
from ccxt.yobit import yobit # noqa: F401
|
|
213
|
+
from ccxt.zaif import zaif # noqa: F401
|
|
214
|
+
from ccxt.zonda import zonda # noqa: F401
|
|
215
|
+
|
|
216
|
+
exchanges = [
|
|
217
|
+
'abantether',
|
|
218
|
+
'ace',
|
|
219
|
+
'afratether',
|
|
220
|
+
'alpaca',
|
|
221
|
+
'arzinja',
|
|
222
|
+
'arzplus',
|
|
223
|
+
'ascendex',
|
|
224
|
+
'bequant',
|
|
225
|
+
'bigone',
|
|
226
|
+
'binance',
|
|
227
|
+
'binancecoinm',
|
|
228
|
+
'binanceus',
|
|
229
|
+
'binanceusdm',
|
|
230
|
+
'bingx',
|
|
231
|
+
'bit2c',
|
|
232
|
+
'bitbank',
|
|
233
|
+
'bitbay',
|
|
234
|
+
'bitbns',
|
|
235
|
+
'bitcoincom',
|
|
236
|
+
'bitfinex',
|
|
237
|
+
'bitfinex2',
|
|
238
|
+
'bitflyer',
|
|
239
|
+
'bitget',
|
|
240
|
+
'bithumb',
|
|
241
|
+
'bitimen',
|
|
242
|
+
'bitir',
|
|
243
|
+
'bitmart',
|
|
244
|
+
'bitmex',
|
|
245
|
+
'bitopro',
|
|
246
|
+
'bitpanda',
|
|
247
|
+
'bitpin',
|
|
248
|
+
'bitrue',
|
|
249
|
+
'bitso',
|
|
250
|
+
'bitstamp',
|
|
251
|
+
'bitteam',
|
|
252
|
+
'bitvavo',
|
|
253
|
+
'bl3p',
|
|
254
|
+
'blockchaincom',
|
|
255
|
+
'blofin',
|
|
256
|
+
'btcalpha',
|
|
257
|
+
'btcbox',
|
|
258
|
+
'btcmarkets',
|
|
259
|
+
'btcturk',
|
|
260
|
+
'bybit',
|
|
261
|
+
'cex',
|
|
262
|
+
'coinbase',
|
|
263
|
+
'coinbaseadvanced',
|
|
264
|
+
'coinbaseexchange',
|
|
265
|
+
'coinbaseinternational',
|
|
266
|
+
'coincheck',
|
|
267
|
+
'coinex',
|
|
268
|
+
'coinlist',
|
|
269
|
+
'coinmate',
|
|
270
|
+
'coinmetro',
|
|
271
|
+
'coinone',
|
|
272
|
+
'coinsph',
|
|
273
|
+
'coinspot',
|
|
274
|
+
'cryptocom',
|
|
275
|
+
'currencycom',
|
|
276
|
+
'delta',
|
|
277
|
+
'deribit',
|
|
278
|
+
'digifinex',
|
|
279
|
+
'eterex',
|
|
280
|
+
'excoino',
|
|
281
|
+
'exir',
|
|
282
|
+
'exmo',
|
|
283
|
+
'exnovin',
|
|
284
|
+
'farhadexchange',
|
|
285
|
+
'fmfwio',
|
|
286
|
+
'gate',
|
|
287
|
+
'gateio',
|
|
288
|
+
'gemini',
|
|
289
|
+
'hitbtc',
|
|
290
|
+
'hitbtc3',
|
|
291
|
+
'hitobit',
|
|
292
|
+
'hollaex',
|
|
293
|
+
'htx',
|
|
294
|
+
'huobi',
|
|
295
|
+
'huobijp',
|
|
296
|
+
'hyperliquid',
|
|
297
|
+
'idex',
|
|
298
|
+
'independentreserve',
|
|
299
|
+
'indodax',
|
|
300
|
+
'jibitex',
|
|
301
|
+
'kraken',
|
|
302
|
+
'krakenfutures',
|
|
303
|
+
'kucoin',
|
|
304
|
+
'kucoinfutures',
|
|
305
|
+
'kuna',
|
|
306
|
+
'latoken',
|
|
307
|
+
'lbank',
|
|
308
|
+
'luno',
|
|
309
|
+
'lykke',
|
|
310
|
+
'mercado',
|
|
311
|
+
'mexc',
|
|
312
|
+
'ndax',
|
|
313
|
+
'nobitex',
|
|
314
|
+
'novadax',
|
|
315
|
+
'oceanex',
|
|
316
|
+
'okcoin',
|
|
317
|
+
'okexchange',
|
|
318
|
+
'okx',
|
|
319
|
+
'ompfinex',
|
|
320
|
+
'onetrading',
|
|
321
|
+
'oxfun',
|
|
322
|
+
'p2b',
|
|
323
|
+
'paymium',
|
|
324
|
+
'phemex',
|
|
325
|
+
'poloniex',
|
|
326
|
+
'poloniexfutures',
|
|
327
|
+
'probit',
|
|
328
|
+
'ramzinex',
|
|
329
|
+
'sarmayex',
|
|
330
|
+
'sarrafex',
|
|
331
|
+
'tabdeal',
|
|
332
|
+
'tetherland',
|
|
333
|
+
'timex',
|
|
334
|
+
'tokocrypto',
|
|
335
|
+
'tradeogre',
|
|
336
|
+
'twox',
|
|
337
|
+
'ubitex',
|
|
338
|
+
'upbit',
|
|
339
|
+
'wallex',
|
|
340
|
+
'wavesexchange',
|
|
341
|
+
'wazirx',
|
|
342
|
+
'whitebit',
|
|
343
|
+
'woo',
|
|
344
|
+
'woofipro',
|
|
345
|
+
'xt',
|
|
346
|
+
'yobit',
|
|
347
|
+
'zaif',
|
|
348
|
+
'zonda',
|
|
349
|
+
]
|
|
350
|
+
|
|
351
|
+
base = [
|
|
352
|
+
'Exchange',
|
|
353
|
+
'Precise',
|
|
354
|
+
'exchanges',
|
|
355
|
+
'decimal_to_precision',
|
|
356
|
+
]
|
|
357
|
+
|
|
358
|
+
__all__ = base + errors.__all__ + exchanges
|
ccxt/abantether.py
ADDED
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
# PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
# https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
|
|
6
|
+
from ccxt.base.exchange import Exchange
|
|
7
|
+
from ccxt.abstract.abantether import ImplicitAPI
|
|
8
|
+
from ccxt.base.types import Market, Strings, Ticker, Tickers
|
|
9
|
+
from typing import List
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class abantether(Exchange, ImplicitAPI):
|
|
13
|
+
|
|
14
|
+
def describe(self):
|
|
15
|
+
return self.deep_extend(super(abantether, self).describe(), {
|
|
16
|
+
'id': 'abantether',
|
|
17
|
+
'name': 'Aban tether',
|
|
18
|
+
'country': ['IR'],
|
|
19
|
+
'rateLimit': 1000,
|
|
20
|
+
'version': '1',
|
|
21
|
+
'certified': False,
|
|
22
|
+
'pro': False,
|
|
23
|
+
'has': {
|
|
24
|
+
'CORS': None,
|
|
25
|
+
'spot': True,
|
|
26
|
+
'margin': False,
|
|
27
|
+
'swap': False,
|
|
28
|
+
'future': False,
|
|
29
|
+
'option': False,
|
|
30
|
+
'addMargin': False,
|
|
31
|
+
'cancelAllOrders': False,
|
|
32
|
+
'cancelOrder': False,
|
|
33
|
+
'cancelOrders': False,
|
|
34
|
+
'createDepositAddress': False,
|
|
35
|
+
'createOrder': False,
|
|
36
|
+
'createStopLimitOrder': False,
|
|
37
|
+
'createStopMarketOrder': False,
|
|
38
|
+
'createStopOrder': False,
|
|
39
|
+
'editOrder': False,
|
|
40
|
+
'fetchBalance': False,
|
|
41
|
+
'fetchBorrowInterest': False,
|
|
42
|
+
'fetchBorrowRateHistories': False,
|
|
43
|
+
'fetchBorrowRateHistory': False,
|
|
44
|
+
'fetchClosedOrders': False,
|
|
45
|
+
'fetchCrossBorrowRate': False,
|
|
46
|
+
'fetchCrossBorrowRates': False,
|
|
47
|
+
'fetchCurrencies': False,
|
|
48
|
+
'fetchDepositAddress': False,
|
|
49
|
+
'fetchDeposits': False,
|
|
50
|
+
'fetchFundingHistory': False,
|
|
51
|
+
'fetchFundingRate': False,
|
|
52
|
+
'fetchFundingRateHistory': False,
|
|
53
|
+
'fetchFundingRates': False,
|
|
54
|
+
'fetchIndexOHLCV': False,
|
|
55
|
+
'fetchIsolatedBorrowRate': False,
|
|
56
|
+
'fetchIsolatedBorrowRates': False,
|
|
57
|
+
'fetchL2OrderBook': False,
|
|
58
|
+
'fetchL3OrderBook': False,
|
|
59
|
+
'fetchLedger': False,
|
|
60
|
+
'fetchLedgerEntry': False,
|
|
61
|
+
'fetchLeverageTiers': False,
|
|
62
|
+
'fetchMarkets': True,
|
|
63
|
+
'fetchMarkOHLCV': False,
|
|
64
|
+
'fetchMyTrades': False,
|
|
65
|
+
'fetchOHLCV': False,
|
|
66
|
+
'fetchOpenInterestHistory': False,
|
|
67
|
+
'fetchOpenOrders': False,
|
|
68
|
+
'fetchOrder': False,
|
|
69
|
+
'fetchOrderBook': False,
|
|
70
|
+
'fetchOrders': False,
|
|
71
|
+
'fetchOrderTrades': 'emulated',
|
|
72
|
+
'fetchPositions': False,
|
|
73
|
+
'fetchPremiumIndexOHLCV': False,
|
|
74
|
+
'fetchTicker': True,
|
|
75
|
+
'fetchTickers': True,
|
|
76
|
+
'fetchTime': False,
|
|
77
|
+
'fetchTrades': False,
|
|
78
|
+
'fetchTradingFee': False,
|
|
79
|
+
'fetchTradingFees': False,
|
|
80
|
+
'fetchWithdrawals': False,
|
|
81
|
+
'setLeverage': False,
|
|
82
|
+
'setMarginMode': False,
|
|
83
|
+
'transfer': False,
|
|
84
|
+
'withdraw': False,
|
|
85
|
+
},
|
|
86
|
+
'comment': 'This comment is optional',
|
|
87
|
+
'urls': {
|
|
88
|
+
'logo': 'https://cdn.arz.digital/cr-odin/img/exchanges/abantether/64x64.png',
|
|
89
|
+
'api': {
|
|
90
|
+
'public': 'https://abantether.com',
|
|
91
|
+
},
|
|
92
|
+
'www': 'https://abantether.com',
|
|
93
|
+
'doc': [
|
|
94
|
+
'https://abantether.com',
|
|
95
|
+
],
|
|
96
|
+
},
|
|
97
|
+
'api': {
|
|
98
|
+
'public': {
|
|
99
|
+
'get': {
|
|
100
|
+
'management/all-coins/': 1,
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
'fees': {
|
|
105
|
+
'trading': {
|
|
106
|
+
'tierBased': False,
|
|
107
|
+
'percentage': True,
|
|
108
|
+
'maker': self.parse_number('0.001'),
|
|
109
|
+
'taker': self.parse_number('0.001'),
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
})
|
|
113
|
+
|
|
114
|
+
def fetch_markets(self, symbols: Strings = None, params={}) -> List[Market]:
|
|
115
|
+
"""
|
|
116
|
+
retrieves data on all markets for abantether
|
|
117
|
+
:see: https://abantether.com/management/all-coins/?format=json
|
|
118
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
119
|
+
:returns dict[]: an array of objects representing market data
|
|
120
|
+
"""
|
|
121
|
+
response = self.publicGetManagementAllCoins(params)
|
|
122
|
+
result = []
|
|
123
|
+
quotes = ['IRT', 'USDT']
|
|
124
|
+
for i in range(0, len(response)):
|
|
125
|
+
base = self.safe_string(response[i], 'symbol')
|
|
126
|
+
for index in range(0, len(quotes)):
|
|
127
|
+
quote = quotes[index]
|
|
128
|
+
response[i]['base'] = base
|
|
129
|
+
response[i]['quote'] = quote
|
|
130
|
+
if base == quote:
|
|
131
|
+
continue
|
|
132
|
+
market = self.parse_market(response[i])
|
|
133
|
+
result.append(market)
|
|
134
|
+
return result
|
|
135
|
+
|
|
136
|
+
def parse_market(self, market) -> Market:
|
|
137
|
+
# {
|
|
138
|
+
# 'symbol': 'USDT',
|
|
139
|
+
# 'name': 'Tether',
|
|
140
|
+
# 'categories': [],
|
|
141
|
+
# 'tetherPrice': '1',
|
|
142
|
+
# 'priceBuy': '59200.0',
|
|
143
|
+
# 'priceSell': '58800.0',
|
|
144
|
+
# 'persianName': '\u062a\u062a\u0631',
|
|
145
|
+
# 'past24': '0',
|
|
146
|
+
# 'marketVolume': '1',
|
|
147
|
+
# 'id': '1',
|
|
148
|
+
# 'active': True,
|
|
149
|
+
# 'irtDecimalPoint': '2',
|
|
150
|
+
# 'tetherDecimalPoint': '6',
|
|
151
|
+
# 'amountDecimalPoint': '6',
|
|
152
|
+
# 'past24volume': '767287.60530837810210936763',
|
|
153
|
+
# 'operationStatus': {
|
|
154
|
+
# 'buyActive': True,
|
|
155
|
+
# 'sellActive': True,
|
|
156
|
+
# 'withdrawalActive': True,
|
|
157
|
+
# 'depositActive': True,
|
|
158
|
+
# 'transferActive': True,
|
|
159
|
+
# },
|
|
160
|
+
# }
|
|
161
|
+
baseId = self.safe_string(market, 'base')
|
|
162
|
+
quoteId = self.safe_string(market, 'quote')
|
|
163
|
+
base = self.safe_currency_code(baseId)
|
|
164
|
+
quote = self.safe_currency_code(quoteId)
|
|
165
|
+
id = base + quote
|
|
166
|
+
baseId = baseId.lower()
|
|
167
|
+
quoteId = quoteId.lower()
|
|
168
|
+
return {
|
|
169
|
+
'id': id,
|
|
170
|
+
'symbol': base + '/' + quote,
|
|
171
|
+
'base': base,
|
|
172
|
+
'quote': quote,
|
|
173
|
+
'settle': None,
|
|
174
|
+
'baseId': baseId,
|
|
175
|
+
'quoteId': quoteId,
|
|
176
|
+
'settleId': None,
|
|
177
|
+
'type': 'spot',
|
|
178
|
+
'spot': True,
|
|
179
|
+
'margin': False,
|
|
180
|
+
'swap': False,
|
|
181
|
+
'future': False,
|
|
182
|
+
'option': False,
|
|
183
|
+
'active': True,
|
|
184
|
+
'contract': False,
|
|
185
|
+
'linear': None,
|
|
186
|
+
'inverse': None,
|
|
187
|
+
'contractSize': None,
|
|
188
|
+
'expiry': None,
|
|
189
|
+
'expiryDatetime': None,
|
|
190
|
+
'strike': None,
|
|
191
|
+
'optionType': None,
|
|
192
|
+
'precision': {
|
|
193
|
+
'amount': None,
|
|
194
|
+
'price': None,
|
|
195
|
+
},
|
|
196
|
+
'limits': {
|
|
197
|
+
'leverage': {
|
|
198
|
+
'min': None,
|
|
199
|
+
'max': None,
|
|
200
|
+
},
|
|
201
|
+
'amount': {
|
|
202
|
+
'min': None,
|
|
203
|
+
'max': None,
|
|
204
|
+
},
|
|
205
|
+
'price': {
|
|
206
|
+
'min': None,
|
|
207
|
+
'max': None,
|
|
208
|
+
},
|
|
209
|
+
'cost': {
|
|
210
|
+
'min': None,
|
|
211
|
+
'max': None,
|
|
212
|
+
},
|
|
213
|
+
},
|
|
214
|
+
'created': None,
|
|
215
|
+
'info': market,
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
|
219
|
+
"""
|
|
220
|
+
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
221
|
+
:see: https://abantether.com/management/all-coins/?format=json
|
|
222
|
+
:param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
223
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
224
|
+
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
225
|
+
"""
|
|
226
|
+
self.load_markets()
|
|
227
|
+
if symbols is not None:
|
|
228
|
+
symbols = self.market_symbols(symbols)
|
|
229
|
+
response = self.publicGetManagementAllCoins(params)
|
|
230
|
+
result = []
|
|
231
|
+
quotes = ['IRT', 'USDT']
|
|
232
|
+
for i in range(0, len(response)):
|
|
233
|
+
base = self.safe_string(response[i], 'symbol')
|
|
234
|
+
for index in range(0, len(quotes)):
|
|
235
|
+
quote = quotes[index]
|
|
236
|
+
if base == quote:
|
|
237
|
+
continue
|
|
238
|
+
response[i]['base'] = base
|
|
239
|
+
response[i]['quote'] = quote
|
|
240
|
+
response[i]['symbol'] = base + quote
|
|
241
|
+
ticker = self.parse_ticker(response[i])
|
|
242
|
+
symbol = ticker['symbol']
|
|
243
|
+
result[symbol] = ticker
|
|
244
|
+
return self.filter_by_array_tickers(result, 'symbol', symbols)
|
|
245
|
+
|
|
246
|
+
def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
|
247
|
+
"""
|
|
248
|
+
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
249
|
+
:see: https://abantether.com/management/all-coins/?format=json
|
|
250
|
+
:param str symbol: unified symbol of the market to fetch the ticker for
|
|
251
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
252
|
+
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
253
|
+
"""
|
|
254
|
+
ticker = self.fetch_tickers([symbol])
|
|
255
|
+
return ticker[symbol]
|
|
256
|
+
|
|
257
|
+
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
|
258
|
+
# {
|
|
259
|
+
# 'symbol': 'USDT',
|
|
260
|
+
# 'name': 'Tether',
|
|
261
|
+
# 'categories': [],
|
|
262
|
+
# 'tetherPrice': '1',
|
|
263
|
+
# 'priceBuy': '59200.0',
|
|
264
|
+
# 'priceSell': '58800.0',
|
|
265
|
+
# 'persianName': '\u062a\u062a\u0631',
|
|
266
|
+
# 'past24': '0',
|
|
267
|
+
# 'marketVolume': '1',
|
|
268
|
+
# 'id': '1',
|
|
269
|
+
# 'active': True,
|
|
270
|
+
# 'irtDecimalPoint': '2',
|
|
271
|
+
# 'tetherDecimalPoint': '6',
|
|
272
|
+
# 'amountDecimalPoint': '6',
|
|
273
|
+
# 'past24volume': '767287.60530837810210936763',
|
|
274
|
+
# 'operationStatus': {
|
|
275
|
+
# 'buyActive': True,
|
|
276
|
+
# 'sellActive': True,
|
|
277
|
+
# 'withdrawalActive': True,
|
|
278
|
+
# 'depositActive': True,
|
|
279
|
+
# 'transferActive': True,
|
|
280
|
+
# },
|
|
281
|
+
# }
|
|
282
|
+
marketType = 'otc'
|
|
283
|
+
marketId = self.safe_string(ticker, 'symbol')
|
|
284
|
+
symbol = self.safe_symbol(marketId, market, None, marketType)
|
|
285
|
+
last = self.safe_float(ticker, 'tetherPrice', 0)
|
|
286
|
+
if ticker['quote'] == 'IRT':
|
|
287
|
+
last = self.safe_float(ticker, 'priceSell', 0)
|
|
288
|
+
change = self.safe_float(ticker, 'past24', 0)
|
|
289
|
+
baseVolume = self.safe_float(ticker, 'past24volume', 0)
|
|
290
|
+
return self.safe_ticker({
|
|
291
|
+
'symbol': symbol,
|
|
292
|
+
'timestamp': None,
|
|
293
|
+
'datetime': None,
|
|
294
|
+
'high': None,
|
|
295
|
+
'low': None,
|
|
296
|
+
'bid': None,
|
|
297
|
+
'bidVolume': None,
|
|
298
|
+
'ask': None,
|
|
299
|
+
'askVolume': None,
|
|
300
|
+
'vwap': None,
|
|
301
|
+
'open': None,
|
|
302
|
+
'close': last,
|
|
303
|
+
'last': last,
|
|
304
|
+
'previousClose': None,
|
|
305
|
+
'change': change,
|
|
306
|
+
'percentage': None,
|
|
307
|
+
'average': None,
|
|
308
|
+
'baseVolume': baseVolume,
|
|
309
|
+
'quoteVolume': None,
|
|
310
|
+
'info': ticker,
|
|
311
|
+
}, market)
|
|
312
|
+
|
|
313
|
+
def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
|
|
314
|
+
url = self.urls['api']['public'] + '/' + path + '?format=json'
|
|
315
|
+
headers = {'Content-Type': 'application/json', 'Cookie': '__arcsco=9593a1412d8bfc752c7170b1d2264544'}
|
|
316
|
+
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
|
File without changes
|