coinex-api 0.0.92__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 (287) hide show
  1. {coinex_api-0.0.92 → coinex_api-0.0.100}/.gitignore +0 -1
  2. {coinex_api-0.0.92 → coinex_api-0.0.100}/PKG-INFO +3 -3
  3. {coinex_api-0.0.92 → coinex_api-0.0.100}/README.md +2 -2
  4. {coinex_api-0.0.92 → coinex_api-0.0.100}/pyproject.toml +1 -1
  5. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/__init__.py +1 -1
  6. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/__init__.py +1 -1
  7. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/exchange.py +89 -3
  8. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/throttler.py +1 -1
  9. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/ws/client.py +17 -1
  10. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/coinex.py +2 -2
  11. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/base/exchange.py +186 -22
  12. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/base/types.py +2 -0
  13. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/coinex.py +2 -2
  14. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/pro/__init__.py +1 -1
  15. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/pro/coinex.py +3 -3
  16. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/__init__.py +0 -0
  17. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/abstract/coinex.py +0 -0
  18. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/__init__.py +0 -0
  19. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/ws/__init__.py +0 -0
  20. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/ws/cache.py +0 -0
  21. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/ws/functions.py +0 -0
  22. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/ws/future.py +0 -0
  23. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/ws/order_book.py +0 -0
  24. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/async_support/base/ws/order_book_side.py +0 -0
  25. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/base/__init__.py +0 -0
  26. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/base/decimal_to_precision.py +0 -0
  27. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/base/errors.py +0 -0
  28. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/base/precise.py +0 -0
  29. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/README.md +0 -0
  30. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/__init__.py +0 -0
  31. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  32. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  33. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  34. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/der.py +0 -0
  35. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  36. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  37. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  38. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  39. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  40. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ecdsa/util.py +0 -0
  41. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  42. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  43. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  44. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  45. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  46. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  47. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  48. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  49. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  50. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  51. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  52. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  53. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  54. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  55. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  56. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  57. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  58. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  59. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  60. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  61. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  62. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  63. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  64. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  65. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  66. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  67. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  68. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  69. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  70. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  71. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  72. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  73. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  74. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  75. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  76. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  77. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  78. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  79. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  80. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  81. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  82. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  83. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  84. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  85. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  86. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  87. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  88. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  89. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  90. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  91. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  92. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  93. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  94. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  95. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  96. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  97. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  98. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  99. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  100. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  101. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  102. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  103. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/keccak/__init__.py +0 -0
  104. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/keccak/keccak.py +0 -0
  105. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/__init__.py +0 -0
  106. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
  107. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
  108. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/ast_utils.py +0 -0
  109. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/common.py +0 -0
  110. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/exceptions.py +0 -0
  111. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/grammar.py +0 -0
  112. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  113. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/grammars/common.lark +0 -0
  114. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/grammars/lark.lark +0 -0
  115. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/grammars/python.lark +0 -0
  116. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/grammars/unicode.lark +0 -0
  117. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/indenter.py +0 -0
  118. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/lark.py +0 -0
  119. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/lexer.py +0 -0
  120. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/load_grammar.py +0 -0
  121. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
  122. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
  123. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  124. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
  125. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
  126. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
  127. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
  128. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
  129. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
  130. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
  131. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
  132. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
  133. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
  134. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/py.typed +0 -0
  135. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/reconstruct.py +0 -0
  136. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
  137. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
  138. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
  139. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
  140. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/tree.py +0 -0
  141. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
  142. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/tree_templates.py +0 -0
  143. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/utils.py +0 -0
  144. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/lark/visitors.py +0 -0
  145. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
  146. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/base.py +0 -0
  147. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
  148. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
  149. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
  150. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
  151. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/fields.py +0 -0
  152. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
  153. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  154. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/schema.py +0 -0
  155. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/types.py +0 -0
  156. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/utils.py +0 -0
  157. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/validate.py +0 -0
  158. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
  159. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
  160. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
  161. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
  162. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
  163. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  164. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
  165. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
  166. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
  167. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
  168. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  169. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  170. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/_cmsgpack.pyx +0 -0
  171. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/_packer.pyx +0 -0
  172. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/_unpacker.pyx +0 -0
  173. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/buff_converter.h +0 -0
  174. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  175. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/ext.py +0 -0
  176. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  177. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/pack.h +0 -0
  178. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/pack_template.h +0 -0
  179. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/sysdep.h +0 -0
  180. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/unpack.h +0 -0
  181. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/unpack_define.h +0 -0
  182. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/msgpack/unpack_template.h +0 -0
  183. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  184. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  185. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  186. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  187. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  188. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  189. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/__init__.py +0 -0
  190. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v0/__init__.py +0 -0
  191. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v0/model.py +0 -0
  192. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v0/parser.py +0 -0
  193. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v0/schemas.py +0 -0
  194. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v0/shape.py +0 -0
  195. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v1/__init__.py +0 -0
  196. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v1/core_structures.json +0 -0
  197. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v1/model.py +0 -0
  198. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v1/parser.py +0 -0
  199. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v1/parser_transformer.py +0 -0
  200. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v1/schemas.py +0 -0
  201. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v1/shape.py +0 -0
  202. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v2/__init__.py +0 -0
  203. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v2/model.py +0 -0
  204. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v2/parser.py +0 -0
  205. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v2/parser_transformer.py +0 -0
  206. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v2/schemas.py +0 -0
  207. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/abi/v2/shape.py +0 -0
  208. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  209. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
  210. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  211. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
  212. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
  213. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
  214. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
  215. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
  216. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  217. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
  218. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  219. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
  220. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
  221. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/common.py +0 -0
  222. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/constants.py +0 -0
  223. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  224. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/hash/address.py +0 -0
  225. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
  226. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
  227. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
  228. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
  229. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  230. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
  231. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
  232. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
  233. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
  234. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
  235. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
  236. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
  237. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
  238. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
  239. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
  240. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
  241. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
  242. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
  243. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
  244. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
  245. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
  246. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
  247. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
  248. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
  249. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
  250. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
  251. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
  252. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
  253. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
  254. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
  255. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  256. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
  257. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
  258. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
  259. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
  260. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starkware/__init__.py +0 -0
  261. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  262. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
  263. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
  264. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
  265. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
  266. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/__init__.py +0 -0
  267. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  268. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
  269. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  270. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
  271. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
  272. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
  273. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
  274. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/__init__.py +0 -0
  275. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  276. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/_version.py +0 -0
  277. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  278. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  279. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  280. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  281. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  282. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  283. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  284. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/recipes.py +0 -0
  285. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/toolz/utils.py +0 -0
  286. {coinex_api-0.0.92 → coinex_api-0.0.100}/src/coinex/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  287. {coinex_api-0.0.92 → 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.92
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
@@ -153,7 +153,7 @@ You can also construct custom requests to available "implicit" endpoints
153
153
  - `fetch_margin_balance(self, params={})`
154
154
  - `fetch_markets(self, params={})`
155
155
  - `fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
156
- - `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={})`
157
157
  - `fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
