coinex-api 0.0.55__tar.gz → 0.0.100__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 coinex-api might be problematic. Click here for more details.

Files changed (292) hide show
  1. {coinex_api-0.0.55 → coinex_api-0.0.100}/.gitignore +0 -1
  2. {coinex_api-0.0.55 → coinex_api-0.0.100}/PKG-INFO +6 -5
  3. {coinex_api-0.0.55 → coinex_api-0.0.100}/README.md +5 -4
  4. {coinex_api-0.0.55 → coinex_api-0.0.100}/pyproject.toml +1 -1
  5. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/__init__.py +2 -1
  6. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/__init__.py +2 -1
  7. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/exchange.py +212 -47
  8. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/throttler.py +1 -1
  9. coinex_api-0.0.100/src/coinex/ccxt/async_support/base/ws/client.py +344 -0
  10. coinex_api-0.0.100/src/coinex/ccxt/async_support/base/ws/future.py +46 -0
  11. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/coinex.py +85 -20
  12. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/base/decimal_to_precision.py +14 -10
  13. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/base/errors.py +6 -0
  14. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/base/exchange.py +625 -119
  15. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/base/types.py +4 -0
  16. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/coinex.py +85 -20
  17. coinex_api-0.0.100/src/coinex/ccxt/pro/__init__.py +66 -0
  18. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/pro/coinex.py +20 -18
  19. coinex_api-0.0.55/src/coinex/ccxt/async_support/base/ws/aiohttp_client.py +0 -147
  20. coinex_api-0.0.55/src/coinex/ccxt/async_support/base/ws/client.py +0 -214
  21. coinex_api-0.0.55/src/coinex/ccxt/async_support/base/ws/fast_client.py +0 -97
  22. coinex_api-0.0.55/src/coinex/ccxt/async_support/base/ws/future.py +0 -69
  23. coinex_api-0.0.55/src/coinex/ccxt/pro/__init__.py +0 -21
  24. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/__init__.py +0 -0
  25. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/abstract/coinex.py +0 -0
  26. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/__init__.py +0 -0
  27. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/ws/__init__.py +0 -0
  28. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/ws/cache.py +0 -0
  29. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/ws/functions.py +0 -0
  30. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/ws/order_book.py +0 -0
  31. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/ws/order_book_side.py +0 -0
  32. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/base/__init__.py +0 -0
  33. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/base/precise.py +0 -0
  34. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/README.md +0 -0
  35. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/__init__.py +0 -0
  36. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  37. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  38. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  39. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/der.py +0 -0
  40. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  41. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  42. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  43. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  44. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  45. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/util.py +0 -0
  46. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  47. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  48. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  49. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  50. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  51. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  52. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  53. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  54. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  55. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  56. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  57. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  58. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  59. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  60. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  61. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  62. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  63. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  64. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  65. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  66. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  67. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  68. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  69. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  70. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  71. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  72. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  73. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  74. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  75. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  76. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  77. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  78. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  79. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  80. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  81. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  82. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  83. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  84. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  85. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  86. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  87. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  88. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  89. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  90. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  91. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  92. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  93. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  94. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  95. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  96. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  97. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  98. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  99. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  100. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  101. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  102. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  103. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  104. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  105. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  106. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  107. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  108. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/keccak/__init__.py +0 -0
  109. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/keccak/keccak.py +0 -0
  110. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/__init__.py +0 -0
  111. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
  112. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
  113. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/ast_utils.py +0 -0
  114. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/common.py +0 -0
  115. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/exceptions.py +0 -0
  116. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/grammar.py +0 -0
  117. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  118. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/grammars/common.lark +0 -0
  119. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/grammars/lark.lark +0 -0
  120. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/grammars/python.lark +0 -0
  121. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/grammars/unicode.lark +0 -0
  122. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/indenter.py +0 -0
  123. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/lark.py +0 -0
  124. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/lexer.py +0 -0
  125. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/load_grammar.py +0 -0
  126. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
  127. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
  128. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  129. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
  130. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
  131. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
  132. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
  133. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
  134. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
  135. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
  136. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
  137. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
  138. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
  139. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/py.typed +0 -0
  140. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/reconstruct.py +0 -0
  141. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
  142. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
  143. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
  144. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
  145. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/tree.py +0 -0
  146. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
  147. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/tree_templates.py +0 -0
  148. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/utils.py +0 -0
  149. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/visitors.py +0 -0
  150. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
  151. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/base.py +0 -0
  152. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
  153. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
  154. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
  155. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
  156. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/fields.py +0 -0
  157. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
  158. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  159. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/schema.py +0 -0
  160. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/types.py +0 -0
  161. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/utils.py +0 -0
  162. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/validate.py +0 -0
  163. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
  164. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
  165. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
  166. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
  167. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
  168. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  169. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
  170. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
  171. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
  172. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
  173. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  174. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  175. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/_cmsgpack.pyx +0 -0
  176. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/_packer.pyx +0 -0
  177. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/_unpacker.pyx +0 -0
  178. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/buff_converter.h +0 -0
  179. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  180. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/ext.py +0 -0
  181. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  182. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/pack.h +0 -0
  183. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/pack_template.h +0 -0
  184. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/sysdep.h +0 -0
  185. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/unpack.h +0 -0
  186. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/unpack_define.h +0 -0
  187. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/unpack_template.h +0 -0
  188. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  189. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  190. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  191. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  192. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  193. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  194. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/__init__.py +0 -0
  195. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v0/__init__.py +0 -0
  196. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v0/model.py +0 -0
  197. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v0/parser.py +0 -0
  198. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v0/schemas.py +0 -0
  199. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v0/shape.py +0 -0
  200. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v1/__init__.py +0 -0
  201. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v1/core_structures.json +0 -0
  202. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v1/model.py +0 -0
  203. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v1/parser.py +0 -0
  204. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v1/parser_transformer.py +0 -0
  205. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v1/schemas.py +0 -0
  206. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v1/shape.py +0 -0
  207. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v2/__init__.py +0 -0
  208. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v2/model.py +0 -0
  209. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v2/parser.py +0 -0
  210. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v2/parser_transformer.py +0 -0
  211. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v2/schemas.py +0 -0
  212. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v2/shape.py +0 -0
  213. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  214. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
  215. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  216. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
  217. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
  218. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
  219. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
  220. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
  221. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  222. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
  223. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  224. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
  225. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
  226. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/common.py +0 -0
  227. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/constants.py +0 -0
  228. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  229. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/hash/address.py +0 -0
  230. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
  231. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
  232. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
  233. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
  234. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  235. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
  236. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
  237. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
  238. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
  239. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
  240. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
  241. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
  242. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
  243. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
  244. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
  245. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
  246. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
  247. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
  248. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
  249. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
  250. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
  251. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
  252. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
  253. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
  254. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
  255. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
  256. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
  257. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
  258. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
  259. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
  260. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  261. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
  262. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
  263. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
  264. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
  265. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starkware/__init__.py +0 -0
  266. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  267. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
  268. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
  269. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
  270. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
  271. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/__init__.py +0 -0
  272. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  273. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
  274. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  275. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
  276. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
  277. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
  278. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
  279. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/__init__.py +0 -0
  280. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  281. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/_version.py +0 -0
  282. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  283. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  284. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  285. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  286. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  287. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  288. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  289. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/recipes.py +0 -0
  290. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/utils.py +0 -0
  291. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  292. {coinex_api-0.0.55 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
@@ -173,5 +173,4 @@ cython_debug/
173
173
  .pypirc
174
174
 
175
175
  build/ccxt
176
- /meta.json
177
176
  /build/package-lock.json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: coinex-api
3
- Version: 0.0.55
3
+ Version: 0.0.100
4
4
  Summary: coinex crypto exchange api client
5
5
  Project-URL: Homepage, https://github.com/ccxt/ccxt
6
6
  Project-URL: Issues, https://github.com/ccxt/ccxt
@@ -138,6 +138,7 @@ You can also construct custom requests to available "implicit" endpoints
138
138
  - `fetch_currencies(self, params={})`
139
139
  - `fetch_deposit_address(self, code: str, params={})`
140
140
  - `fetch_deposit_withdraw_fee(self, code: str, params={})`
141
+ - `fetch_deposit_withdraw_fees(self, codes: Strings = None, params={})`
141
142
  - `fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={})`
142
143
  - `fetch_financial_balance(self, params={})`
143
144
  - `fetch_funding_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
@@ -152,7 +153,7 @@ You can also construct custom requests to available "implicit" endpoints
152
153
  - `fetch_margin_balance(self, params={})`
153
154
  - `fetch_markets(self, params={})`
154
155
  - `fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
155
- - `fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={})`
156
+ - `fetch_ohlcv(self, symbol: str, timeframe: str = '1m', since: Int = None, limit: Int = None, params={})`
156
157
  - `fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
157
158
  - `fetch_order_book(self, symbol: str, limit: Int = 20, params={})`
158
159
  - `fetch_order(self, id: str, symbol: Str = None, params={})`
@@ -175,7 +176,7 @@ You can also construct custom requests to available "implicit" endpoints
175
176
  - `borrow_isolated_margin(self, symbol: str, code: str, amount: float, params={})`
176
177
  - `cancel_all_orders(self, symbol: Str = None, params={})`
177
178
  - `cancel_order(self, id: str, symbol: Str = None, params={})`
178
- - `cancel_orders(self, ids, symbol: Str = None, params={})`
179
+ - `cancel_orders(self, ids: List[str], symbol: Str = None, params={})`
179
180
  - `close_position(self, symbol: str, side: OrderSide = None, params={})`
180
181
  - `describe(self)`
181
182
  - `edit_order(self, id: str, symbol: str, type: OrderType, side: OrderSide, amount: Num = None, price: Num = None, params={})`
@@ -183,10 +184,10 @@ You can also construct custom requests to available "implicit" endpoints
183
184
  - `nonce(self)`
184
185
  - `reduce_margin(self, symbol: str, amount: float, params={})`
185
186
  - `repay_isolated_margin(self, symbol: str, code: str, amount, params={})`
186
- - `set_leverage(self, leverage: Int, symbol: Str = None, params={})`
187
+ - `set_leverage(self, leverage: int, symbol: Str = None, params={})`
187
188
  - `set_margin_mode(self, marginMode: str, symbol: Str = None, params={})`
188
189
  - `transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={})`
189
- - `withdraw(self, code: str, amount: float, address: str, tag=None, params={})`
190
+ - `withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={})`
190
191
 
191
192
  ### REST Raw
192
193
 
@@ -119,6 +119,7 @@ You can also construct custom requests to available "implicit" endpoints
119
119
  - `fetch_currencies(self, params={})`
120
120
  - `fetch_deposit_address(self, code: str, params={})`
121
121
  - `fetch_deposit_withdraw_fee(self, code: str, params={})`
122
+ - `fetch_deposit_withdraw_fees(self, codes: Strings = None, params={})`
122
123
  - `fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={})`
123
124
  - `fetch_financial_balance(self, params={})`
124
125
  - `fetch_funding_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
