crypticorn 2.4.6__py3-none-any.whl → 2.4.7__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 (52) hide show
  1. crypticorn/common/auth.py +7 -9
  2. crypticorn/common/errors.py +5 -0
  3. crypticorn/common/utils.py +15 -5
  4. crypticorn/klines/main.py +10 -5
  5. crypticorn/metrics/main.py +5 -4
  6. crypticorn/trade/client/__init__.py +6 -8
  7. crypticorn/trade/client/api/__init__.py +1 -0
  8. crypticorn/trade/client/api/api_keys_api.py +273 -167
  9. crypticorn/trade/client/api/bots_api.py +226 -140
  10. crypticorn/trade/client/api/exchanges_api.py +51 -31
  11. crypticorn/trade/client/api/futures_trading_panel_api.py +272 -169
  12. crypticorn/trade/client/api/notifications_api.py +323 -200
  13. crypticorn/trade/client/api/orders_api.py +60 -40
  14. crypticorn/trade/client/api/status_api.py +49 -31
  15. crypticorn/trade/client/api/strategies_api.py +223 -137
  16. crypticorn/trade/client/api/trading_actions_api.py +170 -106
  17. crypticorn/trade/client/api_client.py +153 -111
  18. crypticorn/trade/client/api_response.py +3 -2
  19. crypticorn/trade/client/configuration.py +115 -128
  20. crypticorn/trade/client/exceptions.py +21 -25
  21. crypticorn/trade/client/models/__init__.py +6 -8
  22. crypticorn/trade/client/models/action_model.py +54 -108
  23. crypticorn/trade/client/models/api_error_identifier.py +72 -76
  24. crypticorn/trade/client/models/api_error_level.py +11 -9
  25. crypticorn/trade/client/models/api_error_type.py +11 -9
  26. crypticorn/trade/client/models/bot_model.py +36 -57
  27. crypticorn/trade/client/models/bot_status.py +11 -9
  28. crypticorn/trade/client/models/exchange.py +9 -7
  29. crypticorn/trade/client/models/exchange_key_model.py +34 -44
  30. crypticorn/trade/client/models/execution_ids.py +18 -18
  31. crypticorn/trade/client/models/futures_balance.py +27 -43
  32. crypticorn/trade/client/models/futures_trading_action.py +50 -102
  33. crypticorn/trade/client/models/http_validation_error.py +15 -19
  34. crypticorn/trade/client/models/margin_mode.py +9 -7
  35. crypticorn/trade/client/models/market_type.py +9 -7
  36. crypticorn/trade/client/models/notification_model.py +32 -52
  37. crypticorn/trade/client/models/order_model.py +72 -112
  38. crypticorn/trade/client/models/order_status.py +12 -10
  39. crypticorn/trade/client/models/post_futures_action.py +16 -20
  40. crypticorn/trade/client/models/strategy_exchange_info.py +16 -15
  41. crypticorn/trade/client/models/strategy_model_input.py +33 -61
  42. crypticorn/trade/client/models/strategy_model_output.py +33 -61
  43. crypticorn/trade/client/models/tpsl.py +25 -39
  44. crypticorn/trade/client/models/trading_action_type.py +11 -9
  45. crypticorn/trade/client/models/validation_error.py +18 -24
  46. crypticorn/trade/client/models/validation_error_loc_inner.py +16 -37
  47. crypticorn/trade/client/rest.py +38 -23
  48. {crypticorn-2.4.6.dist-info → crypticorn-2.4.7.dist-info}/METADATA +8 -2
  49. {crypticorn-2.4.6.dist-info → crypticorn-2.4.7.dist-info}/RECORD +52 -52
  50. {crypticorn-2.4.6.dist-info → crypticorn-2.4.7.dist-info}/WHEEL +0 -0
  51. {crypticorn-2.4.6.dist-info → crypticorn-2.4.7.dist-info}/entry_points.txt +0 -0
  52. {crypticorn-2.4.6.dist-info → crypticorn-2.4.7.dist-info}/top_level.txt +0 -0
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Trading API
4
+ Trading API
5
5
 
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
7
 
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+ The version of the OpenAPI document: 0.1.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
  import warnings
@@ -37,6 +37,7 @@ class APIKeysApi:
37
37
  api_client = ApiClient.get_default()
38
38
  self.api_client = api_client
39
39
 
40
+
40
41
  @validate_call
41
42
  async def create_exchange_key(
42
43
  self,
@@ -45,8 +46,9 @@ class APIKeysApi:
45
46
  None,
46
47
  Annotated[StrictFloat, Field(gt=0)],
47
48
  Tuple[
48
- Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
49
- ],
49
+ Annotated[StrictFloat, Field(gt=0)],
50
+ Annotated[StrictFloat, Field(gt=0)]
51
+ ]
50
52
  ] = None,
51
53
  _request_auth: Optional[Dict[StrictStr, Any]] = None,
52
54
  _content_type: Optional[StrictStr] = None,
@@ -78,22 +80,23 @@ class APIKeysApi:
78
80
  in the spec for a single request.
79
81
  :type _host_index: int, optional
80
82
  :return: Returns the result object.
81
- """ # noqa: E501
83
+ """ # noqa: E501
82
84
 
83
85
  _param = self._create_exchange_key_serialize(
84
86
  exchange_key_model=exchange_key_model,
85
87
  _request_auth=_request_auth,
86
88
  _content_type=_content_type,
87
89
  _headers=_headers,
88
- _host_index=_host_index,
90
+ _host_index=_host_index
89
91
  )
90
92
 
91
93
  _response_types_map: Dict[str, Optional[str]] = {
92
- "200": "object",
93
- "422": "HTTPValidationError",
94
+ '200': "object",
95
+ '422': "HTTPValidationError",
94
96
  }