158
158
  - `fetch_order_book(self, symbol: str, limit: Int = 20, params={})`
159
159
  - `fetch_order(self, id: str, symbol: Str = None, params={})`
@@ -176,7 +176,7 @@ You can also construct custom requests to available "implicit" endpoints
176
176
  - `borrow_isolated_margin(self, symbol: str, code: str, amount: float, params={})`
177
177
  - `cancel_all_orders(self, symbol: Str = None, params={})`
178
178
  - `cancel_order(self, id: str, symbol: Str = None, params={})`
179
- - `cancel_orders(self, ids, symbol: Str = None, params={})`
179
+ - `cancel_orders(self, ids: List[str], symbol: Str = None, params={})`
180
180
  - `close_position(self, symbol: str, side: OrderSide = None, params={})`
181
181
  - `describe(self)`
182
182
  - `edit_order(self, id: str, symbol: str, type: OrderType, side: OrderSide, amount: Num = None, price: Num = None, params={})`
@@ -134,7 +134,7 @@ You can also construct custom requests to available "implicit" endpoints
134
134
  - `fetch_margin_balance(self, params={})`
135
135
  - `fetch_markets(self, params={})`
136
136
  - `fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
137
- - `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={})`
138
138
  - `fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
139
139
  - `fetch_order_book(self, symbol: str, limit: Int = 20, params={})`
140
140
  - `fetch_order(self, id: str, symbol: Str = None, params={})`
@@ -157,7 +157,7 @@ You can also construct custom requests to available "implicit" endpoints
157
157
  - `borrow_isolated_margin(self, symbol: str, code: str, amount: float, params={})`
158
158
  - `cancel_all_orders(self, symbol: Str = None, params={})`