@@ -133,7 +134,7 @@ You can also construct custom requests to available "implicit" endpoints
133
134
  - `fetch_margin_balance(self, params={})`
134
135
  - `fetch_markets(self, params={})`
135
136
  - `fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
136
- - `fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={})`
137
+ - `fetch_ohlcv(self, symbol: str, timeframe: str = '1m', since: Int = None, limit: Int = None, params={})`
137
138
  - `fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
138
139
  - `fetch_order_book(self, symbol: str, limit: Int = 20, params={})`
139
140
  - `fetch_order(self, id: str, symbol: Str = None, params={})`
@@ -156,7 +157,7 @@ You can also construct custom requests to available "implicit" endpoints
156
157
  - `borrow_isolated_margin(self, symbol: str, code: str, amount: float, params={})`
157
158
  - `cancel_all_orders(self, symbol: Str = None, params={})`
158
159
  - `cancel_order(self, id: str, symbol: Str = None, params={})`
159
- - `cancel_orders(self, ids, symbol: Str = None, params={})`
160
+ - `cancel_orders(self, ids: List[str], symbol: Str = None, params={})`
160
161
  - `close_position(self, symbol: str, side: OrderSide = None, params={})`
161
162
  - `describe(self)`
162
163
  - `edit_order(self, id: str, symbol: str, type: OrderType, side: OrderSide, amount: Num = None, price: Num = None, params={})`
