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/bithumb.py
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
from ccxt.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.bithumb import ImplicitAPI
|
|
8
8
|
import hashlib
|
|
9
|
-
from ccxt.base.types import Balances, Currency, Int, Market,
|
|
9
|
+
from ccxt.base.types import Any, Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, MarketInterface
|
|
10
10
|
from typing import List
|
|
11
11
|
from ccxt.base.errors import ExchangeError
|
|
12
12
|
from ccxt.base.errors import AuthenticationError
|
|
@@ -24,7 +24,7 @@ from ccxt.base.precise import Precise
|
|
|
24
24
|
|
|
25
25
|
class bithumb(Exchange, ImplicitAPI):
|
|
26
26
|
|
|
27
|
-
def describe(self):
|
|
27
|
+
def describe(self) -> Any:
|
|
28
28
|
return self.deep_extend(super(bithumb, self).describe(), {
|
|
29
29
|
'id': 'bithumb',
|
|
30
30
|
'name': 'Bithumb',
|
|
@@ -39,30 +39,59 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
39
39
|
'future': False,
|
|
40
40
|
'option': False,
|
|
41
41
|
'addMargin': False,
|
|
42
|
+
'borrowCrossMargin': False,
|
|
43
|
+
'borrowIsolatedMargin': False,
|
|
44
|
+
'borrowMargin': False,
|
|
42
45
|
'cancelOrder': True,
|
|
43
46
|
'closeAllPositions': False,
|
|
44
47
|
'closePosition': False,
|
|
45
48
|
'createMarketOrder': True,
|
|
46
49
|
'createOrder': True,
|
|
50
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
|
51
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
|
47
52
|
'createReduceOnlyOrder': 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
|
'fetchFundingHistory': False,
|
|
63
|
+
'fetchFundingInterval': False,
|
|
64
|
+
'fetchFundingIntervals': False,
|
|
54
65
|
'fetchFundingRate': False,
|
|
55
66
|
'fetchFundingRateHistory': False,
|
|
56
67
|
'fetchFundingRates': False,
|
|
68
|
+
'fetchGreeks': False,
|
|
57
69
|
'fetchIndexOHLCV': False,
|
|
58
70
|
'fetchIsolatedBorrowRate': False,
|
|
59
71
|
'fetchIsolatedBorrowRates': False,
|
|
72
|
+
'fetchIsolatedPositions': False,
|
|
60
73
|
'fetchLeverage': False,
|
|
74
|
+
'fetchLeverages': False,
|
|
75
|
+
'fetchLeverageTiers': False,
|
|
76
|
+
'fetchLiquidations': False,
|
|
77
|
+
'fetchLongShortRatio': False,
|
|
78
|
+
'fetchLongShortRatioHistory': False,
|
|
79
|
+
'fetchMarginAdjustmentHistory': False,
|
|
80
|
+
'fetchMarginMode': False,
|
|
81
|
+
'fetchMarginModes': False,
|
|
82
|
+
'fetchMarketLeverageTiers': False,
|
|
61
83
|
'fetchMarkets': True,
|
|
62
84
|
'fetchMarkOHLCV': False,
|
|
85
|
+
'fetchMarkPrices': False,
|
|
86
|
+
'fetchMyLiquidations': False,
|
|
87
|
+
'fetchMySettlementHistory': False,
|
|
63
88
|
'fetchOHLCV': True,
|
|
89
|
+
'fetchOpenInterest': False,
|
|
64
90
|
'fetchOpenInterestHistory': False,
|
|
91
|
+
'fetchOpenInterests': False,
|
|
65
92
|
'fetchOpenOrders': True,
|
|
93
|
+
'fetchOption': False,
|
|
94
|
+
'fetchOptionChain': False,
|
|
66
95
|
'fetchOrder': True,
|
|
67
96
|
'fetchOrderBook': True,
|
|
68
97
|
'fetchPosition': False,
|
|
@@ -73,13 +102,18 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
73
102
|
'fetchPositionsHistory': False,
|
|
74
103
|
'fetchPositionsRisk': False,
|
|
75
104
|
'fetchPremiumIndexOHLCV': False,
|
|
105
|
+
'fetchSettlementHistory': False,
|
|
76
106
|
'fetchTicker': True,
|
|
77
107
|
'fetchTickers': True,
|
|
78
108
|
'fetchTrades': True,
|
|
79
109
|
'fetchTransfer': False,
|
|
80
110
|
'fetchTransfers': False,
|
|
111
|
+
'fetchVolatilityHistory': False,
|
|
81
112
|
'reduceMargin': False,
|
|
113
|
+
'repayCrossMargin': False,
|
|
114
|
+
'repayIsolatedMargin': False,
|
|
82
115
|
'setLeverage': False,
|
|
116
|
+
'setMargin': False,
|
|
83
117
|
'setMarginMode': False,
|
|
84
118
|
'setPositionMode': False,
|
|
85
119
|
'transfer': False,
|
|
@@ -87,7 +121,7 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
87
121
|
},
|
|
88
122
|
'hostname': 'bithumb.com',
|
|
89
123
|
'urls': {
|
|
90
|
-
'logo': 'https://
|
|
124
|
+
'logo': 'https://github.com/user-attachments/assets/c9e0eefb-4777-46b9-8f09-9d7f7c4af82d',
|
|
91
125
|
'api': {
|
|
92
126
|
'public': 'https://api.{hostname}/public',
|
|
93
127
|
'private': 'https://api.{hostname}',
|
|
@@ -141,6 +175,62 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
141
175
|
},
|
|
142
176
|
},
|
|
143
177
|
'precisionMode': SIGNIFICANT_DIGITS,
|
|
178
|
+
# todo: update to v2 apis
|
|
179
|
+
'features': {
|
|
180
|
+
'spot': {
|
|
181
|
+
'sandbox': False,
|
|
182
|
+
'createOrder': {
|
|
183
|
+
'marginMode': False,
|
|
184
|
+
'triggerPrice': False,
|
|
185
|
+
'triggerPriceType': None,
|
|
186
|
+
'triggerDirection': False,
|
|
187
|
+
'stopLossPrice': False,
|
|
188
|
+
'takeProfitPrice': False,
|
|
189
|
+
'attachedStopLossTakeProfit': None,
|
|
190
|
+
'timeInForce': {
|
|
191
|
+
'IOC': False,
|
|
192
|
+
'FOK': False,
|
|
193
|
+
'PO': False,
|
|
194
|
+
'GTD': False,
|
|
195
|
+
},
|
|
196
|
+
'hedged': False,
|
|
197
|
+
'trailing': False,
|
|
198
|
+
'leverage': False,
|
|
199
|
+
'marketBuyRequiresPrice': False,
|
|
200
|
+
'marketBuyByCost': False,
|
|
201
|
+
'selfTradePrevention': False,
|
|
202
|
+
'iceberg': False,
|
|
203
|
+
},
|
|
204
|
+
'createOrders': None,
|
|
205
|
+
'fetchMyTrades': None,
|
|
206
|
+
'fetchOrder': {
|
|
207
|
+
'marginMode': False,
|
|
208
|
+
'trigger': False,
|
|
209
|
+
'trailing': False,
|
|
210
|
+
'symbolRequired': True,
|
|
211
|
+
},
|
|
212
|
+
'fetchOpenOrders': {
|
|
213
|
+
'marginMode': False,
|
|
214
|
+
'limit': 1000,
|
|
215
|
+
'trigger': False,
|
|
216
|
+
'trailing': False,
|
|
217
|
+
'symbolRequired': True,
|
|
218
|
+
},
|
|
219
|
+
'fetchOrders': None,
|
|
220
|
+
'fetchClosedOrders': None,
|
|
221
|
+
'fetchOHLCV': {
|
|
222
|
+
'limit': 1000,
|
|
223
|
+
},
|
|
224
|
+
},
|
|
225
|
+
'swap': {
|
|
226
|
+
'linear': None,
|
|
227
|
+
'inverse': None,
|
|
228
|
+
},
|
|
229
|
+
'future': {
|
|
230
|
+
'linear': None,
|
|
231
|
+
'inverse': None,
|
|
232
|
+
},
|
|
233
|
+
},
|
|
144
234
|
'exceptions': {
|
|
145
235
|
'Bad Request(SSL)': BadRequest,
|
|
146
236
|
'Bad Request(Bad Method)': BadRequest,
|
|
@@ -207,22 +297,63 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
207
297
|
def fetch_markets(self, params={}) -> List[Market]:
|
|
208
298
|
"""
|
|
209
299
|
retrieves data on all markets for bithumb
|
|
210
|
-
|
|
300
|
+
|
|
301
|
+
https://apidocs.bithumb.com/v1.2.0/reference/%ED%98%84%EC%9E%AC%EA%B0%80-%EC%A0%95%EB%B3%B4-%EC%A1%B0%ED%9A%8C-all
|
|
302
|
+
|
|
211
303
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
212
304
|
:returns dict[]: an array of objects representing market data
|
|
213
305
|
"""
|
|
214
306
|
result = []
|
|
215
|
-
quoteCurrencies = self.
|
|
307
|
+
quoteCurrencies = self.safe_dict(self.options, 'quoteCurrencies', {})
|
|
216
308
|
quotes = list(quoteCurrencies.keys())
|
|
309
|
+
promises = []
|
|
310
|
+
for i in range(0, len(quotes)):
|
|
311
|
+
request = {
|
|
312
|
+
'quoteId': quotes[i],
|
|
313
|
+
}
|
|
314
|
+
promises.append(self.publicGetTickerALLQuoteId(self.extend(request, params)))
|
|
315
|
+
#
|
|
316
|
+
# {
|
|
317
|
+
# "status": "0000",
|
|
318
|
+
# "data": {
|
|
319
|
+
# "ETH": {
|
|
320
|
+
# "opening_price": "0.05153399",
|
|
321
|
+
# "closing_price": "0.05145144",
|
|
322
|
+
# "min_price": "0.05145144",
|
|
323
|
+
# "max_price": "0.05160781",
|
|
324
|
+
# "units_traded": "6.541124172077830855",
|
|
325
|
+
# "acc_trade_value": "0.33705472498492329997697755",
|
|
326
|
+
# "prev_closing_price": "0.0515943",
|
|
327
|
+
# "units_traded_24H": "43.368879902677400513",
|
|
328
|
+
# "acc_trade_value_24H": "2.24165339555398079994373342",
|
|
329
|
+
# "fluctate_24H": "-0.00018203",
|
|
330
|
+
# "fluctate_rate_24H": "-0.35"
|
|
331
|
+
# },
|
|
332
|
+
# "XRP": {
|
|
333
|
+
# "opening_price": "0.00000918",
|
|
334
|
+
# "closing_price": "0.0000092",
|
|
335
|
+
# "min_price": "0.00000918",
|
|
336
|
+
# "max_price": "0.0000092",
|
|
337
|
+
# "units_traded": "6516.949363",
|
|
338
|
+
# "acc_trade_value": "0.0598792533602796",
|
|
339
|
+
# "prev_closing_price": "0.00000916",
|
|
340
|
+
# "units_traded_24H": "229161.50354738",
|
|
341
|
+
# "acc_trade_value_24H": "2.0446589371637117",
|
|
342
|
+
# "fluctate_24H": "0.00000049",
|
|
343
|
+
# "fluctate_rate_24H": "5.63"
|
|
344
|
+
# },
|
|
345
|
+
# ...
|
|
346
|
+
# "date": "1721675913145"
|
|
347
|
+
# }
|
|
348
|
+
# }
|
|
349
|
+
#
|
|
350
|
+
results = promises
|
|
217
351
|
for i in range(0, len(quotes)):
|
|
218
352
|
quote = quotes[i]
|
|
219
353
|
quoteId = quote
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
}
|
|
224
|
-
response = self.publicGetTickerALLQuoteId(self.extend(request, params))
|
|
225
|
-
data = self.safe_value(response, 'data')
|
|
354
|
+
response = results[i]
|
|
355
|
+
data = self.safe_dict(response, 'data')
|
|
356
|
+
extension = self.safe_dict(quoteCurrencies, quote, {})
|
|
226
357
|
currencyIds = list(data.keys())
|
|
227
358
|
for j in range(0, len(currencyIds)):
|
|
228
359
|
currencyId = currencyIds[j]
|
|
@@ -286,7 +417,7 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
286
417
|
|
|
287
418
|
def parse_balance(self, response) -> Balances:
|
|
288
419
|
result: dict = {'info': response}
|
|
289
|
-
balances = self.
|
|
420
|
+
balances = self.safe_dict(response, 'data')
|
|
290
421
|
codes = list(self.currencies.keys())
|
|
291
422
|
for i in range(0, len(codes)):
|
|
292
423
|
code = codes[i]
|
|
@@ -302,7 +433,9 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
302
433
|
def fetch_balance(self, params={}) -> Balances:
|
|
303
434
|
"""
|
|
304
435
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
|
305
|
-
|
|
436
|
+
|
|
437
|
+
https://apidocs.bithumb.com/v1.2.0/reference/%EB%B3%B4%EC%9C%A0%EC%9E%90%EC%82%B0-%EC%A1%B0%ED%9A%8C
|
|
438
|
+
|
|
306
439
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
307
440
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
|
308
441
|
"""
|
|
@@ -316,7 +449,9 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
316
449
|
def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
|
317
450
|
"""
|
|
318
451
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
|
319
|
-
|
|
452
|
+
|
|
453
|
+
https://apidocs.bithumb.com/v1.2.0/reference/%ED%98%B8%EA%B0%80-%EC%A0%95%EB%B3%B4-%EC%A1%B0%ED%9A%8C
|
|
454
|
+
|
|
320
455
|
:param str symbol: unified symbol of the market to fetch the order book for
|
|
321
456
|
:param int [limit]: the maximum amount of order book entries to return
|
|
322
457
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -351,7 +486,7 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
351
486
|
# }
|
|
352
487
|
# }
|
|
353
488
|
#
|
|
354
|
-
data = self.
|
|
489
|
+
data = self.safe_dict(response, 'data', {})
|
|
355
490
|
timestamp = self.safe_integer(data, 'timestamp')
|
|
356
491
|
return self.parse_order_book(data, symbol, timestamp, 'bids', 'asks', 'price', 'quantity')
|
|
357
492
|
|
|
@@ -406,22 +541,27 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
406
541
|
def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
|
407
542
|
"""
|
|
408
543
|
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
409
|
-
|
|
544
|
+
|
|
545
|
+
https://apidocs.bithumb.com/v1.2.0/reference/%ED%98%84%EC%9E%AC%EA%B0%80-%EC%A0%95%EB%B3%B4-%EC%A1%B0%ED%9A%8C-all
|
|
546
|
+
|
|
410
547
|
:param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
411
548
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
412
549
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
413
550
|
"""
|
|
414
551
|
self.load_markets()
|
|
415
552
|
result: dict = {}
|
|
416
|
-
quoteCurrencies = self.
|
|
553
|
+
quoteCurrencies = self.safe_dict(self.options, 'quoteCurrencies', {})
|
|
417
554
|
quotes = list(quoteCurrencies.keys())
|
|
555
|
+
promises = []
|
|
418
556
|
for i in range(0, len(quotes)):
|
|
419
|
-
quote = quotes[i]
|
|
420
|
-
quoteId = quote
|
|
421
557
|
request: dict = {
|
|
422
|
-
'quoteId':
|
|
558
|
+
'quoteId': quotes[i],
|
|
423
559
|
}
|
|
424
|
-
|
|
560
|
+
promises.append(self.publicGetTickerALLQuoteId(self.extend(request, params)))
|
|
561
|
+
responses = promises
|
|
562
|
+
for i in range(0, len(quotes)):
|
|
563
|
+
quote = quotes[i]
|
|
564
|
+
response = responses[i]
|
|
425
565
|
#
|
|
426
566
|
# {
|
|
427
567
|
# "status":"0000",
|
|
@@ -443,7 +583,7 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
443
583
|
# }
|
|
444
584
|
# }
|
|
445
585
|
#
|
|
446
|
-
data = self.
|
|
586
|
+
data = self.safe_dict(response, 'data', {})
|
|
447
587
|
timestamp = self.safe_integer(data, 'date')
|
|
448
588
|
tickers = self.omit(data, 'date')
|
|
449
589
|
currencyIds = list(tickers.keys())
|
|
@@ -460,7 +600,9 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
460
600
|
def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
|
461
601
|
"""
|
|
462
602
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
463
|
-
|
|
603
|
+
|
|
604
|
+
https://apidocs.bithumb.com/v1.2.0/reference/%ED%98%84%EC%9E%AC%EA%B0%80-%EC%A0%95%EB%B3%B4-%EC%A1%B0%ED%9A%8C
|
|
605
|
+
|
|
464
606
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
|
465
607
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
466
608
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -517,7 +659,9 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
517
659
|
def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
|
518
660
|
"""
|
|
519
661
|
fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
|
520
|
-
|
|
662
|
+
|
|
663
|
+
https://apidocs.bithumb.com/v1.2.0/reference/candlestick-rest-api
|
|
664
|
+
|
|
521
665
|
:param str symbol: unified symbol of the market to fetch OHLCV data for
|
|
522
666
|
:param str timeframe: the length of time each candle represents
|
|
523
667
|
:param int [since]: timestamp in ms of the earliest candle to fetch
|
|
@@ -634,7 +778,9 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
634
778
|
def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
|
635
779
|
"""
|
|
636
780
|
get the list of most recent trades for a particular symbol
|
|
637
|
-
|
|
781
|
+
|
|
782
|
+
https://apidocs.bithumb.com/v1.2.0/reference/%EC%B5%9C%EA%B7%BC-%EC%B2%B4%EA%B2%B0-%EB%82%B4%EC%97%AD
|
|
783
|
+
|
|
638
784
|
:param str symbol: unified symbol of the market to fetch trades for
|
|
639
785
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
|
640
786
|
:param int [limit]: the maximum amount of trades to fetch
|
|
@@ -670,14 +816,16 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
670
816
|
def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
|
671
817
|
"""
|
|
672
818
|
create a trade order
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
819
|
+
|
|
820
|
+
https://apidocs.bithumb.com/v1.2.0/reference/%EC%A7%80%EC%A0%95%EA%B0%80-%EC%A3%BC%EB%AC%B8%ED%95%98%EA%B8%B0
|
|
821
|
+
https://apidocs.bithumb.com/v1.2.0/reference/%EC%8B%9C%EC%9E%A5%EA%B0%80-%EB%A7%A4%EC%88%98%ED%95%98%EA%B8%B0
|
|
822
|
+
https://apidocs.bithumb.com/v1.2.0/reference/%EC%8B%9C%EC%9E%A5%EA%B0%80-%EB%A7%A4%EB%8F%84%ED%95%98%EA%B8%B0
|
|
823
|
+
|
|
676
824
|
:param str symbol: unified symbol of the market to create an order in
|
|
677
825
|
:param str type: 'market' or 'limit'
|
|
678
826
|
:param str side: 'buy' or 'sell'
|
|
679
827
|
:param float amount: how much of currency you want to trade in units of base currency
|
|
680
|
-
:param float [price]: the price at which the order is to be
|
|
828
|
+
:param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
|
|
681
829
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
682
830
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
683
831
|
"""
|
|
@@ -709,7 +857,10 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
709
857
|
def fetch_order(self, id: str, symbol: Str = None, params={}):
|
|
710
858
|
"""
|
|
711
859
|
fetches information on an order made by the user
|
|
712
|
-
|
|
860
|
+
|
|
861
|
+
https://apidocs.bithumb.com/v1.2.0/reference/%EA%B1%B0%EB%9E%98-%EC%A3%BC%EB%AC%B8%EB%82%B4%EC%97%AD-%EC%83%81%EC%84%B8-%EC%A1%B0%ED%9A%8C
|
|
862
|
+
|
|
863
|
+
:param str id: order id
|
|
713
864
|
:param str symbol: unified symbol of the market the order was made in
|
|
714
865
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
715
866
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
@@ -805,7 +956,7 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
805
956
|
# }
|
|
806
957
|
#
|
|
807
958
|
timestamp = self.safe_integer_product(order, 'order_date', 0.001)
|
|
808
|
-
sideProperty = self.
|
|
959
|
+
sideProperty = self.safe_string_2(order, 'type', 'side')
|
|
809
960
|
side = 'buy' if (sideProperty == 'bid') else 'sell'
|
|
810
961
|
status = self.parse_order_status(self.safe_string(order, 'order_status'))
|
|
811
962
|
price = self.safe_string_2(order, 'order_price', 'price')
|
|
@@ -830,7 +981,7 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
830
981
|
market = self.safe_market(None, market)
|
|
831
982
|
symbol = market['symbol']
|
|
832
983
|
id = self.safe_string(order, 'order_id')
|
|
833
|
-
rawTrades = self.
|
|
984
|
+
rawTrades = self.safe_list(order, 'contract', [])
|
|
834
985
|
return self.safe_order({
|
|
835
986
|
'info': order,
|
|
836
987
|
'id': id,
|
|
@@ -844,7 +995,6 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
844
995
|
'postOnly': None,
|
|
845
996
|
'side': side,
|
|
846
997
|
'price': price,
|
|
847
|
-
'stopPrice': None,
|
|
848
998
|
'triggerPrice': None,
|
|
849
999
|
'amount': amount,
|
|
850
1000
|
'cost': None,
|
|
@@ -859,7 +1009,9 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
859
1009
|
def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
860
1010
|
"""
|
|
861
1011
|
fetch all unfilled currently open orders
|
|
862
|
-
|
|
1012
|
+
|
|
1013
|
+
https://apidocs.bithumb.com/v1.2.0/reference/%EA%B1%B0%EB%9E%98-%EC%A3%BC%EB%AC%B8%EB%82%B4%EC%97%AD-%EC%A1%B0%ED%9A%8C
|
|
1014
|
+
|
|
863
1015
|
:param str symbol: unified market symbol
|
|
864
1016
|
:param int [since]: the earliest time in ms to fetch open orders for
|
|
865
1017
|
:param int [limit]: the maximum number of open order structures to retrieve
|
|
@@ -903,7 +1055,9 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
903
1055
|
def cancel_order(self, id: str, symbol: Str = None, params={}):
|
|
904
1056
|
"""
|
|
905
1057
|
cancels an open order
|
|
906
|
-
|
|
1058
|
+
|
|
1059
|
+
https://apidocs.bithumb.com/v1.2.0/reference/%EC%A3%BC%EB%AC%B8-%EC%B7%A8%EC%86%8C%ED%95%98%EA%B8%B0
|
|
1060
|
+
|
|
907
1061
|
:param str id: order id
|
|
908
1062
|
:param str symbol: unified symbol of the market the order was made in
|
|
909
1063
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -940,10 +1094,12 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
940
1094
|
}
|
|
941
1095
|
return self.cancel_order(order['id'], order['symbol'], self.extend(request, params))
|
|
942
1096
|
|
|
943
|
-
def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
|
|
1097
|
+
def withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={}) -> Transaction:
|
|
944
1098
|
"""
|
|
945
1099
|
make a withdrawal
|
|
946
|
-
|
|
1100
|
+
|
|
1101
|
+
https://apidocs.bithumb.com/v1.2.0/reference/%EC%BD%94%EC%9D%B8-%EC%B6%9C%EA%B8%88%ED%95%98%EA%B8%B0-%EA%B0%9C%EC%9D%B8
|
|
1102
|
+
|
|
947
1103
|
:param str code: unified currency code
|
|
948
1104
|
:param float amount: the amount to withdraw
|
|
949
1105
|
:param str address: the address to withdraw to
|
|
@@ -960,7 +1116,7 @@ class bithumb(Exchange, ImplicitAPI):
|
|
|
960
1116
|
'address': address,
|
|
961
1117
|
'currency': currency['id'],
|
|
962
1118
|
}
|
|
963
|
-
if code == 'XRP' or code == 'XMR' or code == 'EOS' or code == 'STEEM':
|
|
1119
|
+
if code == 'XRP' or code == 'XMR' or code == 'EOS' or code == 'STEEM' or code == 'TON':
|
|
964
1120
|
destination = self.safe_string(params, 'destination')
|
|
965
1121
|
if (tag is None) and (destination is None):
|
|
966
1122
|
raise ArgumentsRequired(self.id + ' ' + code + ' withdraw() requires a tag argument or an extra destination param')
|
ccxt/bitimen.py
CHANGED
|
@@ -5,17 +5,17 @@
|
|
|
5
5
|
|
|
6
6
|
from ccxt.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.bitimen import ImplicitAPI
|
|
8
|
-
from ccxt.base.types import Int, Market, OrderBook, Strings, Ticker, Tickers
|
|
8
|
+
from ccxt.base.types import Any, Int, Market, OrderBook, Strings, Ticker, Tickers
|
|
9
9
|
from typing import List
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class bitimen(Exchange, ImplicitAPI):
|
|
13
13
|
|
|
14
|
-
def describe(self):
|
|
14
|
+
def describe(self) -> Any:
|
|
15
15
|
return self.deep_extend(super(bitimen, self).describe(), {
|
|
16
16
|
'id': 'bitimen',
|
|
17
17
|
'name': 'Bitimen',
|
|
18
|
-
'
|
|
18
|
+
'countries': ['IR'],
|
|
19
19
|
'rateLimit': 1000,
|
|
20
20
|
'version': '1',
|
|
21
21
|
'certified': False,
|
|
@@ -120,10 +120,10 @@ class bitimen(Exchange, ImplicitAPI):
|
|
|
120
120
|
},
|
|
121
121
|
})
|
|
122
122
|
|
|
123
|
-
def fetch_markets(self,
|
|
123
|
+
def fetch_markets(self, params={}) -> List[Market]:
|
|
124
124
|
"""
|
|
125
125
|
retrieves data on all markets for bitimen
|
|
126
|
-
|
|
126
|
+
https://bitimen.com
|
|
127
127
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
128
128
|
:returns dict[]: an array of objects representing market data
|
|
129
129
|
"""
|
|
@@ -226,7 +226,7 @@ class bitimen(Exchange, ImplicitAPI):
|
|
|
226
226
|
def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
|
227
227
|
"""
|
|
228
228
|
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
229
|
-
|
|
229
|
+
https://bitimen.com
|
|
230
230
|
:param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
231
231
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
232
232
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -249,7 +249,7 @@ class bitimen(Exchange, ImplicitAPI):
|
|
|
249
249
|
def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
|
250
250
|
"""
|
|
251
251
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
252
|
-
|
|
252
|
+
https://bitimen.com
|
|
253
253
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
|
254
254
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
255
255
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -336,7 +336,7 @@ class bitimen(Exchange, ImplicitAPI):
|
|
|
336
336
|
def fetch_ohlcv(self, symbol: str, timeframe='1h', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
|
337
337
|
"""
|
|
338
338
|
fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
|
339
|
-
|
|
339
|
+
https://bitimen.com
|
|
340
340
|
:param str symbol: unified symbol of the market to fetch OHLCV data for
|
|
341
341
|
:param str timeframe: the length of time each candle represents
|
|
342
342
|
:param int [since]: timestamp in ms of the earliest candle to fetch
|
|
@@ -375,7 +375,7 @@ class bitimen(Exchange, ImplicitAPI):
|
|
|
375
375
|
def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
|
376
376
|
"""
|
|
377
377
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data for multiple markets
|
|
378
|
-
|
|
378
|
+
https://bitimen.com
|
|
379
379
|
:param str[]|None symbols: list of unified market symbols, all symbols fetched if None, default is None
|
|
380
380
|
:param int [limit]: max number of entries per orderbook to return, default is None
|
|
381
381
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|