crypticorn 2.11.8__py3-none-any.whl → 2.12.0__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 (32) hide show
  1. crypticorn/common/errors.py +4 -4
  2. crypticorn/common/exceptions.py +10 -0
  3. crypticorn/hive/client/__init__.py +1 -0
  4. crypticorn/hive/client/models/__init__.py +1 -0
  5. crypticorn/hive/client/models/api_error_identifier.py +2 -0
  6. crypticorn/hive/client/models/coin_info.py +106 -0
  7. crypticorn/hive/client/models/data_info.py +17 -6
  8. crypticorn/hive/client/models/target_info.py +20 -6
  9. crypticorn/pay/client/__init__.py +5 -3
  10. crypticorn/pay/client/api/admin_api.py +35 -33
  11. crypticorn/pay/client/api/now_payments_api.py +476 -5
  12. crypticorn/pay/client/api/payments_api.py +43 -264
  13. crypticorn/pay/client/api/products_api.py +16 -16
  14. crypticorn/pay/client/models/__init__.py +5 -3
  15. crypticorn/pay/client/models/api_error_identifier.py +117 -0
  16. crypticorn/pay/client/models/api_error_level.py +37 -0
  17. crypticorn/pay/client/models/api_error_type.py +37 -0
  18. crypticorn/pay/client/models/exception_detail.py +7 -4
  19. crypticorn/pay/client/models/{product_read.py → product.py} +4 -4
  20. crypticorn/pay/client/models/product_create.py +1 -1
  21. crypticorn/pay/client/models/scope.py +1 -0
  22. crypticorn/pay/client/models/{product_sub_read.py → subscription.py} +5 -5
  23. crypticorn/trade/client/api/notifications_api.py +15 -15
  24. crypticorn/trade/client/api/trading_actions_api.py +9 -9
  25. crypticorn/trade/client/models/api_error_identifier.py +1 -0
  26. {crypticorn-2.11.8.dist-info → crypticorn-2.12.0.dist-info}/METADATA +1 -1
  27. {crypticorn-2.11.8.dist-info → crypticorn-2.12.0.dist-info}/RECORD +31 -28
  28. {crypticorn-2.11.8.dist-info → crypticorn-2.12.0.dist-info}/WHEEL +1 -1
  29. crypticorn/pay/client/models/response_getuptime.py +0 -159
  30. {crypticorn-2.11.8.dist-info → crypticorn-2.12.0.dist-info}/entry_points.txt +0 -0
  31. {crypticorn-2.11.8.dist-info → crypticorn-2.12.0.dist-info}/licenses/LICENSE +0 -0
  32. {crypticorn-2.11.8.dist-info → crypticorn-2.12.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,117 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Payment API
5
+
6
+ API for accepting payments and storing subscriptions
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import json
17
+ from enum import Enum
18
+ from typing_extensions import Self
19
+
20
+
21
+ class ApiErrorIdentifier(str, Enum):
22
+ """
23
+ Unique identifier of the API error.
24
+ """
25
+
26
+ """
27
+ allowed enum values
28
+ """
29
+ ALLOCATION_BELOW_CURRENT_EXPOSURE = "allocation_below_current_exposure"
30
+ ALLOCATION_BELOW_MIN_AMOUNT = "allocation_below_min_amount"
31
+ BLACK_SWAN = "black_swan"
32
+ BOT_ALREADY_DELETED = "bot_already_deleted"
33
+ BOT_DISABLED = "bot_disabled"
34
+ BOT_STOPPING_COMPLETED = "bot_stopping_completed"
35
+ BOT_STOPPING_STARTED = "bot_stopping_started"
36
+ CLIENT_ORDER_ID_ALREADY_EXISTS = "client_order_id_already_exists"
37
+ INVALID_CONTENT_TYPE = "invalid_content_type"
38
+ DELETE_BOT_ERROR = "delete_bot_error"
39
+ EXCHANGE_INVALID_SIGNATURE = "exchange_invalid_signature"
40
+ EXCHANGE_INVALID_TIMESTAMP = "exchange_invalid_timestamp"
41
+ EXCHANGE_IP_ADDRESS_IS_NOT_AUTHORIZED = "exchange_ip_address_is_not_authorized"
42
+ EXCHANGE_KEY_ALREADY_EXISTS = "exchange_key_already_exists"
43
+ EXCHANGE_KEY_IN_USE = "exchange_key_in_use"
44
+ EXCHANGE_SYSTEM_UNDER_MAINTENANCE = "exchange_system_under_maintenance"
45
+ EXCHANGE_RATE_LIMIT_EXCEEDED = "exchange_rate_limit_exceeded"
46
+ INSUFFICIENT_PERMISSIONS_SPOT_AND_FUTURES_REQUIRED = (
47
+ "insufficient_permissions_spot_and_futures_required"
48
+ )
49
+ EXCHANGE_SERVICE_TEMPORARILY_UNAVAILABLE = (
50
+ "exchange_service_temporarily_unavailable"
51
+ )
52
+ EXCHANGE_SYSTEM_IS_BUSY = "exchange_system_is_busy"
53
+ EXCHANGE_SYSTEM_CONFIGURATION_ERROR = "exchange_system_configuration_error"
54
+ EXCHANGE_INTERNAL_SYSTEM_ERROR = "exchange_internal_system_error"
55
+ EXCHANGE_USER_ACCOUNT_IS_FROZEN = "exchange_user_account_is_frozen"
56
+ API_KEY_EXPIRED = "api_key_expired"
57
+ BEARER_TOKEN_EXPIRED = "bearer_token_expired"
58
+ FORBIDDEN = "forbidden"
59
+ HEDGE_MODE_NOT_ACTIVE = "hedge_mode_not_active"
60
+ HTTP_REQUEST_ERROR = "http_request_error"
61
+ INSUFFICIENT_BALANCE = "insufficient_balance"
62
+ INSUFFICIENT_MARGIN = "insufficient_margin"
63
+ INSUFFICIENT_SCOPES = "insufficient_scopes"
64
+ INVALID_API_KEY = "invalid_api_key"
65
+ INVALID_BEARER = "invalid_bearer"
66
+ INVALID_DATA = "invalid_data"
67
+ INVALID_DATA_RESPONSE = "invalid_data_response"
68
+ INVALID_EXCHANGE_KEY = "invalid_exchange_key"
69
+ INVALID_MARGIN_MODE = "invalid_margin_mode"
70
+ INVALID_MODEL_NAME = "invalid_model_name"
71
+ INVALID_PARAMETER_PROVIDED = "invalid_parameter_provided"
72
+ LEVERAGE_LIMIT_EXCEEDED = "leverage_limit_exceeded"
73
+ ORDER_VIOLATES_LIQUIDATION_PRICE_CONSTRAINTS = (
74
+ "order_violates_liquidation_price_constraints"
75
+ )
76
+ MARGIN_MODE_CLASH = "margin_mode_clash"
77
+ MODEL_NAME_NOT_UNIQUE = "model_name_not_unique"
78
+ NO_CREDENTIALS = "no_credentials"
79
+ NOW_API_DOWN = "now_api_down"
80
+ OBJECT_ALREADY_EXISTS = "object_already_exists"
81
+ OBJECT_CREATED = "object_created"
82
+ OBJECT_DELETED = "object_deleted"
83
+ OBJECT_LOCKED = "object_locked"
84
+ OBJECT_NOT_FOUND = "object_not_found"
85
+ OBJECT_UPDATED = "object_updated"
86
+ ORDER_IS_ALREADY_FILLED = "order_is_already_filled"
87
+ ORDER_IS_BEING_PROCESSED = "order_is_being_processed"
88
+ ORDER_QUANTITY_LIMIT_EXCEEDED = "order_quantity_limit_exceeded"
89
+ ORDER_DOES_NOT_EXIST = "order_does_not_exist"
90
+ ORDER_PRICE_IS_INVALID = "order_price_is_invalid"
91
+ ORDER_SIZE_TOO_LARGE = "order_size_too_large"
92
+ ORDER_SIZE_TOO_SMALL = "order_size_too_small"
93
+ POSITION_LIMIT_EXCEEDED = "position_limit_exceeded"
94
+ POSITION_DOES_NOT_EXIST = "position_does_not_exist"
95
+ POSITION_OPENING_TEMPORARILY_SUSPENDED = "position_opening_temporarily_suspended"
96
+ POST_ONLY_ORDER_WOULD_IMMEDIATELY_MATCH = "post_only_order_would_immediately_match"
97
+ REQUEST_SCOPE_LIMIT_EXCEEDED = "request_scope_limit_exceeded"
98
+ RISK_LIMIT_EXCEEDED = "risk_limit_exceeded"
99
+ RPC_TIMEOUT = "rpc_timeout"
100
+ SYSTEM_SETTLEMENT_IN_PROCESS = "system_settlement_in_process"
101
+ STRATEGY_ALREADY_EXISTS = "strategy_already_exists"
102
+ STRATEGY_DISABLED = "strategy_disabled"
103
+ STRATEGY_LEVERAGE_MISMATCH = "strategy_leverage_mismatch"
104
+ STRATEGY_NOT_SUPPORTING_EXCHANGE = "strategy_not_supporting_exchange"
105
+ SUCCESS = "success"
106
+ SYMBOL_DOES_NOT_EXIST = "symbol_does_not_exist"
107
+ TRADING_ACTION_EXPIRED = "trading_action_expired"
108
+ TRADING_ACTION_SKIPPED = "trading_action_skipped"
109
+ TRADING_HAS_BEEN_LOCKED = "trading_has_been_locked"
110
+ TRADING_IS_SUSPENDED = "trading_is_suspended"
111
+ UNKNOWN_ERROR_OCCURRED = "unknown_error_occurred"
112
+ REQUESTED_RESOURCE_NOT_FOUND = "requested_resource_not_found"
113
+
114
+ @classmethod
115
+ def from_json(cls, json_str: str) -> Self:
116
+ """Create an instance of ApiErrorIdentifier from a JSON string"""
117
+ return cls(json.loads(json_str))
@@ -0,0 +1,37 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Payment API
5
+
6
+ API for accepting payments and storing subscriptions
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import json
17
+ from enum import Enum
18
+ from typing_extensions import Self
19
+
20
+
21
+ class ApiErrorLevel(str, Enum):
22
+ """
23
+ Level of the API error.
24
+ """
25
+
26
+ """
27
+ allowed enum values
28
+ """
29
+ ERROR = "error"
30
+ INFO = "info"
31
+ SUCCESS = "success"
32
+ WARNING = "warning"
33
+
34
+ @classmethod
35
+ def from_json(cls, json_str: str) -> Self:
36
+ """Create an instance of ApiErrorLevel from a JSON string"""
37
+ return cls(json.loads(json_str))
@@ -0,0 +1,37 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Payment API
5
+
6
+ API for accepting payments and storing subscriptions
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import json
17
+ from enum import Enum
18
+ from typing_extensions import Self
19
+
20
+
21
+ class ApiErrorType(str, Enum):
22
+ """
23
+ Type of the API error.
24
+ """
25
+
26
+ """
27
+ allowed enum values
28
+ """
29
+ USER_ERROR = "user error"
30
+ EXCHANGE_ERROR = "exchange error"
31
+ SERVER_ERROR = "server error"
32
+ NO_ERROR = "no error"
33
+
34
+ @classmethod
35
+ def from_json(cls, json_str: str) -> Self:
36
+ """Create an instance of ApiErrorType from a JSON string"""
37
+ return cls(json.loads(json_str))
@@ -19,19 +19,22 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
+ from crypticorn.pay.client.models.api_error_identifier import ApiErrorIdentifier
23
+ from crypticorn.pay.client.models.api_error_level import ApiErrorLevel
24
+ from crypticorn.pay.client.models.api_error_type import ApiErrorType
22
25
  from typing import Optional, Set
23
26
  from typing_extensions import Self
24
27
 
25
28
 
26
29
  class ExceptionDetail(BaseModel):
27
30
  """
28
- This is the detail of the exception. It is used to enrich the exception with additional information by unwrapping the ApiError into its components.
31
+ Exception details returned to the client.
29
32
  """ # noqa: E501
30
33
 
31
34
  message: Optional[StrictStr] = None
32
- code: StrictStr = Field(description="API error identifiers")
33
- type: StrictStr = Field(description="Type of API error")
34
- level: StrictStr = Field(description="API error levels")
35
+ code: ApiErrorIdentifier = Field(description="The unique error code")
36
+ type: ApiErrorType = Field(description="The type of error")
37
+ level: ApiErrorLevel = Field(description="The level of the error")
35
38
  status_code: StrictInt = Field(description="The HTTP status code")
36
39
  details: Optional[Any] = None
37
40
  __properties: ClassVar[List[str]] = [
@@ -32,7 +32,7 @@ from typing import Optional, Set
32
32
  from typing_extensions import Self
33
33
 
34
34
 
35
- class ProductRead(BaseModel):
35
+ class Product(BaseModel):
36
36
  """
37
37
  Model for reading a product
38
38
  """ # noqa: E501
@@ -41,7 +41,7 @@ class ProductRead(BaseModel):
41
41
  price: Union[StrictFloat, StrictInt] = Field(description="Product price")
42
42
  scopes: Optional[List[Scope]] = None
43
43
  duration: StrictInt = Field(
44
- description="Product duration in days. 0 means unlimited."
44
+ description="Product duration in days. 0 means forever."
45
45
  )
46
46
  description: StrictStr = Field(description="Product description")
47
47
  is_active: StrictBool = Field(description="Product is active")
@@ -73,7 +73,7 @@ class ProductRead(BaseModel):
73
73
 
74
74
  @classmethod
75
75
  def from_json(cls, json_str: str) -> Optional[Self]:
76
- """Create an instance of ProductRead from a JSON string"""
76
+ """Create an instance of Product from a JSON string"""
77
77
  return cls.from_dict(json.loads(json_str))
78
78
 
79
79
  def to_dict(self) -> Dict[str, Any]:
@@ -102,7 +102,7 @@ class ProductRead(BaseModel):
102
102
 
103
103
  @classmethod
104
104
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
105
- """Create an instance of ProductRead from a dict"""
105
+ """Create an instance of Product from a dict"""
106
106
  if obj is None:
107
107
  return None
108
108
 
@@ -41,7 +41,7 @@ class ProductCreate(BaseModel):
41
41
  price: Union[StrictFloat, StrictInt] = Field(description="Product price")
42
42
  scopes: Optional[List[Scope]] = None
43
43
  duration: StrictInt = Field(
44
- description="Product duration in days. 0 means unlimited."
44
+ description="Product duration in days. 0 means forever."
45
45
  )
46
46
  description: StrictStr = Field(description="Product description")
47
47
  is_active: StrictBool = Field(description="Product is active")
@@ -57,6 +57,7 @@ class Scope(str, Enum):
57
57
  READ_COLON_METRICS_COLON_TOKENS = "read:metrics:tokens"
58
58
  READ_COLON_METRICS_COLON_MARKETS = "read:metrics:markets"
59
59
  READ_COLON_SENTIMENT = "read:sentiment"
60
+ READ_COLON_KLINES = "read:klines"
60
61
 
61
62
  @classmethod
62
63
  def from_json(cls, json_str: str) -> Self:
@@ -23,16 +23,16 @@ from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
25
25
 
26
- class ProductSubRead(BaseModel):
26
+ class Subscription(BaseModel):
27
27
  """
28
28
  Model for reading a product subscription
29
29
  """ # noqa: E501
30
30
 
31
31
  user_id: StrictStr = Field(description="User ID")
32
32
  product_id: StrictStr = Field(description="Product ID")
33
- access_from: StrictInt = Field(description="Access from timestamp in milliseconds")
33
+ access_from: StrictInt = Field(description="Access from timestamp in seconds")
34
34
  access_until: StrictInt = Field(
35
- description="Access until timestamp in milliseconds. 0 means unlimited."
35
+ description="Access until timestamp in seconds. 0 means unlimited."
36
36
  )
37
37
  id: StrictStr = Field(description="UID of the product subscription")
38
38
  __properties: ClassVar[List[str]] = [
@@ -60,7 +60,7 @@ class ProductSubRead(BaseModel):
60
60
 
61
61
  @classmethod
62
62
  def from_json(cls, json_str: str) -> Optional[Self]:
63
- """Create an instance of ProductSubRead from a JSON string"""
63
+ """Create an instance of Subscription from a JSON string"""
64
64
  return cls.from_dict(json.loads(json_str))
65
65
 
66
66
  def to_dict(self) -> Dict[str, Any]:
@@ -84,7 +84,7 @@ class ProductSubRead(BaseModel):
84
84
 
85
85
  @classmethod
86
86
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
87
- """Create an instance of ProductSubRead from a dict"""
87
+ """Create an instance of Subscription from a dict"""
88
88
  if obj is None:
89
89
  return None
90
90
 
@@ -544,7 +544,7 @@ class NotificationsApi:
544
544
  _content_type: Optional[StrictStr] = None,
545
545
  _headers: Optional[Dict[StrictStr, Any]] = None,
546
546
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
547
- ) -> object:
547
+ ) -> None:
548
548
  """Delete Notifications
549
549
 
550
550
  Delete all notifications for the authenticated user
@@ -579,7 +579,7 @@ class NotificationsApi:
579
579
  )
580
580
 
581
581
  _response_types_map: Dict[str, Optional[str]] = {
582
- "200": "object",
582
+ "204": None,
583
583
  }
584
584
  response_data = await self.api_client.call_api(
585
585
  *_param, _request_timeout=_request_timeout
@@ -604,7 +604,7 @@ class NotificationsApi:
604
604
  _content_type: Optional[StrictStr] = None,
605
605
  _headers: Optional[Dict[StrictStr, Any]] = None,
606
606
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
607
- ) -> ApiResponse[object]:
607
+ ) -> ApiResponse[None]:
608
608
  """Delete Notifications
609
609
 
610
610
  Delete all notifications for the authenticated user
@@ -639,7 +639,7 @@ class NotificationsApi:
639
639
  )