159
159
  - `cancel_order(self, id: str, symbol: Str = None, params={})`
160
- - `cancel_orders(self, ids, symbol: Str = None, params={})`
160
+ - `cancel_orders(self, ids: List[str], symbol: Str = None, params={})`
161
161
  - `close_position(self, symbol: str, side: OrderSide = None, params={})`
162
162
  - `describe(self)`
163
163
  - `edit_order(self, id: str, symbol: str, type: OrderType, side: OrderSide, amount: Num = None, price: Num = None, params={})`
@@ -11,7 +11,7 @@ only-include = ["src/coinex"]
11
11
 
12
12
  [project]
13
13
  name = "coinex-api"
14
- version = "0.0.92"
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.5.8'
29
+ __version__ = '4.5.15'
30
30
 
31
31
  # ----------------------------------------------------------------------------
32
32
 
@@ -8,7 +8,7 @@ sys.modules['ccxt'] = ccxt_module
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
11
- __version__ = '4.5.8'
11
+ __version__ = '4.5.15'
12
12
 
13
13
  # -----------------------------------------------------------------------------
14
14
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.5.8'
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
 
@@ -711,6 +711,12 @@ class Exchange(BaseExchange):
711
711
  async def un_watch_ticker(self, symbol: str, params={}):
712
712
  raise NotSupported(self.id + ' unWatchTicker() is not supported yet')
713
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
+
714
720
  async def fetch_deposit_addresses(self, codes: Strings = None, params={}):
715
721
  raise NotSupported(self.id + ' fetchDepositAddresses() is not supported yet')
716
722
 
@@ -1539,6 +1545,9 @@ class Exchange(BaseExchange):
1539
1545
  async def cancel_order_ws(self, id: str, symbol: Str = None, params={}):
1540
1546
  raise NotSupported(self.id + ' cancelOrderWs() is not supported yet')
1541
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
+
1542
1551
  async def cancel_orders_ws(self, ids: List[str], symbol: Str = None, params={}):
1543
1552
  raise NotSupported(self.id + ' cancelOrdersWs() is not supported yet')
1544
1553
 
@@ -1554,7 +1563,7 @@ class Exchange(BaseExchange):
1554
1563
  async def cancel_all_orders_ws(self, symbol: Str = None, params={}):
1555
1564
  raise NotSupported(self.id + ' cancelAllOrdersWs() is not supported yet')
1556
1565
 
1557
- async def cancel_unified_order(self, order, params={}):
1566
+ async def cancel_unified_order(self, order: Order, params={}):
1558
1567
  return self.cancel_order(self.safe_string(order, 'id'), self.safe_string(order, 'symbol'), params)
1559
1568
 
1560
1569
  async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
@@ -2181,3 +2190,80 @@ class Exchange(BaseExchange):
2181
2190
  :returns dict: a `transfer structure <https://docs.ccxt.com/#/?id=transfer-structure>`
2182
2191
  """
2183
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
@@ -83,6 +83,12 @@ class Client(object):
83
83
  del self.rejections[message_hash]
84
84
  return future
85
85
 
86
+ def reusable_future(self, message_hash):
87
+ return self.future(message_hash) # only used in go
88
+
89
+ def reusableFuture(self, message_hash):
90
+ return self.future(message_hash) # only used in go
91
+
86
92
  def resolve(self, result, message_hash):
87
93
  if self.verbose and message_hash is None:
88
94
  self.log(iso8601(milliseconds()), 'resolve received None messageHash')
@@ -111,7 +117,7 @@ class Client(object):
111
117
  self.log(iso8601(milliseconds()), 'receive loop')
112
118
  if not self.closed():
113
119
  # let's drain the aiohttp buffer to avoid latency
114
- if len(self.buffer) > 1:
120
+ if self.buffer and len(self.buffer) > 1:
115
121
  size_delta = 0
116
122
  while len(self.buffer) > 1:
117
123
  message, size = self.buffer.popleft()
@@ -180,6 +186,16 @@ class Client(object):
180
186
  # looks like they exposed it in C
181
187
  # this means we can bypass it
182
188
  # https://github.com/aio-libs/aiohttp/blob/master/aiohttp/_websocket/reader_c.pxd#L53C24-L53C31
189
+ # these checks are necessary to protect these errors: AttributeError: 'NoneType' object has no attribute '_buffer'
190
+ # upon getting an error message
191
+ if self.connection is None:
192
+ return None
193
+ if self.connection._conn is None:
194
+ return None
195
+ if self.connection._conn.protocol is None:
196
+ return None
197
+ if self.connection._conn.protocol._payload is None:
198
+ return None
183
199
  return self.connection._conn.protocol._payload._buffer
184
200
 
185
201
  def connect(self, session, backoff_delay=0):
@@ -1601,7 +1601,7 @@ class coinex(Exchange, ImplicitAPI):
1601
1601
  self.safe_number(ohlcv, 'value'),
1602
1602
  ]
1603
1603
 
1604
- async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
1604
+ async def fetch_ohlcv(self, symbol: str, timeframe: str = '1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
1605
1605
  """