@@ -164,10 +165,10 @@ You can also construct custom requests to available "implicit" endpoints
164
165
  - `nonce(self)`
165
166
  - `reduce_margin(self, symbol: str, amount: float, params={})`
166
167
  - `repay_isolated_margin(self, symbol: str, code: str, amount, params={})`
167
- - `set_leverage(self, leverage: Int, symbol: Str = None, params={})`
168
+ - `set_leverage(self, leverage: int, symbol: Str = None, params={})`
168
169
  - `set_margin_mode(self, marginMode: str, symbol: Str = None, params={})`
169
170
  - `transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={})`
170
- - `withdraw(self, code: str, amount: float, address: str, tag=None, params={})`
171
+ - `withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={})`
171
172
 
172
173
  ### REST Raw
173
174
 
@@ -11,7 +11,7 @@ only-include = ["src/coinex"]
11
11
 
12
12
  [project]
13
13
  name = "coinex-api"
14
- version = "0.0.55"
14
+ version = "0.0.100"
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.83'
29
+ __version__ = '4.5.15'
30
30
 
31
31
  # ----------------------------------------------------------------------------
32
32
 
@@ -59,6 +59,7 @@ from ccxt.base.errors import NoChange # noqa: F4
59
59
  from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
60
60
  from ccxt.base.errors import MarketClosed # noqa: F401
61
61
  from ccxt.base.errors import ManualInteractionNeeded # noqa: F401
62
+ from ccxt.base.errors import RestrictedLocation # noqa: F401
62
63
  from ccxt.base.errors import InsufficientFunds # noqa: F401
63
64
  from ccxt.base.errors import InvalidAddress # noqa: F401
64
65
  from ccxt.base.errors import AddressPending # noqa: F401
@@ -8,7 +8,7 @@ sys.modules['ccxt'] = ccxt_module
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
11
- __version__ = '4.4.83'
11
+ __version__ = '4.5.15'
12
12
 
13
13
  # -----------------------------------------------------------------------------
14
14
 
@@ -38,6 +38,7 @@ from ccxt.base.errors import NoChange # noqa: F4
38
38
  from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
39
39
  from ccxt.base.errors import MarketClosed # noqa: F401
40
40
  from ccxt.base.errors import ManualInteractionNeeded # noqa: F401
41
+ from ccxt.base.errors import RestrictedLocation # noqa: F401
41
42
  from ccxt.base.errors import InsufficientFunds # noqa: F401
42
43
  from ccxt.base.errors import InvalidAddress # noqa: F401
43
44
  from ccxt.base.errors import AddressPending # noqa: F401
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.4.83'
5
+ __version__ = '4.5.15'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -25,7 +25,7 @@ from ccxt.async_support.base.throttler import Throttler
25
25
  # -----------------------------------------------------------------------------
26
26
 
27
27
  from ccxt.base.errors import BaseError, BadSymbol, BadRequest, BadResponse, ExchangeError, ExchangeNotAvailable, RequestTimeout, NotSupported, NullResponse, InvalidAddress, RateLimitExceeded, OperationFailed
28
- from ccxt.base.types import ConstructorArgs, OrderType, OrderSide, OrderRequest, CancellationRequest
28
+ from ccxt.base.types import ConstructorArgs, OrderType, OrderSide, OrderRequest, CancellationRequest, Order
29
29
 
30
30
  # -----------------------------------------------------------------------------
31
31
 
@@ -34,7 +34,7 @@ from ccxt.base.exchange import Exchange as BaseExchange, ArgumentsRequired
34
34
  # -----------------------------------------------------------------------------
35
35
 
36
36
  from ccxt.async_support.base.ws.functions import inflate, inflate64, gunzip
37
- from ccxt.async_support.base.ws.fast_client import FastClient
37
+ from ccxt.async_support.base.ws.client import Client
38
38
  from ccxt.async_support.base.ws.future import Future
39
39
  from ccxt.async_support.base.ws.order_book import OrderBook, IndexedOrderBook, CountedOrderBook
40
40
 
@@ -54,6 +54,15 @@ __all__ = [
54
54
  ]
55
55
 
56
56
  # -----------------------------------------------------------------------------
57
+ # --- PROTO BUF IMPORTS
58
+ try:
59
+ from ccxt.protobuf.mexc import PushDataV3ApiWrapper_pb2
60
+ from google.protobuf.json_format import MessageToDict
61
+ except ImportError:
62
+ PushDataV3ApiWrapper_pb2 = None
63
+ MessageToDict = None
64
+
65
+ # -----------------------------------------------------------------------------
57
66
 