640
640
 
641
641
  _response_types_map: Dict[str, Optional[str]] = {
642
- "200": "object",
642
+ "204": None,
643
643
  }
644
644
  response_data = await self.api_client.call_api(
645
645
  *_param, _request_timeout=_request_timeout
@@ -699,7 +699,7 @@ class NotificationsApi:
699
699
  )
700
700
 
701
701
  _response_types_map: Dict[str, Optional[str]] = {
702
- "200": "object",
702
+ "204": None,
703
703
  }
704
704
  response_data = await self.api_client.call_api(
705
705
  *_param, _request_timeout=_request_timeout
@@ -1034,7 +1034,7 @@ class NotificationsApi:
1034
1034
  _content_type: Optional[StrictStr] = None,
1035
1035
  _headers: Optional[Dict[StrictStr, Any]] = None,
1036
1036
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1037
- ) -> Notification:
1037
+ ) -> None:
1038
1038
  """Update Notification
1039
1039
 
1040
1040
  Update a notification's viewed status
@@ -1075,7 +1075,7 @@ class NotificationsApi:
1075
1075
  )
1076
1076
 
1077
1077
  _response_types_map: Dict[str, Optional[str]] = {
1078
- "200": "Notification",
1078
+ "204": None,
1079
1079
  }
1080
1080
  response_data = await self.api_client.call_api(
1081
1081
  *_param, _request_timeout=_request_timeout
@@ -1102,7 +1102,7 @@ class NotificationsApi:
1102
1102
  _content_type: Optional[StrictStr] = None,
1103
1103
  _headers: Optional[Dict[StrictStr, Any]] = None,
1104
1104
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1105
- ) -> ApiResponse[Notification]:
1105
+ ) -> ApiResponse[None]:
1106
1106
  """Update Notification
