mexc-exchange-api 0.0.24__tar.gz → 0.0.26__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.

Potentially problematic release.


This version of mexc-exchange-api might be problematic. Click here for more details.

Files changed (289) hide show
  1. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/PKG-INFO +8 -3
  2. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/README.md +7 -2
  3. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/pyproject.toml +1 -1
  4. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/__init__.py +2 -3
  5. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/async_support/__init__.py +2 -3
  6. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/async_support/base/exchange.py +2 -2
  7. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/async_support/mexc.py +50 -52
  8. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/base/exchange.py +109 -23
  9. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/mexc.py +50 -52
  10. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/pro/__init__.py +2 -3
  11. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/.gitignore +0 -0
  12. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/__init__.py +0 -0
  13. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/abstract/mexc.py +0 -0
  14. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/async_support/base/__init__.py +0 -0
  15. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/async_support/base/throttler.py +0 -0
  16. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/async_support/base/ws/__init__.py +0 -0
  17. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  18. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/async_support/base/ws/cache.py +0 -0
  19. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/async_support/base/ws/client.py +0 -0
  20. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/async_support/base/ws/fast_client.py +0 -0
  21. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/async_support/base/ws/functions.py +0 -0
  22. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/async_support/base/ws/future.py +0 -0
  23. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/async_support/base/ws/order_book.py +0 -0
  24. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/async_support/base/ws/order_book_side.py +0 -0
  25. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/base/__init__.py +0 -0
  26. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/base/decimal_to_precision.py +0 -0
  27. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/base/errors.py +0 -0
  28. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/base/precise.py +0 -0
  29. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/base/types.py +0 -0
  30. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/pro/mexc.py +0 -0
  31. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/README.md +0 -0
  32. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/__init__.py +0 -0
  33. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  34. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  35. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  36. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ecdsa/der.py +0 -0
  37. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  38. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  39. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  40. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  41. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  42. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ecdsa/util.py +0 -0
  43. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  44. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  45. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  46. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  47. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  48. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  49. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  50. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  51. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  52. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  53. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  54. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  55. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  56. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  57. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  58. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  59. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  60. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  61. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  62. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  63. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  64. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  65. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  66. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  67. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  68. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  69. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  70. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  71. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  72. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  73. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  74. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  75. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  76. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  77. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  78. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  79. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  80. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  81. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  82. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  83. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  84. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  85. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  86. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  87. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  88. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  89. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  90. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  91. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  92. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  93. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  94. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  95. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  96. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  97. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  98. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  99. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  100. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  101. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  102. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  103. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  104. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  105. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/keccak/__init__.py +0 -0
  106. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/keccak/keccak.py +0 -0
  107. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/__init__.py +0 -0
  108. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
  109. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
  110. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/ast_utils.py +0 -0
  111. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/common.py +0 -0
  112. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/exceptions.py +0 -0
  113. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/grammar.py +0 -0
  114. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  115. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/grammars/common.lark +0 -0
  116. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/grammars/lark.lark +0 -0
  117. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/grammars/python.lark +0 -0
  118. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/grammars/unicode.lark +0 -0
  119. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/indenter.py +0 -0
  120. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/lark.py +0 -0
  121. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/lexer.py +0 -0
  122. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/load_grammar.py +0 -0
  123. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
  124. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
  125. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  126. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
  127. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
  128. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
  129. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
  130. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
  131. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
  132. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
  133. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
  134. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
  135. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
  136. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/py.typed +0 -0
  137. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/reconstruct.py +0 -0
  138. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
  139. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
  140. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
  141. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
  142. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/tree.py +0 -0
  143. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
  144. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/tree_templates.py +0 -0
  145. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/utils.py +0 -0
  146. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/lark/visitors.py +0 -0
  147. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
  148. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow/base.py +0 -0
  149. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
  150. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
  151. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
  152. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
  153. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow/fields.py +0 -0
  154. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
  155. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  156. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow/schema.py +0 -0
  157. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow/types.py +0 -0
  158. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow/utils.py +0 -0
  159. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow/validate.py +0 -0
  160. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
  161. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
  162. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
  163. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
  164. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
  165. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  166. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
  167. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
  168. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
  169. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
  170. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  171. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  172. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/msgpack/_cmsgpack.pyx +0 -0
  173. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/msgpack/_packer.pyx +0 -0
  174. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/msgpack/_unpacker.pyx +0 -0
  175. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/msgpack/buff_converter.h +0 -0
  176. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  177. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/msgpack/ext.py +0 -0
  178. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  179. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/msgpack/pack.h +0 -0
  180. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/msgpack/pack_template.h +0 -0
  181. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/msgpack/sysdep.h +0 -0
  182. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/msgpack/unpack.h +0 -0
  183. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/msgpack/unpack_define.h +0 -0
  184. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/msgpack/unpack_template.h +0 -0
  185. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  186. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  187. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  188. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  189. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  190. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  191. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/__init__.py +0 -0
  192. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v0/__init__.py +0 -0
  193. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v0/model.py +0 -0
  194. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v0/parser.py +0 -0
  195. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v0/schemas.py +0 -0
  196. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v0/shape.py +0 -0
  197. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v1/__init__.py +0 -0
  198. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v1/core_structures.json +0 -0
  199. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v1/model.py +0 -0
  200. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v1/parser.py +0 -0
  201. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v1/parser_transformer.py +0 -0
  202. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v1/schemas.py +0 -0
  203. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v1/shape.py +0 -0
  204. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v2/__init__.py +0 -0
  205. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v2/model.py +0 -0
  206. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v2/parser.py +0 -0
  207. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v2/parser_transformer.py +0 -0
  208. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v2/schemas.py +0 -0
  209. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/abi/v2/shape.py +0 -0
  210. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  211. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
  212. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  213. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
  214. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
  215. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
  216. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
  217. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
  218. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  219. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
  220. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  221. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
  222. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
  223. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/common.py +0 -0
  224. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/constants.py +0 -0
  225. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  226. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/hash/address.py +0 -0
  227. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
  228. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
  229. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
  230. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
  231. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  232. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
  233. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
  234. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
  235. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
  236. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
  237. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
  238. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
  239. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
  240. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
  241. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
  242. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
  243. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
  244. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
  245. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
  246. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
  247. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
  248. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
  249. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
  250. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
  251. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
  252. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
  253. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
  254. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
  255. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
  256. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
  257. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  258. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
  259. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
  260. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
  261. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
  262. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starkware/__init__.py +0 -0
  263. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  264. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
  265. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
  266. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
  267. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
  268. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/sympy/__init__.py +0 -0
  269. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  270. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
  271. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  272. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
  273. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
  274. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
  275. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
  276. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/toolz/__init__.py +0 -0
  277. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  278. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/toolz/_version.py +0 -0
  279. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  280. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  281. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  282. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  283. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  284. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  285. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  286. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/toolz/recipes.py +0 -0
  287. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/toolz/utils.py +0 -0
  288. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  289. {mexc_exchange_api-0.0.24 → mexc_exchange_api-0.0.26}/src/mexc/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mexc-exchange-api