95
97
  response_data = await self.api_client.call_api(
96
- *_param, _request_timeout=_request_timeout
98
+ *_param,
99
+ _request_timeout=_request_timeout
97
100
  )
98
101
  await response_data.read()
99
102
  return self.api_client.response_deserialize(
@@ -101,6 +104,7 @@ class APIKeysApi:
101
104
  response_types_map=_response_types_map,
102
105
  ).data
103
106
 
107
+
104
108
  @validate_call
105
109
  async def create_exchange_key_with_http_info(
106
110
  self,
@@ -109,8 +113,9 @@ class APIKeysApi:
109
113
  None,
110
114
  Annotated[StrictFloat, Field(gt=0)],
111
115
  Tuple[
112
- Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
113
- ],
116
+ Annotated[StrictFloat, Field(gt=0)],
117
+ Annotated[StrictFloat, Field(gt=0)]
118
+ ]
114
119
  ] = None,
115
120
  _request_auth: Optional[Dict[StrictStr, Any]] = None,
116
121
  _content_type: Optional[StrictStr] = None,
@@ -142,22 +147,23 @@ class APIKeysApi:
142
147
  in the spec for a single request.
143
148
  :type _host_index: int, optional
144
149
  :return: Returns the result object.
145
- """ # noqa: E501
150
+ """ # noqa: E501
146
151
 
147
152
  _param = self._create_exchange_key_serialize(
148
153
  exchange_key_model=exchange_key_model,
149
154
  _request_auth=_request_auth,
150
155
  _content_type=_content_type,
151
156
  _headers=_headers,
152
- _host_index=_host_index,
157
+ _host_index=_host_index
153
158
  )
154
159
 
155
160
  _response_types_map: Dict[str, Optional[str]] = {
156
- "200": "object",
157
- "422": "HTTPValidationError",
161
+ '200': "object",
162
+ '422': "HTTPValidationError",
158
163
  }
159
164
  response_data = await self.api_client.call_api(
160
- *_param, _request_timeout=_request_timeout
165
+ *_param,
166
+ _request_timeout=_request_timeout
161
167
  )
162
168
  await response_data.read()
163
169
  return self.api_client.response_deserialize(
@@ -165,6 +171,7 @@ class APIKeysApi:
165
171
  response_types_map=_response_types_map,
166
172
  )
167
173
 
174
+
168
175
  @validate_call
169
176
  async def create_exchange_key_without_preload_content(
170
177
  self,
@@ -173,8 +180,9 @@ class APIKeysApi:
173
180
  None,
174
181
  Annotated[StrictFloat, Field(gt=0)],
175
182
  Tuple[
176
- Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
177
- ],
183
+ Annotated[StrictFloat, Field(gt=0)],
184
+ Annotated[StrictFloat, Field(gt=0)]
185
+ ]
178
186
  ] = None,
179
187
  _request_auth: Optional[Dict[StrictStr, Any]] = None,
180
188
  _content_type: Optional[StrictStr] = None,
@@ -206,25 +214,27 @@ class APIKeysApi:
206
214
  in the spec for a single request.
207
215
  :type _host_index: int, optional
208
216
  :return: Returns the result object.
209
- """ # noqa: E501
217
+ """ # noqa: E501
210
218
 
211
219
  _param = self._create_exchange_key_serialize(
212
220
  exchange_key_model=exchange_key_model,
213
221
  _request_auth=_request_auth,
214
222
  _content_type=_content_type,
215
223
  _headers=_headers,
216
- _host_index=_host_index,
224
+ _host_index=_host_index
217
225
  )
218
226
 
219
227
  _response_types_map: Dict[str, Optional[str]] = {
220
- "200": "object",
221
- "422": "HTTPValidationError",
228
+ '200': "object",
229
+ '422': "HTTPValidationError",
222
230
  }
223
231
  response_data = await self.api_client.call_api(
224
- *_param, _request_timeout=_request_timeout
232
+ *_param,
233
+ _request_timeout=_request_timeout
225
234
  )
226
235
  return response_data.response
227
236
 