1107
1107
 
1108
1108
  Update a notification's viewed status
@@ -1143,7 +1143,7 @@ class NotificationsApi:
1143
1143
  )
1144
1144
 
1145
1145
  _response_types_map: Dict[str, Optional[str]] = {
1146
- "200": "Notification",
1146
+ "204": None,
1147
1147
  }
1148
1148
  response_data = await self.api_client.call_api(
1149
1149
  *_param, _request_timeout=_request_timeout
@@ -1211,7 +1211,7 @@ class NotificationsApi:
1211
1211
  )
1212
1212
 
1213
1213
  _response_types_map: Dict[str, Optional[str]] = {
1214
- "200": "Notification",
1214
+ "204": None,
1215
1215
  }
1216
1216
  response_data = await self.api_client.call_api(
1217
1217
  *_param, _request_timeout=_request_timeout
@@ -1300,7 +1300,7 @@ class NotificationsApi:
1300
1300
  _content_type: Optional[StrictStr] = None,
1301
1301
  _headers: Optional[Dict[StrictStr, Any]] = None,
1302
1302
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1303
- ) -> object:
1303
+ ) -> None:
1304
1304
  """Update Notifications
1305
1305
 
1306
1306
  Bulk update notifications
@@ -1338,7 +1338,7 @@ class NotificationsApi:
1338
1338
  )
1339
1339
 
1340
1340
  _response_types_map: Dict[str, Optional[str]] = {
1341
- "200": "object",
1341
+ "204": None,
1342
1342
  }
1343
1343
  response_data = await self.api_client.call_api(
1344
1344
  *_param, _request_timeout=_request_timeout
@@ -1364,7 +1364,7 @@ class NotificationsApi:
1364
1364
  _content_type: Optional[StrictStr] = None,
1365
1365
  _headers: Optional[Dict[StrictStr, Any]] = None,
1366
1366
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1367
- ) -> ApiResponse[object]:
1367
+ ) -> ApiResponse[None]:
1368
1368
  """Update Notifications
