crypticorn 2.4.2__py3-none-any.whl → 2.4.4__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 (241) hide show
  1. crypticorn/auth/client/__init__.py +5 -5
  2. crypticorn/auth/client/api/admin_api.py +6 -6
  3. crypticorn/auth/client/api/auth_api.py +5 -5
  4. crypticorn/auth/client/api/service_api.py +5 -5
  5. crypticorn/auth/client/api/user_api.py +8 -8
  6. crypticorn/auth/client/api/wallet_api.py +5 -5
  7. crypticorn/auth/client/api_client.py +5 -5
  8. crypticorn/auth/client/configuration.py +13 -6
  9. crypticorn/auth/client/exceptions.py +5 -5
  10. crypticorn/auth/client/models/__init__.py +5 -5
  11. crypticorn/auth/client/models/add_wallet200_response.py +5 -5
  12. crypticorn/auth/client/models/add_wallet_request.py +5 -5
  13. crypticorn/auth/client/models/authorize_user200_response.py +5 -5
  14. crypticorn/auth/client/models/authorize_user200_response_auth.py +5 -5
  15. crypticorn/auth/client/models/authorize_user_request.py +5 -5
  16. crypticorn/auth/client/models/create_api_key200_response.py +5 -5
  17. crypticorn/auth/client/models/create_api_key_request.py +5 -5
  18. crypticorn/auth/client/models/create_user_request.py +5 -5
  19. crypticorn/auth/client/models/get_api_keys200_response_inner.py +5 -5
  20. crypticorn/auth/client/models/list_wallets200_response.py +5 -5
  21. crypticorn/auth/client/models/list_wallets200_response_balances_inner.py +5 -5
  22. crypticorn/auth/client/models/list_wallets200_response_balances_inner_sale_round.py +5 -5
  23. crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet.py +5 -5
  24. crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet_vesting_wallets_inner.py +5 -5
  25. crypticorn/auth/client/models/list_wallets200_response_data_inner.py +5 -5
  26. crypticorn/auth/client/models/list_wallets200_response_user_value.py +5 -5
  27. crypticorn/auth/client/models/logout_default_response.py +5 -5
  28. crypticorn/auth/client/models/logout_default_response_issues_inner.py +5 -5
  29. crypticorn/auth/client/models/oauth_callback200_response.py +5 -5
  30. crypticorn/auth/client/models/oauth_callback200_response_user.py +5 -5
  31. crypticorn/auth/client/models/refresh_token_info200_response.py +5 -5
  32. crypticorn/auth/client/models/refresh_token_info200_response_user_session.py +5 -5
  33. crypticorn/auth/client/models/resend_verification_email_request.py +5 -5
  34. crypticorn/auth/client/models/revoke_user_tokens_request.py +5 -5
  35. crypticorn/auth/client/models/rotate_tokens200_response.py +5 -5
  36. crypticorn/auth/client/models/token_info200_response.py +5 -5
  37. crypticorn/auth/client/models/unlink_wallet_request.py +5 -5
  38. crypticorn/auth/client/models/update_user_request.py +8 -6
  39. crypticorn/auth/client/models/user_reset_password_request.py +5 -5
  40. crypticorn/auth/client/models/user_set_password_request.py +5 -5
  41. crypticorn/auth/client/models/verify200_response.py +5 -5
  42. crypticorn/auth/client/models/verify_email200_response.py +5 -5
  43. crypticorn/auth/client/models/verify_email200_response_auth.py +5 -5
  44. crypticorn/auth/client/models/verify_email200_response_auth_auth.py +5 -5
  45. crypticorn/auth/client/models/verify_email_request.py +5 -5
  46. crypticorn/auth/client/models/verify_wallet_request.py +5 -5
  47. crypticorn/auth/client/models/wallet_verified200_response.py +5 -5
  48. crypticorn/auth/client/models/whoami200_response.py +5 -5
  49. crypticorn/auth/client/rest.py +9 -6
  50. crypticorn/client.py +28 -11
  51. crypticorn/common/__init__.py +1 -0
  52. crypticorn/common/auth.py +1 -1
  53. crypticorn/common/errors.py +2 -9
  54. crypticorn/common/utils.py +4 -2
  55. crypticorn/hive/client/__init__.py +5 -5
  56. crypticorn/hive/client/api/data_api.py +5 -5
  57. crypticorn/hive/client/api/models_api.py +5 -5
  58. crypticorn/hive/client/api/status_api.py +5 -5
  59. crypticorn/hive/client/api_client.py +5 -5
  60. crypticorn/hive/client/configuration.py +5 -5
  61. crypticorn/hive/client/exceptions.py +5 -5
  62. crypticorn/hive/client/models/__init__.py +5 -5
  63. crypticorn/hive/client/models/coins.py +5 -5
  64. crypticorn/hive/client/models/data_download_response.py +5 -5
  65. crypticorn/hive/client/models/data_info.py +5 -5
  66. crypticorn/hive/client/models/data_value_value_value_inner.py +5 -5
  67. crypticorn/hive/client/models/data_version.py +5 -5
  68. crypticorn/hive/client/models/download_links.py +5 -5
  69. crypticorn/hive/client/models/evaluation.py +5 -5
  70. crypticorn/hive/client/models/evaluation_response.py +5 -5
  71. crypticorn/hive/client/models/feature_size.py +5 -5
  72. crypticorn/hive/client/models/http_validation_error.py +5 -5
  73. crypticorn/hive/client/models/model.py +5 -5
  74. crypticorn/hive/client/models/model_create.py +5 -5
  75. crypticorn/hive/client/models/model_status.py +5 -5
  76. crypticorn/hive/client/models/model_update.py +5 -5
  77. crypticorn/hive/client/models/target.py +5 -5
  78. crypticorn/hive/client/models/target_type.py +5 -5
  79. crypticorn/hive/client/models/validation_error.py +5 -5
  80. crypticorn/hive/client/models/validation_error_loc_inner.py +5 -5
  81. crypticorn/hive/client/rest.py +5 -5
  82. crypticorn/klines/client/__init__.py +5 -5
  83. crypticorn/klines/client/api/funding_rates_api.py +5 -5
  84. crypticorn/klines/client/api/health_check_api.py +5 -5
  85. crypticorn/klines/client/api/ohlcv_data_api.py +5 -5
  86. crypticorn/klines/client/api/symbols_api.py +5 -5
  87. crypticorn/klines/client/api/udf_api.py +5 -5
  88. crypticorn/klines/client/api_client.py +5 -5
  89. crypticorn/klines/client/configuration.py +5 -5
  90. crypticorn/klines/client/exceptions.py +5 -5
  91. crypticorn/klines/client/models/__init__.py +5 -5
  92. crypticorn/klines/client/models/base_response_health_check_response.py +5 -5
  93. crypticorn/klines/client/models/base_response_list_funding_rate_response.py +5 -5
  94. crypticorn/klines/client/models/base_response_list_str.py +5 -5
  95. crypticorn/klines/client/models/base_response_ohlcv_response.py +5 -5
  96. crypticorn/klines/client/models/error_response.py +5 -5
  97. crypticorn/klines/client/models/exchange.py +5 -5
  98. crypticorn/klines/client/models/funding_rate_response.py +5 -5
  99. crypticorn/klines/client/models/health_check_response.py +5 -5
  100. crypticorn/klines/client/models/history_error_response.py +5 -5
  101. crypticorn/klines/client/models/history_no_data_response.py +5 -5
  102. crypticorn/klines/client/models/history_success_response.py +5 -5
  103. crypticorn/klines/client/models/http_validation_error.py +5 -5
  104. crypticorn/klines/client/models/market.py +5 -5
  105. crypticorn/klines/client/models/ohlcv_response.py +5 -5
  106. crypticorn/klines/client/models/resolution.py +5 -5
  107. crypticorn/klines/client/models/response_get_history_udf_history_get.py +5 -5
  108. crypticorn/klines/client/models/search_symbol_response.py +5 -5
  109. crypticorn/klines/client/models/sort_direction.py +5 -5
  110. crypticorn/klines/client/models/symbol_group_response.py +5 -5
  111. crypticorn/klines/client/models/symbol_info_response.py +5 -5
  112. crypticorn/klines/client/models/symbol_type.py +5 -5
  113. crypticorn/klines/client/models/timeframe.py +5 -5
  114. crypticorn/klines/client/models/udf_config_response.py +5 -5
  115. crypticorn/klines/client/models/validation_error.py +5 -5
  116. crypticorn/klines/client/models/validation_error_loc_inner.py +5 -5
  117. crypticorn/klines/client/rest.py +5 -5
  118. crypticorn/metrics/client/__init__.py +8 -6
  119. crypticorn/metrics/client/api/exchanges_api.py +62 -42
  120. crypticorn/metrics/client/api/health_check_api.py +5 -5
  121. crypticorn/metrics/client/api/indicators_api.py +47 -35
  122. crypticorn/metrics/client/api/logs_api.py +6 -6
  123. crypticorn/metrics/client/api/marketcap_api.py +22 -22
  124. crypticorn/metrics/client/api/markets_api.py +41 -28
  125. crypticorn/metrics/client/api/tokens_api.py +6 -6
  126. crypticorn/metrics/client/api_client.py +5 -5
  127. crypticorn/metrics/client/configuration.py +84 -39
  128. crypticorn/metrics/client/exceptions.py +5 -5
  129. crypticorn/metrics/client/models/__init__.py +8 -6
  130. crypticorn/metrics/client/models/base_response_dict.py +5 -5
  131. crypticorn/metrics/client/models/base_response_health_check_response.py +5 -5
  132. crypticorn/metrics/client/models/base_response_list_dict.py +5 -5
  133. crypticorn/metrics/client/models/base_response_list_exchange_mapping.py +5 -5
  134. crypticorn/metrics/client/models/base_response_list_str.py +5 -5
  135. crypticorn/metrics/client/models/error_response.py +5 -5
  136. crypticorn/metrics/client/models/exchange_mapping.py +5 -5
  137. crypticorn/metrics/client/models/health_check_response.py +5 -5
  138. crypticorn/metrics/client/models/http_validation_error.py +5 -5
  139. crypticorn/metrics/client/models/market.py +5 -5
  140. crypticorn/metrics/client/models/market_type.py +35 -0
  141. crypticorn/metrics/client/models/severity.py +5 -5
  142. crypticorn/metrics/client/models/time_interval.py +38 -0
  143. crypticorn/metrics/client/models/trading_status.py +35 -0
  144. crypticorn/metrics/client/models/validation_error.py +5 -5
  145. crypticorn/metrics/client/models/validation_error_loc_inner.py +5 -5
  146. crypticorn/metrics/client/rest.py +9 -6
  147. crypticorn/metrics/main.py +2 -2
  148. crypticorn/pay/client/__init__.py +5 -5
  149. crypticorn/pay/client/api/now_payments_api.py +5 -5
  150. crypticorn/pay/client/api/payments_api.py +5 -5
  151. crypticorn/pay/client/api/products_api.py +5 -5
  152. crypticorn/pay/client/api/status_api.py +5 -5
  153. crypticorn/pay/client/api_client.py +5 -5
  154. crypticorn/pay/client/configuration.py +5 -5
  155. crypticorn/pay/client/exceptions.py +5 -5
  156. crypticorn/pay/client/models/__init__.py +5 -5
  157. crypticorn/pay/client/models/api_status_res.py +5 -5
  158. crypticorn/pay/client/models/body_create_now_invoice.py +5 -5
  159. crypticorn/pay/client/models/body_create_product.py +5 -5
  160. crypticorn/pay/client/models/body_get_products.py +5 -5
  161. crypticorn/pay/client/models/body_handle_now_webhook.py +5 -5
  162. crypticorn/pay/client/models/body_update_product.py +5 -5
  163. crypticorn/pay/client/models/combined_payment_history.py +5 -5
  164. crypticorn/pay/client/models/create_invoice_req.py +5 -5
  165. crypticorn/pay/client/models/create_invoice_res.py +5 -5
  166. crypticorn/pay/client/models/currency.py +5 -5
  167. crypticorn/pay/client/models/estimate_price_req.py +5 -5
  168. crypticorn/pay/client/models/estimate_price_res.py +5 -5
  169. crypticorn/pay/client/models/get_currencies_res.py +5 -5
  170. crypticorn/pay/client/models/get_payment_status_res.py +5 -5
  171. crypticorn/pay/client/models/get_payments_list_res.py +5 -5
  172. crypticorn/pay/client/models/http_validation_error.py +5 -5
  173. crypticorn/pay/client/models/min_amount_req.py +5 -5
  174. crypticorn/pay/client/models/min_amount_res.py +5 -5
  175. crypticorn/pay/client/models/now_api_status_res.py +5 -5
  176. crypticorn/pay/client/models/now_create_invoice_req.py +5 -5
  177. crypticorn/pay/client/models/now_create_invoice_res.py +5 -5
  178. crypticorn/pay/client/models/now_fee_structure.py +5 -5
  179. crypticorn/pay/client/models/now_payment_model.py +5 -5
  180. crypticorn/pay/client/models/now_payment_status.py +5 -5
  181. crypticorn/pay/client/models/now_webhook_payload.py +5 -5
  182. crypticorn/pay/client/models/partial_product_update_model.py +5 -5
  183. crypticorn/pay/client/models/payment.py +5 -5
  184. crypticorn/pay/client/models/payment_status.py +5 -5
  185. crypticorn/pay/client/models/product.py +5 -5
  186. crypticorn/pay/client/models/product_model.py +5 -5
  187. crypticorn/pay/client/models/product_subs_model.py +5 -5
  188. crypticorn/pay/client/models/product_update_model.py +5 -5
  189. crypticorn/pay/client/models/scope.py +5 -5
  190. crypticorn/pay/client/models/services.py +5 -5
  191. crypticorn/pay/client/models/unified_payment_model.py +5 -5
  192. crypticorn/pay/client/models/validation_error.py +5 -5
  193. crypticorn/pay/client/models/validation_error_loc_inner.py +5 -5
  194. crypticorn/pay/client/rest.py +5 -5
  195. crypticorn/trade/client/__init__.py +5 -5
  196. crypticorn/trade/client/api/api_keys_api.py +5 -5
  197. crypticorn/trade/client/api/bots_api.py +5 -5
  198. crypticorn/trade/client/api/exchanges_api.py +5 -5
  199. crypticorn/trade/client/api/futures_trading_panel_api.py +5 -5
  200. crypticorn/trade/client/api/notifications_api.py +5 -5
  201. crypticorn/trade/client/api/orders_api.py +5 -5
  202. crypticorn/trade/client/api/status_api.py +5 -5
  203. crypticorn/trade/client/api/strategies_api.py +5 -5
  204. crypticorn/trade/client/api/trading_actions_api.py +5 -5
  205. crypticorn/trade/client/api_client.py +5 -5
  206. crypticorn/trade/client/configuration.py +13 -6
  207. crypticorn/trade/client/exceptions.py +5 -5
  208. crypticorn/trade/client/models/__init__.py +5 -5
  209. crypticorn/trade/client/models/action_model.py +5 -5
  210. crypticorn/trade/client/models/api_error_identifier.py +7 -6
  211. crypticorn/trade/client/models/api_error_level.py +5 -5
  212. crypticorn/trade/client/models/api_error_type.py +5 -5
  213. crypticorn/trade/client/models/api_key_model.py +5 -5
  214. crypticorn/trade/client/models/bot_model.py +5 -5
  215. crypticorn/trade/client/models/bot_status.py +5 -5
  216. crypticorn/trade/client/models/exchange.py +5 -5
  217. crypticorn/trade/client/models/exchange_key_model.py +5 -5
  218. crypticorn/trade/client/models/execution_ids.py +7 -7
  219. crypticorn/trade/client/models/futures_balance.py +5 -5
  220. crypticorn/trade/client/models/futures_trading_action.py +5 -5
  221. crypticorn/trade/client/models/http_validation_error.py +5 -5
  222. crypticorn/trade/client/models/margin_mode.py +5 -5
  223. crypticorn/trade/client/models/market_type.py +5 -5
  224. crypticorn/trade/client/models/notification_model.py +5 -5
  225. crypticorn/trade/client/models/order_model.py +5 -5
  226. crypticorn/trade/client/models/order_status.py +5 -5
  227. crypticorn/trade/client/models/post_futures_action.py +5 -5
  228. crypticorn/trade/client/models/strategy_exchange_info.py +5 -5
  229. crypticorn/trade/client/models/strategy_model_input.py +5 -5
  230. crypticorn/trade/client/models/strategy_model_output.py +5 -5
  231. crypticorn/trade/client/models/tpsl.py +5 -5
  232. crypticorn/trade/client/models/trading_action_type.py +5 -5
  233. crypticorn/trade/client/models/validation_error.py +5 -5
  234. crypticorn/trade/client/models/validation_error_loc_inner.py +5 -5
  235. crypticorn/trade/client/rest.py +9 -6
  236. {crypticorn-2.4.2.dist-info → crypticorn-2.4.4.dist-info}/METADATA +8 -9
  237. crypticorn-2.4.4.dist-info/RECORD +280 -0
  238. crypticorn-2.4.2.dist-info/RECORD +0 -277
  239. {crypticorn-2.4.2.dist-info → crypticorn-2.4.4.dist-info}/WHEEL +0 -0
  240. {crypticorn-2.4.2.dist-info → crypticorn-2.4.4.dist-info}/entry_points.txt +0 -0
  241. {crypticorn-2.4.2.dist-info → crypticorn-2.4.4.dist-info}/top_level.txt +0 -0
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -32,7 +32,8 @@ class UpdateUserRequest(BaseModel):
32
32
  name: Optional[StrictStr] = None
