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/bigone.py
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
from ccxt.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.bigone import ImplicitAPI
|
|
8
|
-
from ccxt.base.types import
|
|
8
|
+
from ccxt.base.types import Any, Balances, Currencies, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
|
|
9
9
|
from typing import List
|
|
10
10
|
from ccxt.base.errors import ExchangeError
|
|
11
11
|
from ccxt.base.errors import AuthenticationError
|
|
@@ -23,13 +23,13 @@ from ccxt.base.precise import Precise
|
|
|
23
23
|
|
|
24
24
|
class bigone(Exchange, ImplicitAPI):
|
|
25
25
|
|
|
26
|
-
def describe(self):
|
|
26
|
+
def describe(self) -> Any:
|
|
27
27
|
return self.deep_extend(super(bigone, self).describe(), {
|
|
28
28
|
'id': 'bigone',
|
|
29
29
|
'name': 'BigONE',
|
|
30
30
|
'countries': ['CN'],
|
|
31
31
|
'version': 'v3',
|
|
32
|
-
'rateLimit':
|
|
32
|
+
'rateLimit': 20, # 500 requests per 10 seconds
|
|
33
33
|
'has': {
|
|
34
34
|
'CORS': None,
|
|
35
35
|
'spot': True,
|
|
@@ -51,8 +51,13 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
51
51
|
'fetchClosedOrders': True,
|
|
52
52
|
'fetchCurrencies': True,
|
|
53
53
|
'fetchDepositAddress': True,
|
|
54
|
+
'fetchDepositAddresses': False,
|
|
55
|
+
'fetchDepositAddressesByNetwork': False,
|
|
54
56
|
'fetchDeposits': True,
|
|
57
|
+
'fetchFundingHistory': False,
|
|
55
58
|
'fetchFundingRate': False,
|
|
59
|
+
'fetchFundingRateHistory': False,
|
|
60
|
+
'fetchFundingRates': False,
|
|
56
61
|
'fetchMarkets': True,
|
|
57
62
|
'fetchMyTrades': True,
|
|
58
63
|
'fetchOHLCV': True,
|
|
@@ -87,7 +92,7 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
87
92
|
},
|
|
88
93
|
'hostname': 'big.one', # or 'bigone.com'
|
|
89
94
|
'urls': {
|
|
90
|
-
'logo': 'https://
|
|
95
|
+
'logo': 'https://github.com/user-attachments/assets/4e5cfd53-98cc-4b90-92cd-0d7b512653d1',
|
|
91
96
|
'api': {
|
|
92
97
|
'public': 'https://{hostname}/api/v3',
|
|
93
98
|
'private': 'https://{hostname}/api/v3/viewer',
|
|
@@ -167,7 +172,7 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
167
172
|
},
|
|
168
173
|
'webExchange': {
|
|
169
174
|
'get': [
|
|
170
|
-
'
|
|
175
|
+
'v3/assets',
|
|
171
176
|
],
|
|
172
177
|
},
|
|
173
178
|
},
|
|
@@ -300,6 +305,110 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
300
305
|
# undetermined: XinFin, YAS, Ycash
|
|
301
306
|
},
|
|
302
307
|
},
|
|
308
|
+
'features': {
|
|
309
|
+
'default': {
|
|
310
|
+
'sandbox': False,
|
|
311
|
+
'createOrder': {
|
|
312
|
+
'marginMode': False,
|
|
313
|
+
'triggerPrice': True,
|
|
314
|
+
'triggerPriceType': None,
|
|
315
|
+
'triggerDirection': True, # todo implement
|
|
316
|
+
'stopLossPrice': False, # todo by trigger
|
|
317
|
+
'takeProfitPrice': False, # todo by trigger
|
|
318
|
+
'attachedStopLossTakeProfit': None,
|
|
319
|
+
'timeInForce': {
|
|
320
|
+
'IOC': True,
|
|
321
|
+
'FOK': False,
|
|
322
|
+
'PO': True,
|
|
323
|
+
'GTD': False,
|
|
324
|
+
},
|
|
325
|
+
'hedged': False,
|
|
326
|
+
'trailing': False,
|
|
327
|
+
'leverage': False,
|
|
328
|
+
'marketBuyRequiresPrice': True,
|
|
329
|
+
'marketBuyByCost': True,
|
|
330
|
+
'selfTradePrevention': False,
|
|
331
|
+
'iceberg': False,
|
|
332
|
+
},
|
|
333
|
+
'createOrders': None, # todo: implement
|
|
334
|
+
'fetchMyTrades': {
|
|
335
|
+
'marginMode': False,
|
|
336
|
+
'limit': 200,
|
|
337
|
+
'daysBack': None,
|
|
338
|
+
'untilDays': None,
|
|
339
|
+
'symbolRequired': True,
|
|
340
|
+
},
|
|
341
|
+
'fetchOrder': {
|
|
342
|
+
'marginMode': False,
|
|
343
|
+
'trigger': False,
|
|
344
|
+
'trailing': False,
|
|
345
|
+
'symbolRequired': False,
|
|
346
|
+
},
|
|
347
|
+
'fetchOpenOrders': {
|
|
348
|
+
'marginMode': False,
|
|
349
|
+
'limit': 200,
|
|
350
|
+
'trigger': False,
|
|
351
|
+
'trailing': False,
|
|
352
|
+
'symbolRequired': True,
|
|
353
|
+
},
|
|
354
|
+
'fetchOrders': {
|
|
355
|
+
'marginMode': False,
|
|
356
|
+
'limit': 200,
|
|
357
|
+
'daysBack': None,
|
|
358
|
+
'untilDays': None,
|
|
359
|
+
'trigger': False,
|
|
360
|
+
'trailing': False,
|
|
361
|
+
'symbolRequired': True,
|
|
362
|
+
},
|
|
363
|
+
'fetchClosedOrders': {
|
|
364
|
+
'marginMode': False,
|
|
365
|
+
'limit': 200,
|
|
366
|
+
'daysBack': None,
|
|
367
|
+
'daysBackCanceled': None,
|
|
368
|
+
'untilDays': None,
|
|
369
|
+
'trigger': False,
|
|
370
|
+
'trailing': False,
|
|
371
|
+
'symbolRequired': True,
|
|
372
|
+
},
|
|
373
|
+
'fetchOHLCV': {
|
|
374
|
+
'limit': 500,
|
|
375
|
+
},
|
|
376
|
+
},
|
|
377
|
+
'spot': {
|
|
378
|
+
'extends': 'default',
|
|
379
|
+
},
|
|
380
|
+
'forDerivatives': {
|
|
381
|
+
'extends': 'default',
|
|
382
|
+
'createOrder': {
|
|
383
|
+
# todo: implement
|
|
384
|
+
'triggerPriceType': {
|
|
385
|
+
'mark': True,
|
|
386
|
+
'index': True,
|
|
387
|
+
'last': True,
|
|
388
|
+
},
|
|
389
|
+
},
|
|
390
|
+
'fetchOrders': {
|
|
391
|
+
'daysBack': 100000,
|
|
392
|
+
'untilDays': 100000,
|
|
393
|
+
},
|
|
394
|
+
'fetchClosedOrders': {
|
|
395
|
+
'daysBack': 100000,
|
|
396
|
+
'untilDays': 100000,
|
|
397
|
+
},
|
|
398
|
+
},
|
|
399
|
+
'swap': {
|
|
400
|
+
'linear': {
|
|
401
|
+
'extends': 'forDerivatives',
|
|
402
|
+
},
|
|
403
|
+
'inverse': {
|
|
404
|
+
'extends': 'forDerivatives',
|
|
405
|
+
},
|
|
406
|
+
},
|
|
407
|
+
'future': {
|
|
408
|
+
'linear': None,
|
|
409
|
+
'inverse': None,
|
|
410
|
+
},
|
|
411
|
+
},
|
|
303
412
|
'precisionMode': TICK_SIZE,
|
|
304
413
|
'exceptions': {
|
|
305
414
|
'exact': {
|
|
@@ -346,7 +455,7 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
346
455
|
:returns dict: an associative dictionary of currencies
|
|
347
456
|
"""
|
|
348
457
|
# we use undocumented link(possible, less informative alternative is : https://big.one/api/uc/v3/assets/accounts)
|
|
349
|
-
data = self.fetch_web_endpoint('fetchCurrencies', '
|
|
458
|
+
data = self.fetch_web_endpoint('fetchCurrencies', 'webExchangeGetV3Assets', True)
|
|
350
459
|
if data is None:
|
|
351
460
|
return None
|
|
352
461
|
#
|
|
@@ -355,91 +464,40 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
355
464
|
# "message": "",
|
|
356
465
|
# "data": [
|
|
357
466
|
# {
|
|
358
|
-
#
|
|
359
|
-
#
|
|
360
|
-
#
|
|
361
|
-
#
|
|
362
|
-
#
|
|
363
|
-
#
|
|
364
|
-
#
|
|
365
|
-
#
|
|
366
|
-
#
|
|
367
|
-
#
|
|
368
|
-
#
|
|
369
|
-
#
|
|
467
|
+
# "uuid": "17082d1c-0195-4fb6-8779-2cdbcb9eeb3c",
|
|
468
|
+
# "symbol": "USDT",
|
|
469
|
+
# "name": "TetherUS",
|
|
470
|
+
# "scale": 12,
|
|
471
|
+
# "is_fiat": False,
|
|
472
|
+
# "is_transfer_enabled": True,
|
|
473
|
+
# "transfer_scale": 12,
|
|
474
|
+
# "binding_gateways": [
|
|
475
|
+
# {
|
|
476
|
+
# "guid": "07efc37f-d1ec-4bc9-8339-a745256ea2ba",
|
|
477
|
+
# "is_deposit_enabled": True,
|
|
478
|
+
# "gateway_name": "Ethereum",
|
|
479
|
+
# "min_withdrawal_amount": "0.000001",
|
|
480
|
+
# "withdrawal_fee": "5.71",
|
|
481
|
+
# "is_withdrawal_enabled": True,
|
|
482
|
+
# "min_deposit_amount": "0.000001",
|
|
483
|
+
# "is_memo_required": False,
|
|
484
|
+
# "withdrawal_scale": 6,
|
|
485
|
+
# "scale": 12
|
|
486
|
+
# },
|
|
487
|
+
# {
|
|
488
|
+
# "guid": "4e387a9a-a480-40a3-b4ae-ed1773c2db5a",
|
|
489
|
+
# "is_deposit_enabled": True,
|
|
490
|
+
# "gateway_name": "BinanceSmartChain",
|
|
491
|
+
# "min_withdrawal_amount": "10",
|
|
492
|
+
# "withdrawal_fee": "5",
|
|
493
|
+
# "is_withdrawal_enabled": False,
|
|
494
|
+
# "min_deposit_amount": "1",
|
|
495
|
+
# "is_memo_required": False,
|
|
496
|
+
# "withdrawal_scale": 8,
|
|
497
|
+
# "scale": 12
|
|
498
|
+
# }
|
|
499
|
+
# ]
|
|
370
500
|
# },
|
|
371
|
-
# "info_link": null,
|
|
372
|
-
# "scale": "12",
|
|
373
|
-
# "default_gateway": ..., # one object from "gateways"
|
|
374
|
-
# "gateways": [
|
|
375
|
-
# {
|
|
376
|
-
# "uuid": "f0fa5a85-7f65-428a-b7b7-13aad55c2837",
|
|
377
|
-
# "name": "Mixin",
|
|
378
|
-
# "kind": "CHAIN",
|
|
379
|
-
# "required_confirmations": "0",
|
|
380
|
-
# },
|
|
381
|
-
# {
|
|
382
|
-
# "uuid": "b75446c6-1446-4c8d-b3d1-39f385b0a926",
|
|
383
|
-
# "name": "Ethereum",
|
|
384
|
-
# "kind": "CHAIN",
|
|
385
|
-
# "required_confirmations": "18",
|
|
386
|
-
# },
|
|
387
|
-
# {
|
|
388
|
-
# "uuid": "fe9b1b0b-e55c-4017-b5ce-16f524df5fc0",
|
|
389
|
-
# "name": "Tron",
|
|
390
|
-
# "kind": "CHAIN",
|
|
391
|
-
# "required_confirmations": "1",
|
|
392
|
-
# },
|
|
393
|
-
# ...
|
|
394
|
-
# ],
|
|
395
|
-
# "payments": [],
|
|
396
|
-
# "uuid": "17082d1c-0195-4fb6-8779-2cdbcb9eeb3c",
|
|
397
|
-
# "binding_gateways": [
|
|
398
|
-
# {
|
|
399
|
-
# "guid": "07efc37f-d1ec-4bc9-8339-a745256ea2ba",
|
|
400
|
-
# "contract_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
|
401
|
-
# "is_deposit_enabled": True,
|
|
402
|
-
# "display_name": "Ethereum(ERC20)",
|
|
403
|
-
# "gateway_name": "Ethereum",
|
|
404
|
-
# "min_withdrawal_amount": "0.000001",
|
|
405
|
-
# "min_internal_withdrawal_amount": "0.00000001",
|
|
406
|
-
# "withdrawal_fee": "14",
|
|
407
|
-
# "is_withdrawal_enabled": True,
|
|
408
|
-
# "min_deposit_amount": "0.000001",
|
|
409
|
-
# "is_memo_required": False,
|
|
410
|
-
# "withdrawal_scale": "2",
|
|
411
|
-
# "gateway": {
|
|
412
|
-
# "uuid": "b75446c6-1446-4c8d-b3d1-39f385b0a926",
|
|
413
|
-
# "name": "Ethereum",
|
|
414
|
-
# "kind": "CHAIN",
|
|
415
|
-
# "required_confirmations": "18",
|
|
416
|
-
# },
|
|
417
|
-
# "scale": "12",
|
|
418
|
-
# },
|
|
419
|
-
# {
|
|
420
|
-
# "guid": "b80a4d13-cac7-4319-842d-b33c3bfab8ec",
|
|
421
|
-
# "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
|
|
422
|
-
# "is_deposit_enabled": True,
|
|
423
|
-
# "display_name": "Tron(TRC20)",
|
|
424
|
-
# "gateway_name": "Tron",
|
|
425
|
-
# "min_withdrawal_amount": "0.000001",
|
|
426
|
-
# "min_internal_withdrawal_amount": "0.00000001",
|
|
427
|
-
# "withdrawal_fee": "1",
|
|
428
|
-
# "is_withdrawal_enabled": True,
|
|
429
|
-
# "min_deposit_amount": "0.000001",
|
|
430
|
-
# "is_memo_required": False,
|
|
431
|
-
# "withdrawal_scale": "6",
|
|
432
|
-
# "gateway": {
|
|
433
|
-
# "uuid": "fe9b1b0b-e55c-4017-b5ce-16f524df5fc0",
|
|
434
|
-
# "name": "Tron",
|
|
435
|
-
# "kind": "CHAIN",
|
|
436
|
-
# "required_confirmations": "1",
|
|
437
|
-
# },
|
|
438
|
-
# "scale": "12",
|
|
439
|
-
# },
|
|
440
|
-
# ...
|
|
441
|
-
# ],
|
|
442
|
-
# },
|
|
443
501
|
# ...
|
|
444
502
|
# ],
|
|
445
503
|
# }
|
|
@@ -451,19 +509,15 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
451
509
|
id = self.safe_string(currency, 'symbol')
|
|
452
510
|
code = self.safe_currency_code(id)
|
|
453
511
|
name = self.safe_string(currency, 'name')
|
|
454
|
-
type = 'fiat' if self.safe_bool(currency, 'is_fiat') else 'crypto'
|
|
455
512
|
networks: dict = {}
|
|
456
513
|
chains = self.safe_list(currency, 'binding_gateways', [])
|
|
457
514
|
currencyMaxPrecision = self.parse_precision(self.safe_string_2(currency, 'withdrawal_scale', 'scale'))
|
|
458
|
-
currencyDepositEnabled: Bool = None
|
|
459
|
-
currencyWithdrawEnabled: Bool = None
|
|
460
515
|
for j in range(0, len(chains)):
|
|
461
516
|
chain = chains[j]
|
|
462
517
|
networkId = self.safe_string(chain, 'gateway_name')
|
|
463
518
|
networkCode = self.network_id_to_code(networkId)
|
|
464
519
|
deposit = self.safe_bool(chain, 'is_deposit_enabled')
|
|
465
520
|
withdraw = self.safe_bool(chain, 'is_withdrawal_enabled')
|
|
466
|
-
isActive = (deposit and withdraw)
|
|
467
521
|
minDepositAmount = self.safe_string(chain, 'min_deposit_amount')
|
|
468
522
|
minWithdrawalAmount = self.safe_string(chain, 'min_withdrawal_amount')
|
|
469
523
|
withdrawalFee = self.safe_string(chain, 'withdrawal_fee')
|
|
@@ -474,7 +528,7 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
474
528
|
'margin': None,
|
|
475
529
|
'deposit': deposit,
|
|
476
530
|
'withdraw': withdraw,
|
|
477
|
-
'active':
|
|
531
|
+
'active': None,
|
|
478
532
|
'fee': self.parse_number(withdrawalFee),
|
|
479
533
|
'precision': self.parse_number(precision),
|
|
480
534
|
'limits': {
|
|
@@ -489,19 +543,26 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
489
543
|
},
|
|
490
544
|
'info': chain,
|
|
491
545
|
}
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
546
|
+
chainLength = len(chains)
|
|
547
|
+
type: Str = None
|
|
548
|
+
if self.safe_bool(currency, 'is_fiat'):
|
|
549
|
+
type = 'fiat'
|
|
550
|
+
elif chainLength == 0:
|
|
551
|
+
if self.is_leveraged_currency(id):
|
|
552
|
+
type = 'leveraged'
|
|
553
|
+
else:
|
|
554
|
+
type = 'other'
|
|
555
|
+
else:
|
|
556
|
+
type = 'crypto'
|
|
557
|
+
result[code] = self.safe_currency_structure({
|
|
497
558
|
'id': id,
|
|
498
559
|
'code': code,
|
|
499
560
|
'info': currency,
|
|
500
561
|
'name': name,
|
|
501
562
|
'type': type,
|
|
502
563
|
'active': None,
|
|
503
|
-
'deposit':
|
|
504
|
-
'withdraw':
|
|
564
|
+
'deposit': None,
|
|
565
|
+
'withdraw': None,
|
|
505
566
|
'fee': None,
|
|
506
567
|
'precision': self.parse_number(currencyMaxPrecision),
|
|
507
568
|
'limits': {
|
|
@@ -515,13 +576,15 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
515
576
|
},
|
|
516
577
|
},
|
|
517
578
|
'networks': networks,
|
|
518
|
-
}
|
|
579
|
+
})
|
|
519
580
|
return result
|
|
520
581
|
|
|
521
582
|
def fetch_markets(self, params={}) -> List[Market]:
|
|
522
583
|
"""
|
|
523
584
|
retrieves data on all markets for bigone
|
|
524
|
-
|
|
585
|
+
|
|
586
|
+
https://open.big.one/docs/spot_asset_pair.html
|
|
587
|
+
|
|
525
588
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
526
589
|
:returns dict[]: an array of objects representing market data
|
|
527
590
|
"""
|
|
@@ -774,13 +837,17 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
774
837
|
'average': None,
|
|
775
838
|
'baseVolume': self.safe_string_2(ticker, 'volume', 'volume24h'),
|
|
776
839
|
'quoteVolume': self.safe_string(ticker, 'volume24hInUsd'),
|
|
840
|
+
'markPrice': self.safe_string(ticker, 'markPrice'),
|
|
841
|
+
'indexPrice': self.safe_string(ticker, 'indexPrice'),
|
|
777
842
|
'info': ticker,
|
|
778
843
|
}, market)
|
|
779
844
|
|
|
780
845
|
def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
|
781
846
|
"""
|
|
782
847
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
783
|
-
|
|
848
|
+
|
|
849
|
+
https://open.big.one/docs/spot_tickers.html
|
|
850
|
+
|
|
784
851
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
|
785
852
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
786
853
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -819,7 +886,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
819
886
|
def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
|
820
887
|
"""
|
|
821
888
|
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
822
|
-
|
|
889
|
+
|
|
890
|
+
https://open.big.one/docs/spot_tickers.html
|
|
891
|
+
|
|
823
892
|
:param str[] [symbols]: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
824
893
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
825
894
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -898,10 +967,12 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
898
967
|
tickers = self.parse_tickers(data, symbols)
|
|
899
968
|
return self.filter_by_array_tickers(tickers, 'symbol', symbols)
|
|
900
969
|
|
|
901
|
-
def fetch_time(self, params={}):
|
|
970
|
+
def fetch_time(self, params={}) -> Int:
|
|
902
971
|
"""
|
|
903
972
|
fetches the current integer timestamp in milliseconds from the exchange server
|
|
904
|
-
|
|
973
|
+
|
|
974
|
+
https://open.big.one/docs/spot_ping.html
|
|
975
|
+
|
|
905
976
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
906
977
|
:returns int: the current integer timestamp in milliseconds from the exchange server
|
|
907
978
|
"""
|
|
@@ -920,7 +991,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
920
991
|
def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
|
921
992
|
"""
|
|
922
993
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
|
923
|
-
|
|
994
|
+
|
|
995
|
+
https://open.big.one/docs/contract_misc.html#get-orderbook-snapshot
|
|
996
|
+
|
|
924
997
|
:param str symbol: unified symbol of the market to fetch the order book for
|
|
925
998
|
:param int [limit]: the maximum amount of order book entries to return
|
|
926
999
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -1092,8 +1165,8 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1092
1165
|
'cost': None,
|
|
1093
1166
|
'info': trade,
|
|
1094
1167
|
}
|
|
1095
|
-
makerCurrencyCode
|
|
1096
|
-
takerCurrencyCode
|
|
1168
|
+
makerCurrencyCode: str
|
|
1169
|
+
takerCurrencyCode: str
|
|
1097
1170
|
if takerOrMaker is not None:
|
|
1098
1171
|
if side == 'buy':
|
|
1099
1172
|
if takerOrMaker == 'maker':
|
|
@@ -1135,7 +1208,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1135
1208
|
def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
|
1136
1209
|
"""
|
|
1137
1210
|
get the list of most recent trades for a particular symbol
|
|
1138
|
-
|
|
1211
|
+
|
|
1212
|
+
https://open.big.one/docs/spot_asset_pair_trade.html
|
|
1213
|
+
|
|
1139
1214
|
:param str symbol: unified symbol of the market to fetch trades for
|
|
1140
1215
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
|
1141
1216
|
:param int [limit]: the maximum amount of trades to fetch
|
|
@@ -1197,30 +1272,42 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1197
1272
|
def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
|
1198
1273
|
"""
|
|
1199
1274
|
fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
|
1200
|
-
|
|
1275
|
+
|
|
1276
|
+
https://open.big.one/docs/spot_asset_pair_candle.html
|
|
1277
|
+
|
|
1201
1278
|
:param str symbol: unified symbol of the market to fetch OHLCV data for
|
|
1202
1279
|
:param str timeframe: the length of time each candle represents
|
|
1203
1280
|
:param int [since]: timestamp in ms of the earliest candle to fetch
|
|
1204
1281
|
:param int [limit]: the maximum amount of candles to fetch
|
|
1205
1282
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1283
|
+
:param int [params.until]: timestamp in ms of the earliest candle to fetch
|
|
1206
1284
|
:returns int[][]: A list of candles ordered, open, high, low, close, volume
|
|
1207
1285
|
"""
|
|
1208
1286
|
self.load_markets()
|
|
1209
1287
|
market = self.market(symbol)
|
|
1210
1288
|
if market['contract']:
|
|
1211
1289
|
raise BadRequest(self.id + ' fetchOHLCV() can only fetch ohlcvs for spot markets')
|
|
1290
|
+
until = self.safe_integer(params, 'until')
|
|
1291
|
+
untilIsDefined = (until is not None)
|
|
1292
|
+
sinceIsDefined = (since is not None)
|
|
1212
1293
|
if limit is None:
|
|
1213
|
-
limit = 100 # default 100, max 500
|
|
1294
|
+
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
|
|
1214
1295
|
request: dict = {
|
|
1215
1296
|
'asset_pair_name': market['id'],
|
|
1216
1297
|
'period': self.safe_string(self.timeframes, timeframe, timeframe),
|
|
1217
1298
|
'limit': limit,
|
|
1218
1299
|
}
|
|
1219
|
-
if
|
|
1300
|
+
if sinceIsDefined:
|
|
1220
1301
|
# start = self.parse_to_int(since / 1000)
|
|
1221
1302
|
duration = self.parse_timeframe(timeframe)
|
|
1222
|
-
|
|
1223
|
-
|
|
1303
|
+
endByLimit = self.sum(since, limit * duration * 1000)
|
|
1304
|
+
if untilIsDefined:
|
|
1305
|
+
request['time'] = self.iso8601(min(endByLimit, until + 1))
|
|
1306
|
+
else:
|
|
1307
|
+
request['time'] = self.iso8601(endByLimit)
|
|
1308
|
+
elif untilIsDefined:
|
|
1309
|
+
request['time'] = self.iso8601(until + 1)
|
|
1310
|
+
params = self.omit(params, 'until')
|
|
1224
1311
|
response = self.publicGetAssetPairsAssetPairNameCandles(self.extend(request, params))
|
|
1225
1312
|
#
|
|
1226
1313
|
# {
|
|
@@ -1268,8 +1355,10 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1268
1355
|
def fetch_balance(self, params={}) -> Balances:
|
|
1269
1356
|
"""
|
|
1270
1357
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
|
1271
|
-
|
|
1272
|
-
|
|
1358
|
+
|
|
1359
|
+
https://open.big.one/docs/fund_accounts.html
|
|
1360
|
+
https://open.big.one/docs/spot_accounts.html
|
|
1361
|
+
|
|
1273
1362
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1274
1363
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
|
1275
1364
|
"""
|
|
@@ -1361,7 +1450,6 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1361
1450
|
'postOnly': self.safe_bool(order, 'post_only'),
|
|
1362
1451
|
'side': side,
|
|
1363
1452
|
'price': price,
|
|
1364
|
-
'stopPrice': triggerPrice,
|
|
1365
1453
|
'triggerPrice': triggerPrice,
|
|
1366
1454
|
'amount': amount,
|
|
1367
1455
|
'cost': cost,
|
|
@@ -1376,7 +1464,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1376
1464
|
def create_market_buy_order_with_cost(self, symbol: str, cost: float, params={}):
|
|
1377
1465
|
"""
|
|
1378
1466
|
create a market buy order by providing the symbol and cost
|
|
1379
|
-
|
|
1467
|
+
|
|
1468
|
+
https://open.big.one/docs/spot_orders.html#create-order
|
|
1469
|
+
|
|
1380
1470
|
:param str symbol: unified symbol of the market to create an order in
|
|
1381
1471
|
:param float cost: how much you want to trade in units of the quote currency
|
|
1382
1472
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -1392,21 +1482,23 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1392
1482
|
def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
|
1393
1483
|
"""
|
|
1394
1484
|
create a trade order
|
|
1395
|
-
|
|
1485
|
+
|
|
1486
|
+
https://open.big.one/docs/spot_orders.html#create-order
|
|
1487
|
+
|
|
1396
1488
|
:param str symbol: unified symbol of the market to create an order in
|
|
1397
1489
|
:param str type: 'market' or 'limit'
|
|
1398
1490
|
:param str side: 'buy' or 'sell'
|
|
1399
1491
|
:param float amount: how much of currency you want to trade in units of base currency
|
|
1400
|
-
:param float [price]: the price at which the order is to be
|
|
1492
|
+
:param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
|
|
1401
1493
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1402
1494
|
:param float [params.triggerPrice]: the price at which a trigger order is triggered at
|
|
1403
1495
|
:param bool [params.postOnly]: if True, the order will only be posted to the order book and not executed immediately
|
|
1404
1496
|
:param str [params.timeInForce]: "GTC", "IOC", or "PO"
|
|
1405
1497
|
:param float [params.cost]: *spot market buy only* the quote quantity that can be used alternative for the amount
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
:param str operator: *stop order only* GTE or LTE(default)
|
|
1409
|
-
: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
|
|
1498
|
+
|
|
1499
|
+
EXCHANGE SPECIFIC PARAMETERS
|
|
1500
|
+
:param str [params.operator]: *stop order only* GTE or LTE(default)
|
|
1501
|
+
: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
|
|
1410
1502
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
1411
1503
|
"""
|
|
1412
1504
|
self.load_markets()
|
|
@@ -1489,7 +1581,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1489
1581
|
def cancel_order(self, id: str, symbol: Str = None, params={}):
|
|
1490
1582
|
"""
|
|
1491
1583
|
cancels an open order
|
|
1492
|
-
|
|
1584
|
+
|
|
1585
|
+
https://open.big.one/docs/spot_orders.html#cancel-order
|
|
1586
|
+
|
|
1493
1587
|
:param str id: order id
|
|
1494
1588
|
:param str symbol: Not used by bigone cancelOrder()
|
|
1495
1589
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -1516,7 +1610,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1516
1610
|
def cancel_all_orders(self, symbol: Str = None, params={}):
|
|
1517
1611
|
"""
|
|
1518
1612
|
cancel all open orders
|
|
1519
|
-
|
|
1613
|
+
|
|
1614
|
+
https://open.big.one/docs/spot_orders.html#cancel-all-orders
|
|
1615
|
+
|
|
1520
1616
|
:param str symbol: unified market symbol, only orders in the market of self symbol are cancelled when symbol is not None
|
|
1521
1617
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1522
1618
|
:returns dict[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
|
@@ -1539,12 +1635,33 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1539
1635
|
# }
|
|
1540
1636
|
# }
|
|
1541
1637
|
#
|
|
1542
|
-
|
|
1638
|
+
data = self.safe_dict(response, 'data', {})
|
|
1639
|
+
cancelled = self.safe_list(data, 'cancelled', [])
|
|
1640
|
+
failed = self.safe_list(data, 'failed', [])
|
|
1641
|
+
result = []
|
|
1642
|
+
for i in range(0, len(cancelled)):
|
|
1643
|
+
orderId = cancelled[i]
|
|
1644
|
+
result.append(self.safe_order({
|
|
1645
|
+
'info': orderId,
|
|
1646
|
+
'id': orderId,
|
|
1647
|
+
'status': 'canceled',
|
|
1648
|
+
}))
|
|
1649
|
+
for i in range(0, len(failed)):
|
|
1650
|
+
orderId = failed[i]
|
|
1651
|
+
result.append(self.safe_order({
|
|
1652
|
+
'info': orderId,
|
|
1653
|
+
'id': orderId,
|
|
1654
|
+
'status': 'failed',
|
|
1655
|
+
}))
|
|
1656
|
+
return result
|
|
1543
1657
|
|
|
1544
1658
|
def fetch_order(self, id: str, symbol: Str = None, params={}):
|
|
1545
1659
|
"""
|
|
1546
1660
|
fetches information on an order made by the user
|
|
1547
|
-
|
|
1661
|
+
|
|
1662
|
+
https://open.big.one/docs/spot_orders.html#get-one-order
|
|
1663
|
+
|
|
1664
|
+
:param str id: the order id
|
|
1548
1665
|
:param str symbol: not used by bigone fetchOrder
|
|
1549
1666
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1550
1667
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
@@ -1558,7 +1675,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1558
1675
|
def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
1559
1676
|
"""
|
|
1560
1677
|
fetches information on multiple orders made by the user
|
|
1561
|
-
|
|
1678
|
+
|
|
1679
|
+
https://open.big.one/docs/spot_orders.html#get-user-orders-in-one-asset-pair
|
|
1680
|
+
|
|
1562
1681
|
:param str symbol: unified market symbol of the market orders were made in
|
|
1563
1682
|
:param int [since]: the earliest time in ms to fetch orders for
|
|
1564
1683
|
:param int [limit]: the maximum number of order structures to retrieve
|
|
@@ -1605,7 +1724,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1605
1724
|
def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
|
1606
1725
|
"""
|
|
1607
1726
|
fetch all trades made by the user
|
|
1608
|
-
|
|
1727
|
+
|
|
1728
|
+
https://open.big.one/docs/spot_trade.html#trades-of-user
|
|
1729
|
+
|
|
1609
1730
|
:param str symbol: unified market symbol
|
|
1610
1731
|
:param int [since]: the earliest time in ms to fetch trades for
|
|
1611
1732
|
:param int [limit]: the maximum number of trades structures to retrieve
|
|
@@ -1671,7 +1792,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1671
1792
|
def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
1672
1793
|
"""
|
|
1673
1794
|
fetch all unfilled currently open orders
|
|
1674
|
-
|
|
1795
|
+
|
|
1796
|
+
https://open.big.one/docs/spot_orders.html#get-user-orders-in-one-asset-pair
|
|
1797
|
+
|
|
1675
1798
|
:param str symbol: unified market symbol
|
|
1676
1799
|
:param int [since]: the earliest time in ms to fetch open orders for
|
|
1677
1800
|
:param int [limit]: the maximum number of open orders structures to retrieve
|
|
@@ -1686,7 +1809,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1686
1809
|
def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
1687
1810
|
"""
|
|
1688
1811
|
fetches information on multiple closed orders made by the user
|
|
1689
|
-
|
|
1812
|
+
|
|
1813
|
+
https://open.big.one/docs/spot_orders.html#get-user-orders-in-one-asset-pair
|
|
1814
|
+
|
|
1690
1815
|
:param str symbol: unified market symbol of the market orders were made in
|
|
1691
1816
|
:param int [since]: the earliest time in ms to fetch orders for
|
|
1692
1817
|
:param int [limit]: the maximum number of order structures to retrieve
|
|
@@ -1730,10 +1855,12 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1730
1855
|
headers['User-Agent'] = 'ccxt/' + self.id + '-' + self.version
|
|
1731
1856
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
|
1732
1857
|
|
|
1733
|
-
def fetch_deposit_address(self, code: str, params={}):
|
|
1858
|
+
def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
|
|
1734
1859
|
"""
|
|
1735
1860
|
fetch the deposit address for a currency associated with self account
|
|
1736
|
-
|
|
1861
|
+
|
|
1862
|
+
https://open.big.one/docs/spot_deposit.html#get-deposite-address-of-one-asset-of-user
|
|
1863
|
+
|
|
1737
1864
|
:param str code: unified currency code
|
|
1738
1865
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1739
1866
|
:returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
|
|
@@ -1773,11 +1900,11 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1773
1900
|
tag = self.safe_string(addressObject, 'memo')
|
|
1774
1901
|
self.check_address(address)
|
|
1775
1902
|
return {
|
|
1903
|
+
'info': response,
|
|
1776
1904
|
'currency': code,
|
|
1905
|
+
'network': self.network_id_to_code(selectedNetworkId),
|
|
1777
1906
|
'address': address,
|
|
1778
1907
|
'tag': tag,
|
|
1779
|
-
'network': self.network_id_to_code(selectedNetworkId),
|
|
1780
|
-
'info': response,
|
|
1781
1908
|
}
|
|
1782
1909
|
|
|
1783
1910
|
def parse_transaction_status(self, status: Str):
|
|
@@ -1881,7 +2008,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1881
2008
|
def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
|
1882
2009
|
"""
|
|
1883
2010
|
fetch all deposits made to an account
|
|
1884
|
-
|
|
2011
|
+
|
|
2012
|
+
https://open.big.one/docs/spot_deposit.html#deposit-of-user
|
|
2013
|
+
|
|
1885
2014
|
:param str code: unified currency code
|
|
1886
2015
|
:param int [since]: the earliest time in ms to fetch deposits for
|
|
1887
2016
|
:param int [limit]: the maximum number of deposits structures to retrieve
|
|
@@ -1929,7 +2058,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1929
2058
|
def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
|
1930
2059
|
"""
|
|
1931
2060
|
fetch all withdrawals made from an account
|
|
1932
|
-
|
|
2061
|
+
|
|
2062
|
+
https://open.big.one/docs/spot_withdrawal.html#get-withdrawals-of-user
|
|
2063
|
+
|
|
1933
2064
|
:param str code: unified currency code
|
|
1934
2065
|
:param int [since]: the earliest time in ms to fetch withdrawals for
|
|
1935
2066
|
:param int [limit]: the maximum number of withdrawals structures to retrieve
|
|
@@ -1977,7 +2108,9 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
1977
2108
|
def transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={}) -> TransferEntry:
|
|
1978
2109
|
"""
|
|
1979
2110
|
transfer currency internally between wallets on the same account
|
|
1980
|
-
|
|
2111
|
+
|
|
2112
|
+
https://open.big.one/docs/spot_transfer.html#transfer-of-user
|
|
2113
|
+
|
|
1981
2114
|
:param str code: unified currency code
|
|
1982
2115
|
:param float amount: amount to transfer
|
|
1983
2116
|
:param str fromAccount: 'SPOT', 'FUND', or 'CONTRACT'
|
|
@@ -2043,10 +2176,12 @@ class bigone(Exchange, ImplicitAPI):
|
|
|
2043
2176
|
}
|
|
2044
2177
|
return self.safe_string(statuses, status, 'failed')
|
|
2045
2178
|
|
|
2046
|
-
def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
|
|
2179
|
+
def withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={}) -> Transaction:
|
|
2047
2180
|
"""
|
|
2048
2181
|
make a withdrawal
|
|
2049
|
-
|
|
2182
|
+
|
|
2183
|
+
https://open.big.one/docs/spot_withdrawal.html#create-withdrawal-of-user
|
|
2184
|
+
|
|
2050
2185
|
:param str code: unified currency code
|
|
2051
2186
|
:param float amount: the amount to withdraw
|
|
2052
2187
|
:param str address: the address to withdraw to
|