237
+
228
238
  def _create_exchange_key_serialize(
229
239
  self,
230
240
  exchange_key_model,
@@ -236,7 +246,8 @@ class APIKeysApi:
236
246
 
237
247
  _host = None
238
248
 
239
- _collection_formats: Dict[str, str] = {}
249
+ _collection_formats: Dict[str, str] = {
250
+ }
240
251
 
241
252
  _path_params: Dict[str, str] = {}
242
253
  _query_params: List[Tuple[str, str]] = []
@@ -255,28 +266,38 @@ class APIKeysApi:
255
266
  if exchange_key_model is not None:
256
267
  _body_params = exchange_key_model
257
268
 
269
+
258
270
  # set the HTTP header `Accept`
259
- if "Accept" not in _header_params:
260
- _header_params["Accept"] = self.api_client.select_header_accept(
261
- ["application/json"]
271
+ if 'Accept' not in _header_params:
272
+ _header_params['Accept'] = self.api_client.select_header_accept(
273
+ [
274
+ 'application/json'
275
+ ]
262
276
  )
263
277
 
264
278
  # set the HTTP header `Content-Type`
265
279
  if _content_type:
266
- _header_params["Content-Type"] = _content_type
280
+ _header_params['Content-Type'] = _content_type
267
281
  else:
268
- _default_content_type = self.api_client.select_header_content_type(
269
- ["application/json"]
282
+ _default_content_type = (
283
+ self.api_client.select_header_content_type(
284
+ [
285
+ 'application/json'
286
+ ]
287
+ )
270
288
  )
271
289
  if _default_content_type is not None:
272
- _header_params["Content-Type"] = _default_content_type
290
+ _header_params['Content-Type'] = _default_content_type
273
291
 
274
292
  # authentication setting
275
- _auth_settings: List[str] = ["APIKeyHeader", "HTTPBearer"]
293
+ _auth_settings: List[str] = [
294
+ 'APIKeyHeader',
295
+ 'HTTPBearer'
296
+ ]
276
297
 
277
298
  return self.api_client.param_serialize(
278
- method="POST",
279
- resource_path="/api-keys",
299
+ method='POST',
300
+ resource_path='/api-keys',
280
301
  path_params=_path_params,
281
302
  query_params=_query_params,
282
303
  header_params=_header_params,
@@ -286,9 +307,12 @@ class APIKeysApi:
286
307
  auth_settings=_auth_settings,
287
308
  collection_formats=_collection_formats,
288
309
  _host=_host,
289
- _request_auth=_request_auth,
310
+ _request_auth=_request_auth
290
311
  )
291
312
 
313
+
314
+
315
+
292
316
  @validate_call
293
317
  async def delete_exchange_key(
294
318
  self,
@@ -297,8 +321,9 @@ class APIKeysApi:
297
321
  None,
298
322
  Annotated[StrictFloat, Field(gt=0)],
299
323
  Tuple[
300
- Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
301
- ],
324
+ Annotated[StrictFloat, Field(gt=0)],
325
+ Annotated[StrictFloat, Field(gt=0)]
326
+ ]
302
327
  ] = None,
303
328
  _request_auth: Optional[Dict[StrictStr, Any]] = None,
304
329
  _content_type: Optional[StrictStr] = None,
@@ -330,22 +355,23 @@ class APIKeysApi:
330
355
  in the spec for a single request.
331
356
  :type _host_index: int, optional
332
357
  :return: Returns the result object.
333
- """ # noqa: E501
358
+ """ # noqa: E501
334
359
 
335
360
  _param = self._delete_exchange_key_serialize(
336
361
  id=id,
337
362
  _request_auth=_request_auth,
338
363
  _content_type=_content_type,
339
364
  _headers=_headers,
340
- _host_index=_host_index,
365
+ _host_index=_host_index
341
366
  )
342
367
 
343
368
  _response_types_map: Dict[str, Optional[str]] = {
344
- "200": "object",
345
- "422": "HTTPValidationError",
369
+ '200': "object",
370
+ '422': "HTTPValidationError",
346
371
  }
347
372
  response_data = await self.api_client.call_api(
348
- *_param, _request_timeout=_request_timeout
373
+ *_param,
374
+ _request_timeout=_request_timeout
349
375
  )
350
376
  await response_data.read()
351
377
  return self.api_client.response_deserialize(
@@ -353,6 +379,7 @@ class APIKeysApi:
353
379
  response_types_map=_response_types_map,
354
380
  ).data
355
381
 
382
+
356
383
  @validate_call
357
384
  async def delete_exchange_key_with_http_info(
358
385
  self,
@@ -361,8 +388,9 @@ class APIKeysApi:
361
388
  None,
362
389
  Annotated[StrictFloat, Field(gt=0)],
363
390
  Tuple[
364
- Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
365
- ],
391
+ Annotated[StrictFloat, Field(gt=0)],
392
+ Annotated[StrictFloat, Field(gt=0)]
393
+ ]
366
394
  ] = None,
367
395
  _request_auth: Optional[Dict[StrictStr, Any]] = None,
368
396
  _content_type: Optional[StrictStr] = None,
@@ -394,22 +422,23 @@ class APIKeysApi:
394
422
  in the spec for a single request.
395
423
  :type _host_index: int, optional
396
424
  :return: Returns the result object.
397
- """ # noqa: E501
425
+ """ # noqa: E501
398
426
 
399
427
  _param = self._delete_exchange_key_serialize(
400
428
  id=id,
401
429
  _request_auth=_request_auth,
402
430
  _content_type=_content_type,
403
431
  _headers=_headers,
404
- _host_index=_host_index,
432
+ _host_index=_host_index
405
433
  )
406
434
 
407
435
  _response_types_map: Dict[str, Optional[str]] = {
408
- "200": "object",
409
- "422": "HTTPValidationError",
436
+ '200': "object",
437
+ '422': "HTTPValidationError",
410
438
  }
411
439
  response_data = await self.api_client.call_api(
412
- *_param, _request_timeout=_request_timeout
440
+ *_param,
441
+ _request_timeout=_request_timeout
413
442
  )
414
443
  await response_data.read()
415
444
  return self.api_client.response_deserialize(
@@ -417,6 +446,7 @@ class APIKeysApi:
417
446
  response_types_map=_response_types_map,
418
447
  )
419
448
 
449
+
420
450
  @validate_call
421
451
  async def delete_exchange_key_without_preload_content(
422
452
  self,
@@ -425,8 +455,9 @@ class APIKeysApi:
425
455
  None,
426
456
  Annotated[StrictFloat, Field(gt=0)],
427
457
  Tuple[
428
- Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
429
- ],
458
+ Annotated[StrictFloat, Field(gt=0)],
459
+ Annotated[StrictFloat, Field(gt=0)]
460
+ ]
430
461
  ] = None,
431
462
  _request_auth: Optional[Dict[StrictStr, Any]] = None,
432
463
  _content_type: Optional[StrictStr] = None,
@@ -458,25 +489,27 @@ class APIKeysApi:
458
489
  in the spec for a single request.
459
490
  :type _host_index: int, optional
460
491
  :return: Returns the result object.
461
- """ # noqa: E501
492
+ """ # noqa: E501
462
493
 
