ccxt 4.3.69__tar.gz → 4.3.71__tar.gz

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.
Files changed (655) hide show
  1. {ccxt-4.3.69/ccxt.egg-info → ccxt-4.3.71}/PKG-INFO +8 -7
  2. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/__init__.py +3 -1
  3. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/coinbaseinternational.py +1 -1
  4. ccxt-4.3.71/ccxt/abstract/paradex.py +40 -0
  5. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/__init__.py +3 -1
  6. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/base/exchange.py +1 -1
  7. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/blofin.py +63 -6
  8. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bybit.py +1 -1
  9. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/coinbaseinternational.py +155 -2
  10. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/cryptocom.py +12 -1
  11. ccxt-4.3.71/ccxt/async_support/paradex.py +1966 -0
  12. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/poloniex.py +1 -0
  13. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/woo.py +4 -2
  14. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/base/exchange.py +63 -1
  15. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/blofin.py +63 -6
  16. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bybit.py +1 -1
  17. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/coinbaseinternational.py +155 -2
  18. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/cryptocom.py +12 -1
  19. ccxt-4.3.71/ccxt/paradex.py +1966 -0
  20. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/poloniex.py +1 -0
  21. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/__init__.py +5 -1
  22. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/bequant.py +4 -0
  23. ccxt-4.3.71/ccxt/pro/blofin.py +608 -0
  24. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/coinbaseinternational.py +142 -11
  25. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/cryptocom.py +4 -1
  26. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/hitbtc.py +20 -8
  27. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/okx.py +6 -0
  28. ccxt-4.3.71/ccxt/pro/paradex.py +340 -0
  29. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/poloniex.py +32 -10
  30. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/woo.py +5 -4
  31. ccxt-4.3.71/ccxt/static_dependencies/__init__.py +1 -0
  32. ccxt-4.3.71/ccxt/static_dependencies/lark/__init__.py +38 -0
  33. ccxt-4.3.71/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +6 -0
  34. ccxt-4.3.71/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +14 -0
  35. ccxt-4.3.71/ccxt/static_dependencies/lark/ast_utils.py +59 -0
  36. ccxt-4.3.71/ccxt/static_dependencies/lark/common.py +86 -0
  37. ccxt-4.3.71/ccxt/static_dependencies/lark/exceptions.py +292 -0
  38. ccxt-4.3.71/ccxt/static_dependencies/lark/grammar.py +130 -0
  39. ccxt-4.3.71/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  40. ccxt-4.3.71/ccxt/static_dependencies/lark/indenter.py +143 -0
  41. ccxt-4.3.71/ccxt/static_dependencies/lark/lark.py +658 -0
  42. ccxt-4.3.71/ccxt/static_dependencies/lark/lexer.py +678 -0
  43. ccxt-4.3.71/ccxt/static_dependencies/lark/load_grammar.py +1428 -0
  44. ccxt-4.3.71/ccxt/static_dependencies/lark/parse_tree_builder.py +391 -0
  45. ccxt-4.3.71/ccxt/static_dependencies/lark/parser_frontends.py +257 -0
  46. ccxt-4.3.71/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  47. ccxt-4.3.71/ccxt/static_dependencies/lark/parsers/cyk.py +340 -0
  48. ccxt-4.3.71/ccxt/static_dependencies/lark/parsers/earley.py +314 -0
  49. ccxt-4.3.71/ccxt/static_dependencies/lark/parsers/earley_common.py +42 -0
  50. ccxt-4.3.71/ccxt/static_dependencies/lark/parsers/earley_forest.py +801 -0
  51. ccxt-4.3.71/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +203 -0
  52. ccxt-4.3.71/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +332 -0
  53. ccxt-4.3.71/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +158 -0
  54. ccxt-4.3.71/ccxt/static_dependencies/lark/parsers/lalr_parser.py +122 -0
  55. ccxt-4.3.71/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +110 -0
  56. ccxt-4.3.71/ccxt/static_dependencies/lark/parsers/xearley.py +165 -0
  57. ccxt-4.3.71/ccxt/static_dependencies/lark/py.typed +0 -0
  58. ccxt-4.3.71/ccxt/static_dependencies/lark/reconstruct.py +107 -0
  59. ccxt-4.3.71/ccxt/static_dependencies/lark/tools/__init__.py +70 -0
  60. ccxt-4.3.71/ccxt/static_dependencies/lark/tools/nearley.py +202 -0
  61. ccxt-4.3.71/ccxt/static_dependencies/lark/tools/serialize.py +32 -0
  62. ccxt-4.3.71/ccxt/static_dependencies/lark/tools/standalone.py +196 -0
  63. ccxt-4.3.71/ccxt/static_dependencies/lark/tree.py +267 -0
  64. ccxt-4.3.71/ccxt/static_dependencies/lark/tree_matcher.py +186 -0
  65. ccxt-4.3.71/ccxt/static_dependencies/lark/tree_templates.py +180 -0
  66. ccxt-4.3.71/ccxt/static_dependencies/lark/utils.py +343 -0
  67. ccxt-4.3.71/ccxt/static_dependencies/lark/visitors.py +596 -0
  68. ccxt-4.3.71/ccxt/static_dependencies/marshmallow/__init__.py +81 -0
  69. ccxt-4.3.71/ccxt/static_dependencies/marshmallow/base.py +65 -0
  70. ccxt-4.3.71/ccxt/static_dependencies/marshmallow/class_registry.py +94 -0
  71. ccxt-4.3.71/ccxt/static_dependencies/marshmallow/decorators.py +231 -0
  72. ccxt-4.3.71/ccxt/static_dependencies/marshmallow/error_store.py +60 -0
  73. ccxt-4.3.71/ccxt/static_dependencies/marshmallow/exceptions.py +71 -0
  74. ccxt-4.3.71/ccxt/static_dependencies/marshmallow/fields.py +2114 -0
  75. ccxt-4.3.71/ccxt/static_dependencies/marshmallow/orderedset.py +89 -0
  76. ccxt-4.3.71/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  77. ccxt-4.3.71/ccxt/static_dependencies/marshmallow/schema.py +1228 -0
  78. ccxt-4.3.71/ccxt/static_dependencies/marshmallow/types.py +12 -0
  79. ccxt-4.3.71/ccxt/static_dependencies/marshmallow/utils.py +378 -0
  80. ccxt-4.3.71/ccxt/static_dependencies/marshmallow/validate.py +678 -0
  81. ccxt-4.3.71/ccxt/static_dependencies/marshmallow/warnings.py +2 -0
  82. ccxt-4.3.71/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +1047 -0
  83. ccxt-4.3.71/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +51 -0
  84. ccxt-4.3.71/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +45 -0
  85. ccxt-4.3.71/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +71 -0
  86. ccxt-4.3.71/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  87. ccxt-4.3.71/ccxt/static_dependencies/marshmallow_dataclass/typing.py +14 -0
  88. ccxt-4.3.71/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +82 -0
  89. ccxt-4.3.71/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +1 -0
  90. ccxt-4.3.71/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +193 -0
  91. ccxt-4.3.71/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  92. ccxt-4.3.71/ccxt/static_dependencies/starknet/__init__.py +0 -0
  93. ccxt-4.3.71/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  94. ccxt-4.3.71/ccxt/static_dependencies/starknet/cairo/data_types.py +123 -0
  95. ccxt-4.3.71/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  96. ccxt-4.3.71/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +77 -0
  97. ccxt-4.3.71/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +46 -0
  98. ccxt-4.3.71/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +138 -0
  99. ccxt-4.3.71/ccxt/static_dependencies/starknet/cairo/felt.py +64 -0
  100. ccxt-4.3.71/ccxt/static_dependencies/starknet/cairo/type_parser.py +121 -0
  101. ccxt-4.3.71/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  102. ccxt-4.3.71/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +59 -0
  103. ccxt-4.3.71/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  104. ccxt-4.3.71/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +77 -0
  105. ccxt-4.3.71/ccxt/static_dependencies/starknet/ccxt_utils.py +7 -0
  106. ccxt-4.3.71/ccxt/static_dependencies/starknet/common.py +15 -0
  107. ccxt-4.3.71/ccxt/static_dependencies/starknet/constants.py +39 -0
  108. ccxt-4.3.71/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  109. ccxt-4.3.71/ccxt/static_dependencies/starknet/hash/address.py +79 -0
  110. ccxt-4.3.71/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +111 -0
  111. ccxt-4.3.71/ccxt/static_dependencies/starknet/hash/selector.py +16 -0
  112. ccxt-4.3.71/ccxt/static_dependencies/starknet/hash/storage.py +12 -0
  113. ccxt-4.3.71/ccxt/static_dependencies/starknet/hash/utils.py +78 -0
  114. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/__init__.py +24 -0
  115. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +40 -0
  116. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/_context.py +142 -0
  117. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +10 -0
  118. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +82 -0
  119. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +43 -0
  120. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +37 -0
  121. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +66 -0
  122. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +71 -0
  123. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +71 -0
  124. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +50 -0
  125. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +58 -0
  126. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +43 -0
  127. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +40 -0
  128. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +72 -0
  129. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +36 -0
  130. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +36 -0
  131. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +76 -0
  132. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +100 -0
  133. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +32 -0
  134. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/errors.py +10 -0
  135. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/factory.py +229 -0
  136. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +110 -0
  137. ccxt-4.3.71/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +59 -0
  138. ccxt-4.3.71/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  139. ccxt-4.3.71/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +86 -0
  140. ccxt-4.3.71/ccxt/static_dependencies/starknet/utils/iterable.py +13 -0
  141. ccxt-4.3.71/ccxt/static_dependencies/starknet/utils/schema.py +13 -0
  142. ccxt-4.3.71/ccxt/static_dependencies/starknet/utils/typed_data.py +182 -0
  143. ccxt-4.3.71/ccxt/static_dependencies/sympy/__init__.py +0 -0
  144. ccxt-4.3.71/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  145. ccxt-4.3.71/ccxt/static_dependencies/sympy/external/gmpy.py +345 -0
  146. ccxt-4.3.71/ccxt/static_dependencies/sympy/external/importtools.py +187 -0
  147. ccxt-4.3.71/ccxt/static_dependencies/sympy/external/ntheory.py +637 -0
  148. ccxt-4.3.71/ccxt/static_dependencies/sympy/external/pythonmpq.py +341 -0
  149. ccxt-4.3.71/ccxt/static_dependencies/typing_extensions/__init__.py +0 -0
  150. ccxt-4.3.71/ccxt/static_dependencies/typing_extensions/typing_extensions.py +3839 -0
  151. ccxt-4.3.71/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  152. ccxt-4.3.71/ccxt/static_dependencies/typing_inspect/typing_inspect.py +851 -0
  153. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/test/tests_async.py +43 -1
  154. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/test/tests_sync.py +43 -1
  155. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/woo.py +4 -2
  156. {ccxt-4.3.69 → ccxt-4.3.71/ccxt.egg-info}/PKG-INFO +8 -7
  157. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt.egg-info/SOURCES.txt +126 -0
  158. {ccxt-4.3.69 → ccxt-4.3.71}/package.json +1 -1
  159. ccxt-4.3.69/ccxt/static_dependencies/__init__.py +0 -1
  160. {ccxt-4.3.69 → ccxt-4.3.71}/LICENSE.txt +0 -0
  161. {ccxt-4.3.69 → ccxt-4.3.71}/MANIFEST.in +0 -0
  162. {ccxt-4.3.69 → ccxt-4.3.71}/README.rst +0 -0
  163. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/__init__.py +0 -0
  164. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/ace.py +0 -0
  165. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/alpaca.py +0 -0
  166. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/ascendex.py +0 -0
  167. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bequant.py +0 -0
  168. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bigone.py +0 -0
  169. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/binance.py +0 -0
  170. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/binancecoinm.py +0 -0
  171. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/binanceus.py +0 -0
  172. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/binanceusdm.py +0 -0
  173. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bingx.py +0 -0
  174. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bit2c.py +0 -0
  175. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitbank.py +0 -0
  176. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitbay.py +0 -0
  177. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitbns.py +0 -0
  178. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitcoincom.py +0 -0
  179. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitfinex.py +0 -0
  180. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitfinex2.py +0 -0
  181. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitflyer.py +0 -0
  182. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitget.py +0 -0
  183. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bithumb.py +0 -0
  184. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitmart.py +0 -0
  185. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitmex.py +0 -0
  186. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitopro.py +0 -0
  187. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitpanda.py +0 -0
  188. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitrue.py +0 -0
  189. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitso.py +0 -0
  190. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitstamp.py +0 -0
  191. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitteam.py +0 -0
  192. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bitvavo.py +0 -0
  193. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bl3p.py +0 -0
  194. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/blockchaincom.py +0 -0
  195. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/blofin.py +0 -0
  196. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/btcalpha.py +0 -0
  197. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/btcbox.py +0 -0
  198. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/btcmarkets.py +0 -0
  199. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/btcturk.py +0 -0
  200. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/bybit.py +0 -0
  201. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/cex.py +0 -0
  202. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/coinbase.py +0 -0
  203. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/coinbaseadvanced.py +0 -0
  204. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/coinbaseexchange.py +0 -0
  205. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/coincheck.py +0 -0
  206. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/coinex.py +0 -0
  207. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/coinlist.py +0 -0
  208. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/coinmate.py +0 -0
  209. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/coinmetro.py +0 -0
  210. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/coinone.py +0 -0
  211. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/coinsph.py +0 -0
  212. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/coinspot.py +0 -0
  213. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/cryptocom.py +0 -0
  214. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/currencycom.py +0 -0
  215. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/delta.py +0 -0
  216. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/deribit.py +0 -0
  217. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/digifinex.py +0 -0
  218. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/exmo.py +0 -0
  219. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/fmfwio.py +0 -0
  220. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/gate.py +0 -0
  221. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/gateio.py +0 -0
  222. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/gemini.py +0 -0
  223. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/hitbtc.py +0 -0
  224. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/hitbtc3.py +0 -0
  225. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/hollaex.py +0 -0
  226. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/htx.py +0 -0
  227. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/huobi.py +0 -0
  228. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/huobijp.py +0 -0
  229. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/hyperliquid.py +0 -0
  230. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/idex.py +0 -0
  231. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/independentreserve.py +0 -0
  232. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/indodax.py +0 -0
  233. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/kraken.py +0 -0
  234. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/krakenfutures.py +0 -0
  235. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/kucoin.py +0 -0
  236. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/kucoinfutures.py +0 -0
  237. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/kuna.py +0 -0
  238. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/latoken.py +0 -0
  239. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/lbank.py +0 -0
  240. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/luno.py +0 -0
  241. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/lykke.py +0 -0
  242. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/mercado.py +0 -0
  243. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/mexc.py +0 -0
  244. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/ndax.py +0 -0
  245. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/novadax.py +0 -0
  246. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/oceanex.py +0 -0
  247. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/okcoin.py +0 -0
  248. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/okx.py +0 -0
  249. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/onetrading.py +0 -0
  250. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/oxfun.py +0 -0
  251. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/p2b.py +0 -0
  252. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/paymium.py +0 -0
  253. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/phemex.py +0 -0
  254. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/poloniex.py +0 -0
  255. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/poloniexfutures.py +0 -0
  256. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/probit.py +0 -0
  257. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/timex.py +0 -0
  258. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/tokocrypto.py +0 -0
  259. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/tradeogre.py +0 -0
  260. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/upbit.py +0 -0
  261. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/vertex.py +0 -0
  262. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/wavesexchange.py +0 -0
  263. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/wazirx.py +0 -0
  264. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/whitebit.py +0 -0
  265. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/woo.py +0 -0
  266. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/woofipro.py +0 -0
  267. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/xt.py +0 -0
  268. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/yobit.py +0 -0
  269. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/zaif.py +0 -0
  270. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/abstract/zonda.py +0 -0
  271. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/ace.py +0 -0
  272. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/alpaca.py +0 -0
  273. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/ascendex.py +0 -0
  274. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/ace.py +0 -0
  275. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/alpaca.py +0 -0
  276. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/ascendex.py +0 -0
  277. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/base/__init__.py +0 -0
  278. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/base/throttler.py +0 -0
  279. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/base/ws/__init__.py +0 -0
  280. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  281. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/base/ws/cache.py +0 -0
  282. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/base/ws/client.py +0 -0
  283. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/base/ws/fast_client.py +0 -0
  284. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/base/ws/functions.py +0 -0
  285. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/base/ws/future.py +0 -0
  286. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/base/ws/order_book.py +0 -0
  287. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  288. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bequant.py +0 -0
  289. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bigone.py +0 -0
  290. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/binance.py +0 -0
  291. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/binancecoinm.py +0 -0
  292. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/binanceus.py +0 -0
  293. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/binanceusdm.py +0 -0
  294. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bingx.py +0 -0
  295. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bit2c.py +0 -0
  296. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitbank.py +0 -0
  297. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitbay.py +0 -0
  298. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitbns.py +0 -0
  299. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitcoincom.py +0 -0
  300. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitfinex.py +0 -0
  301. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitfinex2.py +0 -0
  302. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitflyer.py +0 -0
  303. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitget.py +0 -0
  304. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bithumb.py +0 -0
  305. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitmart.py +0 -0
  306. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitmex.py +0 -0
  307. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitopro.py +0 -0
  308. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitpanda.py +0 -0
  309. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitrue.py +0 -0
  310. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitso.py +0 -0
  311. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitstamp.py +0 -0
  312. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitteam.py +0 -0
  313. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bitvavo.py +0 -0
  314. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/bl3p.py +0 -0
  315. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/blockchaincom.py +0 -0
  316. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/btcalpha.py +0 -0
  317. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/btcbox.py +0 -0
  318. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/btcmarkets.py +0 -0
  319. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/btcturk.py +0 -0
  320. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/cex.py +0 -0
  321. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/coinbase.py +0 -0
  322. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/coinbaseadvanced.py +0 -0
  323. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/coinbaseexchange.py +0 -0
  324. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/coincheck.py +0 -0
  325. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/coinex.py +0 -0
  326. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/coinlist.py +0 -0
  327. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/coinmate.py +0 -0
  328. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/coinmetro.py +0 -0
  329. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/coinone.py +0 -0
  330. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/coinsph.py +0 -0
  331. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/coinspot.py +0 -0
  332. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/currencycom.py +0 -0
  333. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/delta.py +0 -0
  334. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/deribit.py +0 -0
  335. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/digifinex.py +0 -0
  336. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/exmo.py +0 -0
  337. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/fmfwio.py +0 -0
  338. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/gate.py +0 -0
  339. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/gateio.py +0 -0
  340. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/gemini.py +0 -0
  341. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/hitbtc.py +0 -0
  342. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/hitbtc3.py +0 -0
  343. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/hollaex.py +0 -0
  344. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/htx.py +0 -0
  345. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/huobi.py +0 -0
  346. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/huobijp.py +0 -0
  347. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/hyperliquid.py +0 -0
  348. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/idex.py +0 -0
  349. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/independentreserve.py +0 -0
  350. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/indodax.py +0 -0
  351. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/kraken.py +0 -0
  352. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/krakenfutures.py +0 -0
  353. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/kucoin.py +0 -0
  354. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/kucoinfutures.py +0 -0
  355. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/kuna.py +0 -0
  356. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/latoken.py +0 -0
  357. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/lbank.py +0 -0
  358. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/luno.py +0 -0
  359. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/lykke.py +0 -0
  360. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/mercado.py +0 -0
  361. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/mexc.py +0 -0
  362. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/ndax.py +0 -0
  363. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/novadax.py +0 -0
  364. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/oceanex.py +0 -0
  365. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/okcoin.py +0 -0
  366. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/okx.py +0 -0
  367. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/onetrading.py +0 -0
  368. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/oxfun.py +0 -0
  369. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/p2b.py +0 -0
  370. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/paymium.py +0 -0
  371. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/phemex.py +0 -0
  372. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/poloniexfutures.py +0 -0
  373. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/probit.py +0 -0
  374. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/timex.py +0 -0
  375. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/tokocrypto.py +0 -0
  376. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/tradeogre.py +0 -0
  377. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/upbit.py +0 -0
  378. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/vertex.py +0 -0
  379. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/wavesexchange.py +0 -0
  380. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/wazirx.py +0 -0
  381. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/whitebit.py +0 -0
  382. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/woofipro.py +0 -0
  383. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/xt.py +0 -0
  384. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/yobit.py +0 -0
  385. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/zaif.py +0 -0
  386. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/async_support/zonda.py +0 -0
  387. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/base/__init__.py +0 -0
  388. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/base/decimal_to_precision.py +0 -0
  389. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/base/errors.py +0 -0
  390. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/base/precise.py +0 -0
  391. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/base/types.py +0 -0
  392. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bequant.py +0 -0
  393. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bigone.py +0 -0
  394. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/binance.py +0 -0
  395. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/binancecoinm.py +0 -0
  396. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/binanceus.py +0 -0
  397. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/binanceusdm.py +0 -0
  398. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bingx.py +0 -0
  399. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bit2c.py +0 -0
  400. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitbank.py +0 -0
  401. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitbay.py +0 -0
  402. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitbns.py +0 -0
  403. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitcoincom.py +0 -0
  404. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitfinex.py +0 -0
  405. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitfinex2.py +0 -0
  406. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitflyer.py +0 -0
  407. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitget.py +0 -0
  408. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bithumb.py +0 -0
  409. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitmart.py +0 -0
  410. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitmex.py +0 -0
  411. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitopro.py +0 -0
  412. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitpanda.py +0 -0
  413. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitrue.py +0 -0
  414. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitso.py +0 -0
  415. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitstamp.py +0 -0
  416. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitteam.py +0 -0
  417. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bitvavo.py +0 -0
  418. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/bl3p.py +0 -0
  419. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/blockchaincom.py +0 -0
  420. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/btcalpha.py +0 -0
  421. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/btcbox.py +0 -0
  422. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/btcmarkets.py +0 -0
  423. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/btcturk.py +0 -0
  424. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/cex.py +0 -0
  425. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/coinbase.py +0 -0
  426. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/coinbaseadvanced.py +0 -0
  427. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/coinbaseexchange.py +0 -0
  428. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/coincheck.py +0 -0
  429. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/coinex.py +0 -0
  430. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/coinlist.py +0 -0
  431. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/coinmate.py +0 -0
  432. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/coinmetro.py +0 -0
  433. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/coinone.py +0 -0
  434. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/coinsph.py +0 -0
  435. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/coinspot.py +0 -0
  436. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/currencycom.py +0 -0
  437. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/delta.py +0 -0
  438. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/deribit.py +0 -0
  439. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/digifinex.py +0 -0
  440. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/exmo.py +0 -0
  441. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/fmfwio.py +0 -0
  442. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/gate.py +0 -0
  443. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/gateio.py +0 -0
  444. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/gemini.py +0 -0
  445. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/hitbtc.py +0 -0
  446. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/hitbtc3.py +0 -0
  447. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/hollaex.py +0 -0
  448. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/htx.py +0 -0
  449. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/huobi.py +0 -0
  450. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/huobijp.py +0 -0
  451. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/hyperliquid.py +0 -0
  452. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/idex.py +0 -0
  453. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/independentreserve.py +0 -0
  454. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/indodax.py +0 -0
  455. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/kraken.py +0 -0
  456. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/krakenfutures.py +0 -0
  457. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/kucoin.py +0 -0
  458. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/kucoinfutures.py +0 -0
  459. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/kuna.py +0 -0
  460. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/latoken.py +0 -0
  461. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/lbank.py +0 -0
  462. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/luno.py +0 -0
  463. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/lykke.py +0 -0
  464. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/mercado.py +0 -0
  465. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/mexc.py +0 -0
  466. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/ndax.py +0 -0
  467. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/novadax.py +0 -0
  468. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/oceanex.py +0 -0
  469. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/okcoin.py +0 -0
  470. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/okx.py +0 -0
  471. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/onetrading.py +0 -0
  472. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/oxfun.py +0 -0
  473. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/p2b.py +0 -0
  474. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/paymium.py +0 -0
  475. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/phemex.py +0 -0
  476. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/poloniexfutures.py +0 -0
  477. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/alpaca.py +0 -0
  478. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/ascendex.py +0 -0
  479. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/binance.py +0 -0
  480. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/binancecoinm.py +0 -0
  481. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/binanceus.py +0 -0
  482. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/binanceusdm.py +0 -0
  483. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/bingx.py +0 -0
  484. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/bitcoincom.py +0 -0
  485. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/bitfinex.py +0 -0
  486. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/bitfinex2.py +0 -0
  487. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/bitget.py +0 -0
  488. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/bithumb.py +0 -0
  489. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/bitmart.py +0 -0
  490. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/bitmex.py +0 -0
  491. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/bitopro.py +0 -0
  492. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/bitpanda.py +0 -0
  493. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/bitrue.py +0 -0
  494. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/bitstamp.py +0 -0
  495. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/bitvavo.py +0 -0
  496. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/blockchaincom.py +0 -0
  497. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/bybit.py +0 -0
  498. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/cex.py +0 -0
  499. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/coinbase.py +0 -0
  500. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/coinbaseexchange.py +0 -0
  501. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/coincheck.py +0 -0
  502. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/coinex.py +0 -0
  503. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/coinone.py +0 -0
  504. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/currencycom.py +0 -0
  505. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/deribit.py +0 -0
  506. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/exmo.py +0 -0
  507. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/gate.py +0 -0
  508. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/gateio.py +0 -0
  509. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/gemini.py +0 -0
  510. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/hollaex.py +0 -0
  511. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/htx.py +0 -0
  512. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/huobi.py +0 -0
  513. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/huobijp.py +0 -0
  514. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/hyperliquid.py +0 -0
  515. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/idex.py +0 -0
  516. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/independentreserve.py +0 -0
  517. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/kraken.py +0 -0
  518. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/krakenfutures.py +0 -0
  519. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/kucoin.py +0 -0
  520. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/kucoinfutures.py +0 -0
  521. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/lbank.py +0 -0
  522. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/luno.py +0 -0
  523. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/mexc.py +0 -0
  524. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/ndax.py +0 -0
  525. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/okcoin.py +0 -0
  526. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/onetrading.py +0 -0
  527. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/oxfun.py +0 -0
  528. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/p2b.py +0 -0
  529. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/phemex.py +0 -0
  530. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/poloniexfutures.py +0 -0
  531. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/probit.py +0 -0
  532. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/upbit.py +0 -0
  533. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/vertex.py +0 -0
  534. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/wazirx.py +0 -0
  535. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/whitebit.py +0 -0
  536. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/woofipro.py +0 -0
  537. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/pro/xt.py +0 -0
  538. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/probit.py +0 -0
  539. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  540. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  541. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  542. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  543. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  544. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  545. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  546. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  547. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  548. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  549. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  550. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  551. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  552. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  553. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  554. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  555. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  556. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  557. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  558. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  559. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  560. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  561. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  562. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  563. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  564. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  565. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  566. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  567. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  568. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  569. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  570. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  571. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  572. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  573. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  574. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  575. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  576. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  577. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  578. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  579. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  580. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  581. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  582. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  583. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  584. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  585. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  586. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  587. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  588. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  589. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  590. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  591. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  592. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  593. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  594. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  595. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  596. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  597. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  598. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  599. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  600. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  601. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  602. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  603. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  604. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  605. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  606. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  607. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  608. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  609. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  610. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  611. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  612. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  613. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  614. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  615. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  616. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  617. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  618. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  619. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  620. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  621. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  622. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  623. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  624. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  625. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/toolz/_version.py +0 -0
  626. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  627. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  628. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  629. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  630. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  631. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  632. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  633. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  634. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/static_dependencies/toolz/utils.py +0 -0
  635. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/test/__init__.py +0 -0
  636. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/test/tests_helpers.py +0 -0
  637. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/test/tests_init.py +0 -0
  638. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/timex.py +0 -0
  639. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/tokocrypto.py +0 -0
  640. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/tradeogre.py +0 -0
  641. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/upbit.py +0 -0
  642. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/vertex.py +0 -0
  643. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/wavesexchange.py +0 -0
  644. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/wazirx.py +0 -0
  645. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/whitebit.py +0 -0
  646. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/woofipro.py +0 -0
  647. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/xt.py +0 -0
  648. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/yobit.py +0 -0
  649. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/zaif.py +0 -0
  650. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt/zonda.py +0 -0
  651. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt.egg-info/dependency_links.txt +0 -0
  652. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt.egg-info/requires.txt +0 -0
  653. {ccxt-4.3.69 → ccxt-4.3.71}/ccxt.egg-info/top_level.txt +0 -0
  654. {ccxt-4.3.69 → ccxt-4.3.71}/setup.cfg +0 -0
  655. {ccxt-4.3.69 → ccxt-4.3.71}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.3.69
