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/btcbox.py
CHANGED
|
@@ -7,7 +7,7 @@ from ccxt.base.exchange import Exchange
|
|
|
7
7
|
from ccxt.abstract.btcbox import ImplicitAPI
|
|
8
8
|
import hashlib
|
|
9
9
|
import json
|
|
10
|
-
from ccxt.base.types import Balances, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade
|
|
10
|
+
from ccxt.base.types import Any, Balances, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade
|
|
11
11
|
from typing import List
|
|
12
12
|
from ccxt.base.errors import ExchangeError
|
|
13
13
|
from ccxt.base.errors import AuthenticationError
|
|
@@ -23,7 +23,7 @@ from ccxt.base.precise import Precise
|
|
|
23
23
|
|
|
24
24
|
class btcbox(Exchange, ImplicitAPI):
|
|
25
25
|
|
|
26
|
-
def describe(self):
|
|
26
|
+
def describe(self) -> Any:
|
|
27
27
|
return self.deep_extend(super(btcbox, self).describe(), {
|
|
28
28
|
'id': 'btcbox',
|
|
29
29
|
'name': 'BtcBox',
|
|
@@ -39,28 +39,57 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
39
39
|
'future': False,
|
|
40
40
|
'option': False,
|
|
41
41
|
'addMargin': False,
|
|
42
|
+
'borrowCrossMargin': False,
|
|
43
|
+
'borrowIsolatedMargin': False,
|
|
44
|
+
'borrowMargin': False,
|
|
42
45
|
'cancelOrder': True,
|
|
43
46
|
'closeAllPositions': False,
|
|
44
47
|
'closePosition': False,
|
|
45
48
|
'createOrder': True,
|
|
49
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
|
50
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
|
51
|
+
'createPostOnlyOrder': False,
|
|
46
52
|
'createReduceOnlyOrder': False,
|
|
47
53
|
'fetchBalance': True,
|
|
54
|
+
'fetchBorrowInterest': False,
|
|
55
|
+
'fetchBorrowRate': False,
|
|
48
56
|
'fetchBorrowRateHistories': False,
|
|
49
57
|
'fetchBorrowRateHistory': False,
|
|
58
|
+
'fetchBorrowRates': False,
|
|
59
|
+
'fetchBorrowRatesPerSymbol': False,
|
|
50
60
|
'fetchCrossBorrowRate': False,
|
|
51
61
|
'fetchCrossBorrowRates': False,
|
|
52
62
|
'fetchFundingHistory': False,
|
|
63
|
+
'fetchFundingInterval': False,
|
|
64
|
+
'fetchFundingIntervals': False,
|
|
53
65
|
'fetchFundingRate': False,
|
|
54
66
|
'fetchFundingRateHistory': False,
|
|
55
67
|
'fetchFundingRates': False,
|
|
68
|
+
'fetchGreeks': False,
|
|
56
69
|
'fetchIndexOHLCV': False,
|
|
57
70
|
'fetchIsolatedBorrowRate': False,
|
|
58
71
|
'fetchIsolatedBorrowRates': False,
|
|
72
|
+
'fetchIsolatedPositions': False,
|
|
59
73
|
'fetchLeverage': False,
|
|
74
|
+
'fetchLeverages': False,
|
|
75
|
+
'fetchLeverageTiers': False,
|
|
76
|
+
'fetchLiquidations': False,
|
|
77
|
+
'fetchLongShortRatio': False,
|
|
78
|
+
'fetchLongShortRatioHistory': False,
|
|
79
|
+
'fetchMarginAdjustmentHistory': False,
|
|
60
80
|
'fetchMarginMode': False,
|
|
81
|
+
'fetchMarginModes': False,
|
|
82
|
+
'fetchMarketLeverageTiers': False,
|
|
61
83
|
'fetchMarkOHLCV': False,
|
|
84
|
+
'fetchMarkPrices': False,
|
|
85
|
+
'fetchMyLiquidations': False,
|
|
86
|
+
'fetchMySettlementHistory': False,
|
|
87
|
+
'fetchOpenInterest': False,
|
|
62
88
|
'fetchOpenInterestHistory': False,
|
|
89
|
+
'fetchOpenInterests': False,
|
|
63
90
|
'fetchOpenOrders': True,
|
|
91
|
+
'fetchOption': False,
|
|
92
|
+
'fetchOptionChain': False,
|
|
64
93
|
'fetchOrder': True,
|
|
65
94
|
'fetchOrderBook': True,
|
|
66
95
|
'fetchOrders': True,
|
|
@@ -72,15 +101,21 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
72
101
|
'fetchPositionsHistory': False,
|
|
73
102
|
'fetchPositionsRisk': False,
|
|
74
103
|
'fetchPremiumIndexOHLCV': False,
|
|
104
|
+
'fetchSettlementHistory': False,
|
|
75
105
|
'fetchTicker': True,
|
|
76
|
-
'fetchTickers':
|
|
106
|
+
'fetchTickers': True,
|
|
77
107
|
'fetchTrades': True,
|
|
78
108
|
'fetchTransfer': False,
|
|
79
109
|
'fetchTransfers': False,
|
|
110
|
+
'fetchVolatilityHistory': False,
|
|
80
111
|
'fetchWithdrawal': False,
|
|
81
112
|
'fetchWithdrawals': False,
|
|
82
113
|
'reduceMargin': False,
|
|
114
|
+
'repayCrossMargin': False,
|
|
115
|
+
'repayIsolatedMargin': False,
|
|
116
|
+
'repayMargin': False,
|
|
83
117
|
'setLeverage': False,
|
|
118
|
+
'setMargin': False,
|
|
84
119
|
'setMarginMode': False,
|
|
85
120
|
'setPositionMode': False,
|
|
86
121
|
'transfer': False,
|
|
@@ -88,7 +123,7 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
88
123
|
'ws': False,
|
|
89
124
|
},
|
|
90
125
|
'urls': {
|
|
91
|
-
'logo': 'https://
|
|
126
|
+
'logo': 'https://github.com/user-attachments/assets/1e2cb499-8d0f-4f8f-9464-3c015cfbc76b',
|
|
92
127
|
'api': {
|
|
93
128
|
'rest': 'https://www.btcbox.co.jp/api',
|
|
94
129
|
},
|
|
@@ -102,6 +137,7 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
102
137
|
'depth',
|
|
103
138
|
'orders',
|
|
104
139
|
'ticker',
|
|
140
|
+
'tickers',
|
|
105
141
|
],
|
|
106
142
|
},
|
|
107
143
|
'private': {
|
|
@@ -114,12 +150,79 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
114
150
|
'wallet',
|
|
115
151
|
],
|
|
116
152
|
},
|
|
153
|
+
'webApi': {
|
|
154
|
+
'get': [
|
|
155
|
+
'ajax/coin/coinInfo',
|
|
156
|
+
],
|
|
157
|
+
},
|
|
117
158
|
},
|
|
118
|
-
'
|
|
119
|
-
'
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
159
|
+
'options': {
|
|
160
|
+
'fetchMarkets': {
|
|
161
|
+
'webApiEnable': True, # fetches from WEB
|
|
162
|
+
'webApiRetries': 3,
|
|
163
|
+
},
|
|
164
|
+
'amountPrecision': '0.0001', # exchange has only few pairs and all of them
|
|
165
|
+
},
|
|
166
|
+
'features': {
|
|
167
|
+
'spot': {
|
|
168
|
+
'sandbox': False,
|
|
169
|
+
'createOrder': {
|
|
170
|
+
'marginMode': False,
|
|
171
|
+
'triggerPrice': False,
|
|
172
|
+
'triggerPriceType': None,
|
|
173
|
+
'triggerDirection': False,
|
|
174
|
+
'stopLossPrice': False,
|
|
175
|
+
'takeProfitPrice': False,
|
|
176
|
+
'attachedStopLossTakeProfit': None,
|
|
177
|
+
'timeInForce': {
|
|
178
|
+
'IOC': False,
|
|
179
|
+
'FOK': False,
|
|
180
|
+
'PO': False,
|
|
181
|
+
'GTD': False,
|
|
182
|
+
},
|
|
183
|
+
'hedged': False,
|
|
184
|
+
'leverage': False,
|
|
185
|
+
'marketBuyRequiresPrice': False,
|
|
186
|
+
'marketBuyByCost': False,
|
|
187
|
+
'selfTradePrevention': False,
|
|
188
|
+
'trailing': False,
|
|
189
|
+
'iceberg': False,
|
|
190
|
+
},
|
|
191
|
+
'createOrders': None,
|
|
192
|
+
'fetchMyTrades': None,
|
|
193
|
+
'fetchOrder': {
|
|
194
|
+
'marginMode': False,
|
|
195
|
+
'trigger': False,
|
|
196
|
+
'trailing': False,
|
|
197
|
+
'symbolRequired': True,
|
|
198
|
+
},
|
|
199
|
+
'fetchOpenOrders': {
|
|
200
|
+
'marginMode': False,
|
|
201
|
+
'limit': 100,
|
|
202
|
+
'trigger': False,
|
|
203
|
+
'trailing': False,
|
|
204
|
+
'symbolRequired': True,
|
|
205
|
+
},
|
|
206
|
+
'fetchOrders': {
|
|
207
|
+
'marginMode': False,
|
|
208
|
+
'limit': 100,
|
|
209
|
+
'daysBack': None,
|
|
210
|
+
'untilDays': None,
|
|
211
|
+
'trigger': False,
|
|
212
|
+
'trailing': False,
|
|
213
|
+
'symbolRequired': True,
|
|
214
|
+
},
|
|
215
|
+
'fetchClosedOrders': None,
|
|
216
|
+
'fetchOHLCV': None,
|
|
217
|
+
},
|
|
218
|
+
'swap': {
|
|
219
|
+
'linear': None,
|
|
220
|
+
'inverse': None,
|
|
221
|
+
},
|
|
222
|
+
'future': {
|
|
223
|
+
'linear': None,
|
|
224
|
+
'inverse': None,
|
|
225
|
+
},
|
|
123
226
|
},
|
|
124
227
|
'precisionMode': TICK_SIZE,
|
|
125
228
|
'exceptions': {
|
|
@@ -136,6 +239,142 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
136
239
|
},
|
|
137
240
|
})
|
|
138
241
|
|
|
242
|
+
def fetch_markets(self, params={}) -> List[Market]:
|
|
243
|
+
"""
|
|
244
|
+
retrieves data on all markets for ace
|
|
245
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
246
|
+
:returns dict[]: an array of objects representing market data
|
|
247
|
+
"""
|
|
248
|
+
promise1 = self.publicGetTickers()
|
|
249
|
+
promise2 = self.fetch_web_endpoint('fetchMarkets', 'webApiGetAjaxCoinCoinInfo', True)
|
|
250
|
+
response1, response2 = [promise1, promise2]
|
|
251
|
+
#
|
|
252
|
+
result2Data = self.safe_dict(response2, 'data', {})
|
|
253
|
+
marketIds = list(response1.keys())
|
|
254
|
+
markets = []
|
|
255
|
+
for i in range(0, len(marketIds)):
|
|
256
|
+
marketId = marketIds[i]
|
|
257
|
+
symbolParts = marketId.split('_')
|
|
258
|
+
baseCurr = self.safe_string(symbolParts, 0)
|
|
259
|
+
quote = self.safe_string(symbolParts, 1)
|
|
260
|
+
quoteId = quote.lower()
|
|
261
|
+
id = baseCurr.lower()
|
|
262
|
+
res = response1[marketId]
|
|
263
|
+
symbol = baseCurr + '/' + quote
|
|
264
|
+
fee = self.parse_number('0.0005') if (id == 'BTC') else self.parse_number('0.0010')
|
|
265
|
+
details = self.safe_dict(result2Data, id, {})
|
|
266
|
+
tradeDetails = self.safe_dict(details, 'trade', {})
|
|
267
|
+
markets.append(self.safe_market_structure({
|
|
268
|
+
'id': id,
|
|
269
|
+
'uppercaseId': None,
|
|
270
|
+
'symbol': symbol,
|
|
271
|
+
'base': baseCurr,
|
|
272
|
+
'baseId': id,
|
|
273
|
+
'quote': quote,
|
|
274
|
+
'quoteId': quoteId,
|
|
275
|
+
'settle': None,
|
|
276
|
+
'settleId': None,
|
|
277
|
+
'type': 'spot',
|
|
278
|
+
'spot': True,
|
|
279
|
+
'margin': False,
|
|
280
|
+
'swap': False,
|
|
281
|
+
'future': False,
|
|
282
|
+
'option': False,
|
|
283
|
+
'taker': fee,
|
|
284
|
+
'maker': fee,
|
|
285
|
+
'contract': False,
|
|
286
|
+
'linear': None,
|
|
287
|
+
'inverse': None,
|
|
288
|
+
'contractSize': None,
|
|
289
|
+
'expiry': None,
|
|
290
|
+
'expiryDatetime': None,
|
|
291
|
+
'strike': None,
|
|
292
|
+
'optionType': None,
|
|
293
|
+
'limits': {
|
|
294
|
+
'amount': {
|
|
295
|
+
'min': None,
|
|
296
|
+
'max': None,
|
|
297
|
+
},
|
|
298
|
+
'price': {
|
|
299
|
+
'min': None,
|
|
300
|
+
'max': None,
|
|
301
|
+
},
|
|
302
|
+
'cost': {
|
|
303
|
+
'min': None,
|
|
304
|
+
'max': None,
|
|
305
|
+
},
|
|
306
|
+
'leverage': {
|
|
307
|
+
'min': None,
|
|
308
|
+
'max': None,
|
|
309
|
+
},
|
|
310
|
+
},
|
|
311
|
+
'precision': {
|
|
312
|
+
'price': self.parse_number(self.parse_precision(self.safe_string(tradeDetails, 'pricedecimal'))),
|
|
313
|
+
'amount': None,
|
|
314
|
+
},
|
|
315
|
+
'active': self.safe_string(tradeDetails, 'enable') == '1',
|
|
316
|
+
'created': None,
|
|
317
|
+
'info': res,
|
|
318
|
+
}))
|
|
319
|
+
return markets
|
|
320
|
+
|
|
321
|
+
def parse_market(self, market: dict) -> Market:
|
|
322
|
+
baseId = self.safe_string(market, 'base')
|
|
323
|
+
base = self.safe_currency_code(baseId)
|
|
324
|
+
quoteId = self.safe_string(market, 'quote')
|
|
325
|
+
quote = self.safe_currency_code(quoteId)
|
|
326
|
+
symbol = base + '/' + quote
|
|
327
|
+
return {
|
|
328
|
+
'id': self.safe_string(market, 'symbol'),
|
|
329
|
+
'uppercaseId': None,
|
|
330
|
+
'symbol': symbol,
|
|
331
|
+
'base': base,
|
|
332
|
+
'baseId': baseId,
|
|
333
|
+
'quote': quote,
|
|
334
|
+
'quoteId': quoteId,
|
|
335
|
+
'settle': None,
|
|
336
|
+
'settleId': None,
|
|
337
|
+
'type': 'spot',
|
|
338
|
+
'spot': True,
|
|
339
|
+
'margin': False,
|
|
340
|
+
'swap': False,
|
|
341
|
+
'future': False,
|
|
342
|
+
'option': False,
|
|
343
|
+
'contract': False,
|
|
344
|
+
'linear': None,
|
|
345
|
+
'inverse': None,
|
|
346
|
+
'contractSize': None,
|
|
347
|
+
'expiry': None,
|
|
348
|
+
'expiryDatetime': None,
|
|
349
|
+
'strike': None,
|
|
350
|
+
'optionType': None,
|
|
351
|
+
'limits': {
|
|
352
|
+
'amount': {
|
|
353
|
+
'min': self.safe_number(market, 'minLimitBaseAmount'),
|
|
354
|
+
'max': self.safe_number(market, 'maxLimitBaseAmount'),
|
|
355
|
+
},
|
|
356
|
+
'price': {
|
|
357
|
+
'min': None,
|
|
358
|
+
'max': None,
|
|
359
|
+
},
|
|
360
|
+
'cost': {
|
|
361
|
+
'min': None,
|
|
362
|
+
'max': None,
|
|
363
|
+
},
|
|
364
|
+
'leverage': {
|
|
365
|
+
'min': None,
|
|
366
|
+
'max': None,
|
|
367
|
+
},
|
|
368
|
+
},
|
|
369
|
+
'precision': {
|
|
370
|
+
'price': self.parse_number(self.parse_precision(self.safe_string(market, 'quotePrecision'))),
|
|
371
|
+
'amount': self.parse_number(self.parse_precision(self.safe_string(market, 'basePrecision'))),
|
|
372
|
+
},
|
|
373
|
+
'active': None,
|
|
374
|
+
'created': None,
|
|
375
|
+
'info': market,
|
|
376
|
+
}
|
|
377
|
+
|
|
139
378
|
def parse_balance(self, response) -> Balances:
|
|
140
379
|
result: dict = {'info': response}
|
|
141
380
|
codes = list(self.currencies.keys())
|
|
@@ -155,7 +394,9 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
155
394
|
def fetch_balance(self, params={}) -> Balances:
|
|
156
395
|
"""
|
|
157
396
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
|
158
|
-
|
|
397
|
+
|
|
398
|
+
https://blog.btcbox.jp/en/archives/8762#toc13
|
|
399
|
+
|
|
159
400
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
160
401
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
|
161
402
|
"""
|
|
@@ -166,7 +407,9 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
166
407
|
def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
|
167
408
|
"""
|
|
168
409
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
|
169
|
-
|
|
410
|
+
|
|
411
|
+
https://blog.btcbox.jp/en/archives/8762#toc6
|
|
412
|
+
|
|
170
413
|
:param str symbol: unified symbol of the market to fetch the order book for
|
|
171
414
|
:param int [limit]: the maximum amount of order book entries to return
|
|
172
415
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -210,7 +453,9 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
210
453
|
def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
|
211
454
|
"""
|
|
212
455
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
213
|
-
|
|
456
|
+
|
|
457
|
+
https://blog.btcbox.jp/en/archives/8762#toc5
|
|
458
|
+
|
|
214
459
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
|
215
460
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
216
461
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -224,6 +469,17 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
224
469
|
response = self.publicGetTicker(self.extend(request, params))
|
|
225
470
|
return self.parse_ticker(response, market)
|
|
226
471
|
|
|
472
|
+
def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
|
473
|
+
"""
|
|
474
|
+
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
475
|
+
:param str[] [symbols]: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
476
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
477
|
+
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
478
|
+
"""
|
|
479
|
+
self.load_markets()
|
|
480
|
+
response = self.publicGetTickers(params)
|
|
481
|
+
return self.parse_tickers(response, symbols)
|
|
482
|
+
|
|
227
483
|
def parse_trade(self, trade: dict, market: Market = None) -> Trade:
|
|
228
484
|
#
|
|
229
485
|
# fetchTrades(public)
|
|
@@ -262,7 +518,9 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
262
518
|
def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
|
263
519
|
"""
|
|
264
520
|
get the list of most recent trades for a particular symbol
|
|
265
|
-
|
|
521
|
+
|
|
522
|
+
https://blog.btcbox.jp/en/archives/8762#toc7
|
|
523
|
+
|
|
266
524
|
:param str symbol: unified symbol of the market to fetch trades for
|
|
267
525
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
|
268
526
|
:param int [limit]: the maximum amount of trades to fetch
|
|
@@ -292,12 +550,14 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
292
550
|
def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
|
293
551
|
"""
|
|
294
552
|
create a trade order
|
|
295
|
-
|
|
553
|
+
|
|
554
|
+
https://blog.btcbox.jp/en/archives/8762#toc18
|
|
555
|
+
|
|
296
556
|
:param str symbol: unified symbol of the market to create an order in
|
|
297
557
|
:param str type: 'market' or 'limit'
|
|
298
558
|
:param str side: 'buy' or 'sell'
|
|
299
559
|
:param float amount: how much of currency you want to trade in units of base currency
|
|
300
|
-
:param float [price]: the price at which the order is to be
|
|
560
|
+
:param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
|
|
301
561
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
302
562
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
303
563
|
"""
|
|
@@ -321,7 +581,9 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
321
581
|
def cancel_order(self, id: str, symbol: Str = None, params={}):
|
|
322
582
|
"""
|
|
323
583
|
cancels an open order
|
|
324
|
-
|
|
584
|
+
|
|
585
|
+
https://blog.btcbox.jp/en/archives/8762#toc17
|
|
586
|
+
|
|
325
587
|
:param str id: order id
|
|
326
588
|
:param str symbol: unified symbol of the market the order was made in
|
|
327
589
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -399,7 +661,6 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
399
661
|
'status': status,
|
|
400
662
|
'symbol': market['symbol'],
|
|
401
663
|
'price': price,
|
|
402
|
-
'stopPrice': None,
|
|
403
664
|
'triggerPrice': None,
|
|
404
665
|
'cost': None,
|
|
405
666
|
'trades': trades,
|
|
@@ -411,7 +672,10 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
411
672
|
def fetch_order(self, id: str, symbol: Str = None, params={}):
|
|
412
673
|
"""
|
|
413
674
|
fetches information on an order made by the user
|
|
414
|
-
|
|
675
|
+
|
|
676
|
+
https://blog.btcbox.jp/en/archives/8762#toc16
|
|
677
|
+
|
|
678
|
+
:param str id: the order id
|
|
415
679
|
:param str symbol: unified symbol of the market the order was made in
|
|
416
680
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
417
681
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
@@ -443,8 +707,6 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
443
707
|
def fetch_orders_by_type(self, type, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
|
444
708
|
self.load_markets()
|
|
445
709
|
# a special case for btcbox – default symbol is BTC/JPY
|
|
446
|
-
if symbol is None:
|
|
447
|
-
symbol = 'BTC/JPY'
|
|
448
710
|
market = self.market(symbol)
|
|
449
711
|
request: dict = {
|
|
450
712
|
'type': type, # 'open' or 'all'
|
|
@@ -474,7 +736,9 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
474
736
|
def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
475
737
|
"""
|
|
476
738
|
fetches information on multiple orders made by the user
|
|
477
|
-
|
|
739
|
+
|
|
740
|
+
https://blog.btcbox.jp/en/archives/8762#toc15
|
|
741
|
+
|
|
478
742
|
:param str symbol: unified market symbol of the market orders were made in
|
|
479
743
|
:param int [since]: the earliest time in ms to fetch orders for
|
|
480
744
|
:param int [limit]: the maximum number of order structures to retrieve
|
|
@@ -486,7 +750,9 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
486
750
|
def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
487
751
|
"""
|
|
488
752
|
fetch all unfilled currently open orders
|
|
489
|
-
|
|
753
|
+
|
|
754
|
+
https://blog.btcbox.jp/en/archives/8762#toc15
|
|
755
|
+
|
|
490
756
|
:param str symbol: unified market symbol
|
|
491
757
|
:param int [since]: the earliest time in ms to fetch open orders for
|
|
492
758
|
:param int [limit]: the maximum number of open orders structures to retrieve
|
|
@@ -503,6 +769,8 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
503
769
|
if api == 'public':
|
|
504
770
|
if params:
|
|
505
771
|
url += '?' + self.urlencode(params)
|
|
772
|
+
elif api == 'webApi':
|
|
773
|
+
url = self.urls['www'] + '/' + path
|
|
506
774
|
else:
|
|
507
775
|
self.check_required_credentials()
|
|
508
776
|
nonce = str(self.nonce())
|
|
@@ -511,7 +779,7 @@ class btcbox(Exchange, ImplicitAPI):
|
|
|
511
779
|
'nonce': nonce,
|
|
512
780
|
}, params)
|
|
513
781
|
request = self.urlencode(query)
|
|
514
|
-
secret = self.hash(self.encode(self.secret), '
|
|
782
|
+
secret = self.hash(self.encode(self.secret), 'md5')
|
|
515
783
|
query['signature'] = self.hmac(self.encode(request), self.encode(secret), hashlib.sha256)
|
|
516
784
|
body = self.urlencode(query)
|
|
517
785
|
headers = {
|