463
494
  _param = self._delete_exchange_key_serialize(
464
495
  id=id,
465
496
  _request_auth=_request_auth,
466
497
  _content_type=_content_type,
467
498
  _headers=_headers,
468
- _host_index=_host_index,
499
+ _host_index=_host_index
469
500
  )
470
501
 
471
502
  _response_types_map: Dict[str, Optional[str]] = {
472
- "200": "object",
473
- "422": "HTTPValidationError",
503
+ '200': "object",
504
+ '422': "HTTPValidationError",
474
505
  }
475
506
  response_data = await self.api_client.call_api(
476
- *_param, _request_timeout=_request_timeout
507
+ *_param,
508
+ _request_timeout=_request_timeout
477
509
  )
478
510
  return response_data.response
479
511
 
512
+
480
513
  def _delete_exchange_key_serialize(
481
514
  self,
482
515
  id,
@@ -488,7 +521,8 @@ class APIKeysApi:
488
521
 
489
522
  _host = None
490
523
 
491
- _collection_formats: Dict[str, str] = {}
524
+ _collection_formats: Dict[str, str] = {
525
+ }
492
526
 
493
527
  _path_params: Dict[str, str] = {}
494
528
  _query_params: List[Tuple[str, str]] = []
@@ -501,24 +535,31 @@ class APIKeysApi:
501
535
 
502
536
  # process the path parameters
503
537
  if id is not None:
504
- _path_params["id"] = id
538
+ _path_params['id'] = id
505
539
  # process the query parameters
506
540
  # process the header parameters
507
541
  # process the form parameters
508
542
  # process the body parameter
509
543
 
544
+
510
545
  # set the HTTP header `Accept`
511
- if "Accept" not in _header_params:
512
- _header_params["Accept"] = self.api_client.select_header_accept(
513
- ["application/json"]
546
+ if 'Accept' not in _header_params:
547
+ _header_params['Accept'] = self.api_client.select_header_accept(
548
+ [
549
+ 'application/json'
550
+ ]
514
551
  )
515
552
 
553
+
516
554
  # authentication setting
517
- _auth_settings: List[str] = ["APIKeyHeader", "HTTPBearer"]
555
+ _auth_settings: List[str] = [
556
+ 'APIKeyHeader',
557
+ 'HTTPBearer'
558
+ ]
518
559
 
519
560
  return self.api_client.param_serialize(
520
- method="DELETE",
521
- resource_path="/api-keys/{id}",
561
+ method='DELETE',
562
+ resource_path='/api-keys/{id}',
522
563
  path_params=_path_params,
523
564
  query_params=_query_params,
524
565
  header_params=_header_params,
@@ -528,9 +569,12 @@ class APIKeysApi:
528
569
  auth_settings=_auth_settings,
529
570
  collection_formats=_collection_formats,
530
571
  _host=_host,
531
- _request_auth=_request_auth,
572
+ _request_auth=_request_auth
532
573
  )
533
574
 
575
+
576
+
577
+
534
578
  @validate_call
535
579
  async def get_exchange_key_by_id(
536
580
  self,
@@ -539,8 +583,9 @@ class APIKeysApi:
539
583
  None,
540
584
  Annotated[StrictFloat, Field(gt=0)],
541
585
  Tuple[
542
- Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
543
- ],
586
+ Annotated[StrictFloat, Field(gt=0)],
587
+ Annotated[StrictFloat, Field(gt=0)]
588
+ ]
544
589
  ] = None,
545
590
  _request_auth: Optional[Dict[StrictStr, Any]] = None,
546
591
  _content_type: Optional[StrictStr] = None,
@@ -572,22 +617,23 @@ class APIKeysApi:
572
617
  in the spec for a single request.
573
618
  :type _host_index: int, optional
574
619
  :return: Returns the result object.
575
- """ # noqa: E501
620
+ """ # noqa: E501
576
621
 
577
622
  _param = self._get_exchange_key_by_id_serialize(
578
623
  id=id,
579
624
  _request_auth=_request_auth,
580
625
  _content_type=_content_type,
581
626
  _headers=_headers,
582
- _host_index=_host_index,
627
+ _host_index=_host_index
583
628
  )
584
629
 
585
630
  _response_types_map: Dict[str, Optional[str]] = {
586
- "200": "ExchangeKeyModel",
587
- "422": "HTTPValidationError",
631
+ '200': "ExchangeKeyModel",
632
+ '422': "HTTPValidationError",
588
633
  }
589
634
  response_data = await self.api_client.call_api(
590
- *_param, _request_timeout=_request_timeout
635
+ *_param,
636
+ _request_timeout=_request_timeout
591
637
  )
592
638
  await response_data.read()
593
639
  return self.api_client.response_deserialize(
@@ -595,6 +641,7 @@ class APIKeysApi:
595
641
  response_types_map=_response_types_map,
596
642
  ).data
597
643
 
644
+
598
645
  @validate_call
599
646
  async def get_exchange_key_by_id_with_http_info(
600
647
  self,
@@ -603,8 +650,9 @@ class APIKeysApi:
603
650
  None,
604
651
  Annotated[StrictFloat, Field(gt=0)],
605
652
  Tuple[
606
- Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
607
- ],
653
+ Annotated[StrictFloat, Field(gt=0)],
654
+ Annotated[StrictFloat, Field(gt=0)]
655
+ ]
608
656
  ] = None,
609
657
  _request_auth: Optional[Dict[StrictStr, Any]] = None,
610
658
  _content_type: Optional[StrictStr] = None,
@@ -636,22 +684,23 @@ class APIKeysApi:
636
684
  in the spec for a single request.
637
685
  :type _host_index: int, optional
638
686
  :return: Returns the result object.
639
- """ # noqa: E501
687
+ """ # noqa: E501
640
688
 