1606
1606
  fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
1607
1607
 
@@ -2617,7 +2617,7 @@ class coinex(Exchange, ImplicitAPI):
2617
2617
  results.append(order)
2618
2618
  return results
2619
2619
 
2620
- async def cancel_orders(self, ids, symbol: Str = None, params={}):
2620
+ async def cancel_orders(self, ids: List[str], symbol: Str = None, params={}):
2621
2621
  """
2622
2622
  cancel multiple orders
2623
2623
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.5.8'
7
+ __version__ = '4.5.15'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -33,7 +33,7 @@ from ccxt.base.decimal_to_precision import decimal_to_precision
33
33
  from ccxt.base.decimal_to_precision import DECIMAL_PLACES, TICK_SIZE, NO_PADDING, TRUNCATE, ROUND, ROUND_UP, ROUND_DOWN, SIGNIFICANT_DIGITS
34
34
  from ccxt.base.decimal_to_precision import number_to_string
35
35
  from ccxt.base.precise import Precise
36
- from ccxt.base.types import ConstructorArgs, BalanceAccount, Currency, IndexType, OrderSide, OrderType, Trade, OrderRequest, Market, MarketType, Str, Num, Strings, CancellationRequest, Bool
36
+ from ccxt.base.types import ConstructorArgs, BalanceAccount, Currency, IndexType, OrderSide, OrderType, Trade, OrderRequest, Market, MarketType, Str, Num, Strings, CancellationRequest, Bool, Order
37
37
 
38
38
  # -----------------------------------------------------------------------------
39
39
 
@@ -50,6 +50,11 @@ from cryptography.hazmat.primitives.serialization import load_pem_private_key
50
50
  from ccxt.static_dependencies import ecdsa
51
51
  from ccxt.static_dependencies import keccak
52
52
 
53
+ try:
54
+ import coincurve
55
+ except ImportError:
56
+ coincurve = None
57
+
53
58
  # eddsa signing
54
59
  try:
55
60
  import axolotl_curve25519 as eddsa
@@ -1401,6 +1406,21 @@ class Exchange(object):
1401
1406
 
1402
1407
  @staticmethod
1403
1408
  def ecdsa(request, secret, algorithm='p256', hash=None, fixed_length=False):
1409
+ """
1410
+ ECDSA signing with support for multiple algorithms and coincurve for SECP256K1.
1411
+ Args:
1412
+ request: The message to sign
1413
+ secret: The private key (hex string or PEM format)
1414
+ algorithm: The elliptic curve algorithm ('p192', 'p224', 'p256', 'p384', 'p521', 'secp256k1')
1415
+ hash: The hash function to use (defaults to algorithm-specific hash)
1416
+ fixed_length: Whether to ensure fixed-length signatures (for deterministic signing)
1417
+ Note: coincurve produces non-deterministic signatures
1418
+ Returns:
1419
+ dict: {'r': r_value, 's': s_value, 'v': v_value}
1420
+ Note:
1421
+ If coincurve is not available or fails for SECP256K1, the method automatically
1422
+ falls back to the standard ecdsa implementation.
1423
+ """
1404
1424
  # your welcome - frosty00
1405
1425
  algorithms = {
1406
1426
  'p192': [ecdsa.NIST192p, 'sha256'],
@@ -1412,6 +1432,14 @@ class Exchange(object):
1412
1432
  }
1413
1433
  if algorithm not in algorithms:
1414
1434
  raise ArgumentsRequired(algorithm + ' is not a supported algorithm')
1435
+ # Use coincurve for SECP256K1 if available
1436
+ if algorithm == 'secp256k1' and coincurve is not None:
1437
+ try:
1438
+ return Exchange._ecdsa_secp256k1_coincurve(request, secret, hash, fixed_length)
1439
+ except Exception:
1440
+ # If coincurve fails, fall back to ecdsa implementation
1441
+ pass
1442
+ # Fall back to original ecdsa implementation for other algorithms or when deterministic signing is needed
1415
1443
  curve_info = algorithms[algorithm]
1416
1444
  hash_function = getattr(hashlib, curve_info[1])
1417
1445
  encoded_request = Exchange.encode(request)
@@ -1447,6 +1475,53 @@ class Exchange(object):
1447
1475
 
1448
1476
 
1449
1477
  @staticmethod
1478
+ def _ecdsa_secp256k1_coincurve(request, secret, hash=None, fixed_length=False):
1479
+ """
1480
+ Use coincurve library for SECP256K1 ECDSA signing.
1481
+ This method provides faster SECP256K1 signing using the coincurve library,
1482
+ which is a Python binding to libsecp256k1. This implementation produces
1483
+ deterministic signatures (RFC 6979) using coincurve's sign_recoverable method.
1484
+ Args:
1485
+ request: The message to sign
1486
+ secret: The private key (hex string or PEM format)
1487
+ hash: The hash function to use
1488
+ fixed_length: Not used in coincurve implementation (signatures are always fixed length)
1489
+ Returns:
1490
+ dict: {'r': r_value, 's': s_value, 'v': v_value}
1491
+ Raises:
1492
+ ArgumentsRequired: If coincurve library is not available
1493
+ """
1494
+ encoded_request = Exchange.encode(request)
1495
+ if hash is not None:
1496
+ digest = Exchange.hash(encoded_request, hash, 'binary')
1497
+ else:
1498
+ digest = base64.b16decode(encoded_request, casefold=True)
1499
+ if isinstance(secret, str):
1500
+ secret = Exchange.encode(secret)
1501
+ # Handle PEM format
1502
+ if secret.find(b'-----BEGIN EC PRIVATE KEY-----') > -1:
1503
+ secret = base64.b16decode(secret.replace(b'-----BEGIN EC PRIVATE KEY-----', b'').replace(b'-----END EC PRIVATE KEY-----', b'').replace(b'\n', b'').replace(b'\r', b''), casefold=True)
1504
+ else:
1505
+ # Assume hex format
1506
+ secret = base64.b16decode(secret, casefold=True)
1507
+ # Create coincurve PrivateKey
1508
+ private_key = coincurve.PrivateKey(secret)
1509
+ # Sign the digest using sign_recoverable which produces deterministic signatures (RFC 6979)
1510
+ # The signature format is: 32 bytes r + 32 bytes s + 1 byte recovery_id (v)
1511
+ signature = private_key.sign_recoverable(digest, hasher=None)
1512
+ # Extract r, s, and v from the recoverable signature (65 bytes total)
1513
+ r_binary = signature[:32]
1514
+ s_binary = signature[32:64]
1515
+ v = signature[64]
1516
+ # Convert to hex strings
1517
+ r = Exchange.decode(base64.b16encode(r_binary)).lower()
1518
+ s = Exchange.decode(base64.b16encode(s_binary)).lower()
1519
+ return {
1520
+ 'r': r,
1521
+ 's': s,
1522
+ 'v': v,
1523
+ }
1524
+
1450
1525
  def binary_to_urlencoded_base64(data: bytes) -> str:
1451
1526
  encoded = base64.urlsafe_b64encode(data).decode("utf-8")
1452
1527
  return encoded.rstrip("=")
@@ -2673,6 +2748,12 @@ class Exchange(object):
2673
2748
  def un_watch_ticker(self, symbol: str, params={}):
2674
2749
  raise NotSupported(self.id + ' unWatchTicker() is not supported yet')
2675
2750
 
2751
+ def un_watch_mark_price(self, symbol: str, params={}):
2752
+ raise NotSupported(self.id + ' unWatchMarkPrice() is not supported yet')
2753
+
2754
+ def un_watch_mark_prices(self, symbols: Strings = None, params={}):
2755
+ raise NotSupported(self.id + ' unWatchMarkPrices() is not supported yet')
2756
+
2676
2757
  def fetch_deposit_addresses(self, codes: Strings = None, params={}):
2677
2758
  raise NotSupported(self.id + ' fetchDepositAddresses() is not supported yet')
2678
2759
 
@@ -2942,7 +3023,7 @@ class Exchange(object):
2942
3023
  'delay': 0.001,
2943
3024
  'capacity': 1,
2944
3025
  'cost': 1,
2945
- 'maxCapacity': 1000,
3026
+ 'maxCapacity': self.safe_integer(self.options, 'maxRequestsQueue', 1000),
2946
3027
  'refillRate': refillRate,
2947
3028
  }
2948
3029
  existingBucket = {} if (self.tokenBucket is None) else self.tokenBucket
@@ -3024,33 +3105,33 @@ class Exchange(object):
3024
3105
  featureBlock['symbolRequired'] = self.in_array(key, ['createOrder', 'createOrders', 'fetchOHLCV'])
3025
3106
  return featuresObj
3026
3107
 
3027
- def feature_value(self, symbol: str, methodName: Str = None, paramName: Str = None, subParamName: Str = None, defaultValue: Any = None):
3108
+ def feature_value(self, symbol: str, methodName: Str = None, paramName: Str = None, defaultValue: Any = None):
3028
3109
  """
