ccxt 4.2.76__py2.py3-none-any.whl → 4.4.48__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 +36 -14
- ccxt/abstract/alpaca.py +4 -0
- ccxt/abstract/bigone.py +1 -1
- ccxt/abstract/binance.py +112 -48
- ccxt/abstract/binancecoinm.py +112 -48
- ccxt/abstract/binanceus.py +147 -83
- ccxt/abstract/binanceusdm.py +112 -48
- ccxt/abstract/bingx.py +133 -78
- ccxt/abstract/bitbank.py +5 -0
- ccxt/abstract/bitfinex.py +136 -65
- ccxt/abstract/bitfinex1.py +69 -0
- ccxt/abstract/bitflyer.py +1 -0
- ccxt/abstract/bitget.py +8 -1
- ccxt/abstract/bitmart.py +13 -1
- ccxt/abstract/bitopro.py +1 -0
- ccxt/abstract/bitpanda.py +0 -12
- ccxt/abstract/bitrue.py +3 -3
- ccxt/abstract/bitstamp.py +26 -3
- ccxt/abstract/blofin.py +24 -0
- ccxt/abstract/btcbox.py +1 -0
- ccxt/abstract/bybit.py +29 -14
- ccxt/abstract/cex.py +28 -29
- ccxt/abstract/coinbase.py +6 -0
- ccxt/abstract/coinbaseadvanced.py +94 -0
- ccxt/abstract/{coinbasepro.py → coinbaseexchange.py} +1 -0
- ccxt/abstract/coinbaseinternational.py +1 -1
- ccxt/abstract/coincatch.py +94 -0
- ccxt/abstract/coinex.py +233 -123
- ccxt/abstract/coinmetro.py +1 -0
- ccxt/abstract/cryptocom.py +14 -0
- ccxt/abstract/defx.py +69 -0
- ccxt/abstract/deribit.py +1 -0
- ccxt/abstract/digifinex.py +1 -0
- ccxt/abstract/ellipx.py +25 -0
- ccxt/abstract/gate.py +20 -0
- ccxt/abstract/gateio.py +20 -0
- ccxt/abstract/gemini.py +1 -0
- ccxt/abstract/hashkey.py +67 -0
- ccxt/abstract/hyperliquid.py +1 -1
- ccxt/abstract/independentreserve.py +6 -0
- ccxt/abstract/kraken.py +4 -3
- ccxt/abstract/krakenfutures.py +4 -0
- ccxt/abstract/kucoin.py +25 -0
- ccxt/abstract/kucoinfutures.py +35 -0
- ccxt/abstract/luno.py +2 -0
- ccxt/abstract/mexc.py +4 -0
- ccxt/abstract/myokx.py +340 -0
- ccxt/abstract/oceanex.py +5 -0
- ccxt/abstract/okx.py +30 -0
- ccxt/abstract/onetrading.py +0 -12
- ccxt/abstract/oxfun.py +34 -0
- ccxt/abstract/paradex.py +40 -0
- ccxt/abstract/phemex.py +1 -0
- ccxt/abstract/upbit.py +4 -0
- ccxt/abstract/vertex.py +19 -0
- ccxt/abstract/whitebit.py +31 -1
- ccxt/abstract/woo.py +6 -2
- ccxt/abstract/woofipro.py +119 -0
- ccxt/abstract/xt.py +153 -0
- ccxt/abstract/zonda.py +6 -0
- ccxt/ace.py +164 -60
- ccxt/alpaca.py +727 -63
- ccxt/ascendex.py +395 -249
- ccxt/async_support/__init__.py +36 -14
- ccxt/async_support/ace.py +164 -60
- ccxt/async_support/alpaca.py +727 -63
- ccxt/async_support/ascendex.py +396 -249
- ccxt/async_support/base/exchange.py +531 -155
- ccxt/async_support/base/ws/aiohttp_client.py +28 -5
- ccxt/async_support/base/ws/cache.py +3 -2
- ccxt/async_support/base/ws/client.py +26 -5
- ccxt/async_support/base/ws/fast_client.py +4 -3
- ccxt/async_support/base/ws/functions.py +1 -1
- ccxt/async_support/base/ws/future.py +40 -31
- ccxt/async_support/base/ws/order_book_side.py +3 -0
- ccxt/async_support/bequant.py +1 -1
- ccxt/async_support/bigone.py +329 -202
- ccxt/async_support/binance.py +3513 -1511
- ccxt/async_support/binancecoinm.py +2 -1
- ccxt/async_support/binanceus.py +12 -1
- ccxt/async_support/binanceusdm.py +3 -1
- ccxt/async_support/bingx.py +3105 -881
- ccxt/async_support/bit2c.py +119 -38
- ccxt/async_support/bitbank.py +215 -76
- ccxt/async_support/bitbns.py +124 -53
- ccxt/async_support/bitfinex.py +3236 -1078
- ccxt/async_support/bitfinex1.py +1711 -0
- ccxt/async_support/bitflyer.py +239 -50
- ccxt/async_support/bitget.py +1513 -563
- ccxt/async_support/bithumb.py +201 -67
- ccxt/async_support/bitmart.py +1320 -435
- ccxt/async_support/bitmex.py +308 -111
- ccxt/async_support/bitopro.py +256 -96
- ccxt/async_support/bitrue.py +365 -233
- ccxt/async_support/bitso.py +201 -89
- ccxt/async_support/bitstamp.py +438 -269
- ccxt/async_support/bitteam.py +179 -73
- ccxt/async_support/bitvavo.py +180 -70
- ccxt/async_support/bl3p.py +92 -25
- ccxt/async_support/blockchaincom.py +193 -79
- ccxt/async_support/blofin.py +403 -150
- ccxt/async_support/btcalpha.py +161 -55
- ccxt/async_support/btcbox.py +250 -34
- ccxt/async_support/btcmarkets.py +232 -85
- ccxt/async_support/btcturk.py +159 -60
- ccxt/async_support/bybit.py +2326 -1255
- ccxt/async_support/cex.py +1409 -1329
- ccxt/async_support/coinbase.py +1455 -288
- ccxt/async_support/coinbaseadvanced.py +17 -0
- ccxt/async_support/{coinbasepro.py → coinbaseexchange.py} +233 -99
- ccxt/async_support/coinbaseinternational.py +428 -88
- ccxt/async_support/coincatch.py +5152 -0
- ccxt/async_support/coincheck.py +121 -38
- ccxt/async_support/coinex.py +4020 -3339
- ccxt/async_support/coinlist.py +273 -116
- ccxt/async_support/coinmate.py +204 -97
- ccxt/async_support/coinmetro.py +203 -110
- ccxt/async_support/coinone.py +142 -68
- ccxt/async_support/coinsph.py +206 -89
- ccxt/async_support/coinspot.py +137 -62
- ccxt/async_support/cryptocom.py +515 -185
- ccxt/async_support/currencycom.py +203 -85
- ccxt/async_support/defx.py +2066 -0
- ccxt/async_support/delta.py +467 -158
- ccxt/async_support/deribit.py +558 -324
- ccxt/async_support/digifinex.py +340 -223
- ccxt/async_support/ellipx.py +1826 -0
- ccxt/async_support/exmo.py +259 -128
- ccxt/async_support/gate.py +1473 -464
- ccxt/async_support/gemini.py +206 -84
- ccxt/async_support/hashkey.py +4164 -0
- ccxt/async_support/hitbtc.py +334 -178
- ccxt/async_support/hollaex.py +134 -83
- ccxt/async_support/htx.py +1095 -563
- ccxt/async_support/huobijp.py +105 -56
- ccxt/async_support/hyperliquid.py +1634 -269
- ccxt/async_support/idex.py +148 -95
- ccxt/async_support/independentreserve.py +236 -31
- ccxt/async_support/indodax.py +165 -62
- ccxt/async_support/kraken.py +871 -354
- ccxt/async_support/krakenfutures.py +324 -100
- ccxt/async_support/kucoin.py +1050 -355
- ccxt/async_support/kucoinfutures.py +1004 -149
- ccxt/async_support/kuna.py +138 -106
- ccxt/async_support/latoken.py +135 -79
- ccxt/async_support/lbank.py +290 -113
- ccxt/async_support/luno.py +112 -62
- ccxt/async_support/lykke.py +104 -55
- ccxt/async_support/mercado.py +36 -29
- ccxt/async_support/mexc.py +995 -429
- ccxt/async_support/myokx.py +43 -0
- ccxt/async_support/ndax.py +163 -82
- ccxt/async_support/novadax.py +121 -75
- ccxt/async_support/oceanex.py +175 -59
- ccxt/async_support/okcoin.py +222 -163
- ccxt/async_support/okx.py +1777 -455
- ccxt/async_support/onetrading.py +132 -414
- ccxt/async_support/oxfun.py +2832 -0
- ccxt/async_support/p2b.py +79 -51
- ccxt/async_support/paradex.py +2017 -0
- ccxt/async_support/paymium.py +56 -32
- ccxt/async_support/phemex.py +572 -196
- ccxt/async_support/poloniex.py +218 -95
- ccxt/async_support/poloniexfutures.py +260 -92
- ccxt/async_support/probit.py +143 -110
- ccxt/async_support/timex.py +123 -70
- ccxt/async_support/tokocrypto.py +129 -93
- ccxt/async_support/tradeogre.py +39 -25
- ccxt/async_support/upbit.py +322 -113
- ccxt/async_support/vertex.py +2983 -0
- ccxt/async_support/wavesexchange.py +227 -173
- ccxt/async_support/wazirx.py +145 -65
- ccxt/async_support/whitebit.py +533 -138
- ccxt/async_support/woo.py +1155 -295
- ccxt/async_support/woofipro.py +2716 -0
- ccxt/async_support/xt.py +4628 -0
- ccxt/async_support/yobit.py +160 -92
- ccxt/async_support/zaif.py +80 -33
- ccxt/async_support/zonda.py +140 -69
- ccxt/base/errors.py +51 -20
- ccxt/base/exchange.py +1729 -482
- ccxt/base/precise.py +10 -0
- ccxt/base/types.py +223 -4
- ccxt/bequant.py +1 -1
- ccxt/bigone.py +329 -202
- ccxt/binance.py +3513 -1511
- ccxt/binancecoinm.py +2 -1
- ccxt/binanceus.py +12 -1
- ccxt/binanceusdm.py +3 -1
- ccxt/bingx.py +3105 -881
- ccxt/bit2c.py +119 -38
- ccxt/bitbank.py +215 -76
- ccxt/bitbns.py +124 -53
- ccxt/bitfinex.py +3235 -1078
- ccxt/bitfinex1.py +1710 -0
- ccxt/bitflyer.py +239 -50
- ccxt/bitget.py +1513 -563
- ccxt/bithumb.py +200 -67
- ccxt/bitmart.py +1320 -435
- ccxt/bitmex.py +308 -111
- ccxt/bitopro.py +256 -96
- ccxt/bitrue.py +365 -233
- ccxt/bitso.py +201 -89
- ccxt/bitstamp.py +438 -269
- ccxt/bitteam.py +179 -73
- ccxt/bitvavo.py +180 -70
- ccxt/bl3p.py +92 -25
- ccxt/blockchaincom.py +193 -79
- ccxt/blofin.py +403 -150
- ccxt/btcalpha.py +161 -55
- ccxt/btcbox.py +250 -34
- ccxt/btcmarkets.py +232 -85
- ccxt/btcturk.py +159 -60
- ccxt/bybit.py +2326 -1255
- ccxt/cex.py +1408 -1329
- ccxt/coinbase.py +1455 -288
- ccxt/coinbaseadvanced.py +17 -0
- ccxt/{coinbasepro.py → coinbaseexchange.py} +233 -99
- ccxt/coinbaseinternational.py +428 -88
- ccxt/coincatch.py +5152 -0
- ccxt/coincheck.py +121 -38
- ccxt/coinex.py +4020 -3339
- ccxt/coinlist.py +273 -116
- ccxt/coinmate.py +204 -97
- ccxt/coinmetro.py +203 -110
- ccxt/coinone.py +142 -68
- ccxt/coinsph.py +206 -89
- ccxt/coinspot.py +137 -62
- ccxt/cryptocom.py +515 -185
- ccxt/currencycom.py +203 -85
- ccxt/defx.py +2065 -0
- ccxt/delta.py +467 -158
- ccxt/deribit.py +558 -324
- ccxt/digifinex.py +340 -223
- ccxt/ellipx.py +1826 -0
- ccxt/exmo.py +259 -128
- ccxt/gate.py +1473 -464
- ccxt/gemini.py +206 -84
- ccxt/hashkey.py +4164 -0
- ccxt/hitbtc.py +334 -178
- ccxt/hollaex.py +134 -83
- ccxt/htx.py +1095 -563
- ccxt/huobijp.py +105 -56
- ccxt/hyperliquid.py +1633 -269
- ccxt/idex.py +148 -95
- ccxt/independentreserve.py +235 -31
- ccxt/indodax.py +165 -62
- ccxt/kraken.py +871 -354
- ccxt/krakenfutures.py +324 -100
- ccxt/kucoin.py +1050 -355
- ccxt/kucoinfutures.py +1004 -149
- ccxt/kuna.py +138 -106
- ccxt/latoken.py +135 -79
- ccxt/lbank.py +290 -113
- ccxt/luno.py +112 -62
- ccxt/lykke.py +104 -55
- ccxt/mercado.py +36 -29
- ccxt/mexc.py +994 -429
- ccxt/myokx.py +43 -0
- ccxt/ndax.py +163 -82
- ccxt/novadax.py +121 -75
- ccxt/oceanex.py +175 -59
- ccxt/okcoin.py +222 -163
- ccxt/okx.py +1777 -455
- ccxt/onetrading.py +132 -414
- ccxt/oxfun.py +2831 -0
- ccxt/p2b.py +79 -51
- ccxt/paradex.py +2017 -0
- ccxt/paymium.py +56 -32
- ccxt/phemex.py +572 -196
- ccxt/poloniex.py +218 -95
- ccxt/poloniexfutures.py +260 -92
- ccxt/pro/__init__.py +29 -5
- ccxt/pro/alpaca.py +32 -17
- ccxt/pro/ascendex.py +63 -15
- ccxt/pro/bequant.py +4 -0
- ccxt/pro/binance.py +1596 -329
- ccxt/pro/binancecoinm.py +1 -0
- ccxt/pro/binanceus.py +2 -9
- ccxt/pro/binanceusdm.py +2 -0
- ccxt/pro/bingx.py +527 -134
- ccxt/pro/bitcoincom.py +4 -1
- ccxt/pro/bitfinex.py +731 -266
- ccxt/pro/bitfinex1.py +635 -0
- ccxt/pro/bitget.py +726 -357
- ccxt/pro/bithumb.py +380 -0
- ccxt/pro/bitmart.py +138 -39
- ccxt/pro/bitmex.py +199 -40
- ccxt/pro/bitopro.py +25 -13
- ccxt/pro/bitrue.py +31 -32
- ccxt/pro/bitstamp.py +7 -6
- ccxt/pro/bitvavo.py +204 -82
- ccxt/pro/blockchaincom.py +30 -17
- ccxt/pro/blofin.py +692 -0
- ccxt/pro/bybit.py +791 -82
- ccxt/pro/cex.py +99 -51
- ccxt/pro/coinbase.py +220 -30
- ccxt/{async_support/hitbtc3.py → pro/coinbaseadvanced.py} +5 -5
- ccxt/pro/{coinbasepro.py → coinbaseexchange.py} +19 -19
- ccxt/pro/coinbaseinternational.py +193 -30
- ccxt/pro/coincatch.py +1464 -0
- ccxt/pro/coincheck.py +11 -6
- ccxt/pro/coinex.py +967 -661
- ccxt/pro/coinone.py +17 -10
- ccxt/pro/cryptocom.py +446 -66
- ccxt/pro/currencycom.py +11 -10
- ccxt/pro/defx.py +832 -0
- ccxt/pro/deribit.py +168 -32
- ccxt/pro/exmo.py +253 -21
- ccxt/pro/gate.py +729 -64
- ccxt/pro/gemini.py +44 -26
- ccxt/pro/hashkey.py +802 -0
- ccxt/pro/hitbtc.py +208 -103
- ccxt/pro/hollaex.py +25 -9
- ccxt/pro/htx.py +83 -39
- ccxt/pro/huobijp.py +17 -16
- ccxt/pro/hyperliquid.py +502 -31
- ccxt/pro/idex.py +28 -13
- ccxt/pro/independentreserve.py +21 -16
- ccxt/pro/kraken.py +298 -51
- ccxt/pro/krakenfutures.py +166 -75
- ccxt/pro/kucoin.py +395 -77
- ccxt/pro/kucoinfutures.py +400 -99
- ccxt/pro/lbank.py +52 -31
- ccxt/pro/luno.py +12 -10
- ccxt/pro/mexc.py +400 -50
- ccxt/pro/myokx.py +28 -0
- ccxt/pro/ndax.py +25 -12
- ccxt/pro/okcoin.py +28 -9
- ccxt/pro/okx.py +935 -124
- ccxt/pro/onetrading.py +41 -24
- ccxt/pro/oxfun.py +1054 -0
- ccxt/pro/p2b.py +100 -24
- ccxt/pro/paradex.py +352 -0
- ccxt/pro/phemex.py +93 -34
- ccxt/pro/poloniex.py +129 -50
- ccxt/pro/poloniexfutures.py +53 -32
- ccxt/pro/probit.py +93 -86
- ccxt/pro/upbit.py +401 -8
- ccxt/pro/vertex.py +943 -0
- ccxt/pro/wazirx.py +46 -28
- ccxt/pro/whitebit.py +65 -12
- ccxt/pro/woo.py +486 -70
- ccxt/pro/woofipro.py +1271 -0
- ccxt/pro/xt.py +1067 -0
- ccxt/probit.py +143 -110
- ccxt/static_dependencies/__init__.py +1 -1
- ccxt/static_dependencies/lark/__init__.py +38 -0
- ccxt/static_dependencies/lark/__pyinstaller/__init__.py +6 -0
- ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +14 -0
- ccxt/static_dependencies/lark/ast_utils.py +59 -0
- ccxt/static_dependencies/lark/common.py +86 -0
- ccxt/static_dependencies/lark/exceptions.py +292 -0
- ccxt/static_dependencies/lark/grammar.py +130 -0
- ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
- ccxt/static_dependencies/lark/indenter.py +143 -0
- ccxt/static_dependencies/lark/lark.py +658 -0
- ccxt/static_dependencies/lark/lexer.py +678 -0
- ccxt/static_dependencies/lark/load_grammar.py +1428 -0
- ccxt/static_dependencies/lark/parse_tree_builder.py +391 -0
- ccxt/static_dependencies/lark/parser_frontends.py +257 -0
- ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
- ccxt/static_dependencies/lark/parsers/cyk.py +340 -0
- ccxt/static_dependencies/lark/parsers/earley.py +314 -0
- ccxt/static_dependencies/lark/parsers/earley_common.py +42 -0
- ccxt/static_dependencies/lark/parsers/earley_forest.py +801 -0
- ccxt/static_dependencies/lark/parsers/grammar_analysis.py +203 -0
- ccxt/static_dependencies/lark/parsers/lalr_analysis.py +332 -0
- ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +158 -0
- ccxt/static_dependencies/lark/parsers/lalr_parser.py +122 -0
- ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +110 -0
- ccxt/static_dependencies/lark/parsers/xearley.py +165 -0
- ccxt/static_dependencies/lark/py.typed +0 -0
- ccxt/static_dependencies/lark/reconstruct.py +107 -0
- ccxt/static_dependencies/lark/tools/__init__.py +70 -0
- ccxt/static_dependencies/lark/tools/nearley.py +202 -0
- ccxt/static_dependencies/lark/tools/serialize.py +32 -0
- ccxt/static_dependencies/lark/tools/standalone.py +196 -0
- ccxt/static_dependencies/lark/tree.py +267 -0
- ccxt/static_dependencies/lark/tree_matcher.py +186 -0
- ccxt/static_dependencies/lark/tree_templates.py +180 -0
- ccxt/static_dependencies/lark/utils.py +343 -0
- ccxt/static_dependencies/lark/visitors.py +596 -0
- ccxt/static_dependencies/marshmallow/__init__.py +81 -0
- ccxt/static_dependencies/marshmallow/base.py +65 -0
- ccxt/static_dependencies/marshmallow/class_registry.py +94 -0
- ccxt/static_dependencies/marshmallow/decorators.py +231 -0
- ccxt/static_dependencies/marshmallow/error_store.py +60 -0
- ccxt/static_dependencies/marshmallow/exceptions.py +71 -0
- ccxt/static_dependencies/marshmallow/fields.py +2114 -0
- ccxt/static_dependencies/marshmallow/orderedset.py +89 -0
- ccxt/static_dependencies/marshmallow/py.typed +0 -0
- ccxt/static_dependencies/marshmallow/schema.py +1228 -0
- ccxt/static_dependencies/marshmallow/types.py +12 -0
- ccxt/static_dependencies/marshmallow/utils.py +378 -0
- ccxt/static_dependencies/marshmallow/validate.py +678 -0
- ccxt/static_dependencies/marshmallow/warnings.py +2 -0
- ccxt/static_dependencies/marshmallow_dataclass/__init__.py +1047 -0
- ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +51 -0
- ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +45 -0
- ccxt/static_dependencies/marshmallow_dataclass/mypy.py +71 -0
- ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
- ccxt/static_dependencies/marshmallow_dataclass/typing.py +14 -0
- ccxt/static_dependencies/marshmallow_dataclass/union_field.py +82 -0
- ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +1 -0
- ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +193 -0
- ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
- ccxt/static_dependencies/starknet/__init__.py +0 -0
- ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
- ccxt/static_dependencies/starknet/cairo/data_types.py +123 -0
- ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
- ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +77 -0
- ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +46 -0
- ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +138 -0
- ccxt/static_dependencies/starknet/cairo/felt.py +64 -0
- ccxt/static_dependencies/starknet/cairo/type_parser.py +121 -0
- ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
- ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +59 -0
- ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
- ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +77 -0
- ccxt/static_dependencies/starknet/ccxt_utils.py +7 -0
- ccxt/static_dependencies/starknet/common.py +15 -0
- ccxt/static_dependencies/starknet/constants.py +39 -0
- ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
- ccxt/static_dependencies/starknet/hash/address.py +79 -0
- ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +111 -0
- ccxt/static_dependencies/starknet/hash/selector.py +16 -0
- ccxt/static_dependencies/starknet/hash/storage.py +12 -0
- ccxt/static_dependencies/starknet/hash/utils.py +78 -0
- ccxt/static_dependencies/starknet/models/__init__.py +0 -0
- ccxt/static_dependencies/starknet/models/typed_data.py +45 -0
- ccxt/static_dependencies/starknet/serialization/__init__.py +24 -0
- ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +40 -0
- ccxt/static_dependencies/starknet/serialization/_context.py +142 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +10 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +82 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +43 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +37 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +66 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +71 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +71 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +50 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +58 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +43 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +40 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +72 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +36 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +36 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +76 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +100 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +32 -0
- ccxt/static_dependencies/starknet/serialization/errors.py +10 -0
- ccxt/static_dependencies/starknet/serialization/factory.py +229 -0
- ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +110 -0
- ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +59 -0
- ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
- ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +86 -0
- ccxt/static_dependencies/starknet/utils/iterable.py +13 -0
- ccxt/static_dependencies/starknet/utils/schema.py +13 -0
- ccxt/static_dependencies/starknet/utils/typed_data.py +182 -0
- ccxt/static_dependencies/starkware/__init__.py +0 -0
- ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
- ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +50 -0
- ccxt/static_dependencies/starkware/crypto/math_utils.py +78 -0
- ccxt/static_dependencies/starkware/crypto/signature.py +2344 -0
- ccxt/static_dependencies/starkware/crypto/utils.py +63 -0
- ccxt/static_dependencies/sympy/__init__.py +0 -0
- ccxt/static_dependencies/sympy/core/__init__.py +0 -0
- ccxt/static_dependencies/sympy/core/intfunc.py +35 -0
- ccxt/static_dependencies/sympy/external/__init__.py +0 -0
- ccxt/static_dependencies/sympy/external/gmpy.py +345 -0
- ccxt/static_dependencies/sympy/external/importtools.py +187 -0
- ccxt/static_dependencies/sympy/external/ntheory.py +637 -0
- ccxt/static_dependencies/sympy/external/pythonmpq.py +341 -0
- ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
- ccxt/static_dependencies/typing_inspect/typing_inspect.py +851 -0
- ccxt/test/{test_async.py → tests_async.py} +465 -407
- ccxt/test/tests_helpers.py +285 -0
- ccxt/test/tests_init.py +39 -0
- ccxt/test/{test_sync.py → tests_sync.py} +465 -409
- ccxt/timex.py +123 -70
- ccxt/tokocrypto.py +129 -93
- ccxt/tradeogre.py +39 -25
- ccxt/upbit.py +322 -113
- ccxt/vertex.py +2983 -0
- ccxt/wavesexchange.py +227 -173
- ccxt/wazirx.py +145 -65
- ccxt/whitebit.py +533 -138
- ccxt/woo.py +1155 -295
- ccxt/woofipro.py +2716 -0
- ccxt/xt.py +4627 -0
- ccxt/yobit.py +159 -92
- ccxt/zaif.py +80 -33
- ccxt/zonda.py +140 -69
- ccxt-4.4.48.dist-info/LICENSE.txt +21 -0
- ccxt-4.4.48.dist-info/METADATA +646 -0
- ccxt-4.4.48.dist-info/RECORD +669 -0
- {ccxt-4.2.76.dist-info → ccxt-4.4.48.dist-info}/WHEEL +1 -1
- ccxt/abstract/bitbay.py +0 -47
- ccxt/abstract/bitfinex2.py +0 -139
- ccxt/abstract/hitbtc3.py +0 -115
- ccxt/async_support/bitbay.py +0 -17
- ccxt/async_support/bitfinex2.py +0 -3496
- ccxt/async_support/flowbtc.py +0 -34
- ccxt/bitbay.py +0 -17
- ccxt/bitfinex2.py +0 -3496
- ccxt/flowbtc.py +0 -34
- ccxt/hitbtc3.py +0 -16
- ccxt/pro/bitfinex2.py +0 -1081
- ccxt/test/base/__init__.py +0 -28
- 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 -103
- 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 -32
- 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_margin_mode.py +0 -24
- ccxt/test/base/test_margin_modification.py +0 -35
- ccxt/test/base/test_market.py +0 -190
- ccxt/test/base/test_number.py +0 -411
- ccxt/test/base/test_ohlcv.py +0 -32
- 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 -63
- ccxt/test/base/test_position.py +0 -60
- ccxt/test/base/test_shared_methods.py +0 -345
- ccxt/test/base/test_status.py +0 -24
- ccxt/test/base/test_throttle.py +0 -126
- ccxt/test/base/test_ticker.py +0 -86
- 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-4.2.76.dist-info/METADATA +0 -626
- ccxt-4.2.76.dist-info/RECORD +0 -534
- {ccxt-4.2.76.dist-info → ccxt-4.4.48.dist-info}/top_level.txt +0 -0
ccxt/pro/myokx.py
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
# PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
4
|
+
# https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
5
|
+
|
6
|
+
from ccxt.pro.okx import okx
|
7
|
+
|
8
|
+
|
9
|
+
class myokx(okx):
|
10
|
+
|
11
|
+
def describe(self):
|
12
|
+
return self.deep_extend(super(myokx, self).describe(), {
|
13
|
+
'id': 'myokx',
|
14
|
+
'name': 'MyOKX',
|
15
|
+
'urls': {
|
16
|
+
'api': {
|
17
|
+
'ws': 'wss://wseea.okx.com:8443/ws/v5',
|
18
|
+
},
|
19
|
+
'test': {
|
20
|
+
'ws': 'wss://wseeapap.okx.com:8443/ws/v5',
|
21
|
+
},
|
22
|
+
},
|
23
|
+
'has': {
|
24
|
+
'swap': False,
|
25
|
+
'future': False,
|
26
|
+
'option': False,
|
27
|
+
},
|
28
|
+
})
|
ccxt/pro/ndax.py
CHANGED
@@ -19,6 +19,7 @@ class ndax(ccxt.async_support.ndax):
|
|
19
19
|
'ws': True,
|
20
20
|
'watchOrderBook': True,
|
21
21
|
'watchTrades': True,
|
22
|
+
'watchTradesForSymbols': False,
|
22
23
|
'watchTicker': True,
|
23
24
|
'watchOHLCV': True,
|
24
25
|
},
|
@@ -45,6 +46,9 @@ class ndax(ccxt.async_support.ndax):
|
|
45
46
|
async def watch_ticker(self, symbol: str, params={}) -> Ticker:
|
46
47
|
"""
|
47
48
|
watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
49
|
+
|
50
|
+
https://apidoc.ndax.io/#subscribelevel1
|
51
|
+
|
48
52
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
49
53
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
50
54
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
@@ -56,12 +60,12 @@ class ndax(ccxt.async_support.ndax):
|
|
56
60
|
messageHash = name + ':' + market['id']
|
57
61
|
url = self.urls['api']['ws']
|
58
62
|
requestId = self.request_id()
|
59
|
-
payload = {
|
63
|
+
payload: dict = {
|
60
64
|
'OMSId': omsId,
|
61
65
|
'InstrumentId': int(market['id']), # conditionally optional
|
62
66
|
# 'Symbol': market['info']['symbol'], # conditionally optional
|
63
67
|
}
|
64
|
-
request = {
|
68
|
+
request: dict = {
|
65
69
|
'm': 0, # message type, 0 request, 1 reply, 2 subscribe, 3 event, unsubscribe, 5 error
|
66
70
|
'i': requestId, # sequence number identifies an individual request or request-and-response pair, to your application
|
67
71
|
'n': name, # function name is the name of the function being called or that the server is responding to, the server echoes your call
|
@@ -108,6 +112,9 @@ class ndax(ccxt.async_support.ndax):
|
|
108
112
|
async def watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
109
113
|
"""
|
110
114
|
get the list of most recent trades for a particular symbol
|
115
|
+
|
116
|
+
https://apidoc.ndax.io/#subscribetrades
|
117
|
+
|
111
118
|
:param str symbol: unified symbol of the market to fetch trades for
|
112
119
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
113
120
|
:param int [limit]: the maximum amount of trades to fetch
|
@@ -122,12 +129,12 @@ class ndax(ccxt.async_support.ndax):
|
|
122
129
|
messageHash = name + ':' + market['id']
|
123
130
|
url = self.urls['api']['ws']
|
124
131
|
requestId = self.request_id()
|
125
|
-
payload = {
|
132
|
+
payload: dict = {
|
126
133
|
'OMSId': omsId,
|
127
134
|
'InstrumentId': int(market['id']), # conditionally optional
|
128
135
|
'IncludeLastCount': 100, # the number of previous trades to retrieve in the immediate snapshot, 100 by default
|
129
136
|
}
|
130
|
-
request = {
|
137
|
+
request: dict = {
|
131
138
|
'm': 0, # message type, 0 request, 1 reply, 2 subscribe, 3 event, unsubscribe, 5 error
|
132
139
|
'i': requestId, # sequence number identifies an individual request or request-and-response pair, to your application
|
133
140
|
'n': name, # function name is the name of the function being called or that the server is responding to, the server echoes your call
|
@@ -161,7 +168,7 @@ class ndax(ccxt.async_support.ndax):
|
|
161
168
|
# ]
|
162
169
|
#
|
163
170
|
name = 'SubscribeTrades'
|
164
|
-
updates = {}
|
171
|
+
updates: dict = {}
|
165
172
|
for i in range(0, len(payload)):
|
166
173
|
trade = self.parse_trade(payload[i])
|
167
174
|
symbol = trade['symbol']
|
@@ -183,6 +190,9 @@ class ndax(ccxt.async_support.ndax):
|
|
183
190
|
async def watch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
184
191
|
"""
|
185
192
|
watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
193
|
+
|
194
|
+
https://apidoc.ndax.io/#subscribeticker
|
195
|
+
|
186
196
|
:param str symbol: unified symbol of the market to fetch OHLCV data for
|
187
197
|
:param str timeframe: the length of time each candle represents
|
188
198
|
:param int [since]: timestamp in ms of the earliest candle to fetch
|
@@ -198,13 +208,13 @@ class ndax(ccxt.async_support.ndax):
|
|
198
208
|
messageHash = name + ':' + timeframe + ':' + market['id']
|
199
209
|
url = self.urls['api']['ws']
|
200
210
|
requestId = self.request_id()
|
201
|
-
payload = {
|
211
|
+
payload: dict = {
|
202
212
|
'OMSId': omsId,
|
203
213
|
'InstrumentId': int(market['id']), # conditionally optional
|
204
214
|
'Interval': int(self.safe_string(self.timeframes, timeframe, timeframe)),
|
205
215
|
'IncludeLastCount': 100, # the number of previous candles to retrieve in the immediate snapshot, 100 by default
|
206
216
|
}
|
207
|
-
request = {
|
217
|
+
request: dict = {
|
208
218
|
'm': 0, # message type, 0 request, 1 reply, 2 subscribe, 3 event, unsubscribe, 5 error
|
209
219
|
'i': requestId, # sequence number identifies an individual request or request-and-response pair, to your application
|
210
220
|
'n': name, # function name is the name of the function being called or that the server is responding to, the server echoes your call
|
@@ -242,7 +252,7 @@ class ndax(ccxt.async_support.ndax):
|
|
242
252
|
# ]
|
243
253
|
# ]
|
244
254
|
#
|
245
|
-
updates = {}
|
255
|
+
updates: dict = {}
|
246
256
|
for i in range(0, len(payload)):
|
247
257
|
ohlcv = payload[i]
|
248
258
|
marketId = self.safe_string(ohlcv, 8)
|
@@ -303,6 +313,9 @@ class ndax(ccxt.async_support.ndax):
|
|
303
313
|
async def watch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
304
314
|
"""
|
305
315
|
watches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
316
|
+
|
317
|
+
https://apidoc.ndax.io/#subscribelevel2
|
318
|
+
|
306
319
|
:param str symbol: unified symbol of the market to fetch the order book for
|
307
320
|
:param int [limit]: the maximum amount of order book entries to return
|
308
321
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -317,19 +330,19 @@ class ndax(ccxt.async_support.ndax):
|
|
317
330
|
url = self.urls['api']['ws']
|
318
331
|
requestId = self.request_id()
|
319
332
|
limit = 100 if (limit is None) else limit
|
320
|
-
payload = {
|
333
|
+
payload: dict = {
|
321
334
|
'OMSId': omsId,
|
322
335
|
'InstrumentId': int(market['id']), # conditionally optional
|
323
336
|
# 'Symbol': market['info']['symbol'], # conditionally optional
|
324
337
|
'Depth': limit, # default 100
|
325
338
|
}
|
326
|
-
request = {
|
339
|
+
request: dict = {
|
327
340
|
'm': 0, # message type, 0 request, 1 reply, 2 subscribe, 3 event, unsubscribe, 5 error
|
328
341
|
'i': requestId, # sequence number identifies an individual request or request-and-response pair, to your application
|
329
342
|
'n': name, # function name is the name of the function being called or that the server is responding to, the server echoes your call
|
330
343
|
'o': self.json(payload), # JSON-formatted string containing the data being sent with the message
|
331
344
|
}
|
332
|
-
subscription = {
|
345
|
+
subscription: dict = {
|
333
346
|
'id': requestId,
|
334
347
|
'messageHash': messageHash,
|
335
348
|
'name': name,
|
@@ -490,7 +503,7 @@ class ndax(ccxt.async_support.ndax):
|
|
490
503
|
if payload is None:
|
491
504
|
return
|
492
505
|
message['o'] = json.loads(payload)
|
493
|
-
methods = {
|
506
|
+
methods: dict = {
|
494
507
|
'SubscribeLevel2': self.handle_subscription_status,
|
495
508
|
'SubscribeLevel1': self.handle_ticker,
|
496
509
|
'Level2UpdateEvent': self.handle_order_book,
|
ccxt/pro/okcoin.py
CHANGED
@@ -9,8 +9,8 @@ import hashlib
|
|
9
9
|
from ccxt.base.types import Balances, Int, Order, OrderBook, Str, Ticker, Trade
|
10
10
|
from ccxt.async_support.base.ws.client import Client
|
11
11
|
from typing import List
|
12
|
-
from ccxt.base.errors import ArgumentsRequired
|
13
12
|
from ccxt.base.errors import AuthenticationError
|
13
|
+
from ccxt.base.errors import ArgumentsRequired
|
14
14
|
|
15
15
|
|
16
16
|
class okcoin(ccxt.async_support.okcoin):
|
@@ -24,6 +24,7 @@ class okcoin(ccxt.async_support.okcoin):
|
|
24
24
|
'watchOrderBook': True,
|
25
25
|
'watchOrders': True,
|
26
26
|
'watchTrades': True,
|
27
|
+
'watchTradesForSymbols': False,
|
27
28
|
'watchBalance': True,
|
28
29
|
'watchOHLCV': True,
|
29
30
|
},
|
@@ -63,7 +64,7 @@ class okcoin(ccxt.async_support.okcoin):
|
|
63
64
|
market = self.market(symbol)
|
64
65
|
url = self.urls['api']['ws']
|
65
66
|
messageHash = market['type'] + '/' + channel + ':' + market['id']
|
66
|
-
request = {
|
67
|
+
request: dict = {
|
67
68
|
'op': 'subscribe',
|
68
69
|
'args': [messageHash],
|
69
70
|
}
|
@@ -72,6 +73,9 @@ class okcoin(ccxt.async_support.okcoin):
|
|
72
73
|
async def watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
73
74
|
"""
|
74
75
|
get the list of most recent trades for a particular symbol
|
76
|
+
|
77
|
+
https://www.okcoin.com/docs-v5/en/#websocket-api-public-channel-trades-channel
|
78
|
+
|
75
79
|
:param str symbol: unified symbol of the market to fetch trades for
|
76
80
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
77
81
|
:param int [limit]: the maximum amount of trades to fetch
|
@@ -88,6 +92,9 @@ class okcoin(ccxt.async_support.okcoin):
|
|
88
92
|
async def watch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
89
93
|
"""
|
90
94
|
watches information on multiple orders made by the user
|
95
|
+
|
96
|
+
https://www.okcoin.com/docs-v5/en/#websocket-api-private-channel-order-channel
|
97
|
+
|
91
98
|
:param str symbol: unified market symbol of the market orders were made in
|
92
99
|
:param int [since]: the earliest time in ms to fetch orders for
|
93
100
|
:param int [limit]: the maximum number of order structures to retrieve
|
@@ -150,7 +157,7 @@ class okcoin(ccxt.async_support.okcoin):
|
|
150
157
|
if self.orders is None:
|
151
158
|
self.orders = ArrayCacheBySymbolById(limit)
|
152
159
|
stored = self.orders
|
153
|
-
marketIds = {}
|
160
|
+
marketIds: dict = {}
|
154
161
|
parsed = self.parse_orders(orders)
|
155
162
|
for i in range(0, len(parsed)):
|
156
163
|
order = parsed[i]
|
@@ -166,6 +173,9 @@ class okcoin(ccxt.async_support.okcoin):
|
|
166
173
|
async def watch_ticker(self, symbol: str, params={}) -> Ticker:
|
167
174
|
"""
|
168
175
|
watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
176
|
+
|
177
|
+
https://www.okcoin.com/docs-v5/en/#websocket-api-public-channel-tickers-channel
|
178
|
+
|
169
179
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
170
180
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
171
181
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
@@ -241,6 +251,9 @@ class okcoin(ccxt.async_support.okcoin):
|
|
241
251
|
async def watch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
242
252
|
"""
|
243
253
|
watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
254
|
+
|
255
|
+
https://www.okcoin.com/docs-v5/en/#websocket-api-public-channel-candlesticks-channel
|
256
|
+
|
244
257
|
:param str symbol: unified symbol of the market to fetch OHLCV data for
|
245
258
|
:param str timeframe: the length of time each candle represents
|
246
259
|
:param int [since]: timestamp in ms of the earliest candle to fetch
|
@@ -303,6 +316,9 @@ class okcoin(ccxt.async_support.okcoin):
|
|
303
316
|
async def watch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
304
317
|
"""
|
305
318
|
watches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
319
|
+
|
320
|
+
https://www.okcoin.com/docs-v5/en/#websocket-api-public-channel-order-book-channel
|
321
|
+
|
306
322
|
:param str symbol: unified symbol of the market to fetch the order book for
|
307
323
|
:param int [limit]: the maximum amount of order book entries to return
|
308
324
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -442,7 +458,7 @@ class okcoin(ccxt.async_support.okcoin):
|
|
442
458
|
path = '/users/self/verify'
|
443
459
|
auth = timestamp + method + path
|
444
460
|
signature = self.hmac(self.encode(auth), self.encode(self.secret), hashlib.sha256, 'base64')
|
445
|
-
request = {
|
461
|
+
request: dict = {
|
446
462
|
'op': messageHash,
|
447
463
|
'args': [
|
448
464
|
self.apiKey,
|
@@ -452,11 +468,14 @@ class okcoin(ccxt.async_support.okcoin):
|
|
452
468
|
],
|
453
469
|
}
|
454
470
|
self.spawn(self.watch, url, messageHash, request, messageHash, future)
|
455
|
-
return future
|
471
|
+
return await future
|
456
472
|
|
457
473
|
async def watch_balance(self, params={}) -> Balances:
|
458
474
|
"""
|
459
475
|
watch balance and get the amount of funds available for trading or funds locked in orders
|
476
|
+
|
477
|
+
https://www.okcoin.com/docs-v5/en/#websocket-api-private-channel-account-channel
|
478
|
+
|
460
479
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
461
480
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
462
481
|
"""
|
@@ -502,7 +521,7 @@ class okcoin(ccxt.async_support.okcoin):
|
|
502
521
|
messageHash = accountType + '/' + account
|
503
522
|
subscriptionHash = messageHash + ':' + suffix
|
504
523
|
url = self.urls['api']['ws']
|
505
|
-
request = {
|
524
|
+
request: dict = {
|
506
525
|
'op': 'subscribe',
|
507
526
|
'args': [subscriptionHash],
|
508
527
|
}
|
@@ -573,7 +592,7 @@ class okcoin(ccxt.async_support.okcoin):
|
|
573
592
|
client.resolve(message, 'authenticated')
|
574
593
|
return message
|
575
594
|
|
576
|
-
def ping(self, client):
|
595
|
+
def ping(self, client: Client):
|
577
596
|
# okex does not support built-in ws protocol-level ping-pong
|
578
597
|
# instead it requires custom text-based ping-pong
|
579
598
|
return 'ping'
|
@@ -668,7 +687,7 @@ class okcoin(ccxt.async_support.okcoin):
|
|
668
687
|
if table is None:
|
669
688
|
event = self.safe_string(message, 'event')
|
670
689
|
if event is not None:
|
671
|
-
methods = {
|
690
|
+
methods: dict = {
|
672
691
|
# 'info': self.handleSystemStatus,
|
673
692
|
# 'book': 'handleOrderBook',
|
674
693
|
'login': self.handle_authenticate,
|
@@ -680,7 +699,7 @@ class okcoin(ccxt.async_support.okcoin):
|
|
680
699
|
else:
|
681
700
|
parts = table.split('/')
|
682
701
|
name = self.safe_string(parts, 1)
|
683
|
-
methods = {
|
702
|
+
methods: dict = {
|
684
703
|
'depth': self.handle_order_book,
|
685
704
|
'depth5': self.handle_order_book,
|
686
705
|
'depth_l2_tbt': self.handle_order_book,
|