58
67
 
59
68
  class Exchange(BaseExchange):
@@ -176,15 +185,7 @@ class Exchange(BaseExchange):
176
185
  if (socksProxy not in self.socks_proxy_sessions):
177
186
  # Create our SSL context object with our CA cert file
178
187
  self.open() # ensure `asyncio_loop` is set
179
- self.aiohttp_socks_connector = ProxyConnector.from_url(
180
- socksProxy,
181
- # extra args copied from self.open()
182
- ssl=self.ssl_context,
183
- loop=self.asyncio_loop,
184
- enable_cleanup_closed=True
185
- )
186
- self.socks_proxy_sessions[socksProxy] = aiohttp.ClientSession(loop=self.asyncio_loop, connector=self.aiohttp_socks_connector, trust_env=self.aiohttp_trust_env)
187
- proxy_session = self.socks_proxy_sessions[socksProxy]
188
+ proxy_session = self.get_socks_proxy_session(socksProxy)
188
189
  # add aiohttp_proxy for python as exclusion
189
190
  elif self.aiohttp_proxy:
190
191
  final_proxy = self.aiohttp_proxy
@@ -239,6 +240,8 @@ class Exchange(BaseExchange):
239
240
  self.last_json_response = json_response
240
241
  if self.verbose:
241
242
  self.log("\nfetch Response:", self.id, method, url, http_status_code, "ResponseHeaders:", headers, "ResponseBody:", http_response)
243
+ if json_response and not isinstance(json_response, list) and self.returnResponseHeaders:
244
+ json_response['responseHeaders'] = headers
242
245
  self.logger.debug("%s %s, Response: %s %s %s", method, url, http_status_code, headers, http_response)
243
246
 
244
247
  except socket.gaierror as e:
@@ -267,6 +270,20 @@ class Exchange(BaseExchange):
267
270
  return http_response
268
271
  return response.content
269
272
 
273
+ def get_socks_proxy_session(self, socksProxy):
274
+ if (self.socks_proxy_sessions is None):
275
+ self.socks_proxy_sessions = {}
276
+ if (socksProxy not in self.socks_proxy_sessions):
277
+ self.aiohttp_socks_connector = ProxyConnector.from_url(
278
+ socksProxy,
279
+ # extra args copied from self.open()
280
+ ssl=self.ssl_context,
281
+ loop=self.asyncio_loop,
282
+ enable_cleanup_closed=True
283
+ )
284
+ self.socks_proxy_sessions[socksProxy] = aiohttp.ClientSession(loop=self.asyncio_loop, connector=self.aiohttp_socks_connector, trust_env=self.aiohttp_trust_env)
285
+ return self.socks_proxy_sessions[socksProxy]
286
+
270
287
  async def load_markets_helper(self, reload=False, params={}):
271
288
  if not reload:
272
289
  if self.markets:
@@ -276,10 +293,34 @@ class Exchange(BaseExchange):
276
293
  currencies = None
277
294
  if self.has['fetchCurrencies'] is True:
278
295
  currencies = await self.fetch_currencies()
296
+ self.options['cachedCurrencies'] = currencies
279
297
  markets = await self.fetch_markets(params)
298
+ if 'cachedCurrencies' in self.options:
299
+ del self.options['cachedCurrencies']
280
300
  return self.set_markets(markets, currencies)
281
301
 
302
+
282
303
  async def load_markets(self, reload=False, params={}):
304
+ """
305
+ Loads and prepares the markets for trading.
306
+
307
+ Args:
308
+ reload (bool): If True, the markets will be reloaded from the exchange.
309
+ params (dict): Additional exchange-specific parameters for the request.
310
+
311
+ Returns:
312
+ dict: A dictionary of markets.
313
+
314
+ Raises:
315
+ Exception: If the markets cannot be loaded or prepared.
316
+
317
+ Notes:
318
+ This method is asynchronous.
319
+ It ensures that the markets are only loaded once, even if called multiple times.
320
+ If the markets are already loaded and `reload` is False or not provided, it returns the existing markets.
321
+ If a reload is in progress, it waits for completion before returning.
322
+ If an error occurs during loading or preparation, an exception is raised.
323
+ """
283
324
  if (reload and not self.reloading_markets) or not self.markets_loading:
284
325
  self.reloading_markets = True
285
326
  coroutine = self.load_markets_helper(reload, params)
@@ -386,21 +427,17 @@ class Exchange(BaseExchange):
386
427
  'verbose': self.verbose,
387
428
  'throttle': Throttler(self.tokenBucket, self.asyncio_loop),
388
429
  'asyncio_loop': self.asyncio_loop,
430
+ 'decompressBinary': self.safe_bool(self.options, 'decompressBinary', True),
389
431
  }, ws_options)
390
- self.clients[url] = FastClient(url, on_message, on_error, on_close, on_connected, options)
391
- self.clients[url].proxy = self.get_ws_proxy()
432
+ # we use aiohttp instead of fastClient now because of this
433
+ # https://github.com/ccxt/ccxt/pull/25995
434
+ self.clients[url] = Client(url, on_message, on_error, on_close, on_connected, options)
435
+ # set http/s proxy (socks proxy should be set in other place)
436
+ httpProxy, httpsProxy, socksProxy = self.check_ws_proxy_settings()
437
+ if (httpProxy or httpsProxy):
438
+ self.clients[url].proxy = httpProxy if httpProxy else httpsProxy
392
439
  return self.clients[url]
393
440
 
