ccxt-ir 4.3.46.0.3__py2.py3-none-any.whl → 4.5.0__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 +39 -35
- ccxt/abantether.py +8 -8
- ccxt/abstract/alpaca.py +4 -0
- ccxt/abstract/apex.py +31 -0
- ccxt/abstract/bigone.py +1 -1
- ccxt/abstract/binance.py +106 -48
- ccxt/abstract/binancecoinm.py +106 -48
- ccxt/abstract/binanceus.py +141 -83
- ccxt/abstract/binanceusdm.py +106 -48
- ccxt/abstract/bingx.py +50 -1
- ccxt/abstract/bitbank.py +5 -0
- ccxt/abstract/bitfinex.py +136 -65
- ccxt/abstract/bitflyer.py +1 -0
- ccxt/abstract/bitget.py +67 -0
- ccxt/abstract/bitmart.py +19 -1
- ccxt/abstract/bitopro.py +1 -0
- ccxt/abstract/bitrue.py +68 -68
- ccxt/abstract/bitstamp.py +1 -0
- ccxt/abstract/blofin.py +30 -0
- ccxt/abstract/btcbox.py +2 -0
- ccxt/abstract/bybit.py +28 -13
- ccxt/abstract/cex.py +28 -29
- ccxt/abstract/coinbaseexchange.py +1 -0
- ccxt/abstract/coinbaseinternational.py +1 -1
- ccxt/abstract/cryptocom.py +16 -0
- ccxt/abstract/cryptomus.py +20 -0
- ccxt/abstract/defx.py +69 -0
- ccxt/abstract/deribit.py +1 -0
- ccxt/abstract/derive.py +117 -0
- ccxt/abstract/digifinex.py +1 -0
- ccxt/abstract/ellipx.py +25 -0
- ccxt/abstract/foxbit.py +26 -0
- ccxt/abstract/gate.py +19 -0
- ccxt/abstract/gateio.py +19 -0
- ccxt/abstract/gemini.py +1 -0
- ccxt/abstract/hibachi.py +26 -0
- ccxt/abstract/hyperliquid.py +1 -1
- ccxt/abstract/independentreserve.py +6 -0
- ccxt/abstract/kraken.py +1 -0
- ccxt/abstract/krakenfutures.py +4 -0
- ccxt/abstract/kucoin.py +10 -0
- ccxt/abstract/kucoinfutures.py +18 -0
- ccxt/abstract/lbank.py +2 -1
- ccxt/abstract/luno.py +1 -0
- ccxt/abstract/mexc.py +2 -0
- ccxt/abstract/modetrade.py +119 -0
- ccxt/abstract/myokx.py +349 -0
- ccxt/abstract/oceanex.py +5 -0
- ccxt/abstract/okx.py +25 -0
- ccxt/abstract/okxus.py +349 -0
- ccxt/abstract/onetrading.py +0 -12
- ccxt/abstract/paradex.py +23 -0
- ccxt/abstract/phemex.py +2 -0
- ccxt/abstract/poloniex.py +36 -0
- ccxt/abstract/tradeogre.py +3 -1
- ccxt/abstract/upbit.py +51 -34
- ccxt/abstract/whitebit.py +16 -0
- ccxt/abstract/woo.py +64 -6
- ccxt/abstract/xt.py +10 -5
- ccxt/afratether.py +7 -7
- ccxt/alpaca.py +828 -51
- ccxt/apex.py +1875 -0
- ccxt/arzinja.py +7 -7
- ccxt/arzplus.py +9 -9
- ccxt/ascendex.py +501 -306
- ccxt/async_support/__init__.py +39 -35
- ccxt/async_support/abantether.py +8 -8
- ccxt/async_support/afratether.py +9 -9
- ccxt/async_support/alpaca.py +828 -51
- ccxt/async_support/apex.py +1875 -0
- ccxt/async_support/arzinja.py +10 -10
- ccxt/async_support/arzplus.py +12 -12
- ccxt/async_support/ascendex.py +502 -306
- ccxt/async_support/base/exchange.py +303 -89
- ccxt/async_support/base/ws/cache.py +9 -3
- ccxt/async_support/base/ws/client.py +173 -38
- ccxt/async_support/base/ws/future.py +25 -37
- ccxt/async_support/bequant.py +5 -3
- ccxt/async_support/bigone.py +279 -144
- ccxt/async_support/binance.py +2347 -1158
- ccxt/async_support/binancecoinm.py +9 -3
- ccxt/async_support/binanceus.py +17 -3
- ccxt/async_support/binanceusdm.py +9 -4
- ccxt/async_support/bingx.py +2962 -920
- ccxt/async_support/bit2c.py +147 -27
- ccxt/async_support/bitbank.py +151 -23
- ccxt/async_support/bitbns.py +104 -30
- ccxt/async_support/bitfinex.py +3291 -1113
- ccxt/async_support/bitflyer.py +202 -27
- ccxt/async_support/bitget.py +3683 -1538
- ccxt/async_support/bithumb.py +195 -38
- ccxt/async_support/bitimen.py +12 -12
- ccxt/async_support/bitir.py +38 -38
- ccxt/async_support/bitmart.py +1288 -350
- ccxt/async_support/bitmex.py +260 -75
- ccxt/async_support/bitopro.py +262 -62
- ccxt/async_support/bitpin.py +17 -16
- ccxt/async_support/bitrue.py +459 -290
- ccxt/async_support/bitso.py +199 -54
- ccxt/async_support/bitstamp.py +230 -96
- ccxt/async_support/bitteam.py +167 -25
- ccxt/async_support/{huobijp.py → bittrade.py} +158 -30
- ccxt/async_support/bitvavo.py +213 -49
- ccxt/async_support/blockchaincom.py +160 -46
- ccxt/async_support/blofin.py +502 -120
- ccxt/async_support/btcalpha.py +169 -31
- ccxt/async_support/btcbox.py +292 -23
- ccxt/async_support/btcmarkets.py +211 -58
- ccxt/async_support/btcturk.py +161 -38
- ccxt/async_support/bybit.py +1775 -1030
- ccxt/async_support/cex.py +1440 -1303
- ccxt/async_support/coinbase.py +724 -212
- ccxt/async_support/coinbaseadvanced.py +2 -1
- ccxt/async_support/coinbaseexchange.py +388 -89
- ccxt/async_support/coinbaseinternational.py +412 -57
- ccxt/async_support/coincatch.py +177 -78
- ccxt/async_support/coincheck.py +135 -19
- ccxt/async_support/coinex.py +606 -232
- ccxt/async_support/coinmate.py +189 -63
- ccxt/async_support/coinmetro.py +195 -54
- ccxt/async_support/coinone.py +158 -51
- ccxt/async_support/coinsph.py +336 -61
- ccxt/async_support/coinspot.py +151 -52
- ccxt/async_support/cryptocom.py +661 -111
- ccxt/async_support/cryptomus.py +1137 -0
- ccxt/async_support/defx.py +2071 -0
- ccxt/async_support/delta.py +299 -99
- ccxt/async_support/deribit.py +348 -126
- ccxt/async_support/derive.py +2572 -0
- ccxt/async_support/digifinex.py +430 -214
- ccxt/async_support/ellipx.py +2029 -0
- ccxt/async_support/eterex.py +10 -10
- ccxt/async_support/excoino.py +31 -31
- ccxt/async_support/exir.py +14 -14
- ccxt/async_support/exmo.py +344 -131
- ccxt/async_support/exnovin.py +10 -10
- ccxt/async_support/farhadexchange.py +12 -12
- ccxt/async_support/fmfwio.py +2 -1
- ccxt/async_support/foxbit.py +1935 -0
- ccxt/async_support/gate.py +1351 -529
- ccxt/async_support/gateio.py +2 -1
- ccxt/async_support/gemini.py +144 -39
- ccxt/async_support/hashkey.py +152 -109
- ccxt/async_support/hibachi.py +2080 -0
- ccxt/async_support/hitbtc.py +395 -167
- ccxt/async_support/hitobit.py +12 -12
- ccxt/async_support/hollaex.py +307 -119
- ccxt/async_support/htx.py +851 -383
- ccxt/async_support/huobi.py +2 -1
- ccxt/async_support/hyperliquid.py +1848 -536
- ccxt/async_support/independentreserve.py +288 -15
- ccxt/async_support/indodax.py +190 -33
- ccxt/async_support/jibitex.py +12 -12
- ccxt/async_support/kraken.py +795 -351
- ccxt/async_support/krakenfutures.py +214 -62
- ccxt/async_support/kucoin.py +715 -396
- ccxt/async_support/kucoinfutures.py +652 -89
- ccxt/async_support/latoken.py +217 -113
- ccxt/async_support/lbank.py +425 -97
- ccxt/async_support/luno.py +382 -35
- ccxt/async_support/mercado.py +113 -6
- ccxt/async_support/mexc.py +874 -437
- ccxt/async_support/modetrade.py +2818 -0
- ccxt/async_support/myokx.py +54 -0
- ccxt/async_support/ndax.py +221 -64
- ccxt/async_support/nobitex.py +31 -37
- ccxt/async_support/novadax.py +190 -34
- ccxt/async_support/oceanex.py +217 -28
- ccxt/async_support/okcoin.py +253 -145
- ccxt/async_support/okexchange.py +11 -11
- ccxt/async_support/okx.py +1088 -351
- ccxt/async_support/okxus.py +54 -0
- ccxt/async_support/ompfinex.py +25 -24
- ccxt/async_support/onetrading.py +213 -392
- ccxt/async_support/oxfun.py +245 -166
- ccxt/async_support/p2b.py +151 -29
- ccxt/async_support/paradex.py +562 -49
- ccxt/async_support/paymium.py +82 -19
- ccxt/async_support/phemex.py +713 -172
- ccxt/async_support/poloniex.py +1602 -283
- ccxt/async_support/probit.py +224 -95
- ccxt/async_support/ramzinex.py +30 -27
- ccxt/async_support/sarmayex.py +9 -9
- ccxt/async_support/sarrafex.py +13 -13
- ccxt/async_support/tabdeal.py +14 -13
- ccxt/async_support/tetherland.py +9 -9
- ccxt/async_support/timex.py +210 -51
- ccxt/async_support/tokocrypto.py +167 -47
- ccxt/async_support/tradeogre.py +266 -31
- ccxt/async_support/twox.py +9 -9
- ccxt/async_support/ubitex.py +12 -12
- ccxt/async_support/upbit.py +568 -165
- ccxt/async_support/vertex.py +160 -32
- ccxt/async_support/wallex.py +12 -12
- ccxt/async_support/wavesexchange.py +165 -30
- ccxt/async_support/whitebit.py +975 -127
- ccxt/async_support/woo.py +1918 -1016
- ccxt/async_support/woofipro.py +433 -141
- ccxt/async_support/xt.py +649 -193
- ccxt/async_support/yobit.py +195 -70
- ccxt/async_support/zaif.py +91 -15
- ccxt/async_support/zonda.py +151 -36
- ccxt/base/decimal_to_precision.py +14 -10
- ccxt/base/errors.py +49 -18
- ccxt/base/exchange.py +1556 -450
- ccxt/base/precise.py +10 -0
- ccxt/base/types.py +114 -6
- ccxt/bequant.py +5 -3
- ccxt/bigone.py +279 -144
- ccxt/binance.py +2347 -1158
- ccxt/binancecoinm.py +9 -3
- ccxt/binanceus.py +17 -3
- ccxt/binanceusdm.py +9 -4
- ccxt/bingx.py +2962 -920
- ccxt/bit2c.py +147 -27
- ccxt/bitbank.py +151 -23
- ccxt/bitbns.py +104 -30
- ccxt/bitfinex.py +3290 -1113
- ccxt/bitflyer.py +202 -27
- ccxt/bitget.py +3683 -1538
- ccxt/bithumb.py +194 -38
- ccxt/bitimen.py +9 -9
- ccxt/bitir.py +35 -35
- ccxt/bitmart.py +1288 -350
- ccxt/bitmex.py +260 -75
- ccxt/bitopro.py +262 -62
- ccxt/bitpin.py +15 -14
- ccxt/bitrue.py +459 -290
- ccxt/bitso.py +199 -54
- ccxt/bitstamp.py +230 -96
- ccxt/bitteam.py +167 -25
- ccxt/{huobijp.py → bittrade.py} +158 -30
- ccxt/bitvavo.py +213 -49
- ccxt/blockchaincom.py +160 -46
- ccxt/blofin.py +502 -120
- ccxt/btcalpha.py +169 -31
- ccxt/btcbox.py +291 -23
- ccxt/btcmarkets.py +211 -58
- ccxt/btcturk.py +161 -38
- ccxt/bybit.py +1775 -1030
- ccxt/cex.py +1439 -1303
- ccxt/coinbase.py +724 -212
- ccxt/coinbaseadvanced.py +2 -1
- ccxt/coinbaseexchange.py +388 -89
- ccxt/coinbaseinternational.py +412 -57
- ccxt/coincatch.py +177 -78
- ccxt/coincheck.py +135 -19
- ccxt/coinex.py +606 -232
- ccxt/coinmate.py +189 -63
- ccxt/coinmetro.py +194 -54
- ccxt/coinone.py +158 -51
- ccxt/coinsph.py +336 -61
- ccxt/coinspot.py +151 -52
- ccxt/cryptocom.py +661 -111
- ccxt/cryptomus.py +1137 -0
- ccxt/defx.py +2070 -0
- ccxt/delta.py +299 -99
- ccxt/deribit.py +348 -126
- ccxt/derive.py +2571 -0
- ccxt/digifinex.py +430 -214
- ccxt/ellipx.py +2029 -0
- ccxt/eterex.py +7 -7
- ccxt/excoino.py +29 -29
- ccxt/exir.py +11 -11
- ccxt/exmo.py +343 -131
- ccxt/exnovin.py +8 -8
- ccxt/farhadexchange.py +10 -10
- ccxt/fmfwio.py +2 -1
- ccxt/foxbit.py +1935 -0
- ccxt/gate.py +1351 -529
- ccxt/gateio.py +2 -1
- ccxt/gemini.py +144 -39
- ccxt/hashkey.py +152 -109
- ccxt/hibachi.py +2079 -0
- ccxt/hitbtc.py +395 -167
- ccxt/hitobit.py +9 -9
- ccxt/hollaex.py +307 -119
- ccxt/htx.py +851 -383
- ccxt/huobi.py +2 -1
- ccxt/hyperliquid.py +1848 -536
- ccxt/independentreserve.py +287 -15
- ccxt/indodax.py +190 -33
- ccxt/jibitex.py +9 -9
- ccxt/kraken.py +794 -351
- ccxt/krakenfutures.py +214 -62
- ccxt/kucoin.py +715 -396
- ccxt/kucoinfutures.py +652 -89
- ccxt/latoken.py +217 -113
- ccxt/lbank.py +425 -97
- ccxt/luno.py +382 -35
- ccxt/mercado.py +113 -6
- ccxt/mexc.py +873 -437
- ccxt/modetrade.py +2818 -0
- ccxt/myokx.py +54 -0
- ccxt/ndax.py +221 -64
- ccxt/nobitex.py +29 -35
- ccxt/novadax.py +190 -34
- ccxt/oceanex.py +217 -28
- ccxt/okcoin.py +253 -145
- ccxt/okexchange.py +9 -9
- ccxt/okx.py +1088 -351
- ccxt/okxus.py +54 -0
- ccxt/ompfinex.py +22 -21
- ccxt/onetrading.py +213 -392
- ccxt/oxfun.py +245 -166
- ccxt/p2b.py +151 -29
- ccxt/paradex.py +562 -49
- ccxt/paymium.py +82 -19
- ccxt/phemex.py +712 -172
- ccxt/poloniex.py +1601 -283
- ccxt/pro/__init__.py +76 -17
- ccxt/pro/alpaca.py +21 -6
- ccxt/pro/apex.py +984 -0
- ccxt/pro/ascendex.py +58 -10
- ccxt/pro/bequant.py +6 -1
- ccxt/pro/binance.py +728 -156
- ccxt/pro/binancecoinm.py +6 -2
- ccxt/pro/binanceus.py +8 -4
- ccxt/pro/binanceusdm.py +7 -2
- ccxt/pro/bingx.py +333 -142
- ccxt/pro/bitfinex.py +727 -262
- ccxt/pro/bitget.py +570 -79
- ccxt/pro/bithumb.py +20 -6
- ccxt/pro/bitmart.py +216 -87
- ccxt/pro/bitmex.py +47 -9
- ccxt/pro/bitopro.py +26 -14
- ccxt/pro/bitrue.py +22 -22
- ccxt/pro/bitstamp.py +54 -21
- ccxt/pro/{huobijp.py → bittrade.py} +7 -6
- ccxt/pro/bitvavo.py +191 -67
- ccxt/pro/blockchaincom.py +21 -8
- ccxt/pro/blofin.py +9 -1
- ccxt/pro/bybit.py +632 -245
- ccxt/pro/cex.py +59 -24
- ccxt/pro/coinbase.py +102 -73
- ccxt/pro/coinbaseadvanced.py +2 -1
- ccxt/pro/coinbaseexchange.py +8 -8
- ccxt/pro/coinbaseinternational.py +181 -25
- ccxt/pro/coincatch.py +6 -7
- ccxt/pro/coincheck.py +11 -6
- ccxt/pro/coinex.py +967 -665
- ccxt/pro/coinone.py +16 -9
- ccxt/pro/cryptocom.py +448 -45
- ccxt/pro/defx.py +831 -0
- ccxt/pro/deribit.py +150 -14
- ccxt/pro/derive.py +704 -0
- ccxt/pro/exmo.py +239 -6
- ccxt/pro/gate.py +623 -65
- ccxt/pro/gateio.py +2 -1
- ccxt/pro/gemini.py +27 -11
- ccxt/pro/hashkey.py +2 -2
- ccxt/pro/hitbtc.py +196 -91
- ccxt/pro/hollaex.py +23 -7
- ccxt/pro/htx.py +51 -14
- ccxt/pro/huobi.py +2 -1
- ccxt/pro/hyperliquid.py +591 -27
- ccxt/pro/independentreserve.py +9 -6
- ccxt/pro/kraken.py +640 -320
- ccxt/pro/krakenfutures.py +62 -35
- ccxt/pro/kucoin.py +267 -46
- ccxt/pro/kucoinfutures.py +165 -21
- ccxt/pro/lbank.py +102 -21
- ccxt/pro/luno.py +12 -8
- ccxt/pro/mexc.py +877 -111
- ccxt/pro/modetrade.py +1271 -0
- ccxt/pro/myokx.py +38 -0
- ccxt/pro/ndax.py +15 -2
- ccxt/pro/okcoin.py +23 -4
- ccxt/pro/okx.py +573 -98
- ccxt/pro/okxus.py +38 -0
- ccxt/pro/onetrading.py +30 -13
- ccxt/pro/oxfun.py +131 -27
- ccxt/pro/p2b.py +88 -22
- ccxt/pro/paradex.py +3 -3
- ccxt/pro/phemex.py +75 -21
- ccxt/pro/poloniex.py +124 -41
- ccxt/pro/probit.py +87 -80
- ccxt/pro/tradeogre.py +272 -0
- ccxt/pro/upbit.py +152 -12
- ccxt/pro/vertex.py +8 -3
- ccxt/pro/whitebit.py +58 -5
- ccxt/pro/woo.py +228 -37
- ccxt/pro/woofipro.py +106 -18
- ccxt/pro/xt.py +111 -5
- ccxt/probit.py +224 -95
- ccxt/protobuf/__init__.py +0 -0
- ccxt/protobuf/mexc/PrivateAccountV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PrivateDealsV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PrivateOrdersV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicAggreBookTickerV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicAggreDealsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicAggreDepthsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicBookTickerBatchV3Api_pb2.py +38 -0
- ccxt/protobuf/mexc/PublicBookTickerV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicDealsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicIncreaseDepthsBatchV3Api_pb2.py +38 -0
- ccxt/protobuf/mexc/PublicIncreaseDepthsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicLimitDepthsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicMiniTickerV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicMiniTickersV3Api_pb2.py +38 -0
- ccxt/protobuf/mexc/PublicSpotKlineV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PushDataV3ApiWrapper_pb2.py +52 -0
- ccxt/protobuf/mexc/__init__.py +0 -0
- ccxt/ramzinex.py +28 -25
- ccxt/sarmayex.py +7 -7
- ccxt/sarrafex.py +10 -10
- ccxt/static_dependencies/__init__.py +1 -1
- ccxt/static_dependencies/lark/py.typed +0 -0
- ccxt/static_dependencies/marshmallow/py.typed +0 -0
- ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
- ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
- ccxt/tabdeal.py +12 -11
- ccxt/test/tests_async.py +261 -57
- ccxt/test/tests_helpers.py +1 -3
- ccxt/test/tests_init.py +4 -3
- ccxt/test/tests_sync.py +261 -57
- ccxt/tetherland.py +7 -7
- ccxt/timex.py +210 -51
- ccxt/tokocrypto.py +167 -47
- ccxt/tradeogre.py +266 -31
- ccxt/twox.py +7 -7
- ccxt/ubitex.py +9 -9
- ccxt/upbit.py +568 -165
- ccxt/vertex.py +160 -32
- ccxt/wallex.py +9 -9
- ccxt/wavesexchange.py +165 -30
- ccxt/whitebit.py +975 -127
- ccxt/woo.py +1917 -1016
- ccxt/woofipro.py +432 -141
- ccxt/xt.py +649 -193
- ccxt/yobit.py +194 -70
- ccxt/zaif.py +91 -15
- ccxt/zonda.py +151 -36
- {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.0.dist-info}/METADATA +225 -73
- ccxt_ir-4.5.0.dist-info/RECORD +743 -0
- {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.0.dist-info}/WHEEL +1 -1
- ccxt/__test__.py +0 -7
- ccxt/abstract/ace.py +0 -15
- ccxt/abstract/bitbay.py +0 -53
- ccxt/abstract/bitcoincom.py +0 -115
- ccxt/abstract/bitfinex2.py +0 -139
- ccxt/abstract/bitpanda.py +0 -35
- ccxt/abstract/bl3p.py +0 -19
- ccxt/abstract/coinlist.py +0 -54
- ccxt/abstract/currencycom.py +0 -68
- ccxt/abstract/hitbtc3.py +0 -115
- ccxt/abstract/idex.py +0 -26
- ccxt/abstract/kuna.py +0 -182
- ccxt/abstract/lykke.py +0 -29
- ccxt/abstract/poloniexfutures.py +0 -48
- ccxt/abstract/wazirx.py +0 -30
- ccxt/ace.py +0 -1012
- ccxt/async_support/ace.py +0 -1012
- ccxt/async_support/base/ws/aiohttp_client.py +0 -125
- ccxt/async_support/base/ws/fast_client.py +0 -96
- ccxt/async_support/bitbay.py +0 -17
- ccxt/async_support/bitcoincom.py +0 -17
- ccxt/async_support/bitfinex2.py +0 -3552
- ccxt/async_support/bitpanda.py +0 -16
- ccxt/async_support/bl3p.py +0 -485
- ccxt/async_support/coinlist.py +0 -2243
- ccxt/async_support/currencycom.py +0 -1950
- ccxt/async_support/hitbtc3.py +0 -16
- ccxt/async_support/idex.py +0 -1766
- ccxt/async_support/kuna.py +0 -1841
- ccxt/async_support/lykke.py +0 -1270
- ccxt/async_support/poloniexfutures.py +0 -1717
- ccxt/async_support/wazirx.py +0 -1224
- ccxt/bitbay.py +0 -17
- ccxt/bitcoincom.py +0 -17
- ccxt/bitfinex2.py +0 -3552
- ccxt/bitpanda.py +0 -16
- ccxt/bl3p.py +0 -485
- ccxt/coinlist.py +0 -2243
- ccxt/currencycom.py +0 -1950
- ccxt/hitbtc3.py +0 -16
- ccxt/idex.py +0 -1766
- ccxt/kuna.py +0 -1841
- ccxt/lykke.py +0 -1270
- ccxt/poloniexfutures.py +0 -1717
- ccxt/pro/bitcoincom.py +0 -34
- ccxt/pro/bitfinex2.py +0 -1083
- ccxt/pro/bitpanda.py +0 -15
- ccxt/pro/currencycom.py +0 -536
- ccxt/pro/idex.py +0 -672
- ccxt/pro/poloniexfutures.py +0 -990
- ccxt/pro/wazirx.py +0 -749
- ccxt/test/base/__init__.py +0 -29
- ccxt/test/base/test_account.py +0 -26
- ccxt/test/base/test_balance.py +0 -56
- ccxt/test/base/test_borrow_interest.py +0 -35
- ccxt/test/base/test_borrow_rate.py +0 -32
- ccxt/test/base/test_calculate_fee.py +0 -51
- ccxt/test/base/test_crypto.py +0 -127
- ccxt/test/base/test_currency.py +0 -76
- ccxt/test/base/test_datetime.py +0 -109
- ccxt/test/base/test_decimal_to_precision.py +0 -392
- ccxt/test/base/test_deep_extend.py +0 -68
- ccxt/test/base/test_deposit_withdrawal.py +0 -50
- ccxt/test/base/test_exchange_datetime_functions.py +0 -76
- ccxt/test/base/test_funding_rate_history.py +0 -29
- ccxt/test/base/test_last_price.py +0 -31
- ccxt/test/base/test_ledger_entry.py +0 -45
- ccxt/test/base/test_ledger_item.py +0 -48
- ccxt/test/base/test_leverage_tier.py +0 -33
- ccxt/test/base/test_liquidation.py +0 -50
- ccxt/test/base/test_margin_mode.py +0 -24
- ccxt/test/base/test_margin_modification.py +0 -35
- ccxt/test/base/test_market.py +0 -193
- ccxt/test/base/test_number.py +0 -411
- ccxt/test/base/test_ohlcv.py +0 -33
- ccxt/test/base/test_open_interest.py +0 -32
- ccxt/test/base/test_order.py +0 -64
- ccxt/test/base/test_order_book.py +0 -69
- ccxt/test/base/test_position.py +0 -60
- ccxt/test/base/test_shared_methods.py +0 -353
- ccxt/test/base/test_status.py +0 -24
- ccxt/test/base/test_throttle.py +0 -126
- ccxt/test/base/test_ticker.py +0 -92
- ccxt/test/base/test_trade.py +0 -47
- ccxt/test/base/test_trading_fee.py +0 -26
- ccxt/test/base/test_transaction.py +0 -39
- ccxt/test/test_async.py +0 -1649
- ccxt/test/test_sync.py +0 -1648
- ccxt/wazirx.py +0 -1224
- ccxt_ir-4.3.46.0.3.dist-info/RECORD +0 -773
- /ccxt/abstract/{huobijp.py → bittrade.py} +0 -0
- {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.0.dist-info/licenses}/LICENSE.txt +0 -0
- {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.0.dist-info}/top_level.txt +0 -0
ccxt/pro/krakenfutures.py
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import ccxt.async_support
|
|
7
7
|
from ccxt.async_support.base.ws.cache import ArrayCache, ArrayCacheBySymbolById
|
|
8
8
|
import hashlib
|
|
9
|
-
from ccxt.base.types import Balances, Int, Order, OrderBook, Position, Str, Strings, Ticker, Tickers, Trade
|
|
9
|
+
from ccxt.base.types import Any, Balances, Bool, Int, Order, OrderBook, Position, Str, Strings, Ticker, Tickers, Trade
|
|
10
10
|
from ccxt.async_support.base.ws.client import Client
|
|
11
11
|
from typing import List
|
|
12
12
|
from ccxt.base.errors import ExchangeError
|
|
@@ -17,7 +17,7 @@ from ccxt.base.precise import Precise
|
|
|
17
17
|
|
|
18
18
|
class krakenfutures(ccxt.async_support.krakenfutures):
|
|
19
19
|
|
|
20
|
-
def describe(self):
|
|
20
|
+
def describe(self) -> Any:
|
|
21
21
|
return self.deep_extend(super(krakenfutures, self).describe(), {
|
|
22
22
|
'has': {
|
|
23
23
|
'ws': True,
|
|
@@ -69,9 +69,11 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
69
69
|
|
|
70
70
|
async def authenticate(self, params={}):
|
|
71
71
|
"""
|
|
72
|
-
|
|
72
|
+
@ignore
|
|
73
73
|
authenticates the user to access private web socket channels
|
|
74
|
-
|
|
74
|
+
|
|
75
|
+
https://docs.futures.kraken.com/#websocket-api-public-feeds-challenge
|
|
76
|
+
|
|
75
77
|
:returns dict: response from exchange
|
|
76
78
|
"""
|
|
77
79
|
self.check_required_credentials()
|
|
@@ -82,21 +84,23 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
82
84
|
url = self.urls['api']['ws']
|
|
83
85
|
messageHash = 'challenge'
|
|
84
86
|
client = self.client(url)
|
|
85
|
-
future =
|
|
86
|
-
|
|
87
|
+
future = client.future(messageHash)
|
|
88
|
+
authenticated = self.safe_value(client.subscriptions, messageHash)
|
|
89
|
+
if authenticated is None:
|
|
87
90
|
request: dict = {
|
|
88
91
|
'event': 'challenge',
|
|
89
92
|
'api_key': self.apiKey,
|
|
90
93
|
}
|
|
91
94
|
message = self.extend(request, params)
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
return future
|
|
95
|
+
self.watch(url, messageHash, message, messageHash)
|
|
96
|
+
return await future
|
|
95
97
|
|
|
96
98
|
async def watch_order_book_for_symbols(self, symbols: List[str], limit: Int = None, params={}) -> OrderBook:
|
|
97
99
|
"""
|
|
98
100
|
watches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
|
99
|
-
|
|
101
|
+
|
|
102
|
+
https://docs.futures.kraken.com/#websocket-api-public-feeds-challenge
|
|
103
|
+
|
|
100
104
|
:param str[] symbols: unified array of symbols
|
|
101
105
|
:param int [limit]: the maximum amount of order book entries to return
|
|
102
106
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -107,7 +111,7 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
107
111
|
|
|
108
112
|
async def subscribe_public(self, name: str, symbols: List[str], params={}):
|
|
109
113
|
"""
|
|
110
|
-
|
|
114
|
+
@ignore
|
|
111
115
|
Connects to a websocket channel
|
|
112
116
|
:param str name: name of the channel
|
|
113
117
|
:param str[] symbols: CCXT market symbols
|
|
@@ -137,10 +141,10 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
137
141
|
|
|
138
142
|
async def subscribe_private(self, name: str, messageHash: str, params={}):
|
|
139
143
|
"""
|
|
140
|
-
|
|
144
|
+
@ignore
|
|
141
145
|
Connects to a websocket channel
|
|
142
146
|
:param str name: name of the channel
|
|
143
|
-
:param str
|
|
147
|
+
:param str messageHash: unique identifier for the message
|
|
144
148
|
:param dict [params]: extra parameters specific to the krakenfutures api
|
|
145
149
|
:returns dict: data from the websocket stream
|
|
146
150
|
"""
|
|
@@ -160,7 +164,9 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
160
164
|
async def watch_ticker(self, symbol: str, params={}) -> Ticker:
|
|
161
165
|
"""
|
|
162
166
|
watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
163
|
-
|
|
167
|
+
|
|
168
|
+
https://docs.futures.kraken.com/#websocket-api-public-feeds-ticker
|
|
169
|
+
|
|
164
170
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
|
165
171
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
166
172
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -173,8 +179,10 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
173
179
|
async def watch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
|
174
180
|
"""
|
|
175
181
|
watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
176
|
-
|
|
177
|
-
|
|
182
|
+
|
|
183
|
+
https://docs.futures.kraken.com/#websocket-api-public-feeds-ticker
|
|
184
|
+
|
|
185
|
+
:param str[] symbols: unified symbols of the markets to fetch the ticker for
|
|
178
186
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
179
187
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
180
188
|
"""
|
|
@@ -189,7 +197,9 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
189
197
|
|
|
190
198
|
async def watch_bids_asks(self, symbols: Strings = None, params={}) -> Tickers:
|
|
191
199
|
"""
|
|
192
|
-
|
|
200
|
+
|
|
201
|
+
https://docs.futures.kraken.com/#websocket-api-public-feeds-ticker-lite
|
|
202
|
+
|
|
193
203
|
watches best bid & ask for symbols
|
|
194
204
|
:param str[] symbols: unified symbol of the market to fetch the ticker for
|
|
195
205
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -202,10 +212,12 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
202
212
|
return result
|
|
203
213
|
return self.filter_by_array(self.bidsasks, 'symbol', symbols)
|
|
204
214
|
|
|
205
|
-
async def watch_trades(self, symbol: Str
|
|
215
|
+
async def watch_trades(self, symbol: Str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
|
206
216
|
"""
|
|
207
217
|
get the list of most recent trades for a particular symbol
|
|
208
|
-
|
|
218
|
+
|
|
219
|
+
https://docs.futures.kraken.com/#websocket-api-public-feeds-trade
|
|
220
|
+
|
|
209
221
|
:param str symbol: unified symbol of the market to fetch trades for
|
|
210
222
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
|
211
223
|
:param int [limit]: the maximum amount of trades to fetch
|
|
@@ -216,7 +228,9 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
216
228
|
|
|
217
229
|
async def watch_trades_for_symbols(self, symbols: List[str], since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
|
218
230
|
"""
|
|
219
|
-
|
|
231
|
+
|
|
232
|
+
https://docs.futures.kraken.com/#websocket-api-public-feeds-trade
|
|
233
|
+
|
|
220
234
|
get the list of most recent trades for a list of symbols
|
|
221
235
|
:param str[] symbols: unified symbol of the market to fetch trades for
|
|
222
236
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
|
@@ -234,7 +248,9 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
234
248
|
async def watch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
|
235
249
|
"""
|
|
236
250
|
watches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
|
237
|
-
|
|
251
|
+
|
|
252
|
+
https://docs.futures.kraken.com/#websocket-api-public-feeds-book
|
|
253
|
+
|
|
238
254
|
:param str symbol: unified symbol of the market to fetch the order book for
|
|
239
255
|
:param int [limit]: not used by krakenfutures watchOrderBook
|
|
240
256
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -244,9 +260,13 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
244
260
|
|
|
245
261
|
async def watch_positions(self, symbols: Strings = None, since: Int = None, limit: Int = None, params={}) -> List[Position]:
|
|
246
262
|
"""
|
|
247
|
-
|
|
263
|
+
|
|
264
|
+
https://docs.futures.kraken.com/#websocket-api-private-feeds-open-positions
|
|
265
|
+
|
|
248
266
|
watch all open positions
|
|
249
267
|
:param str[]|None symbols: list of unified market symbols
|
|
268
|
+
@param since
|
|
269
|
+
@param limit
|
|
250
270
|
:param dict params: extra parameters specific to the exchange API endpoint
|
|
251
271
|
:returns dict[]: a list of `position structure <https://docs.ccxt.com/en/latest/manual.html#position-structure>`
|
|
252
272
|
"""
|
|
@@ -364,8 +384,10 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
364
384
|
async def watch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
365
385
|
"""
|
|
366
386
|
watches information on multiple orders made by the user
|
|
367
|
-
|
|
368
|
-
|
|
387
|
+
|
|
388
|
+
https://docs.futures.kraken.com/#websocket-api-private-feeds-open-orders
|
|
389
|
+
https://docs.futures.kraken.com/#websocket-api-private-feeds-open-orders-verbose
|
|
390
|
+
|
|
369
391
|
:param str symbol: not used by krakenfutures watchOrders
|
|
370
392
|
:param int [since]: not used by krakenfutures watchOrders
|
|
371
393
|
:param int [limit]: not used by krakenfutures watchOrders
|
|
@@ -386,7 +408,9 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
386
408
|
async def watch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
|
387
409
|
"""
|
|
388
410
|
watches information on multiple trades made by the user
|
|
389
|
-
|
|
411
|
+
|
|
412
|
+
https://docs.futures.kraken.com/#websocket-api-private-feeds-fills
|
|
413
|
+
|
|
390
414
|
:param str symbol: unified market symbol of the market orders were made in
|
|
391
415
|
:param int [since]: the earliest time in ms to fetch orders for
|
|
392
416
|
:param int [limit]: the maximum number of order structures to retrieve
|
|
@@ -406,11 +430,10 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
406
430
|
|
|
407
431
|
async def watch_balance(self, params={}) -> Balances:
|
|
408
432
|
"""
|
|
409
|
-
watches information on
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
:param int [limit]: not used by krakenfutures watchBalance
|
|
433
|
+
watches information on the user's account balance
|
|
434
|
+
|
|
435
|
+
https://docs.futures.kraken.com/#websocket-api-private-feeds-balances
|
|
436
|
+
|
|
414
437
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
415
438
|
:param str [params.account]: can be either 'futures' or 'flex_futures'
|
|
416
439
|
:returns dict} a object of wallet types each with a balance structure {@link https://docs.ccxt.com/#/?id=balance-structure:
|
|
@@ -437,7 +460,7 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
437
460
|
# {
|
|
438
461
|
# "feed": "trade",
|
|
439
462
|
# "product_id": "PI_XBTUSD",
|
|
440
|
-
# "uid": "caa9c653-420b-4c24-
|
|
463
|
+
# "uid": "caa9c653-420b-4c24-a9f2-462a054d86f1",
|
|
441
464
|
# "side": "sell",
|
|
442
465
|
# "type": "fill",
|
|
443
466
|
# "seq": 655508,
|
|
@@ -998,6 +1021,8 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
998
1021
|
'average': None,
|
|
999
1022
|
'baseVolume': self.safe_string(ticker, 'volume'),
|
|
1000
1023
|
'quoteVolume': self.safe_string(ticker, 'volumeQuote'),
|
|
1024
|
+
'markPrice': self.safe_string(ticker, 'markPrice'),
|
|
1025
|
+
'indexPrice': self.safe_string(ticker, 'index'),
|
|
1001
1026
|
})
|
|
1002
1027
|
|
|
1003
1028
|
def handle_order_book_snapshot(self, client: Client, message):
|
|
@@ -1418,7 +1443,7 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
1418
1443
|
messageHash += '#' + subChannelName
|
|
1419
1444
|
return messageHash
|
|
1420
1445
|
|
|
1421
|
-
def handle_error_message(self, client: Client, message):
|
|
1446
|
+
def handle_error_message(self, client: Client, message) -> Bool:
|
|
1422
1447
|
#
|
|
1423
1448
|
# {
|
|
1424
1449
|
# event: 'alert',
|
|
@@ -1430,6 +1455,7 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
1430
1455
|
raise ExchangeError(self.id + ' ' + errMsg)
|
|
1431
1456
|
except Exception as error:
|
|
1432
1457
|
client.reject(error)
|
|
1458
|
+
return False
|
|
1433
1459
|
|
|
1434
1460
|
def handle_message(self, client, message):
|
|
1435
1461
|
event = self.safe_string(message, 'event')
|
|
@@ -1465,8 +1491,8 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
1465
1491
|
|
|
1466
1492
|
def handle_authenticate(self, client: Client, message):
|
|
1467
1493
|
"""
|
|
1468
|
-
|
|
1469
|
-
|
|
1494
|
+
@ignore
|
|
1495
|
+
https://docs.futures.kraken.com/#websocket-api-websocket-api-introduction-sign-challenge-challenge
|
|
1470
1496
|
"""
|
|
1471
1497
|
#
|
|
1472
1498
|
# {
|
|
@@ -1483,7 +1509,8 @@ class krakenfutures(ccxt.async_support.krakenfutures):
|
|
|
1483
1509
|
signature = self.hmac(hashedChallenge, base64Secret, hashlib.sha512, 'base64')
|
|
1484
1510
|
self.options['challenge'] = challenge
|
|
1485
1511
|
self.options['signedChallenge'] = signature
|
|
1486
|
-
client.
|
|
1512
|
+
future = self.safe_value(client.futures, messageHash)
|
|
1513
|
+
future.resolve(True)
|
|
1487
1514
|
else:
|
|
1488
1515
|
error = AuthenticationError(self.id + ' ' + self.json(message))
|
|
1489
1516
|
client.reject(error, messageHash)
|