3
- Version: 0.0.24
3
+ Version: 0.0.26
4
4
  Summary: mexc crypto exchange api client
5
5
  Project-URL: Homepage, https://github.com/ccxt/ccxt
6
6
  Project-URL: Issues, https://github.com/ccxt/ccxt
@@ -20,8 +20,10 @@ Description-Content-Type: text/markdown
20
20
  # mexc-python
21
21
  Python SDK (sync and async) for Mexc cryptocurrency exchange with Rest and WS capabilities.
22
22
 
23
- You can check the SDK docs here: [SDK](https://docs.ccxt.com/#/exchanges/mexc)
24
- You can check Mexc's docs here: [Docs](https://www.google.com/search?q=google+mexc+cryptocurrency+exchange+api+docs)
23
+ - You can check the SDK docs here: [SDK](https://docs.ccxt.com/#/exchanges/mexc)
24
+ - You can check Mexc's docs here: [Docs](https://www.google.com/search?q=google+mexc+cryptocurrency+exchange+api+docs)
25
+ - Github repo: https://github.com/ccxt/mexc-python
26
+ - Pypi package: https://pypi.org/project/mexc-exchange-api
25
27
 
26
28
 
27
29
  ## Installation
@@ -44,6 +46,8 @@ def main():
44
46
  #
45
47
  # balance = instance.fetch_balance()
46
48
  # order = instance.create_order("BTC/USDC", "limit", "buy", 1, 100000)
49
+
50
+ main()
47
51
  ```
48
52
 
49
53
  ### Async
@@ -179,6 +183,7 @@ You can also construct custom requests to available "implicit" endpoints
179
183
  - `cancel_orders(self, ids, symbol: Str = None, params={})`
180
184
  - `custom_parse_balance(self, response, marketType)`
181
185
  - `describe(self)`
186
+ - `get_tif_from_raw_order_type(self, orderType: Str = None)`
182
187
  - `modify_margin_helper(self, symbol: str, amount, addOrReduce, params={})`
183
188
  - `nonce(self)`
184
189
  - `reduce_margin(self, symbol: str, amount: float, params={})`
@@ -1,8 +1,10 @@
1
1
  # mexc-python
2
2
  Python SDK (sync and async) for Mexc cryptocurrency exchange with Rest and WS capabilities.
3
3
 
4
- You can check the SDK docs here: [SDK](https://docs.ccxt.com/#/exchanges/mexc)
5
- You can check Mexc's docs here: [Docs](https://www.google.com/search?q=google+mexc+cryptocurrency+exchange+api+docs)
4
+ - You can check the SDK docs here: [SDK](https://docs.ccxt.com/#/exchanges/mexc)
5
+ - You can check Mexc's docs here: [Docs](https://www.google.com/search?q=google+mexc+cryptocurrency+exchange+api+docs)
6
+ - Github repo: https://github.com/ccxt/mexc-python
7
+ - Pypi package: https://pypi.org/project/mexc-exchange-api
6
8
 
7
9
 
8
10
  ## Installation
@@ -25,6 +27,8 @@ def main():
25
27
  #
26
28
  # balance = instance.fetch_balance()
27
29
  # order = instance.create_order("BTC/USDC", "limit", "buy", 1, 100000)
30
+
31
+ main()
28
32
  ```
29
33
 
30
34
  ### Async
@@ -160,6 +164,7 @@ You can also construct custom requests to available "implicit" endpoints
160
164
  - `cancel_orders(self, ids, symbol: Str = None, params={})`
161
165
  - `custom_parse_balance(self, response, marketType)`
162
166
  - `describe(self)`
167
+ - `get_tif_from_raw_order_type(self, orderType: Str = None)`
163
168
  - `modify_margin_helper(self, symbol: str, amount, addOrReduce, params={})`
164
169
  - `nonce(self)`
165
170
  - `reduce_margin(self, symbol: str, amount: float, params={})`
@@ -11,7 +11,7 @@ only-include = ["src/mexc"]
11
11
 
12
12
  [project]
13
13
  name = "mexc-exchange-api"
14
- version = "0.0.24"
14
+ version = "0.0.26"
15
15
  authors = [
16
16
  { name="CCXT", email="info@ccxt.trade" },
17
17
  ]
@@ -26,7 +26,7 @@ sys.modules['ccxt'] = ccxt_module
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
29
- __version__ = '4.4.72'
29
+ __version__ = '4.4.78'
30
30
 
31
31
  # ----------------------------------------------------------------------------
32
32
 
@@ -87,10 +87,9 @@ from ccxt.base.errors import CancelPending # noqa: F4
87
87
  from ccxt.base.errors import UnsubscribeError # noqa: F401
88
88
  from ccxt.base.errors import error_hierarchy # noqa: F401
89
89
 
90
- from ccxt.bitfinex1 import bitfinex1 # noqa: F401
91
90
  from ccxt.mexc import mexc # noqa: F401
92
91
 
93
- exchanges = [ 'bitfinex1', 'mexc',]
92
+ exchanges = [ 'mexc',]
94
93
 
95
94
  base = [
96
95
  'Exchange',
@@ -8,7 +8,7 @@ sys.modules['ccxt'] = ccxt_module
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
11
- __version__ = '4.4.72'
11
+ __version__ = '4.4.78'
12
12
 
13
13
  # -----------------------------------------------------------------------------
14
14
 
@@ -67,10 +67,9 @@ from ccxt.base.errors import UnsubscribeError # noqa: F4
67
67
  from ccxt.base.errors import error_hierarchy # noqa: F401
68
68
 
69
69
 
70
- from ccxt.async_support.bitfinex1 import bitfinex1 # noqa: F401
71
70
  from ccxt.async_support.mexc import mexc # noqa: F401
72
71
 
73
- exchanges = [ 'bitfinex1', 'mexc',]
72
+ exchanges = [ 'mexc',]
74
73
 
75
74
  base = [
76
75
  'Exchange',
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.4.72'
5
+ __version__ = '4.4.78'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -154,7 +154,7 @@ class Exchange(BaseExchange):
154
154
  proxyUrl = self.check_proxy_url_settings(url, method, headers, body)
155
155
  if proxyUrl is not None:
156
156
  request_headers.update({'Origin': self.origin})
157
- url = proxyUrl + url
157
+ url = proxyUrl + self.url_encoder_for_proxy_url(url)
158
158
  # proxy agents
159
159
  final_proxy = None # set default
160
160
  proxy_session = None
@@ -1098,80 +1098,47 @@ class mexc(Exchange, ImplicitAPI):
1098
1098
  id = self.safe_string(currency, 'coin')
1099
1099
  code = self.safe_currency_code(id)
1100
1100
  name = self.safe_string(currency, 'name')
1101
- currencyActive = False
1102
- currencyFee = None
1103
- currencyWithdrawMin = None
1104
- currencyWithdrawMax = None
1105
- depositEnabled = False
1106
- withdrawEnabled = False
1107
1101
  networks: dict = {}
1108
1102
  chains = self.safe_value(currency, 'networkList', [])
1109
1103
  for j in range(0, len(chains)):
1110
1104
  chain = chains[j]
1111
1105
  networkId = self.safe_string_2(chain, 'netWork', 'network')
1112
1106
  network = self.network_id_to_code(networkId)
1113
- isDepositEnabled = self.safe_bool(chain, 'depositEnable', False)
1114
- isWithdrawEnabled = self.safe_bool(chain, 'withdrawEnable', False)
1115
- active = (isDepositEnabled and isWithdrawEnabled)
1116
- currencyActive = active or currencyActive
1117
- withdrawMin = self.safe_string(chain, 'withdrawMin')
1118
- withdrawMax = self.safe_string(chain, 'withdrawMax')
1119
- currencyWithdrawMin = withdrawMin if (currencyWithdrawMin is None) else currencyWithdrawMin
1120
- currencyWithdrawMax = withdrawMax if (currencyWithdrawMax is None) else currencyWithdrawMax
1121
- fee = self.safe_number(chain, 'withdrawFee')
1122
- currencyFee = fee if (currencyFee is None) else currencyFee
1123
- if Precise.string_gt(currencyWithdrawMin, withdrawMin):
1124
- currencyWithdrawMin = withdrawMin
1125
- if Precise.string_lt(currencyWithdrawMax, withdrawMax):
1126
- currencyWithdrawMax = withdrawMax
1127
- if isDepositEnabled:
1128
- depositEnabled = True
1129
- if isWithdrawEnabled:
1130
- withdrawEnabled = True
1131
1107
  networks[network] = {
1132
1108
  'info': chain,
1133
1109
  'id': networkId,
1134
1110
  'network': network,
1135
- 'active': active,
1136
- 'deposit': isDepositEnabled,
1137
- 'withdraw': isWithdrawEnabled,
1138
- 'fee': fee,
1111
+ 'active': None,
1112
+ 'deposit': self.safe_bool(chain, 'depositEnable', False),
1113
+ 'withdraw': self.safe_bool(chain, 'withdrawEnable', False),
1114
+ 'fee': self.safe_number(chain, 'withdrawFee'),
1139
1115
  'precision': None,
1140
1116
  'limits': {
1141
1117
  'withdraw': {
1142
- 'min': withdrawMin,
1143
- 'max': withdrawMax,
1118
+ 'min': self.safe_string(chain, 'withdrawMin'),
1119
+ 'max': self.safe_string(chain, 'withdrawMax'),
1144
1120
  },
1145
1121
  },
1146
1122
  }
1147
- networkKeys = list(networks.keys())
1148
- networkKeysLength = len(networkKeys)
1149
- if (networkKeysLength == 1) or ('NONE' in networks):
1150
- defaultNetwork = self.safe_value_2(networks, 'NONE', networkKeysLength - 1)
1151
- if defaultNetwork is not None:
1152
- currencyFee = defaultNetwork['fee']
1153
- result[code] = {
1123
+ result[code] = self.safe_currency_structure({
1154
1124
  'info': currency,
1155
1125
  'id': id,
1156
1126
  'code': code,
1157
1127
  'name': name,
1158
- 'active': currencyActive,
1159
- 'deposit': depositEnabled,
1160
- 'withdraw': withdrawEnabled,
1161
- 'fee': currencyFee,
1128
+ 'active': None,
1129
+ 'deposit': None,
1130
+ 'withdraw': None,
1131
+ 'fee': None,
1162
1132
  'precision': None,
1163
1133
  'limits': {
1164
1134
  'amount': {
1165
1135
  'min': None,
1166
1136
  'max': None,
1167
1137
  },
1168
- 'withdraw': {
1169
- 'min': currencyWithdrawMin,
1170
- 'max': currencyWithdrawMax,
1171
- },
1172
1138
  },
1139
+ 'type': 'crypto',
1173
1140
  'networks': networks,
1174
- }
1141
+ })
1175
1142
  return result
1176
1143
 
1177
1144
  async def fetch_markets(self, params={}) -> List[Market]:
@@ -3254,13 +3221,27 @@ class mexc(Exchange, ImplicitAPI):
3254
3221
 
3255
3222
  def parse_order(self, order: dict, market: Market = None) -> Order:
3256
3223
  #
3257
- # spot: createOrder
3224
+ # spot
3225
+ # createOrder
3258
3226
  #
3259
- # {
3227
+ # {
3228
+ # "symbol": "FARTCOINUSDT",
3229
+ # "orderId": "C02__342252993005723644225",
3230
+ # "orderListId": "-1",
3231
+ # "price": "1.1",
3232
+ # "origQty": "6.3",
3233
+ # "type": "IMMEDIATE_OR_CANCEL",
3234
+ # "side": "SELL",
3235
+ # "transactTime": "1745852205223"
3236
+ # }
3237
+ #
3238
+ # unknown endpoint on spot
3239
+ #
3240
+ # {
3260
3241
  # "symbol": "BTCUSDT",
3261
3242
  # "orderId": "123738410679123456",
3262
3243
  # "orderListId": -1
3263
- # }
3244
+ # }
3264
3245
  #
3265
3246
  # margin: createOrder
3266
3247
  #
@@ -3422,6 +3403,10 @@ class mexc(Exchange, ImplicitAPI):
3422
3403
  id = order
3423
3404
  else:
3424
3405
  id = self.safe_string_2(order, 'orderId', 'id')
3406
+ timeInForce = self.parse_order_time_in_force(self.safe_string(order, 'timeInForce'))
3407
+ typeRaw = self.safe_string(order, 'type')
3408
+ if timeInForce is None:
3409
+ timeInForce = self.get_tif_from_raw_order_type(typeRaw)
3425
3410
  marketId = self.safe_string(order, 'symbol')
3426
3411
  market = self.safe_market(marketId, market)
3427
3412
  timestamp = self.safe_integer_n(order, ['time', 'createTime', 'transactTime'])
@@ -3443,8 +3428,8 @@ class mexc(Exchange, ImplicitAPI):
3443
3428
  'lastTradeTimestamp': None, # TODO: self might be 'updateTime' if order-status is filled, otherwise cancellation time. needs to be checked
3444
3429
  'status': self.parse_order_status(self.safe_string_2(order, 'status', 'state')),
3445
3430
  'symbol': market['symbol'],
3446
- 'type': self.parse_order_type(self.safe_string(order, 'type')),
3447
- 'timeInForce': self.parse_order_time_in_force(self.safe_string(order, 'timeInForce')),
3431
+ 'type': self.parse_order_type(typeRaw),
3432
+ 'timeInForce': timeInForce,
3448
3433
  'side': self.parse_order_side(self.safe_string(order, 'side')),
3449
3434
  'price': self.safe_number(order, 'price'),
3450
3435
  'triggerPrice': self.safe_number_2(order, 'stopPrice', 'triggerPrice'),
@@ -3473,6 +3458,9 @@ class mexc(Exchange, ImplicitAPI):
3473
3458
  'MARKET': 'market',
3474
3459
  'LIMIT': 'limit',
3475
3460
  'LIMIT_MAKER': 'limit',
3461
+ # on spot, during submission below types are used only accepted order
3462
+ 'IMMEDIATE_OR_CANCEL': 'limit',
3463
+ 'FILL_OR_KILL': 'limit',
3476
3464
  }
3477
3465
  return self.safe_string(statuses, status, status)
3478
3466
 
@@ -3500,6 +3488,16 @@ class mexc(Exchange, ImplicitAPI):
3500
3488
  }
3501
3489
  return self.safe_string(statuses, status, status)
3502
3490
 
3491
+ def get_tif_from_raw_order_type(self, orderType: Str = None):
3492
+ statuses: dict = {
3493
+ 'LIMIT': 'GTC',
3494
+ 'LIMIT_MAKER': 'POST_ONLY',
3495
+ 'IMMEDIATE_OR_CANCEL': 'IOC',
3496
+ 'FILL_OR_KILL': 'FOK',
3497
+ 'MARKET': 'IOC',
3498
+ }
3499
+ return self.safe_string(statuses, orderType, orderType)
3500
+
3503
3501
  async def fetch_account_helper(self, type, params):
3504
3502
  if type == 'spot':
3505
3503
  return await self.spotPrivateGetAccount(params)
@@ -4850,7 +4848,7 @@ class mexc(Exchange, ImplicitAPI):
4850
4848
  response = await self.fetch_positions(None, self.extend(request, params))
4851
4849
  return self.safe_value(response, 0)
4852
4850
 
4853
- async def fetch_positions(self, symbols: Strings = None, params={}):
4851
+ async def fetch_positions(self, symbols: Strings = None, params={}) -> List[Position]:
4854
4852
  """
4855
4853
  fetch all open positions
4856
4854
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.72'
7
+ __version__ = '4.4.78'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -67,6 +67,10 @@ from ccxt.static_dependencies.starknet.hash.address import compute_address
67
67
  from ccxt.static_dependencies.starknet.hash.selector import get_selector_from_name
68
68
  from ccxt.static_dependencies.starknet.hash.utils import message_signature, private_to_stark_key
69
69
  from ccxt.static_dependencies.starknet.utils.typed_data import TypedData as TypedDataDataclass
70
+ try:
71
+ import apexpro.zklink_sdk as zklink_sdk
72
+ except ImportError:
73
+ zklink_sdk = None
70
74
 
71
75
  # -----------------------------------------------------------------------------
72
76
 
@@ -509,7 +513,7 @@ class Exchange(object):
509
513
  proxyUrl = self.check_proxy_url_settings(url, method, headers, body)
510
514
  if proxyUrl is not None:
511
515
  request_headers.update({'Origin': self.origin})
512
- url = proxyUrl + url
516
+ url = proxyUrl + self.url_encoder_for_proxy_url(url)
513
517
  # proxy agents
514
518
  proxies = None # set default
515
519
  httpProxy, httpsProxy, socksProxy = self.check_proxy_settings(url, method, headers, body)
@@ -1755,6 +1759,69 @@ class Exchange(object):
1755
1759
  def binary_length(self, binary):
1756
1760
  return len(binary)
1757
1761
 
1762
+ def get_zk_contract_signature_obj(self, seeds: str, params={}):
1763
+ if zklink_sdk is None:
1764
+ raise Exception('zklink_sdk is not installed, please do pip3 install apexomni-arm or apexomni-x86-mac or apexomni-x86-windows-linux')
1765
+
1766
+ slotId = self.safe_string(params, 'slotId')
1767
+ nonceInt = int(self.remove0x_prefix(self.hash(self.encode(slotId), 'sha256', 'hex')), 16)
1768
+
1769
+ maxUint64 = 18446744073709551615
1770
+ maxUint32 = 4294967295
1771
+
1772
+ slotId = (nonceInt % maxUint64) / maxUint32
1773
+ nonce = nonceInt % maxUint32
1774
+ accountId = int(self.safe_string(params, 'accountId'), 10) % maxUint32
1775
+
1776
+ priceStr = (Decimal(self.safe_string(params, 'price')) * Decimal(10) ** Decimal('18')).quantize(Decimal(0), rounding='ROUND_DOWN')
1777
+ sizeStr = (Decimal(self.safe_string(params, 'size')) * Decimal(10) ** Decimal('18')).quantize(Decimal(0), rounding='ROUND_DOWN')
1778
+
1779
+ takerFeeRateStr = (Decimal(self.safe_string(params, 'takerFeeRate')) * Decimal(10000)).quantize(Decimal(0), rounding='ROUND_UP')
1780
+ makerFeeRateStr = (Decimal(self.safe_string(params, 'makerFeeRate')) * Decimal(10000)).quantize(Decimal(0), rounding='ROUND_UP')
1781
+
1782
+ builder = zklink_sdk.ContractBuilder(
1783
+ int(accountId), int(0), int(slotId), int(nonce), int(self.safe_number(params, 'pairId')),
1784
+ sizeStr.__str__(), priceStr.__str__(), self.safe_string(params, 'direction') == "BUY",
1785
+ int(takerFeeRateStr), int(makerFeeRateStr), False)
1786
+
1787
+
1788
+ tx = zklink_sdk.Contract(builder)
1789
+ seedsByte = bytes.fromhex(seeds.removeprefix('0x'))
1790
+ signerSeed = zklink_sdk.ZkLinkSigner().new_from_seed(seedsByte)
1791
+ auth_data = signerSeed.sign_musig(tx.get_bytes())
1792
+ signature = auth_data.signature
1793
+ return signature
1794
+
1795
+ def get_zk_transfer_signature_obj(self, seeds: str, params={}):
1796
+ if zklink_sdk is None:
1797
+ raise Exception('zklink_sdk is not installed, please do pip3 install apexomni-arm or apexomni-x86-mac or apexomni-x86-windows-linux')
1798
+
1799
+ nonce = self.safe_string(params, 'nonce', '0')
1800
+ if self.safe_bool(params, 'isContract'):
1801
+ formattedUint32 = '4294967295'
1802
+ formattedNonce = int(self.remove0x_prefix(self.hash(self.encode(nonce), 'sha256', 'hex')), 16)
1803
+ nonce = Precise.string_mod(str(formattedNonce), formattedUint32)
1804
+
1805
+ tx_builder = zklink_sdk.TransferBuilder(
1806
+ int(self.safe_number(params, 'zkAccountId', 0)),
1807
+ self.safe_string(params, 'receiverAddress'),
1808
+ int(self.safe_number(params, 'subAccountId', 0)),
1809
+ int(self.safe_number(params, 'receiverSubAccountId', 0)),
1810
+ int(self.safe_number(params, 'tokenId', 0)),
1811
+ self.safe_string(params, 'amount', '0'),
1812
+ self.safe_string(params, 'fee', '0'),
1813
+ self.parse_to_int(nonce),
1814
+ int(self.safe_number(params, 'timestampSeconds', 0))
1815
+ )
1816
+
1817
+ tx = zklink_sdk.Transfer(tx_builder)
1818
+ seedsByte = bytes.fromhex(seeds.removeprefix('0x'))
1819
+ signerSeed = zklink_sdk.ZkLinkSigner().new_from_seed(seedsByte)
1820
+ auth_data = signerSeed.sign_musig(tx.get_bytes())
1821
+ signature = auth_data.signature
1822
+ return signature
1823
+
1824
+
1758
1825
  # ########################################################################
1759
1826
  # ########################################################################
1760
1827
  # ########################################################################
@@ -2254,6 +2321,12 @@ class Exchange(object):
2254
2321
  raise InvalidProxySettings(self.id + ' you have multiple conflicting proxy settings(' + joinedProxyNames + '), please use only one from : proxyUrl, proxy_url, proxyUrlCallback, proxy_url_callback')
2255
2322
  return proxyUrl
2256
2323
 
2324
+ def url_encoder_for_proxy_url(self, targetUrl: str):
2325
+ # to be overriden
2326
+ includesQuery = targetUrl.find('?') >= 0
2327
+ finalUrl = self.encode_uri_component(targetUrl) if includesQuery else targetUrl
2328
+ return finalUrl
2329
+
2257
2330
  def check_proxy_settings(self, url: Str = None, method: Str = None, headers=None, body=None):
2258
2331
  usedProxies = []
2259
2332
  httpProxy = None
@@ -2913,9 +2986,6 @@ class Exchange(object):
2913
2986
 
2914
2987
  def safe_currency_structure(self, currency: object):
2915
2988
  # derive data from networks: deposit, withdraw, active, fee, limits, precision
2916
- currencyDeposit = self.safe_bool(currency, 'deposit')
2917
- currencyWithdraw = self.safe_bool(currency, 'withdraw')
2918
- currencyActive = self.safe_bool(currency, 'active')
2919
2989
  networks = self.safe_dict(currency, 'networks', {})
2920
2990
  keys = list(networks.keys())
2921
2991
  length = len(keys)
@@ -2924,20 +2994,24 @@ class Exchange(object):
2924
2994
  key = keys[i]
2925
2995
  network = networks[key]
2926
2996
  deposit = self.safe_bool(network, 'deposit')
2997
+ currencyDeposit = self.safe_bool(currency, 'deposit')
2927
2998
  if currencyDeposit is None or deposit:
2928
2999
  currency['deposit'] = deposit
2929
3000
  withdraw = self.safe_bool(network, 'withdraw')
3001
+ currencyWithdraw = self.safe_bool(currency, 'withdraw')
2930
3002
  if currencyWithdraw is None or withdraw:
2931
3003
  currency['withdraw'] = withdraw
2932
- active = self.safe_bool(network, 'active')
2933
- if currencyActive is None or active:
2934
- currency['active'] = active
2935
3004
  # set network 'active' to False if D or W is disabled
2936
- if self.safe_bool(network, 'active') is None:
3005
+ active = self.safe_bool(network, 'active')
3006
+ if active is None:
2937
3007
  if deposit and withdraw:
2938
3008
  currency['networks'][key]['active'] = True
2939
3009
  elif deposit is not None and withdraw is not None:
2940
3010
  currency['networks'][key]['active'] = False
3011
+ active = self.safe_bool(network, 'active')
3012
+ currencyActive = self.safe_bool(currency, 'active')
3013
+ if currencyActive is None or active:
3014
+ currency['active'] = active
2941
3015
  # find lowest fee(which is more desired)
2942
3016
  fee = self.safe_string(network, 'fee')
2943
3017
  feeMain = self.safe_string(currency, 'fee')
@@ -2946,7 +3020,7 @@ class Exchange(object):
2946
3020
  # find lowest precision(which is more desired)
2947
3021
  precision = self.safe_string(network, 'precision')
2948
3022
  precisionMain = self.safe_string(currency, 'precision')
2949
- if precisionMain is None or Precise.string_lt(precision, precisionMain):
3023
+ if precisionMain is None or Precise.string_gt(precision, precisionMain):
2950
3024
  currency['precision'] = self.parse_number(precision)
2951
3025
  # limits
2952
3026
  limits = self.safe_dict(network, 'limits')
@@ -6471,24 +6545,36 @@ class Exchange(object):
6471
6545
  return self.sort_by(result, 'id', True)
6472
6546
  return result
6473
6547
 
6474
- def remove_repeated_elements_from_array(self, input):
6548
+ def remove_repeated_elements_from_array(self, input, fallbackToTimestamp: bool = True):
6549
+ uniqueDic = {}
6550
+ uniqueResult = []
6551
+ for i in range(0, len(input)):
6552
+ entry = input[i]
6553
+ uniqValue = self.safe_string_n(entry, ['id', 'timestamp', 0]) if fallbackToTimestamp else self.safe_string(entry, 'id')
6554
+ if uniqValue is not None and not (uniqValue in uniqueDic):
6555
+ uniqueDic[uniqValue] = 1
6556
+ uniqueResult.append(entry)
6557
+ valuesLength = len(uniqueResult)
6558
+ if valuesLength > 0:
6559
+ return uniqueResult
6560
+ return input
6561
+
6562
+ def remove_repeated_trades_from_array(self, input):
6475
6563
  uniqueResult = {}
6476
6564
  for i in range(0, len(input)):
6477
6565
  entry = input[i]
6478
6566
  id = self.safe_string(entry, 'id')
6479
- if id is not None:
6480
- if self.safe_string(uniqueResult, id) is None:
6481
- uniqueResult[id] = entry
6482
- else:
6483
- timestamp = self.safe_integer_2(entry, 'timestamp', 0)
6484
- if timestamp is not None:
6485
- if self.safe_string(uniqueResult, timestamp) is None:
6486
- uniqueResult[timestamp] = entry
6567
+ if id is None:
6568
+ price = self.safe_string(entry, 'price')
6569
+ amount = self.safe_string(entry, 'amount')
6570
+ timestamp = self.safe_string(entry, 'timestamp')
6571
+ side = self.safe_string(entry, 'side')
6572
+ # unique trade identifier
6573
+ id = 't_' + str(timestamp) + '_' + side + '_' + price + '_' + amount
6574
+ if id is not None and not (id in uniqueResult):
6575
+ uniqueResult[id] = entry
6487
6576
  values = list(uniqueResult.values())
6488
- valuesLength = len(values)
6489
- if valuesLength > 0:
6490
- return values
6491
- return input
6577
+ return values
6492
6578
 
6493
6579
  def handle_until_option(self, key: str, request, params, multiplier=1):
6494
6580
  until = self.safe_integer_2(params, 'until', 'till')