ccxt-ir 4.3.46.0.3__py2.py3-none-any.whl → 4.5.1__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ccxt/__init__.py +39 -35
- ccxt/abantether.py +8 -8
- ccxt/abstract/alpaca.py +4 -0
- ccxt/abstract/apex.py +31 -0
- ccxt/abstract/bigone.py +1 -1
- ccxt/abstract/binance.py +106 -48
- ccxt/abstract/binancecoinm.py +106 -48
- ccxt/abstract/binanceus.py +141 -83
- ccxt/abstract/binanceusdm.py +106 -48
- ccxt/abstract/bingx.py +50 -1
- ccxt/abstract/bitbank.py +5 -0
- ccxt/abstract/bitfinex.py +136 -65
- ccxt/abstract/bitflyer.py +1 -0
- ccxt/abstract/bitget.py +67 -0
- ccxt/abstract/bitmart.py +19 -1
- ccxt/abstract/bitopro.py +1 -0
- ccxt/abstract/bitrue.py +68 -68
- ccxt/abstract/bitstamp.py +1 -0
- ccxt/abstract/blofin.py +30 -0
- ccxt/abstract/btcbox.py +2 -0
- ccxt/abstract/bybit.py +28 -13
- ccxt/abstract/cex.py +28 -29
- ccxt/abstract/coinbaseexchange.py +1 -0
- ccxt/abstract/coinbaseinternational.py +1 -1
- ccxt/abstract/cryptocom.py +16 -0
- ccxt/abstract/cryptomus.py +20 -0
- ccxt/abstract/defx.py +69 -0
- ccxt/abstract/deribit.py +1 -0
- ccxt/abstract/derive.py +117 -0
- ccxt/abstract/digifinex.py +1 -0
- ccxt/abstract/ellipx.py +25 -0
- ccxt/abstract/foxbit.py +26 -0
- ccxt/abstract/gate.py +19 -0
- ccxt/abstract/gateio.py +19 -0
- ccxt/abstract/gemini.py +1 -0
- ccxt/abstract/hibachi.py +26 -0
- ccxt/abstract/hyperliquid.py +1 -1
- ccxt/abstract/independentreserve.py +6 -0
- ccxt/abstract/kraken.py +1 -0
- ccxt/abstract/krakenfutures.py +4 -0
- ccxt/abstract/kucoin.py +10 -0
- ccxt/abstract/kucoinfutures.py +18 -0
- ccxt/abstract/lbank.py +2 -1
- ccxt/abstract/luno.py +1 -0
- ccxt/abstract/mexc.py +2 -0
- ccxt/abstract/modetrade.py +119 -0
- ccxt/abstract/myokx.py +349 -0
- ccxt/abstract/oceanex.py +5 -0
- ccxt/abstract/okx.py +25 -0
- ccxt/abstract/okxus.py +349 -0
- ccxt/abstract/onetrading.py +0 -12
- ccxt/abstract/paradex.py +23 -0
- ccxt/abstract/phemex.py +2 -0
- ccxt/abstract/poloniex.py +36 -0
- ccxt/abstract/tradeogre.py +3 -1
- ccxt/abstract/upbit.py +51 -34
- ccxt/abstract/whitebit.py +16 -0
- ccxt/abstract/woo.py +64 -6
- ccxt/abstract/xt.py +10 -5
- ccxt/afratether.py +8 -8
- ccxt/alpaca.py +828 -51
- ccxt/apex.py +1875 -0
- ccxt/arzinja.py +7 -7
- ccxt/arzplus.py +9 -9
- ccxt/ascendex.py +501 -306
- ccxt/async_support/__init__.py +39 -35
- ccxt/async_support/abantether.py +8 -8
- ccxt/async_support/afratether.py +10 -10
- 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 +32 -38
- 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 +32 -27
- 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 +34 -30
- ccxt/async_support/sarmayex.py +9 -9
- ccxt/async_support/sarrafex.py +13 -13
- ccxt/async_support/tabdeal.py +15 -14
- 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 +30 -36
- 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 +29 -24
- 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 +32 -28
- 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 +13 -12
- ccxt/test/tests_async.py +261 -57
- ccxt/test/tests_helpers.py +1 -3
- ccxt/test/tests_init.py +4 -3
- ccxt/test/tests_sync.py +261 -57
- ccxt/tetherland.py +7 -7
- ccxt/timex.py +210 -51
- ccxt/tokocrypto.py +167 -47
- ccxt/tradeogre.py +266 -31
- ccxt/twox.py +7 -7
- ccxt/ubitex.py +9 -9
- ccxt/upbit.py +568 -165
- ccxt/vertex.py +160 -32
- ccxt/wallex.py +9 -9
- ccxt/wavesexchange.py +165 -30
- ccxt/whitebit.py +975 -127
- ccxt/woo.py +1917 -1016
- ccxt/woofipro.py +432 -141
- ccxt/xt.py +649 -193
- ccxt/yobit.py +194 -70
- ccxt/zaif.py +91 -15
- ccxt/zonda.py +151 -36
- {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.1.dist-info}/METADATA +225 -73
- ccxt_ir-4.5.1.dist-info/RECORD +743 -0
- {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.1.dist-info}/WHEEL +1 -1
- ccxt/__test__.py +0 -7
- ccxt/abstract/ace.py +0 -15
- ccxt/abstract/bitbay.py +0 -53
- ccxt/abstract/bitcoincom.py +0 -115
- ccxt/abstract/bitfinex2.py +0 -139
- ccxt/abstract/bitpanda.py +0 -35
- ccxt/abstract/bl3p.py +0 -19
- ccxt/abstract/coinlist.py +0 -54
- ccxt/abstract/currencycom.py +0 -68
- ccxt/abstract/hitbtc3.py +0 -115
- ccxt/abstract/idex.py +0 -26
- ccxt/abstract/kuna.py +0 -182
- ccxt/abstract/lykke.py +0 -29
- ccxt/abstract/poloniexfutures.py +0 -48
- ccxt/abstract/wazirx.py +0 -30
- ccxt/ace.py +0 -1012
- ccxt/async_support/ace.py +0 -1012
- ccxt/async_support/base/ws/aiohttp_client.py +0 -125
- ccxt/async_support/base/ws/fast_client.py +0 -96
- ccxt/async_support/bitbay.py +0 -17
- ccxt/async_support/bitcoincom.py +0 -17
- ccxt/async_support/bitfinex2.py +0 -3552
- ccxt/async_support/bitpanda.py +0 -16
- ccxt/async_support/bl3p.py +0 -485
- ccxt/async_support/coinlist.py +0 -2243
- ccxt/async_support/currencycom.py +0 -1950
- ccxt/async_support/hitbtc3.py +0 -16
- ccxt/async_support/idex.py +0 -1766
- ccxt/async_support/kuna.py +0 -1841
- ccxt/async_support/lykke.py +0 -1270
- ccxt/async_support/poloniexfutures.py +0 -1717
- ccxt/async_support/wazirx.py +0 -1224
- ccxt/bitbay.py +0 -17
- ccxt/bitcoincom.py +0 -17
- ccxt/bitfinex2.py +0 -3552
- ccxt/bitpanda.py +0 -16
- ccxt/bl3p.py +0 -485
- ccxt/coinlist.py +0 -2243
- ccxt/currencycom.py +0 -1950
- ccxt/hitbtc3.py +0 -16
- ccxt/idex.py +0 -1766
- ccxt/kuna.py +0 -1841
- ccxt/lykke.py +0 -1270
- ccxt/poloniexfutures.py +0 -1717
- ccxt/pro/bitcoincom.py +0 -34
- ccxt/pro/bitfinex2.py +0 -1083
- ccxt/pro/bitpanda.py +0 -15
- ccxt/pro/currencycom.py +0 -536
- ccxt/pro/idex.py +0 -672
- ccxt/pro/poloniexfutures.py +0 -990
- ccxt/pro/wazirx.py +0 -749
- ccxt/test/base/__init__.py +0 -29
- ccxt/test/base/test_account.py +0 -26
- ccxt/test/base/test_balance.py +0 -56
- ccxt/test/base/test_borrow_interest.py +0 -35
- ccxt/test/base/test_borrow_rate.py +0 -32
- ccxt/test/base/test_calculate_fee.py +0 -51
- ccxt/test/base/test_crypto.py +0 -127
- ccxt/test/base/test_currency.py +0 -76
- ccxt/test/base/test_datetime.py +0 -109
- ccxt/test/base/test_decimal_to_precision.py +0 -392
- ccxt/test/base/test_deep_extend.py +0 -68
- ccxt/test/base/test_deposit_withdrawal.py +0 -50
- ccxt/test/base/test_exchange_datetime_functions.py +0 -76
- ccxt/test/base/test_funding_rate_history.py +0 -29
- ccxt/test/base/test_last_price.py +0 -31
- ccxt/test/base/test_ledger_entry.py +0 -45
- ccxt/test/base/test_ledger_item.py +0 -48
- ccxt/test/base/test_leverage_tier.py +0 -33
- ccxt/test/base/test_liquidation.py +0 -50
- ccxt/test/base/test_margin_mode.py +0 -24
- ccxt/test/base/test_margin_modification.py +0 -35
- ccxt/test/base/test_market.py +0 -193
- ccxt/test/base/test_number.py +0 -411
- ccxt/test/base/test_ohlcv.py +0 -33
- ccxt/test/base/test_open_interest.py +0 -32
- ccxt/test/base/test_order.py +0 -64
- ccxt/test/base/test_order_book.py +0 -69
- ccxt/test/base/test_position.py +0 -60
- ccxt/test/base/test_shared_methods.py +0 -353
- ccxt/test/base/test_status.py +0 -24
- ccxt/test/base/test_throttle.py +0 -126
- ccxt/test/base/test_ticker.py +0 -92
- ccxt/test/base/test_trade.py +0 -47
- ccxt/test/base/test_trading_fee.py +0 -26
- ccxt/test/base/test_transaction.py +0 -39
- ccxt/test/test_async.py +0 -1649
- ccxt/test/test_sync.py +0 -1648
- ccxt/wazirx.py +0 -1224
- ccxt_ir-4.3.46.0.3.dist-info/RECORD +0 -773
- /ccxt/abstract/{huobijp.py → bittrade.py} +0 -0
- {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.1.dist-info/licenses}/LICENSE.txt +0 -0
- {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.1.dist-info}/top_level.txt +0 -0
ccxt/coinone.py
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
from ccxt.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.coinone import ImplicitAPI
|
|
8
8
|
import hashlib
|
|
9
|
-
from ccxt.base.types import Balances, Currencies, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade
|
|
9
|
+
from ccxt.base.types import Any, Balances, Currencies, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade
|
|
10
10
|
from typing import List
|
|
11
11
|
from ccxt.base.errors import ExchangeError
|
|
12
12
|
from ccxt.base.errors import ArgumentsRequired
|
|
@@ -20,13 +20,12 @@ from ccxt.base.precise import Precise
|
|
|
20
20
|
|
|
21
21
|
class coinone(Exchange, ImplicitAPI):
|
|
22
22
|
|
|
23
|
-
def describe(self):
|
|
23
|
+
def describe(self) -> Any:
|
|
24
24
|
return self.deep_extend(super(coinone, self).describe(), {
|
|
25
25
|
'id': 'coinone',
|
|
26
26
|
'name': 'CoinOne',
|
|
27
27
|
'countries': ['KR'], # Korea
|
|
28
|
-
|
|
29
|
-
'rateLimit': 667,
|
|
28
|
+
'rateLimit': 50,
|
|
30
29
|
'version': 'v2',
|
|
31
30
|
'pro': False,
|
|
32
31
|
'has': {
|
|
@@ -37,38 +36,68 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
37
36
|
'future': False,
|
|
38
37
|
'option': False,
|
|
39
38
|
'addMargin': False,
|
|
39
|
+
'borrowCrossMargin': False,
|
|
40
|
+
'borrowIsolatedMargin': False,
|
|
41
|
+
'borrowMargin': False,
|
|
40
42
|
'cancelOrder': True,
|
|
41
43
|
'closeAllPositions': False,
|
|
42
44
|
'closePosition': False,
|
|
43
45
|
'createMarketOrder': False,
|
|
44
46
|
'createOrder': True,
|
|
47
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
|
48
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
|
49
|
+
'createPostOnlyOrder': False,
|
|
45
50
|
'createReduceOnlyOrder': False,
|
|
46
51
|
'createStopLimitOrder': False,
|
|
47
52
|
'createStopMarketOrder': False,
|
|
48
53
|
'createStopOrder': False,
|
|
49
54
|
'fetchBalance': True,
|
|
55
|
+
'fetchBorrowInterest': False,
|
|
56
|
+
'fetchBorrowRate': False,
|
|
50
57
|
'fetchBorrowRateHistories': False,
|
|
51
58
|
'fetchBorrowRateHistory': False,
|
|
59
|
+
'fetchBorrowRates': False,
|
|
60
|
+
'fetchBorrowRatesPerSymbol': False,
|
|
52
61
|
'fetchClosedOrders': False, # the endpoint that should return closed orders actually returns trades, https://github.com/ccxt/ccxt/pull/7067
|
|
53
62
|
'fetchCrossBorrowRate': False,
|
|
54
63
|
'fetchCrossBorrowRates': False,
|
|
55
64
|
'fetchCurrencies': True,
|
|
65
|
+
'fetchDepositAddress': False,
|
|
56
66
|
'fetchDepositAddresses': True,
|
|
67
|
+
'fetchDepositAddressesByNetwork': False,
|
|
57
68
|
'fetchFundingHistory': False,
|
|
69
|
+
'fetchFundingInterval': False,
|
|
70
|
+
'fetchFundingIntervals': False,
|
|
58
71
|
'fetchFundingRate': False,
|
|
59
72
|
'fetchFundingRateHistory': False,
|
|
60
73
|
'fetchFundingRates': False,
|
|
74
|
+
'fetchGreeks': False,
|
|
61
75
|
'fetchIndexOHLCV': False,
|
|
62
76
|
'fetchIsolatedBorrowRate': False,
|
|
63
77
|
'fetchIsolatedBorrowRates': False,
|
|
78
|
+
'fetchIsolatedPositions': False,
|
|
64
79
|
'fetchLeverage': False,
|
|
80
|
+
'fetchLeverages': False,
|
|
65
81
|
'fetchLeverageTiers': False,
|
|
82
|
+
'fetchLiquidations': False,
|
|
83
|
+
'fetchLongShortRatio': False,
|
|
84
|
+
'fetchLongShortRatioHistory': False,
|
|
85
|
+
'fetchMarginAdjustmentHistory': False,
|
|
66
86
|
'fetchMarginMode': False,
|
|
87
|
+
'fetchMarginModes': False,
|
|
88
|
+
'fetchMarketLeverageTiers': False,
|
|
67
89
|
'fetchMarkets': True,
|
|
68
90
|
'fetchMarkOHLCV': False,
|
|
91
|
+
'fetchMarkPrices': False,
|
|
92
|
+
'fetchMyLiquidations': False,
|
|
93
|
+
'fetchMySettlementHistory': False,
|
|
69
94
|
'fetchMyTrades': True,
|
|
95
|
+
'fetchOpenInterest': False,
|
|
70
96
|
'fetchOpenInterestHistory': False,
|
|
97
|
+
'fetchOpenInterests': False,
|
|
71
98
|
'fetchOpenOrders': True,
|
|
99
|
+
'fetchOption': False,
|
|
100
|
+
'fetchOptionChain': False,
|
|
72
101
|
'fetchOrder': True,
|
|
73
102
|
'fetchOrderBook': True,
|
|
74
103
|
'fetchPosition': False,
|
|
@@ -79,11 +108,17 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
79
108
|
'fetchPositionsHistory': False,
|
|
80
109
|
'fetchPositionsRisk': False,
|
|
81
110
|
'fetchPremiumIndexOHLCV': False,
|
|
111
|
+
'fetchSettlementHistory': False,
|
|
82
112
|
'fetchTicker': True,
|
|
83
113
|
'fetchTickers': True,
|
|
84
114
|
'fetchTrades': True,
|
|
115
|
+
'fetchVolatilityHistory': False,
|
|
85
116
|
'reduceMargin': False,
|
|
117
|
+
'repayCrossMargin': False,
|
|
118
|
+
'repayIsolatedMargin': False,
|
|
119
|
+
'repayMargin': False,
|
|
86
120
|
'setLeverage': False,
|
|
121
|
+
'setMargin': False,
|
|
87
122
|
'setMarginMode': False,
|
|
88
123
|
'setPositionMode': False,
|
|
89
124
|
'ws': True,
|
|
@@ -196,12 +231,71 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
196
231
|
'maker': 0.002,
|
|
197
232
|
},
|
|
198
233
|
},
|
|
234
|
+
'features': {
|
|
235
|
+
'spot': {
|
|
236
|
+
'sandbox': False,
|
|
237
|
+
'createOrder': {
|
|
238
|
+
'marginMode': False,
|
|
239
|
+
'triggerPrice': False,
|
|
240
|
+
'triggerPriceType': None,
|
|
241
|
+
'triggerDirection': False,
|
|
242
|
+
'stopLossPrice': False,
|
|
243
|
+
'takeProfitPrice': False,
|
|
244
|
+
'attachedStopLossTakeProfit': None,
|
|
245
|
+
'timeInForce': {
|
|
246
|
+
'IOC': False,
|
|
247
|
+
'FOK': False,
|
|
248
|
+
'PO': False,
|
|
249
|
+
'GTD': False,
|
|
250
|
+
},
|
|
251
|
+
'hedged': False,
|
|
252
|
+
'trailing': False,
|
|
253
|
+
'leverage': False,
|
|
254
|
+
'marketBuyByCost': False,
|
|
255
|
+
'marketBuyRequiresPrice': False,
|
|
256
|
+
'selfTradePrevention': False,
|
|
257
|
+
'iceberg': False,
|
|
258
|
+
},
|
|
259
|
+
'createOrders': None,
|
|
260
|
+
'fetchMyTrades': {
|
|
261
|
+
'marginMode': False,
|
|
262
|
+
'limit': 100, # todo implement
|
|
263
|
+
'daysBack': 100000, # todo implement
|
|
264
|
+
'untilDays': 100000, # todo implement
|
|
265
|
+
'symbolRequired': True,
|
|
266
|
+
},
|
|
267
|
+
'fetchOrder': {
|
|
268
|
+
'marginMode': False,
|
|
269
|
+
'trigger': False,
|
|
270
|
+
'trailing': False,
|
|
271
|
+
'symbolRequired': True,
|
|
272
|
+
},
|
|
273
|
+
'fetchOpenOrders': {
|
|
274
|
+
'marginMode': False,
|
|
275
|
+
'limit': None,
|
|
276
|
+
'trigger': False,
|
|
277
|
+
'trailing': False,
|
|
278
|
+
'symbolRequired': True,
|
|
279
|
+
},
|
|
280
|
+
'fetchOrders': None,
|
|
281
|
+
'fetchClosedOrders': None, # todo implement
|
|
282
|
+
'fetchOHLCV': None, # todo implement
|
|
283
|
+
},
|
|
284
|
+
'swap': {
|
|
285
|
+
'linear': None,
|
|
286
|
+
'inverse': None,
|
|
287
|
+
},
|
|
288
|
+
'future': {
|
|
289
|
+
'linear': None,
|
|
290
|
+
'inverse': None,
|
|
291
|
+
},
|
|
292
|
+
},
|
|
199
293
|
'precisionMode': TICK_SIZE,
|
|
200
294
|
'exceptions': {
|
|
201
|
-
'
|
|
202
|
-
'
|
|
203
|
-
'108': BadSymbol,
|
|
204
|
-
'
|
|
295
|
+
'104': OrderNotFound,
|
|
296
|
+
'107': BadRequest,
|
|
297
|
+
'108': BadSymbol,
|
|
298
|
+
'405': OnMaintenance,
|
|
205
299
|
},
|
|
206
300
|
'commonCurrencies': {
|
|
207
301
|
'SOC': 'Soda Coin',
|
|
@@ -211,7 +305,9 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
211
305
|
def fetch_currencies(self, params={}) -> Currencies:
|
|
212
306
|
"""
|
|
213
307
|
fetches all available currencies on an exchange
|
|
214
|
-
|
|
308
|
+
|
|
309
|
+
https://docs.coinone.co.kr/reference/currencies
|
|
310
|
+
|
|
215
311
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
216
312
|
:returns dict: an associative dictionary of currencies
|
|
217
313
|
"""
|
|
@@ -237,22 +333,20 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
237
333
|
# }
|
|
238
334
|
#
|
|
239
335
|
result: dict = {}
|
|
240
|
-
currencies = self.
|
|
336
|
+
currencies = self.safe_list(response, 'currencies', [])
|
|
241
337
|
for i in range(0, len(currencies)):
|
|
242
338
|
entry = currencies[i]
|
|
243
339
|
id = self.safe_string(entry, 'symbol')
|
|
244
|
-
name = self.safe_string(entry, 'name')
|
|
245
340
|
code = self.safe_currency_code(id)
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
result[code] = {
|
|
341
|
+
isWithdrawEnabled = self.safe_string(entry, 'withdraw_status', '') == 'normal'
|
|
342
|
+
isDepositEnabled = self.safe_string(entry, 'deposit_status', '') == 'normal'
|
|
343
|
+
type = 'crypto' if (code != 'KRW') else 'fiat'
|
|
344
|
+
result[code] = self.safe_currency_structure({
|
|
251
345
|
'id': id,
|
|
252
346
|
'code': code,
|
|
253
347
|
'info': entry,
|
|
254
|
-
'name': name,
|
|
255
|
-
'active':
|
|
348
|
+
'name': self.safe_string(entry, 'name'),
|
|
349
|
+
'active': None,
|
|
256
350
|
'deposit': isDepositEnabled,
|
|
257
351
|
'withdraw': isWithdrawEnabled,
|
|
258
352
|
'fee': self.safe_number(entry, 'withdrawal_fee'),
|
|
@@ -268,13 +362,16 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
268
362
|
},
|
|
269
363
|
},
|
|
270
364
|
'networks': {},
|
|
271
|
-
|
|
365
|
+
'type': type,
|
|
366
|
+
})
|
|
272
367
|
return result
|
|
273
368
|
|
|
274
369
|
def fetch_markets(self, params={}) -> List[Market]:
|
|
275
370
|
"""
|
|
276
371
|
retrieves data on all markets for coinone
|
|
277
|
-
|
|
372
|
+
|
|
373
|
+
https://docs.coinone.co.kr/v1.0/reference/tickers
|
|
374
|
+
|
|
278
375
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
279
376
|
:returns dict[]: an array of objects representing market data
|
|
280
377
|
"""
|
|
@@ -315,7 +412,7 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
315
412
|
# ]
|
|
316
413
|
# }
|
|
317
414
|
#
|
|
318
|
-
tickers = self.
|
|
415
|
+
tickers = self.safe_list(response, 'tickers', [])
|
|
319
416
|
result = []
|
|
320
417
|
for i in range(0, len(tickers)):
|
|
321
418
|
entry = self.safe_value(tickers, i)
|
|
@@ -397,7 +494,9 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
397
494
|
def fetch_balance(self, params={}) -> Balances:
|
|
398
495
|
"""
|
|
399
496
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
|
400
|
-
|
|
497
|
+
|
|
498
|
+
https://docs.coinone.co.kr/v1.0/reference/v21
|
|
499
|
+
|
|
401
500
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
402
501
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
|
403
502
|
"""
|
|
@@ -408,7 +507,9 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
408
507
|
def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
|
409
508
|
"""
|
|
410
509
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
|
411
|
-
|
|
510
|
+
|
|
511
|
+
https://docs.coinone.co.kr/v1.0/reference/orderbook
|
|
512
|
+
|
|
412
513
|
:param str symbol: unified symbol of the market to fetch the order book for
|
|
413
514
|
:param int [limit]: the maximum amount of order book entries to return
|
|
414
515
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -452,8 +553,10 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
452
553
|
def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
|
453
554
|
"""
|
|
454
555
|
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
455
|
-
|
|
456
|
-
|
|
556
|
+
|
|
557
|
+
https://docs.coinone.co.kr/v1.0/reference/tickers
|
|
558
|
+
https://docs.coinone.co.kr/v1.0/reference/ticker
|
|
559
|
+
|
|
457
560
|
:param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
458
561
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
459
562
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -512,7 +615,9 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
512
615
|
def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
|
513
616
|
"""
|
|
514
617
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
515
|
-
|
|
618
|
+
|
|
619
|
+
https://docs.coinone.co.kr/v1.0/reference/ticker
|
|
620
|
+
|
|
516
621
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
|
517
622
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
518
623
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -557,7 +662,7 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
557
662
|
# ]
|
|
558
663
|
# }
|
|
559
664
|
#
|
|
560
|
-
data = self.
|
|
665
|
+
data = self.safe_list(response, 'tickers', [])
|
|
561
666
|
ticker = self.safe_dict(data, 0, {})
|
|
562
667
|
return self.parse_ticker(ticker, market)
|
|
563
668
|
|
|
@@ -590,8 +695,8 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
590
695
|
#
|
|
591
696
|
timestamp = self.safe_integer(ticker, 'timestamp')
|
|
592
697
|
last = self.safe_string(ticker, 'last')
|
|
593
|
-
asks = self.
|
|
594
|
-
bids = self.
|
|
698
|
+
asks = self.safe_list(ticker, 'best_asks', [])
|
|
699
|
+
bids = self.safe_list(ticker, 'best_bids', [])
|
|
595
700
|
baseId = self.safe_string(ticker, 'target_currency')
|
|
596
701
|
quoteId = self.safe_string(ticker, 'quote_currency')
|
|
597
702
|
base = self.safe_currency_code(baseId)
|
|
@@ -645,7 +750,7 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
645
750
|
#
|
|
646
751
|
timestamp = self.safe_integer(trade, 'timestamp')
|
|
647
752
|
market = self.safe_market(None, market)
|
|
648
|
-
isSellerMaker = self.
|
|
753
|
+
isSellerMaker = self.safe_bool(trade, 'is_seller_maker')
|
|
649
754
|
side = None
|
|
650
755
|
if isSellerMaker is not None:
|
|
651
756
|
side = 'sell' if isSellerMaker else 'buy'
|
|
@@ -683,7 +788,9 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
683
788
|
def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
|
684
789
|
"""
|
|
685
790
|
get the list of most recent trades for a particular symbol
|
|
686
|
-
|
|
791
|
+
|
|
792
|
+
https://docs.coinone.co.kr/v1.0/reference/recent-completed-orders
|
|
793
|
+
|
|
687
794
|
:param str symbol: unified symbol of the market to fetch trades for
|
|
688
795
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
|
689
796
|
:param int [limit]: the maximum amount of trades to fetch
|
|
@@ -723,13 +830,15 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
723
830
|
def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
|
724
831
|
"""
|
|
725
832
|
create a trade order
|
|
726
|
-
|
|
727
|
-
|
|
833
|
+
|
|
834
|
+
https://doc.coinone.co.kr/#tag/Order-V2/operation/v2_order_limit_buy
|
|
835
|
+
https://doc.coinone.co.kr/#tag/Order-V2/operation/v2_order_limit_sell
|
|
836
|
+
|
|
728
837
|
:param str symbol: unified symbol of the market to create an order in
|
|
729
838
|
:param str type: must be 'limit'
|
|
730
839
|
:param str side: 'buy' or 'sell'
|
|
731
840
|
:param float amount: how much of currency you want to trade in units of base currency
|
|
732
|
-
:param float [price]: the price at which the order is to be
|
|
841
|
+
:param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
|
|
733
842
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
734
843
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
735
844
|
"""
|
|
@@ -756,6 +865,7 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
756
865
|
def fetch_order(self, id: str, symbol: Str = None, params={}):
|
|
757
866
|
"""
|
|
758
867
|
fetches information on an order made by the user
|
|
868
|
+
:param str id: order id
|
|
759
869
|
:param str symbol: unified symbol of the market the order was made in
|
|
760
870
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
761
871
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
@@ -897,7 +1007,6 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
897
1007
|
'postOnly': None,
|
|
898
1008
|
'side': side,
|
|
899
1009
|
'price': self.safe_string(order, 'price'),
|
|
900
|
-
'stopPrice': None,
|
|
901
1010
|
'triggerPrice': None,
|
|
902
1011
|
'cost': None,
|
|
903
1012
|
'average': self.safe_string(order, 'averageExecutedPrice'),
|
|
@@ -1022,7 +1131,7 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
1022
1131
|
#
|
|
1023
1132
|
return self.safe_order(response)
|
|
1024
1133
|
|
|
1025
|
-
def fetch_deposit_addresses(self, codes: Strings = None, params={}):
|
|
1134
|
+
def fetch_deposit_addresses(self, codes: Strings = None, params={}) -> List[DepositAddress]:
|
|
1026
1135
|
"""
|
|
1027
1136
|
fetch deposit addresses for multiple currencies and chain types
|
|
1028
1137
|
:param str[]|None codes: list of unified currency codes, default is None
|
|
@@ -1045,7 +1154,7 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
1045
1154
|
# }
|
|
1046
1155
|
# }
|
|
1047
1156
|
#
|
|
1048
|
-
walletAddress = self.
|
|
1157
|
+
walletAddress = self.safe_dict(response, 'walletAddress', {})
|
|
1049
1158
|
keys = list(walletAddress.keys())
|
|
1050
1159
|
result: dict = {}
|
|
1051
1160
|
for i in range(0, len(keys)):
|
|
@@ -1060,10 +1169,11 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
1060
1169
|
depositAddress = self.safe_value(result, code)
|
|
1061
1170
|
if depositAddress is None:
|
|
1062
1171
|
depositAddress = {
|
|
1172
|
+
'info': value,
|
|
1063
1173
|
'currency': code,
|
|
1174
|
+
'network': None,
|
|
1064
1175
|
'address': None,
|
|
1065
1176
|
'tag': None,
|
|
1066
|
-
'info': value,
|
|
1067
1177
|
}
|
|
1068
1178
|
address = self.safe_string(depositAddress, 'address', value)
|
|
1069
1179
|
self.check_address(address)
|
|
@@ -1111,17 +1221,14 @@ class coinone(Exchange, ImplicitAPI):
|
|
|
1111
1221
|
|
|
1112
1222
|
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
|
1113
1223
|
if response is None:
|
|
1114
|
-
return None
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
raise ExchangeError(feedback)
|
|
1125
|
-
else:
|
|
1126
|
-
raise ExchangeError(self.id + ' ' + body)
|
|
1224
|
+
return None # fallback to default error handler
|
|
1225
|
+
#
|
|
1226
|
+
# {"result":"error","error_code":"107","error_msg":"Parameter value is wrong"}
|
|
1227
|
+
# {"result":"error","error_code":"108","error_msg":"Unknown CryptoCurrency"}
|
|
1228
|
+
#
|
|
1229
|
+
errorCode = self.safe_string(response, 'error_code')
|
|
1230
|
+
if errorCode is not None and errorCode != '0':
|
|
1231
|
+
feedback = self.id + ' ' + body
|
|
1232
|
+
self.throw_exactly_matched_exception(self.exceptions, errorCode, feedback)
|
|
1233
|
+
raise ExchangeError(feedback) # unknown message
|
|
1127
1234
|
return None
|