ccxt-ir 4.3.46.0.3__py2.py3-none-any.whl → 4.5.0__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ccxt/__init__.py +39 -35
- ccxt/abantether.py +8 -8
- ccxt/abstract/alpaca.py +4 -0
- ccxt/abstract/apex.py +31 -0
- ccxt/abstract/bigone.py +1 -1
- ccxt/abstract/binance.py +106 -48
- ccxt/abstract/binancecoinm.py +106 -48
- ccxt/abstract/binanceus.py +141 -83
- ccxt/abstract/binanceusdm.py +106 -48
- ccxt/abstract/bingx.py +50 -1
- ccxt/abstract/bitbank.py +5 -0
- ccxt/abstract/bitfinex.py +136 -65
- ccxt/abstract/bitflyer.py +1 -0
- ccxt/abstract/bitget.py +67 -0
- ccxt/abstract/bitmart.py +19 -1
- ccxt/abstract/bitopro.py +1 -0
- ccxt/abstract/bitrue.py +68 -68
- ccxt/abstract/bitstamp.py +1 -0
- ccxt/abstract/blofin.py +30 -0
- ccxt/abstract/btcbox.py +2 -0
- ccxt/abstract/bybit.py +28 -13
- ccxt/abstract/cex.py +28 -29
- ccxt/abstract/coinbaseexchange.py +1 -0
- ccxt/abstract/coinbaseinternational.py +1 -1
- ccxt/abstract/cryptocom.py +16 -0
- ccxt/abstract/cryptomus.py +20 -0
- ccxt/abstract/defx.py +69 -0
- ccxt/abstract/deribit.py +1 -0
- ccxt/abstract/derive.py +117 -0
- ccxt/abstract/digifinex.py +1 -0
- ccxt/abstract/ellipx.py +25 -0
- ccxt/abstract/foxbit.py +26 -0
- ccxt/abstract/gate.py +19 -0
- ccxt/abstract/gateio.py +19 -0
- ccxt/abstract/gemini.py +1 -0
- ccxt/abstract/hibachi.py +26 -0
- ccxt/abstract/hyperliquid.py +1 -1
- ccxt/abstract/independentreserve.py +6 -0
- ccxt/abstract/kraken.py +1 -0
- ccxt/abstract/krakenfutures.py +4 -0
- ccxt/abstract/kucoin.py +10 -0
- ccxt/abstract/kucoinfutures.py +18 -0
- ccxt/abstract/lbank.py +2 -1
- ccxt/abstract/luno.py +1 -0
- ccxt/abstract/mexc.py +2 -0
- ccxt/abstract/modetrade.py +119 -0
- ccxt/abstract/myokx.py +349 -0
- ccxt/abstract/oceanex.py +5 -0
- ccxt/abstract/okx.py +25 -0
- ccxt/abstract/okxus.py +349 -0
- ccxt/abstract/onetrading.py +0 -12
- ccxt/abstract/paradex.py +23 -0
- ccxt/abstract/phemex.py +2 -0
- ccxt/abstract/poloniex.py +36 -0
- ccxt/abstract/tradeogre.py +3 -1
- ccxt/abstract/upbit.py +51 -34
- ccxt/abstract/whitebit.py +16 -0
- ccxt/abstract/woo.py +64 -6
- ccxt/abstract/xt.py +10 -5
- ccxt/afratether.py +7 -7
- ccxt/alpaca.py +828 -51
- ccxt/apex.py +1875 -0
- ccxt/arzinja.py +7 -7
- ccxt/arzplus.py +9 -9
- ccxt/ascendex.py +501 -306
- ccxt/async_support/__init__.py +39 -35
- ccxt/async_support/abantether.py +8 -8
- ccxt/async_support/afratether.py +9 -9
- ccxt/async_support/alpaca.py +828 -51
- ccxt/async_support/apex.py +1875 -0
- ccxt/async_support/arzinja.py +10 -10
- ccxt/async_support/arzplus.py +12 -12
- ccxt/async_support/ascendex.py +502 -306
- ccxt/async_support/base/exchange.py +303 -89
- ccxt/async_support/base/ws/cache.py +9 -3
- ccxt/async_support/base/ws/client.py +173 -38
- ccxt/async_support/base/ws/future.py +25 -37
- ccxt/async_support/bequant.py +5 -3
- ccxt/async_support/bigone.py +279 -144
- ccxt/async_support/binance.py +2347 -1158
- ccxt/async_support/binancecoinm.py +9 -3
- ccxt/async_support/binanceus.py +17 -3
- ccxt/async_support/binanceusdm.py +9 -4
- ccxt/async_support/bingx.py +2962 -920
- ccxt/async_support/bit2c.py +147 -27
- ccxt/async_support/bitbank.py +151 -23
- ccxt/async_support/bitbns.py +104 -30
- ccxt/async_support/bitfinex.py +3291 -1113
- ccxt/async_support/bitflyer.py +202 -27
- ccxt/async_support/bitget.py +3683 -1538
- ccxt/async_support/bithumb.py +195 -38
- ccxt/async_support/bitimen.py +12 -12
- ccxt/async_support/bitir.py +38 -38
- ccxt/async_support/bitmart.py +1288 -350
- ccxt/async_support/bitmex.py +260 -75
- ccxt/async_support/bitopro.py +262 -62
- ccxt/async_support/bitpin.py +17 -16
- ccxt/async_support/bitrue.py +459 -290
- ccxt/async_support/bitso.py +199 -54
- ccxt/async_support/bitstamp.py +230 -96
- ccxt/async_support/bitteam.py +167 -25
- ccxt/async_support/{huobijp.py → bittrade.py} +158 -30
- ccxt/async_support/bitvavo.py +213 -49
- ccxt/async_support/blockchaincom.py +160 -46
- ccxt/async_support/blofin.py +502 -120
- ccxt/async_support/btcalpha.py +169 -31
- ccxt/async_support/btcbox.py +292 -23
- ccxt/async_support/btcmarkets.py +211 -58
- ccxt/async_support/btcturk.py +161 -38
- ccxt/async_support/bybit.py +1775 -1030
- ccxt/async_support/cex.py +1440 -1303
- ccxt/async_support/coinbase.py +724 -212
- ccxt/async_support/coinbaseadvanced.py +2 -1
- ccxt/async_support/coinbaseexchange.py +388 -89
- ccxt/async_support/coinbaseinternational.py +412 -57
- ccxt/async_support/coincatch.py +177 -78
- ccxt/async_support/coincheck.py +135 -19
- ccxt/async_support/coinex.py +606 -232
- ccxt/async_support/coinmate.py +189 -63
- ccxt/async_support/coinmetro.py +195 -54
- ccxt/async_support/coinone.py +158 -51
- ccxt/async_support/coinsph.py +336 -61
- ccxt/async_support/coinspot.py +151 -52
- ccxt/async_support/cryptocom.py +661 -111
- ccxt/async_support/cryptomus.py +1137 -0
- ccxt/async_support/defx.py +2071 -0
- ccxt/async_support/delta.py +299 -99
- ccxt/async_support/deribit.py +348 -126
- ccxt/async_support/derive.py +2572 -0
- ccxt/async_support/digifinex.py +430 -214
- ccxt/async_support/ellipx.py +2029 -0
- ccxt/async_support/eterex.py +10 -10
- ccxt/async_support/excoino.py +31 -31
- ccxt/async_support/exir.py +14 -14
- ccxt/async_support/exmo.py +344 -131
- ccxt/async_support/exnovin.py +10 -10
- ccxt/async_support/farhadexchange.py +12 -12
- ccxt/async_support/fmfwio.py +2 -1
- ccxt/async_support/foxbit.py +1935 -0
- ccxt/async_support/gate.py +1351 -529
- ccxt/async_support/gateio.py +2 -1
- ccxt/async_support/gemini.py +144 -39
- ccxt/async_support/hashkey.py +152 -109
- ccxt/async_support/hibachi.py +2080 -0
- ccxt/async_support/hitbtc.py +395 -167
- ccxt/async_support/hitobit.py +12 -12
- ccxt/async_support/hollaex.py +307 -119
- ccxt/async_support/htx.py +851 -383
- ccxt/async_support/huobi.py +2 -1
- ccxt/async_support/hyperliquid.py +1848 -536
- ccxt/async_support/independentreserve.py +288 -15
- ccxt/async_support/indodax.py +190 -33
- ccxt/async_support/jibitex.py +12 -12
- ccxt/async_support/kraken.py +795 -351
- ccxt/async_support/krakenfutures.py +214 -62
- ccxt/async_support/kucoin.py +715 -396
- ccxt/async_support/kucoinfutures.py +652 -89
- ccxt/async_support/latoken.py +217 -113
- ccxt/async_support/lbank.py +425 -97
- ccxt/async_support/luno.py +382 -35
- ccxt/async_support/mercado.py +113 -6
- ccxt/async_support/mexc.py +874 -437
- ccxt/async_support/modetrade.py +2818 -0
- ccxt/async_support/myokx.py +54 -0
- ccxt/async_support/ndax.py +221 -64
- ccxt/async_support/nobitex.py +31 -37
- ccxt/async_support/novadax.py +190 -34
- ccxt/async_support/oceanex.py +217 -28
- ccxt/async_support/okcoin.py +253 -145
- ccxt/async_support/okexchange.py +11 -11
- ccxt/async_support/okx.py +1088 -351
- ccxt/async_support/okxus.py +54 -0
- ccxt/async_support/ompfinex.py +25 -24
- ccxt/async_support/onetrading.py +213 -392
- ccxt/async_support/oxfun.py +245 -166
- ccxt/async_support/p2b.py +151 -29
- ccxt/async_support/paradex.py +562 -49
- ccxt/async_support/paymium.py +82 -19
- ccxt/async_support/phemex.py +713 -172
- ccxt/async_support/poloniex.py +1602 -283
- ccxt/async_support/probit.py +224 -95
- ccxt/async_support/ramzinex.py +30 -27
- ccxt/async_support/sarmayex.py +9 -9
- ccxt/async_support/sarrafex.py +13 -13
- ccxt/async_support/tabdeal.py +14 -13
- ccxt/async_support/tetherland.py +9 -9
- ccxt/async_support/timex.py +210 -51
- ccxt/async_support/tokocrypto.py +167 -47
- ccxt/async_support/tradeogre.py +266 -31
- ccxt/async_support/twox.py +9 -9
- ccxt/async_support/ubitex.py +12 -12
- ccxt/async_support/upbit.py +568 -165
- ccxt/async_support/vertex.py +160 -32
- ccxt/async_support/wallex.py +12 -12
- ccxt/async_support/wavesexchange.py +165 -30
- ccxt/async_support/whitebit.py +975 -127
- ccxt/async_support/woo.py +1918 -1016
- ccxt/async_support/woofipro.py +433 -141
- ccxt/async_support/xt.py +649 -193
- ccxt/async_support/yobit.py +195 -70
- ccxt/async_support/zaif.py +91 -15
- ccxt/async_support/zonda.py +151 -36
- ccxt/base/decimal_to_precision.py +14 -10
- ccxt/base/errors.py +49 -18
- ccxt/base/exchange.py +1556 -450
- ccxt/base/precise.py +10 -0
- ccxt/base/types.py +114 -6
- ccxt/bequant.py +5 -3
- ccxt/bigone.py +279 -144
- ccxt/binance.py +2347 -1158
- ccxt/binancecoinm.py +9 -3
- ccxt/binanceus.py +17 -3
- ccxt/binanceusdm.py +9 -4
- ccxt/bingx.py +2962 -920
- ccxt/bit2c.py +147 -27
- ccxt/bitbank.py +151 -23
- ccxt/bitbns.py +104 -30
- ccxt/bitfinex.py +3290 -1113
- ccxt/bitflyer.py +202 -27
- ccxt/bitget.py +3683 -1538
- ccxt/bithumb.py +194 -38
- ccxt/bitimen.py +9 -9
- ccxt/bitir.py +35 -35
- ccxt/bitmart.py +1288 -350
- ccxt/bitmex.py +260 -75
- ccxt/bitopro.py +262 -62
- ccxt/bitpin.py +15 -14
- ccxt/bitrue.py +459 -290
- ccxt/bitso.py +199 -54
- ccxt/bitstamp.py +230 -96
- ccxt/bitteam.py +167 -25
- ccxt/{huobijp.py → bittrade.py} +158 -30
- ccxt/bitvavo.py +213 -49
- ccxt/blockchaincom.py +160 -46
- ccxt/blofin.py +502 -120
- ccxt/btcalpha.py +169 -31
- ccxt/btcbox.py +291 -23
- ccxt/btcmarkets.py +211 -58
- ccxt/btcturk.py +161 -38
- ccxt/bybit.py +1775 -1030
- ccxt/cex.py +1439 -1303
- ccxt/coinbase.py +724 -212
- ccxt/coinbaseadvanced.py +2 -1
- ccxt/coinbaseexchange.py +388 -89
- ccxt/coinbaseinternational.py +412 -57
- ccxt/coincatch.py +177 -78
- ccxt/coincheck.py +135 -19
- ccxt/coinex.py +606 -232
- ccxt/coinmate.py +189 -63
- ccxt/coinmetro.py +194 -54
- ccxt/coinone.py +158 -51
- ccxt/coinsph.py +336 -61
- ccxt/coinspot.py +151 -52
- ccxt/cryptocom.py +661 -111
- ccxt/cryptomus.py +1137 -0
- ccxt/defx.py +2070 -0
- ccxt/delta.py +299 -99
- ccxt/deribit.py +348 -126
- ccxt/derive.py +2571 -0
- ccxt/digifinex.py +430 -214
- ccxt/ellipx.py +2029 -0
- ccxt/eterex.py +7 -7
- ccxt/excoino.py +29 -29
- ccxt/exir.py +11 -11
- ccxt/exmo.py +343 -131
- ccxt/exnovin.py +8 -8
- ccxt/farhadexchange.py +10 -10
- ccxt/fmfwio.py +2 -1
- ccxt/foxbit.py +1935 -0
- ccxt/gate.py +1351 -529
- ccxt/gateio.py +2 -1
- ccxt/gemini.py +144 -39
- ccxt/hashkey.py +152 -109
- ccxt/hibachi.py +2079 -0
- ccxt/hitbtc.py +395 -167
- ccxt/hitobit.py +9 -9
- ccxt/hollaex.py +307 -119
- ccxt/htx.py +851 -383
- ccxt/huobi.py +2 -1
- ccxt/hyperliquid.py +1848 -536
- ccxt/independentreserve.py +287 -15
- ccxt/indodax.py +190 -33
- ccxt/jibitex.py +9 -9
- ccxt/kraken.py +794 -351
- ccxt/krakenfutures.py +214 -62
- ccxt/kucoin.py +715 -396
- ccxt/kucoinfutures.py +652 -89
- ccxt/latoken.py +217 -113
- ccxt/lbank.py +425 -97
- ccxt/luno.py +382 -35
- ccxt/mercado.py +113 -6
- ccxt/mexc.py +873 -437
- ccxt/modetrade.py +2818 -0
- ccxt/myokx.py +54 -0
- ccxt/ndax.py +221 -64
- ccxt/nobitex.py +29 -35
- ccxt/novadax.py +190 -34
- ccxt/oceanex.py +217 -28
- ccxt/okcoin.py +253 -145
- ccxt/okexchange.py +9 -9
- ccxt/okx.py +1088 -351
- ccxt/okxus.py +54 -0
- ccxt/ompfinex.py +22 -21
- ccxt/onetrading.py +213 -392
- ccxt/oxfun.py +245 -166
- ccxt/p2b.py +151 -29
- ccxt/paradex.py +562 -49
- ccxt/paymium.py +82 -19
- ccxt/phemex.py +712 -172
- ccxt/poloniex.py +1601 -283
- ccxt/pro/__init__.py +76 -17
- ccxt/pro/alpaca.py +21 -6
- ccxt/pro/apex.py +984 -0
- ccxt/pro/ascendex.py +58 -10
- ccxt/pro/bequant.py +6 -1
- ccxt/pro/binance.py +728 -156
- ccxt/pro/binancecoinm.py +6 -2
- ccxt/pro/binanceus.py +8 -4
- ccxt/pro/binanceusdm.py +7 -2
- ccxt/pro/bingx.py +333 -142
- ccxt/pro/bitfinex.py +727 -262
- ccxt/pro/bitget.py +570 -79
- ccxt/pro/bithumb.py +20 -6
- ccxt/pro/bitmart.py +216 -87
- ccxt/pro/bitmex.py +47 -9
- ccxt/pro/bitopro.py +26 -14
- ccxt/pro/bitrue.py +22 -22
- ccxt/pro/bitstamp.py +54 -21
- ccxt/pro/{huobijp.py → bittrade.py} +7 -6
- ccxt/pro/bitvavo.py +191 -67
- ccxt/pro/blockchaincom.py +21 -8
- ccxt/pro/blofin.py +9 -1
- ccxt/pro/bybit.py +632 -245
- ccxt/pro/cex.py +59 -24
- ccxt/pro/coinbase.py +102 -73
- ccxt/pro/coinbaseadvanced.py +2 -1
- ccxt/pro/coinbaseexchange.py +8 -8
- ccxt/pro/coinbaseinternational.py +181 -25
- ccxt/pro/coincatch.py +6 -7
- ccxt/pro/coincheck.py +11 -6
- ccxt/pro/coinex.py +967 -665
- ccxt/pro/coinone.py +16 -9
- ccxt/pro/cryptocom.py +448 -45
- ccxt/pro/defx.py +831 -0
- ccxt/pro/deribit.py +150 -14
- ccxt/pro/derive.py +704 -0
- ccxt/pro/exmo.py +239 -6
- ccxt/pro/gate.py +623 -65
- ccxt/pro/gateio.py +2 -1
- ccxt/pro/gemini.py +27 -11
- ccxt/pro/hashkey.py +2 -2
- ccxt/pro/hitbtc.py +196 -91
- ccxt/pro/hollaex.py +23 -7
- ccxt/pro/htx.py +51 -14
- ccxt/pro/huobi.py +2 -1
- ccxt/pro/hyperliquid.py +591 -27
- ccxt/pro/independentreserve.py +9 -6
- ccxt/pro/kraken.py +640 -320
- ccxt/pro/krakenfutures.py +62 -35
- ccxt/pro/kucoin.py +267 -46
- ccxt/pro/kucoinfutures.py +165 -21
- ccxt/pro/lbank.py +102 -21
- ccxt/pro/luno.py +12 -8
- ccxt/pro/mexc.py +877 -111
- ccxt/pro/modetrade.py +1271 -0
- ccxt/pro/myokx.py +38 -0
- ccxt/pro/ndax.py +15 -2
- ccxt/pro/okcoin.py +23 -4
- ccxt/pro/okx.py +573 -98
- ccxt/pro/okxus.py +38 -0
- ccxt/pro/onetrading.py +30 -13
- ccxt/pro/oxfun.py +131 -27
- ccxt/pro/p2b.py +88 -22
- ccxt/pro/paradex.py +3 -3
- ccxt/pro/phemex.py +75 -21
- ccxt/pro/poloniex.py +124 -41
- ccxt/pro/probit.py +87 -80
- ccxt/pro/tradeogre.py +272 -0
- ccxt/pro/upbit.py +152 -12
- ccxt/pro/vertex.py +8 -3
- ccxt/pro/whitebit.py +58 -5
- ccxt/pro/woo.py +228 -37
- ccxt/pro/woofipro.py +106 -18
- ccxt/pro/xt.py +111 -5
- ccxt/probit.py +224 -95
- ccxt/protobuf/__init__.py +0 -0
- ccxt/protobuf/mexc/PrivateAccountV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PrivateDealsV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PrivateOrdersV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicAggreBookTickerV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicAggreDealsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicAggreDepthsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicBookTickerBatchV3Api_pb2.py +38 -0
- ccxt/protobuf/mexc/PublicBookTickerV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicDealsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicIncreaseDepthsBatchV3Api_pb2.py +38 -0
- ccxt/protobuf/mexc/PublicIncreaseDepthsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicLimitDepthsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicMiniTickerV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicMiniTickersV3Api_pb2.py +38 -0
- ccxt/protobuf/mexc/PublicSpotKlineV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PushDataV3ApiWrapper_pb2.py +52 -0
- ccxt/protobuf/mexc/__init__.py +0 -0
- ccxt/ramzinex.py +28 -25
- ccxt/sarmayex.py +7 -7
- ccxt/sarrafex.py +10 -10
- ccxt/static_dependencies/__init__.py +1 -1
- ccxt/static_dependencies/lark/py.typed +0 -0
- ccxt/static_dependencies/marshmallow/py.typed +0 -0
- ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
- ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
- ccxt/tabdeal.py +12 -11
- ccxt/test/tests_async.py +261 -57
- ccxt/test/tests_helpers.py +1 -3
- ccxt/test/tests_init.py +4 -3
- ccxt/test/tests_sync.py +261 -57
- ccxt/tetherland.py +7 -7
- ccxt/timex.py +210 -51
- ccxt/tokocrypto.py +167 -47
- ccxt/tradeogre.py +266 -31
- ccxt/twox.py +7 -7
- ccxt/ubitex.py +9 -9
- ccxt/upbit.py +568 -165
- ccxt/vertex.py +160 -32
- ccxt/wallex.py +9 -9
- ccxt/wavesexchange.py +165 -30
- ccxt/whitebit.py +975 -127
- ccxt/woo.py +1917 -1016
- ccxt/woofipro.py +432 -141
- ccxt/xt.py +649 -193
- ccxt/yobit.py +194 -70
- ccxt/zaif.py +91 -15
- ccxt/zonda.py +151 -36
- {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.0.dist-info}/METADATA +225 -73
- ccxt_ir-4.5.0.dist-info/RECORD +743 -0
- {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.0.dist-info}/WHEEL +1 -1
- ccxt/__test__.py +0 -7
- ccxt/abstract/ace.py +0 -15
- ccxt/abstract/bitbay.py +0 -53
- ccxt/abstract/bitcoincom.py +0 -115
- ccxt/abstract/bitfinex2.py +0 -139
- ccxt/abstract/bitpanda.py +0 -35
- ccxt/abstract/bl3p.py +0 -19
- ccxt/abstract/coinlist.py +0 -54
- ccxt/abstract/currencycom.py +0 -68
- ccxt/abstract/hitbtc3.py +0 -115
- ccxt/abstract/idex.py +0 -26
- ccxt/abstract/kuna.py +0 -182
- ccxt/abstract/lykke.py +0 -29
- ccxt/abstract/poloniexfutures.py +0 -48
- ccxt/abstract/wazirx.py +0 -30
- ccxt/ace.py +0 -1012
- ccxt/async_support/ace.py +0 -1012
- ccxt/async_support/base/ws/aiohttp_client.py +0 -125
- ccxt/async_support/base/ws/fast_client.py +0 -96
- ccxt/async_support/bitbay.py +0 -17
- ccxt/async_support/bitcoincom.py +0 -17
- ccxt/async_support/bitfinex2.py +0 -3552
- ccxt/async_support/bitpanda.py +0 -16
- ccxt/async_support/bl3p.py +0 -485
- ccxt/async_support/coinlist.py +0 -2243
- ccxt/async_support/currencycom.py +0 -1950
- ccxt/async_support/hitbtc3.py +0 -16
- ccxt/async_support/idex.py +0 -1766
- ccxt/async_support/kuna.py +0 -1841
- ccxt/async_support/lykke.py +0 -1270
- ccxt/async_support/poloniexfutures.py +0 -1717
- ccxt/async_support/wazirx.py +0 -1224
- ccxt/bitbay.py +0 -17
- ccxt/bitcoincom.py +0 -17
- ccxt/bitfinex2.py +0 -3552
- ccxt/bitpanda.py +0 -16
- ccxt/bl3p.py +0 -485
- ccxt/coinlist.py +0 -2243
- ccxt/currencycom.py +0 -1950
- ccxt/hitbtc3.py +0 -16
- ccxt/idex.py +0 -1766
- ccxt/kuna.py +0 -1841
- ccxt/lykke.py +0 -1270
- ccxt/poloniexfutures.py +0 -1717
- ccxt/pro/bitcoincom.py +0 -34
- ccxt/pro/bitfinex2.py +0 -1083
- ccxt/pro/bitpanda.py +0 -15
- ccxt/pro/currencycom.py +0 -536
- ccxt/pro/idex.py +0 -672
- ccxt/pro/poloniexfutures.py +0 -990
- ccxt/pro/wazirx.py +0 -749
- ccxt/test/base/__init__.py +0 -29
- ccxt/test/base/test_account.py +0 -26
- ccxt/test/base/test_balance.py +0 -56
- ccxt/test/base/test_borrow_interest.py +0 -35
- ccxt/test/base/test_borrow_rate.py +0 -32
- ccxt/test/base/test_calculate_fee.py +0 -51
- ccxt/test/base/test_crypto.py +0 -127
- ccxt/test/base/test_currency.py +0 -76
- ccxt/test/base/test_datetime.py +0 -109
- ccxt/test/base/test_decimal_to_precision.py +0 -392
- ccxt/test/base/test_deep_extend.py +0 -68
- ccxt/test/base/test_deposit_withdrawal.py +0 -50
- ccxt/test/base/test_exchange_datetime_functions.py +0 -76
- ccxt/test/base/test_funding_rate_history.py +0 -29
- ccxt/test/base/test_last_price.py +0 -31
- ccxt/test/base/test_ledger_entry.py +0 -45
- ccxt/test/base/test_ledger_item.py +0 -48
- ccxt/test/base/test_leverage_tier.py +0 -33
- ccxt/test/base/test_liquidation.py +0 -50
- ccxt/test/base/test_margin_mode.py +0 -24
- ccxt/test/base/test_margin_modification.py +0 -35
- ccxt/test/base/test_market.py +0 -193
- ccxt/test/base/test_number.py +0 -411
- ccxt/test/base/test_ohlcv.py +0 -33
- ccxt/test/base/test_open_interest.py +0 -32
- ccxt/test/base/test_order.py +0 -64
- ccxt/test/base/test_order_book.py +0 -69
- ccxt/test/base/test_position.py +0 -60
- ccxt/test/base/test_shared_methods.py +0 -353
- ccxt/test/base/test_status.py +0 -24
- ccxt/test/base/test_throttle.py +0 -126
- ccxt/test/base/test_ticker.py +0 -92
- ccxt/test/base/test_trade.py +0 -47
- ccxt/test/base/test_trading_fee.py +0 -26
- ccxt/test/base/test_transaction.py +0 -39
- ccxt/test/test_async.py +0 -1649
- ccxt/test/test_sync.py +0 -1648
- ccxt/wazirx.py +0 -1224
- ccxt_ir-4.3.46.0.3.dist-info/RECORD +0 -773
- /ccxt/abstract/{huobijp.py → bittrade.py} +0 -0
- {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.0.dist-info/licenses}/LICENSE.txt +0 -0
- {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.0.dist-info}/top_level.txt +0 -0
ccxt/async_support/oceanex.py
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.oceanex import ImplicitAPI
|
|
8
|
-
from ccxt.base.types import Balances, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees
|
|
8
|
+
from ccxt.base.types import Any, Balances, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, OrderBooks, Trade, TradingFees
|
|
9
9
|
from typing import List
|
|
10
10
|
from ccxt.base.errors import ExchangeError
|
|
11
11
|
from ccxt.base.errors import AuthenticationError
|
|
@@ -20,7 +20,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
|
|
|
20
20
|
|
|
21
21
|
class oceanex(Exchange, ImplicitAPI):
|
|
22
22
|
|
|
23
|
-
def describe(self):
|
|
23
|
+
def describe(self) -> Any:
|
|
24
24
|
return self.deep_extend(super(oceanex, self).describe(), {
|
|
25
25
|
'id': 'oceanex',
|
|
26
26
|
'name': 'OceanEx',
|
|
@@ -54,9 +54,11 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
54
54
|
'fetchClosedOrders': True,
|
|
55
55
|
'fetchCrossBorrowRate': False,
|
|
56
56
|
'fetchCrossBorrowRates': False,
|
|
57
|
-
'fetchDepositAddress':
|
|
58
|
-
'fetchDepositAddresses':
|
|
59
|
-
'fetchDepositAddressesByNetwork':
|
|
57
|
+
'fetchDepositAddress': 'emulated',
|
|
58
|
+
'fetchDepositAddresses': None,
|
|
59
|
+
'fetchDepositAddressesByNetwork': True,
|
|
60
|
+
'fetchFundingRateHistory': False,
|
|
61
|
+
'fetchFundingRates': False,
|
|
60
62
|
'fetchIsolatedBorrowRate': False,
|
|
61
63
|
'fetchIsolatedBorrowRates': False,
|
|
62
64
|
'fetchMarkets': True,
|
|
@@ -117,6 +119,11 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
117
119
|
'order/delete',
|
|
118
120
|
'order/delete/multi',
|
|
119
121
|
'orders/clear',
|
|
122
|
+
'/withdraws/special/new',
|
|
123
|
+
'/deposit_address',
|
|
124
|
+
'/deposit_addresses',
|
|
125
|
+
'/deposit_history',
|
|
126
|
+
'/withdraw_history',
|
|
120
127
|
],
|
|
121
128
|
},
|
|
122
129
|
},
|
|
@@ -132,6 +139,79 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
132
139
|
'PLA': 'Plair',
|
|
133
140
|
},
|
|
134
141
|
'precisionMode': TICK_SIZE,
|
|
142
|
+
'features': {
|
|
143
|
+
'spot': {
|
|
144
|
+
'sandbox': False,
|
|
145
|
+
'createOrder': {
|
|
146
|
+
'marginMode': False,
|
|
147
|
+
'triggerPrice': True, # todo
|
|
148
|
+
'triggerDirection': True, # todo
|
|
149
|
+
'triggerPriceType': None,
|
|
150
|
+
'stopLossPrice': False, # todo
|
|
151
|
+
'takeProfitPrice': False, # todo
|
|
152
|
+
'attachedStopLossTakeProfit': None,
|
|
153
|
+
'timeInForce': {
|
|
154
|
+
'IOC': False,
|
|
155
|
+
'FOK': False,
|
|
156
|
+
'PO': False,
|
|
157
|
+
'GTD': False,
|
|
158
|
+
},
|
|
159
|
+
'hedged': False,
|
|
160
|
+
'trailing': False,
|
|
161
|
+
'leverage': False,
|
|
162
|
+
'marketBuyByCost': False,
|
|
163
|
+
'marketBuyRequiresPrice': False,
|
|
164
|
+
'selfTradePrevention': False,
|
|
165
|
+
'iceberg': False,
|
|
166
|
+
},
|
|
167
|
+
'createOrders': None,
|
|
168
|
+
'fetchMyTrades': None,
|
|
169
|
+
'fetchOrder': {
|
|
170
|
+
'marginMode': False,
|
|
171
|
+
'trigger': False,
|
|
172
|
+
'trailing': False,
|
|
173
|
+
'symbolRequired': False,
|
|
174
|
+
},
|
|
175
|
+
'fetchOpenOrders': {
|
|
176
|
+
'marginMode': False,
|
|
177
|
+
'limit': 100, # todo: max unknown
|
|
178
|
+
'trigger': False,
|
|
179
|
+
'trailing': False,
|
|
180
|
+
'symbolRequired': False,
|
|
181
|
+
},
|
|
182
|
+
'fetchOrders': {
|
|
183
|
+
'marginMode': False,
|
|
184
|
+
'limit': 100,
|
|
185
|
+
'daysBack': 100000, # todo
|
|
186
|
+
'untilDays': 100000, # todo
|
|
187
|
+
'trigger': False,
|
|
188
|
+
'trailing': False,
|
|
189
|
+
'symbolRequired': False,
|
|
190
|
+
},
|
|
191
|
+
'fetchClosedOrders': {
|
|
192
|
+
'marginMode': False,
|
|
193
|
+
'limit': 100,
|
|
194
|
+
'daysBack': 100000, # todo
|
|
195
|
+
'daysBackCanceled': 1, # todo
|
|
196
|
+
'untilDays': 100000, # todo
|
|
197
|
+
'trigger': False,
|
|
198
|
+
'trailing': False,
|
|
199
|
+
'symbolRequired': False,
|
|
200
|
+
},
|
|
201
|
+
'fetchOHLCV': {
|
|
202
|
+
'limit': 100,
|
|
203
|
+
},
|
|
204
|
+
},
|
|
205
|
+
# todo implement swap
|
|
206
|
+
'swap': {
|
|
207
|
+
'linear': None,
|
|
208
|
+
'inverse': None,
|
|
209
|
+
},
|
|
210
|
+
'future': {
|
|
211
|
+
'linear': None,
|
|
212
|
+
'inverse': None,
|
|
213
|
+
},
|
|
214
|
+
},
|
|
135
215
|
'exceptions': {
|
|
136
216
|
'codes': {
|
|
137
217
|
'-1': BadRequest,
|
|
@@ -159,7 +239,9 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
159
239
|
async def fetch_markets(self, params={}) -> List[Market]:
|
|
160
240
|
"""
|
|
161
241
|
retrieves data on all markets for oceanex
|
|
162
|
-
|
|
242
|
+
|
|
243
|
+
https://api.oceanex.pro/doc/v1/#markets-post
|
|
244
|
+
|
|
163
245
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
164
246
|
:returns dict[]: an array of objects representing market data
|
|
165
247
|
"""
|
|
@@ -243,7 +325,9 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
243
325
|
async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
|
244
326
|
"""
|
|
245
327
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
246
|
-
|
|
328
|
+
|
|
329
|
+
https://api.oceanex.pro/doc/v1/#ticker-post
|
|
330
|
+
|
|
247
331
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
|
248
332
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
249
333
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -277,7 +361,9 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
277
361
|
async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
|
278
362
|
"""
|
|
279
363
|
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
280
|
-
|
|
364
|
+
|
|
365
|
+
https://api.oceanex.pro/doc/v1/#multiple-tickers-post
|
|
366
|
+
|
|
281
367
|
:param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
282
368
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
283
369
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -359,7 +445,9 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
359
445
|
async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
|
360
446
|
"""
|
|
361
447
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
|
362
|
-
|
|
448
|
+
|
|
449
|
+
https://api.oceanex.pro/doc/v1/#order-book-post
|
|
450
|
+
|
|
363
451
|
:param str symbol: unified symbol of the market to fetch the order book for
|
|
364
452
|
:param int [limit]: the maximum amount of order book entries to return
|
|
365
453
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -396,10 +484,12 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
396
484
|
timestamp = self.safe_timestamp(orderbook, 'timestamp')
|
|
397
485
|
return self.parse_order_book(orderbook, symbol, timestamp)
|
|
398
486
|
|
|
399
|
-
async def fetch_order_books(self, symbols: Strings = None, limit: Int = None, params={}):
|
|
487
|
+
async def fetch_order_books(self, symbols: Strings = None, limit: Int = None, params={}) -> OrderBooks:
|
|
400
488
|
"""
|
|
401
489
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data for multiple markets
|
|
402
|
-
|
|
490
|
+
|
|
491
|
+
https://api.oceanex.pro/doc/v1/#multiple-order-books-post
|
|
492
|
+
|
|
403
493
|
:param str[]|None symbols: list of unified market symbols, all symbols fetched if None, default is None
|
|
404
494
|
:param int [limit]: max number of entries per orderbook to return, default is None
|
|
405
495
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -451,7 +541,9 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
451
541
|
async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
|
452
542
|
"""
|
|
453
543
|
get the list of most recent trades for a particular symbol
|
|
454
|
-
|
|
544
|
+
|
|
545
|
+
https://api.oceanex.pro/doc/v1/#trades-post
|
|
546
|
+
|
|
455
547
|
:param str symbol: unified symbol of the market to fetch trades for
|
|
456
548
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
|
457
549
|
:param int [limit]: the maximum amount of trades to fetch
|
|
@@ -478,7 +570,7 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
478
570
|
# "funds":"6.0732952",
|
|
479
571
|
# "market":"ethusdt",
|
|
480
572
|
# "created_at":"2022-04-19T19:03:15Z",
|
|
481
|
-
# "created_on":
|
|
573
|
+
# "created_on":1650394994,
|
|
482
574
|
# "side":"bid"
|
|
483
575
|
# },
|
|
484
576
|
# ]
|
|
@@ -530,10 +622,12 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
530
622
|
'fee': None,
|
|
531
623
|
}, market)
|
|
532
624
|
|
|
533
|
-
async def fetch_time(self, params={}):
|
|
625
|
+
async def fetch_time(self, params={}) -> Int:
|
|
534
626
|
"""
|
|
535
627
|
fetches the current integer timestamp in milliseconds from the exchange server
|
|
536
|
-
|
|
628
|
+
|
|
629
|
+
https://api.oceanex.pro/doc/v1/#api-server-time-post
|
|
630
|
+
|
|
537
631
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
538
632
|
:returns int: the current integer timestamp in milliseconds from the exchange server
|
|
539
633
|
"""
|
|
@@ -546,7 +640,9 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
546
640
|
async def fetch_trading_fees(self, params={}) -> TradingFees:
|
|
547
641
|
"""
|
|
548
642
|
fetch the trading fees for multiple markets
|
|
549
|
-
|
|
643
|
+
|
|
644
|
+
https://api.oceanex.pro/doc/v1/#trading-fees-post
|
|
645
|
+
|
|
550
646
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
551
647
|
:returns dict: a dictionary of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>` indexed by market symbols
|
|
552
648
|
"""
|
|
@@ -589,7 +685,9 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
589
685
|
async def fetch_balance(self, params={}) -> Balances:
|
|
590
686
|
"""
|
|
591
687
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
|
592
|
-
|
|
688
|
+
|
|
689
|
+
https://api.oceanex.pro/doc/v1/#account-info-post
|
|
690
|
+
|
|
593
691
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
594
692
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
|
595
693
|
"""
|
|
@@ -600,12 +698,14 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
600
698
|
async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
|
601
699
|
"""
|
|
602
700
|
create a trade order
|
|
603
|
-
|
|
701
|
+
|
|
702
|
+
https://api.oceanex.pro/doc/v1/#new-order-post
|
|
703
|
+
|
|
604
704
|
:param str symbol: unified symbol of the market to create an order in
|
|
605
705
|
:param str type: 'market' or 'limit'
|
|
606
706
|
:param str side: 'buy' or 'sell'
|
|
607
707
|
:param float amount: how much of currency you want to trade in units of base currency
|
|
608
|
-
:param float [price]: the price at which the order is to be
|
|
708
|
+
:param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
|
|
609
709
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
610
710
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
611
711
|
"""
|
|
@@ -626,7 +726,10 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
626
726
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
|
627
727
|
"""
|
|
628
728
|
fetches information on an order made by the user
|
|
629
|
-
|
|
729
|
+
|
|
730
|
+
https://api.oceanex.pro/doc/v1/#order-status-get
|
|
731
|
+
|
|
732
|
+
:param str id: order id
|
|
630
733
|
:param str symbol: unified symbol of the market the order was made in
|
|
631
734
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
632
735
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
@@ -652,7 +755,9 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
652
755
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
653
756
|
"""
|
|
654
757
|
fetch all unfilled currently open orders
|
|
655
|
-
|
|
758
|
+
|
|
759
|
+
https://api.oceanex.pro/doc/v1/#order-status-get
|
|
760
|
+
|
|
656
761
|
:param str symbol: unified market symbol
|
|
657
762
|
:param int [since]: the earliest time in ms to fetch open orders for
|
|
658
763
|
:param int [limit]: the maximum number of open orders structures to retrieve
|
|
@@ -667,7 +772,9 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
667
772
|
async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
668
773
|
"""
|
|
669
774
|
fetches information on multiple closed orders made by the user
|
|
670
|
-
|
|
775
|
+
|
|
776
|
+
https://api.oceanex.pro/doc/v1/#order-status-get
|
|
777
|
+
|
|
671
778
|
:param str symbol: unified market symbol of the market orders were made in
|
|
672
779
|
:param int [since]: the earliest time in ms to fetch orders for
|
|
673
780
|
:param int [limit]: the maximum number of order structures to retrieve
|
|
@@ -682,7 +789,9 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
682
789
|
async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
683
790
|
"""
|
|
684
791
|
fetches information on multiple orders made by the user
|
|
685
|
-
|
|
792
|
+
|
|
793
|
+
https://api.oceanex.pro/doc/v1/#order-status-with-filters-post
|
|
794
|
+
|
|
686
795
|
:param str symbol: unified market symbol of the market orders were made in
|
|
687
796
|
:param int [since]: the earliest time in ms to fetch orders for
|
|
688
797
|
:param int [limit]: the maximum number of order structures to retrieve
|
|
@@ -733,7 +842,9 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
733
842
|
async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
|
734
843
|
"""
|
|
735
844
|
fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
|
736
|
-
|
|
845
|
+
|
|
846
|
+
https://api.oceanex.pro/doc/v1/#k-line-post
|
|
847
|
+
|
|
737
848
|
:param str symbol: unified symbol of the market to fetch OHLCV data for
|
|
738
849
|
:param str timeframe: the length of time each candle represents
|
|
739
850
|
:param int [since]: timestamp in ms of the earliest candle to fetch
|
|
@@ -797,7 +908,6 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
797
908
|
'postOnly': None,
|
|
798
909
|
'side': self.safe_value(order, 'side'),
|
|
799
910
|
'price': price,
|
|
800
|
-
'stopPrice': None,
|
|
801
911
|
'triggerPrice': None,
|
|
802
912
|
'average': average,
|
|
803
913
|
'amount': amount,
|
|
@@ -820,7 +930,9 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
820
930
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
|
821
931
|
"""
|
|
822
932
|
cancels an open order
|
|
823
|
-
|
|
933
|
+
|
|
934
|
+
https://api.oceanex.pro/doc/v1/#cancel-order-post
|
|
935
|
+
|
|
824
936
|
:param str id: order id
|
|
825
937
|
:param str symbol: not used by oceanex cancelOrder()
|
|
826
938
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -834,7 +946,9 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
834
946
|
async def cancel_orders(self, ids, symbol: Str = None, params={}):
|
|
835
947
|
"""
|
|
836
948
|
cancel multiple orders
|
|
837
|
-
|
|
949
|
+
|
|
950
|
+
https://api.oceanex.pro/doc/v1/#cancel-multiple-orders-post
|
|
951
|
+
|
|
838
952
|
:param str[] ids: order ids
|
|
839
953
|
:param str symbol: not used by oceanex cancelOrders()
|
|
840
954
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -848,7 +962,9 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
848
962
|
async def cancel_all_orders(self, symbol: Str = None, params={}):
|
|
849
963
|
"""
|
|
850
964
|
cancel all open orders
|
|
851
|
-
|
|
965
|
+
|
|
966
|
+
https://api.oceanex.pro/doc/v1/#cancel-all-orders-post
|
|
967
|
+
|
|
852
968
|
:param str symbol: unified market symbol, only orders in the market of self symbol are cancelled when symbol is not None
|
|
853
969
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
854
970
|
:returns dict[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
|
@@ -858,6 +974,79 @@ class oceanex(Exchange, ImplicitAPI):
|
|
|
858
974
|
data = self.safe_list(response, 'data')
|
|
859
975
|
return self.parse_orders(data)
|
|
860
976
|
|
|
977
|
+
async def fetch_deposit_addresses_by_network(self, code: str, params={}) -> List[DepositAddress]:
|
|
978
|
+
"""
|
|
979
|
+
fetch the deposit addresses for a currency associated with self account
|
|
980
|
+
|
|
981
|
+
https://api.oceanex.pro/doc/v1/#deposit-addresses-post
|
|
982
|
+
|
|
983
|
+
:param str code: unified currency code
|
|
984
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
985
|
+
:returns dict: a dictionary `address structures <https://docs.ccxt.com/#/?id=address-structure>`, indexed by the network
|
|
986
|
+
"""
|
|
987
|
+
await self.load_markets()
|
|
988
|
+
currency = self.currency(code)
|
|
989
|
+
request: dict = {
|
|
990
|
+
'currency': currency['id'],
|
|
991
|
+
}
|
|
992
|
+
response = await self.privatePostDepositAddresses(self.extend(request, params))
|
|
993
|
+
#
|
|
994
|
+
# {
|
|
995
|
+
# code: '0',
|
|
996
|
+
# message: 'Operation successful',
|
|
997
|
+
# data: {
|
|
998
|
+
# data: {
|
|
999
|
+
# currency_id: 'usdt',
|
|
1000
|
+
# display_name: 'USDT',
|
|
1001
|
+
# num_of_resources: '3',
|
|
1002
|
+
# resources: [
|
|
1003
|
+
# {
|
|
1004
|
+
# chain_name: 'TRC20',
|
|
1005
|
+
# currency_id: 'usdt',
|
|
1006
|
+
# address: 'TPcS7VgKMFmpRrWY82GbJzDeMnemWxEbpg',
|
|
1007
|
+
# memo: '',
|
|
1008
|
+
# deposit_status: 'enabled'
|
|
1009
|
+
# },
|
|
1010
|
+
# ...
|
|
1011
|
+
# ]
|
|
1012
|
+
# }
|
|
1013
|
+
# }
|
|
1014
|
+
# }
|
|
1015
|
+
#
|
|
1016
|
+
data = self.safe_dict(response, 'data', {})
|
|
1017
|
+
data2 = self.safe_dict(data, 'data', {})
|
|
1018
|
+
resources = self.safe_list(data2, 'resources', [])
|
|
1019
|
+
result = {}
|
|
1020
|
+
for i in range(0, len(resources)):
|
|
1021
|
+
resource = resources[i]
|
|
1022
|
+
enabled = self.safe_string(resource, 'deposit_status')
|
|
1023
|
+
if enabled == 'enabled':
|
|
1024
|
+
parsedAddress = self.parse_deposit_address(resource, currency)
|
|
1025
|
+
result[parsedAddress['currency']] = parsedAddress
|
|
1026
|
+
return result
|
|
1027
|
+
|
|
1028
|
+
def parse_deposit_address(self, depositAddress, currency: Currency = None) -> DepositAddress:
|
|
1029
|
+
#
|
|
1030
|
+
# {
|
|
1031
|
+
# chain_name: 'TRC20',
|
|
1032
|
+
# currency_id: 'usdt',
|
|
1033
|
+
# address: 'TPcS7VgKMFmpRrWY82GbJzDeMnemWxEbpg',
|
|
1034
|
+
# memo: '',
|
|
1035
|
+
# deposit_status: 'enabled'
|
|
1036
|
+
# }
|
|
1037
|
+
#
|
|
1038
|
+
address = self.safe_string(depositAddress, 'address')
|
|
1039
|
+
self.check_address(address)
|
|
1040
|
+
currencyId = self.safe_string(depositAddress, 'currency_id')
|
|
1041
|
+
networkId = self.safe_string(depositAddress, 'chain_name')
|
|
1042
|
+
return {
|
|
1043
|
+
'info': depositAddress,
|
|
1044
|
+
'currency': self.safe_currency_code(currencyId, currency),
|
|
1045
|
+
'network': self.network_id_to_code(networkId),
|
|
1046
|
+
'address': address,
|
|
1047
|
+
'tag': self.safe_string(depositAddress, 'memo'),
|
|
1048
|
+
}
|
|
1049
|
+
|
|
861
1050
|
def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
|
|
862
1051
|
url = self.urls['api']['rest'] + '/' + self.version + '/' + self.implode_params(path, params)
|
|
863
1052
|
query = self.omit(params, self.extract_params(path))
|