3
+ Version: 4.3.71
4
4
  Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges
5
5
  Home-page: https://ccxt.com
6
6
  Author: Igor Kroitor
@@ -39,7 +39,7 @@ License-File: LICENSE.txt
39
39
 
40
40
  # CCXT – CryptoCurrency eXchange Trading Library
41
41
 
42
- [![Build Status](https://img.shields.io/travis/com/ccxt/ccxt)](https://travis-ci.com/ccxt/ccxt) [![npm](https://img.shields.io/npm/v/ccxt.svg)](https://npmjs.com/package/ccxt) [![PyPI](https://img.shields.io/pypi/v/ccxt.svg)](https://pypi.python.org/pypi/ccxt) [![NPM Downloads](https://img.shields.io/npm/dy/ccxt.svg)](https://www.npmjs.com/package/ccxt) [![Discord](https://img.shields.io/discord/690203284119617602?logo=discord&logoColor=white)](https://discord.gg/ccxt) [![Supported Exchanges](https://img.shields.io/badge/exchanges-108-blue.svg)](https://github.com/ccxt/ccxt/wiki/Exchange-Markets) [![Twitter Follow](https://img.shields.io/twitter/follow/ccxt_official.svg?style=social&label=CCXT)](https://twitter.com/ccxt_official)
42
+ [![Build Status](https://img.shields.io/travis/com/ccxt/ccxt)](https://travis-ci.com/ccxt/ccxt) [![npm](https://img.shields.io/npm/v/ccxt.svg)](https://npmjs.com/package/ccxt) [![PyPI](https://img.shields.io/pypi/v/ccxt.svg)](https://pypi.python.org/pypi/ccxt) [![NPM Downloads](https://img.shields.io/npm/dy/ccxt.svg)](https://www.npmjs.com/package/ccxt) [![Discord](https://img.shields.io/discord/690203284119617602?logo=discord&logoColor=white)](https://discord.gg/ccxt) [![Supported Exchanges](https://img.shields.io/badge/exchanges-109-blue.svg)](https://github.com/ccxt/ccxt/wiki/Exchange-Markets) [![Twitter Follow](https://img.shields.io/twitter/follow/ccxt_official.svg?style=social&label=CCXT)](https://twitter.com/ccxt_official)
43
43
 
44
44
  A JavaScript / Python / PHP / C# library for cryptocurrency trading and e-commerce with support for many bitcoin/ether/altcoin exchange markets and merchant APIs.
45
45
 
@@ -96,7 +96,7 @@ Current feature list:
96
96
 
97
97
  ## Supported Cryptocurrency Exchanges
98
98
 
99
- The CCXT library currently supports the following 101 cryptocurrency exchange markets and trading APIs:
99
+ The CCXT library currently supports the following 102 cryptocurrency exchange markets and trading APIs:
100
100
 
101
101
  | logo | id | name | ver | type | certified | pro |
102
102
  |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------|-------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------:|------|-----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------|
@@ -128,7 +128,7 @@ The CCXT library currently supports the following 101 cryptocurrency exchange ma
128
128
  | [![bitvavo](https://user-images.githubusercontent.com/1294454/169202626-bd130fc5-fcf9-41bb-8d97-6093225c73cd.jpg)](https://bitvavo.com/?a=24F34952F7) | bitvavo | [Bitvavo](https://bitvavo.com/?a=24F34952F7) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://docs.bitvavo.com/) | cex | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
129
129
  | [![bl3p](https://user-images.githubusercontent.com/1294454/28501752-60c21b82-6feb-11e7-818b-055ee6d0e754.jpg)](https://bl3p.eu) | bl3p | [BL3P](https://bl3p.eu) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://github.com/BitonicNL/bl3p-api/tree/master/docs) | cex | | |
130
130
  | [![blockchaincom](https://user-images.githubusercontent.com/1294454/147515585-1296e91b-7398-45e5-9d32-f6121538533f.jpeg)](https://blockchain.com) | blockchaincom | [Blockchain.com](https://blockchain.com) | [![API Version 3](https://img.shields.io/badge/3-lightgray)](https://api.blockchain.com/v3) | cex | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
131
- | [![blofin](https://github.com/ccxt/ccxt/assets/43336371/255a7b29-341f-4d20-8342-fbfae4932807)](https://blofin.com/register?referral_code=jBd8U1) | blofin | [BloFin](https://blofin.com/register?referral_code=jBd8U1) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://blofin.com/docs) | cex | | |
131
+ | [![blofin](https://github.com/ccxt/ccxt/assets/43336371/255a7b29-341f-4d20-8342-fbfae4932807)](https://blofin.com/register?referral_code=jBd8U1) | blofin | [BloFin](https://blofin.com/register?referral_code=jBd8U1) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://blofin.com/docs) | cex | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
132
132
  | [![btcalpha](https://user-images.githubusercontent.com/1294454/42625213-dabaa5da-85cf-11e8-8f99-aa8f8f7699f0.jpg)](https://btc-alpha.com/?r=123788) | btcalpha | [BTC-Alpha](https://btc-alpha.com/?r=123788) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://btc-alpha.github.io/api-docs) | cex | | |
133
133
  | [![btcbox](https://user-images.githubusercontent.com/51840849/87327317-98c55400-c53c-11ea-9a11-81f7d951cc74.jpg)](https://www.btcbox.co.jp/) | btcbox | [BtcBox](https://www.btcbox.co.jp/) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://blog.btcbox.jp/en/archives/8762) | cex | | |
134
134
  | [![btcmarkets](https://user-images.githubusercontent.com/51840849/89731817-b3fb8480-da52-11ea-817f-783b08aaf32b.jpg)](https://btcmarkets.net) | btcmarkets | [BTC Markets](https://btcmarkets.net) | [![API Version 3](https://img.shields.io/badge/3-lightgray)](https://api.btcmarkets.net/doc/v3) | cex | | |
@@ -182,6 +182,7 @@ The CCXT library currently supports the following 101 cryptocurrency exchange ma
182
182
  | [![onetrading](https://github.com/ccxt/ccxt/assets/43336371/bdbc26fd-02f2-4ca7-9f1e-17333690bb1c)](https://onetrading.com/) | onetrading | [One Trading](https://onetrading.com/) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.onetrading.com) | cex | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
183
183
  | [![oxfun](https://github.com/ccxt/ccxt/assets/43336371/6a196124-c1ee-4fae-8573-962071b61a85)](https://ox.fun/register?shareAccountId=5ZUD4a7G) | oxfun | [OXFUN](https://ox.fun/register?shareAccountId=5ZUD4a7G) | [![API Version 3](https://img.shields.io/badge/3-lightgray)](https://docs.ox.fun/) | cex | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
184
184
  | [![p2b](https://github.com/ccxt/ccxt/assets/43336371/8da13a80-1f0a-49be-bb90-ff8b25164755)](https://p2pb2b.com?referral=ee784c53) | p2b | [p2b](https://p2pb2b.com?referral=ee784c53) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md) | cex | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
185
+ | [![paradex](https://github.com/user-attachments/assets/5dadc09a-74ba-466a-a8f2-3f55c7e4654a)](https://app.paradex.trade/r/ccxt24) | paradex | [Paradex](https://app.paradex.trade/r/ccxt24) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.api.testnet.paradex.trade/) | dex | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
185
186
  | [![paymium](https://user-images.githubusercontent.com/51840849/87153930-f0f02200-c2c0-11ea-9c0a-40337375ae89.jpg)](https://www.paymium.com/page/sign-up?referral=eDAzPoRQFMvaAB8sf-qj) | paymium | [Paymium](https://www.paymium.com/page/sign-up?referral=eDAzPoRQFMvaAB8sf-qj) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://github.com/Paymium/api-documentation) | cex | | |
186
187
  | [![phemex](https://user-images.githubusercontent.com/1294454/85225056-221eb600-b3d7-11ea-930d-564d2690e3f6.jpg)](https://phemex.com/register?referralCode=EDNVJ) | phemex | [Phemex](https://phemex.com/register?referralCode=EDNVJ) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://github.com/phemex/phemex-api-docs) | cex | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
187
188
  | [![poloniex](https://user-images.githubusercontent.com/1294454/27766817-e9456312-5ee6-11e7-9b3c-b628ca5626a5.jpg)](https://poloniex.com/signup?c=UBFZJRPJ) | poloniex | [Poloniex](https://poloniex.com/signup?c=UBFZJRPJ) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://api-docs.poloniex.com/spot/) | cex | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
@@ -258,13 +259,13 @@ console.log(version, Object.keys(exchanges));
258
259
 
259
260
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
260
261
 
261
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.69/dist/ccxt.browser.min.js
262
- * unpkg: https://unpkg.com/ccxt@4.3.69/dist/ccxt.browser.min.js
262
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.71/dist/ccxt.browser.min.js
263
+ * unpkg: https://unpkg.com/ccxt@4.3.71/dist/ccxt.browser.min.js
263
264
 
264
265
  CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
265
266
 
266
267
  ```HTML
267
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.69/dist/ccxt.browser.min.js"></script>
268
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.71/dist/ccxt.browser.min.js"></script>
268
269
  ```
269
270
 
270
271
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.3.69'
25
+ __version__ = '4.3.71'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -170,6 +170,7 @@ from ccxt.okx import okx # noqa: F4
170
170
  from ccxt.onetrading import onetrading # noqa: F401
171
171
  from ccxt.oxfun import oxfun # noqa: F401
172
172
  from ccxt.p2b import p2b # noqa: F401
173
+ from ccxt.paradex import paradex # noqa: F401
173
174
  from ccxt.paymium import paymium # noqa: F401
174
175
  from ccxt.phemex import phemex # noqa: F401
175
176
  from ccxt.poloniex import poloniex # noqa: F401
@@ -280,6 +281,7 @@ exchanges = [
280
281
  'onetrading',
281
282
  'oxfun',
282
283
  'p2b',
284
+ 'paradex',
283
285
  'paymium',
284
286
  'phemex',
285
287
  'poloniex',
@@ -9,7 +9,7 @@ class ImplicitAPI:
9
9
  v1_public_get_instruments_instrument = v1PublicGetInstrumentsInstrument = Entry('instruments/{instrument}', ['v1', 'public'], 'GET', {})
10
10
  v1_public_get_instruments_instrument_quote = v1PublicGetInstrumentsInstrumentQuote = Entry('instruments/{instrument}/quote', ['v1', 'public'], 'GET', {})
11
11
  v1_public_get_instruments_instrument_funding = v1PublicGetInstrumentsInstrumentFunding = Entry('instruments/{instrument}/funding', ['v1', 'public'], 'GET', {})
12
- v1_public_get = v1PublicGet = Entry('', ['v1', 'public'], 'GET', {})
12
+ v1_public_get_instruments_instrument_candles = v1PublicGetInstrumentsInstrumentCandles = Entry('instruments/{instrument}/candles', ['v1', 'public'], 'GET', {})
13
13
  v1_private_get_orders = v1PrivateGetOrders = Entry('orders', ['v1', 'private'], 'GET', {})
14
14
  v1_private_get_orders_id = v1PrivateGetOrdersId = Entry('orders/{id}', ['v1', 'private'], 'GET', {})
15
15
  v1_private_get_portfolios = v1PrivateGetPortfolios = Entry('portfolios', ['v1', 'private'], 'GET', {})
@@ -0,0 +1,40 @@
1
+ from ccxt.base.types import Entry
2
+
3
+
4
+ class ImplicitAPI:
5
+ public_get_bbo_market = publicGetBboMarket = Entry('bbo/{market}', 'public', 'GET', {'cost': 1})
6
+ public_get_funding_data = publicGetFundingData = Entry('funding/data', 'public', 'GET', {'cost': 1})
7
+ public_get_markets = publicGetMarkets = Entry('markets', 'public', 'GET', {'cost': 1})
8
+ public_get_markets_klines = publicGetMarketsKlines = Entry('markets/klines', 'public', 'GET', {'cost': 1})
9
+ public_get_markets_summary = publicGetMarketsSummary = Entry('markets/summary', 'public', 'GET', {'cost': 1})
10
+ public_get_orderbook_market = publicGetOrderbookMarket = Entry('orderbook/{market}', 'public', 'GET', {'cost': 1})
11
+ public_get_insurance = publicGetInsurance = Entry('insurance', 'public', 'GET', {'cost': 1})
12
+ public_get_referrals_config = publicGetReferralsConfig = Entry('referrals/config', 'public', 'GET', {'cost': 1})
13
+ public_get_system_config = publicGetSystemConfig = Entry('system/config', 'public', 'GET', {'cost': 1})
14
+ public_get_system_state = publicGetSystemState = Entry('system/state', 'public', 'GET', {'cost': 1})
15
+ public_get_system_time = publicGetSystemTime = Entry('system/time', 'public', 'GET', {'cost': 1})
16
+ public_get_trades = publicGetTrades = Entry('trades', 'public', 'GET', {'cost': 1})
17
+ private_get_account = privateGetAccount = Entry('account', 'private', 'GET', {'cost': 1})
18
+ private_get_account_profile = privateGetAccountProfile = Entry('account/profile', 'private', 'GET', {'cost': 1})
19
+ private_get_balance = privateGetBalance = Entry('balance', 'private', 'GET', {'cost': 1})
20
+ private_get_fills = privateGetFills = Entry('fills', 'private', 'GET', {'cost': 1})
21
+ private_get_funding_payments = privateGetFundingPayments = Entry('funding/payments', 'private', 'GET', {'cost': 1})
22
+ private_get_positions = privateGetPositions = Entry('positions', 'private', 'GET', {'cost': 1})
23
+ private_get_tradebusts = privateGetTradebusts = Entry('tradebusts', 'private', 'GET', {'cost': 1})
24
+ private_get_transactions = privateGetTransactions = Entry('transactions', 'private', 'GET', {'cost': 1})
25
+ private_get_liquidations = privateGetLiquidations = Entry('liquidations', 'private', 'GET', {'cost': 1})
26
+ private_get_orders = privateGetOrders = Entry('orders', 'private', 'GET', {'cost': 1})
27
+ private_get_orders_history = privateGetOrdersHistory = Entry('orders-history', 'private', 'GET', {'cost': 1})
28
+ private_get_orders_by_client_id_client_id = privateGetOrdersByClientIdClientId = Entry('orders/by_client_id/{client_id}', 'private', 'GET', {'cost': 1})
29
+ private_get_orders_order_id = privateGetOrdersOrderId = Entry('orders/{order_id}', 'private', 'GET', {'cost': 1})
30
+ private_get_points_data_market_program = privateGetPointsDataMarketProgram = Entry('points_data/{market}/{program}', 'private', 'GET', {'cost': 1})
31
+ private_get_referrals_summary = privateGetReferralsSummary = Entry('referrals/summary', 'private', 'GET', {'cost': 1})
32
+ private_get_transfers = privateGetTransfers = Entry('transfers', 'private', 'GET', {'cost': 1})
33
+ private_post_account_profile_referral_code = privatePostAccountProfileReferralCode = Entry('account/profile/referral_code', 'private', 'POST', {'cost': 1})
34
+ private_post_account_profile_username = privatePostAccountProfileUsername = Entry('account/profile/username', 'private', 'POST', {'cost': 1})
35
+ private_post_auth = privatePostAuth = Entry('auth', 'private', 'POST', {'cost': 1})
36
+ private_post_onboarding = privatePostOnboarding = Entry('onboarding', 'private', 'POST', {'cost': 1})
37
+ private_post_orders = privatePostOrders = Entry('orders', 'private', 'POST', {'cost': 1})
38
+ private_delete_orders = privateDeleteOrders = Entry('orders', 'private', 'DELETE', {'cost': 1})
39
+ private_delete_orders_by_client_id_client_id = privateDeleteOrdersByClientIdClientId = Entry('orders/by_client_id/{client_id}', 'private', 'DELETE', {'cost': 1})
40
+ private_delete_orders_order_id = privateDeleteOrdersOrderId = Entry('orders/{order_id}', 'private', 'DELETE', {'cost': 1})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.69'
7
+ __version__ = '4.3.71'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -150,6 +150,7 @@ from ccxt.async_support.okx import okx
150
150
  from ccxt.async_support.onetrading import onetrading # noqa: F401
151
151
  from ccxt.async_support.oxfun import oxfun # noqa: F401
152
152
  from ccxt.async_support.p2b import p2b # noqa: F401
153
+ from ccxt.async_support.paradex import paradex # noqa: F401
153
154
  from ccxt.async_support.paymium import paymium # noqa: F401
154
155
  from ccxt.async_support.phemex import phemex # noqa: F401
155
156
  from ccxt.async_support.poloniex import poloniex # noqa: F401
@@ -260,6 +261,7 @@ exchanges = [
260
261
  'onetrading',
261
262
  'oxfun',
262
263
  'p2b',
264
+ 'paradex',
263
265
  'paymium',
264
266
  'phemex',
265
267
  'poloniex',
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.3.69'
5
+ __version__ = '4.3.71'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -29,6 +29,7 @@ class blofin(Exchange, ImplicitAPI):
29
29
  'countries': ['US'],
30
30
  'version': 'v1',
31
31
  'rateLimit': 100,
32
+ 'pro': True,
32
33
  'has': {
33
34
  'CORS': None,
34
35
  'spot': False,
@@ -103,7 +104,7 @@ class blofin(Exchange, ImplicitAPI):
103
104
  'fetchOpenInterestHistory': False,
104
105
  'fetchOpenOrder': None,
105
106
  'fetchOpenOrders': True,
106
- 'fetchOrder': True,
107
+ 'fetchOrder': None,
107
108
  'fetchOrderBook': True,
108
109
  'fetchOrderBooks': False,
109
110
  'fetchOrders': False,
@@ -153,11 +154,12 @@ class blofin(Exchange, ImplicitAPI):
153
154
  '2h': '2H',
154
155
  '4h': '4H',
155
156
  '6h': '6H',
157
+ '8h': '8H',
156
158
  '12h': '12H',
157
159
  '1d': '1D',
160
+ '3d': '3D',
158
161
  '1w': '1W',
159
162
  '1M': '1M',
160
- '3M': '3M',
161
163
  },
162
164
  'hostname': 'www.blofin.com',
163
165
  'urls': {
@@ -492,6 +494,25 @@ class blofin(Exchange, ImplicitAPI):
492
494
  return self.parse_order_book(first, symbol, timestamp)
493
495
 
494
496
  def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
497
+ #
498
+ # response similar for REST & WS
499
+ #
500
+ # {
501
+ # instId: "ADA-USDT",
502
+ # ts: "1707736811486",
503
+ # last: "0.5315",
504
+ # lastSize: "4",
505
+ # askPrice: "0.5318",
506
+ # askSize: "248",
507
+ # bidPrice: "0.5315",
508
+ # bidSize: "63",
509
+ # open24h: "0.5555",
510
+ # high24h: "0.5563",
511
+ # low24h: "0.5315",
512
+ # volCurrency24h: "198560100",
513
+ # vol24h: "1985601",
514
+ # }
515
+ #
495
516
  timestamp = self.safe_integer(ticker, 'ts')
496
517
  marketId = self.safe_string(ticker, 'instId')
497
518
  market = self.safe_market(marketId, market, '-')
@@ -560,7 +581,8 @@ class blofin(Exchange, ImplicitAPI):
560
581
 
561
582
  def parse_trade(self, trade: dict, market: Market = None) -> Trade:
562
583
  #
563
- # fetch trades
584
+ # fetch trades(response similar for REST & WS)
585
+ #
564
586
  # {
565
587
  # "tradeId": "3263934920",
566
588
  # "instId": "LTC-USDT",
@@ -569,6 +591,7 @@ class blofin(Exchange, ImplicitAPI):
569
591
  # "side": "buy",
570
592
  # "ts": "1707232020854"
571
593
  # }
594
+ #
572
595
  # my trades
573
596
  # {
574
597
  # "instId": "LTC-USDT",
@@ -825,9 +848,11 @@ class blofin(Exchange, ImplicitAPI):
825
848
  if type:
826
849
  return self.parse_funding_balance(response)
827
850
  else:
828
- return self.parse_trading_balance(response)
851
+ return self.parse_balance(response)
829
852
 
830
- def parse_trading_balance(self, response):
853
+ def parse_balance(self, response):
854
+ #
855
+ # "data" similar for REST & WS
831
856
  #
832
857
  # {
833
858
  # "code": "0",
@@ -849,7 +874,8 @@ class blofin(Exchange, ImplicitAPI):
849
874
  # "orderFrozen": "14920.994472632597427761",
850
875
  # "equityUsd": "10011254.077985990315787910",
851
876
  # "isolatedUnrealizedPnl": "-22.151999999999999999952",
852
- # "bonus": "0"
877
+ # "bonus": "0" # present only in REST
878
+ # "unrealizedPnl": "0" # present only in WS
853
879
  # }
854
880
  # ]
855
881
  # }
@@ -998,6 +1024,8 @@ class blofin(Exchange, ImplicitAPI):
998
1024
  return self.safe_string(statuses, status, status)
999
1025
 
1000
1026
  def parse_order(self, order: dict, market: Market = None) -> Order:
1027
+ #
1028
+ # response similar for REST & WS
1001
1029
  #
1002
1030
  # {
1003
1031
  # "orderId": "2075628533",
@@ -1026,6 +1054,9 @@ class blofin(Exchange, ImplicitAPI):
1026
1054
  # "cancelSource": "not_canceled",
1027
1055
  # "cancelSourceReason": null,
1028
1056
  # "brokerId": "ec6dd3a7dd982d0b"
1057
+ # "filled_amount": "1.000000000000000000", # filledAmount in "ws" watchOrders
1058
+ # "cancelSource": "", # only in WS
1059
+ # "instType": "SWAP", # only in WS
1029
1060
  # }
1030
1061
  #
1031
1062
  id = self.safe_string_2(order, 'tpslId', 'orderId')
@@ -1695,6 +1726,32 @@ class blofin(Exchange, ImplicitAPI):
1695
1726
  return self.filter_by_array_positions(result, 'symbol', symbols, False)
1696
1727
 
1697
1728
  def parse_position(self, position: dict, market: Market = None):
1729
+ #
1730
+ # response similar for REST & WS
1731
+ #
1732
+ # {
1733
+ # instType: 'SWAP',
1734
+ # instId: 'LTC-USDT',
1735
+ # marginMode: 'cross',
1736
+ # positionId: '644159',
1737
+ # positionSide: 'net',
1738
+ # positions: '1',
1739
+ # availablePositions: '1',
1740
+ # averagePrice: '68.16',
1741
+ # unrealizedPnl: '0.80631223',
1742
+ # unrealizedPnlRatio: '0.03548909463028169',
1743
+ # leverage: '3',
1744
+ # liquidationPrice: '10.116655172370356435',
1745
+ # markPrice: '68.96',
1746
+ # initialMargin: '22.988770743333333333',
1747
+ # margin: '', # self field might not exist in rest response
1748
+ # marginRatio: '152.523509620342499273',
1749
+ # maintenanceMargin: '0.34483156115',
1750
+ # adl: '4',
1751
+ # createTime: '1707235776528',
1752
+ # updateTime: '1707235776528'
1753
+ # }
1754
+ #
1698
1755
  marketId = self.safe_string(position, 'instId')
1699
1756
  market = self.safe_market(marketId, market)
1700
1757
  symbol = market['symbol']
@@ -7625,7 +7625,7 @@ class bybit(Exchange, ImplicitAPI):
7625
7625
  quoteValueString = Precise.string_mul(baseValueString, priceString)
7626
7626
  return self.safe_liquidation({
7627
7627
  'info': liquidation,
7628
- 'symbol': self.safe_symbol(marketId, market),
7628
+ 'symbol': self.safe_symbol(marketId, market, None, 'contract'),
7629
7629
  'contracts': self.parse_number(contractsString),
7630
7630
  'contractSize': self.parse_number(contractSizeString),
7631
7631
  'price': self.parse_number(priceString),
@@ -92,7 +92,7 @@ class coinbaseinternational(Exchange, ImplicitAPI):
92
92
  'fetchMyBuys': True,
93
93
  'fetchMySells': True,
94
94
  'fetchMyTrades': True,
95
- 'fetchOHLCV': False,
95
+ 'fetchOHLCV': True,
96
96
  'fetchOpenInterestHistory': False,
97
97
  'fetchOpenOrders': True,
98
98
  'fetchOrder': True,
@@ -111,6 +111,7 @@ class coinbaseinternational(Exchange, ImplicitAPI):
111
111
  'fetchTrades': False,
112
112
  'fetchTradingFee': False,
113
113
  'fetchTradingFees': False,
114
+ 'fetchTransfers': True,
114
115
  'fetchWithdrawals': True,
115
116
  'reduceMargin': False,
116
117
  'sandbox': True,
@@ -153,7 +154,7 @@ class coinbaseinternational(Exchange, ImplicitAPI):
153
154
  'instruments/{instrument}',
154
155
  'instruments/{instrument}/quote',
155
156
  'instruments/{instrument}/funding',
156
- '',
157
+ 'instruments/{instrument}/candles',
157
158
  ],
158
159
  },
159
160
  'private': {
@@ -351,6 +352,75 @@ class coinbaseinternational(Exchange, ImplicitAPI):
351
352
  'info': account,
352
353
  }
353
354
 
355
+ async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = 100, params={}) -> List[list]:
356
+ """
357
+ fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
358
+ :see: https://docs.cdp.coinbase.com/intx/reference/getinstrumentcandles
359
+ :param str symbol: unified symbol of the market to fetch OHLCV data for
360
+ :param str timeframe: the length of time each candle represents
361
+ :param int [since]: timestamp in ms of the earliest candle to fetch
362
+ :param int [limit]: the maximum amount of candles to fetch, default 100 max 10000
363
+ :param dict [params]: extra parameters specific to the exchange API endpoint
364
+ :returns int[][]: A list of candles ordered, open, high, low, close, volume
365
+ :param int [params.until]: timestamp in ms of the latest candle to fetch
366
+ :param boolean [params.paginate]: default False, when True will automatically paginate by calling self endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
367
+ """
368
+ await self.load_markets()
369
+ paginate = False
370
+ paginate, params = self.handle_option_and_params(params, 'fetchOHLCV', 'paginate')
371
+ if paginate:
372
+ return await self.fetch_paginated_call_deterministic('fetchOHLCV', symbol, since, limit, timeframe, params, 10000)
373
+ market = self.market(symbol)
374
+ request: dict = {
375
+ 'instrument': market['id'],
376
+ 'granularity': self.safe_string(self.timeframes, timeframe, timeframe),
377
+ }
378
+ if since is not None:
379
+ request['start'] = self.iso8601(since)
380
+ else:
381
+ raise ArgumentsRequired(self.id + ' fetchOHLCV() requires a since argument')
382
+ unitl = self.safe_integer(params, 'until')
383
+ if unitl is not None:
384
+ params = self.omit(params, 'until')
385
+ request['end'] = self.iso8601(unitl)
386
+ response = await self.v1PublicGetInstrumentsInstrumentCandles(self.extend(request, params))
387
+ #
388
+ # {
389
+ # "aggregations": [
390
+ # {
391
+ # "start": "2024-04-23T00:00:00Z",
392
+ # "open": "62884.4",
393
+ # "high": "64710.6",
394
+ # "low": "62884.4",
395
+ # "close": "63508.4",
396
+ # "volume": "3253.9983"
397
+ # }
398
+ # ]
399
+ # }
400
+ #
401
+ candles = self.safe_list(response, 'aggregations', [])
402
+ return self.parse_ohlcvs(candles, market, timeframe, since, limit)
403
+
404
+ def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
405
+ #
406
+ # {
407
+ # "start": "2024-04-23T00:00:00Z",
408
+ # "open": "62884.4",
409
+ # "high": "64710.6",
410
+ # "low": "62884.4",
411
+ # "close": "63508.4",
412
+ # "volume": "3253.9983"
413
+ # }
414
+ #
415
+ return [
416
+ self.parse8601(self.safe_string_2(ohlcv, 'start', 'time')),
417
+ self.safe_number(ohlcv, 'open'),
418
+ self.safe_number(ohlcv, 'high'),
419
+ self.safe_number(ohlcv, 'low'),
420
+ self.safe_number(ohlcv, 'close'),
421
+ self.safe_number(ohlcv, 'volume'),
422
+ ]
423
+
354
424
  async def fetch_funding_rate_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
355
425
  """
356
426
  fetches historical funding rate prices
@@ -504,6 +574,89 @@ class coinbaseinternational(Exchange, ImplicitAPI):
504
574
  'rate': None,
505
575
  }
506
576
 
577
+ async def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[TransferEntry]:
578
+ """
579
+ fetch a history of internal transfers made on an account
580
+ :see: https://docs.cdp.coinbase.com/intx/reference/gettransfers
581
+ :param str code: unified currency code of the currency transferred
582
+ :param int [since]: the earliest time in ms to fetch transfers for
583
+ :param int [limit]: the maximum number of transfers structures to retrieve
584
+ :param dict [params]: extra parameters specific to the exchange API endpoint
585
+ :returns dict[]: a list of `transfer structures <https://docs.ccxt.com/#/?id=transfer-structure>`
586
+ """
587
+ await self.load_markets()
588
+ request: dict = {
589
+ 'type': 'INTERNAL',
590
+ }
591
+ currency = None
592
+ if code is not None:
593
+ currency = self.currency(code)
594
+ portfolios = None
595
+ portfolios, params = self.handle_option_and_params(params, 'fetchTransfers', 'portfolios')
596
+ if portfolios is not None:
597
+ request['portfolios'] = portfolios
598
+ if since is not None:
599
+ request['time_from'] = self.iso8601(since)
600
+ if limit is not None:
601
+ request['result_limit'] = limit
602
+ else:
603
+ request['result_limit'] = 100
604
+ response = await self.v1PrivateGetTransfers(self.extend(request, params))
605
+ transfers = self.safe_list(response, 'results', [])
606
+ return self.parse_transfers(transfers, currency, since, limit)
607
+
608
+ def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
609
+ #
610
+ # {
611
+ # "amount":"0.0008",
612
+ # "asset":"USDC",
613
+ # "created_at":"2024-02-22T16:00:00Z",
614
+ # "from_portfolio":{
615
+ # "id":"13yuk1fs-1-0",
616
+ # "name":"Eng Test Portfolio - 2",
617
+ # "uuid":"018712f2-5ff9-7de3-9010-xxxxxxxxx"
618
+ # },
619
+ # "instrument_id":"149264164756389888",
620
+ # "instrument_symbol":"ETH-PERP",
621
+ # "position_id":"1xy4v51m-1-2",
622
+ # "status":"PROCESSED",
623
+ # "to_portfolio":{
624
+ # "name":"CB_FUND"
625
+ # },
626
+ # "transfer_type":"FUNDING",
627
+ # "transfer_uuid":"a6b708df-2c44-32c5-bb98-xxxxxxxxxx",
628
+ # "updated_at":"2024-02-22T16:00:00Z"
629
+ # }
630
+ #
631
+ datetime = self.safe_integer(transfer, 'created_at')
632
+ timestamp = self.parse8601(datetime)
633
+ currencyId = self.safe_string(transfer, 'asset')
634
+ code = self.safe_currency_code(currencyId)
635
+ fromPorfolio = self.safe_dict(transfer, 'from_portfolio', {})
636
+ fromId = self.safe_string(fromPorfolio, 'id')
637
+ toPorfolio = self.safe_dict(transfer, 'to_portfolio', {})
638
+ toId = self.safe_string(toPorfolio, 'id')
639
+ return {
640
+ 'info': transfer,
641
+ 'id': self.safe_string(transfer, 'transfer_uuid'),
642
+ 'timestamp': timestamp,
643
+ 'datetime': self.iso8601(timestamp),
644
+ 'currency': code,
645
+ 'amount': self.safe_number(transfer, 'amount'),
646
+ 'fromAccount': fromId,
647
+ 'toAccount': toId,
648
+ 'status': self.parse_transfer_status(self.safe_string(transfer, 'status')),
649
+ }
650
+
651
+ def parse_transfer_status(self, status: Str) -> Str:
652
+ statuses: dict = {
653
+ 'FAILED': 'failed',
654
+ 'PROCESSED': 'ok',
655
+ 'NEW': 'pending',
656
+ 'STARTED': 'pending',
657
+ }
658
+ return self.safe_string(statuses, status, status)
659
+
507
660
  async def create_deposit_address(self, code: str, params={}):
508
661
  """
509
662
  create a currency deposit address
@@ -17,10 +17,13 @@ from ccxt.base.errors import BadRequest
17
17
  from ccxt.base.errors import BadSymbol
18
18
  from ccxt.base.errors import InsufficientFunds
19
19
  from ccxt.base.errors import InvalidOrder
20
+ from ccxt.base.errors import OrderNotFound
20
21
  from ccxt.base.errors import NotSupported
21
22
  from ccxt.base.errors import DDoSProtection
23
+ from ccxt.base.errors import RateLimitExceeded
22
24
  from ccxt.base.errors import OnMaintenance
23
25
  from ccxt.base.errors import InvalidNonce
26
+ from ccxt.base.errors import RequestTimeout
24
27
  from ccxt.base.decimal_to_precision import TICK_SIZE
25
28
  from ccxt.base.precise import Precise
26
29
 
@@ -401,7 +404,15 @@ class cryptocom(Exchange, ImplicitAPI):
401
404
  '40006': BadRequest,
402
405
  '40007': BadRequest,
403
406
  '40101': AuthenticationError,
404
- '50001': BadRequest,
407
+ '40102': InvalidNonce, # Nonce value differs by more than 60 seconds from server
408
+ '40103': AuthenticationError, # IP address not whitelisted
409
+ '40104': AuthenticationError, # Disallowed based on user tier
410
+ '40107': BadRequest, # Session subscription limit has been exceeded
411
+ '40401': OrderNotFound,
412
+ '40801': RequestTimeout,
413
+ '42901': RateLimitExceeded,
414
+ '43005': InvalidOrder, # Rejected POST_ONLY create-order request(normally happened when exec_inst contains POST_ONLY but time_in_force is NOT GOOD_TILL_CANCEL)
415
+ '50001': ExchangeError,
405
416
  '9010001': OnMaintenance, # {"code":9010001,"message":"SYSTEM_MAINTENANCE","details":"Crypto.com Exchange is currently under maintenance. Please refer to https://status.crypto.com for more details."}
406
417
  },
407
418
  'broad': {},