coinex-api 0.0.7__py3-none-any.whl → 0.0.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. {coinex_api-0.0.7.dist-info → coinex_api-0.0.8.dist-info}/METADATA +33 -14
  2. coinex_api-0.0.8.dist-info/RECORD +3 -0
  3. coinex_api/__init__.py +0 -7
  4. coinex_api/ccxt/__init__.py +0 -101
  5. coinex_api/ccxt/abstract/coinex.py +0 -237
  6. coinex_api/ccxt/async_support/__init__.py +0 -80
  7. coinex_api/ccxt/async_support/base/__init__.py +0 -1
  8. coinex_api/ccxt/async_support/base/exchange.py +0 -2100
  9. coinex_api/ccxt/async_support/base/throttler.py +0 -50
  10. coinex_api/ccxt/async_support/base/ws/__init__.py +0 -38
  11. coinex_api/ccxt/async_support/base/ws/aiohttp_client.py +0 -147
  12. coinex_api/ccxt/async_support/base/ws/cache.py +0 -213
  13. coinex_api/ccxt/async_support/base/ws/client.py +0 -214
  14. coinex_api/ccxt/async_support/base/ws/fast_client.py +0 -97
  15. coinex_api/ccxt/async_support/base/ws/functions.py +0 -59
  16. coinex_api/ccxt/async_support/base/ws/future.py +0 -69
  17. coinex_api/ccxt/async_support/base/ws/order_book.py +0 -78
  18. coinex_api/ccxt/async_support/base/ws/order_book_side.py +0 -174
  19. coinex_api/ccxt/async_support/coinex.py +0 -5833
  20. coinex_api/ccxt/base/__init__.py +0 -27
  21. coinex_api/ccxt/base/decimal_to_precision.py +0 -174
  22. coinex_api/ccxt/base/errors.py +0 -267
  23. coinex_api/ccxt/base/exchange.py +0 -6770
  24. coinex_api/ccxt/base/precise.py +0 -297
  25. coinex_api/ccxt/base/types.py +0 -577
  26. coinex_api/ccxt/coinex.py +0 -5832
  27. coinex_api/ccxt/pro/__init__.py +0 -21
  28. coinex_api/ccxt/pro/coinex.py +0 -1366
  29. coinex_api/ccxt/static_dependencies/README.md +0 -1
  30. coinex_api/ccxt/static_dependencies/__init__.py +0 -1
  31. coinex_api/ccxt/static_dependencies/ecdsa/__init__.py +0 -14
  32. coinex_api/ccxt/static_dependencies/ecdsa/_version.py +0 -520
  33. coinex_api/ccxt/static_dependencies/ecdsa/curves.py +0 -56
  34. coinex_api/ccxt/static_dependencies/ecdsa/der.py +0 -221
  35. coinex_api/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -310
  36. coinex_api/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -197
  37. coinex_api/ccxt/static_dependencies/ecdsa/keys.py +0 -332
  38. coinex_api/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -531
  39. coinex_api/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -100
  40. coinex_api/ccxt/static_dependencies/ecdsa/util.py +0 -266
  41. coinex_api/ccxt/static_dependencies/ethereum/__init__.py +0 -7
  42. coinex_api/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -16
  43. coinex_api/ccxt/static_dependencies/ethereum/abi/abi.py +0 -19
  44. coinex_api/ccxt/static_dependencies/ethereum/abi/base.py +0 -152
  45. coinex_api/ccxt/static_dependencies/ethereum/abi/codec.py +0 -217
  46. coinex_api/ccxt/static_dependencies/ethereum/abi/constants.py +0 -3
  47. coinex_api/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -565
  48. coinex_api/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -720
  49. coinex_api/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -139
  50. coinex_api/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -443
  51. coinex_api/ccxt/static_dependencies/ethereum/abi/packed.py +0 -13
  52. coinex_api/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  53. coinex_api/ccxt/static_dependencies/ethereum/abi/registry.py +0 -643
  54. coinex_api/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -3
  55. coinex_api/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -230
  56. coinex_api/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  57. coinex_api/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -83
  58. coinex_api/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -27
  59. coinex_api/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -19
  60. coinex_api/ccxt/static_dependencies/ethereum/account/__init__.py +0 -3
  61. coinex_api/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -4
  62. coinex_api/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -239
  63. coinex_api/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -40
  64. coinex_api/ccxt/static_dependencies/ethereum/account/messages.py +0 -263
  65. coinex_api/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  66. coinex_api/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -5
  67. coinex_api/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -54
  68. coinex_api/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -65
  69. coinex_api/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  70. coinex_api/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -63
  71. coinex_api/ccxt/static_dependencies/ethereum/typing/abi.py +0 -6
  72. coinex_api/ccxt/static_dependencies/ethereum/typing/bls.py +0 -7
  73. coinex_api/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -5
  74. coinex_api/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -7
  75. coinex_api/ccxt/static_dependencies/ethereum/typing/enums.py +0 -17
  76. coinex_api/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -9
  77. coinex_api/ccxt/static_dependencies/ethereum/typing/evm.py +0 -20
  78. coinex_api/ccxt/static_dependencies/ethereum/typing/networks.py +0 -1122
  79. coinex_api/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  80. coinex_api/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -115
  81. coinex_api/ccxt/static_dependencies/ethereum/utils/abi.py +0 -72
  82. coinex_api/ccxt/static_dependencies/ethereum/utils/address.py +0 -171
  83. coinex_api/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -151
  84. coinex_api/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -190
  85. coinex_api/ccxt/static_dependencies/ethereum/utils/currency.py +0 -107
  86. coinex_api/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -269
  87. coinex_api/ccxt/static_dependencies/ethereum/utils/debug.py +0 -20
  88. coinex_api/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -132
  89. coinex_api/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -6
  90. coinex_api/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -4
  91. coinex_api/ccxt/static_dependencies/ethereum/utils/functional.py +0 -75
  92. coinex_api/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -74
  93. coinex_api/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -188
  94. coinex_api/ccxt/static_dependencies/ethereum/utils/logging.py +0 -159
  95. coinex_api/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -31
  96. coinex_api/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -43
  97. coinex_api/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  98. coinex_api/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -76
  99. coinex_api/ccxt/static_dependencies/ethereum/utils/types.py +0 -54
  100. coinex_api/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -18
  101. coinex_api/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -14
  102. coinex_api/ccxt/static_dependencies/ethereum/utils/units.py +0 -31
  103. coinex_api/ccxt/static_dependencies/keccak/__init__.py +0 -3
  104. coinex_api/ccxt/static_dependencies/keccak/keccak.py +0 -197
  105. coinex_api/ccxt/static_dependencies/lark/__init__.py +0 -38
  106. coinex_api/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -6
  107. coinex_api/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -14
  108. coinex_api/ccxt/static_dependencies/lark/ast_utils.py +0 -59
  109. coinex_api/ccxt/static_dependencies/lark/common.py +0 -86
  110. coinex_api/ccxt/static_dependencies/lark/exceptions.py +0 -292
  111. coinex_api/ccxt/static_dependencies/lark/grammar.py +0 -130
  112. coinex_api/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  113. coinex_api/ccxt/static_dependencies/lark/grammars/common.lark +0 -59
  114. coinex_api/ccxt/static_dependencies/lark/grammars/lark.lark +0 -62
  115. coinex_api/ccxt/static_dependencies/lark/grammars/python.lark +0 -302
  116. coinex_api/ccxt/static_dependencies/lark/grammars/unicode.lark +0 -7
  117. coinex_api/ccxt/static_dependencies/lark/indenter.py +0 -143
  118. coinex_api/ccxt/static_dependencies/lark/lark.py +0 -658
  119. coinex_api/ccxt/static_dependencies/lark/lexer.py +0 -678
  120. coinex_api/ccxt/static_dependencies/lark/load_grammar.py +0 -1428
  121. coinex_api/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -391
  122. coinex_api/ccxt/static_dependencies/lark/parser_frontends.py +0 -257
  123. coinex_api/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  124. coinex_api/ccxt/static_dependencies/lark/parsers/cyk.py +0 -340
  125. coinex_api/ccxt/static_dependencies/lark/parsers/earley.py +0 -314
  126. coinex_api/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -42
  127. coinex_api/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -801
  128. coinex_api/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -203
  129. coinex_api/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -332
  130. coinex_api/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -158
  131. coinex_api/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -122
  132. coinex_api/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -110
  133. coinex_api/ccxt/static_dependencies/lark/parsers/xearley.py +0 -165
  134. coinex_api/ccxt/static_dependencies/lark/py.typed +0 -0
  135. coinex_api/ccxt/static_dependencies/lark/reconstruct.py +0 -107
  136. coinex_api/ccxt/static_dependencies/lark/tools/__init__.py +0 -70
  137. coinex_api/ccxt/static_dependencies/lark/tools/nearley.py +0 -202
  138. coinex_api/ccxt/static_dependencies/lark/tools/serialize.py +0 -32
  139. coinex_api/ccxt/static_dependencies/lark/tools/standalone.py +0 -196
  140. coinex_api/ccxt/static_dependencies/lark/tree.py +0 -267
  141. coinex_api/ccxt/static_dependencies/lark/tree_matcher.py +0 -186
  142. coinex_api/ccxt/static_dependencies/lark/tree_templates.py +0 -180
  143. coinex_api/ccxt/static_dependencies/lark/utils.py +0 -343
  144. coinex_api/ccxt/static_dependencies/lark/visitors.py +0 -596
  145. coinex_api/ccxt/static_dependencies/marshmallow/__init__.py +0 -81
  146. coinex_api/ccxt/static_dependencies/marshmallow/base.py +0 -65
  147. coinex_api/ccxt/static_dependencies/marshmallow/class_registry.py +0 -94
  148. coinex_api/ccxt/static_dependencies/marshmallow/decorators.py +0 -231
  149. coinex_api/ccxt/static_dependencies/marshmallow/error_store.py +0 -60
  150. coinex_api/ccxt/static_dependencies/marshmallow/exceptions.py +0 -71
  151. coinex_api/ccxt/static_dependencies/marshmallow/fields.py +0 -2114
  152. coinex_api/ccxt/static_dependencies/marshmallow/orderedset.py +0 -89
  153. coinex_api/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  154. coinex_api/ccxt/static_dependencies/marshmallow/schema.py +0 -1228
  155. coinex_api/ccxt/static_dependencies/marshmallow/types.py +0 -12
  156. coinex_api/ccxt/static_dependencies/marshmallow/utils.py +0 -378
  157. coinex_api/ccxt/static_dependencies/marshmallow/validate.py +0 -678
  158. coinex_api/ccxt/static_dependencies/marshmallow/warnings.py +0 -2
  159. coinex_api/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -1047
  160. coinex_api/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -51
  161. coinex_api/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -45
  162. coinex_api/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -71
  163. coinex_api/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  164. coinex_api/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -14
  165. coinex_api/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -82
  166. coinex_api/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -1
  167. coinex_api/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -193
  168. coinex_api/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  169. coinex_api/ccxt/static_dependencies/msgpack/__init__.py +0 -55
  170. coinex_api/ccxt/static_dependencies/msgpack/_cmsgpack.pyx +0 -11
  171. coinex_api/ccxt/static_dependencies/msgpack/_packer.pyx +0 -374
  172. coinex_api/ccxt/static_dependencies/msgpack/_unpacker.pyx +0 -547
  173. coinex_api/ccxt/static_dependencies/msgpack/buff_converter.h +0 -8
  174. coinex_api/ccxt/static_dependencies/msgpack/exceptions.py +0 -48
  175. coinex_api/ccxt/static_dependencies/msgpack/ext.py +0 -168
  176. coinex_api/ccxt/static_dependencies/msgpack/fallback.py +0 -951
  177. coinex_api/ccxt/static_dependencies/msgpack/pack.h +0 -89
  178. coinex_api/ccxt/static_dependencies/msgpack/pack_template.h +0 -820
  179. coinex_api/ccxt/static_dependencies/msgpack/sysdep.h +0 -194
  180. coinex_api/ccxt/static_dependencies/msgpack/unpack.h +0 -391
  181. coinex_api/ccxt/static_dependencies/msgpack/unpack_define.h +0 -95
  182. coinex_api/ccxt/static_dependencies/msgpack/unpack_template.h +0 -464
  183. coinex_api/ccxt/static_dependencies/parsimonious/__init__.py +0 -10
  184. coinex_api/ccxt/static_dependencies/parsimonious/exceptions.py +0 -105
  185. coinex_api/ccxt/static_dependencies/parsimonious/expressions.py +0 -479
  186. coinex_api/ccxt/static_dependencies/parsimonious/grammar.py +0 -487
  187. coinex_api/ccxt/static_dependencies/parsimonious/nodes.py +0 -325
  188. coinex_api/ccxt/static_dependencies/parsimonious/utils.py +0 -40
  189. coinex_api/ccxt/static_dependencies/starknet/__init__.py +0 -0
  190. coinex_api/ccxt/static_dependencies/starknet/abi/v0/__init__.py +0 -2
  191. coinex_api/ccxt/static_dependencies/starknet/abi/v0/model.py +0 -44
  192. coinex_api/ccxt/static_dependencies/starknet/abi/v0/parser.py +0 -216
  193. coinex_api/ccxt/static_dependencies/starknet/abi/v0/schemas.py +0 -72
  194. coinex_api/ccxt/static_dependencies/starknet/abi/v0/shape.py +0 -63
  195. coinex_api/ccxt/static_dependencies/starknet/abi/v1/__init__.py +0 -2
  196. coinex_api/ccxt/static_dependencies/starknet/abi/v1/core_structures.json +0 -14
  197. coinex_api/ccxt/static_dependencies/starknet/abi/v1/model.py +0 -39
  198. coinex_api/ccxt/static_dependencies/starknet/abi/v1/parser.py +0 -220
  199. coinex_api/ccxt/static_dependencies/starknet/abi/v1/parser_transformer.py +0 -179
  200. coinex_api/ccxt/static_dependencies/starknet/abi/v1/schemas.py +0 -66
  201. coinex_api/ccxt/static_dependencies/starknet/abi/v1/shape.py +0 -47
  202. coinex_api/ccxt/static_dependencies/starknet/abi/v2/__init__.py +0 -2
  203. coinex_api/ccxt/static_dependencies/starknet/abi/v2/model.py +0 -89
  204. coinex_api/ccxt/static_dependencies/starknet/abi/v2/parser.py +0 -293
  205. coinex_api/ccxt/static_dependencies/starknet/abi/v2/parser_transformer.py +0 -192
  206. coinex_api/ccxt/static_dependencies/starknet/abi/v2/schemas.py +0 -132
  207. coinex_api/ccxt/static_dependencies/starknet/abi/v2/shape.py +0 -107
  208. coinex_api/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  209. coinex_api/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -123
  210. coinex_api/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  211. coinex_api/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -77
  212. coinex_api/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -46
  213. coinex_api/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -138
  214. coinex_api/ccxt/static_dependencies/starknet/cairo/felt.py +0 -64
  215. coinex_api/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -121
  216. coinex_api/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  217. coinex_api/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -59
  218. coinex_api/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  219. coinex_api/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -77
  220. coinex_api/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -7
  221. coinex_api/ccxt/static_dependencies/starknet/common.py +0 -15
  222. coinex_api/ccxt/static_dependencies/starknet/constants.py +0 -39
  223. coinex_api/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  224. coinex_api/ccxt/static_dependencies/starknet/hash/address.py +0 -79
  225. coinex_api/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -111
  226. coinex_api/ccxt/static_dependencies/starknet/hash/selector.py +0 -16
  227. coinex_api/ccxt/static_dependencies/starknet/hash/storage.py +0 -12
  228. coinex_api/ccxt/static_dependencies/starknet/hash/utils.py +0 -78
  229. coinex_api/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  230. coinex_api/ccxt/static_dependencies/starknet/models/typed_data.py +0 -45
  231. coinex_api/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -24
  232. coinex_api/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -40
  233. coinex_api/ccxt/static_dependencies/starknet/serialization/_context.py +0 -142
  234. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -10
  235. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -82
  236. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -43
  237. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -37
  238. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -66
  239. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -71
  240. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -71
  241. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -50
  242. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -58
  243. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -43
  244. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -40
  245. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -72
  246. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -36
  247. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -36
  248. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -76
  249. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -100
  250. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -32
  251. coinex_api/ccxt/static_dependencies/starknet/serialization/errors.py +0 -10
  252. coinex_api/ccxt/static_dependencies/starknet/serialization/factory.py +0 -229
  253. coinex_api/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -110
  254. coinex_api/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -59
  255. coinex_api/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  256. coinex_api/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -86
  257. coinex_api/ccxt/static_dependencies/starknet/utils/iterable.py +0 -13
  258. coinex_api/ccxt/static_dependencies/starknet/utils/schema.py +0 -13
  259. coinex_api/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -182
  260. coinex_api/ccxt/static_dependencies/starkware/__init__.py +0 -0
  261. coinex_api/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  262. coinex_api/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -50
  263. coinex_api/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -78
  264. coinex_api/ccxt/static_dependencies/starkware/crypto/signature.py +0 -2344
  265. coinex_api/ccxt/static_dependencies/starkware/crypto/utils.py +0 -63
  266. coinex_api/ccxt/static_dependencies/sympy/__init__.py +0 -0
  267. coinex_api/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  268. coinex_api/ccxt/static_dependencies/sympy/core/intfunc.py +0 -35
  269. coinex_api/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  270. coinex_api/ccxt/static_dependencies/sympy/external/gmpy.py +0 -345
  271. coinex_api/ccxt/static_dependencies/sympy/external/importtools.py +0 -187
  272. coinex_api/ccxt/static_dependencies/sympy/external/ntheory.py +0 -637
  273. coinex_api/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -341
  274. coinex_api/ccxt/static_dependencies/toolz/__init__.py +0 -26
  275. coinex_api/ccxt/static_dependencies/toolz/_signatures.py +0 -784
  276. coinex_api/ccxt/static_dependencies/toolz/_version.py +0 -520
  277. coinex_api/ccxt/static_dependencies/toolz/compatibility.py +0 -30
  278. coinex_api/ccxt/static_dependencies/toolz/curried/__init__.py +0 -101
  279. coinex_api/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -22
  280. coinex_api/ccxt/static_dependencies/toolz/curried/operator.py +0 -22
  281. coinex_api/ccxt/static_dependencies/toolz/dicttoolz.py +0 -339
  282. coinex_api/ccxt/static_dependencies/toolz/functoolz.py +0 -1049
  283. coinex_api/ccxt/static_dependencies/toolz/itertoolz.py +0 -1057
  284. coinex_api/ccxt/static_dependencies/toolz/recipes.py +0 -46
  285. coinex_api/ccxt/static_dependencies/toolz/utils.py +0 -9
  286. coinex_api/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  287. coinex_api/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -851
  288. coinex_api-0.0.7.dist-info/RECORD +0 -288
  289. {coinex_api-0.0.7.dist-info → coinex_api-0.0.8.dist-info}/WHEEL +0 -0