394
- def get_ws_proxy(self):
395
- httpProxy, httpsProxy, socksProxy = self.check_ws_proxy_settings()
396
- if httpProxy:
397
- return httpProxy
398
- elif httpsProxy:
399
- return httpsProxy
400
- elif socksProxy:
401
- return socksProxy
402
- return None
403
-
404
441
  def delay(self, timeout, method, *args):
405
442
  return self.asyncio_loop.call_later(timeout / 1000, self.spawn, method, *args)
406
443
 
@@ -463,8 +500,13 @@ class Exchange(BaseExchange):
463
500
  if not subscribed:
464
501
  client.subscriptions[subscribe_hash] = subscription or True
465
502
 
503
+ selected_session = self.session
504
+ # http/s proxy is being set in other places
505
+ httpProxy, httpsProxy, socksProxy = self.check_ws_proxy_settings()
506
+ if (socksProxy):
507
+ selected_session = self.get_socks_proxy_session(socksProxy)
466
508
  connected = client.connected if client.connected.done() \
467
- else asyncio.ensure_future(client.connect(self.session, backoff_delay))
509
+ else asyncio.ensure_future(client.connect(selected_session, backoff_delay))
468
510
 
469
511
  def after(fut):
470
512
  # todo: decouple signing from subscriptions
@@ -541,6 +583,31 @@ class Exchange(BaseExchange):
541
583
  return '0e-00'
542
584
  return format(n, 'g')
543
585
 
586
+ def decode_proto_msg(self, data):
587
+ if not MessageToDict:
588
+ raise NotSupported(self.id + ' requires protobuf to decode messages, please install it with `pip install "protobuf==5.29.5"`')
589
+ message = PushDataV3ApiWrapper_pb2.PushDataV3ApiWrapper()
590
+ message.ParseFromString(data)
591
+ dict_msg = MessageToDict(message)
592
+ # {
593
+ # "channel":"spot@public.kline.v3.api.pb@BTCUSDT@Min1",
594
+ # "symbol":"BTCUSDT",
595
+ # "symbolId":"2fb942154ef44a4ab2ef98c8afb6a4a7",
596
+ # "createTime":"1754735110559",
597
+ # "publicSpotKline":{
598
+ # "interval":"Min1",
599
+ # "windowStart":"1754735100",
600
+ # "openingPrice":"117792.45",
601
+ # "closingPrice":"117805.32",
602
+ # "highestPrice":"117814.63",
603
+ # "lowestPrice":"117792.45",
604
+ # "volume":"0.13425465",
605
+ # "amount":"15815.77",
606
+ # "windowEnd":"1754735160"
607
+ # }
608
+ # }
609
+ return dict_msg
610
+
544
611
  # ########################################################################
545
612
  # ########################################################################
546
613
  # ########################################################################
@@ -578,7 +645,7 @@ class Exchange(BaseExchange):
578
645
  # ########################################################################
579
646
  # ########################################################################
580
647
 
581
- # METHODS BELOW THIS LINE ARE TRANSPILED FROM JAVASCRIPT TO PYTHON AND PHP
648
+ # METHODS BELOW THIS LINE ARE TRANSPILED FROM TYPESCRIPT
582
649
 
583
650
  async def fetch_accounts(self, params={}):
584
651
  raise NotSupported(self.id + ' fetchAccounts() is not supported yet')
@@ -608,6 +675,9 @@ class Exchange(BaseExchange):
608
675
  async def watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}):
609
676
  raise NotSupported(self.id + ' watchTrades() is not supported yet')
610
677
 
678
+ async def un_watch_orders(self, symbol: Str = None, params={}):
679
+ raise NotSupported(self.id + ' unWatchOrders() is not supported yet')
680
+
611
681
  async def un_watch_trades(self, symbol: str, params={}):
612
682
  raise NotSupported(self.id + ' unWatchTrades() is not supported yet')
613
683
 
@@ -635,6 +705,18 @@ class Exchange(BaseExchange):
635
705
  async def un_watch_order_book_for_symbols(self, symbols: List[str], params={}):
636
706
  raise NotSupported(self.id + ' unWatchOrderBookForSymbols() is not supported yet')
637
707
 
708
+ async def un_watch_positions(self, symbols: Strings = None, params={}):
709
+ raise NotSupported(self.id + ' unWatchPositions() is not supported yet')
710
+
711
+ async def un_watch_ticker(self, symbol: str, params={}):
712
+ raise NotSupported(self.id + ' unWatchTicker() is not supported yet')
713
+
714
+ async def un_watch_mark_price(self, symbol: str, params={}):
715
+ raise NotSupported(self.id + ' unWatchMarkPrice() is not supported yet')
716
+
717
+ async def un_watch_mark_prices(self, symbols: Strings = None, params={}):
718
+ raise NotSupported(self.id + ' unWatchMarkPrices() is not supported yet')
719
+
638
720
  async def fetch_deposit_addresses(self, codes: Strings = None, params={}):
639
721
  raise NotSupported(self.id + ' fetchDepositAddresses() is not supported yet')
640
722
 
@@ -704,13 +786,13 @@ class Exchange(BaseExchange):
704
786
  async def transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={}):
705
787
  raise NotSupported(self.id + ' transfer() is not supported yet')
706
788
 
707
- async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
789
+ async def withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={}):
708
790
  raise NotSupported(self.id + ' withdraw() is not supported yet')
709
791
 
710
792
  async def create_deposit_address(self, code: str, params={}):
711
793
  raise NotSupported(self.id + ' createDepositAddress() is not supported yet')
712
794
 
713
- async def set_leverage(self, leverage: Int, symbol: Str = None, params={}):
795
+ async def set_leverage(self, leverage: int, symbol: Str = None, params={}):
714
796
  raise NotSupported(self.id + ' setLeverage() is not supported yet')