1369
1369
 
1370
1370
  Bulk update notifications
@@ -1402,7 +1402,7 @@ class NotificationsApi:
1402
1402
  )
1403
1403
 
1404
1404
  _response_types_map: Dict[str, Optional[str]] = {
1405
- "200": "object",
1405
+ "204": None,
1406
1406
  }
1407
1407
  response_data = await self.api_client.call_api(
1408
1408
  *_param, _request_timeout=_request_timeout
@@ -1466,7 +1466,7 @@ class NotificationsApi:
1466
1466
  )
1467
1467
 
1468
1468
  _response_types_map: Dict[str, Optional[str]] = {
1469
- "200": "object",
1469
+ "204": None,
1470
1470
  }
1471
1471
  response_data = await self.api_client.call_api(
1472
1472
  *_param, _request_timeout=_request_timeout
@@ -320,7 +320,7 @@ class TradingActionsApi:
320
320
  ) -> PostFuturesAction:
321
321
  """Post Futures Action
322
322
 
323
- Endpoint to receive futures trading actions from the trading strategy
323
+ Endpoint to receive futures trading actions. The action is queued for processing and the response is returned immediately.
324
324
 
325
325
  :param futures_trading_action_create: (required)
326
326
  :type futures_trading_action_create: FuturesTradingActionCreate
@@ -355,7 +355,7 @@ class TradingActionsApi:
355
355
  )
356
356
 
357
357
  _response_types_map: Dict[str, Optional[str]] = {
358
- "200": "PostFuturesAction",
358
+ "202": "PostFuturesAction",
359
359
  }
360
360
  response_data = await self.api_client.call_api(
361
361
  *_param, _request_timeout=_request_timeout
@@ -384,7 +384,7 @@ class TradingActionsApi:
384
384
  ) -> ApiResponse[PostFuturesAction]:
385
385
  """Post Futures Action