641
689
  _param = self._get_exchange_key_by_id_serialize(
642
690
  id=id,
643
691
  _request_auth=_request_auth,
644
692
  _content_type=_content_type,
645
693
  _headers=_headers,
646
- _host_index=_host_index,
694
+ _host_index=_host_index
647
695
  )
648
696
 
649
697
  _response_types_map: Dict[str, Optional[str]] = {
650
- "200": "ExchangeKeyModel",
651
- "422": "HTTPValidationError",
698
+ '200': "ExchangeKeyModel",
699
+ '422': "HTTPValidationError",
652
700
  }
653
701
  response_data = await self.api_client.call_api(
654
- *_param, _request_timeout=_request_timeout
702
+ *_param,
703
+ _request_timeout=_request_timeout
655
704
  )
656
705
  await response_data.read()
657
706
  return self.api_client.response_deserialize(
@@ -659,6 +708,7 @@ class APIKeysApi:
659
708
  response_types_map=_response_types_map,
660
709
  )
661
710
 
711
+
662
712
  @validate_call
663
713
  async def get_exchange_key_by_id_without_preload_content(
664
714
  self,
@@ -667,8 +717,9 @@ class APIKeysApi:
667
717
  None,
668
718
  Annotated[StrictFloat, Field(gt=0)],
669
719
  Tuple[
670
- Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
671
- ],
720
+ Annotated[StrictFloat, Field(gt=0)],
721
+ Annotated[StrictFloat, Field(gt=0)]
722
+ ]
672
723
  ] = None,
673
724
  _request_auth: Optional[Dict[StrictStr, Any]] = None,
674
725
  _content_type: Optional[StrictStr] = None,
@@ -700,25 +751,27 @@ class APIKeysApi:
700
751
  in the spec for a single request.
701
752
  :type _host_index: int, optional
702
753
  :return: Returns the result object.
703
- """ # noqa: E501
754
+ """ # noqa: E501
704
755
 
705
756
  _param = self._get_exchange_key_by_id_serialize(
706
757
  id=id,
707
758
  _request_auth=_request_auth,
708
759
  _content_type=_content_type,
709
760
  _headers=_headers,
710
- _host_index=_host_index,
761
+ _host_index=_host_index
711
762
  )
712
763
 
713
764
  _response_types_map: Dict[str, Optional[str]] = {
714
- "200": "ExchangeKeyModel",
715
- "422": "HTTPValidationError",
765
+ '200': "ExchangeKeyModel",
766
+ '422': "HTTPValidationError",
716
767
  }
717
768
  response_data = await self.api_client.call_api(
718
- *_param, _request_timeout=_request_timeout
769
+ *_param,
770
+ _request_timeout=_request_timeout
719
771
  )
720
772
  return response_data.response
721
773
 
774
+
722
775
  def _get_exchange_key_by_id_serialize(
723
776
  self,
724
777
  id,
@@ -730,7 +783,8 @@ class APIKeysApi:
730
783
 
731
784
  _host = None
732
785
 
733
- _collection_formats: Dict[str, str] = {}
786
+ _collection_formats: Dict[str, str] = {
787
+ }
734
788
 
735
789
  _path_params: Dict[str, str] = {}
736
790
  _query_params: List[Tuple[str, str]] = []
@@ -743,24 +797,31 @@ class APIKeysApi:
743
797
 
744
798
  # process the path parameters
745
799
  if id is not None:
746
- _path_params["id"] = id
800
+ _path_params['id'] = id
747
801
  # process the query parameters
748
802
  # process the header parameters
749
803
  # process the form parameters
750
804
  # process the body parameter
751
805
 
806
+
752
807
  # set the HTTP header `Accept`
753
- if "Accept" not in _header_params:
754
- _header_params["Accept"] = self.api_client.select_header_accept(
755
- ["application/json"]
808
+ if 'Accept' not in _header_params:
809
+ _header_params['Accept'] = self.api_client.select_header_accept(
810
+ [
811
+ 'application/json'
812
+ ]
756
813
  )
757
814
 
815
+
758
816
  # authentication setting
759
- _auth_settings: List[str] = ["APIKeyHeader", "HTTPBearer"]
817
+ _auth_settings: List[str] = [
818
+ 'APIKeyHeader',
819
+ 'HTTPBearer'
820
+ ]
760
821
 
761
822
  return self.api_client.param_serialize(
762
- method="GET",
763
- resource_path="/api-keys/{id}",
823
+ method='GET',
824
+ resource_path='/api-keys/{id}',
764
825
  path_params=_path_params,
765
826
  query_params=_query_params,
766
827
  header_params=_header_params,
@@ -770,9 +831,12 @@ class APIKeysApi:
770
831
  auth_settings=_auth_settings,
771
832
  collection_formats=_collection_formats,
772
833
  _host=_host,
773
- _request_auth=_request_auth,
834
+ _request_auth=_request_auth
774
835
  )
775
836
 
837
+
838
+
839
+
776
840
  @validate_call
777
841
  async def get_exchange_keys(
778
842
  self,
@@ -782,8 +846,9 @@ class APIKeysApi:
782
846
  None,
783
847
  Annotated[StrictFloat, Field(gt=0)],
784
848
  Tuple[
785
- Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
786
- ],
849
+ Annotated[StrictFloat, Field(gt=0)],
850
+ Annotated[StrictFloat, Field(gt=0)]
851
+ ]
787
852
  ] = None,
788
853
  _request_auth: Optional[Dict[StrictStr, Any]] = None,
789
854
  _content_type: Optional[StrictStr] = None,
@@ -817,7 +882,7 @@ class APIKeysApi:
817
882
  in the spec for a single request.
818
883
  :type _host_index: int, optional
819
884
  :return: Returns the result object.
820
- """ # noqa: E501
885
+ """ # noqa: E501
821
886
 
822
887
  _param = self._get_exchange_keys_serialize(
823
888
  limit=limit,
@@ -825,15 +890,16 @@ class APIKeysApi:
825
890
  _request_auth=_request_auth,
826
891
  _content_type=_content_type,
827
892
  _headers=_headers,
828
- _host_index=_host_index,
893
+ _host_index=_host_index
829
894
  )
830
895
 
831
896
  _response_types_map: Dict[str, Optional[str]] = {
832
- "200": "List[ExchangeKeyModel]",
833
- "422": "HTTPValidationError",
897
+ '200': "List[ExchangeKeyModel]",
898
+ '422': "HTTPValidationError",
834
899
  }
835
900
  response_data = await self.api_client.call_api(
836
- *_param, _request_timeout=_request_timeout
901
+ *_param,
902
+ _request_timeout=_request_timeout
837
903
  )
838
904
  await response_data.read()
839
905
  return self.api_client.response_deserialize(
@@ -841,6 +907,7 @@ class APIKeysApi:
841
907
  response_types_map=_response_types_map,
842
908
  ).data
843
909
 
910
+
844
911
  @validate_call
845
912
  async def get_exchange_keys_with_http_info(
846
913
  self,
@@ -850,8 +917,9 @@ class APIKeysApi:
850
917
  None,
851
918
  Annotated[StrictFloat, Field(gt=0)],
852
919
  Tuple[
853
- Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
854
- ],
920
+ Annotated[StrictFloat, Field(gt=0)],
921
+ Annotated[StrictFloat, Field(gt=0)]
922
+ ]
855
923
  ] = None,