3029
3110
  self method is a very deterministic to help users to know what feature is supported by the exchange
3030
3111
  :param str [symbol]: unified symbol
3031
3112
  :param str [methodName]: view currently supported methods: https://docs.ccxt.com/#/README?id=features
3032
- :param str [paramName]: unified param value(check docs for supported param names)
3033
- :param str [subParamName]: unified sub-param value(eg. stopLoss->triggerPriceType)
3113
+ :param str [paramName]: unified param value, like: `triggerPrice`, `stopLoss.triggerPrice`(check docs for supported param names)
3034
3114
  :param dict [defaultValue]: return default value if no result found
3035
3115
  :returns dict: returns feature value
3036
3116
  """
3037
3117
  market = self.market(symbol)
3038
- return self.feature_value_by_type(market['type'], market['subType'], methodName, paramName, subParamName, defaultValue)
3118
+ return self.feature_value_by_type(market['type'], market['subType'], methodName, paramName, defaultValue)
3039
3119
 
3040
- def feature_value_by_type(self, marketType: str, subType: Str, methodName: Str = None, paramName: Str = None, subParamName: Str = None, defaultValue: Any = None):
3120
+ def feature_value_by_type(self, marketType: str, subType: Str, methodName: Str = None, paramName: Str = None, defaultValue: Any = None):
3041
3121
  """