33
33
  email: Optional[StrictStr] = None
34
34
  username: Optional[StrictStr] = None
35
- __properties: ClassVar[List[str]] = ["id", "name", "email", "username"]
35
+ picture: Optional[StrictStr] = None
36
+ __properties: ClassVar[List[str]] = ["id", "name", "email", "username", "picture"]
36
37
 
37
38
  model_config = ConfigDict(
38
39
  populate_by_name=True,
@@ -88,6 +89,7 @@ class UpdateUserRequest(BaseModel):
88
89
  "name": obj.get("name"),
89
90
  "email": obj.get("email"),
90
91
  "username": obj.get("username"),
92
+ "picture": obj.get("picture"),
91
93
  }
92
94
  )
93
95
  return _obj
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Crypticorn Auth API
4
+ Crypticorn Auth API
5
5
 
6
- OpenAPI compliant REST API built using tRPC with Express
6
+ OpenAPI compliant REST API built using tRPC with Express
7
7
 
8
- The version of the OpenAPI document: 1.0.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
- Do not edit the class manually.
11
+ Do not edit the class manually.
12
12
  """ # noqa: E501
13
13
 
14
14
 
@@ -57,7 +57,10 @@ class RESTClientObject:
57
57
  # maxsize is number of requests to host that are allowed in parallel
58
58
  self.maxsize = configuration.connection_pool_maxsize
59
59
 
60
- self.ssl_context = ssl.create_default_context(cafile=configuration.ssl_ca_cert)
60
+ self.ssl_context = ssl.create_default_context(
61
+ cafile=configuration.ssl_ca_cert,
62
+ cadata=configuration.ca_cert_data,
63
+ )
61
64
  if configuration.cert_file:
62
65
  self.ssl_context.load_cert_chain(
63
66
  configuration.cert_file, keyfile=configuration.key_file
crypticorn/client.py CHANGED
@@ -1,9 +1,11 @@
1
- from crypticorn.hive import HiveClient, Configuration
2
- from crypticorn.klines import KlinesClient
3
- from crypticorn.pay import PayClient
4
- from crypticorn.trade import TradeClient
5
- from crypticorn.metrics import MetricsClient
6
- from crypticorn.auth import AuthClient
1
+ from typing import Union
2
+
3
+ from crypticorn.hive import HiveClient, Configuration as HiveConfig
4
+ from crypticorn.klines import KlinesClient, Configuration as KlinesConfig
5
+ from crypticorn.pay import PayClient, Configuration as PayConfig
6
+ from crypticorn.trade import TradeClient, Configuration as TradeConfig
7
+ from crypticorn.metrics import MetricsClient, Configuration as MetricsConfig
8
+ from crypticorn.auth import AuthClient, Configuration as AuthConfig
7
9
  from crypticorn.common import BaseUrl, ApiVersion, Service, apikey_header as aph
8
10
  import warnings
9
11
 
@@ -64,16 +66,31 @@ class ApiClient:
64
66
  """