386
386
 
387
- Endpoint to receive futures trading actions from the trading strategy
387
+ Endpoint to receive futures trading actions. The action is queued for processing and the response is returned immediately.
388
388
 
389
389
  :param futures_trading_action_create: (required)
390
390
  :type futures_trading_action_create: FuturesTradingActionCreate
@@ -419,7 +419,7 @@ class TradingActionsApi:
419
419
  )
420
420
 
421
421
  _response_types_map: Dict[str, Optional[str]] = {
422
- "200": "PostFuturesAction",
422
+ "202": "PostFuturesAction",
423
423
  }
424
424
  response_data = await self.api_client.call_api(
425
425
  *_param, _request_timeout=_request_timeout
@@ -448,7 +448,7 @@ class TradingActionsApi:
448
448
  ) -> RESTResponseType:
449
449
  """Post Futures Action
450
450
 
451
- Endpoint to receive futures trading actions from the trading strategy
451
+ Endpoint to receive futures trading actions. The action is queued for processing and the response is returned immediately.
452
452
 
453
453
  :param futures_trading_action_create: (required)
454
454
  :type futures_trading_action_create: FuturesTradingActionCreate
@@ -483,7 +483,7 @@ class TradingActionsApi:
483
483
  )
484
484
 
485
485
  _response_types_map: Dict[str, Optional[str]] = {
486
- "200": "PostFuturesAction",
486
+ "202": "PostFuturesAction",
487
487
  }
488
488
  response_data = await self.api_client.call_api(
489
489
  *_param, _request_timeout=_request_timeout
@@ -606,7 +606,7 @@ class TradingActionsApi:
606
606
  )
607
607
 
608
608
  _response_types_map: Dict[str, Optional[str]] = {
609
- "200": "object",
609
+ "202": "object",
610
610
  }
611
611
  response_data = await self.api_client.call_api(
612
612
  *_param, _request_timeout=_request_timeout
@@ -669,7 +669,7 @@ class TradingActionsApi:
669
669
  )
670
670
 
671
671
  _response_types_map: Dict[str, Optional[str]] = {
672
- "200": "object",
672
+ "202": "object",
673
673
  }
674
674
  response_data = await self.api_client.call_api(
675
675
  *_param, _request_timeout=_request_timeout
@@ -732,7 +732,7 @@ class TradingActionsApi:
732
732
  )
733
733
 
734
734
  _response_types_map: Dict[str, Optional[str]] = {
735
- "200": "object",
735
+ "202": "object",
736
736
  }
737
737
  response_data = await self.api_client.call_api(
738
738
  *_param, _request_timeout=_request_timeout
@@ -80,6 +80,7 @@ class ApiErrorIdentifier(str, Enum):
80
80
  OBJECT_ALREADY_EXISTS = "object_already_exists"
81
81
  OBJECT_CREATED = "object_created"
82
82
  OBJECT_DELETED = "object_deleted"
83
+ OBJECT_LOCKED = "object_locked"
83
84
  OBJECT_NOT_FOUND = "object_not_found"
84
85
  OBJECT_UPDATED = "object_updated"
85
86
  ORDER_IS_ALREADY_FILLED = "order_is_already_filled"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crypticorn
3
- Version: 2.11.8
3
+ Version: 2.12.0
4
4
  Summary: Maximise Your Crypto Trading Profits with Machine Learning
5
5
  Author-email: Crypticorn <timon@crypticorn.com>
6
6
  License-Expression: MIT