3042
3122
  self method is a very deterministic to help users to know what feature is supported by the exchange
3043
3123
  :param str [marketType]: supported only: "spot", "swap", "future"
3044
3124
  :param str [subType]: supported only: "linear", "inverse"
3045
3125
  :param str [methodName]: view currently supported methods: https://docs.ccxt.com/#/README?id=features
3046
3126
  :param str [paramName]: unified param value(check docs for supported param names)
3047
- :param str [subParamName]: unified sub-param value(eg. stopLoss->triggerPriceType)
3048
3127
  :param dict [defaultValue]: return default value if no result found
3049
3128
  :returns dict: returns feature value
3050
3129
  """
3051
3130
  # if exchange does not yet have features manually implemented
3052
3131
  if self.features is None:
3053
3132
  return defaultValue
3133
+ if marketType is None:
3134
+ return defaultValue # marketType is required
3054
3135
  # if marketType(e.g. 'option') does not exist in features
3055
3136
  if not (marketType in self.features):
3056
3137
  return defaultValue # unsupported marketType, check "exchange.features" for details
@@ -3070,7 +3151,7 @@ class Exchange(object):
3070
3151
  methodsContainer = self.features[marketType][subType]
3071
3152
  # if user wanted only marketType and didn't provide methodName, eg: featureIsSupported('spot')
3072
3153
  if methodName is None:
3073
- return methodsContainer
3154
+ return defaultValue if (defaultValue is not None) else methodsContainer
3074
3155
  if not (methodName in methodsContainer):
3075
3156
  return defaultValue # unsupported method, check "exchange.features" for details')
3076
3157
  methodDict = methodsContainer[methodName]
@@ -3078,21 +3159,24 @@ class Exchange(object):
3078
3159
  return defaultValue
3079
3160
  # if user wanted only method and didn't provide `paramName`, eg: featureIsSupported('swap', 'linear', 'createOrder')
3080
3161
  if paramName is None:
3081
- return methodDict
3082
- if not (paramName in methodDict):
3162
+ return defaultValue if (defaultValue is not None) else methodDict
3163
+ splited = paramName.split('.') # can be only parent key(`stopLoss`) or with child(`stopLoss.triggerPrice`)
3164
+ parentKey = splited[0]
3165
+ subKey = self.safe_string(splited, 1)
3166
+ if not (parentKey in methodDict):
3083
3167
  return defaultValue # unsupported paramName, check "exchange.features" for details')
3084
- dictionary = self.safe_dict(methodDict, paramName)
3168
+ dictionary = self.safe_dict(methodDict, parentKey)
3085
3169
  if dictionary is None:
3086
3170
  # if the value is not dictionary but a scalar value(or None), return
3087
- return methodDict[paramName]
3171
+ return methodDict[parentKey]
3088
3172
  else:
3089
- # return, when calling without `subParamName` eg: featureValueByType('spot', None, 'createOrder', 'stopLoss')
3090
- if subParamName is None:
3091
- return methodDict[paramName]
3092
- # raise an exception for unsupported subParamName
3093
- if not (subParamName in methodDict[paramName]):
3094
- return defaultValue # unsupported subParamName, check "exchange.features" for details
3095
- return methodDict[paramName][subParamName]
3173
+ # return, when calling without subKey eg: featureValueByType('spot', None, 'createOrder', 'stopLoss')
3174
+ if subKey is None:
3175
+ return methodDict[parentKey]
3176
+ # raise an exception for unsupported subKey
3177
+ if not (subKey in methodDict[parentKey]):
3178
+ return defaultValue # unsupported subKey, check "exchange.features" for details
3179
+ return methodDict[parentKey][subKey]
3096
3180
 
3097
3181
  def orderbook_checksum_message(self, symbol: Str):
3098
3182
  return symbol + ' = False'
@@ -5590,6 +5674,9 @@ class Exchange(object):
5590
5674
  def cancel_order_ws(self, id: str, symbol: Str = None, params={}):
5591
5675
  raise NotSupported(self.id + ' cancelOrderWs() is not supported yet')
5592
5676
 
5677
+ def cancel_orders(self, ids: List[str], symbol: Str = None, params={}):
5678
+ raise NotSupported(self.id + ' cancelOrders() is not supported yet')
5679
+
5593
5680
  def cancel_orders_ws(self, ids: List[str], symbol: Str = None, params={}):
5594
5681
  raise NotSupported(self.id + ' cancelOrdersWs() is not supported yet')
5595
5682
 
@@ -5605,7 +5692,7 @@ class Exchange(object):
5605
5692
  def cancel_all_orders_ws(self, symbol: Str = None, params={}):
5606
5693
  raise NotSupported(self.id + ' cancelAllOrdersWs() is not supported yet')
5607
5694
 
5608
- def cancel_unified_order(self, order, params={}):
5695
+ def cancel_unified_order(self, order: Order, params={}):
5609
5696
  return self.cancel_order(self.safe_string(order, 'id'), self.safe_string(order, 'symbol'), params)
5610
5697
 
5611
5698
  def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
@@ -7164,6 +7251,83 @@ class Exchange(object):
7164
7251
  """