65
67
  Get the default configuration for a given service.
66
68
  """
67
- return Configuration(
69
+ config_class = {
70
+ Service.HIVE: HiveConfig,
71
+ Service.TRADE: TradeConfig,
72
+ Service.KLINES: KlinesConfig,
73
+ Service.PAY: PayConfig,
74
+ Service.METRICS: MetricsConfig,
75
+ Service.AUTH: AuthConfig,
76
+ }[service]
77
+ return config_class(
68
78
  host=f"{self.base_url}/{version}/{service}",
69
79
  access_token=self.jwt,
70
80
  api_key={aph.scheme_name: self.api_key} if self.api_key else None,
71
- api_key_prefix=(
72
- {aph.scheme_name: aph.model.name} if self.api_key else None
73
- ),
81
+ # not necessary
82
+ # api_key_prefix=(
83
+ # {aph.scheme_name: aph.model.name} if self.api_key else None
84
+ # ),
74
85
  )
75
86
 
76
- def configure(self, config: Configuration, sub_client: any):
87
+ def configure(
88
+ self,
89
+ config: Union[
90
+ HiveConfig, TradeConfig, KlinesConfig, PayConfig, MetricsConfig, AuthConfig
91
+ ],
92
+ sub_client: any,
93
+ ):
77
94
  """
