ccxt-ir 4.3.46.0.2__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 +9 -9
- 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 +10 -10
- 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.2.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.2.dist-info → ccxt_ir-4.5.0.dist-info}/WHEEL +1 -1
- 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.2.dist-info/RECORD +0 -772
- /ccxt/abstract/{huobijp.py → bittrade.py} +0 -0
- {ccxt_ir-4.3.46.0.2.dist-info → ccxt_ir-4.5.0.dist-info/licenses}/LICENSE.txt +0 -0
- {ccxt_ir-4.3.46.0.2.dist-info → ccxt_ir-4.5.0.dist-info}/top_level.txt +0 -0
ccxt/async_support/bitso.py
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.bitso import ImplicitAPI
|
|
8
8
|
import hashlib
|
|
9
|
-
from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Trade, TradingFees, Transaction
|
|
9
|
+
from ccxt.base.types import Any, Balances, Currency, DepositAddress, Int, LedgerEntry, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Trade, TradingFees, Transaction
|
|
10
10
|
from typing import List
|
|
11
11
|
from ccxt.base.errors import ExchangeError
|
|
12
12
|
from ccxt.base.errors import AuthenticationError
|
|
@@ -21,7 +21,7 @@ from ccxt.base.precise import Precise
|
|
|
21
21
|
|
|
22
22
|
class bitso(Exchange, ImplicitAPI):
|
|
23
23
|
|
|
24
|
-
def describe(self):
|
|
24
|
+
def describe(self) -> Any:
|
|
25
25
|
return self.deep_extend(super(bitso, self).describe(), {
|
|
26
26
|
'id': 'bitso',
|
|
27
27
|
'name': 'Bitso',
|
|
@@ -36,6 +36,9 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
36
36
|
'future': False,
|
|
37
37
|
'option': False,
|
|
38
38
|
'addMargin': False,
|
|
39
|
+
'borrowCrossMargin': False,
|
|
40
|
+
'borrowIsolatedMargin': False,
|
|
41
|
+
'borrowMargin': False,
|
|
39
42
|
'cancelAllOrders': True,
|
|
40
43
|
'cancelOrder': True,
|
|
41
44
|
'cancelOrders': True,
|
|
@@ -43,36 +46,62 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
43
46
|
'closePosition': False,
|
|
44
47
|
'createDepositAddress': False,
|
|
45
48
|
'createOrder': True,
|
|
49
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
|
50
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
|
46
51
|
'createReduceOnlyOrder': False,
|
|
47
52
|
'fetchAccounts': False,
|
|
48
53
|
'fetchBalance': True,
|
|
54
|
+
'fetchBorrowInterest': False,
|
|
55
|
+
'fetchBorrowRate': False,
|
|
49
56
|
'fetchBorrowRateHistories': False,
|
|
50
57
|
'fetchBorrowRateHistory': False,
|
|
58
|
+
'fetchBorrowRates': False,
|
|
59
|
+
'fetchBorrowRatesPerSymbol': False,
|
|
51
60
|
'fetchCrossBorrowRate': False,
|
|
52
61
|
'fetchCrossBorrowRates': False,
|
|
53
62
|
'fetchDeposit': True,
|
|
54
63
|
'fetchDepositAddress': True,
|
|
55
64
|
'fetchDepositAddresses': False,
|
|
65
|
+
'fetchDepositAddressesByNetwork': False,
|
|
56
66
|
'fetchDeposits': True,
|
|
57
67
|
'fetchDepositsWithdrawals': False,
|
|
58
68
|
'fetchDepositWithdrawFee': 'emulated',
|
|
59
69
|
'fetchDepositWithdrawFees': True,
|
|
60
70
|
'fetchFundingHistory': False,
|
|
71
|
+
'fetchFundingInterval': False,
|
|
72
|
+
'fetchFundingIntervals': False,
|
|
61
73
|
'fetchFundingRate': False,
|
|
62
74
|
'fetchFundingRateHistory': False,
|
|
63
75
|
'fetchFundingRates': False,
|
|
76
|
+
'fetchGreeks': False,
|
|
64
77
|
'fetchIndexOHLCV': False,
|
|
65
78
|
'fetchIsolatedBorrowRate': False,
|
|
66
79
|
'fetchIsolatedBorrowRates': False,
|
|
80
|
+
'fetchIsolatedPositions': False,
|
|
67
81
|
'fetchLedger': True,
|
|
68
82
|
'fetchLeverage': False,
|
|
83
|
+
'fetchLeverages': False,
|
|
84
|
+
'fetchLeverageTiers': False,
|
|
85
|
+
'fetchLiquidations': False,
|
|
86
|
+
'fetchLongShortRatio': False,
|
|
87
|
+
'fetchLongShortRatioHistory': False,
|
|
88
|
+
'fetchMarginAdjustmentHistory': False,
|
|
69
89
|
'fetchMarginMode': False,
|
|
90
|
+
'fetchMarginModes': False,
|
|
91
|
+
'fetchMarketLeverageTiers': False,
|
|
70
92
|
'fetchMarkets': True,
|
|
71
93
|
'fetchMarkOHLCV': False,
|
|
94
|
+
'fetchMarkPrices': False,
|
|
95
|
+
'fetchMyLiquidations': False,
|
|
96
|
+
'fetchMySettlementHistory': False,
|
|
72
97
|
'fetchMyTrades': True,
|
|
73
98
|
'fetchOHLCV': True,
|
|
99
|
+
'fetchOpenInterest': False,
|
|
74
100
|
'fetchOpenInterestHistory': False,
|
|
101
|
+
'fetchOpenInterests': False,
|
|
75
102
|
'fetchOpenOrders': True,
|
|
103
|
+
'fetchOption': False,
|
|
104
|
+
'fetchOptionChain': False,
|
|
76
105
|
'fetchOrder': True,
|
|
77
106
|
'fetchOrderBook': True,
|
|
78
107
|
'fetchOrderTrades': True,
|
|
@@ -84,6 +113,7 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
84
113
|
'fetchPositionsHistory': False,
|
|
85
114
|
'fetchPositionsRisk': False,
|
|
86
115
|
'fetchPremiumIndexOHLCV': False,
|
|
116
|
+
'fetchSettlementHistory': False,
|
|
87
117
|
'fetchTicker': True,
|
|
88
118
|
'fetchTickers': False,
|
|
89
119
|
'fetchTime': False,
|
|
@@ -95,17 +125,24 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
95
125
|
'fetchTransactions': False,
|
|
96
126
|
'fetchTransfer': False,
|
|
97
127
|
'fetchTransfers': False,
|
|
128
|
+
'fetchVolatilityHistory': False,
|
|
98
129
|
'reduceMargin': False,
|
|
130
|
+
'repayCrossMargin': False,
|
|
131
|
+
'repayIsolatedMargin': False,
|
|
99
132
|
'setLeverage': False,
|
|
133
|
+
'setMargin': False,
|
|
100
134
|
'setMarginMode': False,
|
|
101
135
|
'setPositionMode': False,
|
|
102
136
|
'transfer': False,
|
|
103
137
|
'withdraw': True,
|
|
104
138
|
},
|
|
105
139
|
'urls': {
|
|
106
|
-
'logo': 'https://
|
|
140
|
+
'logo': 'https://github.com/user-attachments/assets/178c8e56-9054-4107-b192-5e5053d4f975',
|
|
107
141
|
'api': {
|
|
108
|
-
'rest': 'https://
|
|
142
|
+
'rest': 'https://bitso.com/api',
|
|
143
|
+
},
|
|
144
|
+
'test': {
|
|
145
|
+
'rest': 'https://stage.bitso.com/api',
|
|
109
146
|
},
|
|
110
147
|
'www': 'https://bitso.com',
|
|
111
148
|
'doc': 'https://bitso.com/api_info',
|
|
@@ -120,6 +157,12 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
120
157
|
'TUSD': 0.01,
|
|
121
158
|
},
|
|
122
159
|
'defaultPrecision': 0.00000001,
|
|
160
|
+
'networks': {
|
|
161
|
+
'TRC20': 'trx',
|
|
162
|
+
'ERC20': 'erc20',
|
|
163
|
+
'BEP20': 'bsc',
|
|
164
|
+
'BEP2': 'bep2',
|
|
165
|
+
},
|
|
123
166
|
},
|
|
124
167
|
'timeframes': {
|
|
125
168
|
'1m': '60',
|
|
@@ -185,6 +228,68 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
185
228
|
],
|
|
186
229
|
},
|
|
187
230
|
},
|
|
231
|
+
'features': {
|
|
232
|
+
'spot': {
|
|
233
|
+
'sandbox': False,
|
|
234
|
+
'createOrder': {
|
|
235
|
+
'marginMode': False,
|
|
236
|
+
'triggerPrice': True, # todo implementation
|
|
237
|
+
'triggerPriceType': None,
|
|
238
|
+
'triggerDirection': None,
|
|
239
|
+
'stopLossPrice': False, # todo
|
|
240
|
+
'takeProfitPrice': False, # todo
|
|
241
|
+
'attachedStopLossTakeProfit': None,
|
|
242
|
+
# todo: implementation for TIF
|
|
243
|
+
'timeInForce': {
|
|
244
|
+
'IOC': True,
|
|
245
|
+
'FOK': True,
|
|
246
|
+
'PO': True,
|
|
247
|
+
'GTD': False,
|
|
248
|
+
},
|
|
249
|
+
'hedged': False,
|
|
250
|
+
'trailing': False,
|
|
251
|
+
'leverage': False,
|
|
252
|
+
'marketBuyRequiresPrice': False,
|
|
253
|
+
'marketBuyByCost': False,
|
|
254
|
+
'selfTradePrevention': False,
|
|
255
|
+
'iceberg': False,
|
|
256
|
+
},
|
|
257
|
+
'createOrders': None,
|
|
258
|
+
'fetchMyTrades': {
|
|
259
|
+
'marginMode': False,
|
|
260
|
+
'limit': 100,
|
|
261
|
+
'daysBack': None,
|
|
262
|
+
'untilDays': None,
|
|
263
|
+
'symbolRequired': True,
|
|
264
|
+
},
|
|
265
|
+
'fetchOrder': {
|
|
266
|
+
'marginMode': False,
|
|
267
|
+
'trigger': False,
|
|
268
|
+
'trailing': False,
|
|
269
|
+
'symbolRequired': True,
|
|
270
|
+
},
|
|
271
|
+
'fetchOpenOrders': {
|
|
272
|
+
'marginMode': False,
|
|
273
|
+
'limit': 500,
|
|
274
|
+
'trigger': False,
|
|
275
|
+
'trailing': False,
|
|
276
|
+
'symbolRequired': True,
|
|
277
|
+
},
|
|
278
|
+
'fetchOrders': None,
|
|
279
|
+
'fetchClosedOrders': None,
|
|
280
|
+
'fetchOHLCV': {
|
|
281
|
+
'limit': 300,
|
|
282
|
+
},
|
|
283
|
+
},
|
|
284
|
+
'swap': {
|
|
285
|
+
'linear': None,
|
|
286
|
+
'inverse': None,
|
|
287
|
+
},
|
|
288
|
+
'future': {
|
|
289
|
+
'linear': None,
|
|
290
|
+
'inverse': None,
|
|
291
|
+
},
|
|
292
|
+
},
|
|
188
293
|
'exceptions': {
|
|
189
294
|
'0201': AuthenticationError, # Invalid Nonce or Invalid Credentials
|
|
190
295
|
'104': InvalidNonce, # Cannot perform request - nonce must be higher than 1520307203724237
|
|
@@ -192,14 +297,14 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
192
297
|
},
|
|
193
298
|
})
|
|
194
299
|
|
|
195
|
-
async def fetch_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
|
300
|
+
async def fetch_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[LedgerEntry]:
|
|
196
301
|
"""
|
|
197
|
-
fetch the history of changes, actions done by the user or operations that altered balance of the user
|
|
198
|
-
:param str code: unified currency code, default is None
|
|
302
|
+
fetch the history of changes, actions done by the user or operations that altered the balance of the user
|
|
303
|
+
:param str [code]: unified currency code, default is None
|
|
199
304
|
:param int [since]: timestamp in ms of the earliest ledger entry, default is None
|
|
200
|
-
:param int [limit]: max number of ledger
|
|
305
|
+
:param int [limit]: max number of ledger entries to return, default is None
|
|
201
306
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
202
|
-
:returns dict: a `ledger structure <https://docs.ccxt.com/#/?id=ledger
|
|
307
|
+
:returns dict: a `ledger structure <https://docs.ccxt.com/#/?id=ledger>`
|
|
203
308
|
"""
|
|
204
309
|
request: dict = {}
|
|
205
310
|
if limit is not None:
|
|
@@ -241,7 +346,7 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
241
346
|
}
|
|
242
347
|
return self.safe_string(types, type, type)
|
|
243
348
|
|
|
244
|
-
def parse_ledger_entry(self, item: dict, currency: Currency = None):
|
|
349
|
+
def parse_ledger_entry(self, item: dict, currency: Currency = None) -> LedgerEntry:
|
|
245
350
|
#
|
|
246
351
|
# {
|
|
247
352
|
# "eid": "2510b3e2bc1c87f584500a18084f35ed",
|
|
@@ -305,6 +410,7 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
305
410
|
amount = self.safe_string(firstBalance, 'amount')
|
|
306
411
|
currencyId = self.safe_string(firstBalance, 'currency')
|
|
307
412
|
code = self.safe_currency_code(currencyId, currency)
|
|
413
|
+
currency = self.safe_currency(currencyId, currency)
|
|
308
414
|
details = self.safe_value(item, 'details', {})
|
|
309
415
|
referenceId = self.safe_string_2(details, 'fid', 'wid')
|
|
310
416
|
if referenceId is None:
|
|
@@ -324,6 +430,7 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
324
430
|
}
|
|
325
431
|
timestamp = self.parse8601(self.safe_string(item, 'created_at'))
|
|
326
432
|
return self.safe_ledger_entry({
|
|
433
|
+
'info': item,
|
|
327
434
|
'id': self.safe_string(item, 'eid'),
|
|
328
435
|
'direction': direction,
|
|
329
436
|
'account': None,
|
|
@@ -338,13 +445,14 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
338
445
|
'after': None,
|
|
339
446
|
'status': 'ok',
|
|
340
447
|
'fee': fee,
|
|
341
|
-
'info': item,
|
|
342
448
|
}, currency)
|
|
343
449
|
|
|
344
450
|
async def fetch_markets(self, params={}) -> List[Market]:
|
|
345
451
|
"""
|
|
346
452
|
retrieves data on all markets for bitso
|
|
347
|
-
|
|
453
|
+
|
|
454
|
+
https://docs.bitso.com/bitso-api/docs/list-available-books
|
|
455
|
+
|
|
348
456
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
349
457
|
:returns dict[]: an array of objects representing market data
|
|
350
458
|
"""
|
|
@@ -498,7 +606,9 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
498
606
|
async def fetch_balance(self, params={}) -> Balances:
|
|
499
607
|
"""
|
|
500
608
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
|
501
|
-
|
|
609
|
+
|
|
610
|
+
https://docs.bitso.com/bitso-api/docs/get-account-balance
|
|
611
|
+
|
|
502
612
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
503
613
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
|
504
614
|
"""
|
|
@@ -534,7 +644,9 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
534
644
|
async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
|
535
645
|
"""
|
|
536
646
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
|
537
|
-
|
|
647
|
+
|
|
648
|
+
https://docs.bitso.com/bitso-api/docs/list-order-book
|
|
649
|
+
|
|
538
650
|
:param str symbol: unified symbol of the market to fetch the order book for
|
|
539
651
|
:param int [limit]: the maximum amount of order book entries to return
|
|
540
652
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -597,7 +709,9 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
597
709
|
async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
|
598
710
|
"""
|
|
599
711
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
600
|
-
|
|
712
|
+
|
|
713
|
+
https://docs.bitso.com/bitso-api/docs/ticker
|
|
714
|
+
|
|
601
715
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
|
602
716
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
603
717
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -661,7 +775,7 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
661
775
|
# {
|
|
662
776
|
# "bucket_start_time":1648219140000,
|
|
663
777
|
# "first_trade_time":1648219154990,
|
|
664
|
-
# "last_trade_time":
|
|
778
|
+
# "last_trade_time":1648219189442,
|
|
665
779
|
# "first_rate":"44958.60",
|
|
666
780
|
# "last_rate":"44979.88",
|
|
667
781
|
# "min_rate":"44957.33",
|
|
@@ -802,7 +916,9 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
802
916
|
async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
|
803
917
|
"""
|
|
804
918
|
get the list of most recent trades for a particular symbol
|
|
805
|
-
|
|
919
|
+
|
|
920
|
+
https://docs.bitso.com/bitso-api/docs/list-trades
|
|
921
|
+
|
|
806
922
|
:param str symbol: unified symbol of the market to fetch trades for
|
|
807
923
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
|
808
924
|
:param int [limit]: the maximum amount of trades to fetch
|
|
@@ -820,7 +936,9 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
820
936
|
async def fetch_trading_fees(self, params={}) -> TradingFees:
|
|
821
937
|
"""
|
|
822
938
|
fetch the trading fees for multiple markets
|
|
823
|
-
|
|
939
|
+
|
|
940
|
+
https://docs.bitso.com/bitso-api/docs/list-fees
|
|
941
|
+
|
|
824
942
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
825
943
|
:returns dict: a dictionary of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>` indexed by market symbols
|
|
826
944
|
"""
|
|
@@ -889,7 +1007,9 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
889
1007
|
async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = 25, params={}):
|
|
890
1008
|
"""
|
|
891
1009
|
fetch all trades made by the user
|
|
892
|
-
|
|
1010
|
+
|
|
1011
|
+
https://docs.bitso.com/bitso-api/docs/user-trades
|
|
1012
|
+
|
|
893
1013
|
:param str symbol: unified market symbol
|
|
894
1014
|
:param int [since]: the earliest time in ms to fetch trades for
|
|
895
1015
|
:param int [limit]: the maximum number of trades structures to retrieve
|
|
@@ -923,12 +1043,14 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
923
1043
|
async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
|
924
1044
|
"""
|
|
925
1045
|
create a trade order
|
|
926
|
-
|
|
1046
|
+
|
|
1047
|
+
https://docs.bitso.com/bitso-api/docs/place-an-order
|
|
1048
|
+
|
|
927
1049
|
:param str symbol: unified symbol of the market to create an order in
|
|
928
1050
|
:param str type: 'market' or 'limit'
|
|
929
1051
|
:param str side: 'buy' or 'sell'
|
|
930
1052
|
:param float amount: how much of currency you want to trade in units of base currency
|
|
931
|
-
:param float [price]: the price at which the order is to be
|
|
1053
|
+
:param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
|
|
932
1054
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
933
1055
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
934
1056
|
"""
|
|
@@ -952,7 +1074,9 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
952
1074
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
|
953
1075
|
"""
|
|
954
1076
|
cancels an open order
|
|
955
|
-
|
|
1077
|
+
|
|
1078
|
+
https://docs.bitso.com/bitso-api/docs/cancel-an-order
|
|
1079
|
+
|
|
956
1080
|
:param str id: order id
|
|
957
1081
|
:param str symbol: not used by bitso cancelOrder()
|
|
958
1082
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -962,12 +1086,26 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
962
1086
|
request: dict = {
|
|
963
1087
|
'oid': id,
|
|
964
1088
|
}
|
|
965
|
-
|
|
1089
|
+
response = await self.privateDeleteOrdersOid(self.extend(request, params))
|
|
1090
|
+
#
|
|
1091
|
+
# {
|
|
1092
|
+
# "success": True,
|
|
1093
|
+
# "payload": ["yWTQGxDMZ0VimZgZ"]
|
|
1094
|
+
# }
|
|
1095
|
+
#
|
|
1096
|
+
payload = self.safe_list(response, 'payload', [])
|
|
1097
|
+
orderId = self.safe_string(payload, 0)
|
|
1098
|
+
return self.safe_order({
|
|
1099
|
+
'info': response,
|
|
1100
|
+
'id': orderId,
|
|
1101
|
+
})
|
|
966
1102
|
|
|
967
|
-
async def cancel_orders(self, ids, symbol: Str = None, params={}):
|
|
1103
|
+
async def cancel_orders(self, ids, symbol: Str = None, params={}) -> List[Order]:
|
|
968
1104
|
"""
|
|
969
1105
|
cancel multiple orders
|
|
970
|
-
|
|
1106
|
+
|
|
1107
|
+
https://docs.bitso.com/bitso-api/docs/cancel-an-order
|
|
1108
|
+
|
|
971
1109
|
:param str[] ids: order ids
|
|
972
1110
|
:param str symbol: unified market symbol
|
|
973
1111
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -996,10 +1134,12 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
996
1134
|
orders.append(self.parse_order(id, market))
|
|
997
1135
|
return orders
|
|
998
1136
|
|
|
999
|
-
async def cancel_all_orders(self, symbol: Str = None, params={}):
|
|
1137
|
+
async def cancel_all_orders(self, symbol: Str = None, params={}) -> List[Order]:
|
|
1000
1138
|
"""
|
|
1001
1139
|
cancel all open orders
|
|
1002
|
-
|
|
1140
|
+
|
|
1141
|
+
https://docs.bitso.com/bitso-api/docs/cancel-an-order
|
|
1142
|
+
|
|
1003
1143
|
:param None symbol: bitso does not support canceling orders for only a specific market
|
|
1004
1144
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1005
1145
|
:returns dict[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
|
@@ -1063,7 +1203,6 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
1063
1203
|
'postOnly': None,
|
|
1064
1204
|
'side': side,
|
|
1065
1205
|
'price': price,
|
|
1066
|
-
'stopPrice': None,
|
|
1067
1206
|
'triggerPrice': None,
|
|
1068
1207
|
'amount': amount,
|
|
1069
1208
|
'cost': None,
|
|
@@ -1078,7 +1217,9 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
1078
1217
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = 25, params={}) -> List[Order]:
|
|
1079
1218
|
"""
|
|
1080
1219
|
fetch all unfilled currently open orders
|
|
1081
|
-
|
|
1220
|
+
|
|
1221
|
+
https://docs.bitso.com/bitso-api/docs/list-open-orders
|
|
1222
|
+
|
|
1082
1223
|
:param str symbol: unified market symbol
|
|
1083
1224
|
:param int [since]: the earliest time in ms to fetch open orders for
|
|
1084
1225
|
:param int [limit]: the maximum number of open orders structures to retrieve
|
|
@@ -1113,7 +1254,10 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
1113
1254
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
|
1114
1255
|
"""
|
|
1115
1256
|
fetches information on an order made by the user
|
|
1116
|
-
|
|
1257
|
+
|
|
1258
|
+
https://docs.bitso.com/bitso-api/docs/look-up-orders
|
|
1259
|
+
|
|
1260
|
+
:param str id: the order id
|
|
1117
1261
|
:param str symbol: not used by bitso fetchOrder
|
|
1118
1262
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1119
1263
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
@@ -1132,7 +1276,9 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
1132
1276
|
async def fetch_order_trades(self, id: str, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
|
1133
1277
|
"""
|
|
1134
1278
|
fetch all the trades made from a single order
|
|
1135
|
-
|
|
1279
|
+
|
|
1280
|
+
https://docs.bitso.com/bitso-api/docs/list-user-trades
|
|
1281
|
+
|
|
1136
1282
|
:param str id: order id
|
|
1137
1283
|
:param str symbol: unified market symbol
|
|
1138
1284
|
:param int [since]: the earliest time in ms to fetch trades for
|
|
@@ -1151,7 +1297,9 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
1151
1297
|
async def fetch_deposit(self, id: str, code: Str = None, params={}):
|
|
1152
1298
|
"""
|
|
1153
1299
|
fetch information on a deposit
|
|
1154
|
-
|
|
1300
|
+
|
|
1301
|
+
https://docs.bitso.com/bitso-payouts-funding/docs/fundings
|
|
1302
|
+
|
|
1155
1303
|
:param str id: deposit id
|
|
1156
1304
|
:param str code: bitso does not support filtering by currency code and will ignore self argument
|
|
1157
1305
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -1192,7 +1340,9 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
1192
1340
|
async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
|
1193
1341
|
"""
|
|
1194
1342
|
fetch all deposits made to an account
|
|
1195
|
-
|
|
1343
|
+
|
|
1344
|
+
https://docs.bitso.com/bitso-payouts-funding/docs/fundings
|
|
1345
|
+
|
|
1196
1346
|
:param str code: unified currency code
|
|
1197
1347
|
:param int [since]: the earliest time in ms to fetch deposits for
|
|
1198
1348
|
:param int [limit]: the maximum number of deposits structures to retrieve
|
|
@@ -1230,7 +1380,7 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
1230
1380
|
transactions = self.safe_list(response, 'payload', [])
|
|
1231
1381
|
return self.parse_transactions(transactions, currency, since, limit, params)
|
|
1232
1382
|
|
|
1233
|
-
async def fetch_deposit_address(self, code: str, params={}):
|
|
1383
|
+
async def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
|
|
1234
1384
|
"""
|
|
1235
1385
|
fetch the deposit address for a currency associated with self account
|
|
1236
1386
|
:param str code: unified currency code
|
|
@@ -1251,18 +1401,20 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
1251
1401
|
tag = self.safe_string(parts, 1)
|
|
1252
1402
|
self.check_address(address)
|
|
1253
1403
|
return {
|
|
1404
|
+
'info': response,
|
|
1254
1405
|
'currency': code,
|
|
1406
|
+
'network': None,
|
|
1255
1407
|
'address': address,
|
|
1256
1408
|
'tag': tag,
|
|
1257
|
-
'network': None,
|
|
1258
|
-
'info': response,
|
|
1259
1409
|
}
|
|
1260
1410
|
|
|
1261
1411
|
async def fetch_transaction_fees(self, codes: Strings = None, params={}):
|
|
1262
1412
|
"""
|
|
1263
|
-
|
|
1413
|
+
@deprecated
|
|
1264
1414
|
please use fetchDepositWithdrawFees instead
|
|
1265
|
-
|
|
1415
|
+
|
|
1416
|
+
https://docs.bitso.com/bitso-api/docs/list-fees
|
|
1417
|
+
|
|
1266
1418
|
:param str[]|None codes: list of unified currency codes
|
|
1267
1419
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1268
1420
|
:returns dict[]: a list of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>`
|
|
@@ -1349,7 +1501,9 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
1349
1501
|
async def fetch_deposit_withdraw_fees(self, codes: Strings = None, params={}):
|
|
1350
1502
|
"""
|
|
1351
1503
|
fetch deposit and withdraw fees
|
|
1352
|
-
|
|
1504
|
+
|
|
1505
|
+
https://docs.bitso.com/bitso-api/docs/list-fees
|
|
1506
|
+
|
|
1353
1507
|
:param str[]|None codes: list of unified currency codes
|
|
1354
1508
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1355
1509
|
:returns dict[]: a list of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>`
|
|
@@ -1476,7 +1630,7 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
1476
1630
|
result[code]['info'][code] = withdrawFee
|
|
1477
1631
|
return result
|
|
1478
1632
|
|
|
1479
|
-
async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
|
|
1633
|
+
async def withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={}) -> Transaction:
|
|
1480
1634
|
"""
|
|
1481
1635
|
make a withdrawal
|
|
1482
1636
|
:param str code: unified currency code
|
|
@@ -1530,18 +1684,6 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
1530
1684
|
first = self.safe_dict(payload, 0)
|
|
1531
1685
|
return self.parse_transaction(first, currency)
|
|
1532
1686
|
|
|
1533
|
-
def safe_network(self, networkId):
|
|
1534
|
-
if networkId is None:
|
|
1535
|
-
return None
|
|
1536
|
-
networkId = networkId.upper()
|
|
1537
|
-
networksById: dict = {
|
|
1538
|
-
'trx': 'TRC20',
|
|
1539
|
-
'erc20': 'ERC20',
|
|
1540
|
-
'bsc': 'BEP20',
|
|
1541
|
-
'bep2': 'BEP2',
|
|
1542
|
-
}
|
|
1543
|
-
return self.safe_string(networksById, networkId, networkId)
|
|
1544
|
-
|
|
1545
1687
|
def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
|
|
1546
1688
|
#
|
|
1547
1689
|
# deposit
|
|
@@ -1588,12 +1730,14 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
1588
1730
|
networkId = self.safe_string_2(transaction, 'network', 'method')
|
|
1589
1731
|
status = self.safe_string(transaction, 'status')
|
|
1590
1732
|
withdrawId = self.safe_string(transaction, 'wid')
|
|
1733
|
+
networkCode = self.network_id_to_code(networkId)
|
|
1734
|
+
networkCodeUpper = networkCode.upper() if (networkCode is not None) else None
|
|
1591
1735
|
return {
|
|
1592
1736
|
'id': self.safe_string_2(transaction, 'wid', 'fid'),
|
|
1593
1737
|
'txid': self.safe_string(details, 'tx_hash'),
|
|
1594
1738
|
'timestamp': self.parse8601(datetime),
|
|
1595
1739
|
'datetime': datetime,
|
|
1596
|
-
'network':
|
|
1740
|
+
'network': networkCodeUpper,
|
|
1597
1741
|
'addressFrom': receivingAddress,
|
|
1598
1742
|
'address': withdrawalAddress if (withdrawalAddress is not None) else receivingAddress,
|
|
1599
1743
|
'addressTo': withdrawalAddress,
|
|
@@ -1633,6 +1777,7 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
1633
1777
|
if api == 'private':
|
|
1634
1778
|
self.check_required_credentials()
|
|
1635
1779
|
nonce = str(self.nonce())
|
|
1780
|
+
endpoint = '/api' + endpoint
|
|
1636
1781
|
request = ''.join([nonce, method, endpoint])
|
|
1637
1782
|
if method != 'GET' and method != 'DELETE':
|
|
1638
1783
|
if query:
|
|
@@ -1642,7 +1787,7 @@ class bitso(Exchange, ImplicitAPI):
|
|
|
1642
1787
|
auth = self.apiKey + ':' + nonce + ':' + signature
|
|
1643
1788
|
headers = {
|
|
1644
1789
|
'Authorization': 'Bitso ' + auth,
|
|
1645
|
-
'Content-Type': 'application/json',
|
|
1790
|
+
# 'Content-Type': 'application/json',
|
|
1646
1791
|
}
|
|
1647
1792
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
|
1648
1793
|
|