7165
7252
  raise NotSupported(self.id + ' fetchTransfers() is not supported yet')
7166
7253
 
7254
+ def un_watch_ohlcv(self, symbol: str, timeframe: str = '1m', params={}):
7255
+ """
7256
+ watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
7257
+ :param str symbol: unified symbol of the market to fetch OHLCV data for
7258
+ :param str timeframe: the length of time each candle represents
7259
+ :param dict [params]: extra parameters specific to the exchange API endpoint
7260
+ :returns int[][]: A list of candles ordered, open, high, low, close, volume
7261
+ """
7262
+ raise NotSupported(self.id + ' unWatchOHLCV() is not supported yet')
7263
+
7264
+ def watch_mark_price(self, symbol: str, params={}):
7265
+ """
7266
+ watches a mark price for a specific market
7267
+ :param str symbol: unified symbol of the market to fetch the ticker for
7268
+ :param dict [params]: extra parameters specific to the exchange API endpoint
7269
+ :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
7270
+ """
7271
+ raise NotSupported(self.id + ' watchMarkPrice() is not supported yet')
7272
+
7273
+ def watch_mark_prices(self, symbols: Strings = None, params={}):
7274
+ """
7275
+ watches the mark price for all markets
7276
+ :param str[] symbols: unified symbol of the market to fetch the ticker for
7277
+ :param dict [params]: extra parameters specific to the exchange API endpoint
7278
+ :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
7279
+ """
7280
+ raise NotSupported(self.id + ' watchMarkPrices() is not supported yet')
7281
+
7282
+ def withdraw_ws(self, code: str, amount: float, address: str, tag: Str = None, params={}):
7283
+ """
7284
+ make a withdrawal
7285
+ :param str code: unified currency code
7286
+ :param float amount: the amount to withdraw
7287
+ :param str address: the address to withdraw to
7288
+ :param str tag:
7289
+ :param dict [params]: extra parameters specific to the bitvavo api endpoint
7290
+ :returns dict: a `transaction structure <https://docs.ccxt.com/#/?id=transaction-structure>`
7291
+ """
7292
+ raise NotSupported(self.id + ' withdrawWs() is not supported yet')
7293
+
7294
+ def un_watch_my_trades(self, symbol: Str = None, params={}):
7295
+ """
7296
+ unWatches information on multiple trades made by the user
7297
+ :param str symbol: unified market symbol of the market orders were made in
7298
+ :param dict [params]: extra parameters specific to the exchange API endpoint
7299
+ :returns dict[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
7300
+ """
7301
+ raise NotSupported(self.id + ' unWatchMyTrades() is not supported yet')
7302
+
7303
+ def create_orders_ws(self, orders: List[OrderRequest], params={}):
7304
+ """
7305
+ create a list of trade orders
7306
+ :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
7307
+ :param dict [params]: extra parameters specific to the exchange API endpoint
7308
+ :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
7309
+ """
7310
+ raise NotSupported(self.id + ' createOrdersWs() is not supported yet')
7311
+
7312
+ def fetch_orders_by_status_ws(self, status: str, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
7313
+ """
7314
+ watches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
7315
+ :param str symbol: unified symbol of the market to fetch the order book for
7316
+ :param int [limit]: the maximum amount of order book entries to return
7317
+ :param dict [params]: extra parameters specific to the exchange API endpoint
7318
+ :returns dict: A dictionary of `order book structures <https://docs.ccxt.com/#/?id=order-book-structure>` indexed by market symbols
7319
+ """
7320
+ raise NotSupported(self.id + ' fetchOrdersByStatusWs() is not supported yet')
7321
+
7322
+ def un_watch_bids_asks(self, symbols: Strings = None, params={}):
7323
+ """
7324
+ unWatches best bid & ask for symbols
7325
+ :param str[] symbols: unified symbol of the market to fetch the ticker for
7326
+ :param dict [params]: extra parameters specific to the exchange API endpoint
7327
+ :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
7328
+ """
7329
+ raise NotSupported(self.id + ' unWatchBidsAsks() is not supported yet')
7330
+
7167
7331
  def clean_unsubscription(self, client, subHash: str, unsubHash: str, subHashIsPrefix=False):
7168
7332
  if unsubHash in client.subscriptions:
7169
7333
  del client.subscriptions[unsubHash]
@@ -191,6 +191,8 @@ class Liquidation(TypedDict):
191
191
  baseValue: Num
192
192
  quoteValue: Num
193
193
  side: OrderSide
194
+ contracts: Num
195
+ contractSize: Num
194
196
 
195
197
 
196
198
  class FundingHistory(TypedDict):
@@ -1600,7 +1600,7 @@ class coinex(Exchange, ImplicitAPI):
1600
1600
  self.safe_number(ohlcv, 'value'),
1601
1601
  ]
1602
1602
 
1603
- def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
1603
+ def fetch_ohlcv(self, symbol: str, timeframe: str = '1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
1604
1604
  """
1605
1605
  fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
1606
1606
 
@@ -2616,7 +2616,7 @@ class coinex(Exchange, ImplicitAPI):
2616
2616
  results.append(order)
2617
2617
  return results
2618
2618
 
2619
- def cancel_orders(self, ids, symbol: Str = None, params={}):
2619
+ def cancel_orders(self, ids: List[str], symbol: Str = None, params={}):
2620
2620
  """
2621
2621
  cancel multiple orders
2622
2622
 
@@ -8,7 +8,7 @@ sys.modules['ccxt'] = ccxt_module
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
11
- __version__ = '4.5.8'
11
+ __version__ = '4.5.15'
12
12
 
13
13
  # ----------------------------------------------------------------------------
14
14