856
924
  _request_auth: Optional[Dict[StrictStr, Any]] = None,
857
925
  _content_type: Optional[StrictStr] = None,
@@ -885,7 +953,7 @@ class APIKeysApi:
885
953
  in the spec for a single request.
886
954
  :type _host_index: int, optional
887
955
  :return: Returns the result object.
888
- """ # noqa: E501
956
+ """ # noqa: E501
889
957
 
890
958
  _param = self._get_exchange_keys_serialize(
891
959
  limit=limit,
@@ -893,15 +961,16 @@ class APIKeysApi:
893
961
  _request_auth=_request_auth,
894
962
  _content_type=_content_type,
895
963
  _headers=_headers,
896
- _host_index=_host_index,
964
+ _host_index=_host_index
897
965
  )
898
966
 
899
967
  _response_types_map: Dict[str, Optional[str]] = {
900
- "200": "List[ExchangeKeyModel]",
901
- "422": "HTTPValidationError",
968
+ '200': "List[ExchangeKeyModel]",
969
+ '422': "HTTPValidationError",
902
970
  }
903
971
  response_data = await self.api_client.call_api(
904
- *_param, _request_timeout=_request_timeout
972
+ *_param,
973
+ _request_timeout=_request_timeout
905
974
  )
906
975
  await response_data.read()
907
976
  return self.api_client.response_deserialize(
@@ -909,6 +978,7 @@ class APIKeysApi:
909
978
  response_types_map=_response_types_map,
910
979
  )
911
980
 
981
+
912
982
  @validate_call
913
983
  async def get_exchange_keys_without_preload_content(
914
984
  self,
@@ -918,8 +988,9 @@ class APIKeysApi:
918
988
  None,
919
989
  Annotated[StrictFloat, Field(gt=0)],
920
990
  Tuple[
921
- Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
922
- ],
991
+ Annotated[StrictFloat, Field(gt=0)],
992
+ Annotated[StrictFloat, Field(gt=0)]
993
+ ]
923
994
  ] = None,
924
995
  _request_auth: Optional[Dict[StrictStr, Any]] = None,
925
996
  _content_type: Optional[StrictStr] = None,
@@ -953,7 +1024,7 @@ class APIKeysApi:
953
1024
  in the spec for a single request.
954
1025
  :type _host_index: int, optional
955
1026
  :return: Returns the result object.
956
- """ # noqa: E501
1027
+ """ # noqa: E501
957
1028
 
958
1029
  _param = self._get_exchange_keys_serialize(
959
1030
  limit=limit,
@@ -961,18 +1032,20 @@ class APIKeysApi:
961
1032
  _request_auth=_request_auth,
962
1033
  _content_type=_content_type,
963
1034
  _headers=_headers,
964
- _host_index=_host_index,
1035
+ _host_index=_host_index
965
1036
  )
966
1037
 
967
1038
  _response_types_map: Dict[str, Optional[str]] = {
968
- "200": "List[ExchangeKeyModel]",
969
- "422": "HTTPValidationError",
1039
+ '200': "List[ExchangeKeyModel]",
1040
+ '422': "HTTPValidationError",
970
1041
  }
971
1042
  response_data = await self.api_client.call_api(
972
- *_param, _request_timeout=_request_timeout
1043
+ *_param,
1044
+ _request_timeout=_request_timeout
973
1045
  )
974
1046
  return response_data.response
975
1047
 
