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/oxfun.py
CHANGED
|
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
|
|
|
7
7
|
from ccxt.abstract.oxfun import ImplicitAPI
|
|
8
8
|
import asyncio
|
|
9
9
|
import hashlib
|
|
10
|
-
from ccxt.base.types import Account, Balances, Bool, Currencies, Currency, Int, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
|
10
|
+
from ccxt.base.types import Account, Any, Balances, Bool, Currencies, Currency, DepositAddress, Int, LeverageTier, LeverageTiers, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, Transaction, TransferEntry
|
|
11
11
|
from typing import List
|
|
12
12
|
from ccxt.base.errors import ExchangeError
|
|
13
13
|
from ccxt.base.errors import AuthenticationError
|
|
@@ -25,12 +25,11 @@ from ccxt.base.errors import NetworkError
|
|
|
25
25
|
from ccxt.base.errors import RateLimitExceeded
|
|
26
26
|
from ccxt.base.errors import RequestTimeout
|
|
27
27
|
from ccxt.base.decimal_to_precision import TICK_SIZE
|
|
28
|
-
from ccxt.base.precise import Precise
|
|
29
28
|
|
|
30
29
|
|
|
31
30
|
class oxfun(Exchange, ImplicitAPI):
|
|
32
31
|
|
|
33
|
-
def describe(self):
|
|
32
|
+
def describe(self) -> Any:
|
|
34
33
|
return self.deep_extend(super(oxfun, self).describe(), {
|
|
35
34
|
'id': 'oxfun',
|
|
36
35
|
'name': 'OXFUN',
|
|
@@ -77,14 +76,14 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
77
76
|
'fetchCrossBorrowRates': False,
|
|
78
77
|
'fetchCurrencies': True,
|
|
79
78
|
'fetchDeposit': False,
|
|
80
|
-
'fetchDepositAddress':
|
|
79
|
+
'fetchDepositAddress': True,
|
|
81
80
|
'fetchDepositAddresses': False,
|
|
82
81
|
'fetchDepositAddressesByNetwork': False,
|
|
83
82
|
'fetchDeposits': True,
|
|
84
83
|
'fetchDepositWithdrawFee': False,
|
|
85
84
|
'fetchDepositWithdrawFees': False,
|
|
86
85
|
'fetchFundingHistory': True,
|
|
87
|
-
'fetchFundingRate':
|
|
86
|
+
'fetchFundingRate': True,
|
|
88
87
|
'fetchFundingRateHistory': True,
|
|
89
88
|
'fetchFundingRates': True,
|
|
90
89
|
'fetchIndexOHLCV': False,
|
|
@@ -94,7 +93,7 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
94
93
|
'fetchLedger': False,
|
|
95
94
|
'fetchLeverage': False,
|
|
96
95
|
'fetchLeverageTiers': True,
|
|
97
|
-
'fetchMarketLeverageTiers':
|
|
96
|
+
'fetchMarketLeverageTiers': 'emulated',
|
|
98
97
|
'fetchMarkets': True,
|
|
99
98
|
'fetchMarkOHLCV': False,
|
|
100
99
|
'fetchMyTrades': True,
|
|
@@ -133,6 +132,7 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
133
132
|
'reduceMargin': False,
|
|
134
133
|
'repayCrossMargin': False,
|
|
135
134
|
'repayIsolatedMargin': False,
|
|
135
|
+
'sandbox': True,
|
|
136
136
|
'setLeverage': False,
|
|
137
137
|
'setMargin': False,
|
|
138
138
|
'setMarginMode': False,
|
|
@@ -259,6 +259,74 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
259
259
|
'Optimism': 'OPTIMISM',
|
|
260
260
|
},
|
|
261
261
|
},
|
|
262
|
+
'features': {
|
|
263
|
+
'default': {
|
|
264
|
+
'sandbox': True,
|
|
265
|
+
'createOrder': {
|
|
266
|
+
'marginMode': False,
|
|
267
|
+
'triggerPrice': True,
|
|
268
|
+
'triggerDirection': False,
|
|
269
|
+
'triggerPriceType': None,
|
|
270
|
+
'stopLossPrice': False, # todo
|
|
271
|
+
'takeProfitPrice': False, # todo
|
|
272
|
+
'attachedStopLossTakeProfit': None,
|
|
273
|
+
'timeInForce': {
|
|
274
|
+
'IOC': True,
|
|
275
|
+
'FOK': True,
|
|
276
|
+
'PO': True,
|
|
277
|
+
'GTD': False,
|
|
278
|
+
},
|
|
279
|
+
'hedged': False,
|
|
280
|
+
'trailing': False,
|
|
281
|
+
'leverage': False,
|
|
282
|
+
'marketBuyByCost': True,
|
|
283
|
+
'marketBuyRequiresPrice': False,
|
|
284
|
+
'selfTradePrevention': True, # todo
|
|
285
|
+
'iceberg': True, # todo
|
|
286
|
+
},
|
|
287
|
+
'createOrders': {
|
|
288
|
+
'max': 10, # todo
|
|
289
|
+
},
|
|
290
|
+
'fetchMyTrades': {
|
|
291
|
+
'marginMode': False,
|
|
292
|
+
'limit': 500,
|
|
293
|
+
'daysBack': 100000, # todo
|
|
294
|
+
'untilDays': 7,
|
|
295
|
+
'symbolRequired': False,
|
|
296
|
+
},
|
|
297
|
+
'fetchOrder': {
|
|
298
|
+
'marginMode': False,
|
|
299
|
+
'trigger': False,
|
|
300
|
+
'trailing': False,
|
|
301
|
+
'symbolRequired': False,
|
|
302
|
+
},
|
|
303
|
+
'fetchOpenOrders': {
|
|
304
|
+
'marginMode': False,
|
|
305
|
+
'limit': None,
|
|
306
|
+
'trigger': False,
|
|
307
|
+
'trailing': False,
|
|
308
|
+
'symbolRequired': False,
|
|
309
|
+
},
|
|
310
|
+
'fetchOrders': None,
|
|
311
|
+
'fetchClosedOrders': None, # todo?
|
|
312
|
+
'fetchOHLCV': {
|
|
313
|
+
'limit': 500,
|
|
314
|
+
},
|
|
315
|
+
},
|
|
316
|
+
'spot': {
|
|
317
|
+
'extends': 'default',
|
|
318
|
+
},
|
|
319
|
+
'swap': {
|
|
320
|
+
'linear': {
|
|
321
|
+
'extends': 'default',
|
|
322
|
+
},
|
|
323
|
+
'inverse': None,
|
|
324
|
+
},
|
|
325
|
+
'future': {
|
|
326
|
+
'linear': None,
|
|
327
|
+
'inverse': None,
|
|
328
|
+
},
|
|
329
|
+
},
|
|
262
330
|
'exceptions': {
|
|
263
331
|
'exact': {
|
|
264
332
|
'-0010': OperationFailed, # {"event":null,"success":false,"message":"Validation failed","code":"0010","data":null} - failed transfer
|
|
@@ -332,7 +400,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
332
400
|
async def fetch_markets(self, params={}) -> List[Market]:
|
|
333
401
|
"""
|
|
334
402
|
retrieves data on all markets for bitmex
|
|
335
|
-
|
|
403
|
+
|
|
404
|
+
https://docs.ox.fun/?json#get-v3-markets
|
|
405
|
+
|
|
336
406
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
337
407
|
:returns dict[]: an array of objects representing market data
|
|
338
408
|
"""
|
|
@@ -505,7 +575,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
505
575
|
async def fetch_currencies(self, params={}) -> Currencies:
|
|
506
576
|
"""
|
|
507
577
|
fetches all available currencies on an exchange
|
|
508
|
-
|
|
578
|
+
|
|
579
|
+
https://docs.ox.fun/?json#get-v3-assets
|
|
580
|
+
|
|
509
581
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
510
582
|
:returns dict: an associative dictionary of currencies
|
|
511
583
|
"""
|
|
@@ -540,66 +612,7 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
540
612
|
# "minDeposit": "0.00010",
|
|
541
613
|
# "minWithdrawal": "0.00010"
|
|
542
614
|
# },
|
|
543
|
-
#
|
|
544
|
-
# "network": "Arbitrum",
|
|
545
|
-
# "tokenId": "0xba0Dda8762C24dA9487f5FA026a9B64b695A07Ea",
|
|
546
|
-
# "transactionPrecision": "18",
|
|
547
|
-
# "isWithdrawalFeeChargedToUser": True,
|
|
548
|
-
# "canDeposit": True,
|
|
549
|
-
# "canWithdraw": True,
|
|
550
|
-
# "minDeposit": "0.00010",
|
|
551
|
-
# "minWithdrawal": "0.00010"
|
|
552
|
-
# },
|
|
553
|
-
# {
|
|
554
|
-
# "network": "Ethereum",
|
|
555
|
-
# "tokenId": "0xba0Dda8762C24dA9487f5FA026a9B64b695A07Ea",
|
|
556
|
-
# "transactionPrecision": "18",
|
|
557
|
-
# "isWithdrawalFeeChargedToUser": True,
|
|
558
|
-
# "canDeposit": True,
|
|
559
|
-
# "canWithdraw": True,
|
|
560
|
-
# "minDeposit": "0.00010",
|
|
561
|
-
# "minWithdrawal": "0.00010"
|
|
562
|
-
# },
|
|
563
|
-
# {
|
|
564
|
-
# "network": "Arbitrum",
|
|
565
|
-
# "tokenId": "0x78a0A62Fba6Fb21A83FE8a3433d44C73a4017A6f",
|
|
566
|
-
# "transactionPrecision": "18",
|
|
567
|
-
# "isWithdrawalFeeChargedToUser": True,
|
|
568
|
-
# "canDeposit": True,
|
|
569
|
-
# "canWithdraw": False,
|
|
570
|
-
# "minDeposit": "0.00010",
|
|
571
|
-
# "minWithdrawal": "0.00010"
|
|
572
|
-
# },
|
|
573
|
-
# {
|
|
574
|
-
# "network": "Avalanche",
|
|
575
|
-
# "tokenId": "0x78a0A62Fba6Fb21A83FE8a3433d44C73a4017A6f",
|
|
576
|
-
# "transactionPrecision": "18",
|
|
577
|
-
# "isWithdrawalFeeChargedToUser": True,
|
|
578
|
-
# "canDeposit": True,
|
|
579
|
-
# "canWithdraw": False,
|
|
580
|
-
# "minDeposit": "0.00010",
|
|
581
|
-
# "minWithdrawal": "0.00010"
|
|
582
|
-
# },
|
|
583
|
-
# {
|
|
584
|
-
# "network": "Solana",
|
|
585
|
-
# "tokenId": "DV3845GEAVXfwpyVGGgWbqBVCtzHdCXNCGfcdboSEuZz",
|
|
586
|
-
# "transactionPrecision": "8",
|
|
587
|
-
# "isWithdrawalFeeChargedToUser": True,
|
|
588
|
-
# "canDeposit": True,
|
|
589
|
-
# "canWithdraw": True,
|
|
590
|
-
# "minDeposit": "0.00010",
|
|
591
|
-
# "minWithdrawal": "0.00010"
|
|
592
|
-
# },
|
|
593
|
-
# {
|
|
594
|
-
# "network": "Ethereum",
|
|
595
|
-
# "tokenId": "0x78a0A62Fba6Fb21A83FE8a3433d44C73a4017A6f",
|
|
596
|
-
# "transactionPrecision": "18",
|
|
597
|
-
# "isWithdrawalFeeChargedToUser": True,
|
|
598
|
-
# "canDeposit": True,
|
|
599
|
-
# "canWithdraw": False,
|
|
600
|
-
# "minDeposit": "0.00010",
|
|
601
|
-
# "minWithdrawal": "0.00010"
|
|
602
|
-
# }
|
|
615
|
+
# ...
|
|
603
616
|
# ]
|
|
604
617
|
# },
|
|
605
618
|
# {
|
|
@@ -649,80 +662,72 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
649
662
|
parts = fullId.split('.')
|
|
650
663
|
id = parts[0]
|
|
651
664
|
code = self.safe_currency_code(id)
|
|
652
|
-
|
|
665
|
+
if not (code in result):
|
|
666
|
+
result[code] = {
|
|
667
|
+
'id': id,
|
|
668
|
+
'code': code,
|
|
669
|
+
'precision': None,
|
|
670
|
+
'type': None,
|
|
671
|
+
'name': None,
|
|
672
|
+
'active': None,
|
|
673
|
+
'deposit': None,
|
|
674
|
+
'withdraw': None,
|
|
675
|
+
'fee': None,
|
|
676
|
+
'limits': {
|
|
677
|
+
'withdraw': {
|
|
678
|
+
'min': None,
|
|
679
|
+
'max': None,
|
|
680
|
+
},
|
|
681
|
+
'deposit': {
|
|
682
|
+
'min': None,
|
|
683
|
+
'max': None,
|
|
684
|
+
},
|
|
685
|
+
},
|
|
686
|
+
'networks': {},
|
|
687
|
+
'info': [],
|
|
688
|
+
}
|
|
653
689
|
chains = self.safe_list(currency, 'networkList', [])
|
|
654
|
-
currencyMaxPrecision: Str = None
|
|
655
|
-
currencyDepositEnabled: Bool = None
|
|
656
|
-
currencyWithdrawEnabled: Bool = None
|
|
657
690
|
for j in range(0, len(chains)):
|
|
658
691
|
chain = chains[j]
|
|
659
692
|
networkId = self.safe_string(chain, 'network')
|
|
660
693
|
networkCode = self.network_id_to_code(networkId)
|
|
661
|
-
|
|
662
|
-
withdraw = self.safe_bool(chain, 'canWithdraw')
|
|
663
|
-
active = (deposit and withdraw)
|
|
664
|
-
minDeposit = self.safe_string(chain, 'minDeposit')
|
|
665
|
-
minWithdrawal = self.safe_string(chain, 'minWithdrawal')
|
|
666
|
-
precision = self.parse_precision(self.safe_string(chain, 'transactionPrecision'))
|
|
667
|
-
networks[networkCode] = {
|
|
694
|
+
result[code]['networks'][networkCode] = {
|
|
668
695
|
'id': networkId,
|
|
669
696
|
'network': networkCode,
|
|
670
697
|
'margin': None,
|
|
671
|
-
'deposit':
|
|
672
|
-
'withdraw':
|
|
673
|
-
'active':
|
|
698
|
+
'deposit': self.safe_bool(chain, 'canDeposit'),
|
|
699
|
+
'withdraw': self.safe_bool(chain, 'canWithdraw'),
|
|
700
|
+
'active': None,
|
|
674
701
|
'fee': None,
|
|
675
|
-
'precision': self.parse_number(
|
|
702
|
+
'precision': self.parse_number(self.parse_precision(self.safe_string(chain, 'transactionPrecision'))),
|
|
676
703
|
'limits': {
|
|
677
704
|
'deposit': {
|
|
678
|
-
'min': minDeposit,
|
|
705
|
+
'min': self.safe_number(chain, 'minDeposit'),
|
|
679
706
|
'max': None,
|
|
680
707
|
},
|
|
681
708
|
'withdraw': {
|
|
682
|
-
'min': minWithdrawal,
|
|
709
|
+
'min': self.safe_number(chain, 'minWithdrawal'),
|
|
683
710
|
'max': None,
|
|
684
711
|
},
|
|
685
712
|
},
|
|
686
713
|
'info': chain,
|
|
687
714
|
}
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
networks = self.extend(result[code]['networks'], networks)
|
|
697
|
-
result[code] = {
|
|
698
|
-
'id': id,
|
|
699
|
-
'code': code,
|
|
700
|
-
'name': None,
|
|
701
|
-
'type': None,
|
|
702
|
-
'active': None,
|
|
703
|
-
'deposit': currencyDepositEnabled,
|
|
704
|
-
'withdraw': currencyWithdrawEnabled,
|
|
705
|
-
'fee': None,
|
|
706
|
-
'precision': self.parse_number(currencyMaxPrecision),
|
|
707
|
-
'limits': {
|
|
708
|
-
'amount': {
|
|
709
|
-
'min': None,
|
|
710
|
-
'max': None,
|
|
711
|
-
},
|
|
712
|
-
'withdraw': {
|
|
713
|
-
'min': None,
|
|
714
|
-
'max': None,
|
|
715
|
-
},
|
|
716
|
-
},
|
|
717
|
-
'networks': networks,
|
|
718
|
-
'info': currency,
|
|
719
|
-
}
|
|
715
|
+
infos = self.safe_list(result[code], 'info', [])
|
|
716
|
+
infos.append(currency)
|
|
717
|
+
result[code]['info'] = infos
|
|
718
|
+
# only after all entries are formed in currencies, restructure each entry
|
|
719
|
+
allKeys = list(result.keys())
|
|
720
|
+
for i in range(0, len(allKeys)):
|
|
721
|
+
code = allKeys[i]
|
|
722
|
+
result[code] = self.safe_currency_structure(result[code]) # self is needed after adding network entry
|
|
720
723
|
return result
|
|
721
724
|
|
|
722
725
|
async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
|
723
726
|
"""
|
|
724
727
|
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
725
|
-
|
|
728
|
+
|
|
729
|
+
https://docs.ox.fun/?json#get-v3-tickers
|
|
730
|
+
|
|
726
731
|
:param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
727
732
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
728
733
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -783,7 +788,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
783
788
|
async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
|
784
789
|
"""
|
|
785
790
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
786
|
-
|
|
791
|
+
|
|
792
|
+
https://docs.ox.fun/?json#get-v3-tickers
|
|
793
|
+
|
|
787
794
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
|
788
795
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
789
796
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -859,13 +866,16 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
859
866
|
'average': None,
|
|
860
867
|
'baseVolume': self.safe_string(ticker, 'currencyVolume24h'),
|
|
861
868
|
'quoteVolume': None, # the exchange returns cost in OX
|
|
869
|
+
'markPrice': self.safe_string(ticker, 'markPrice'),
|
|
862
870
|
'info': ticker,
|
|
863
871
|
}, market)
|
|
864
872
|
|
|
865
873
|
async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
|
866
874
|
"""
|
|
867
875
|
fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
|
868
|
-
|
|
876
|
+
|
|
877
|
+
https://docs.ox.fun/?json#get-v3-candles
|
|
878
|
+
|
|
869
879
|
:param str symbol: unified symbol of the market to fetch OHLCV data for
|
|
870
880
|
:param str timeframe: the length of time each candle represents
|
|
871
881
|
:param int [since]: timestamp in ms of the earliest candle to fetch(default 24 hours ago)
|
|
@@ -946,7 +956,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
946
956
|
async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
|
947
957
|
"""
|
|
948
958
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
|
949
|
-
|
|
959
|
+
|
|
960
|
+
https://docs.ox.fun/?json#get-v3-depth
|
|
961
|
+
|
|
950
962
|
:param str symbol: unified symbol of the market to fetch the order book for
|
|
951
963
|
:param int [limit]: the maximum amount of order book entries to return(default 5, max 100)
|
|
952
964
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -988,10 +1000,12 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
988
1000
|
timestamp = self.safe_integer(data, 'lastUpdatedAt')
|
|
989
1001
|
return self.parse_order_book(data, market['symbol'], timestamp)
|
|
990
1002
|
|
|
991
|
-
async def fetch_funding_rates(self, symbols: Strings = None, params={}):
|
|
1003
|
+
async def fetch_funding_rates(self, symbols: Strings = None, params={}) -> FundingRates:
|
|
992
1004
|
"""
|
|
993
|
-
|
|
994
|
-
|
|
1005
|
+
fetch the current funding rates for multiple markets
|
|
1006
|
+
|
|
1007
|
+
https://docs.ox.fun/?json#get-v3-funding-estimates
|
|
1008
|
+
|
|
995
1009
|
:param str[] symbols: unified market symbols
|
|
996
1010
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
997
1011
|
:returns Order[]: an array of `funding rate structures <https://docs.ccxt.com/#/?id=funding-rate-structure>`
|
|
@@ -1018,17 +1032,35 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1018
1032
|
# }
|
|
1019
1033
|
#
|
|
1020
1034
|
data = self.safe_list(response, 'data', [])
|
|
1021
|
-
|
|
1022
|
-
|
|
1035
|
+
return self.parse_funding_rates(data, symbols)
|
|
1036
|
+
|
|
1037
|
+
async def fetch_funding_rate(self, symbol: str, params={}) -> FundingRate:
|
|
1038
|
+
"""
|
|
1039
|
+
fetch the current funding rates for a symbol
|
|
1040
|
+
|
|
1041
|
+
https://docs.ox.fun/?json#get-v3-funding-estimates
|
|
1042
|
+
|
|
1043
|
+
:param str symbol: unified market symbols
|
|
1044
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1045
|
+
:returns Order[]: an array of `funding rate structures <https://docs.ccxt.com/#/?id=funding-rate-structure>`
|
|
1046
|
+
"""
|
|
1047
|
+
await self.load_markets()
|
|
1048
|
+
request: dict = {
|
|
1049
|
+
'marketCode': self.market_id(symbol),
|
|
1050
|
+
}
|
|
1051
|
+
response = await self.publicGetV3FundingEstimates(self.extend(request, params))
|
|
1052
|
+
#
|
|
1053
|
+
data = self.safe_list(response, 'data', [])
|
|
1054
|
+
first = self.safe_dict(data, 0, {})
|
|
1055
|
+
return self.parse_funding_rate(first, self.market(symbol))
|
|
1023
1056
|
|
|
1024
|
-
def parse_funding_rate(self, fundingRate, market: Market = None):
|
|
1057
|
+
def parse_funding_rate(self, fundingRate, market: Market = None) -> FundingRate:
|
|
1025
1058
|
#
|
|
1026
1059
|
# {
|
|
1027
1060
|
# "marketCode": "OX-USD-SWAP-LIN",
|
|
1028
1061
|
# "fundingAt": "1715515200000",
|
|
1029
1062
|
# "estFundingRate": "0.000200000"
|
|
1030
|
-
# }
|
|
1031
|
-
#
|
|
1063
|
+
# }
|
|
1032
1064
|
#
|
|
1033
1065
|
symbol = self.safe_string(fundingRate, 'marketCode')
|
|
1034
1066
|
market = self.market(symbol)
|
|
@@ -1051,12 +1083,15 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1051
1083
|
'previousFundingRate': None,
|
|
1052
1084
|
'previousFundingTimestamp': None,
|
|
1053
1085
|
'previousFundingDatetime': None,
|
|
1086
|
+
'interval': None,
|
|
1054
1087
|
}
|
|
1055
1088
|
|
|
1056
1089
|
async def fetch_funding_rate_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
|
1057
1090
|
"""
|
|
1058
1091
|
Fetches the history of funding rates
|
|
1059
|
-
|
|
1092
|
+
|
|
1093
|
+
https://docs.ox.fun/?json#get-v3-funding-rates
|
|
1094
|
+
|
|
1060
1095
|
:param str symbol: unified symbol of the market to fetch trades for
|
|
1061
1096
|
:param int [since]: timestamp in ms of the earliest trade to fetch(default 24 hours ago)
|
|
1062
1097
|
:param int [limit]: the maximum amount of trades to fetch(default 200, max 500)
|
|
@@ -1131,7 +1166,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1131
1166
|
async def fetch_funding_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
|
1132
1167
|
"""
|
|
1133
1168
|
fetches the history of funding payments
|
|
1134
|
-
|
|
1169
|
+
|
|
1170
|
+
https://docs.ox.fun/?json#get-v3-funding
|
|
1171
|
+
|
|
1135
1172
|
:param str symbol: unified symbol of the market to fetch trades for
|
|
1136
1173
|
:param int [since]: timestamp in ms of the earliest trade to fetch(default 24 hours ago)
|
|
1137
1174
|
:param int [limit]: the maximum amount of trades to fetch(default 200, max 500)
|
|
@@ -1212,10 +1249,12 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1212
1249
|
'rate': rate,
|
|
1213
1250
|
}
|
|
1214
1251
|
|
|
1215
|
-
async def fetch_leverage_tiers(self, symbols: Strings = None, params={}):
|
|
1252
|
+
async def fetch_leverage_tiers(self, symbols: Strings = None, params={}) -> LeverageTiers:
|
|
1216
1253
|
"""
|
|
1217
1254
|
retrieve information on the maximum leverage, and maintenance margin for trades of varying trade sizes, if a market has a leverage tier of 0, then the leverage tiers cannot be obtained for self market
|
|
1218
|
-
|
|
1255
|
+
|
|
1256
|
+
https://docs.ox.fun/?json#get-v3-leverage-tiers
|
|
1257
|
+
|
|
1219
1258
|
:param str[] [symbols]: list of unified market symbols
|
|
1220
1259
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1221
1260
|
:returns dict: a dictionary of `leverage tiers structures <https://docs.ccxt.com/#/?id=leverage-tiers-structure>`, indexed by market symbols
|
|
@@ -1266,7 +1305,7 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1266
1305
|
data = self.safe_list(response, 'data', [])
|
|
1267
1306
|
return self.parse_leverage_tiers(data, symbols, 'marketCode')
|
|
1268
1307
|
|
|
1269
|
-
def parse_market_leverage_tiers(self, info, market: Market = None):
|
|
1308
|
+
def parse_market_leverage_tiers(self, info, market: Market = None) -> List[LeverageTier]:
|
|
1270
1309
|
#
|
|
1271
1310
|
# {
|
|
1272
1311
|
# marketCode: 'SOL-USD-SWAP-LIN',
|
|
@@ -1291,6 +1330,7 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1291
1330
|
tier = listOfTiers[j]
|
|
1292
1331
|
tiers.append({
|
|
1293
1332
|
'tier': self.safe_number(tier, 'tier'),
|
|
1333
|
+
'symbol': self.safe_symbol(marketId, market),
|
|
1294
1334
|
'currency': market['settle'],
|
|
1295
1335
|
'minNotional': self.safe_number(tier, 'positionFloor'),
|
|
1296
1336
|
'maxNotional': self.safe_number(tier, 'positionCap'),
|
|
@@ -1303,7 +1343,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1303
1343
|
async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
|
1304
1344
|
"""
|
|
1305
1345
|
get the list of most recent trades for a particular symbol
|
|
1306
|
-
|
|
1346
|
+
|
|
1347
|
+
https://docs.ox.fun/?json#get-v3-exchange-trades
|
|
1348
|
+
|
|
1307
1349
|
:param str symbol: unified symbol of the market to fetch trades for
|
|
1308
1350
|
:param int [since]: timestamp in ms of the earliest trade to fetch(default 24 hours ago)
|
|
1309
1351
|
:param int [limit]: the maximum amount of trades to fetch(default 200, max 500)
|
|
@@ -1349,7 +1391,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1349
1391
|
async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
|
1350
1392
|
"""
|
|
1351
1393
|
fetch all trades made by the user
|
|
1352
|
-
|
|
1394
|
+
|
|
1395
|
+
https://docs.ox.fun/?json#get-v3-trades
|
|
1396
|
+
|
|
1353
1397
|
:param str symbol: unified market symbol
|
|
1354
1398
|
:param int [since]: the earliest time in ms to fetch trades for
|
|
1355
1399
|
:param int [limit]: the maximum amount of trades to fetch(default 200, max 500)
|
|
@@ -1458,7 +1502,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1458
1502
|
async def fetch_balance(self, params={}) -> Balances:
|
|
1459
1503
|
"""
|
|
1460
1504
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
|
1461
|
-
|
|
1505
|
+
|
|
1506
|
+
https://docs.ox.fun/?json#get-v3-balances
|
|
1507
|
+
|
|
1462
1508
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1463
1509
|
:param str [params.asset]: currency id, if empty the exchange returns info about all currencies
|
|
1464
1510
|
:param str [params.subAcc]: Name of sub account. If no subAcc is given, then the response contains only the account linked to the API-Key.
|
|
@@ -1549,7 +1595,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1549
1595
|
async def fetch_accounts(self, params={}) -> List[Account]:
|
|
1550
1596
|
"""
|
|
1551
1597
|
fetch subaccounts associated with a profile
|
|
1552
|
-
|
|
1598
|
+
|
|
1599
|
+
https://docs.ox.fun/?json#get-v3-account-names
|
|
1600
|
+
|
|
1553
1601
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1554
1602
|
:returns dict: a dictionary of `account structures <https://docs.ccxt.com/#/?id=account-structure>` indexed by the account type
|
|
1555
1603
|
"""
|
|
@@ -1588,7 +1636,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1588
1636
|
async def transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={}) -> TransferEntry:
|
|
1589
1637
|
"""
|
|
1590
1638
|
transfer currency internally between wallets on the same account
|
|
1591
|
-
|
|
1639
|
+
|
|
1640
|
+
https://docs.ox.fun/?json#post-v3-transfer
|
|
1641
|
+
|
|
1592
1642
|
:param str code: unified currency code
|
|
1593
1643
|
:param float amount: amount to transfer
|
|
1594
1644
|
:param str fromAccount: account id to transfer from
|
|
@@ -1629,7 +1679,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1629
1679
|
async def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
|
1630
1680
|
"""
|
|
1631
1681
|
fetch a history of internal transfers made on an account
|
|
1632
|
-
|
|
1682
|
+
|
|
1683
|
+
https://docs.ox.fun/?json#get-v3-transfer
|
|
1684
|
+
|
|
1633
1685
|
:param str code: unified currency code of the currency transferred
|
|
1634
1686
|
:param int [since]: the earliest time in ms to fetch transfers for(default 24 hours ago)
|
|
1635
1687
|
:param int [limit]: the maximum number of transfer structures to retrieve(default 50, max 200)
|
|
@@ -1709,10 +1761,12 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1709
1761
|
}
|
|
1710
1762
|
return self.safe_string(statuses, status, status)
|
|
1711
1763
|
|
|
1712
|
-
async def fetch_deposit_address(self, code: str, params={}):
|
|
1764
|
+
async def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
|
|
1713
1765
|
"""
|
|
1714
1766
|
fetch the deposit address for a currency associated with self account
|
|
1715
|
-
|
|
1767
|
+
|
|
1768
|
+
https://docs.ox.fun/?json#get-v3-deposit-addresses
|
|
1769
|
+
|
|
1716
1770
|
:param str code: unified currency code
|
|
1717
1771
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1718
1772
|
:param str [params.network]: network for fetch deposit address
|
|
@@ -1736,24 +1790,26 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1736
1790
|
data = self.safe_dict(response, 'data', {})
|
|
1737
1791
|
return self.parse_deposit_address(data, currency)
|
|
1738
1792
|
|
|
1739
|
-
def parse_deposit_address(self, depositAddress, currency: Currency = None):
|
|
1793
|
+
def parse_deposit_address(self, depositAddress, currency: Currency = None) -> DepositAddress:
|
|
1740
1794
|
#
|
|
1741
1795
|
# {"address":"0x998dEc76151FB723963Bd8AFD517687b38D33dE8"}
|
|
1742
1796
|
#
|
|
1743
1797
|
address = self.safe_string(depositAddress, 'address')
|
|
1744
1798
|
self.check_address(address)
|
|
1745
1799
|
return {
|
|
1800
|
+
'info': depositAddress,
|
|
1746
1801
|
'currency': currency['code'],
|
|
1802
|
+
'network': None,
|
|
1747
1803
|
'address': address,
|
|
1748
1804
|
'tag': None,
|
|
1749
|
-
'network': None,
|
|
1750
|
-
'info': depositAddress,
|
|
1751
1805
|
}
|
|
1752
1806
|
|
|
1753
1807
|
async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
|
1754
1808
|
"""
|
|
1755
1809
|
fetch all deposits made to an account
|
|
1756
|
-
|
|
1810
|
+
|
|
1811
|
+
https://docs.ox.fun/?json#get-v3-deposit
|
|
1812
|
+
|
|
1757
1813
|
:param str code: unified currency code of the currency transferred
|
|
1758
1814
|
:param int [since]: the earliest time in ms to fetch transfers for(default 24 hours ago)
|
|
1759
1815
|
:param int [limit]: the maximum number of transfer structures to retrieve(default 50, max 200)
|
|
@@ -1801,7 +1857,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1801
1857
|
async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
|
1802
1858
|
"""
|
|
1803
1859
|
fetch all withdrawals made from an account
|
|
1804
|
-
|
|
1860
|
+
|
|
1861
|
+
https://docs.ox.fun/?json#get-v3-withdrawal
|
|
1862
|
+
|
|
1805
1863
|
:param str code: unified currency code of the currency transferred
|
|
1806
1864
|
:param int [since]: the earliest time in ms to fetch transfers for(default 24 hours ago)
|
|
1807
1865
|
:param int [limit]: the maximum number of transfer structures to retrieve(default 50, max 200)
|
|
@@ -1966,19 +2024,21 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
1966
2024
|
}
|
|
1967
2025
|
return self.safe_string(statuses, status, status)
|
|
1968
2026
|
|
|
1969
|
-
async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
|
|
2027
|
+
async def withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={}) -> Transaction:
|
|
1970
2028
|
"""
|
|
1971
2029
|
make a withdrawal
|
|
1972
|
-
|
|
2030
|
+
|
|
2031
|
+
https://docs.ox.fun/?json#post-v3-withdrawal
|
|
2032
|
+
|
|
1973
2033
|
:param str code: unified currency code
|
|
1974
2034
|
:param float amount: the amount to withdraw
|
|
1975
2035
|
:param str address: the address to withdraw to
|
|
1976
2036
|
:param str tag:
|
|
2037
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1977
2038
|
:param str [params.network]: network for withdraw
|
|
1978
2039
|
:param bool [params.externalFee]: if False, then the fee is taken from the quantity, also with the burn fee for asset SOLO
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
* EXCHANGE SPECIFIC PARAMETERS
|
|
2040
|
+
|
|
2041
|
+
EXCHANGE SPECIFIC PARAMETERS
|
|
1982
2042
|
:param str [params.tfaType]: GOOGLE, or AUTHY_SECRET, or YUBIKEY, for 2FA
|
|
1983
2043
|
:param str [params.code]: 2FA code
|
|
1984
2044
|
:returns dict: a `transaction structure <https://docs.ccxt.com/#/?id=transaction-structure>`
|
|
@@ -2020,10 +2080,12 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
2020
2080
|
data['type'] = 'withdrawal'
|
|
2021
2081
|
return self.parse_transaction(data, currency)
|
|
2022
2082
|
|
|
2023
|
-
async def fetch_positions(self, symbols: Strings = None, params={}):
|
|
2083
|
+
async def fetch_positions(self, symbols: Strings = None, params={}) -> List[Position]:
|
|
2024
2084
|
"""
|
|
2025
2085
|
fetch all open positions
|
|
2026
|
-
|
|
2086
|
+
|
|
2087
|
+
https://docs.ox.fun/?json#get-v3-positions
|
|
2088
|
+
|
|
2027
2089
|
:param str[]|None symbols: list of unified market symbols
|
|
2028
2090
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
2029
2091
|
:param boolean [params.subAcc]:
|
|
@@ -2136,12 +2198,14 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
2136
2198
|
async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}) -> Order:
|
|
2137
2199
|
"""
|
|
2138
2200
|
create a trade order
|
|
2139
|
-
|
|
2201
|
+
|
|
2202
|
+
https://docs.ox.fun/?json#post-v3-orders-place
|
|
2203
|
+
|
|
2140
2204
|
:param str symbol: unified symbol of the market to create an order in
|
|
2141
2205
|
:param str type: 'market', 'limit', 'STOP_LIMIT' or 'STOP_MARKET'
|
|
2142
2206
|
:param str side: 'buy' or 'sell'
|
|
2143
2207
|
:param float amount: how much of currency you want to trade in units of base currency
|
|
2144
|
-
:param float [price]: the price at which the order is to be
|
|
2208
|
+
:param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
|
|
2145
2209
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
2146
2210
|
:param int [params.clientOrderId]: a unique id for the order
|
|
2147
2211
|
:param int [params.timestamp]: in milliseconds. If an order reaches the matching engine and the current timestamp exceeds timestamp + recvWindow, then the order will be rejected.
|
|
@@ -2292,7 +2356,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
2292
2356
|
async def create_orders(self, orders: List[OrderRequest], params={}) -> List[Order]:
|
|
2293
2357
|
"""
|
|
2294
2358
|
create a list of trade orders
|
|
2295
|
-
|
|
2359
|
+
|
|
2360
|
+
https://docs.ox.fun/?json#post-v3-orders-place
|
|
2361
|
+
|
|
2296
2362
|
:param Array orders: list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params
|
|
2297
2363
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
2298
2364
|
:param int [params.timestamp]: *for all orders* in milliseconds. If orders reach the matching engine and the current timestamp exceeds timestamp + recvWindow, then all orders will be rejected.
|
|
@@ -2327,7 +2393,7 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
2327
2393
|
:param str type: 'market', 'limit', 'STOP_LIMIT' or 'STOP_MARKET'
|
|
2328
2394
|
:param str side: 'buy' or 'sell'
|
|
2329
2395
|
:param float amount: how much of currency you want to trade in units of base currency
|
|
2330
|
-
:param float [price]: the price at which the order is to be
|
|
2396
|
+
:param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
|
|
2331
2397
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
2332
2398
|
:param int [params.clientOrderId]: a unique id for the order
|
|
2333
2399
|
:param float [params.cost]: the quote quantity that can be used alternative for the amount for market buy orders
|
|
@@ -2375,7 +2441,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
2375
2441
|
async def create_market_buy_order_with_cost(self, symbol: str, cost: float, params={}):
|
|
2376
2442
|
"""
|
|
2377
2443
|
create a market buy order by providing the symbol and cost
|
|
2378
|
-
|
|
2444
|
+
|
|
2445
|
+
https://open.big.one/docs/spot_orders.html#create-order
|
|
2446
|
+
|
|
2379
2447
|
:param str symbol: unified symbol of the market to create an order in
|
|
2380
2448
|
:param float cost: how much you want to trade in units of the quote currency
|
|
2381
2449
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -2392,7 +2460,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
2392
2460
|
|
|
2393
2461
|
async def fetch_order(self, id: str, symbol: Str = None, params={}) -> Order:
|
|
2394
2462
|
"""
|
|
2395
|
-
|
|
2463
|
+
|
|
2464
|
+
https://docs.ox.fun/?json#get-v3-orders-status
|
|
2465
|
+
|
|
2396
2466
|
fetches information on an order made by the user
|
|
2397
2467
|
:param str id: a unique id for the order
|
|
2398
2468
|
:param str [symbol]: not used by oxfun fetchOrder
|
|
@@ -2434,7 +2504,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
2434
2504
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
2435
2505
|
"""
|
|
2436
2506
|
fetch all unfilled currently open orders
|
|
2437
|
-
|
|
2507
|
+
|
|
2508
|
+
https://docs.ox.fun/?json#get-v3-orders-working
|
|
2509
|
+
|
|
2438
2510
|
:param str symbol: unified market symbol
|
|
2439
2511
|
:param int [since]: the earliest time in ms to fetch open orders for
|
|
2440
2512
|
:param int [limit]: the maximum number of open orders structures to retrieve
|
|
@@ -2455,7 +2527,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
2455
2527
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
|
2456
2528
|
"""
|
|
2457
2529
|
cancels an open order
|
|
2458
|
-
|
|
2530
|
+
|
|
2531
|
+
https://docs.ox.fun/?json#delete-v3-orders-cancel
|
|
2532
|
+
|
|
2459
2533
|
:param str id: order id
|
|
2460
2534
|
:param str symbol: unified symbol of the market the order was made in
|
|
2461
2535
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -2489,7 +2563,9 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
2489
2563
|
async def cancel_all_orders(self, symbol: Str = None, params={}):
|
|
2490
2564
|
"""
|
|
2491
2565
|
cancel all open orders
|
|
2492
|
-
|
|
2566
|
+
|
|
2567
|
+
https://docs.ox.fun/?json#delete-v3-orders-cancel-all
|
|
2568
|
+
|
|
2493
2569
|
:param str symbol: unified market symbol, only orders in the market of self symbol are cancelled when symbol is not None
|
|
2494
2570
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
2495
2571
|
:returns dict: response from exchange
|
|
@@ -2509,12 +2585,15 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
2509
2585
|
# "data": {"notice": "No working orders found"}
|
|
2510
2586
|
# }
|
|
2511
2587
|
#
|
|
2512
|
-
|
|
2588
|
+
response = await self.privateDeleteV3OrdersCancelAll(self.extend(request, params))
|
|
2589
|
+
return [self.safe_order({'info': response})]
|
|
2513
2590
|
|
|
2514
2591
|
async def cancel_orders(self, ids: List[str], symbol: Str = None, params={}):
|
|
2515
2592
|
"""
|
|
2516
2593
|
cancel multiple orders
|
|
2517
|
-
|
|
2594
|
+
|
|
2595
|
+
https://docs.ox.fun/?json#delete-v3-orders-cancel
|
|
2596
|
+
|
|
2518
2597
|
:param str[] ids: order ids
|
|
2519
2598
|
:param str [symbol]: unified market symbol
|
|
2520
2599
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -2757,7 +2836,7 @@ class oxfun(Exchange, ImplicitAPI):
|
|
|
2757
2836
|
'AccessKey': self.apiKey,
|
|
2758
2837
|
'Timestamp': datetime,
|
|
2759
2838
|
'Signature': signature,
|
|
2760
|
-
'Nonce': nonce,
|
|
2839
|
+
'Nonce': str(nonce),
|
|
2761
2840
|
}
|
|
2762
2841
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
|
2763
2842
|
|