78
95
  Update a sub-client's configuration by overriding with the values set in the new config.
79
96
  Useful for testing a specific service against a local server instead of the default proxy.
@@ -4,3 +4,4 @@ from crypticorn.common.urls import *
4
4
  from crypticorn.common.pydantic import *
5
5
  from crypticorn.common.auth import *
6
6
  from crypticorn.common.enums import *
7
+ from crypticorn.common.utils import *
crypticorn/common/auth.py CHANGED
@@ -53,7 +53,7 @@ class AuthHandler:
53
53
  detail=ApiError.NO_CREDENTIALS.identifier,
54
54
  )
55
55
 
56
- async def _verify_api_key(self, api_key: str) -> None:
56
+ async def _verify_api_key(self, api_key: str) -> Verify200Response:
57
57
  """
58
58
  Verifies the API key.
59
59
  """
@@ -445,7 +445,7 @@ class ApiError(Enum, metaclass=Fallback):
445
445
  def level(self) -> ApiErrorLevel:
446
446
  """Level of the error."""
447
447
  return self.value[2]
448
-
448
+
449
449
  @property
450
450
  def status_code(self) -> int:
451
451
  """HTTP status code for the error."""
@@ -454,6 +454,7 @@ class ApiError(Enum, metaclass=Fallback):
454
454
 