1048
+
976
1049
  def _get_exchange_keys_serialize(
977
1050
  self,
978
1051
  limit,
@@ -985,7 +1058,8 @@ class APIKeysApi:
985
1058
 
986
1059
  _host = None
987
1060
 
988
- _collection_formats: Dict[str, str] = {}
1061
+ _collection_formats: Dict[str, str] = {
1062
+ }
989
1063
 
990
1064
  _path_params: Dict[str, str] = {}
991
1065
  _query_params: List[Tuple[str, str]] = []
@@ -999,29 +1073,36 @@ class APIKeysApi:
999
1073
  # process the path parameters
1000
1074
  # process the query parameters
1001
1075
  if limit is not None:
1002
-
1003
- _query_params.append(("limit", limit))
1004
-
1076
+
1077
+ _query_params.append(('limit', limit))
1078
+
1005
1079
  if offset is not None:
1006
-
1007
- _query_params.append(("offset", offset))
1008
-
1080
+
1081
+ _query_params.append(('offset', offset))
1082
+
1009
1083
  # process the header parameters
1010
1084
  # process the form parameters
1011
1085
  # process the body parameter
1012
1086
 
1087
+
1013
1088
  # set the HTTP header `Accept`
1014
- if "Accept" not in _header_params:
1015
- _header_params["Accept"] = self.api_client.select_header_accept(
1016
- ["application/json"]
1089
+ if 'Accept' not in _header_params:
1090
+ _header_params['Accept'] = self.api_client.select_header_accept(
1091
+ [
1092
+ 'application/json'
1093
+ ]
1017
1094
  )
1018
1095
 
1096
+
1019
1097
  # authentication setting
1020
- _auth_settings: List[str] = ["APIKeyHeader", "HTTPBearer"]
1098
+ _auth_settings: List[str] = [
1099
+ 'APIKeyHeader',
1100
+ 'HTTPBearer'
1101
+ ]
1021
1102
 
1022
1103
  return self.api_client.param_serialize(
1023
- method="GET",
1024
- resource_path="/api-keys",
1104
+ method='GET',
1105
+ resource_path='/api-keys',
1025
1106
  path_params=_path_params,
1026
1107
  query_params=_query_params,
1027
1108
  header_params=_header_params,
@@ -1031,9 +1112,12 @@ class APIKeysApi:
1031
1112
  auth_settings=_auth_settings,
1032
1113
  collection_formats=_collection_formats,
1033
1114
  _host=_host,
1034
- _request_auth=_request_auth,
1115
+ _request_auth=_request_auth
1035
1116
  )
1036
1117
 
1118
+
1119
+
1120
+
1037
1121
  @validate_call
1038
1122
  async def update_exchange_key(
1039
1123
  self,
@@ -1043,8 +1127,9 @@ class APIKeysApi:
1043
1127
  None,
1044
1128
  Annotated[StrictFloat, Field(gt=0)],
1045
1129
  Tuple[
1046
- Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1047
- ],
1130
+ Annotated[StrictFloat, Field(gt=0)],
1131
+ Annotated[StrictFloat, Field(gt=0)]
1132
+ ]
1048
1133
  ] = None,
1049
1134
  _request_auth: Optional[Dict[StrictStr, Any]] = None,
1050
1135
  _content_type: Optional[StrictStr] = None,
@@ -1078,7 +1163,7 @@ class APIKeysApi:
1078
1163
  in the spec for a single request.
1079
1164
  :type _host_index: int, optional
1080
1165
  :return: Returns the result object.
1081
- """ # noqa: E501
1166
+ """ # noqa: E501
1082
1167
 
1083
1168
  _param = self._update_exchange_key_serialize(
1084
1169
  id=id,
@@ -1086,15 +1171,16 @@ class APIKeysApi:
1086
1171
  _request_auth=_request_auth,
1087
1172
  _content_type=_content_type,
1088
1173
  _headers=_headers,
1089
- _host_index=_host_index,
1174
+ _host_index=_host_index
1090
1175
  )
1091
1176
 
1092
1177
  _response_types_map: Dict[str, Optional[str]] = {
1093
- "200": "object",
1094
- "422": "HTTPValidationError",
1178
+ '200': "object",
1179
+ '422': "HTTPValidationError",
1095
1180
  }
1096
1181
  response_data = await self.api_client.call_api(
1097
- *_param, _request_timeout=_request_timeout
1182
+ *_param,
1183
+ _request_timeout=_request_timeout
1098
1184
  )
1099
1185
  await response_data.read()
1100
1186
  return self.api_client.response_deserialize(
@@ -1102,6 +1188,7 @@ class APIKeysApi:
1102
1188
  response_types_map=_response_types_map,
1103
1189
  ).data
1104
1190
 
1191
+
1105
1192
  @validate_call
1106
1193
  async def update_exchange_key_with_http_info(
1107
1194
  self,
@@ -1111,8 +1198,9 @@ class APIKeysApi:
1111
1198
  None,
1112
1199
  Annotated[StrictFloat, Field(gt=0)],
1113
1200
  Tuple[
1114
- Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1115
- ],
1201
+ Annotated[StrictFloat, Field(gt=0)],
1202
+ Annotated[StrictFloat, Field(gt=0)]
1203
+ ]
1116
1204
  ] = None,
1117
1205
  _request_auth: Optional[Dict[StrictStr, Any]] = None,
1118
1206
  _content_type: Optional[StrictStr] = None,
@@ -1146,7 +1234,7 @@ class APIKeysApi:
1146
1234
  in the spec for a single request.
1147
1235
  :type _host_index: int, optional
1148
1236
  :return: Returns the result object.
1149
- """ # noqa: E501
1237
+ """ # noqa: E501
1150
1238
 
1151
1239
  _param = self._update_exchange_key_serialize(
1152
1240
  id=id,
@@ -1154,15 +1242,16 @@ class APIKeysApi:
1154
1242
  _request_auth=_request_auth,
1155
1243
  _content_type=_content_type,
1156
1244
  _headers=_headers,
1157
- _host_index=_host_index,
1245
+ _host_index=_host_index
1158
1246
  )
1159
1247
 
1160
1248
  _response_types_map: Dict[str, Optional[str]] = {
1161
- "200": "object",
1162
- "422": "HTTPValidationError",
1249
+ '200': "object",
1250
+ '422': "HTTPValidationError",
1163
1251
  }