715
797
 
716
798
  async def fetch_leverage(self, symbol: str, params={}):
@@ -759,7 +841,7 @@ class Exchange(BaseExchange):
759
841
  async def fetch_deposit_addresses_by_network(self, code: str, params={}):
760
842
  raise NotSupported(self.id + ' fetchDepositAddressesByNetwork() is not supported yet')
761
843
 
762
- async def fetch_open_interest_history(self, symbol: str, timeframe='1h', since: Int = None, limit: Int = None, params={}):
844
+ async def fetch_open_interest_history(self, symbol: str, timeframe: str = '1h', since: Int = None, limit: Int = None, params={}):
763
845
  raise NotSupported(self.id + ' fetchOpenInterestHistory() is not supported yet')
764
846
 
765
847
  async def fetch_open_interest(self, symbol: str, params={}):
@@ -795,19 +877,19 @@ class Exchange(BaseExchange):
795
877
  async def repay_margin(self, code: str, amount: float, symbol: Str = None, params={}):
796
878
  raise NotSupported(self.id + ' repayMargin is deprecated, please use repayCrossMargin or repayIsolatedMargin instead')
797
879
 
798
- async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}):
880
+ async def fetch_ohlcv(self, symbol: str, timeframe: str = '1m', since: Int = None, limit: Int = None, params={}):
799
881
  message = ''
800
882
  if self.has['fetchTrades']:
801
883
  message = '. If you want to build OHLCV candles from trade executions data, visit https://github.com/ccxt/ccxt/tree/master/examples/ and see "build-ohlcv-bars" file'
802
884
  raise NotSupported(self.id + ' fetchOHLCV() is not supported yet' + message)
803
885
 
804
- async def fetch_ohlcv_ws(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}):
886
+ async def fetch_ohlcv_ws(self, symbol: str, timeframe: str = '1m', since: Int = None, limit: Int = None, params={}):
805
887
  message = ''
806
888
  if self.has['fetchTradesWs']:
807
889
  message = '. If you want to build OHLCV candles from trade executions data, visit https://github.com/ccxt/ccxt/tree/master/examples/ and see "build-ohlcv-bars" file'
808
890
  raise NotSupported(self.id + ' fetchOHLCVWs() is not supported yet. Try using fetchOHLCV instead.' + message)
809
891
 
810
- async def watch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}):
892
+ async def watch_ohlcv(self, symbol: str, timeframe: str = '1m', since: Int = None, limit: Int = None, params={}):
811
893
  raise NotSupported(self.id + ' watchOHLCV() is not supported yet')
812
894
 
813
895
  async def fetch_web_endpoint(self, method, endpointMethod, returnAsJson, startRegex=None, endRegex=None):
@@ -876,15 +958,15 @@ class Exchange(BaseExchange):
876
958
  if self.enableRateLimit:
877
959
  cost = self.calculate_rate_limiter_cost(api, method, path, params, config)
878
960
  await self.throttle(cost)
961
+ retries = None
962
+ retries, params = self.handle_option_and_params(params, path, 'maxRetriesOnFailure', 0)
963
+ retryDelay = None
964
+ retryDelay, params = self.handle_option_and_params(params, path, 'maxRetriesOnFailureDelay', 0)
879
965
  self.lastRestRequestTimestamp = self.milliseconds()
880
966
  request = self.sign(path, api, method, params, headers, body)
881
967
  self.last_request_headers = request['headers']
882
968
  self.last_request_body = request['body']
883
969
  self.last_request_url = request['url']
884
- retries = None
885
- retries, params = self.handle_option_and_params(params, path, 'maxRetriesOnFailure', 0)
886
- retryDelay = None
887
- retryDelay, params = self.handle_option_and_params(params, path, 'maxRetriesOnFailureDelay', 0)
888
970
  for i in range(0, retries + 1):
889
971
  try:
890
972
  return await self.fetch(request['url'], request['method'], request['headers'], request['body'])
@@ -1144,7 +1226,7 @@ class Exchange(BaseExchange):
1144
1226
  async def fetch_position_mode(self, symbol: Str = None, params={}):
1145
1227
  raise NotSupported(self.id + ' fetchPositionMode() is not supported yet')
1146
1228
 
1147
- async def create_trailing_amount_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, trailingAmount=None, trailingTriggerPrice=None, params={}):
1229
+ async def create_trailing_amount_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, trailingAmount: Num = None, trailingTriggerPrice: Num = None, params={}):
1148
1230
  """
1149
1231
  create a trailing order by providing the symbol, type, side, amount, price and trailingAmount
1150
1232
  :param str symbol: unified symbol of the market to create an order in
@@ -1166,7 +1248,7 @@ class Exchange(BaseExchange):
1166
1248
  return await self.create_order(symbol, type, side, amount, price, params)
1167
1249
  raise NotSupported(self.id + ' createTrailingAmountOrder() is not supported yet')
1168
1250
 
1169
- async def create_trailing_amount_order_ws(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, trailingAmount=None, trailingTriggerPrice=None, params={}):
1251
+ async def create_trailing_amount_order_ws(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, trailingAmount: Num = None, trailingTriggerPrice: Num = None, params={}):
1170
1252
  """
1171
1253
  create a trailing order by providing the symbol, type, side, amount, price and trailingAmount
1172
1254
  :param str symbol: unified symbol of the market to create an order in
@@ -1188,7 +1270,7 @@ class Exchange(BaseExchange):
1188
1270
  return await self.create_order_ws(symbol, type, side, amount, price, params)
1189
1271
  raise NotSupported(self.id + ' createTrailingAmountOrderWs() is not supported yet')