455
455
  class HttpStatusMapper:
456
456
  """Map API errors to HTTP status codes."""
457
+
457
458
  # TODO: decide if we need all of these mappings, since most errors are not exposed to the client via HTTP
458
459
  # in case we remove some, update the pytest length check
459
460
  _mapping = {
@@ -466,33 +467,27 @@ class HttpStatusMapper:
466
467
  ApiError.EXCHANGE_PERMISSION_DENIED: status.HTTP_403_FORBIDDEN,
467
468
  ApiError.EXCHANGE_USER_FROZEN: status.HTTP_403_FORBIDDEN,
468
469
  ApiError.TRADING_LOCKED: status.HTTP_403_FORBIDDEN,
469
-
470
470
  # Not Found
471
471
  ApiError.URL_NOT_FOUND: status.HTTP_404_NOT_FOUND,
472
472
  ApiError.OBJECT_NOT_FOUND: status.HTTP_404_NOT_FOUND,
473
473
  ApiError.ORDER_NOT_FOUND: status.HTTP_404_NOT_FOUND,
474
474
  ApiError.POSITION_NOT_FOUND: status.HTTP_404_NOT_FOUND,
475
475
  ApiError.SYMBOL_NOT_FOUND: status.HTTP_404_NOT_FOUND,
476
-
477
476
  # Conflicts/Duplicates
478
477
  ApiError.CLIENT_ORDER_ID_REPEATED: status.HTTP_409_CONFLICT,
479
478
  ApiError.OBJECT_ALREADY_EXISTS: status.HTTP_409_CONFLICT,
480
479
  ApiError.EXCHANGE_KEY_ALREADY_EXISTS: status.HTTP_409_CONFLICT,
481
480
  ApiError.BOT_ALREADY_DELETED: status.HTTP_409_CONFLICT,
482
-
483
481
  # Invalid Content
484
482
  ApiError.CONTENT_TYPE_ERROR: status.HTTP_415_UNSUPPORTED_MEDIA_TYPE,
485
-
486
483
  # Rate Limits
487
484
  ApiError.EXCHANGE_RATE_LIMIT: status.HTTP_429_TOO_MANY_REQUESTS,
488
485
  ApiError.REQUEST_SCOPE_EXCEEDED: status.HTTP_429_TOO_MANY_REQUESTS,
489
-
490
486
  # Server Errors
491
487
  ApiError.UNKNOWN_ERROR: status.HTTP_500_INTERNAL_SERVER_ERROR,
492
488
  ApiError.EXCHANGE_SYSTEM_ERROR: status.HTTP_500_INTERNAL_SERVER_ERROR,
493
489
  ApiError.NOW_API_DOWN: status.HTTP_500_INTERNAL_SERVER_ERROR,
494
490
  ApiError.RPC_TIMEOUT: status.HTTP_500_INTERNAL_SERVER_ERROR,
495
-
496
491
  # Service Unavailable
497
492
  ApiError.EXCHANGE_SERVICE_UNAVAILABLE: status.HTTP_503_SERVICE_UNAVAILABLE,
498
493
  ApiError.EXCHANGE_MAINTENANCE: status.HTTP_503_SERVICE_UNAVAILABLE,
@@ -500,7 +495,6 @@ class HttpStatusMapper:
500
495
  ApiError.SETTLEMENT_IN_PROGRESS: status.HTTP_503_SERVICE_UNAVAILABLE,
501
496
  ApiError.POSITION_SUSPENDED: status.HTTP_503_SERVICE_UNAVAILABLE,
502
497
  ApiError.TRADING_SUSPENDED: status.HTTP_503_SERVICE_UNAVAILABLE,
503
-
504
498
  # Bad Requests (400) - Invalid parameters or states
505
499
  ApiError.ALLOCATION_BELOW_EXPOSURE: status.HTTP_400_BAD_REQUEST,
506
500
  ApiError.ALLOCATION_BELOW_MINIMUM: status.HTTP_400_BAD_REQUEST,
@@ -535,7 +529,6 @@ class HttpStatusMapper:
535
529
  ApiError.STRATEGY_NOT_SUPPORTING_EXCHANGE: status.HTTP_400_BAD_REQUEST,
536
530
  ApiError.TRADING_ACTION_EXPIRED: status.HTTP_400_BAD_REQUEST,
537
531
  ApiError.TRADING_ACTION_SKIPPED: status.HTTP_400_BAD_REQUEST,
538
-
539
532
  # Success cases
540
533
  ApiError.SUCCESS: status.HTTP_200_OK,
541
534
  ApiError.BOT_STOPPING_COMPLETED: status.HTTP_200_OK,
@@ -16,13 +16,15 @@ def throw_if_none(value: Any, message: ApiError) -> None:
16
16
  status_code=status.HTTP_404_NOT_FOUND, detail=message.identifier
17
17
  )
