ccxt 4.2.77__py2.py3-none-any.whl → 4.4.49__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 +24 -0
- ccxt/abstract/kucoinfutures.py +34 -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 +3030 -1087
- 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 +3205 -937
- 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 +238 -49
- ccxt/async_support/bitget.py +1525 -573
- ccxt/async_support/bithumb.py +199 -65
- 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 +392 -148
- 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 +2231 -1193
- ccxt/async_support/cex.py +1409 -1329
- ccxt/async_support/coinbase.py +1454 -287
- 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 +223 -97
- 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 +404 -109
- ccxt/async_support/deribit.py +639 -323
- ccxt/async_support/digifinex.py +465 -233
- ccxt/async_support/ellipx.py +1887 -0
- ccxt/async_support/exmo.py +317 -128
- ccxt/async_support/gate.py +1472 -463
- ccxt/async_support/gemini.py +206 -84
- ccxt/async_support/hashkey.py +4164 -0
- ccxt/async_support/hitbtc.py +433 -178
- ccxt/async_support/hollaex.py +207 -83
- ccxt/async_support/htx.py +1095 -563
- ccxt/async_support/huobijp.py +178 -56
- ccxt/async_support/hyperliquid.py +1678 -292
- ccxt/async_support/idex.py +219 -95
- ccxt/async_support/independentreserve.py +300 -31
- ccxt/async_support/indodax.py +226 -62
- ccxt/async_support/kraken.py +871 -354
- ccxt/async_support/krakenfutures.py +324 -100
- ccxt/async_support/kucoin.py +917 -357
- ccxt/async_support/kucoinfutures.py +1004 -149
- ccxt/async_support/kuna.py +198 -107
- ccxt/async_support/latoken.py +199 -79
- ccxt/async_support/lbank.py +360 -113
- ccxt/async_support/luno.py +185 -62
- ccxt/async_support/lykke.py +168 -55
- ccxt/async_support/mercado.py +101 -29
- ccxt/async_support/mexc.py +995 -429
- ccxt/async_support/myokx.py +53 -0
- ccxt/async_support/ndax.py +234 -82
- ccxt/async_support/novadax.py +195 -75
- ccxt/async_support/oceanex.py +244 -59
- ccxt/async_support/okcoin.py +301 -165
- ccxt/async_support/okx.py +1776 -454
- ccxt/async_support/onetrading.py +198 -414
- ccxt/async_support/oxfun.py +2898 -0
- ccxt/async_support/p2b.py +142 -52
- ccxt/async_support/paradex.py +2085 -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 +1137 -296
- 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 +1722 -480
- 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 +3030 -1087
- ccxt/binancecoinm.py +2 -1
- ccxt/binanceus.py +12 -1
- ccxt/binanceusdm.py +3 -1
- ccxt/bingx.py +3205 -937
- 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 +238 -49
- ccxt/bitget.py +1525 -573
- ccxt/bithumb.py +198 -65
- 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 +392 -148
- ccxt/btcalpha.py +161 -55
- ccxt/btcbox.py +250 -34
- ccxt/btcmarkets.py +232 -85
- ccxt/btcturk.py +159 -60
- ccxt/bybit.py +2231 -1193
- ccxt/cex.py +1408 -1329
- ccxt/coinbase.py +1454 -287
- 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 +223 -97
- ccxt/coinspot.py +137 -62
- ccxt/cryptocom.py +515 -185
- ccxt/currencycom.py +203 -85
- ccxt/defx.py +2065 -0
- ccxt/delta.py +404 -109
- ccxt/deribit.py +639 -323
- ccxt/digifinex.py +465 -233
- ccxt/ellipx.py +1887 -0
- ccxt/exmo.py +317 -128
- ccxt/gate.py +1472 -463
- ccxt/gemini.py +206 -84
- ccxt/hashkey.py +4164 -0
- ccxt/hitbtc.py +433 -178
- ccxt/hollaex.py +207 -83
- ccxt/htx.py +1095 -563
- ccxt/huobijp.py +178 -56
- ccxt/hyperliquid.py +1677 -292
- ccxt/idex.py +219 -95
- ccxt/independentreserve.py +299 -31
- ccxt/indodax.py +226 -62
- ccxt/kraken.py +871 -354
- ccxt/krakenfutures.py +324 -100
- ccxt/kucoin.py +917 -357
- ccxt/kucoinfutures.py +1004 -149
- ccxt/kuna.py +198 -107
- ccxt/latoken.py +199 -79
- ccxt/lbank.py +360 -113
- ccxt/luno.py +185 -62
- ccxt/lykke.py +168 -55
- ccxt/mercado.py +101 -29
- ccxt/mexc.py +994 -429
- ccxt/myokx.py +53 -0
- ccxt/ndax.py +234 -82
- ccxt/novadax.py +195 -75
- ccxt/oceanex.py +244 -59
- ccxt/okcoin.py +301 -165
- ccxt/okx.py +1776 -454
- ccxt/onetrading.py +198 -414
- ccxt/oxfun.py +2897 -0
- ccxt/p2b.py +142 -52
- ccxt/paradex.py +2085 -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 +62 -14
- 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 +143 -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 +203 -81
- 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 +965 -665
- 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 +167 -31
- ccxt/pro/exmo.py +252 -20
- 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 +92 -33
- ccxt/pro/poloniex.py +128 -49
- ccxt/pro/poloniexfutures.py +53 -32
- ccxt/pro/probit.py +92 -85
- 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 +437 -65
- 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} +456 -391
- ccxt/test/tests_helpers.py +285 -0
- ccxt/test/tests_init.py +39 -0
- ccxt/test/{test_sync.py → tests_sync.py} +456 -393
- 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 +1137 -296
- 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.49.dist-info/LICENSE.txt +21 -0
- ccxt-4.4.49.dist-info/METADATA +646 -0
- ccxt-4.4.49.dist-info/RECORD +669 -0
- {ccxt-4.2.77.dist-info → ccxt-4.4.49.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.77.dist-info/METADATA +0 -626
- ccxt-4.2.77.dist-info/RECORD +0 -534
- {ccxt-4.2.77.dist-info → ccxt-4.4.49.dist-info}/top_level.txt +0 -0
ccxt/lykke.py
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
from ccxt.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.lykke import ImplicitAPI
|
8
|
-
from ccxt.base.types import Balances, Currency, IndexType, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
|
8
|
+
from ccxt.base.types import Balances, Currencies, Currency, DepositAddress, IndexType, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
|
9
9
|
from typing import List
|
10
10
|
from ccxt.base.errors import ExchangeError
|
11
11
|
from ccxt.base.errors import BadRequest
|
@@ -50,6 +50,8 @@ class lykke(Exchange, ImplicitAPI):
|
|
50
50
|
'fetchCrossBorrowRates': False,
|
51
51
|
'fetchCurrencies': True,
|
52
52
|
'fetchDepositAddress': True,
|
53
|
+
'fetchDepositAddresses': False,
|
54
|
+
'fetchDepositAddressesByNetwork': False,
|
53
55
|
'fetchDeposits': False,
|
54
56
|
'fetchDepositsWithdrawals': True,
|
55
57
|
'fetchFundingHistory': False,
|
@@ -70,8 +72,13 @@ class lykke(Exchange, ImplicitAPI):
|
|
70
72
|
'fetchOrderBook': True,
|
71
73
|
'fetchOrders': False,
|
72
74
|
'fetchOrderTrades': False,
|
75
|
+
'fetchPosition': False,
|
76
|
+
'fetchPositionHistory': False,
|
73
77
|
'fetchPositionMode': False,
|
74
78
|
'fetchPositions': False,
|
79
|
+
'fetchPositionsForSymbol': False,
|
80
|
+
'fetchPositionsHistory': False,
|
81
|
+
'fetchPositionsRisk': False,
|
75
82
|
'fetchPremiumIndexOHLCV': False,
|
76
83
|
'fetchTicker': True,
|
77
84
|
'fetchTickers': True,
|
@@ -185,12 +192,78 @@ class lykke(Exchange, ImplicitAPI):
|
|
185
192
|
},
|
186
193
|
'commonCurrencies': {
|
187
194
|
},
|
195
|
+
'features': {
|
196
|
+
'spot': {
|
197
|
+
'sandbox': False,
|
198
|
+
'createOrder': {
|
199
|
+
'marginMode': False,
|
200
|
+
'triggerPrice': False,
|
201
|
+
'triggerPriceType': None,
|
202
|
+
'triggerDirection': False,
|
203
|
+
'stopLossPrice': False,
|
204
|
+
'takeProfitPrice': False,
|
205
|
+
'attachedStopLossTakeProfit': None,
|
206
|
+
'timeInForce': {
|
207
|
+
'IOC': False,
|
208
|
+
'FOK': False,
|
209
|
+
'PO': False,
|
210
|
+
'GTD': False,
|
211
|
+
},
|
212
|
+
'hedged': False,
|
213
|
+
'trailing': False,
|
214
|
+
'leverage': False,
|
215
|
+
'marketBuyByCost': False,
|
216
|
+
'marketBuyRequiresPrice': False,
|
217
|
+
'selfTradePrevention': False,
|
218
|
+
'iceberg': False,
|
219
|
+
},
|
220
|
+
'createOrders': None,
|
221
|
+
'fetchMyTrades': {
|
222
|
+
'marginMode': False,
|
223
|
+
'limit': 1000,
|
224
|
+
'daysBack': 100000, # todo
|
225
|
+
'untilDays': 100000, # todo
|
226
|
+
},
|
227
|
+
'fetchOrder': {
|
228
|
+
'marginMode': False,
|
229
|
+
'trigger': False,
|
230
|
+
'trailing': False,
|
231
|
+
},
|
232
|
+
'fetchOpenOrders': {
|
233
|
+
'marginMode': False,
|
234
|
+
'limit': 1000,
|
235
|
+
'trigger': False,
|
236
|
+
'trailing': False,
|
237
|
+
},
|
238
|
+
'fetchOrders': None,
|
239
|
+
'fetchClosedOrders': {
|
240
|
+
'marginMode': False,
|
241
|
+
'limit': 1000,
|
242
|
+
'daysBack': None,
|
243
|
+
'daysBackCanceled': None,
|
244
|
+
'untilDays': None,
|
245
|
+
'trigger': False,
|
246
|
+
'trailing': False,
|
247
|
+
},
|
248
|
+
'fetchOHLCV': None,
|
249
|
+
},
|
250
|
+
'swap': {
|
251
|
+
'linear': None,
|
252
|
+
'inverse': None,
|
253
|
+
},
|
254
|
+
'future': {
|
255
|
+
'linear': None,
|
256
|
+
'inverse': None,
|
257
|
+
},
|
258
|
+
},
|
188
259
|
})
|
189
260
|
|
190
|
-
def fetch_currencies(self, params={}):
|
261
|
+
def fetch_currencies(self, params={}) -> Currencies:
|
191
262
|
"""
|
192
263
|
fetches all available currencies on an exchange
|
193
|
-
|
264
|
+
|
265
|
+
https://lykkecity.github.io/Trading-API/#get-all-assets
|
266
|
+
|
194
267
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
195
268
|
:returns dict: an associative dictionary of currencies
|
196
269
|
"""
|
@@ -200,7 +273,7 @@ class lykke(Exchange, ImplicitAPI):
|
|
200
273
|
# {
|
201
274
|
# "payload":[
|
202
275
|
# {
|
203
|
-
# "assetId":"115a60c2-0da1-40f9-a7f2-
|
276
|
+
# "assetId":"115a60c2-0da1-40f9-a7f2-41da723b9075",
|
204
277
|
# "name":"Monaco Token",
|
205
278
|
# "symbol":"MCO",
|
206
279
|
# "accuracy":6,
|
@@ -226,7 +299,7 @@ class lykke(Exchange, ImplicitAPI):
|
|
226
299
|
# "error":null
|
227
300
|
# }
|
228
301
|
#
|
229
|
-
result = {}
|
302
|
+
result: dict = {}
|
230
303
|
for i in range(0, len(currencies)):
|
231
304
|
currency = currencies[i]
|
232
305
|
id = self.safe_string(currency, 'assetId')
|
@@ -263,10 +336,12 @@ class lykke(Exchange, ImplicitAPI):
|
|
263
336
|
}
|
264
337
|
return result
|
265
338
|
|
266
|
-
def fetch_markets(self, params={}):
|
339
|
+
def fetch_markets(self, params={}) -> List[Market]:
|
267
340
|
"""
|
268
341
|
retrieves data on all markets for lykke
|
269
|
-
|
342
|
+
|
343
|
+
https://lykkecity.github.io/Trading-API/#get-asset-by-id
|
344
|
+
|
270
345
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
271
346
|
:returns dict[]: an array of objects representing market data
|
272
347
|
"""
|
@@ -352,7 +427,7 @@ class lykke(Exchange, ImplicitAPI):
|
|
352
427
|
})
|
353
428
|
return result
|
354
429
|
|
355
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
430
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
356
431
|
#
|
357
432
|
# fetchTickers
|
358
433
|
#
|
@@ -423,15 +498,17 @@ class lykke(Exchange, ImplicitAPI):
|
|
423
498
|
def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
424
499
|
"""
|
425
500
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
426
|
-
|
427
|
-
|
501
|
+
|
502
|
+
https://lykkecity.github.io/Trading-API/#get-current-prices
|
503
|
+
https://lykkecity.github.io/Trading-API/#24hr-ticker-price-change-statistics
|
504
|
+
|
428
505
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
429
506
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
430
507
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
431
508
|
"""
|
432
509
|
self.load_markets()
|
433
510
|
market = self.market(symbol)
|
434
|
-
request = {
|
511
|
+
request: dict = {
|
435
512
|
'assetPairIds': market['id'],
|
436
513
|
}
|
437
514
|
# publicGetTickers or publicGetPrices
|
@@ -480,7 +557,9 @@ class lykke(Exchange, ImplicitAPI):
|
|
480
557
|
def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
481
558
|
"""
|
482
559
|
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
483
|
-
|
560
|
+
|
561
|
+
https://lykkecity.github.io/Trading-API/#24hr-ticker-price-change-statistics
|
562
|
+
|
484
563
|
:param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
485
564
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
486
565
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
@@ -510,7 +589,9 @@ class lykke(Exchange, ImplicitAPI):
|
|
510
589
|
def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
511
590
|
"""
|
512
591
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
513
|
-
|
592
|
+
|
593
|
+
https://lykkecity.github.io/Trading-API/#asset-pair-order-book-ticker
|
594
|
+
|
514
595
|
:param str symbol: unified symbol of the market to fetch the order book for
|
515
596
|
:param int [limit]: the maximum amount of order book entries to return
|
516
597
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -518,7 +599,7 @@ class lykke(Exchange, ImplicitAPI):
|
|
518
599
|
"""
|
519
600
|
self.load_markets()
|
520
601
|
market = self.market(symbol)
|
521
|
-
request = {
|
602
|
+
request: dict = {
|
522
603
|
'assetPairId': market['id'],
|
523
604
|
}
|
524
605
|
if limit is not None:
|
@@ -552,7 +633,7 @@ class lykke(Exchange, ImplicitAPI):
|
|
552
633
|
timestamp = self.safe_integer(orderbook, 'timestamp')
|
553
634
|
return self.parse_order_book(orderbook, market['symbol'], timestamp, 'bids', 'asks', 'p', 'v')
|
554
635
|
|
555
|
-
def parse_trade(self, trade, market: Market = None) -> Trade:
|
636
|
+
def parse_trade(self, trade: dict, market: Market = None) -> Trade:
|
556
637
|
#
|
557
638
|
# public fetchTrades
|
558
639
|
#
|
@@ -611,7 +692,9 @@ class lykke(Exchange, ImplicitAPI):
|
|
611
692
|
def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
612
693
|
"""
|
613
694
|
get the list of most recent trades for a particular symbol
|
614
|
-
|
695
|
+
|
696
|
+
https://lykkecity.github.io/Trading-API/#get-public-trades
|
697
|
+
|
615
698
|
:param str symbol: unified symbol of the market to fetch trades for
|
616
699
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
617
700
|
:param int [limit]: the maximum amount of trades to fetch
|
@@ -620,7 +703,7 @@ class lykke(Exchange, ImplicitAPI):
|
|
620
703
|
"""
|
621
704
|
self.load_markets()
|
622
705
|
market = self.market(symbol)
|
623
|
-
request = {
|
706
|
+
request: dict = {
|
624
707
|
'assetPairId': market['id'],
|
625
708
|
# 'offset': 0,
|
626
709
|
}
|
@@ -656,15 +739,15 @@ class lykke(Exchange, ImplicitAPI):
|
|
656
739
|
# }
|
657
740
|
# ]
|
658
741
|
#
|
659
|
-
result = {'info': response}
|
742
|
+
result: dict = {'info': response}
|
660
743
|
for i in range(0, len(response)):
|
661
744
|
balance = response[i]
|
662
745
|
currencyId = self.safe_string(balance, 'assetId')
|
663
746
|
code = self.safe_currency_code(currencyId)
|
664
747
|
account = self.account()
|
665
|
-
|
748
|
+
total = self.safe_string(balance, 'available')
|
666
749
|
used = self.safe_string(balance, 'reserved')
|
667
|
-
account['
|
750
|
+
account['total'] = total
|
668
751
|
account['used'] = used
|
669
752
|
result[code] = account
|
670
753
|
return self.safe_balance(result)
|
@@ -672,7 +755,9 @@ class lykke(Exchange, ImplicitAPI):
|
|
672
755
|
def fetch_balance(self, params={}) -> Balances:
|
673
756
|
"""
|
674
757
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
675
|
-
|
758
|
+
|
759
|
+
https://lykkecity.github.io/Trading-API/#get-the-current-balance
|
760
|
+
|
676
761
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
677
762
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
678
763
|
"""
|
@@ -694,8 +779,8 @@ class lykke(Exchange, ImplicitAPI):
|
|
694
779
|
#
|
695
780
|
return self.parse_balance(payload)
|
696
781
|
|
697
|
-
def parse_order_status(self, status):
|
698
|
-
statuses = {
|
782
|
+
def parse_order_status(self, status: Str):
|
783
|
+
statuses: dict = {
|
699
784
|
'Open': 'open',
|
700
785
|
'Pending': 'open',
|
701
786
|
'InOrderBook': 'open',
|
@@ -708,7 +793,7 @@ class lykke(Exchange, ImplicitAPI):
|
|
708
793
|
}
|
709
794
|
return self.safe_string(statuses, status, status)
|
710
795
|
|
711
|
-
def parse_order(self, order, market: Market = None) -> Order:
|
796
|
+
def parse_order(self, order: dict, market: Market = None) -> Order:
|
712
797
|
#
|
713
798
|
# {
|
714
799
|
# "id":"1b367978-7e4f-454b-b870-64040d484443",
|
@@ -751,7 +836,6 @@ class lykke(Exchange, ImplicitAPI):
|
|
751
836
|
'postOnly': None,
|
752
837
|
'side': side,
|
753
838
|
'price': price,
|
754
|
-
'stopPrice': None,
|
755
839
|
'triggerPrice': None,
|
756
840
|
'amount': amount,
|
757
841
|
'cost': cost,
|
@@ -766,19 +850,21 @@ class lykke(Exchange, ImplicitAPI):
|
|
766
850
|
def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
767
851
|
"""
|
768
852
|
create a trade order
|
769
|
-
|
770
|
-
|
853
|
+
|
854
|
+
https://lykkecity.github.io/Trading-API/#place-a-limit-order
|
855
|
+
https://lykkecity.github.io/Trading-API/#place-a-market-order
|
856
|
+
|
771
857
|
:param str symbol: unified symbol of the market to create an order in
|
772
858
|
:param str type: 'market' or 'limit'
|
773
859
|
:param str side: 'buy' or 'sell'
|
774
860
|
:param float amount: how much of currency you want to trade in units of base currency
|
775
|
-
:param float [price]: the price at which the order is to be
|
861
|
+
:param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
|
776
862
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
777
863
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
778
864
|
"""
|
779
865
|
self.load_markets()
|
780
866
|
market = self.market(symbol)
|
781
|
-
query = {
|
867
|
+
query: dict = {
|
782
868
|
'assetPairId': market['id'],
|
783
869
|
'side': self.capitalize(side),
|
784
870
|
'volume': float(self.amount_to_precision(market['symbol'], amount)),
|
@@ -838,13 +924,15 @@ class lykke(Exchange, ImplicitAPI):
|
|
838
924
|
def cancel_order(self, id: str, symbol: Str = None, params={}):
|
839
925
|
"""
|
840
926
|
cancels an open order
|
841
|
-
|
927
|
+
|
928
|
+
https://lykkecity.github.io/Trading-API/#cancel-orders-by-id
|
929
|
+
|
842
930
|
:param str id: order id
|
843
931
|
:param str symbol: unified symbol of the market the order was made in
|
844
932
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
845
933
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
846
934
|
"""
|
847
|
-
request = {
|
935
|
+
request: dict = {
|
848
936
|
'orderId': id,
|
849
937
|
}
|
850
938
|
#
|
@@ -853,18 +941,23 @@ class lykke(Exchange, ImplicitAPI):
|
|
853
941
|
# "error":null
|
854
942
|
# }
|
855
943
|
#
|
856
|
-
|
944
|
+
response = self.privateDeleteOrdersOrderId(self.extend(request, params))
|
945
|
+
return self.safe_order({
|
946
|
+
'info': response,
|
947
|
+
})
|
857
948
|
|
858
949
|
def cancel_all_orders(self, symbol: Str = None, params={}):
|
859
950
|
"""
|
860
951
|
cancel all open orders
|
861
|
-
|
952
|
+
|
953
|
+
https://lykkecity.github.io/Trading-API/#mass-cancel-orders
|
954
|
+
|
862
955
|
:param str symbol: unified market symbol, only orders in the market of self symbol are cancelled when symbol is not None
|
863
956
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
864
957
|
:returns dict[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
865
958
|
"""
|
866
959
|
self.load_markets()
|
867
|
-
request = {
|
960
|
+
request: dict = {
|
868
961
|
# 'side': 'Buy',
|
869
962
|
}
|
870
963
|
market = None
|
@@ -877,18 +970,26 @@ class lykke(Exchange, ImplicitAPI):
|
|
877
970
|
# "error":null
|
878
971
|
# }
|
879
972
|
#
|
880
|
-
|
973
|
+
response = self.privateDeleteOrders(self.extend(request, params))
|
974
|
+
return [
|
975
|
+
self.safe_order({
|
976
|
+
'info': response,
|
977
|
+
}),
|
978
|
+
]
|
881
979
|
|
882
980
|
def fetch_order(self, id: str, symbol: Str = None, params={}):
|
883
981
|
"""
|
884
982
|
fetches information on an order made by the user
|
885
|
-
|
983
|
+
|
984
|
+
https://lykkecity.github.io/Trading-API/#get-order-by-id
|
985
|
+
|
986
|
+
:param str id: order id
|
886
987
|
:param str symbol: not used by lykke fetchOrder
|
887
988
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
888
989
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
889
990
|
"""
|
890
991
|
self.load_markets()
|
891
|
-
request = {
|
992
|
+
request: dict = {
|
892
993
|
'orderId': id,
|
893
994
|
}
|
894
995
|
response = self.privateGetOrdersOrderId(self.extend(request, params))
|
@@ -917,7 +1018,9 @@ class lykke(Exchange, ImplicitAPI):
|
|
917
1018
|
def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
918
1019
|
"""
|
919
1020
|
fetch all unfilled currently open orders
|
920
|
-
|
1021
|
+
|
1022
|
+
https://lykkecity.github.io/Trading-API/#get-active-or-closed-orders
|
1023
|
+
|
921
1024
|
:param str symbol: unified market symbol
|
922
1025
|
:param int [since]: the earliest time in ms to fetch open orders for
|
923
1026
|
:param int [limit]: the maximum number of open orders structures to retrieve
|
@@ -928,7 +1031,7 @@ class lykke(Exchange, ImplicitAPI):
|
|
928
1031
|
market = None
|
929
1032
|
if symbol is not None:
|
930
1033
|
market = self.market(symbol)
|
931
|
-
request = {
|
1034
|
+
request: dict = {
|
932
1035
|
# 'offset': 0,
|
933
1036
|
# 'take': 1,
|
934
1037
|
}
|
@@ -962,7 +1065,9 @@ class lykke(Exchange, ImplicitAPI):
|
|
962
1065
|
def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
963
1066
|
"""
|
964
1067
|
fetches information on multiple closed orders made by the user
|
965
|
-
|
1068
|
+
|
1069
|
+
https://lykkecity.github.io/Trading-API/#get-active-or-closed-orders
|
1070
|
+
|
966
1071
|
:param str symbol: unified market symbol of the market orders were made in
|
967
1072
|
:param int [since]: the earliest time in ms to fetch orders for
|
968
1073
|
:param int [limit]: the maximum number of order structures to retrieve
|
@@ -973,7 +1078,7 @@ class lykke(Exchange, ImplicitAPI):
|
|
973
1078
|
market = None
|
974
1079
|
if symbol is not None:
|
975
1080
|
market = self.market(symbol)
|
976
|
-
request = {
|
1081
|
+
request: dict = {
|
977
1082
|
# 'offset': 0,
|
978
1083
|
# 'take': 1,
|
979
1084
|
}
|
@@ -1007,7 +1112,9 @@ class lykke(Exchange, ImplicitAPI):
|
|
1007
1112
|
def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
1008
1113
|
"""
|
1009
1114
|
fetch all trades made by the user
|
1010
|
-
|
1115
|
+
|
1116
|
+
https://lykkecity.github.io/Trading-API/#get-trade-history
|
1117
|
+
|
1011
1118
|
:param str symbol: unified market symbol
|
1012
1119
|
:param int [since]: the earliest time in ms to fetch trades for
|
1013
1120
|
:param int [limit]: the maximum number of trades structures to retrieve
|
@@ -1015,7 +1122,7 @@ class lykke(Exchange, ImplicitAPI):
|
|
1015
1122
|
:returns Trade[]: a list of `trade structures <https://docs.ccxt.com/#/?id=trade-structure>`
|
1016
1123
|
"""
|
1017
1124
|
self.load_markets()
|
1018
|
-
request = {
|
1125
|
+
request: dict = {
|
1019
1126
|
# 'side': 'buy',
|
1020
1127
|
# 'offset': 0,
|
1021
1128
|
# 'take': 1,
|
@@ -1059,17 +1166,19 @@ class lykke(Exchange, ImplicitAPI):
|
|
1059
1166
|
amount = Precise.string_abs(self.safe_string(bidask, amountKey))
|
1060
1167
|
return [self.parse_number(price), self.parse_number(amount)]
|
1061
1168
|
|
1062
|
-
def fetch_deposit_address(self, code: str, params={}):
|
1169
|
+
def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
|
1063
1170
|
"""
|
1064
1171
|
fetch the deposit address for a currency associated with self account
|
1065
|
-
|
1172
|
+
|
1173
|
+
https://lykkecity.github.io/Trading-API/#get-deposit-address-for-a-given-asset
|
1174
|
+
|
1066
1175
|
:param str code: unified currency code
|
1067
1176
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1068
1177
|
:returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
|
1069
1178
|
"""
|
1070
1179
|
self.load_markets()
|
1071
1180
|
currency = self.currency(code)
|
1072
|
-
request = {
|
1181
|
+
request: dict = {
|
1073
1182
|
'assetId': self.safe_string(currency, 'id'),
|
1074
1183
|
}
|
1075
1184
|
response = self.privateGetOperationsDepositsAddressesAssetId(self.extend(request, params))
|
@@ -1087,14 +1196,14 @@ class lykke(Exchange, ImplicitAPI):
|
|
1087
1196
|
tag = self.safe_string(response, 'addressExtension')
|
1088
1197
|
self.check_address(address)
|
1089
1198
|
return {
|
1199
|
+
'info': response,
|
1090
1200
|
'currency': code,
|
1201
|
+
'network': None,
|
1091
1202
|
'address': address,
|
1092
1203
|
'tag': tag,
|
1093
|
-
'network': None,
|
1094
|
-
'info': response,
|
1095
1204
|
}
|
1096
1205
|
|
1097
|
-
def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
|
1206
|
+
def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
|
1098
1207
|
#
|
1099
1208
|
# withdraw
|
1100
1209
|
# "3035b1ad-2005-4587-a986-1f7966be78e0"
|
@@ -1156,7 +1265,9 @@ class lykke(Exchange, ImplicitAPI):
|
|
1156
1265
|
def fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
1157
1266
|
"""
|
1158
1267
|
fetch history of deposits and withdrawals
|
1159
|
-
|
1268
|
+
|
1269
|
+
https://lykkecity.github.io/Trading-API/#get-the-history-of-withdrawals-and-deposits
|
1270
|
+
|
1160
1271
|
:param str [code]: unified currency code for the currency of the deposit/withdrawals, default is None
|
1161
1272
|
:param int [since]: timestamp in ms of the earliest deposit/withdrawal, default is None
|
1162
1273
|
:param int [limit]: max number of deposit/withdrawals to return, default is None
|
@@ -1164,7 +1275,7 @@ class lykke(Exchange, ImplicitAPI):
|
|
1164
1275
|
:returns dict: a list of `transaction structure <https://docs.ccxt.com/#/?id=transaction-structure>`
|
1165
1276
|
"""
|
1166
1277
|
self.load_markets()
|
1167
|
-
request = {
|
1278
|
+
request: dict = {
|
1168
1279
|
# 'offset': 0,
|
1169
1280
|
# 'take': 1,
|
1170
1281
|
}
|
@@ -1192,10 +1303,12 @@ class lykke(Exchange, ImplicitAPI):
|
|
1192
1303
|
currency = self.currency(code)
|
1193
1304
|
return self.parse_transactions(payload, currency, since, limit)
|
1194
1305
|
|
1195
|
-
def withdraw(self, code: str, amount: float, address, tag=None, params={}):
|
1306
|
+
def withdraw(self, code: str, amount: float, address: str, tag=None, params={}) -> Transaction:
|
1196
1307
|
"""
|
1197
1308
|
make a withdrawal
|
1198
|
-
|
1309
|
+
|
1310
|
+
https://lykkecity.github.io/Trading-API/#withdrawal
|
1311
|
+
|
1199
1312
|
:param str code: unified currency code
|
1200
1313
|
:param float amount: the amount to withdraw
|
1201
1314
|
:param str address: the address to withdraw to
|
@@ -1206,7 +1319,7 @@ class lykke(Exchange, ImplicitAPI):
|
|
1206
1319
|
self.load_markets()
|
1207
1320
|
self.check_address(address)
|
1208
1321
|
currency = self.currency(code)
|
1209
|
-
request = {
|
1322
|
+
request: dict = {
|
1210
1323
|
'assetId': currency['id'],
|
1211
1324
|
'volume': float(self.currency_to_precision(code, amount)),
|
1212
1325
|
'destinationAddress': address,
|
@@ -1243,7 +1356,7 @@ class lykke(Exchange, ImplicitAPI):
|
|
1243
1356
|
headers['X-Request-ID'] = self.uuid()
|
1244
1357
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
1245
1358
|
|
1246
|
-
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
1359
|
+
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
1247
1360
|
if response is None:
|
1248
1361
|
return None
|
1249
1362
|
error = self.safe_value(response, 'error', {})
|