1190
1272
 
1191
- async def create_trailing_percent_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, trailingPercent=None, trailingTriggerPrice=None, params={}):
1273
+ async def create_trailing_percent_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, trailingPercent: Num = None, trailingTriggerPrice: Num = None, params={}):
1192
1274
  """
1193
1275
  create a trailing order by providing the symbol, type, side, amount, price and trailingPercent
1194
1276
  :param str symbol: unified symbol of the market to create an order in
@@ -1210,7 +1292,7 @@ class Exchange(BaseExchange):
1210
1292
  return await self.create_order(symbol, type, side, amount, price, params)
1211
1293
  raise NotSupported(self.id + ' createTrailingPercentOrder() is not supported yet')
1212
1294
 
1213
- async def create_trailing_percent_order_ws(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, trailingPercent=None, trailingTriggerPrice=None, params={}):
1295
+ async def create_trailing_percent_order_ws(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, trailingPercent: Num = None, trailingTriggerPrice: Num = None, params={}):
1214
1296
  """
1215
1297
  create a trailing order by providing the symbol, type, side, amount, price and trailingPercent
1216
1298
  :param str symbol: unified symbol of the market to create an order in
@@ -1463,6 +1545,9 @@ class Exchange(BaseExchange):
1463
1545
  async def cancel_order_ws(self, id: str, symbol: Str = None, params={}):
1464
1546
  raise NotSupported(self.id + ' cancelOrderWs() is not supported yet')
1465
1547
 
1548
+ async def cancel_orders(self, ids: List[str], symbol: Str = None, params={}):
1549
+ raise NotSupported(self.id + ' cancelOrders() is not supported yet')
1550
+
1466
1551
  async def cancel_orders_ws(self, ids: List[str], symbol: Str = None, params={}):
1467
1552
  raise NotSupported(self.id + ' cancelOrdersWs() is not supported yet')
1468
1553
 
@@ -1478,7 +1563,7 @@ class Exchange(BaseExchange):
1478
1563
  async def cancel_all_orders_ws(self, symbol: Str = None, params={}):
1479
1564
  raise NotSupported(self.id + ' cancelAllOrdersWs() is not supported yet')
1480
1565
 
1481
- async def cancel_unified_order(self, order, params={}):
1566
+ async def cancel_unified_order(self, order: Order, params={}):
1482
1567
  return self.cancel_order(self.safe_string(order, 'id'), self.safe_string(order, 'symbol'), params)
1483
1568
 
1484
1569
  async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
@@ -1540,6 +1625,9 @@ class Exchange(BaseExchange):
1540
1625
  async def fetch_greeks(self, symbol: str, params={}):
1541
1626
  raise NotSupported(self.id + ' fetchGreeks() is not supported yet')
1542
1627
 
1628
+ async def fetch_all_greeks(self, symbols: Strings = None, params={}):
1629
+ raise NotSupported(self.id + ' fetchAllGreeks() is not supported yet')
1630
+
1543
1631
  async def fetch_option_chain(self, code: str, params={}):
1544
1632
  raise NotSupported(self.id + ' fetchOptionChain() is not supported yet')
1545
1633
 
@@ -1560,10 +1648,10 @@ class Exchange(BaseExchange):
1560
1648
  """
1561
1649
  raise NotSupported(self.id + ' fetchDepositsWithdrawals() is not supported yet')
1562
1650
 
1563
- async def fetch_deposits(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1651
+ async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
1564
1652
  raise NotSupported(self.id + ' fetchDeposits() is not supported yet')
1565
1653
 
1566
- async def fetch_withdrawals(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1654
+ async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
1567
1655
  raise NotSupported(self.id + ' fetchWithdrawals() is not supported yet')
1568
1656
 
1569
1657
  async def fetch_deposits_ws(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
@@ -1774,7 +1862,7 @@ class Exchange(BaseExchange):
1774
1862
  else:
1775
1863
  raise NotSupported(self.id + ' fetchFundingInterval() is not supported yet')
1776
1864
 
1777
- async def fetch_mark_ohlcv(self, symbol, timeframe='1m', since: Int = None, limit: Int = None, params={}):
1865
+ async def fetch_mark_ohlcv(self, symbol: str, timeframe: str = '1m', since: Int = None, limit: Int = None, params={}):
1778
1866
  """
1779
1867
  fetches historical mark price candlestick data containing the open, high, low, and close price of a market
1780
1868
  :param str symbol: unified symbol of the market to fetch OHLCV data for
@@ -1792,7 +1880,7 @@ class Exchange(BaseExchange):
1792
1880
  else:
1793
1881
  raise NotSupported(self.id + ' fetchMarkOHLCV() is not supported yet')
1794
1882
 
1795
- async def fetch_index_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}):
1883
+ async def fetch_index_ohlcv(self, symbol: str, timeframe: str = '1m', since: Int = None, limit: Int = None, params={}):
1796
1884
  """
1797
1885
  fetches historical index price candlestick data containing the open, high, low, and close price of a market
1798
1886
  :param str symbol: unified symbol of the market to fetch OHLCV data for
@@ -1810,7 +1898,7 @@ class Exchange(BaseExchange):
1810
1898
  else:
1811
1899
  raise NotSupported(self.id + ' fetchIndexOHLCV() is not supported yet')
1812
1900
 
1813
- async def fetch_premium_index_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}):
1901
+ async def fetch_premium_index_ohlcv(self, symbol: str, timeframe: str = '1m', since: Int = None, limit: Int = None, params={}):
1814
1902
  """
1815
1903
  fetches historical premium index price candlestick data containing the open, high, low, and close price of a market