18
18
 
19
+
19
20
  def throw_if_falsy(value: Any, message: ApiError) -> None:
20
21
  """Throws an FastAPI HTTPException if the value is False."""
21
22
  if not value:
22
23
  raise HTTPException(
23
24
  status_code=status.HTTP_400_BAD_REQUEST, detail=message.identifier
24
25
  )
25
-
26
+
27
+
26
28
  def gen_random_id(length: int = 20) -> str:
27
29
  """Generate a random base62 string (a-zA-Z0-9) of specified length.
28
30
  Kucoin max 40, bingx max 40"""
@@ -47,4 +49,4 @@ def is_equal(
47
49
  # Convert tolerances to Decimal
48
50
  return Decimal(abs(a - b)) <= max(
49
51
  Decimal(str(rel_tol)) * max(abs(a), abs(b)), Decimal(str(abs_tol))
50
- )
52
+ )
@@ -3,14 +3,14 @@
3
3
  # flake8: noqa
4
4
 
5
5
  """
6
- Hive AI API
6
+ Hive AI API
7
7
 
8
- API for Hive AI model training and evaluation
8
+ API for Hive AI model training and evaluation
9
9
 
10
- The version of the OpenAPI document: 1.0.0
11
- Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+ The version of the OpenAPI document: 1.0.0
11
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
12
12
 
13
- Do not edit the class manually.
13
+ Do not edit the class manually.
14
14
  """ # noqa: E501
15
15
 
16
16