ccxt-ir 4.3.46.0.2__py2.py3-none-any.whl → 4.5.0__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ccxt/__init__.py +39 -35
- ccxt/abantether.py +9 -9
- ccxt/abstract/alpaca.py +4 -0
- ccxt/abstract/apex.py +31 -0
- ccxt/abstract/bigone.py +1 -1
- ccxt/abstract/binance.py +106 -48
- ccxt/abstract/binancecoinm.py +106 -48
- ccxt/abstract/binanceus.py +141 -83
- ccxt/abstract/binanceusdm.py +106 -48
- ccxt/abstract/bingx.py +50 -1
- ccxt/abstract/bitbank.py +5 -0
- ccxt/abstract/bitfinex.py +136 -65
- ccxt/abstract/bitflyer.py +1 -0
- ccxt/abstract/bitget.py +67 -0
- ccxt/abstract/bitmart.py +19 -1
- ccxt/abstract/bitopro.py +1 -0
- ccxt/abstract/bitrue.py +68 -68
- ccxt/abstract/bitstamp.py +1 -0
- ccxt/abstract/blofin.py +30 -0
- ccxt/abstract/btcbox.py +2 -0
- ccxt/abstract/bybit.py +28 -13
- ccxt/abstract/cex.py +28 -29
- ccxt/abstract/coinbaseexchange.py +1 -0
- ccxt/abstract/coinbaseinternational.py +1 -1
- ccxt/abstract/cryptocom.py +16 -0
- ccxt/abstract/cryptomus.py +20 -0
- ccxt/abstract/defx.py +69 -0
- ccxt/abstract/deribit.py +1 -0
- ccxt/abstract/derive.py +117 -0
- ccxt/abstract/digifinex.py +1 -0
- ccxt/abstract/ellipx.py +25 -0
- ccxt/abstract/foxbit.py +26 -0
- ccxt/abstract/gate.py +19 -0
- ccxt/abstract/gateio.py +19 -0
- ccxt/abstract/gemini.py +1 -0
- ccxt/abstract/hibachi.py +26 -0
- ccxt/abstract/hyperliquid.py +1 -1
- ccxt/abstract/independentreserve.py +6 -0
- ccxt/abstract/kraken.py +1 -0
- ccxt/abstract/krakenfutures.py +4 -0
- ccxt/abstract/kucoin.py +10 -0
- ccxt/abstract/kucoinfutures.py +18 -0
- ccxt/abstract/lbank.py +2 -1
- ccxt/abstract/luno.py +1 -0
- ccxt/abstract/mexc.py +2 -0
- ccxt/abstract/modetrade.py +119 -0
- ccxt/abstract/myokx.py +349 -0
- ccxt/abstract/oceanex.py +5 -0
- ccxt/abstract/okx.py +25 -0
- ccxt/abstract/okxus.py +349 -0
- ccxt/abstract/onetrading.py +0 -12
- ccxt/abstract/paradex.py +23 -0
- ccxt/abstract/phemex.py +2 -0
- ccxt/abstract/poloniex.py +36 -0
- ccxt/abstract/tradeogre.py +3 -1
- ccxt/abstract/upbit.py +51 -34
- ccxt/abstract/whitebit.py +16 -0
- ccxt/abstract/woo.py +64 -6
- ccxt/abstract/xt.py +10 -5
- ccxt/afratether.py +7 -7
- ccxt/alpaca.py +828 -51
- ccxt/apex.py +1875 -0
- ccxt/arzinja.py +7 -7
- ccxt/arzplus.py +9 -9
- ccxt/ascendex.py +501 -306
- ccxt/async_support/__init__.py +39 -35
- ccxt/async_support/abantether.py +10 -10
- ccxt/async_support/afratether.py +9 -9
- ccxt/async_support/alpaca.py +828 -51
- ccxt/async_support/apex.py +1875 -0
- ccxt/async_support/arzinja.py +10 -10
- ccxt/async_support/arzplus.py +12 -12
- ccxt/async_support/ascendex.py +502 -306
- ccxt/async_support/base/exchange.py +303 -89
- ccxt/async_support/base/ws/cache.py +9 -3
- ccxt/async_support/base/ws/client.py +173 -38
- ccxt/async_support/base/ws/future.py +25 -37
- ccxt/async_support/bequant.py +5 -3
- ccxt/async_support/bigone.py +279 -144
- ccxt/async_support/binance.py +2347 -1158
- ccxt/async_support/binancecoinm.py +9 -3
- ccxt/async_support/binanceus.py +17 -3
- ccxt/async_support/binanceusdm.py +9 -4
- ccxt/async_support/bingx.py +2962 -920
- ccxt/async_support/bit2c.py +147 -27
- ccxt/async_support/bitbank.py +151 -23
- ccxt/async_support/bitbns.py +104 -30
- ccxt/async_support/bitfinex.py +3291 -1113
- ccxt/async_support/bitflyer.py +202 -27
- ccxt/async_support/bitget.py +3683 -1538
- ccxt/async_support/bithumb.py +195 -38
- ccxt/async_support/bitimen.py +12 -12
- ccxt/async_support/bitir.py +38 -38
- ccxt/async_support/bitmart.py +1288 -350
- ccxt/async_support/bitmex.py +260 -75
- ccxt/async_support/bitopro.py +262 -62
- ccxt/async_support/bitpin.py +17 -16
- ccxt/async_support/bitrue.py +459 -290
- ccxt/async_support/bitso.py +199 -54
- ccxt/async_support/bitstamp.py +230 -96
- ccxt/async_support/bitteam.py +167 -25
- ccxt/async_support/{huobijp.py → bittrade.py} +158 -30
- ccxt/async_support/bitvavo.py +213 -49
- ccxt/async_support/blockchaincom.py +160 -46
- ccxt/async_support/blofin.py +502 -120
- ccxt/async_support/btcalpha.py +169 -31
- ccxt/async_support/btcbox.py +292 -23
- ccxt/async_support/btcmarkets.py +211 -58
- ccxt/async_support/btcturk.py +161 -38
- ccxt/async_support/bybit.py +1775 -1030
- ccxt/async_support/cex.py +1440 -1303
- ccxt/async_support/coinbase.py +724 -212
- ccxt/async_support/coinbaseadvanced.py +2 -1
- ccxt/async_support/coinbaseexchange.py +388 -89
- ccxt/async_support/coinbaseinternational.py +412 -57
- ccxt/async_support/coincatch.py +177 -78
- ccxt/async_support/coincheck.py +135 -19
- ccxt/async_support/coinex.py +606 -232
- ccxt/async_support/coinmate.py +189 -63
- ccxt/async_support/coinmetro.py +195 -54
- ccxt/async_support/coinone.py +158 -51
- ccxt/async_support/coinsph.py +336 -61
- ccxt/async_support/coinspot.py +151 -52
- ccxt/async_support/cryptocom.py +661 -111
- ccxt/async_support/cryptomus.py +1137 -0
- ccxt/async_support/defx.py +2071 -0
- ccxt/async_support/delta.py +299 -99
- ccxt/async_support/deribit.py +348 -126
- ccxt/async_support/derive.py +2572 -0
- ccxt/async_support/digifinex.py +430 -214
- ccxt/async_support/ellipx.py +2029 -0
- ccxt/async_support/eterex.py +10 -10
- ccxt/async_support/excoino.py +31 -31
- ccxt/async_support/exir.py +14 -14
- ccxt/async_support/exmo.py +344 -131
- ccxt/async_support/exnovin.py +10 -10
- ccxt/async_support/farhadexchange.py +12 -12
- ccxt/async_support/fmfwio.py +2 -1
- ccxt/async_support/foxbit.py +1935 -0
- ccxt/async_support/gate.py +1351 -529
- ccxt/async_support/gateio.py +2 -1
- ccxt/async_support/gemini.py +144 -39
- ccxt/async_support/hashkey.py +152 -109
- ccxt/async_support/hibachi.py +2080 -0
- ccxt/async_support/hitbtc.py +395 -167
- ccxt/async_support/hitobit.py +12 -12
- ccxt/async_support/hollaex.py +307 -119
- ccxt/async_support/htx.py +851 -383
- ccxt/async_support/huobi.py +2 -1
- ccxt/async_support/hyperliquid.py +1848 -536
- ccxt/async_support/independentreserve.py +288 -15
- ccxt/async_support/indodax.py +190 -33
- ccxt/async_support/jibitex.py +12 -12
- ccxt/async_support/kraken.py +795 -351
- ccxt/async_support/krakenfutures.py +214 -62
- ccxt/async_support/kucoin.py +715 -396
- ccxt/async_support/kucoinfutures.py +652 -89
- ccxt/async_support/latoken.py +217 -113
- ccxt/async_support/lbank.py +425 -97
- ccxt/async_support/luno.py +382 -35
- ccxt/async_support/mercado.py +113 -6
- ccxt/async_support/mexc.py +874 -437
- ccxt/async_support/modetrade.py +2818 -0
- ccxt/async_support/myokx.py +54 -0
- ccxt/async_support/ndax.py +221 -64
- ccxt/async_support/nobitex.py +31 -37
- ccxt/async_support/novadax.py +190 -34
- ccxt/async_support/oceanex.py +217 -28
- ccxt/async_support/okcoin.py +253 -145
- ccxt/async_support/okexchange.py +11 -11
- ccxt/async_support/okx.py +1088 -351
- ccxt/async_support/okxus.py +54 -0
- ccxt/async_support/ompfinex.py +25 -24
- ccxt/async_support/onetrading.py +213 -392
- ccxt/async_support/oxfun.py +245 -166
- ccxt/async_support/p2b.py +151 -29
- ccxt/async_support/paradex.py +562 -49
- ccxt/async_support/paymium.py +82 -19
- ccxt/async_support/phemex.py +713 -172
- ccxt/async_support/poloniex.py +1602 -283
- ccxt/async_support/probit.py +224 -95
- ccxt/async_support/ramzinex.py +30 -27
- ccxt/async_support/sarmayex.py +9 -9
- ccxt/async_support/sarrafex.py +13 -13
- ccxt/async_support/tabdeal.py +14 -13
- ccxt/async_support/tetherland.py +9 -9
- ccxt/async_support/timex.py +210 -51
- ccxt/async_support/tokocrypto.py +167 -47
- ccxt/async_support/tradeogre.py +266 -31
- ccxt/async_support/twox.py +9 -9
- ccxt/async_support/ubitex.py +12 -12
- ccxt/async_support/upbit.py +568 -165
- ccxt/async_support/vertex.py +160 -32
- ccxt/async_support/wallex.py +12 -12
- ccxt/async_support/wavesexchange.py +165 -30
- ccxt/async_support/whitebit.py +975 -127
- ccxt/async_support/woo.py +1918 -1016
- ccxt/async_support/woofipro.py +433 -141
- ccxt/async_support/xt.py +649 -193
- ccxt/async_support/yobit.py +195 -70
- ccxt/async_support/zaif.py +91 -15
- ccxt/async_support/zonda.py +151 -36
- ccxt/base/decimal_to_precision.py +14 -10
- ccxt/base/errors.py +49 -18
- ccxt/base/exchange.py +1556 -450
- ccxt/base/precise.py +10 -0
- ccxt/base/types.py +114 -6
- ccxt/bequant.py +5 -3
- ccxt/bigone.py +279 -144
- ccxt/binance.py +2347 -1158
- ccxt/binancecoinm.py +9 -3
- ccxt/binanceus.py +17 -3
- ccxt/binanceusdm.py +9 -4
- ccxt/bingx.py +2962 -920
- ccxt/bit2c.py +147 -27
- ccxt/bitbank.py +151 -23
- ccxt/bitbns.py +104 -30
- ccxt/bitfinex.py +3290 -1113
- ccxt/bitflyer.py +202 -27
- ccxt/bitget.py +3683 -1538
- ccxt/bithumb.py +194 -38
- ccxt/bitimen.py +9 -9
- ccxt/bitir.py +35 -35
- ccxt/bitmart.py +1288 -350
- ccxt/bitmex.py +260 -75
- ccxt/bitopro.py +262 -62
- ccxt/bitpin.py +15 -14
- ccxt/bitrue.py +459 -290
- ccxt/bitso.py +199 -54
- ccxt/bitstamp.py +230 -96
- ccxt/bitteam.py +167 -25
- ccxt/{huobijp.py → bittrade.py} +158 -30
- ccxt/bitvavo.py +213 -49
- ccxt/blockchaincom.py +160 -46
- ccxt/blofin.py +502 -120
- ccxt/btcalpha.py +169 -31
- ccxt/btcbox.py +291 -23
- ccxt/btcmarkets.py +211 -58
- ccxt/btcturk.py +161 -38
- ccxt/bybit.py +1775 -1030
- ccxt/cex.py +1439 -1303
- ccxt/coinbase.py +724 -212
- ccxt/coinbaseadvanced.py +2 -1
- ccxt/coinbaseexchange.py +388 -89
- ccxt/coinbaseinternational.py +412 -57
- ccxt/coincatch.py +177 -78
- ccxt/coincheck.py +135 -19
- ccxt/coinex.py +606 -232
- ccxt/coinmate.py +189 -63
- ccxt/coinmetro.py +194 -54
- ccxt/coinone.py +158 -51
- ccxt/coinsph.py +336 -61
- ccxt/coinspot.py +151 -52
- ccxt/cryptocom.py +661 -111
- ccxt/cryptomus.py +1137 -0
- ccxt/defx.py +2070 -0
- ccxt/delta.py +299 -99
- ccxt/deribit.py +348 -126
- ccxt/derive.py +2571 -0
- ccxt/digifinex.py +430 -214
- ccxt/ellipx.py +2029 -0
- ccxt/eterex.py +7 -7
- ccxt/excoino.py +29 -29
- ccxt/exir.py +11 -11
- ccxt/exmo.py +343 -131
- ccxt/exnovin.py +8 -8
- ccxt/farhadexchange.py +10 -10
- ccxt/fmfwio.py +2 -1
- ccxt/foxbit.py +1935 -0
- ccxt/gate.py +1351 -529
- ccxt/gateio.py +2 -1
- ccxt/gemini.py +144 -39
- ccxt/hashkey.py +152 -109
- ccxt/hibachi.py +2079 -0
- ccxt/hitbtc.py +395 -167
- ccxt/hitobit.py +9 -9
- ccxt/hollaex.py +307 -119
- ccxt/htx.py +851 -383
- ccxt/huobi.py +2 -1
- ccxt/hyperliquid.py +1848 -536
- ccxt/independentreserve.py +287 -15
- ccxt/indodax.py +190 -33
- ccxt/jibitex.py +9 -9
- ccxt/kraken.py +794 -351
- ccxt/krakenfutures.py +214 -62
- ccxt/kucoin.py +715 -396
- ccxt/kucoinfutures.py +652 -89
- ccxt/latoken.py +217 -113
- ccxt/lbank.py +425 -97
- ccxt/luno.py +382 -35
- ccxt/mercado.py +113 -6
- ccxt/mexc.py +873 -437
- ccxt/modetrade.py +2818 -0
- ccxt/myokx.py +54 -0
- ccxt/ndax.py +221 -64
- ccxt/nobitex.py +29 -35
- ccxt/novadax.py +190 -34
- ccxt/oceanex.py +217 -28
- ccxt/okcoin.py +253 -145
- ccxt/okexchange.py +9 -9
- ccxt/okx.py +1088 -351
- ccxt/okxus.py +54 -0
- ccxt/ompfinex.py +22 -21
- ccxt/onetrading.py +213 -392
- ccxt/oxfun.py +245 -166
- ccxt/p2b.py +151 -29
- ccxt/paradex.py +562 -49
- ccxt/paymium.py +82 -19
- ccxt/phemex.py +712 -172
- ccxt/poloniex.py +1601 -283
- ccxt/pro/__init__.py +76 -17
- ccxt/pro/alpaca.py +21 -6
- ccxt/pro/apex.py +984 -0
- ccxt/pro/ascendex.py +58 -10
- ccxt/pro/bequant.py +6 -1
- ccxt/pro/binance.py +728 -156
- ccxt/pro/binancecoinm.py +6 -2
- ccxt/pro/binanceus.py +8 -4
- ccxt/pro/binanceusdm.py +7 -2
- ccxt/pro/bingx.py +333 -142
- ccxt/pro/bitfinex.py +727 -262
- ccxt/pro/bitget.py +570 -79
- ccxt/pro/bithumb.py +20 -6
- ccxt/pro/bitmart.py +216 -87
- ccxt/pro/bitmex.py +47 -9
- ccxt/pro/bitopro.py +26 -14
- ccxt/pro/bitrue.py +22 -22
- ccxt/pro/bitstamp.py +54 -21
- ccxt/pro/{huobijp.py → bittrade.py} +7 -6
- ccxt/pro/bitvavo.py +191 -67
- ccxt/pro/blockchaincom.py +21 -8
- ccxt/pro/blofin.py +9 -1
- ccxt/pro/bybit.py +632 -245
- ccxt/pro/cex.py +59 -24
- ccxt/pro/coinbase.py +102 -73
- ccxt/pro/coinbaseadvanced.py +2 -1
- ccxt/pro/coinbaseexchange.py +8 -8
- ccxt/pro/coinbaseinternational.py +181 -25
- ccxt/pro/coincatch.py +6 -7
- ccxt/pro/coincheck.py +11 -6
- ccxt/pro/coinex.py +967 -665
- ccxt/pro/coinone.py +16 -9
- ccxt/pro/cryptocom.py +448 -45
- ccxt/pro/defx.py +831 -0
- ccxt/pro/deribit.py +150 -14
- ccxt/pro/derive.py +704 -0
- ccxt/pro/exmo.py +239 -6
- ccxt/pro/gate.py +623 -65
- ccxt/pro/gateio.py +2 -1
- ccxt/pro/gemini.py +27 -11
- ccxt/pro/hashkey.py +2 -2
- ccxt/pro/hitbtc.py +196 -91
- ccxt/pro/hollaex.py +23 -7
- ccxt/pro/htx.py +51 -14
- ccxt/pro/huobi.py +2 -1
- ccxt/pro/hyperliquid.py +591 -27
- ccxt/pro/independentreserve.py +9 -6
- ccxt/pro/kraken.py +640 -320
- ccxt/pro/krakenfutures.py +62 -35
- ccxt/pro/kucoin.py +267 -46
- ccxt/pro/kucoinfutures.py +165 -21
- ccxt/pro/lbank.py +102 -21
- ccxt/pro/luno.py +12 -8
- ccxt/pro/mexc.py +877 -111
- ccxt/pro/modetrade.py +1271 -0
- ccxt/pro/myokx.py +38 -0
- ccxt/pro/ndax.py +15 -2
- ccxt/pro/okcoin.py +23 -4
- ccxt/pro/okx.py +573 -98
- ccxt/pro/okxus.py +38 -0
- ccxt/pro/onetrading.py +30 -13
- ccxt/pro/oxfun.py +131 -27
- ccxt/pro/p2b.py +88 -22
- ccxt/pro/paradex.py +3 -3
- ccxt/pro/phemex.py +75 -21
- ccxt/pro/poloniex.py +124 -41
- ccxt/pro/probit.py +87 -80
- ccxt/pro/tradeogre.py +272 -0
- ccxt/pro/upbit.py +152 -12
- ccxt/pro/vertex.py +8 -3
- ccxt/pro/whitebit.py +58 -5
- ccxt/pro/woo.py +228 -37
- ccxt/pro/woofipro.py +106 -18
- ccxt/pro/xt.py +111 -5
- ccxt/probit.py +224 -95
- ccxt/protobuf/__init__.py +0 -0
- ccxt/protobuf/mexc/PrivateAccountV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PrivateDealsV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PrivateOrdersV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicAggreBookTickerV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicAggreDealsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicAggreDepthsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicBookTickerBatchV3Api_pb2.py +38 -0
- ccxt/protobuf/mexc/PublicBookTickerV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicDealsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicIncreaseDepthsBatchV3Api_pb2.py +38 -0
- ccxt/protobuf/mexc/PublicIncreaseDepthsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicLimitDepthsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicMiniTickerV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicMiniTickersV3Api_pb2.py +38 -0
- ccxt/protobuf/mexc/PublicSpotKlineV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PushDataV3ApiWrapper_pb2.py +52 -0
- ccxt/protobuf/mexc/__init__.py +0 -0
- ccxt/ramzinex.py +28 -25
- ccxt/sarmayex.py +7 -7
- ccxt/sarrafex.py +10 -10
- ccxt/static_dependencies/__init__.py +1 -1
- ccxt/static_dependencies/lark/py.typed +0 -0
- ccxt/static_dependencies/marshmallow/py.typed +0 -0
- ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
- ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
- ccxt/tabdeal.py +12 -11
- ccxt/test/tests_async.py +261 -57
- ccxt/test/tests_helpers.py +1 -3
- ccxt/test/tests_init.py +4 -3
- ccxt/test/tests_sync.py +261 -57
- ccxt/tetherland.py +7 -7
- ccxt/timex.py +210 -51
- ccxt/tokocrypto.py +167 -47
- ccxt/tradeogre.py +266 -31
- ccxt/twox.py +7 -7
- ccxt/ubitex.py +9 -9
- ccxt/upbit.py +568 -165
- ccxt/vertex.py +160 -32
- ccxt/wallex.py +9 -9
- ccxt/wavesexchange.py +165 -30
- ccxt/whitebit.py +975 -127
- ccxt/woo.py +1917 -1016
- ccxt/woofipro.py +432 -141
- ccxt/xt.py +649 -193
- ccxt/yobit.py +194 -70
- ccxt/zaif.py +91 -15
- ccxt/zonda.py +151 -36
- {ccxt_ir-4.3.46.0.2.dist-info → ccxt_ir-4.5.0.dist-info}/METADATA +225 -73
- ccxt_ir-4.5.0.dist-info/RECORD +743 -0
- {ccxt_ir-4.3.46.0.2.dist-info → ccxt_ir-4.5.0.dist-info}/WHEEL +1 -1
- ccxt/abstract/ace.py +0 -15
- ccxt/abstract/bitbay.py +0 -53
- ccxt/abstract/bitcoincom.py +0 -115
- ccxt/abstract/bitfinex2.py +0 -139
- ccxt/abstract/bitpanda.py +0 -35
- ccxt/abstract/bl3p.py +0 -19
- ccxt/abstract/coinlist.py +0 -54
- ccxt/abstract/currencycom.py +0 -68
- ccxt/abstract/hitbtc3.py +0 -115
- ccxt/abstract/idex.py +0 -26
- ccxt/abstract/kuna.py +0 -182
- ccxt/abstract/lykke.py +0 -29
- ccxt/abstract/poloniexfutures.py +0 -48
- ccxt/abstract/wazirx.py +0 -30
- ccxt/ace.py +0 -1012
- ccxt/async_support/ace.py +0 -1012
- ccxt/async_support/base/ws/aiohttp_client.py +0 -125
- ccxt/async_support/base/ws/fast_client.py +0 -96
- ccxt/async_support/bitbay.py +0 -17
- ccxt/async_support/bitcoincom.py +0 -17
- ccxt/async_support/bitfinex2.py +0 -3552
- ccxt/async_support/bitpanda.py +0 -16
- ccxt/async_support/bl3p.py +0 -485
- ccxt/async_support/coinlist.py +0 -2243
- ccxt/async_support/currencycom.py +0 -1950
- ccxt/async_support/hitbtc3.py +0 -16
- ccxt/async_support/idex.py +0 -1766
- ccxt/async_support/kuna.py +0 -1841
- ccxt/async_support/lykke.py +0 -1270
- ccxt/async_support/poloniexfutures.py +0 -1717
- ccxt/async_support/wazirx.py +0 -1224
- ccxt/bitbay.py +0 -17
- ccxt/bitcoincom.py +0 -17
- ccxt/bitfinex2.py +0 -3552
- ccxt/bitpanda.py +0 -16
- ccxt/bl3p.py +0 -485
- ccxt/coinlist.py +0 -2243
- ccxt/currencycom.py +0 -1950
- ccxt/hitbtc3.py +0 -16
- ccxt/idex.py +0 -1766
- ccxt/kuna.py +0 -1841
- ccxt/lykke.py +0 -1270
- ccxt/poloniexfutures.py +0 -1717
- ccxt/pro/bitcoincom.py +0 -34
- ccxt/pro/bitfinex2.py +0 -1083
- ccxt/pro/bitpanda.py +0 -15
- ccxt/pro/currencycom.py +0 -536
- ccxt/pro/idex.py +0 -672
- ccxt/pro/poloniexfutures.py +0 -990
- ccxt/pro/wazirx.py +0 -749
- ccxt/test/base/__init__.py +0 -29
- ccxt/test/base/test_account.py +0 -26
- ccxt/test/base/test_balance.py +0 -56
- ccxt/test/base/test_borrow_interest.py +0 -35
- ccxt/test/base/test_borrow_rate.py +0 -32
- ccxt/test/base/test_calculate_fee.py +0 -51
- ccxt/test/base/test_crypto.py +0 -127
- ccxt/test/base/test_currency.py +0 -76
- ccxt/test/base/test_datetime.py +0 -109
- ccxt/test/base/test_decimal_to_precision.py +0 -392
- ccxt/test/base/test_deep_extend.py +0 -68
- ccxt/test/base/test_deposit_withdrawal.py +0 -50
- ccxt/test/base/test_exchange_datetime_functions.py +0 -76
- ccxt/test/base/test_funding_rate_history.py +0 -29
- ccxt/test/base/test_last_price.py +0 -31
- ccxt/test/base/test_ledger_entry.py +0 -45
- ccxt/test/base/test_ledger_item.py +0 -48
- ccxt/test/base/test_leverage_tier.py +0 -33
- ccxt/test/base/test_liquidation.py +0 -50
- ccxt/test/base/test_margin_mode.py +0 -24
- ccxt/test/base/test_margin_modification.py +0 -35
- ccxt/test/base/test_market.py +0 -193
- ccxt/test/base/test_number.py +0 -411
- ccxt/test/base/test_ohlcv.py +0 -33
- ccxt/test/base/test_open_interest.py +0 -32
- ccxt/test/base/test_order.py +0 -64
- ccxt/test/base/test_order_book.py +0 -69
- ccxt/test/base/test_position.py +0 -60
- ccxt/test/base/test_shared_methods.py +0 -353
- ccxt/test/base/test_status.py +0 -24
- ccxt/test/base/test_throttle.py +0 -126
- ccxt/test/base/test_ticker.py +0 -92
- ccxt/test/base/test_trade.py +0 -47
- ccxt/test/base/test_trading_fee.py +0 -26
- ccxt/test/base/test_transaction.py +0 -39
- ccxt/test/test_async.py +0 -1649
- ccxt/test/test_sync.py +0 -1648
- ccxt/wazirx.py +0 -1224
- ccxt_ir-4.3.46.0.2.dist-info/RECORD +0 -772
- /ccxt/abstract/{huobijp.py → bittrade.py} +0 -0
- {ccxt_ir-4.3.46.0.2.dist-info → ccxt_ir-4.5.0.dist-info/licenses}/LICENSE.txt +0 -0
- {ccxt_ir-4.3.46.0.2.dist-info → ccxt_ir-4.5.0.dist-info}/top_level.txt +0 -0
ccxt/async_support/bigone.py
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.bigone import ImplicitAPI
|
|
8
8
|
import asyncio
|
|
9
|
-
from ccxt.base.types import
|
|
9
|
+
from ccxt.base.types import Any, Balances, Currencies, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
|
10
10
|
from typing import List
|
|
11
11
|
from ccxt.base.errors import ExchangeError
|
|
12
12
|
from ccxt.base.errors import AuthenticationError
|
|
@@ -24,13 +24,13 @@ from ccxt.base.precise import Precise
|
|
|
24
24
|
|
|
25
25
|
class bigone(Exchange, ImplicitAPI):
|
|
26
26
|
|
|
27
|
-
def describe(self):
|
|
27
|
+
def describe(self) -> Any:
|
|
28
28
|
return self.deep_extend(super(bigone, self).describe(), {
|
|
29
29
|
'id': 'bigone',
|
|
30
30
|
'name': 'BigONE',
|
|
31
31
|
'countries': ['CN'],
|
|
32
32
|
'version': 'v3',
|
|
33
|
-
'rateLimit':
|
|
33
|
+
'rateLimit': 20, # 500 requests per 10 seconds
|
|
34
34
|
'has': {
|
|
35
35
|
'CORS': None,
|
|
36
36
|
'spot': True,
|
|
@@ -52,8 +52,13 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
52
52
|
'fetchClosedOrders': True,
|
|
53
53
|
'fetchCurrencies': True,
|
|
54
54
|
'fetchDepositAddress': True,
|
|
55
|
+
'fetchDepositAddresses': False,
|
|
56
|
+
'fetchDepositAddressesByNetwork': False,
|
|
55
57
|
'fetchDeposits': True,
|
|
58
|
+
'fetchFundingHistory': False,
|
|
56
59
|
'fetchFundingRate': False,
|
|
60
|
+
'fetchFundingRateHistory': False,
|
|
61
|
+
'fetchFundingRates': False,
|
|
57
62
|
'fetchMarkets': True,
|
|
58
63
|
'fetchMyTrades': True,
|
|
59
64
|
'fetchOHLCV': True,
|
|
@@ -88,7 +93,7 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
88
93
|
},
|
|
89
94
|
'hostname': 'big.one', # or 'bigone.com'
|
|
90
95
|
'urls': {
|
|
91
|
-
'logo': 'https://
|
|
96
|
+
'logo': 'https://github.com/user-attachments/assets/4e5cfd53-98cc-4b90-92cd-0d7b512653d1',
|
|
92
97
|
'api': {
|
|
93
98
|
'public': 'https://{hostname}/api/v3',
|
|
94
99
|
'private': 'https://{hostname}/api/v3/viewer',
|
|
@@ -168,7 +173,7 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
168
173
|
},
|
|
169
174
|
'webExchange': {
|
|
170
175
|
'get': [
|
|
171
|
-
'
|
|
176
|
+
'v3/assets',
|
|
172
177
|
],
|
|
173
178
|
},
|
|
174
179
|
},
|
|
@@ -301,6 +306,110 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
301
306
|
# undetermined: XinFin, YAS, Ycash
|
|
302
307
|
},
|
|
303
308
|
},
|
|
309
|
+
'features': {
|
|
310
|
+
'default': {
|
|
311
|
+
'sandbox': False,
|
|
312
|
+
'createOrder': {
|
|
313
|
+
'marginMode': False,
|
|
314
|
+
'triggerPrice': True,
|
|
315
|
+
'triggerPriceType': None,
|
|
316
|
+
'triggerDirection': True, # todo implement
|
|
317
|
+
'stopLossPrice': False, # todo by trigger
|
|
318
|
+
'takeProfitPrice': False, # todo by trigger
|
|
319
|
+
'attachedStopLossTakeProfit': None,
|
|
320
|
+
'timeInForce': {
|
|
321
|
+
'IOC': True,
|
|
322
|
+
'FOK': False,
|
|
323
|
+
'PO': True,
|
|
324
|
+
'GTD': False,
|
|
325
|
+
},
|
|
326
|
+
'hedged': False,
|
|
327
|
+
'trailing': False,
|
|
328
|
+
'leverage': False,
|
|
329
|
+
'marketBuyRequiresPrice': True,
|
|
330
|
+
'marketBuyByCost': True,
|
|
331
|
+
'selfTradePrevention': False,
|
|
332
|
+
'iceberg': False,
|
|
333
|
+
},
|
|
334
|
+
'createOrders': None, # todo: implement
|
|
335
|
+
'fetchMyTrades': {
|
|
336
|
+
'marginMode': False,
|
|
337
|
+
'limit': 200,
|
|
338
|
+
'daysBack': None,
|
|
339
|
+
'untilDays': None,
|
|
340
|
+
'symbolRequired': True,
|
|
341
|
+
},
|
|
342
|
+
'fetchOrder': {
|
|
343
|
+
'marginMode': False,
|
|
344
|
+
'trigger': False,
|
|
345
|
+
'trailing': False,
|
|
346
|
+
'symbolRequired': False,
|
|
347
|
+
},
|
|
348
|
+
'fetchOpenOrders': {
|
|
349
|
+
'marginMode': False,
|
|
350
|
+
'limit': 200,
|
|
351
|
+
'trigger': False,
|
|
352
|
+
'trailing': False,
|
|
353
|
+
'symbolRequired': True,
|
|
354
|
+
},
|
|
355
|
+
'fetchOrders': {
|
|
356
|
+
'marginMode': False,
|
|
357
|
+
'limit': 200,
|
|
358
|
+
'daysBack': None,
|
|
359
|
+
'untilDays': None,
|
|
360
|
+
'trigger': False,
|
|
361
|
+
'trailing': False,
|
|
362
|
+
'symbolRequired': True,
|
|
363
|
+
},
|
|
364
|
+
'fetchClosedOrders': {
|
|
365
|
+
'marginMode': False,
|
|
366
|
+
'limit': 200,
|
|
367
|
+
'daysBack': None,
|
|
368
|
+
'daysBackCanceled': None,
|
|
369
|
+
'untilDays': None,
|
|
370
|
+
'trigger': False,
|
|
371
|
+
'trailing': False,
|
|
372
|
+
'symbolRequired': True,
|
|
373
|
+
},
|
|
374
|
+
'fetchOHLCV': {
|
|
375
|
+
'limit': 500,
|
|
376
|
+
},
|
|
377
|
+
},
|
|
378
|
+
'spot': {
|
|
379
|
+
'extends': 'default',
|
|
380
|
+
},
|
|
381
|
+
'forDerivatives': {
|
|
382
|
+
'extends': 'default',
|
|
383
|
+
'createOrder': {
|
|
384
|
+
# todo: implement
|
|
385
|
+
'triggerPriceType': {
|
|
386
|
+
'mark': True,
|
|
387
|
+
'index': True,
|
|
388
|
+
'last': True,
|
|
389
|
+
},
|
|
390
|
+
},
|
|
391
|
+
'fetchOrders': {
|
|
392
|
+
'daysBack': 100000,
|
|
393
|
+
'untilDays': 100000,
|
|
394
|
+
},
|
|
395
|
+
'fetchClosedOrders': {
|
|
396
|
+
'daysBack': 100000,
|
|
397
|
+
'untilDays': 100000,
|
|
398
|
+
},
|
|
399
|
+
},
|
|
400
|
+
'swap': {
|
|
401
|
+
'linear': {
|
|
402
|
+
'extends': 'forDerivatives',
|
|
403
|
+
},
|
|
404
|
+
'inverse': {
|
|
405
|
+
'extends': 'forDerivatives',
|
|
406
|
+
},
|
|
407
|
+
},
|
|
408
|
+
'future': {
|
|
409
|
+
'linear': None,
|
|
410
|
+
'inverse': None,
|
|
411
|
+
},
|
|
412
|
+
},
|
|
304
413
|
'precisionMode': TICK_SIZE,
|
|
305
414
|
'exceptions': {
|
|
306
415
|
'exact': {
|
|
@@ -347,7 +456,7 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
347
456
|
:returns dict: an associative dictionary of currencies
|
|
348
457
|
"""
|
|
349
458
|
# we use undocumented link(possible, less informative alternative is : https://big.one/api/uc/v3/assets/accounts)
|
|
350
|
-
data = await self.fetch_web_endpoint('fetchCurrencies', '
|
|
459
|
+
data = await self.fetch_web_endpoint('fetchCurrencies', 'webExchangeGetV3Assets', True)
|
|
351
460
|
if data is None:
|
|
352
461
|
return None
|
|
353
462
|
#
|
|
@@ -356,91 +465,40 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
356
465
|
# "message": "",
|
|
357
466
|
# "data": [
|
|
358
467
|
# {
|
|
359
|
-
#
|
|
360
|
-
#
|
|
361
|
-
#
|
|
362
|
-
#
|
|
363
|
-
#
|
|
364
|
-
#
|
|
365
|
-
#
|
|
366
|
-
#
|
|
367
|
-
#
|
|
368
|
-
#
|
|
369
|
-
#
|
|
370
|
-
#
|
|
468
|
+
# "uuid": "17082d1c-0195-4fb6-8779-2cdbcb9eeb3c",
|
|
469
|
+
# "symbol": "USDT",
|
|
470
|
+
# "name": "TetherUS",
|
|
471
|
+
# "scale": 12,
|
|
472
|
+
# "is_fiat": False,
|
|
473
|
+
# "is_transfer_enabled": True,
|
|
474
|
+
# "transfer_scale": 12,
|
|
475
|
+
# "binding_gateways": [
|
|
476
|
+
# {
|
|
477
|
+
# "guid": "07efc37f-d1ec-4bc9-8339-a745256ea2ba",
|
|
478
|
+
# "is_deposit_enabled": True,
|
|
479
|
+
# "gateway_name": "Ethereum",
|
|
480
|
+
# "min_withdrawal_amount": "0.000001",
|
|
481
|
+
# "withdrawal_fee": "5.71",
|
|
482
|
+
# "is_withdrawal_enabled": True,
|
|
483
|
+
# "min_deposit_amount": "0.000001",
|
|
484
|
+
# "is_memo_required": False,
|
|
485
|
+
# "withdrawal_scale": 6,
|
|
486
|
+
# "scale": 12
|
|
487
|
+
# },
|
|
488
|
+
# {
|
|
489
|
+
# "guid": "4e387a9a-a480-40a3-b4ae-ed1773c2db5a",
|
|
490
|
+
# "is_deposit_enabled": True,
|
|
491
|
+
# "gateway_name": "BinanceSmartChain",
|
|
492
|
+
# "min_withdrawal_amount": "10",
|
|
493
|
+
# "withdrawal_fee": "5",
|
|
494
|
+
# "is_withdrawal_enabled": False,
|
|
495
|
+
# "min_deposit_amount": "1",
|
|
496
|
+
# "is_memo_required": False,
|
|
497
|
+
# "withdrawal_scale": 8,
|
|
498
|
+
# "scale": 12
|
|
499
|
+
# }
|
|
500
|
+
# ]
|
|
371
501
|
# },
|
|
372
|
-
# "info_link": null,
|
|
373
|
-
# "scale": "12",
|
|
374
|
-
# "default_gateway": ..., # one object from "gateways"
|
|
375
|
-
# "gateways": [
|
|
376
|
-
# {
|
|
377
|
-
# "uuid": "f0fa5a85-7f65-428a-b7b7-13aad55c2837",
|
|
378
|
-
# "name": "Mixin",
|
|
379
|
-
# "kind": "CHAIN",
|
|
380
|
-
# "required_confirmations": "0",
|
|
381
|
-
# },
|
|
382
|
-
# {
|
|
383
|
-
# "uuid": "b75446c6-1446-4c8d-b3d1-39f385b0a926",
|
|
384
|
-
# "name": "Ethereum",
|
|
385
|
-
# "kind": "CHAIN",
|
|
386
|
-
# "required_confirmations": "18",
|
|
387
|
-
# },
|
|
388
|
-
# {
|
|
389
|
-
# "uuid": "fe9b1b0b-e55c-4017-b5ce-16f524df5fc0",
|
|
390
|
-
# "name": "Tron",
|
|
391
|
-
# "kind": "CHAIN",
|
|
392
|
-
# "required_confirmations": "1",
|
|
393
|
-
# },
|
|
394
|
-
# ...
|
|
395
|
-
# ],
|
|
396
|
-
# "payments": [],
|
|
397
|
-
# "uuid": "17082d1c-0195-4fb6-8779-2cdbcb9eeb3c",
|
|
398
|
-
# "binding_gateways": [
|
|
399
|
-
# {
|
|
400
|
-
# "guid": "07efc37f-d1ec-4bc9-8339-a745256ea2ba",
|
|
401
|
-
# "contract_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
|
402
|
-
# "is_deposit_enabled": True,
|
|
403
|
-
# "display_name": "Ethereum(ERC20)",
|
|
404
|
-
# "gateway_name": "Ethereum",
|
|
405
|
-
# "min_withdrawal_amount": "0.000001",
|
|
406
|
-
# "min_internal_withdrawal_amount": "0.00000001",
|
|
407
|
-
# "withdrawal_fee": "14",
|
|
408
|
-
# "is_withdrawal_enabled": True,
|
|
409
|
-
# "min_deposit_amount": "0.000001",
|
|
410
|
-
# "is_memo_required": False,
|
|
411
|
-
# "withdrawal_scale": "2",
|
|
412
|
-
# "gateway": {
|
|
413
|
-
# "uuid": "b75446c6-1446-4c8d-b3d1-39f385b0a926",
|
|
414
|
-
# "name": "Ethereum",
|
|
415
|
-
# "kind": "CHAIN",
|
|
416
|
-
# "required_confirmations": "18",
|
|
417
|
-
# },
|
|
418
|
-
# "scale": "12",
|
|
419
|
-
# },
|
|
420
|
-
# {
|
|
421
|
-
# "guid": "b80a4d13-cac7-4319-842d-b33c3bfab8ec",
|
|
422
|
-
# "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
|
|
423
|
-
# "is_deposit_enabled": True,
|
|
424
|
-
# "display_name": "Tron(TRC20)",
|
|
425
|
-
# "gateway_name": "Tron",
|
|
426
|
-
# "min_withdrawal_amount": "0.000001",
|
|
427
|
-
# "min_internal_withdrawal_amount": "0.00000001",
|
|
428
|
-
# "withdrawal_fee": "1",
|
|
429
|
-
# "is_withdrawal_enabled": True,
|
|
430
|
-
# "min_deposit_amount": "0.000001",
|
|
431
|
-
# "is_memo_required": False,
|
|
432
|
-
# "withdrawal_scale": "6",
|
|
433
|
-
# "gateway": {
|
|
434
|
-
# "uuid": "fe9b1b0b-e55c-4017-b5ce-16f524df5fc0",
|
|
435
|
-
# "name": "Tron",
|
|
436
|
-
# "kind": "CHAIN",
|
|
437
|
-
# "required_confirmations": "1",
|
|
438
|
-
# },
|
|
439
|
-
# "scale": "12",
|
|
440
|
-
# },
|
|
441
|
-
# ...
|
|
442
|
-
# ],
|
|
443
|
-
# },
|
|
444
502
|
# ...
|
|
445
503
|
# ],
|
|
446
504
|
# }
|
|
@@ -452,19 +510,15 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
452
510
|
id = self.safe_string(currency, 'symbol')
|
|
453
511
|
code = self.safe_currency_code(id)
|
|
454
512
|
name = self.safe_string(currency, 'name')
|
|
455
|
-
type = 'fiat' if self.safe_bool(currency, 'is_fiat') else 'crypto'
|
|
456
513
|
networks: dict = {}
|
|
457
514
|
chains = self.safe_list(currency, 'binding_gateways', [])
|
|
458
515
|
currencyMaxPrecision = self.parse_precision(self.safe_string_2(currency, 'withdrawal_scale', 'scale'))
|
|
459
|
-
currencyDepositEnabled: Bool = None
|
|
460
|
-
currencyWithdrawEnabled: Bool = None
|
|
461
516
|
for j in range(0, len(chains)):
|
|
462
517
|
chain = chains[j]
|
|
463
518
|
networkId = self.safe_string(chain, 'gateway_name')
|
|
464
519
|
networkCode = self.network_id_to_code(networkId)
|
|
465
520
|
deposit = self.safe_bool(chain, 'is_deposit_enabled')
|
|
466
521
|
withdraw = self.safe_bool(chain, 'is_withdrawal_enabled')
|
|
467
|
-
isActive = (deposit and withdraw)
|
|
468
522
|
minDepositAmount = self.safe_string(chain, 'min_deposit_amount')
|
|
469
523
|
minWithdrawalAmount = self.safe_string(chain, 'min_withdrawal_amount')
|
|
470
524
|
withdrawalFee = self.safe_string(chain, 'withdrawal_fee')
|
|
@@ -475,7 +529,7 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
475
529
|
'margin': None,
|
|
476
530
|
'deposit': deposit,
|
|
477
531
|
'withdraw': withdraw,
|
|
478
|
-
'active':
|
|
532
|
+
'active': None,
|
|
479
533
|
'fee': self.parse_number(withdrawalFee),
|
|
480
534
|
'precision': self.parse_number(precision),
|
|
481
535
|
'limits': {
|
|
@@ -490,19 +544,26 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
490
544
|
},
|
|
491
545
|
'info': chain,
|
|
492
546
|
}
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
547
|
+
chainLength = len(chains)
|
|
548
|
+
type: Str = None
|
|
549
|
+
if self.safe_bool(currency, 'is_fiat'):
|
|
550
|
+
type = 'fiat'
|
|
551
|
+
elif chainLength == 0:
|
|
552
|
+
if self.is_leveraged_currency(id):
|
|
553
|
+
type = 'leveraged'
|
|
554
|
+
else:
|
|
555
|
+
type = 'other'
|
|
556
|
+
else:
|
|
557
|
+
type = 'crypto'
|
|
558
|
+
result[code] = self.safe_currency_structure({
|
|
498
559
|
'id': id,
|
|
499
560
|
'code': code,
|
|
500
561
|
'info': currency,
|
|
501
562
|
'name': name,
|
|
502
563
|
'type': type,
|
|
503
564
|
'active': None,
|
|
504
|
-
'deposit':
|
|
505
|
-
'withdraw':
|
|
565
|
+
'deposit': None,
|
|
566
|
+
'withdraw': None,
|
|
506
567
|
'fee': None,
|
|
507
568
|
'precision': self.parse_number(currencyMaxPrecision),
|
|
508
569
|
'limits': {
|
|
@@ -516,13 +577,15 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
516
577
|
},
|
|
517
578
|
},
|
|
518
579
|
'networks': networks,
|
|
519
|
-
}
|
|
580
|
+
})
|
|
520
581
|
return result
|
|
521
582
|
|
|
522
583
|
async def fetch_markets(self, params={}) -> List[Market]:
|
|
523
584
|
"""
|
|
524
585
|
retrieves data on all markets for bigone
|
|
525
|
-
|
|
586
|
+
|
|
587
|
+
https://open.big.one/docs/spot_asset_pair.html
|
|
588
|
+
|
|
526
589
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
527
590
|
:returns dict[]: an array of objects representing market data
|
|
528
591
|
"""
|
|
@@ -775,13 +838,17 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
775
838
|
'average': None,
|
|
776
839
|
'baseVolume': self.safe_string_2(ticker, 'volume', 'volume24h'),
|
|
777
840
|
'quoteVolume': self.safe_string(ticker, 'volume24hInUsd'),
|
|
841
|
+
'markPrice': self.safe_string(ticker, 'markPrice'),
|
|
842
|
+
'indexPrice': self.safe_string(ticker, 'indexPrice'),
|
|
778
843
|
'info': ticker,
|
|
779
844
|
}, market)
|
|
780
845
|
|
|
781
846
|
async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
|
782
847
|
"""
|
|
783
848
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
784
|
-
|
|
849
|
+
|
|
850
|
+
https://open.big.one/docs/spot_tickers.html
|
|
851
|
+
|
|
785
852
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
|
786
853
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
787
854
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -820,7 +887,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
820
887
|
async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
|
821
888
|
"""
|
|
822
889
|
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
823
|
-
|
|
890
|
+
|
|
891
|
+
https://open.big.one/docs/spot_tickers.html
|
|
892
|
+
|
|
824
893
|
:param str[] [symbols]: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
825
894
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
826
895
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -899,10 +968,12 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
899
968
|
tickers = self.parse_tickers(data, symbols)
|
|
900
969
|
return self.filter_by_array_tickers(tickers, 'symbol', symbols)
|
|
901
970
|
|
|
902
|
-
async def fetch_time(self, params={}):
|
|
971
|
+
async def fetch_time(self, params={}) -> Int:
|
|
903
972
|
"""
|
|
904
973
|
fetches the current integer timestamp in milliseconds from the exchange server
|
|
905
|
-
|
|
974
|
+
|
|
975
|
+
https://open.big.one/docs/spot_ping.html
|
|
976
|
+
|
|
906
977
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
907
978
|
:returns int: the current integer timestamp in milliseconds from the exchange server
|
|
908
979
|
"""
|
|
@@ -921,7 +992,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
921
992
|
async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
|
922
993
|
"""
|
|
923
994
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
|
924
|
-
|
|
995
|
+
|
|
996
|
+
https://open.big.one/docs/contract_misc.html#get-orderbook-snapshot
|
|
997
|
+
|
|
925
998
|
:param str symbol: unified symbol of the market to fetch the order book for
|
|
926
999
|
:param int [limit]: the maximum amount of order book entries to return
|
|
927
1000
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -1093,8 +1166,8 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1093
1166
|
'cost': None,
|
|
1094
1167
|
'info': trade,
|
|
1095
1168
|
}
|
|
1096
|
-
makerCurrencyCode
|
|
1097
|
-
takerCurrencyCode
|
|
1169
|
+
makerCurrencyCode: str
|
|
1170
|
+
takerCurrencyCode: str
|
|
1098
1171
|
if takerOrMaker is not None:
|
|
1099
1172
|
if side == 'buy':
|
|
1100
1173
|
if takerOrMaker == 'maker':
|
|
@@ -1136,7 +1209,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1136
1209
|
async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
|
1137
1210
|
"""
|
|
1138
1211
|
get the list of most recent trades for a particular symbol
|
|
1139
|
-
|
|
1212
|
+
|
|
1213
|
+
https://open.big.one/docs/spot_asset_pair_trade.html
|
|
1214
|
+
|
|
1140
1215
|
:param str symbol: unified symbol of the market to fetch trades for
|
|
1141
1216
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
|
1142
1217
|
:param int [limit]: the maximum amount of trades to fetch
|
|
@@ -1198,30 +1273,42 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1198
1273
|
async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
|
1199
1274
|
"""
|
|
1200
1275
|
fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
|
1201
|
-
|
|
1276
|
+
|
|
1277
|
+
https://open.big.one/docs/spot_asset_pair_candle.html
|
|
1278
|
+
|
|
1202
1279
|
:param str symbol: unified symbol of the market to fetch OHLCV data for
|
|
1203
1280
|
:param str timeframe: the length of time each candle represents
|
|
1204
1281
|
:param int [since]: timestamp in ms of the earliest candle to fetch
|
|
1205
1282
|
:param int [limit]: the maximum amount of candles to fetch
|
|
1206
1283
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1284
|
+
:param int [params.until]: timestamp in ms of the earliest candle to fetch
|
|
1207
1285
|
:returns int[][]: A list of candles ordered, open, high, low, close, volume
|
|
1208
1286
|
"""
|
|
1209
1287
|
await self.load_markets()
|
|
1210
1288
|
market = self.market(symbol)
|
|
1211
1289
|
if market['contract']:
|
|
1212
1290
|
raise BadRequest(self.id + ' fetchOHLCV() can only fetch ohlcvs for spot markets')
|
|
1291
|
+
until = self.safe_integer(params, 'until')
|
|
1292
|
+
untilIsDefined = (until is not None)
|
|
1293
|
+
sinceIsDefined = (since is not None)
|
|
1213
1294
|
if limit is None:
|
|
1214
|
-
limit = 100 # default 100, max 500
|
|
1295
|
+
limit = 500 if (sinceIsDefined and untilIsDefined) else 100 # default 100, max 500, if since and limit defined then fetch all the candles between them unless it exceeds the max of 500
|
|
1215
1296
|
request: dict = {
|
|
1216
1297
|
'asset_pair_name': market['id'],
|
|
1217
1298
|
'period': self.safe_string(self.timeframes, timeframe, timeframe),
|
|
1218
1299
|
'limit': limit,
|
|
1219
1300
|
}
|
|
1220
|
-
if
|
|
1301
|
+
if sinceIsDefined:
|
|
1221
1302
|
# start = self.parse_to_int(since / 1000)
|
|
1222
1303
|
duration = self.parse_timeframe(timeframe)
|
|
1223
|
-
|
|
1224
|
-
|
|
1304
|
+
endByLimit = self.sum(since, limit * duration * 1000)
|
|
1305
|
+
if untilIsDefined:
|
|
1306
|
+
request['time'] = self.iso8601(min(endByLimit, until + 1))
|
|
1307
|
+
else:
|
|
1308
|
+
request['time'] = self.iso8601(endByLimit)
|
|
1309
|
+
elif untilIsDefined:
|
|
1310
|
+
request['time'] = self.iso8601(until + 1)
|
|
1311
|
+
params = self.omit(params, 'until')
|
|
1225
1312
|
response = await self.publicGetAssetPairsAssetPairNameCandles(self.extend(request, params))
|
|
1226
1313
|
#
|
|
1227
1314
|
# {
|
|
@@ -1269,8 +1356,10 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1269
1356
|
async def fetch_balance(self, params={}) -> Balances:
|
|
1270
1357
|
"""
|
|
1271
1358
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
|
1272
|
-
|
|
1273
|
-
|
|
1359
|
+
|
|
1360
|
+
https://open.big.one/docs/fund_accounts.html
|
|
1361
|
+
https://open.big.one/docs/spot_accounts.html
|
|
1362
|
+
|
|
1274
1363
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1275
1364
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
|
1276
1365
|
"""
|
|
@@ -1362,7 +1451,6 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1362
1451
|
'postOnly': self.safe_bool(order, 'post_only'),
|
|
1363
1452
|
'side': side,
|
|
1364
1453
|
'price': price,
|
|
1365
|
-
'stopPrice': triggerPrice,
|
|
1366
1454
|
'triggerPrice': triggerPrice,
|
|
1367
1455
|
'amount': amount,
|
|
1368
1456
|
'cost': cost,
|
|
@@ -1377,7 +1465,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1377
1465
|
async def create_market_buy_order_with_cost(self, symbol: str, cost: float, params={}):
|
|
1378
1466
|
"""
|
|
1379
1467
|
create a market buy order by providing the symbol and cost
|
|
1380
|
-
|
|
1468
|
+
|
|
1469
|
+
https://open.big.one/docs/spot_orders.html#create-order
|
|
1470
|
+
|
|
1381
1471
|
:param str symbol: unified symbol of the market to create an order in
|
|
1382
1472
|
:param float cost: how much you want to trade in units of the quote currency
|
|
1383
1473
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -1393,21 +1483,23 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1393
1483
|
async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
|
1394
1484
|
"""
|
|
1395
1485
|
create a trade order
|
|
1396
|
-
|
|
1486
|
+
|
|
1487
|
+
https://open.big.one/docs/spot_orders.html#create-order
|
|
1488
|
+
|
|
1397
1489
|
:param str symbol: unified symbol of the market to create an order in
|
|
1398
1490
|
:param str type: 'market' or 'limit'
|
|
1399
1491
|
:param str side: 'buy' or 'sell'
|
|
1400
1492
|
:param float amount: how much of currency you want to trade in units of base currency
|
|
1401
|
-
:param float [price]: the price at which the order is to be
|
|
1493
|
+
:param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
|
|
1402
1494
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1403
1495
|
:param float [params.triggerPrice]: the price at which a trigger order is triggered at
|
|
1404
1496
|
:param bool [params.postOnly]: if True, the order will only be posted to the order book and not executed immediately
|
|
1405
1497
|
:param str [params.timeInForce]: "GTC", "IOC", or "PO"
|
|
1406
1498
|
:param float [params.cost]: *spot market buy only* the quote quantity that can be used alternative for the amount
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
:param str operator: *stop order only* GTE or LTE(default)
|
|
1410
|
-
:param str client_order_id: must match ^[a-zA-Z0-9-_]{1,36}$ self regex. client_order_id is unique in 24 hours, If created 24 hours later and the order closed, it will be released and can be reused
|
|
1499
|
+
|
|
1500
|
+
EXCHANGE SPECIFIC PARAMETERS
|
|
1501
|
+
:param str [params.operator]: *stop order only* GTE or LTE(default)
|
|
1502
|
+
:param str [params.client_order_id]: must match ^[a-zA-Z0-9-_]{1,36}$ self regex. client_order_id is unique in 24 hours, If created 24 hours later and the order closed, it will be released and can be reused
|
|
1411
1503
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
1412
1504
|
"""
|
|
1413
1505
|
await self.load_markets()
|
|
@@ -1490,7 +1582,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1490
1582
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
|
1491
1583
|
"""
|
|
1492
1584
|
cancels an open order
|
|
1493
|
-
|
|
1585
|
+
|
|
1586
|
+
https://open.big.one/docs/spot_orders.html#cancel-order
|
|
1587
|
+
|
|
1494
1588
|
:param str id: order id
|
|
1495
1589
|
:param str symbol: Not used by bigone cancelOrder()
|
|
1496
1590
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -1517,7 +1611,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1517
1611
|
async def cancel_all_orders(self, symbol: Str = None, params={}):
|
|
1518
1612
|
"""
|
|
1519
1613
|
cancel all open orders
|
|
1520
|
-
|
|
1614
|
+
|
|
1615
|
+
https://open.big.one/docs/spot_orders.html#cancel-all-orders
|
|
1616
|
+
|
|
1521
1617
|
:param str symbol: unified market symbol, only orders in the market of self symbol are cancelled when symbol is not None
|
|
1522
1618
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1523
1619
|
:returns dict[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
|
@@ -1540,12 +1636,33 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1540
1636
|
# }
|
|
1541
1637
|
# }
|
|
1542
1638
|
#
|
|
1543
|
-
|
|
1639
|
+
data = self.safe_dict(response, 'data', {})
|
|
1640
|
+
cancelled = self.safe_list(data, 'cancelled', [])
|
|
1641
|
+
failed = self.safe_list(data, 'failed', [])
|
|
1642
|
+
result = []
|
|
1643
|
+
for i in range(0, len(cancelled)):
|
|
1644
|
+
orderId = cancelled[i]
|
|
1645
|
+
result.append(self.safe_order({
|
|
1646
|
+
'info': orderId,
|
|
1647
|
+
'id': orderId,
|
|
1648
|
+
'status': 'canceled',
|
|
1649
|
+
}))
|
|
1650
|
+
for i in range(0, len(failed)):
|
|
1651
|
+
orderId = failed[i]
|
|
1652
|
+
result.append(self.safe_order({
|
|
1653
|
+
'info': orderId,
|
|
1654
|
+
'id': orderId,
|
|
1655
|
+
'status': 'failed',
|
|
1656
|
+
}))
|
|
1657
|
+
return result
|
|
1544
1658
|
|
|
1545
1659
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
|
1546
1660
|
"""
|
|
1547
1661
|
fetches information on an order made by the user
|
|
1548
|
-
|
|
1662
|
+
|
|
1663
|
+
https://open.big.one/docs/spot_orders.html#get-one-order
|
|
1664
|
+
|
|
1665
|
+
:param str id: the order id
|
|
1549
1666
|
:param str symbol: not used by bigone fetchOrder
|
|
1550
1667
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1551
1668
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
@@ -1559,7 +1676,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1559
1676
|
async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
1560
1677
|
"""
|
|
1561
1678
|
fetches information on multiple orders made by the user
|
|
1562
|
-
|
|
1679
|
+
|
|
1680
|
+
https://open.big.one/docs/spot_orders.html#get-user-orders-in-one-asset-pair
|
|
1681
|
+
|
|
1563
1682
|
:param str symbol: unified market symbol of the market orders were made in
|
|
1564
1683
|
:param int [since]: the earliest time in ms to fetch orders for
|
|
1565
1684
|
:param int [limit]: the maximum number of order structures to retrieve
|
|
@@ -1606,7 +1725,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1606
1725
|
async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
|
1607
1726
|
"""
|
|
1608
1727
|
fetch all trades made by the user
|
|
1609
|
-
|
|
1728
|
+
|
|
1729
|
+
https://open.big.one/docs/spot_trade.html#trades-of-user
|
|
1730
|
+
|
|
1610
1731
|
:param str symbol: unified market symbol
|
|
1611
1732
|
:param int [since]: the earliest time in ms to fetch trades for
|
|
1612
1733
|
:param int [limit]: the maximum number of trades structures to retrieve
|
|
@@ -1672,7 +1793,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1672
1793
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
1673
1794
|
"""
|
|
1674
1795
|
fetch all unfilled currently open orders
|
|
1675
|
-
|
|
1796
|
+
|
|
1797
|
+
https://open.big.one/docs/spot_orders.html#get-user-orders-in-one-asset-pair
|
|
1798
|
+
|
|
1676
1799
|
:param str symbol: unified market symbol
|
|
1677
1800
|
:param int [since]: the earliest time in ms to fetch open orders for
|
|
1678
1801
|
:param int [limit]: the maximum number of open orders structures to retrieve
|
|
@@ -1687,7 +1810,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1687
1810
|
async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
1688
1811
|
"""
|
|
1689
1812
|
fetches information on multiple closed orders made by the user
|
|
1690
|
-
|
|
1813
|
+
|
|
1814
|
+
https://open.big.one/docs/spot_orders.html#get-user-orders-in-one-asset-pair
|
|
1815
|
+
|
|
1691
1816
|
:param str symbol: unified market symbol of the market orders were made in
|
|
1692
1817
|
:param int [since]: the earliest time in ms to fetch orders for
|
|
1693
1818
|
:param int [limit]: the maximum number of order structures to retrieve
|
|
@@ -1731,10 +1856,12 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1731
1856
|
headers['User-Agent'] = 'ccxt/' + self.id + '-' + self.version
|
|
1732
1857
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
|
1733
1858
|
|
|
1734
|
-
async def fetch_deposit_address(self, code: str, params={}):
|
|
1859
|
+
async def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
|
|
1735
1860
|
"""
|
|
1736
1861
|
fetch the deposit address for a currency associated with self account
|
|
1737
|
-
|
|
1862
|
+
|
|
1863
|
+
https://open.big.one/docs/spot_deposit.html#get-deposite-address-of-one-asset-of-user
|
|
1864
|
+
|
|
1738
1865
|
:param str code: unified currency code
|
|
1739
1866
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1740
1867
|
:returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
|
|
@@ -1774,11 +1901,11 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1774
1901
|
tag = self.safe_string(addressObject, 'memo')
|
|
1775
1902
|
self.check_address(address)
|
|
1776
1903
|
return {
|
|
1904
|
+
'info': response,
|
|
1777
1905
|
'currency': code,
|
|
1906
|
+
'network': self.network_id_to_code(selectedNetworkId),
|
|
1778
1907
|
'address': address,
|
|
1779
1908
|
'tag': tag,
|
|
1780
|
-
'network': self.network_id_to_code(selectedNetworkId),
|
|
1781
|
-
'info': response,
|
|
1782
1909
|
}
|
|
1783
1910
|
|
|
1784
1911
|
def parse_transaction_status(self, status: Str):
|
|
@@ -1882,7 +2009,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1882
2009
|
async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
|
1883
2010
|
"""
|
|
1884
2011
|
fetch all deposits made to an account
|
|
1885
|
-
|
|
2012
|
+
|
|
2013
|
+
https://open.big.one/docs/spot_deposit.html#deposit-of-user
|
|
2014
|
+
|
|
1886
2015
|
:param str code: unified currency code
|
|
1887
2016
|
:param int [since]: the earliest time in ms to fetch deposits for
|
|
1888
2017
|
:param int [limit]: the maximum number of deposits structures to retrieve
|
|
@@ -1930,7 +2059,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1930
2059
|
async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
|
1931
2060
|
"""
|
|
1932
2061
|
fetch all withdrawals made from an account
|
|
1933
|
-
|
|
2062
|
+
|
|
2063
|
+
https://open.big.one/docs/spot_withdrawal.html#get-withdrawals-of-user
|
|
2064
|
+
|
|
1934
2065
|
:param str code: unified currency code
|
|
1935
2066
|
:param int [since]: the earliest time in ms to fetch withdrawals for
|
|
1936
2067
|
:param int [limit]: the maximum number of withdrawals structures to retrieve
|
|
@@ -1978,7 +2109,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1978
2109
|
async def transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={}) -> TransferEntry:
|
|
1979
2110
|
"""
|
|
1980
2111
|
transfer currency internally between wallets on the same account
|
|
1981
|
-
|
|
2112
|
+
|
|
2113
|
+
https://open.big.one/docs/spot_transfer.html#transfer-of-user
|
|
2114
|
+
|
|
1982
2115
|
:param str code: unified currency code
|
|
1983
2116
|
:param float amount: amount to transfer
|
|
1984
2117
|
:param str fromAccount: 'SPOT', 'FUND', or 'CONTRACT'
|
|
@@ -2044,10 +2177,12 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
2044
2177
|
}
|
|
2045
2178
|
return self.safe_string(statuses, status, 'failed')
|
|
2046
2179
|
|
|
2047
|
-
async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
|
|
2180
|
+
async def withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={}) -> Transaction:
|
|
2048
2181
|
"""
|
|
2049
2182
|
make a withdrawal
|
|
2050
|
-
|
|
2183
|
+
|
|
2184
|
+
https://open.big.one/docs/spot_withdrawal.html#create-withdrawal-of-user
|
|
2185
|
+
|
|
2051
2186
|
:param str code: unified currency code
|
|
2052
2187
|
:param float amount: the amount to withdraw
|
|
2053
2188
|
:param str address: the address to withdraw to
|