1816
1904
  :param str symbol: unified symbol of the market to fetch OHLCV data for
@@ -1856,7 +1944,7 @@ class Exchange(BaseExchange):
1856
1944
  calls = 0
1857
1945
  result = []
1858
1946
  errors = 0
1859
- until = self.safe_integer_2(params, 'untill', 'till') # do not omit it from params here
1947
+ until = self.safe_integer_n(params, ['until', 'untill', 'till']) # do not omit it from params here
1860
1948
  maxEntriesPerRequest, params = self.handle_max_entries_per_request_and_params(method, maxEntriesPerRequest, params)
1861
1949
  if (paginationDirection == 'forward'):
1862
1950
  if since is None:
@@ -2102,3 +2190,80 @@ class Exchange(BaseExchange):
2102
2190
  :returns dict: a `transfer structure <https://docs.ccxt.com/#/?id=transfer-structure>`
2103
2191
  """
2104
2192
  raise NotSupported(self.id + ' fetchTransfers() is not supported yet')
2193
+
2194
+ async def un_watch_ohlcv(self, symbol: str, timeframe: str = '1m', params={}):
2195
+ """
2196
+ watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
2197
+ :param str symbol: unified symbol of the market to fetch OHLCV data for
2198
+ :param str timeframe: the length of time each candle represents
2199
+ :param dict [params]: extra parameters specific to the exchange API endpoint
2200
+ :returns int[][]: A list of candles ordered, open, high, low, close, volume
2201
+ """
2202
+ raise NotSupported(self.id + ' unWatchOHLCV() is not supported yet')
2203
+
2204
+ async def watch_mark_price(self, symbol: str, params={}):
2205
+ """
2206
+ watches a mark price for a specific market
2207
+ :param str symbol: unified symbol of the market to fetch the ticker for
2208
+ :param dict [params]: extra parameters specific to the exchange API endpoint
2209
+ :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
2210
+ """
2211
+ raise NotSupported(self.id + ' watchMarkPrice() is not supported yet')
2212
+
2213
+ async def watch_mark_prices(self, symbols: Strings = None, params={}):
2214
+ """
2215
+ watches the mark price for all markets
2216
+ :param str[] symbols: unified symbol of the market to fetch the ticker for
2217
+ :param dict [params]: extra parameters specific to the exchange API endpoint
2218
+ :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
2219
+ """
2220
+ raise NotSupported(self.id + ' watchMarkPrices() is not supported yet')
2221
+
2222
+ async def withdraw_ws(self, code: str, amount: float, address: str, tag: Str = None, params={}):
2223
+ """
2224
+ make a withdrawal
2225
+ :param str code: unified currency code
2226
+ :param float amount: the amount to withdraw
2227
+ :param str address: the address to withdraw to
2228
+ :param str tag:
2229
+ :param dict [params]: extra parameters specific to the bitvavo api endpoint
2230
+ :returns dict: a `transaction structure <https://docs.ccxt.com/#/?id=transaction-structure>`
2231
+ """
2232
+ raise NotSupported(self.id + ' withdrawWs() is not supported yet')
2233
+
2234
+ async def un_watch_my_trades(self, symbol: Str = None, params={}):
2235
+ """
2236
+ unWatches information on multiple trades made by the user
2237
+ :param str symbol: unified market symbol of the market orders were made in
2238
+ :param dict [params]: extra parameters specific to the exchange API endpoint
2239
+ :returns dict[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
2240
+ """
2241
+ raise NotSupported(self.id + ' unWatchMyTrades() is not supported yet')
2242
+
2243
+ async def create_orders_ws(self, orders: List[OrderRequest], params={}):
2244
+ """
2245
+ create a list of trade orders
2246
+ :param Array orders: list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params
2247
+ :param dict [params]: extra parameters specific to the exchange API endpoint
2248
+ :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
2249
+ """
2250
+ raise NotSupported(self.id + ' createOrdersWs() is not supported yet')
2251
+
2252
+ async def fetch_orders_by_status_ws(self, status: str, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
2253
+ """
2254
+ watches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
2255
+ :param str symbol: unified symbol of the market to fetch the order book for
2256
+ :param int [limit]: the maximum amount of order book entries to return
2257
+ :param dict [params]: extra parameters specific to the exchange API endpoint
2258
+ :returns dict: A dictionary of `order book structures <https://docs.ccxt.com/#/?id=order-book-structure>` indexed by market symbols
2259
+ """
2260
+ raise NotSupported(self.id + ' fetchOrdersByStatusWs() is not supported yet')
2261
+
2262
+ async def un_watch_bids_asks(self, symbols: Strings = None, params={}):
2263
+ """
2264
+ unWatches best bid & ask for symbols
2265
+ :param str[] symbols: unified symbol of the market to fetch the ticker for
2266
+ :param dict [params]: extra parameters specific to the exchange API endpoint
2267
+ :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
2268
+ """
2269
+ raise NotSupported(self.id + ' unWatchBidsAsks() is not supported yet')
@@ -42,7 +42,7 @@ class Throttler:
42
42
  def __call__(self, cost=None):
43
43
  future = asyncio.Future()
44
44
  if len(self.queue) > self.config['maxCapacity']:
45
- raise RuntimeError('throttle queue is over maxCapacity (' + str(int(self.config['maxCapacity'])) + '), see https://github.com/ccxt/ccxt/issues/11645#issuecomment-1195695526')
45
+ raise RuntimeError('throttle queue is over maxCapacity (' + str(int(self.config['maxCapacity'])) + '), see https://docs.ccxt.com/#/README?id=maximum-requests-capacity')
46
46
  self.queue.append((future, cost))
47
47
  if not self.running:
48
48
  self.running = True