1164
1252
  response_data = await self.api_client.call_api(
1165
- *_param, _request_timeout=_request_timeout
1253
+ *_param,
1254
+ _request_timeout=_request_timeout
1166
1255
  )
1167
1256
  await response_data.read()
1168
1257
  return self.api_client.response_deserialize(
@@ -1170,6 +1259,7 @@ class APIKeysApi:
1170
1259
  response_types_map=_response_types_map,
1171
1260
  )
1172
1261
 
1262
+
1173
1263
  @validate_call
1174
1264
  async def update_exchange_key_without_preload_content(
1175
1265
  self,
@@ -1179,8 +1269,9 @@ class APIKeysApi:
1179
1269
  None,
1180
1270
  Annotated[StrictFloat, Field(gt=0)],
1181
1271
  Tuple[
1182
- Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1183
- ],
1272
+ Annotated[StrictFloat, Field(gt=0)],
1273
+ Annotated[StrictFloat, Field(gt=0)]
1274
+ ]
1184
1275
  ] = None,
1185
1276
  _request_auth: Optional[Dict[StrictStr, Any]] = None,
1186
1277
  _content_type: Optional[StrictStr] = None,
@@ -1214,7 +1305,7 @@ class APIKeysApi:
1214
1305
  in the spec for a single request.
1215
1306
  :type _host_index: int, optional
1216
1307
  :return: Returns the result object.
1217
- """ # noqa: E501
1308
+ """ # noqa: E501
1218
1309
 
1219
1310
  _param = self._update_exchange_key_serialize(
1220
1311
  id=id,
@@ -1222,18 +1313,20 @@ class APIKeysApi:
1222
1313
  _request_auth=_request_auth,
1223
1314
  _content_type=_content_type,
1224
1315
  _headers=_headers,
1225
- _host_index=_host_index,
1316
+ _host_index=_host_index
1226
1317
  )
1227
1318
 
1228
1319
  _response_types_map: Dict[str, Optional[str]] = {
1229
- "200": "object",
1230
- "422": "HTTPValidationError",
1320
+ '200': "object",
1321
+ '422': "HTTPValidationError",
1231
1322
  }
1232
1323
  response_data = await self.api_client.call_api(
1233
- *_param, _request_timeout=_request_timeout
1324
+ *_param,
1325
+ _request_timeout=_request_timeout
1234
1326
  )
1235
1327
  return response_data.response
1236
1328
 
1329
+
1237
1330
  def _update_exchange_key_serialize(
1238
1331
  self,
1239
1332
  id,
@@ -1246,7 +1339,8 @@ class APIKeysApi:
1246
1339
 
1247
1340
  _host = None
1248
1341
 
1249
- _collection_formats: Dict[str, str] = {}
1342
+ _collection_formats: Dict[str, str] = {
1343
+ }
1250
1344
 
1251
1345
  _path_params: Dict[str, str] = {}
1252
1346
  _query_params: List[Tuple[str, str]] = []
@@ -1259,7 +1353,7 @@ class APIKeysApi:
1259
1353
 
1260
1354
  # process the path parameters
1261
1355
  if id is not None:
1262
- _path_params["id"] = id
1356
+ _path_params['id'] = id
1263
1357
  # process the query parameters
1264
1358
  # process the header parameters
1265
1359
  # process the form parameters
@@ -1267,28 +1361,38 @@ class APIKeysApi:
1267
1361
  if exchange_key_model is not None:
1268
1362
  _body_params = exchange_key_model
1269
1363
 
1364
+
1270
1365
  # set the HTTP header `Accept`
1271
- if "Accept" not in _header_params:
1272
- _header_params["Accept"] = self.api_client.select_header_accept(
1273
- ["application/json"]
1366
+ if 'Accept' not in _header_params:
1367
+ _header_params['Accept'] = self.api_client.select_header_accept(
1368
+ [
1369
+ 'application/json'
1370
+ ]
1274
1371
  )
1275
1372
 
1276
1373
  # set the HTTP header `Content-Type`
1277
1374
  if _content_type:
1278
- _header_params["Content-Type"] = _content_type
1375
+ _header_params['Content-Type'] = _content_type
1279
1376
  else:
1280
- _default_content_type = self.api_client.select_header_content_type(
1281
- ["application/json"]
1377
+ _default_content_type = (
1378
+ self.api_client.select_header_content_type(
1379
+ [
1380
+ 'application/json'
1381
+ ]
1382
+ )
1282
1383
  )
1283
1384
  if _default_content_type is not None:
1284
- _header_params["Content-Type"] = _default_content_type
1385
+ _header_params['Content-Type'] = _default_content_type
1285
1386
 
1286
1387
  # authentication setting
1287
- _auth_settings: List[str] = ["APIKeyHeader", "HTTPBearer"]
1388
+ _auth_settings: List[str] = [
1389
+ 'APIKeyHeader',
1390
+ 'HTTPBearer'
1391
+ ]
1288
1392
 
1289
1393
  return self.api_client.param_serialize(
1290
- method="PUT",
1291
- resource_path="/api-keys/{id}",
1394
+ method='PUT',
1395
+ resource_path='/api-keys/{id}',
1292
1396
  path_params=_path_params,
1293
1397
  query_params=_query_params,
1294
1398
  header_params=_header_params,
@@ -1298,5 +1402,7 @@ class APIKeysApi:
1298
1402
  auth_settings=_auth_settings,
1299
1403
  collection_formats=_collection_formats,
1300
1404
  _host=_host,
1301
- _request_auth=_request_auth,
1405
+ _request_auth=_request_auth
1302
1406
  )
1407
+
1408
+