@@ -1,24 +0,0 @@
1
- # PayloadSerializer and FunctionSerializationAdapter would mostly be used by users
2
- from .data_serializers import (
3
- ArraySerializer,
4
- CairoDataSerializer,
5
- FeltSerializer,
6
- NamedTupleSerializer,
7
- PayloadSerializer,
8
- StructSerializer,
9
- TupleSerializer,
10
- Uint256Serializer,
11
- )
12
- from .errors import (
13
- CairoSerializerException,
14
- InvalidTypeException,
15
- InvalidValueException,
16
- )
17
- from .factory import (
18
- serializer_for_event,
19
- serializer_for_function,
20
- serializer_for_payload,
21
- serializer_for_type,
22
- )
23
- from .function_serialization_adapter import FunctionSerializationAdapter
24
- from .tuple_dataclass import TupleDataclass
@@ -1,40 +0,0 @@
1
- from typing import List
2
-
3
- from ..cairo.felt import CairoData
4
-
5
-
6
- class OutOfBoundsError(Exception):
7
- def __init__(self, position: int, requested_size: int, remaining_size: int):
8
- super().__init__(
9
- f"Requested {requested_size} elements, {remaining_size} available."
10
- )
11
- self.position = position
12
- self.requested_size = requested_size
13
- self.remaining_len = remaining_size
14
-
15
-
16
- class CalldataReader:
17
- _data: List[int]
18
- _position: int
19
-
20
- def __init__(self, data: List[int]):
21
- self._data = data
22
- self._position = 0
23
-
24
- @property
25
- def remaining_len(self) -> int:
26
- return len(self._data) - self._position
27
-
28
- def read(self, size: int) -> CairoData:
29
- if size < 1:
30
- raise ValueError("size must be greater than 0")
31
-
32
- if size > self.remaining_len:
33
- raise OutOfBoundsError(
34
- position=self._position,
35
- requested_size=size,
36
- remaining_size=self.remaining_len,
37
- )
38
- data = self._data[self._position : self._position + size]
39
- self._position += size
40
- return data
@@ -1,142 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from abc import ABC
4
- from contextlib import contextmanager
5
- from typing import Any, Generator, Iterator, List
6
-
7
- from ._calldata_reader import (
8
- CairoData,
9
- CalldataReader,
10
- OutOfBoundsError,
11
- )
12
- from .errors import InvalidTypeException, InvalidValueException
13
-
14
-
15
- class Context(ABC):
16
- """
17
- Holds information about context when (de)serializing data. This is needed to inform what and where went
18
- wrong during processing. Every separate (de)serialization should have its own context.
19
- """
20
-
21
- _namespace_stack: List[str]
22
-
23
- def __init__(self):
24
- self._namespace_stack = []
25
-
26
- @property
27
- def current_entity(self):
28
- """
29
- Name of currently processed entity.
30
-
31
- :return: transformed path.
32
- """
33
- return ".".join(self._namespace_stack)
34
-
35
- @contextmanager
36
- def push_entity(self, name: str) -> Generator:
37
- """
38
- Manager used for maintaining information about names of (de)serialized types. Wraps some errors with
39
- custom errors, adding information about the context.
40
-
41
- :param name: name of (de)serialized entity.
42
- """
43
- # This ensures the name will be popped if everything is ok. In case an exception is raised we want the stack to
44
- # be filled to wrap the error at the end.
45
- self._namespace_stack.append(name)
46
- yield
47
- self._namespace_stack.pop()
48
-
49
- def ensure_valid_value(self, valid: bool, text: str):
50
- if not valid:
51
- raise InvalidValueException(f"{self._error_prefix}: {text}.")
52
-
53
- def ensure_valid_type(self, value: Any, valid: bool, expected_type: str):
54
- if not valid:
55
- raise InvalidTypeException(
56
- f"{self._error_prefix}: expected {expected_type}, "
57
- f"received '{value}' of type '{type(value)}'."
58
- )
59
-
60
- @contextmanager
61
- def _wrap_errors(self):
62
- try:
63
- yield
64
- except OutOfBoundsError as err:
65
- action_name = (
66
- f"deserialize '{self.current_entity}'"
67
- if self._namespace_stack
68
- else "deserialize"
69
- )
70
- # This way we can precisely inform user what's wrong when reading calldata.
71
- raise InvalidValueException(
72
- f"Not enough data to {action_name}. "
73
- f"Can't read {err.requested_size} values at position {err.position}, {err.remaining_len} available."
74
- ) from err
75
-
76
- # Those two are based on ValueError and TypeError, we have to catch them early
77
- except (InvalidValueException, InvalidTypeException) as err:
78
- raise err
79
-
80
- except ValueError as err:
81
- raise InvalidValueException(f"{self._error_prefix}: {err}") from err
82
- except TypeError as err:
83
- raise InvalidTypeException(f"{self._error_prefix}: {err}") from err
84
-
85
- @property
86
- def _error_prefix(self):
87
- if not self._namespace_stack:
88
- return "Error"
89
- return f"Error at path '{self.current_entity}'"
90
-
91
-
92
- class SerializationContext(Context):
93
- """
94
- Context used during serialization.
95
- """
96
-
97
- # Type is iterator, because ContextManager doesn't work with pyright :|
98
- # https://github.com/microsoft/pyright/issues/476
99
- @classmethod
100
- @contextmanager
101
- def create(cls) -> Iterator[SerializationContext]:
102
- context = cls()
103
- with context._wrap_errors():
104
- yield context
105
-
106
-
107
- class DeserializationContext(Context):
108
- """
109
- Context used during deserialization.
110
- """
111
-
112
- reader: CalldataReader
113
-
114
- def __init__(self, calldata: CairoData):
115
- """
116
- Don't use default constructor. Use DeserializationContext.create context manager.
117
- """
118
- super().__init__()
119
- self._namespace_stack = []
120
- self.reader = CalldataReader(calldata)
121
-
122
- @classmethod
123
- @contextmanager
124
- def create(cls, data: CairoData) -> Iterator[DeserializationContext]:
125
- context = cls(data)
126
- with context._wrap_errors():
127
- yield context
128
- context._ensure_all_values_read(len(data))
129
-
130
- def _ensure_all_values_read(self, total_len: int):
131
- values_not_used = self.reader.remaining_len
132
- if values_not_used != 0:
133
- # We want to output up to 3 values. It there is more they will be truncated like "0x1,0x1,0x1..."
134
- max_values_to_show = 3
135
- values_to_show = min(values_not_used, max_values_to_show)
136
- example = ",".join(hex(v) for v in self.reader.read(values_to_show))
137
- suffix = "..." if values_not_used > max_values_to_show else ""
138
-
139
- raise InvalidValueException(
140
- f"Last {values_not_used} values '{example}{suffix}' out of total {total_len} "
141
- "values were not used during deserialization."
142
- )
@@ -1,10 +0,0 @@
1
- from .array_serializer import ArraySerializer
2
- from .bool_serializer import BoolSerializer
3
- from .byte_array_serializer import ByteArraySerializer
4
- from .cairo_data_serializer import CairoDataSerializer
5
- from .felt_serializer import FeltSerializer
6
- from .named_tuple_serializer import NamedTupleSerializer
7
- from .payload_serializer import PayloadSerializer
8
- from .struct_serializer import StructSerializer
9
- from .tuple_serializer import TupleSerializer
10
- from .uint256_serializer import Uint256Serializer
@@ -1,82 +0,0 @@
1
- # We have to use parametrised type from typing
2
- from collections import OrderedDict as _OrderedDict
3
- from typing import Dict, Generator, List, OrderedDict
4
-
5
- from .._context import (
6
- DeserializationContext,
7
- SerializationContext,
8
- )
9
- from .cairo_data_serializer import (
10
- CairoDataSerializer,
11
- )
12
-
13
- # The actual serialization logic is very similar among all serializers: they either serialize data based on
14
- # position or their name. Having this logic reused adds indirection, but makes sure proper logic is used everywhere.
15
-
16
-
17
- def deserialize_to_list(
18
- deserializers: List[CairoDataSerializer], context: DeserializationContext
19
- ) -> List:
20
- """
21
- Deserializes data from context to list. This logic is used in every sequential type (arrays and tuples).
22
- """
23
- result = []
24
-
25
- for index, serializer in enumerate(deserializers):
26
- with context.push_entity(f"[{index}]"):
27
- result.append(serializer.deserialize_with_context(context))
28
-
29
- return result
30
-
31
-
32
- def deserialize_to_dict(
33
- deserializers: OrderedDict[str, CairoDataSerializer],
34
- context: DeserializationContext,
35
- ) -> OrderedDict:
36
- """
37
- Deserializes data from context to dictionary. This logic is used in every type with named fields (structs,
38
- named tuples and payloads).
39
- """
40
- result = _OrderedDict()
41
-
42
- for key, serializer in deserializers.items():
43
- with context.push_entity(key):
44
- result[key] = serializer.deserialize_with_context(context)
45
-
46
- return result
47
-
48
-
49
- def serialize_from_list(
50
- serializers: List[CairoDataSerializer], context: SerializationContext, values: List
51
- ) -> Generator[int, None, None]:
52
- """
53
- Serializes data from list. This logic is used in every sequential type (arrays and tuples).
54
- """
55
- context.ensure_valid_value(
56
- len(serializers) == len(values),
57
- f"expected {len(serializers)} elements, {len(values)} provided",
58
- )
59
-
60
- for index, (serializer, value) in enumerate(zip(serializers, values)):
61
- with context.push_entity(f"[{index}]"):
62
- yield from serializer.serialize_with_context(context, value)
63
-
64
-
65
- def serialize_from_dict(
66
- serializers: OrderedDict[str, CairoDataSerializer],
67
- context: SerializationContext,
68
- values: Dict,
69
- ) -> Generator[int, None, None]:
70
- """
71
- Serializes data from dict. This logic is used in every type with named fields (structs, named tuples and payloads).
72
- """
73
- excessive_keys = set(values.keys()).difference(serializers.keys())
74
- context.ensure_valid_value(
75
- not excessive_keys,
76
- f"unexpected keys '{','.join(excessive_keys)}' were provided",
77
- )
78
-
79
- for name, serializer in serializers.items():
80
- with context.push_entity(name):
81
- context.ensure_valid_value(name in values, f"key '{name}' is missing")
82
- yield from serializer.serialize_with_context(context, values[name])
@@ -1,43 +0,0 @@
1
- from dataclasses import dataclass
2
- from typing import Generator, Iterable, List
3
-
4
- from .._context import (
5
- DeserializationContext,
6
- SerializationContext,
7
- )
8
- from ..data_serializers._common import (
9
- deserialize_to_list,
10
- serialize_from_list,
11
- )
12
- from ..data_serializers.cairo_data_serializer import (
13
- CairoDataSerializer,
14
- )
15
-
16
-
17
- @dataclass
18
- class ArraySerializer(CairoDataSerializer[Iterable, List]):
19
- """
20
- Serializer for arrays. In abi they are represented as a pointer to a type.
21
- Can serialize any iterable and prepends its length to resulting list.
22
- Deserializes data to a list.
23
-
24
- Examples:
25
- [1,2,3] => [3,1,2,3]
26
- [] => [0]
27
- """
28
-
29
- inner_serializer: CairoDataSerializer
30
-
31
- def deserialize_with_context(self, context: DeserializationContext) -> List:
32
- with context.push_entity("len"):
33
- [size] = context.reader.read(1)
34
-
35
- return deserialize_to_list([self.inner_serializer] * size, context)
36
-
37
- def serialize_with_context(
38
- self, context: SerializationContext, value: List
39
- ) -> Generator[int, None, None]:
40
- yield len(value)
41
- yield from serialize_from_list(
42
- [self.inner_serializer] * len(value), context, value
43
- )
@@ -1,37 +0,0 @@
1
- from dataclasses import dataclass
2
- from typing import Generator
3
-
4
- from .._context import (
5
- Context,
6
- DeserializationContext,
7
- SerializationContext,
8
- )
9
- from .cairo_data_serializer import (
10
- CairoDataSerializer,
11
- )
12
-
13
-
14
- @dataclass
15
- class BoolSerializer(CairoDataSerializer[bool, int]):
16
- """
17
- Serializer for boolean.
18
- """
19
-
20
- def deserialize_with_context(self, context: DeserializationContext) -> bool:
21
- [val] = context.reader.read(1)
22
- self._ensure_bool(context, val)
23
- return bool(val)
24
-
25
- def serialize_with_context(
26
- self, context: SerializationContext, value: bool
27
- ) -> Generator[int, None, None]:
28
- context.ensure_valid_type(value, isinstance(value, bool), "bool")
29
- self._ensure_bool(context, value)
30
- yield int(value)
31
-
32
- @staticmethod
33
- def _ensure_bool(context: Context, value: int):
34
- context.ensure_valid_value(
35
- value in [0, 1],
36
- f"invalid value '{value}' - must be in [0, 2) range",
37
- )
@@ -1,66 +0,0 @@
1
- from dataclasses import dataclass
2
- from typing import Generator
3
-
4
- from ...cairo.felt import decode_shortstring, encode_shortstring
5
- from .._context import (
6
- DeserializationContext,
7
- SerializationContext,
8
- )
9
- from ._common import (
10
- deserialize_to_list,
11
- serialize_from_list,
12
- )
13
- from .cairo_data_serializer import (
14
- CairoDataSerializer,
15
- )
16
- from .felt_serializer import FeltSerializer
17
-
18
- BYTES_31_SIZE = 31
19
-
20
-
21
- @dataclass
22
- class ByteArraySerializer(CairoDataSerializer[str, str]):
23
- """
24
- Serializer for ByteArrays. Serializes to and deserializes from str values.
25
-
26
- Examples:
27
- "" => [0,0,0]
28
- "hello" => [0,448378203247,5]
29
- """
30
-
31
- def deserialize_with_context(self, context: DeserializationContext) -> str:
32
- with context.push_entity("data_array_len"):
33
- [size] = context.reader.read(1)
34
-
35
- data = deserialize_to_list([FeltSerializer()] * size, context)
36
-
37
- with context.push_entity("pending_word"):
38
- [pending_word] = context.reader.read(1)
39
-
40
- with context.push_entity("pending_word_len"):
41
- [pending_word_len] = context.reader.read(1)
42
-
43
- pending_word = decode_shortstring(pending_word)
44
- context.ensure_valid_value(
45
- len(pending_word) == pending_word_len,
46
- f"Invalid length {pending_word_len} for pending word {pending_word}",
47
- )
48
-
49
- data_joined = "".join(map(decode_shortstring, data))
50
- return data_joined + pending_word
51
-
52
- def serialize_with_context(
53
- self, context: SerializationContext, value: str
54
- ) -> Generator[int, None, None]:
55
- context.ensure_valid_type(value, isinstance(value, str), "str")
56
- data = [
57
- value[i : i + BYTES_31_SIZE] for i in range(0, len(value), BYTES_31_SIZE)
58
- ]
59
- pending_word = (
60
- "" if len(data) == 0 or len(data[-1]) == BYTES_31_SIZE else data.pop(-1)
61
- )
62
-
63
- yield len(data)
64
- yield from serialize_from_list([FeltSerializer()] * len(data), context, data)
65
- yield encode_shortstring(pending_word)
66
- yield len(pending_word)
@@ -1,71 +0,0 @@
1
- from abc import ABC, abstractmethod
2
- from typing import Generator, Generic, List, TypeVar
3
-
4
- from .._calldata_reader import CairoData
5
- from .._context import (
6
- DeserializationContext,
7
- SerializationContext,
8
- )
9
-
10
- # Python type that is accepted by a serializer
11
- # pylint: disable=invalid-name
12
- SerializationType = TypeVar("SerializationType")
13
-
14
- # Python type that will be returned from a serializer. Often same as SerializationType.
15
- # pylint: disable=invalid-name
16
- DeserializationType = TypeVar("DeserializationType")
17
-
18
-
19
- class CairoDataSerializer(ABC, Generic[SerializationType, DeserializationType]):
20
- """
21
- Base class for serializing/deserializing data to/from calldata.
22
- """
23
-
24
- def deserialize(self, data: List[int]) -> DeserializationType:
25
- """
26
- Transform calldata into python value.
27
-
28
- :param data: calldata to deserialize.
29
- :return: defined DeserializationType.
30
- """
31
- with DeserializationContext.create(data) as context:
32
- return self.deserialize_with_context(context)
33
-
34
- def serialize(self, data: SerializationType) -> CairoData:
35
- """
36
- Transform python data into calldata.
37
-
38
- :param data: data to serialize.
39
- :return: calldata.
40
- """
41
- with SerializationContext.create() as context:
42
- serialized_data = list(self.serialize_with_context(context, data))
43
-
44
- return self.remove_units_from_serialized_data(serialized_data)
45
-
46
- @abstractmethod
47
- def deserialize_with_context(
48
- self, context: DeserializationContext
49
- ) -> DeserializationType:
50
- """
51
- Transform calldata into python value.
52
-
53
- :param context: context of this deserialization.
54
- :return: defined DeserializationType.
55
- """
56
-
57
- @abstractmethod
58
- def serialize_with_context(
59
- self, context: SerializationContext, value: SerializationType
60
- ) -> Generator[int, None, None]:
61
- """
62
- Transform python value into calldata.
63
-
64
- :param context: context of this serialization.
65
- :param value: python value to serialize.
66
- :return: defined SerializationType.
67
- """
68
-
69
- @staticmethod
70
- def remove_units_from_serialized_data(serialized_data: List) -> List:
71
- return [x for x in serialized_data if x is not None]
@@ -1,71 +0,0 @@
1
- from dataclasses import dataclass
2
- from typing import Dict, Generator, OrderedDict, Tuple, Union
3
-
4
- from .._context import (
5
- DeserializationContext,
6
- SerializationContext,
7
- )
8
- from .cairo_data_serializer import (
9
- CairoDataSerializer,
10
- )
11
- from ..tuple_dataclass import TupleDataclass
12
-
13
-
14
- @dataclass
15
- class EnumSerializer(CairoDataSerializer[Union[Dict, TupleDataclass], TupleDataclass]):
16
- """
17
- Serializer of enums.
18
- Can serialize a dictionary and TupleDataclass.
19
- Deserializes data to a TupleDataclass.
20
-
21
- Example:
22
- enum MyEnum {
23
- a: u128,
24
- b: u128
25
- }
26
-
27
- {"a": 1} => [0, 1]
28
- {"b": 100} => [1, 100]
29
- TupleDataclass(variant='a', value=100) => [0, 100]
30
- """
31
-
32
- serializers: OrderedDict[str, CairoDataSerializer]
33
-
34
- def deserialize_with_context(
35
- self, context: DeserializationContext
36
- ) -> TupleDataclass:
37
- [variant_index] = context.reader.read(1)
38
- variant_name, serializer = self._get_variant(variant_index)
39
-
40
- with context.push_entity("enum.variant: " + variant_name):
41
- result_dict = {
42
- "variant": variant_name,
43
- "value": serializer.deserialize_with_context(context),
44
- }
45
-
46
- return TupleDataclass.from_dict(result_dict)
47
-
48
- def serialize_with_context(
49
- self, context: SerializationContext, value: Union[Dict, TupleDataclass]
50
- ) -> Generator[int, None, None]:
51
- if isinstance(value, Dict):
52
- items = list(value.items())
53
- if len(items) != 1:
54
- raise ValueError(
55
- "Can serialize only one enum variant, got: " + str(len(items))
56
- )
57
-
58
- variant_name, variant_value = items[0]
59
- else:
60
- variant_name, variant_value = value
61
-
62
- yield self._get_variant_index(variant_name)
63
- yield from self.serializers[variant_name].serialize_with_context(
64
- context, variant_value
65
- )
66
-
67
- def _get_variant(self, variant_index: int) -> Tuple[str, CairoDataSerializer]:
68
- return list(self.serializers.items())[variant_index]
69
-
70
- def _get_variant_index(self, variant_name: str) -> int:
71
- return list(self.serializers.keys()).index(variant_name)
@@ -1,50 +0,0 @@
1
- import warnings
2
- from dataclasses import dataclass
3
- from typing import Generator
4
-
5
- from ...cairo.felt import encode_shortstring, is_in_felt_range
6
- from ...constants import FIELD_PRIME
7
- from .._context import (
8
- Context,
9
- DeserializationContext,
10
- SerializationContext,
11
- )
12
- from .cairo_data_serializer import (
13
- CairoDataSerializer,
14
- )
15
-
16
-
17
- @dataclass
18
- class FeltSerializer(CairoDataSerializer[int, int]):
19
- """
20
- Serializer for field element. At the time of writing it is the only existing numeric type.
21
- """
22
-
23
- def deserialize_with_context(self, context: DeserializationContext) -> int:
24
- [val] = context.reader.read(1)
25
- self._ensure_felt(context, val)
26
- return val
27
-
28
- def serialize_with_context(
29
- self, context: SerializationContext, value: int
30
- ) -> Generator[int, None, None]:
31
- if isinstance(value, str):
32
- warnings.warn(
33
- "Serializing shortstrings in FeltSerializer is deprecated. "
34
- "Use starknet_py.cairo.felt.encode_shortstring instead.",
35
- category=DeprecationWarning,
36
- )
37
- value = encode_shortstring(value)
38
- yield value
39
- return
40
-
41
- context.ensure_valid_type(value, isinstance(value, int), "int")
42
- self._ensure_felt(context, value)
43
- yield value
44
-
45
- @staticmethod
46
- def _ensure_felt(context: Context, value: int):
47
- context.ensure_valid_value(
48
- is_in_felt_range(value),
49
- f"invalid value '{value}' - must be in [0, {FIELD_PRIME}) range",
50
- )