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/bitstamp.py
CHANGED
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.bitstamp import ImplicitAPI
|
|
8
8
|
import hashlib
|
|
9
|
-
from ccxt.base.types import Balances, Currencies, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
|
|
9
|
+
from ccxt.base.types import Any, Balances, Currencies, Currency, DepositAddress, Int, LedgerEntry, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
|
|
10
10
|
from typing import List
|
|
11
11
|
from ccxt.base.errors import ExchangeError
|
|
12
12
|
from ccxt.base.errors import AuthenticationError
|
|
13
13
|
from ccxt.base.errors import PermissionDenied
|
|
14
|
+
from ccxt.base.errors import AccountSuspended
|
|
14
15
|
from ccxt.base.errors import BadRequest
|
|
15
16
|
from ccxt.base.errors import InsufficientFunds
|
|
16
17
|
from ccxt.base.errors import InvalidAddress
|
|
@@ -26,7 +27,7 @@ from ccxt.base.precise import Precise
|
|
|
26
27
|
|
|
27
28
|
class bitstamp(Exchange, ImplicitAPI):
|
|
28
29
|
|
|
29
|
-
def describe(self):
|
|
30
|
+
def describe(self) -> Any:
|
|
30
31
|
return self.deep_extend(super(bitstamp, self).describe(), {
|
|
31
32
|
'id': 'bitstamp',
|
|
32
33
|
'name': 'Bitstamp',
|
|
@@ -44,41 +45,71 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
44
45
|
'future': False,
|
|
45
46
|
'option': False,
|
|
46
47
|
'addMargin': False,
|
|
48
|
+
'borrowCrossMargin': False,
|
|
49
|
+
'borrowIsolatedMargin': False,
|
|
50
|
+
'borrowMargin': False,
|
|
47
51
|
'cancelAllOrders': True,
|
|
48
52
|
'cancelOrder': True,
|
|
49
53
|
'closeAllPositions': False,
|
|
50
54
|
'closePosition': False,
|
|
51
55
|
'createOrder': True,
|
|
56
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
|
57
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
|
52
58
|
'createReduceOnlyOrder': False,
|
|
53
59
|
'createStopLimitOrder': False,
|
|
54
60
|
'createStopMarketOrder': False,
|
|
55
61
|
'createStopOrder': False,
|
|
56
62
|
'fetchBalance': True,
|
|
63
|
+
'fetchBorrowInterest': False,
|
|
64
|
+
'fetchBorrowRate': False,
|
|
57
65
|
'fetchBorrowRateHistories': False,
|
|
58
66
|
'fetchBorrowRateHistory': False,
|
|
67
|
+
'fetchBorrowRates': False,
|
|
68
|
+
'fetchBorrowRatesPerSymbol': False,
|
|
59
69
|
'fetchCrossBorrowRate': False,
|
|
60
70
|
'fetchCrossBorrowRates': False,
|
|
61
71
|
'fetchCurrencies': True,
|
|
62
72
|
'fetchDepositAddress': True,
|
|
73
|
+
'fetchDepositAddresses': False,
|
|
74
|
+
'fetchDepositAddressesByNetwork': False,
|
|
63
75
|
'fetchDepositsWithdrawals': True,
|
|
64
76
|
'fetchDepositWithdrawFee': 'emulated',
|
|
65
77
|
'fetchDepositWithdrawFees': True,
|
|
66
78
|
'fetchFundingHistory': False,
|
|
79
|
+
'fetchFundingInterval': False,
|
|
80
|
+
'fetchFundingIntervals': False,
|
|
67
81
|
'fetchFundingRate': False,
|
|
68
82
|
'fetchFundingRateHistory': False,
|
|
69
83
|
'fetchFundingRates': False,
|
|
84
|
+
'fetchGreeks': False,
|
|
70
85
|
'fetchIndexOHLCV': False,
|
|
71
86
|
'fetchIsolatedBorrowRate': False,
|
|
72
87
|
'fetchIsolatedBorrowRates': False,
|
|
88
|
+
'fetchIsolatedPositions': False,
|
|
73
89
|
'fetchLedger': True,
|
|
74
90
|
'fetchLeverage': False,
|
|
91
|
+
'fetchLeverages': False,
|
|
92
|
+
'fetchLeverageTiers': False,
|
|
93
|
+
'fetchLiquidations': False,
|
|
94
|
+
'fetchLongShortRatio': False,
|
|
95
|
+
'fetchLongShortRatioHistory': False,
|
|
96
|
+
'fetchMarginAdjustmentHistory': False,
|
|
75
97
|
'fetchMarginMode': False,
|
|
98
|
+
'fetchMarginModes': False,
|
|
99
|
+
'fetchMarketLeverageTiers': False,
|
|
76
100
|
'fetchMarkets': True,
|
|
77
101
|
'fetchMarkOHLCV': False,
|
|
102
|
+
'fetchMarkPrices': False,
|
|
103
|
+
'fetchMyLiquidations': False,
|
|
104
|
+
'fetchMySettlementHistory': False,
|
|
78
105
|
'fetchMyTrades': True,
|
|
79
106
|
'fetchOHLCV': True,
|
|
107
|
+
'fetchOpenInterest': False,
|
|
80
108
|
'fetchOpenInterestHistory': False,
|
|
109
|
+
'fetchOpenInterests': False,
|
|
81
110
|
'fetchOpenOrders': True,
|
|
111
|
+
'fetchOption': False,
|
|
112
|
+
'fetchOptionChain': False,
|
|
82
113
|
'fetchOrder': True,
|
|
83
114
|
'fetchOrderBook': True,
|
|
84
115
|
'fetchPosition': False,
|
|
@@ -89,6 +120,7 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
89
120
|
'fetchPositionsHistory': False,
|
|
90
121
|
'fetchPositionsRisk': False,
|
|
91
122
|
'fetchPremiumIndexOHLCV': False,
|
|
123
|
+
'fetchSettlementHistory': False,
|
|
92
124
|
'fetchTicker': True,
|
|
93
125
|
'fetchTickers': True,
|
|
94
126
|
'fetchTrades': True,
|
|
@@ -96,16 +128,20 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
96
128
|
'fetchTradingFees': True,
|
|
97
129
|
'fetchTransactionFees': True,
|
|
98
130
|
'fetchTransactions': 'emulated',
|
|
131
|
+
'fetchVolatilityHistory': False,
|
|
99
132
|
'fetchWithdrawals': True,
|
|
100
133
|
'reduceMargin': False,
|
|
134
|
+
'repayCrossMargin': False,
|
|
135
|
+
'repayIsolatedMargin': False,
|
|
101
136
|
'setLeverage': False,
|
|
137
|
+
'setMargin': False,
|
|
102
138
|
'setMarginMode': False,
|
|
103
139
|
'setPositionMode': False,
|
|
104
140
|
'transfer': True,
|
|
105
141
|
'withdraw': True,
|
|
106
142
|
},
|
|
107
143
|
'urls': {
|
|
108
|
-
'logo': 'https://
|
|
144
|
+
'logo': 'https://github.com/user-attachments/assets/d5480572-1fee-43cb-b900-d38c522d0024',
|
|
109
145
|
'api': {
|
|
110
146
|
'public': 'https://www.bitstamp.net/api',
|
|
111
147
|
'private': 'https://www.bitstamp.net/api',
|
|
@@ -163,6 +199,7 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
163
199
|
'user_transactions/': 1,
|
|
164
200
|
'user_transactions/{pair}/': 1,
|
|
165
201
|
'crypto-transactions/': 1,
|
|
202
|
+
'open_order': 1,
|
|
166
203
|
'open_orders/all/': 1,
|
|
167
204
|
'open_orders/{pair}/': 1,
|
|
168
205
|
'order_status/': 1,
|
|
@@ -402,46 +439,34 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
402
439
|
'trading': {
|
|
403
440
|
'tierBased': True,
|
|
404
441
|
'percentage': True,
|
|
405
|
-
'taker': self.parse_number('0.
|
|
406
|
-
'maker': self.parse_number('0.
|
|
442
|
+
'taker': self.parse_number('0.004'),
|
|
443
|
+
'maker': self.parse_number('0.004'),
|
|
407
444
|
'tiers': {
|
|
408
445
|
'taker': [
|
|
409
|
-
[self.parse_number('0'), self.parse_number('0.
|
|
410
|
-
[self.parse_number('
|
|
411
|
-
[self.parse_number('100000'), self.parse_number('0.
|
|
412
|
-
[self.parse_number('
|
|
413
|
-
[self.parse_number('
|
|
414
|
-
[self.parse_number('
|
|
415
|
-
[self.parse_number('
|
|
416
|
-
[self.parse_number('
|
|
417
|
-
[self.parse_number('
|
|
418
|
-
[self.parse_number('
|
|
419
|
-
[self.parse_number('
|
|
420
|
-
[self.parse_number('100000000'), self.parse_number('0.0007')],
|
|
421
|
-
[self.parse_number('500000000'), self.parse_number('0.0005')],
|
|
422
|
-
[self.parse_number('2000000000'), self.parse_number('0.0003')],
|
|
423
|
-
[self.parse_number('6000000000'), self.parse_number('0.0001')],
|
|
424
|
-
[self.parse_number('20000000000'), self.parse_number('0.00005')],
|
|
425
|
-
[self.parse_number('20000000001'), self.parse_number('0')],
|
|
446
|
+
[self.parse_number('0'), self.parse_number('0.004')],
|
|
447
|
+
[self.parse_number('10000'), self.parse_number('0.003')],
|
|
448
|
+
[self.parse_number('100000'), self.parse_number('0.002')],
|
|
449
|
+
[self.parse_number('500000'), self.parse_number('0.0018')],
|
|
450
|
+
[self.parse_number('1500000'), self.parse_number('0.0016')],
|
|
451
|
+
[self.parse_number('5000000'), self.parse_number('0.0012')],
|
|
452
|
+
[self.parse_number('20000000'), self.parse_number('0.001')],
|
|
453
|
+
[self.parse_number('50000000'), self.parse_number('0.0008')],
|
|
454
|
+
[self.parse_number('100000000'), self.parse_number('0.0006')],
|
|
455
|
+
[self.parse_number('250000000'), self.parse_number('0.0005')],
|
|
456
|
+
[self.parse_number('1000000000'), self.parse_number('0.0003')],
|
|
426
457
|
],
|
|
427
458
|
'maker': [
|
|
428
|
-
[self.parse_number('0'), self.parse_number('0.
|
|
429
|
-
[self.parse_number('
|
|
430
|
-
[self.parse_number('100000'), self.parse_number('0.
|
|
431
|
-
[self.parse_number('
|
|
432
|
-
[self.parse_number('
|
|
433
|
-
[self.parse_number('
|
|
434
|
-
[self.parse_number('
|
|
435
|
-
[self.parse_number('
|
|
436
|
-
[self.parse_number('
|
|
437
|
-
[self.parse_number('
|
|
438
|
-
[self.parse_number('
|
|
439
|
-
[self.parse_number('100000000'), self.parse_number('0.0007')],
|
|
440
|
-
[self.parse_number('500000000'), self.parse_number('0.0005')],
|
|
441
|
-
[self.parse_number('2000000000'), self.parse_number('0.0003')],
|
|
442
|
-
[self.parse_number('6000000000'), self.parse_number('0.0001')],
|
|
443
|
-
[self.parse_number('20000000000'), self.parse_number('0.00005')],
|
|
444
|
-
[self.parse_number('20000000001'), self.parse_number('0')],
|
|
459
|
+
[self.parse_number('0'), self.parse_number('0.003')],
|
|
460
|
+
[self.parse_number('10000'), self.parse_number('0.002')],
|
|
461
|
+
[self.parse_number('100000'), self.parse_number('0.001')],
|
|
462
|
+
[self.parse_number('500000'), self.parse_number('0.0008')],
|
|
463
|
+
[self.parse_number('1500000'), self.parse_number('0.0006')],
|
|
464
|
+
[self.parse_number('5000000'), self.parse_number('0.0003')],
|
|
465
|
+
[self.parse_number('20000000'), self.parse_number('0.002')],
|
|
466
|
+
[self.parse_number('50000000'), self.parse_number('0.0001')],
|
|
467
|
+
[self.parse_number('100000000'), self.parse_number('0')],
|
|
468
|
+
[self.parse_number('250000000'), self.parse_number('0')],
|
|
469
|
+
[self.parse_number('1000000000'), self.parse_number('0')],
|
|
445
470
|
],
|
|
446
471
|
},
|
|
447
472
|
},
|
|
@@ -507,6 +532,7 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
507
532
|
"Bitstamp.net is under scheduled maintenance. We'll be back soon.": OnMaintenance, # {"error": "Bitstamp.net is under scheduled maintenance. We'll be back soon."}
|
|
508
533
|
'Order could not be placed.': ExchangeNotAvailable, # Order could not be placed(perhaps due to internal error or trade halt). Please retry placing order.
|
|
509
534
|
'Invalid offset.': BadRequest,
|
|
535
|
+
'Trading is currently unavailable for your account.': AccountSuspended, # {"status": "error", "reason": {"__all__": ["Trading is currently unavailable for your account."]}, "response_code": "403.004"}
|
|
510
536
|
},
|
|
511
537
|
'broad': {
|
|
512
538
|
'Minimum order size is': InvalidOrder, # Minimum order size is 5.0 EUR.
|
|
@@ -515,12 +541,75 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
515
541
|
'Ensure that there are no more than': InvalidOrder, # {"status": "error", "reason": {"amount": ["Ensure that there are no more than 0 decimal places."], "__all__": [""]}}
|
|
516
542
|
},
|
|
517
543
|
},
|
|
544
|
+
'features': {
|
|
545
|
+
'spot': {
|
|
546
|
+
'sandbox': False,
|
|
547
|
+
'createOrder': {
|
|
548
|
+
'marginMode': False,
|
|
549
|
+
'triggerPrice': False,
|
|
550
|
+
'triggerPriceType': None,
|
|
551
|
+
'triggerDirection': False,
|
|
552
|
+
'stopLossPrice': False,
|
|
553
|
+
'takeProfitPrice': False,
|
|
554
|
+
'attachedStopLossTakeProfit': None,
|
|
555
|
+
'timeInForce': {
|
|
556
|
+
'IOC': True,
|
|
557
|
+
'FOK': True,
|
|
558
|
+
'PO': True,
|
|
559
|
+
'GTD': True,
|
|
560
|
+
},
|
|
561
|
+
'hedged': False,
|
|
562
|
+
'trailing': False,
|
|
563
|
+
'leverage': False,
|
|
564
|
+
'marketBuyByCost': False,
|
|
565
|
+
'marketBuyRequiresPrice': False,
|
|
566
|
+
'selfTradePrevention': False,
|
|
567
|
+
'iceberg': False,
|
|
568
|
+
},
|
|
569
|
+
'createOrders': None,
|
|
570
|
+
'fetchMyTrades': {
|
|
571
|
+
'marginMode': False,
|
|
572
|
+
'limit': 1000,
|
|
573
|
+
'daysBack': None,
|
|
574
|
+
'untilDays': 30,
|
|
575
|
+
'symbolRequired': False,
|
|
576
|
+
},
|
|
577
|
+
'fetchOrder': {
|
|
578
|
+
'marginMode': False,
|
|
579
|
+
'trigger': False,
|
|
580
|
+
'trailing': False,
|
|
581
|
+
'symbolRequired': False,
|
|
582
|
+
},
|
|
583
|
+
'fetchOpenOrders': {
|
|
584
|
+
'marginMode': False,
|
|
585
|
+
'limit': None,
|
|
586
|
+
'trigger': False,
|
|
587
|
+
'trailing': False,
|
|
588
|
+
'symbolRequired': False,
|
|
589
|
+
},
|
|
590
|
+
'fetchOrders': None,
|
|
591
|
+
'fetchClosedOrders': None,
|
|
592
|
+
'fetchOHLCV': {
|
|
593
|
+
'limit': 1000,
|
|
594
|
+
},
|
|
595
|
+
},
|
|
596
|
+
'swap': {
|
|
597
|
+
'linear': None,
|
|
598
|
+
'inverse': None,
|
|
599
|
+
},
|
|
600
|
+
'future': {
|
|
601
|
+
'linear': None,
|
|
602
|
+
'inverse': None,
|
|
603
|
+
},
|
|
604
|
+
},
|
|
518
605
|
})
|
|
519
606
|
|
|
520
607
|
async def fetch_markets(self, params={}) -> List[Market]:
|
|
521
608
|
"""
|
|
522
609
|
retrieves data on all markets for bitstamp
|
|
523
|
-
|
|
610
|
+
|
|
611
|
+
https://www.bitstamp.net/api/#tag/Market-info/operation/GetTradingPairsInfo
|
|
612
|
+
|
|
524
613
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
525
614
|
:returns dict[]: an array of objects representing market data
|
|
526
615
|
"""
|
|
@@ -659,7 +748,9 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
659
748
|
async def fetch_currencies(self, params={}) -> Currencies:
|
|
660
749
|
"""
|
|
661
750
|
fetches all available currencies on an exchange
|
|
662
|
-
|
|
751
|
+
|
|
752
|
+
https://www.bitstamp.net/api/#tag/Market-info/operation/GetTradingPairsInfo
|
|
753
|
+
|
|
663
754
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
664
755
|
:returns dict: an associative dictionary of currencies
|
|
665
756
|
"""
|
|
@@ -703,7 +794,9 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
703
794
|
async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
|
704
795
|
"""
|
|
705
796
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
|
706
|
-
|
|
797
|
+
|
|
798
|
+
https://www.bitstamp.net/api/#tag/Order-book/operation/GetOrderBook
|
|
799
|
+
|
|
707
800
|
:param str symbol: unified symbol of the market to fetch the order book for
|
|
708
801
|
:param int [limit]: the maximum amount of order book entries to return
|
|
709
802
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -787,7 +880,9 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
787
880
|
async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
|
788
881
|
"""
|
|
789
882
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
790
|
-
|
|
883
|
+
|
|
884
|
+
https://www.bitstamp.net/api/#tag/Tickers/operation/GetMarketTicker
|
|
885
|
+
|
|
791
886
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
|
792
887
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
793
888
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -818,7 +913,9 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
818
913
|
async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
|
819
914
|
"""
|
|
820
915
|
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
821
|
-
|
|
916
|
+
|
|
917
|
+
https://www.bitstamp.net/api/#tag/Tickers/operation/GetCurrencyPairTickers
|
|
918
|
+
|
|
822
919
|
:param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
823
920
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
824
921
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -1021,7 +1118,9 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1021
1118
|
async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
|
1022
1119
|
"""
|
|
1023
1120
|
get the list of most recent trades for a particular symbol
|
|
1024
|
-
|
|
1121
|
+
|
|
1122
|
+
https://www.bitstamp.net/api/#tag/Transactions-public/operation/GetTransactions
|
|
1123
|
+
|
|
1025
1124
|
:param str symbol: unified symbol of the market to fetch trades for
|
|
1026
1125
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
|
1027
1126
|
:param int [limit]: the maximum amount of trades to fetch
|
|
@@ -1078,7 +1177,9 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1078
1177
|
async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
|
1079
1178
|
"""
|
|
1080
1179
|
fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
|
1081
|
-
|
|
1180
|
+
|
|
1181
|
+
https://www.bitstamp.net/api/#tag/Market-info/operation/GetOHLCData
|
|
1182
|
+
|
|
1082
1183
|
:param str symbol: unified symbol of the market to fetch OHLCV data for
|
|
1083
1184
|
:param str timeframe: the length of time each candle represents
|
|
1084
1185
|
:param int [since]: timestamp in ms of the earliest candle to fetch
|
|
@@ -1147,7 +1248,9 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1147
1248
|
async def fetch_balance(self, params={}) -> Balances:
|
|
1148
1249
|
"""
|
|
1149
1250
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
|
1150
|
-
|
|
1251
|
+
|
|
1252
|
+
https://www.bitstamp.net/api/#tag/Account-balances/operation/GetAccountBalances
|
|
1253
|
+
|
|
1151
1254
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1152
1255
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
|
1153
1256
|
"""
|
|
@@ -1169,7 +1272,9 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1169
1272
|
async def fetch_trading_fee(self, symbol: str, params={}) -> TradingFeeInterface:
|
|
1170
1273
|
"""
|
|
1171
1274
|
fetch the trading fees for a market
|
|
1172
|
-
|
|
1275
|
+
|
|
1276
|
+
https://www.bitstamp.net/api/#tag/Fees/operation/GetTradingFeesForCurrency
|
|
1277
|
+
|
|
1173
1278
|
:param str symbol: unified market symbol
|
|
1174
1279
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1175
1280
|
:returns dict: a `fee structure <https://docs.ccxt.com/#/?id=fee-structure>`
|
|
@@ -1212,17 +1317,18 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1212
1317
|
|
|
1213
1318
|
def parse_trading_fees(self, fees):
|
|
1214
1319
|
result: dict = {'info': fees}
|
|
1215
|
-
|
|
1216
|
-
for i in range(0, len(symbols)):
|
|
1217
|
-
symbol = symbols[i]
|
|
1320
|
+
for i in range(0, len(fees)):
|
|
1218
1321
|
fee = self.parse_trading_fee(fees[i])
|
|
1322
|
+
symbol = fee['symbol']
|
|
1219
1323
|
result[symbol] = fee
|
|
1220
1324
|
return result
|
|
1221
1325
|
|
|
1222
1326
|
async def fetch_trading_fees(self, params={}) -> TradingFees:
|
|
1223
1327
|
"""
|
|
1224
1328
|
fetch the trading fees for multiple markets
|
|
1225
|
-
|
|
1329
|
+
|
|
1330
|
+
https://www.bitstamp.net/api/#tag/Fees/operation/GetAllTradingFees
|
|
1331
|
+
|
|
1226
1332
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1227
1333
|
:returns dict: a dictionary of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>` indexed by market symbols
|
|
1228
1334
|
"""
|
|
@@ -1246,9 +1352,11 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1246
1352
|
|
|
1247
1353
|
async def fetch_transaction_fees(self, codes: Strings = None, params={}):
|
|
1248
1354
|
"""
|
|
1249
|
-
|
|
1355
|
+
@deprecated
|
|
1250
1356
|
please use fetchDepositWithdrawFees instead
|
|
1251
|
-
|
|
1357
|
+
|
|
1358
|
+
https://www.bitstamp.net/api/#tag/Fees
|
|
1359
|
+
|
|
1252
1360
|
:param str[]|None codes: list of unified currency codes
|
|
1253
1361
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1254
1362
|
:returns dict[]: a list of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>`
|
|
@@ -1287,7 +1395,9 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1287
1395
|
async def fetch_deposit_withdraw_fees(self, codes=None, params={}):
|
|
1288
1396
|
"""
|
|
1289
1397
|
fetch deposit and withdraw fees
|
|
1290
|
-
|
|
1398
|
+
|
|
1399
|
+
https://www.bitstamp.net/api/#tag/Fees/operation/GetAllWithdrawalFees
|
|
1400
|
+
|
|
1291
1401
|
:param str[]|None codes: list of unified currency codes
|
|
1292
1402
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1293
1403
|
:returns dict[]: a list of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>`
|
|
@@ -1333,17 +1443,19 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1333
1443
|
async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
|
1334
1444
|
"""
|
|
1335
1445
|
create a trade order
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1446
|
+
|
|
1447
|
+
https://www.bitstamp.net/api/#tag/Orders/operation/OpenInstantBuyOrder
|
|
1448
|
+
https://www.bitstamp.net/api/#tag/Orders/operation/OpenMarketBuyOrder
|
|
1449
|
+
https://www.bitstamp.net/api/#tag/Orders/operation/OpenLimitBuyOrder
|
|
1450
|
+
https://www.bitstamp.net/api/#tag/Orders/operation/OpenInstantSellOrder
|
|
1451
|
+
https://www.bitstamp.net/api/#tag/Orders/operation/OpenMarketSellOrder
|
|
1452
|
+
https://www.bitstamp.net/api/#tag/Orders/operation/OpenLimitSellOrder
|
|
1453
|
+
|
|
1342
1454
|
:param str symbol: unified symbol of the market to create an order in
|
|
1343
1455
|
:param str type: 'market' or 'limit'
|
|
1344
1456
|
:param str side: 'buy' or 'sell'
|
|
1345
1457
|
:param float amount: how much of currency you want to trade in units of base currency
|
|
1346
|
-
:param float [price]: the price at which the order is to be
|
|
1458
|
+
:param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
|
|
1347
1459
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1348
1460
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
1349
1461
|
"""
|
|
@@ -1382,7 +1494,9 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1382
1494
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
|
1383
1495
|
"""
|
|
1384
1496
|
cancels an open order
|
|
1385
|
-
|
|
1497
|
+
|
|
1498
|
+
https://www.bitstamp.net/api/#tag/Orders/operation/CancelOrder
|
|
1499
|
+
|
|
1386
1500
|
:param str id: order id
|
|
1387
1501
|
:param str symbol: unified symbol of the market the order was made in
|
|
1388
1502
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -1407,8 +1521,10 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1407
1521
|
async def cancel_all_orders(self, symbol: Str = None, params={}):
|
|
1408
1522
|
"""
|
|
1409
1523
|
cancel all open orders
|
|
1410
|
-
|
|
1411
|
-
|
|
1524
|
+
|
|
1525
|
+
https://www.bitstamp.net/api/#tag/Orders/operation/CancelAllOrders
|
|
1526
|
+
https://www.bitstamp.net/api/#tag/Orders/operation/CancelOrdersForMarket
|
|
1527
|
+
|
|
1412
1528
|
:param str symbol: unified market symbol, only orders in the market of self symbol are cancelled when symbol is not None
|
|
1413
1529
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1414
1530
|
:returns dict[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
|
@@ -1465,7 +1581,10 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1465
1581
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
|
1466
1582
|
"""
|
|
1467
1583
|
fetches information on an order made by the user
|
|
1468
|
-
|
|
1584
|
+
|
|
1585
|
+
https://www.bitstamp.net/api/#tag/Orders/operation/GetOrderStatus
|
|
1586
|
+
|
|
1587
|
+
:param str id: the order id
|
|
1469
1588
|
:param str symbol: unified symbol of the market the order was made in
|
|
1470
1589
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1471
1590
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
@@ -1505,8 +1624,10 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1505
1624
|
async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
|
1506
1625
|
"""
|
|
1507
1626
|
fetch all trades made by the user
|
|
1508
|
-
|
|
1509
|
-
|
|
1627
|
+
|
|
1628
|
+
https://www.bitstamp.net/api/#tag/Transactions-private/operation/GetUserTransactions
|
|
1629
|
+
https://www.bitstamp.net/api/#tag/Transactions-private/operation/GetUserTransactionsForMarket
|
|
1630
|
+
|
|
1510
1631
|
:param str symbol: unified market symbol
|
|
1511
1632
|
:param int [since]: the earliest time in ms to fetch trades for
|
|
1512
1633
|
:param int [limit]: the maximum number of trades structures to retrieve
|
|
@@ -1530,7 +1651,9 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1530
1651
|
async def fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
|
1531
1652
|
"""
|
|
1532
1653
|
fetch history of deposits and withdrawals
|
|
1533
|
-
|
|
1654
|
+
|
|
1655
|
+
https://www.bitstamp.net/api/#tag/Transactions-private/operation/GetUserTransactions
|
|
1656
|
+
|
|
1534
1657
|
:param str [code]: unified currency code for the currency of the deposit/withdrawals, default is None
|
|
1535
1658
|
:param int [since]: timestamp in ms of the earliest deposit/withdrawal, default is None
|
|
1536
1659
|
:param int [limit]: max number of deposit/withdrawals to return, default is None
|
|
@@ -1577,7 +1700,9 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1577
1700
|
async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
|
1578
1701
|
"""
|
|
1579
1702
|
fetch all withdrawals made from an account
|
|
1580
|
-
|
|
1703
|
+
|
|
1704
|
+
https://www.bitstamp.net/api/#tag/Withdrawals/operation/GetWithdrawalRequests
|
|
1705
|
+
|
|
1581
1706
|
:param str code: unified currency code
|
|
1582
1707
|
:param int [since]: the earliest time in ms to fetch withdrawals for
|
|
1583
1708
|
:param int [limit]: the maximum number of withdrawals structures to retrieve
|
|
@@ -1821,7 +1946,6 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1821
1946
|
'postOnly': None,
|
|
1822
1947
|
'side': side,
|
|
1823
1948
|
'price': price,
|
|
1824
|
-
'stopPrice': None,
|
|
1825
1949
|
'triggerPrice': None,
|
|
1826
1950
|
'cost': None,
|
|
1827
1951
|
'amount': amount,
|
|
@@ -1842,7 +1966,7 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1842
1966
|
}
|
|
1843
1967
|
return self.safe_string(types, type, type)
|
|
1844
1968
|
|
|
1845
|
-
def parse_ledger_entry(self, item: dict, currency: Currency = None):
|
|
1969
|
+
def parse_ledger_entry(self, item: dict, currency: Currency = None) -> LedgerEntry:
|
|
1846
1970
|
#
|
|
1847
1971
|
# [
|
|
1848
1972
|
# {
|
|
@@ -1883,9 +2007,9 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1883
2007
|
if market is None:
|
|
1884
2008
|
market = self.get_market_from_trade(item)
|
|
1885
2009
|
direction = 'in' if (parsedTrade['side'] == 'buy') else 'out'
|
|
1886
|
-
return {
|
|
1887
|
-
'id': parsedTrade['id'],
|
|
2010
|
+
return self.safe_ledger_entry({
|
|
1888
2011
|
'info': item,
|
|
2012
|
+
'id': parsedTrade['id'],
|
|
1889
2013
|
'timestamp': parsedTrade['timestamp'],
|
|
1890
2014
|
'datetime': parsedTrade['datetime'],
|
|
1891
2015
|
'direction': direction,
|
|
@@ -1899,7 +2023,7 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1899
2023
|
'after': None,
|
|
1900
2024
|
'status': 'ok',
|
|
1901
2025
|
'fee': parsedTrade['fee'],
|
|
1902
|
-
}
|
|
2026
|
+
}, currency)
|
|
1903
2027
|
else:
|
|
1904
2028
|
parsedTransaction = self.parse_transaction(item, currency)
|
|
1905
2029
|
direction = None
|
|
@@ -1911,9 +2035,9 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1911
2035
|
currency = self.currency(currencyCode)
|
|
1912
2036
|
amount = self.safe_string(item, currency['id'])
|
|
1913
2037
|
direction = 'in' if Precise.string_gt(amount, '0') else 'out'
|
|
1914
|
-
return {
|
|
1915
|
-
'id': parsedTransaction['id'],
|
|
2038
|
+
return self.safe_ledger_entry({
|
|
1916
2039
|
'info': item,
|
|
2040
|
+
'id': parsedTransaction['id'],
|
|
1917
2041
|
'timestamp': parsedTransaction['timestamp'],
|
|
1918
2042
|
'datetime': parsedTransaction['datetime'],
|
|
1919
2043
|
'direction': direction,
|
|
@@ -1927,17 +2051,19 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1927
2051
|
'after': None,
|
|
1928
2052
|
'status': parsedTransaction['status'],
|
|
1929
2053
|
'fee': parsedTransaction['fee'],
|
|
1930
|
-
}
|
|
2054
|
+
}, currency)
|
|
1931
2055
|
|
|
1932
|
-
async def fetch_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
|
2056
|
+
async def fetch_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[LedgerEntry]:
|
|
1933
2057
|
"""
|
|
1934
|
-
fetch the history of changes, actions done by the user or operations that altered balance of the user
|
|
1935
|
-
|
|
1936
|
-
|
|
2058
|
+
fetch the history of changes, actions done by the user or operations that altered the balance of the user
|
|
2059
|
+
|
|
2060
|
+
https://www.bitstamp.net/api/#tag/Transactions-private/operation/GetUserTransactions
|
|
2061
|
+
|
|
2062
|
+
:param str [code]: unified currency code, default is None
|
|
1937
2063
|
:param int [since]: timestamp in ms of the earliest ledger entry, default is None
|
|
1938
|
-
:param int [limit]: max number of ledger
|
|
2064
|
+
:param int [limit]: max number of ledger entries to return, default is None
|
|
1939
2065
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1940
|
-
:returns dict: a `ledger structure <https://docs.ccxt.com/#/?id=ledger
|
|
2066
|
+
:returns dict: a `ledger structure <https://docs.ccxt.com/#/?id=ledger>`
|
|
1941
2067
|
"""
|
|
1942
2068
|
await self.load_markets()
|
|
1943
2069
|
request: dict = {}
|
|
@@ -1952,8 +2078,10 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1952
2078
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
1953
2079
|
"""
|
|
1954
2080
|
fetch all unfilled currently open orders
|
|
1955
|
-
|
|
1956
|
-
|
|
2081
|
+
|
|
2082
|
+
https://www.bitstamp.net/api/#tag/Orders/operation/GetAllOpenOrders
|
|
2083
|
+
https://www.bitstamp.net/api/#tag/Orders/operation/GetOpenOrdersForMarket
|
|
2084
|
+
|
|
1957
2085
|
:param str symbol: unified market symbol
|
|
1958
2086
|
:param int [since]: the earliest time in ms to fetch open orders for
|
|
1959
2087
|
:param int [limit]: the maximum number of open orders structures to retrieve
|
|
@@ -1985,7 +2113,7 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1985
2113
|
|
|
1986
2114
|
def get_currency_name(self, code):
|
|
1987
2115
|
"""
|
|
1988
|
-
|
|
2116
|
+
@ignore
|
|
1989
2117
|
:param str code: Unified currency code
|
|
1990
2118
|
:returns str: lowercase version of code
|
|
1991
2119
|
"""
|
|
@@ -1994,10 +2122,12 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
1994
2122
|
def is_fiat(self, code):
|
|
1995
2123
|
return code == 'USD' or code == 'EUR' or code == 'GBP'
|
|
1996
2124
|
|
|
1997
|
-
async def fetch_deposit_address(self, code: str, params={}):
|
|
2125
|
+
async def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
|
|
1998
2126
|
"""
|
|
1999
2127
|
fetch the deposit address for a currency associated with self account
|
|
2000
|
-
|
|
2128
|
+
|
|
2129
|
+
https://www.bitstamp.net/api/#tag/Deposits/operation/GetCryptoDepositAddress
|
|
2130
|
+
|
|
2001
2131
|
:param str code: unified currency code
|
|
2002
2132
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
2003
2133
|
:returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
|
|
@@ -2011,18 +2141,20 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
2011
2141
|
tag = self.safe_string_2(response, 'memo_id', 'destination_tag')
|
|
2012
2142
|
self.check_address(address)
|
|
2013
2143
|
return {
|
|
2144
|
+
'info': response,
|
|
2014
2145
|
'currency': code,
|
|
2146
|
+
'network': None,
|
|
2015
2147
|
'address': address,
|
|
2016
2148
|
'tag': tag,
|
|
2017
|
-
'network': None,
|
|
2018
|
-
'info': response,
|
|
2019
2149
|
}
|
|
2020
2150
|
|
|
2021
|
-
async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
|
|
2151
|
+
async def withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={}) -> Transaction:
|
|
2022
2152
|
"""
|
|
2023
2153
|
make a withdrawal
|
|
2024
|
-
|
|
2025
|
-
|
|
2154
|
+
|
|
2155
|
+
https://www.bitstamp.net/api/#tag/Withdrawals/operation/RequestFiatWithdrawal
|
|
2156
|
+
https://www.bitstamp.net/api/#tag/Withdrawals/operation/RequestCryptoWithdrawal
|
|
2157
|
+
|
|
2026
2158
|
:param str code: unified currency code
|
|
2027
2159
|
:param float amount: the amount to withdraw
|
|
2028
2160
|
:param str address: the address to withdraw to
|
|
@@ -2061,8 +2193,10 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
|
2061
2193
|
async def transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={}) -> TransferEntry:
|
|
2062
2194
|
"""
|
|
2063
2195
|
transfer currency internally between wallets on the same account
|
|
2064
|
-
|
|
2065
|
-
|
|
2196
|
+
|
|
2197
|
+
https://www.bitstamp.net/api/#tag/Sub-account/operation/TransferFromMainToSub
|
|
2198
|
+
https://www.bitstamp.net/api/#tag/Sub-account/operation/TransferFromSubToMain
|
|
2199
|
+
|
|
2066
2200
|
:param str code: unified currency code
|
|
2067
2201
|
:param float amount: amount to transfer
|
|
2068
2202
|
:param str fromAccount: account to transfer from
|