compass_api_sdk 0.9.49__py3-none-any.whl → 0.9.51__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.

Potentially problematic release.


This version of compass_api_sdk might be problematic. Click here for more details.

@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "compass_api_sdk"
6
- __version__: str = "0.9.49"
6
+ __version__: str = "0.9.51"
7
7
  __openapi_doc_version__: str = "0.0.1"
8
8
  __gen_version__: str = "2.657.1"
9
- __user_agent__: str = "speakeasy-sdk/python 0.9.49 2.657.1 0.0.1 compass_api_sdk"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.9.51 2.657.1 0.0.1 compass_api_sdk"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
@@ -375,6 +375,10 @@ if TYPE_CHECKING:
375
375
  GenericPortfolioRequest,
376
376
  GenericPortfolioRequestTypedDict,
377
377
  )
378
+ from .generic_supported_chainsop import (
379
+ GenericSupportedChainsRequest,
380
+ GenericSupportedChainsRequestTypedDict,
381
+ )
378
382
  from .generic_supported_tokensop import (
379
383
  GenericSupportedTokensChain,
380
384
  GenericSupportedTokensRequest,
@@ -403,6 +407,10 @@ if TYPE_CHECKING:
403
407
  MorphoMarketRequestTypedDict,
404
408
  )
405
409
  from .morpho_marketsop import (
410
+ CollateralToken,
411
+ CollateralTokenTypedDict,
412
+ LoanToken,
413
+ LoanTokenTypedDict,
406
414
  MorphoMarketsChain,
407
415
  MorphoMarketsRequest,
408
416
  MorphoMarketsRequestTypedDict,
@@ -418,6 +426,8 @@ if TYPE_CHECKING:
418
426
  MorphoVaultRequestTypedDict,
419
427
  )
420
428
  from .morpho_vaultsop import (
429
+ DepositToken,
430
+ DepositTokenTypedDict,
421
431
  MorphoVaultsChain,
422
432
  MorphoVaultsRequest,
423
433
  MorphoVaultsRequestTypedDict,
@@ -668,6 +678,7 @@ if TYPE_CHECKING:
668
678
  )
669
679
  from .portfolio import Portfolio, PortfolioTypedDict
670
680
  from .position import Position, PositionTypedDict
681
+ from .protocol import Protocol
671
682
  from .redeemunderlying import RedeemUnderlying, RedeemUnderlyingTypedDict
672
683
  from .repay import Repay, RepayTypedDict
673
684
  from .reserve import Reserve, ReserveTypedDict
@@ -750,6 +761,7 @@ if TYPE_CHECKING:
750
761
  from .skywithdrawparams import SkyWithdrawParams, SkyWithdrawParamsTypedDict
751
762
  from .skywithdrawrequest import SkyWithdrawRequest, SkyWithdrawRequestTypedDict
752
763
  from .supply import Supply, SupplyTypedDict
764
+ from .supportedchaininfo import SupportedChainInfo, SupportedChainInfoTypedDict
753
765
  from .swapborrowrate import SwapBorrowRate, SwapBorrowRateTypedDict
754
766
  from .syposition import SyPosition, SyPositionTypedDict
755
767
  from .token_addressop import (
@@ -1221,6 +1233,8 @@ __all__ = [
1221
1233
  "Chain",
1222
1234
  "ChainInfo",
1223
1235
  "ChainInfoTypedDict",
1236
+ "CollateralToken",
1237
+ "CollateralTokenTypedDict",
1224
1238
  "CompassAPIBackendModelsGenericReadResponsePortfolioTokenBalance",
1225
1239
  "CompassAPIBackendModelsGenericReadResponsePortfolioTokenBalanceTypedDict",
1226
1240
  "CompassAPIBackendModelsMorphoReadResponseCheckUserPositionApyData",
@@ -1253,6 +1267,8 @@ __all__ = [
1253
1267
  "CompassAPIBackendModelsVaultsReadResponseVaultAssetTypedDict",
1254
1268
  "CompassAPIBackendModelsVaultsReadResponseVaultUserPosition",
1255
1269
  "CompassAPIBackendModelsVaultsReadResponseVaultUserPositionTypedDict",
1270
+ "DepositToken",
1271
+ "DepositTokenTypedDict",
1256
1272
  "Details",
1257
1273
  "DetailsTypedDict",
1258
1274
  "EnsNameInfoResponse",
@@ -1274,6 +1290,8 @@ __all__ = [
1274
1290
  "GenericPortfolioChain",
1275
1291
  "GenericPortfolioRequest",
1276
1292
  "GenericPortfolioRequestTypedDict",
1293
+ "GenericSupportedChainsRequest",
1294
+ "GenericSupportedChainsRequestTypedDict",
1277
1295
  "GenericSupportedTokensChain",
1278
1296
  "GenericSupportedTokensRequest",
1279
1297
  "GenericSupportedTokensRequestTypedDict",
@@ -1289,6 +1307,8 @@ __all__ = [
1289
1307
  "LiquidationCallTypedDict",
1290
1308
  "LoanToValue",
1291
1309
  "LoanToValueTypedDict",
1310
+ "LoanToken",
1311
+ "LoanTokenTypedDict",
1292
1312
  "Loc",
1293
1313
  "LocTypedDict",
1294
1314
  "LpBalance",
@@ -1487,6 +1507,7 @@ __all__ = [
1487
1507
  "PortfolioTypedDict",
1488
1508
  "Position",
1489
1509
  "PositionTypedDict",
1510
+ "Protocol",
1490
1511
  "R",
1491
1512
  "RTypedDict",
1492
1513
  "RedeemUnderlying",
@@ -1557,6 +1578,8 @@ __all__ = [
1557
1578
  "SkyWithdrawRequestTypedDict",
1558
1579
  "Supply",
1559
1580
  "SupplyTypedDict",
1581
+ "SupportedChainInfo",
1582
+ "SupportedChainInfoTypedDict",
1560
1583
  "SwapBorrowRate",
1561
1584
  "SwapBorrowRateTypedDict",
1562
1585
  "SyPosition",
@@ -2022,6 +2045,8 @@ _dynamic_imports: dict[str, str] = {
2022
2045
  "GenericPortfolioChain": ".generic_portfolioop",
2023
2046
  "GenericPortfolioRequest": ".generic_portfolioop",
2024
2047
  "GenericPortfolioRequestTypedDict": ".generic_portfolioop",
2048
+ "GenericSupportedChainsRequest": ".generic_supported_chainsop",
2049
+ "GenericSupportedChainsRequestTypedDict": ".generic_supported_chainsop",
2025
2050
  "GenericSupportedTokensChain": ".generic_supported_tokensop",
2026
2051
  "GenericSupportedTokensRequest": ".generic_supported_tokensop",
2027
2052
  "GenericSupportedTokensRequestTypedDict": ".generic_supported_tokensop",
@@ -2047,6 +2072,10 @@ _dynamic_imports: dict[str, str] = {
2047
2072
  "MorphoMarketChain": ".morpho_marketop",
2048
2073
  "MorphoMarketRequest": ".morpho_marketop",
2049
2074
  "MorphoMarketRequestTypedDict": ".morpho_marketop",
2075
+ "CollateralToken": ".morpho_marketsop",
2076
+ "CollateralTokenTypedDict": ".morpho_marketsop",
2077
+ "LoanToken": ".morpho_marketsop",
2078
+ "LoanTokenTypedDict": ".morpho_marketsop",
2050
2079
  "MorphoMarketsChain": ".morpho_marketsop",
2051
2080
  "MorphoMarketsRequest": ".morpho_marketsop",
2052
2081
  "MorphoMarketsRequestTypedDict": ".morpho_marketsop",
@@ -2056,6 +2085,8 @@ _dynamic_imports: dict[str, str] = {
2056
2085
  "MorphoVaultChain": ".morpho_vaultop",
2057
2086
  "MorphoVaultRequest": ".morpho_vaultop",
2058
2087
  "MorphoVaultRequestTypedDict": ".morpho_vaultop",
2088
+ "DepositToken": ".morpho_vaultsop",
2089
+ "DepositTokenTypedDict": ".morpho_vaultsop",
2059
2090
  "MorphoVaultsChain": ".morpho_vaultsop",
2060
2091
  "MorphoVaultsRequest": ".morpho_vaultsop",
2061
2092
  "MorphoVaultsRequestTypedDict": ".morpho_vaultsop",
@@ -2227,6 +2258,7 @@ _dynamic_imports: dict[str, str] = {
2227
2258
  "PortfolioTypedDict": ".portfolio",
2228
2259
  "Position": ".position",
2229
2260
  "PositionTypedDict": ".position",
2261
+ "Protocol": ".protocol",
2230
2262
  "RedeemUnderlying": ".redeemunderlying",
2231
2263
  "RedeemUnderlyingTypedDict": ".redeemunderlying",
2232
2264
  "Repay": ".repay",
@@ -2297,6 +2329,8 @@ _dynamic_imports: dict[str, str] = {
2297
2329
  "SkyWithdrawRequestTypedDict": ".skywithdrawrequest",
2298
2330
  "Supply": ".supply",
2299
2331
  "SupplyTypedDict": ".supply",
2332
+ "SupportedChainInfo": ".supportedchaininfo",
2333
+ "SupportedChainInfoTypedDict": ".supportedchaininfo",
2300
2334
  "SwapBorrowRate": ".swapborrowrate",
2301
2335
  "SwapBorrowRateTypedDict": ".swapborrowrate",
2302
2336
  "SyPosition": ".syposition",
@@ -0,0 +1,57 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .protocol import Protocol
5
+ from compass_api_sdk.types import (
6
+ BaseModel,
7
+ Nullable,
8
+ OptionalNullable,
9
+ UNSET,
10
+ UNSET_SENTINEL,
11
+ )
12
+ from compass_api_sdk.utils import FieldMetadata, QueryParamMetadata
13
+ from pydantic import model_serializer
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
15
+
16
+
17
+ class GenericSupportedChainsRequestTypedDict(TypedDict):
18
+ protocol: NotRequired[Nullable[Protocol]]
19
+ r"""The protocol to get the supported chains for."""
20
+
21
+
22
+ class GenericSupportedChainsRequest(BaseModel):
23
+ protocol: Annotated[
24
+ OptionalNullable[Protocol],
25
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
26
+ ] = UNSET
27
+ r"""The protocol to get the supported chains for."""
28
+
29
+ @model_serializer(mode="wrap")
30
+ def serialize_model(self, handler):
31
+ optional_fields = ["protocol"]
32
+ nullable_fields = ["protocol"]
33
+ null_default_fields = []
34
+
35
+ serialized = handler(self)
36
+
37
+ m = {}
38
+
39
+ for n, f in type(self).model_fields.items():
40
+ k = f.alias or n
41
+ val = serialized.get(k)
42
+ serialized.pop(k, None)
43
+
44
+ optional_nullable = k in optional_fields and k in nullable_fields
45
+ is_set = (
46
+ self.__pydantic_fields_set__.intersection({n})
47
+ or k in null_default_fields
48
+ ) # pylint: disable=no-member
49
+
50
+ if val is not None and val != UNSET_SENTINEL:
51
+ m[k] = val
52
+ elif val != UNSET_SENTINEL and (
53
+ not k in optional_fields or (optional_nullable and is_set)
54
+ ):
55
+ m[k] = val
56
+
57
+ return m
@@ -1,6 +1,7 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from .token_enum import TokenEnum
4
5
  from compass_api_sdk.types import (
5
6
  BaseModel,
6
7
  Nullable,
@@ -11,7 +12,8 @@ from compass_api_sdk.types import (
11
12
  from compass_api_sdk.utils import FieldMetadata, QueryParamMetadata
12
13
  from enum import Enum
13
14
  from pydantic import model_serializer
14
- from typing_extensions import Annotated, NotRequired, TypedDict
15
+ from typing import Union
16
+ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
15
17
 
16
18
 
17
19
  class MorphoMarketsChain(str, Enum):
@@ -19,11 +21,29 @@ class MorphoMarketsChain(str, Enum):
19
21
  BASE_MAINNET = "base:mainnet"
20
22
 
21
23
 
24
+ CollateralTokenTypedDict = TypeAliasType(
25
+ "CollateralTokenTypedDict", Union[TokenEnum, str]
26
+ )
27
+ r"""Collateral token to identify the market."""
28
+
29
+
30
+ CollateralToken = TypeAliasType("CollateralToken", Union[TokenEnum, str])
31
+ r"""Collateral token to identify the market."""
32
+
33
+
34
+ LoanTokenTypedDict = TypeAliasType("LoanTokenTypedDict", Union[TokenEnum, str])
35
+ r"""Loan token to identify the market."""
36
+
37
+
38
+ LoanToken = TypeAliasType("LoanToken", Union[TokenEnum, str])
39
+ r"""Loan token to identify the market."""
40
+
41
+
22
42
  class MorphoMarketsRequestTypedDict(TypedDict):
23
43
  chain: MorphoMarketsChain
24
- collateral_token: NotRequired[Nullable[str]]
44
+ collateral_token: NotRequired[Nullable[CollateralTokenTypedDict]]
25
45
  r"""Collateral token to identify the market."""
26
- loan_token: NotRequired[Nullable[str]]
46
+ loan_token: NotRequired[Nullable[LoanTokenTypedDict]]
27
47
  r"""Loan token to identify the market."""
28
48
 
29
49
 
@@ -34,13 +54,13 @@ class MorphoMarketsRequest(BaseModel):
34
54
  ] = MorphoMarketsChain.BASE_MAINNET
35
55
 
36
56
  collateral_token: Annotated[
37
- OptionalNullable[str],
57
+ OptionalNullable[CollateralToken],
38
58
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
39
59
  ] = UNSET
40
60
  r"""Collateral token to identify the market."""
41
61
 
42
62
  loan_token: Annotated[
43
- OptionalNullable[str],
63
+ OptionalNullable[LoanToken],
44
64
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
45
65
  ] = UNSET
46
66
  r"""Loan token to identify the market."""
@@ -1,6 +1,7 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from .token_enum import TokenEnum
4
5
  from compass_api_sdk.types import (
5
6
  BaseModel,
6
7
  Nullable,
@@ -11,7 +12,8 @@ from compass_api_sdk.types import (
11
12
  from compass_api_sdk.utils import FieldMetadata, QueryParamMetadata
12
13
  from enum import Enum
13
14
  from pydantic import model_serializer
14
- from typing_extensions import Annotated, NotRequired, TypedDict
15
+ from typing import Union
16
+ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
15
17
 
16
18
 
17
19
  class MorphoVaultsChain(str, Enum):
@@ -19,9 +21,17 @@ class MorphoVaultsChain(str, Enum):
19
21
  BASE_MAINNET = "base:mainnet"
20
22
 
21
23
 
24
+ DepositTokenTypedDict = TypeAliasType("DepositTokenTypedDict", Union[TokenEnum, str])
25
+ r"""Token address that will filter vaults by this deposit token."""
26
+
27
+
28
+ DepositToken = TypeAliasType("DepositToken", Union[TokenEnum, str])
29
+ r"""Token address that will filter vaults by this deposit token."""
30
+
31
+
22
32
  class MorphoVaultsRequestTypedDict(TypedDict):
23
33
  chain: MorphoVaultsChain
24
- deposit_token: NotRequired[Nullable[str]]
34
+ deposit_token: NotRequired[Nullable[DepositTokenTypedDict]]
25
35
  r"""Token address that will filter vaults by this deposit token."""
26
36
 
27
37
 
@@ -32,7 +42,7 @@ class MorphoVaultsRequest(BaseModel):
32
42
  ] = MorphoVaultsChain.BASE_MAINNET
33
43
 
34
44
  deposit_token: Annotated[
35
- OptionalNullable[str],
45
+ OptionalNullable[DepositToken],
36
46
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
37
47
  ] = UNSET
38
48
  r"""Token address that will filter vaults by this deposit token."""
@@ -0,0 +1,13 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from enum import Enum
5
+
6
+
7
+ class Protocol(str, Enum):
8
+ AAVE = "aave"
9
+ AERODROME = "aerodrome"
10
+ MORPHO = "morpho"
11
+ SKY = "sky"
12
+ UNISWAP = "uniswap"
13
+ PENDLE = "pendle"
@@ -0,0 +1,19 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .chain import Chain
5
+ from compass_api_sdk.types import BaseModel
6
+ from typing import List
7
+ from typing_extensions import TypedDict
8
+
9
+
10
+ class SupportedChainInfoTypedDict(TypedDict):
11
+ r"""Response model for a chain."""
12
+
13
+ chains: List[Chain]
14
+
15
+
16
+ class SupportedChainInfo(BaseModel):
17
+ r"""Response model for a chain."""
18
+
19
+ chains: List[Chain]
@@ -8,7 +8,7 @@ from typing_extensions import Annotated, TypedDict
8
8
 
9
9
 
10
10
  class UserStateTypedDict(TypedDict):
11
- vaults_pnl_usd: str
11
+ vaults_pnl_usd: Nullable[str]
12
12
  vaults_assets_usd: str
13
13
  markets_pnl_usd: Nullable[str]
14
14
  markets_borrow_assets_usd: str
@@ -17,7 +17,7 @@ class UserStateTypedDict(TypedDict):
17
17
 
18
18
 
19
19
  class UserState(BaseModel):
20
- vaults_pnl_usd: Annotated[str, pydantic.Field(alias="vaultsPnlUsd")]
20
+ vaults_pnl_usd: Annotated[Nullable[str], pydantic.Field(alias="vaultsPnlUsd")]
21
21
 
22
22
  vaults_assets_usd: Annotated[str, pydantic.Field(alias="vaultsAssetsUsd")]
23
23
 
@@ -36,7 +36,7 @@ class UserState(BaseModel):
36
36
  @model_serializer(mode="wrap")
37
37
  def serialize_model(self, handler):
38
38
  optional_fields = []
39
- nullable_fields = ["marketsPnlUsd"]
39
+ nullable_fields = ["vaultsPnlUsd", "marketsPnlUsd"]
40
40
  null_default_fields = []
41
41
 
42
42
  serialized = handler(self)
compass_api_sdk/morpho.py CHANGED
@@ -13,7 +13,9 @@ class Morpho(BaseSDK):
13
13
  self,
14
14
  *,
15
15
  chain: models.MorphoVaultsChain = models.MorphoVaultsChain.BASE_MAINNET,
16
- deposit_token: OptionalNullable[str] = UNSET,
16
+ deposit_token: OptionalNullable[
17
+ Union[models.DepositToken, models.DepositTokenTypedDict]
18
+ ] = UNSET,
17
19
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
18
20
  server_url: Optional[str] = None,
19
21
  timeout_ms: Optional[int] = None,
@@ -107,7 +109,9 @@ class Morpho(BaseSDK):
107
109
  self,
108
110
  *,
109
111
  chain: models.MorphoVaultsChain = models.MorphoVaultsChain.BASE_MAINNET,
110
- deposit_token: OptionalNullable[str] = UNSET,
112
+ deposit_token: OptionalNullable[
113
+ Union[models.DepositToken, models.DepositTokenTypedDict]
114
+ ] = UNSET,
111
115
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
112
116
  server_url: Optional[str] = None,
113
117
  timeout_ms: Optional[int] = None,
@@ -397,8 +401,12 @@ class Morpho(BaseSDK):
397
401
  self,
398
402
  *,
399
403
  chain: models.MorphoMarketsChain = models.MorphoMarketsChain.BASE_MAINNET,
400
- collateral_token: OptionalNullable[str] = UNSET,
401
- loan_token: OptionalNullable[str] = UNSET,
404
+ collateral_token: OptionalNullable[
405
+ Union[models.CollateralToken, models.CollateralTokenTypedDict]
406
+ ] = UNSET,
407
+ loan_token: OptionalNullable[
408
+ Union[models.LoanToken, models.LoanTokenTypedDict]
409
+ ] = UNSET,
402
410
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
403
411
  server_url: Optional[str] = None,
404
412
  timeout_ms: Optional[int] = None,
@@ -493,8 +501,12 @@ class Morpho(BaseSDK):
493
501
  self,
494
502
  *,
495
503
  chain: models.MorphoMarketsChain = models.MorphoMarketsChain.BASE_MAINNET,
496
- collateral_token: OptionalNullable[str] = UNSET,
497
- loan_token: OptionalNullable[str] = UNSET,
504
+ collateral_token: OptionalNullable[
505
+ Union[models.CollateralToken, models.CollateralTokenTypedDict]
506
+ ] = UNSET,
507
+ loan_token: OptionalNullable[
508
+ Union[models.LoanToken, models.LoanTokenTypedDict]
509
+ ] = UNSET,
498
510
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
499
511
  server_url: Optional[str] = None,
500
512
  timeout_ms: Optional[int] = None,
@@ -557,6 +557,180 @@ class Universal(BaseSDK):
557
557
 
558
558
  raise errors.APIError("Unexpected response received", http_res)
559
559
 
560
+ def supported_chains(
561
+ self,
562
+ *,
563
+ protocol: OptionalNullable[models.Protocol] = UNSET,
564
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
565
+ server_url: Optional[str] = None,
566
+ timeout_ms: Optional[int] = None,
567
+ http_headers: Optional[Mapping[str, str]] = None,
568
+ ) -> models.SupportedChainInfo:
569
+ r"""List Supported Chains
570
+
571
+ Get the list of supported chains by the Compass API.
572
+
573
+ :param protocol: The protocol to get the supported chains for.
574
+ :param retries: Override the default retry configuration for this method
575
+ :param server_url: Override the default server URL for this method
576
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
577
+ :param http_headers: Additional headers to set or replace on requests.
578
+ """
579
+ base_url = None
580
+ url_variables = None
581
+ if timeout_ms is None:
582
+ timeout_ms = self.sdk_configuration.timeout_ms
583
+
584
+ if server_url is not None:
585
+ base_url = server_url
586
+ else:
587
+ base_url = self._get_url(base_url, url_variables)
588
+
589
+ request = models.GenericSupportedChainsRequest(
590
+ protocol=protocol,
591
+ )
592
+
593
+ req = self._build_request(
594
+ method="GET",
595
+ path="/v0/generic/supported_chains/get",
596
+ base_url=base_url,
597
+ url_variables=url_variables,
598
+ request=request,
599
+ request_body_required=False,
600
+ request_has_path_params=False,
601
+ request_has_query_params=True,
602
+ user_agent_header="user-agent",
603
+ accept_header_value="application/json",
604
+ http_headers=http_headers,
605
+ security=self.sdk_configuration.security,
606
+ timeout_ms=timeout_ms,
607
+ )
608
+
609
+ if retries == UNSET:
610
+ if self.sdk_configuration.retry_config is not UNSET:
611
+ retries = self.sdk_configuration.retry_config
612
+
613
+ retry_config = None
614
+ if isinstance(retries, utils.RetryConfig):
615
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
616
+
617
+ http_res = self.do_request(
618
+ hook_ctx=HookContext(
619
+ config=self.sdk_configuration,
620
+ base_url=base_url or "",
621
+ operation_id="generic_supported_chains",
622
+ oauth2_scopes=[],
623
+ security_source=self.sdk_configuration.security,
624
+ ),
625
+ request=req,
626
+ error_status_codes=["422", "4XX", "5XX"],
627
+ retry_config=retry_config,
628
+ )
629
+
630
+ response_data: Any = None
631
+ if utils.match_response(http_res, "200", "application/json"):
632
+ return unmarshal_json_response(models.SupportedChainInfo, http_res)
633
+ if utils.match_response(http_res, "422", "application/json"):
634
+ response_data = unmarshal_json_response(
635
+ errors.HTTPValidationErrorData, http_res
636
+ )
637
+ raise errors.HTTPValidationError(response_data, http_res)
638
+ if utils.match_response(http_res, "4XX", "*"):
639
+ http_res_text = utils.stream_to_text(http_res)
640
+ raise errors.APIError("API error occurred", http_res, http_res_text)
641
+ if utils.match_response(http_res, "5XX", "*"):
642
+ http_res_text = utils.stream_to_text(http_res)
643
+ raise errors.APIError("API error occurred", http_res, http_res_text)
644
+
645
+ raise errors.APIError("Unexpected response received", http_res)
646
+
647
+ async def supported_chains_async(
648
+ self,
649
+ *,
650
+ protocol: OptionalNullable[models.Protocol] = UNSET,
651
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
652
+ server_url: Optional[str] = None,
653
+ timeout_ms: Optional[int] = None,
654
+ http_headers: Optional[Mapping[str, str]] = None,
655
+ ) -> models.SupportedChainInfo:
656
+ r"""List Supported Chains
657
+
658
+ Get the list of supported chains by the Compass API.
659
+
660
+ :param protocol: The protocol to get the supported chains for.
661
+ :param retries: Override the default retry configuration for this method
662
+ :param server_url: Override the default server URL for this method
663
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
664
+ :param http_headers: Additional headers to set or replace on requests.
665
+ """
666
+ base_url = None
667
+ url_variables = None
668
+ if timeout_ms is None:
669
+ timeout_ms = self.sdk_configuration.timeout_ms
670
+
671
+ if server_url is not None:
672
+ base_url = server_url
673
+ else:
674
+ base_url = self._get_url(base_url, url_variables)
675
+
676
+ request = models.GenericSupportedChainsRequest(
677
+ protocol=protocol,
678
+ )
679
+
680
+ req = self._build_request_async(
681
+ method="GET",
682
+ path="/v0/generic/supported_chains/get",
683
+ base_url=base_url,
684
+ url_variables=url_variables,
685
+ request=request,
686
+ request_body_required=False,
687
+ request_has_path_params=False,
688
+ request_has_query_params=True,
689
+ user_agent_header="user-agent",
690
+ accept_header_value="application/json",
691
+ http_headers=http_headers,
692
+ security=self.sdk_configuration.security,
693
+ timeout_ms=timeout_ms,
694
+ )
695
+
696
+ if retries == UNSET:
697
+ if self.sdk_configuration.retry_config is not UNSET:
698
+ retries = self.sdk_configuration.retry_config
699
+
700
+ retry_config = None
701
+ if isinstance(retries, utils.RetryConfig):
702
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
703
+
704
+ http_res = await self.do_request_async(
705
+ hook_ctx=HookContext(
706
+ config=self.sdk_configuration,
707
+ base_url=base_url or "",
708
+ operation_id="generic_supported_chains",
709
+ oauth2_scopes=[],
710
+ security_source=self.sdk_configuration.security,
711
+ ),
712
+ request=req,
713
+ error_status_codes=["422", "4XX", "5XX"],
714
+ retry_config=retry_config,
715
+ )
716
+
717
+ response_data: Any = None
718
+ if utils.match_response(http_res, "200", "application/json"):
719
+ return unmarshal_json_response(models.SupportedChainInfo, http_res)
720
+ if utils.match_response(http_res, "422", "application/json"):
721
+ response_data = unmarshal_json_response(
722
+ errors.HTTPValidationErrorData, http_res
723
+ )
724
+ raise errors.HTTPValidationError(response_data, http_res)
725
+ if utils.match_response(http_res, "4XX", "*"):
726
+ http_res_text = await utils.stream_to_text_async(http_res)
727
+ raise errors.APIError("API error occurred", http_res, http_res_text)
728
+ if utils.match_response(http_res, "5XX", "*"):
729
+ http_res_text = await utils.stream_to_text_async(http_res)
730
+ raise errors.APIError("API error occurred", http_res, http_res_text)
731
+
732
+ raise errors.APIError("Unexpected response received", http_res)
733
+
560
734
  def allowance(
561
735
  self,
562
736
  *,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: compass_api_sdk
3
- Version: 0.9.49
3
+ Version: 0.9.51
4
4
  Summary: Compass API SDK.
5
5
  Author: royalnine
6
6
  Requires-Python: >=3.9.2
@@ -301,6 +301,7 @@ with CompassAPI(
301
301
  * [portfolio](https://github.com/CompassLabs/mono/blob/master/docs/sdks/universal/README.md#portfolio) - List User Portfolio
302
302
  * [visualize_portfolio](https://github.com/CompassLabs/mono/blob/master/docs/sdks/universal/README.md#visualize_portfolio) - Visualize User Portfolio
303
303
  * [supported_tokens](https://github.com/CompassLabs/mono/blob/master/docs/sdks/universal/README.md#supported_tokens) - List Supported Tokens
304
+ * [supported_chains](https://github.com/CompassLabs/mono/blob/master/docs/sdks/universal/README.md#supported_chains) - List Supported Chains
304
305
  * [allowance](https://github.com/CompassLabs/mono/blob/master/docs/sdks/universal/README.md#allowance) - Get Allowance
305
306
  * [ens](https://github.com/CompassLabs/mono/blob/master/docs/sdks/universal/README.md#ens) - Resolve ENS
306
307
  * [wrap_eth](https://github.com/CompassLabs/mono/blob/master/docs/sdks/universal/README.md#wrap_eth) - Wrap ETH
@@ -2,7 +2,7 @@ compass_api_sdk/__init__.py,sha256=w2u919V3Tzv4zEPQ-OYJ79gQ_4_SyW7GOFFoHtqXDFA,4
2
2
  compass_api_sdk/_hooks/__init__.py,sha256=p5J13DeYuISQyQWirjJAObHIf2VtIlOtFqnIpvjjVwk,118
3
3
  compass_api_sdk/_hooks/sdkhooks.py,sha256=eVxHB2Q_JG6zZx5xn74i208ij-fpTHqq2jod6fbghRQ,2503
4
4
  compass_api_sdk/_hooks/types.py,sha256=4qXm6dEntJOC2QeOdTklcc53oFzTU3HBb1xGdZ-kBXY,3059
5
- compass_api_sdk/_version.py,sha256=Q6bydgR8jzX2Hvrq3G7LBZrZ1kR5Z-aZDrp57pAGWqQ,474
5
+ compass_api_sdk/_version.py,sha256=q9u-yEJ4YTV5AaNvGxflBErdreUb-W7p5eBqLI1ADLo,474
6
6
  compass_api_sdk/aave_v3.py,sha256=NANmObFnLrTvn_3E5WX-Cvhmjd5vcegQ1YHSekHkqRc,126132
7
7
  compass_api_sdk/aerodrome_slipstream.py,sha256=Ym1DuavVYneGxdCUp2aGsSnsd6_z4aQ53vohR4RQLoU,80439
8
8
  compass_api_sdk/basesdk.py,sha256=PQNcMD7BiLruZwOuU2TeWIE_zQ0iO--XYUFmIDr5zX0,11844
@@ -14,7 +14,7 @@ compass_api_sdk/errors/httpvalidationerror.py,sha256=ebdzfILwY0BltW3MqxCpHipluRS
14
14
  compass_api_sdk/errors/no_response_error.py,sha256=FQG44Lq6uF7uUlzbUYfM3dJon6sbqXzJ0Ri6YrDdsEs,380
15
15
  compass_api_sdk/errors/responsevalidationerror.py,sha256=baMAkfmUhcPt_cxzyOCBCGBOzlXAeTHwcn5AUCsAgOw,702
16
16
  compass_api_sdk/httpclient.py,sha256=Eu73urOAiZQtdUIyOUnPccxCiBbWEKrXG-JrRG3SLM4,3946
17
- compass_api_sdk/models/__init__.py,sha256=oxxAuHkSaRJOAvrEt5PRDMsbgghzRH83vfvimlZGCWM,123069
17
+ compass_api_sdk/models/__init__.py,sha256=ao-Hry0yVAbFdqS1Z_DNRTH2CUFoOt8zOJmo2Vwn0O4,124345
18
18
  compass_api_sdk/models/aave_aave_supported_tokensop.py,sha256=GqBKHVPuLE7bza_qK8OgMVGMYLkKVRe_z393c2EjO50,2216
19
19
  compass_api_sdk/models/aave_avg_rateop.py,sha256=rBneLLelvbRzLENqEWaRgZd1EAm3f3Uq9IEsXRoOroI,3739
20
20
  compass_api_sdk/models/aave_historical_transactionsop.py,sha256=oWOjaRhNyjddZPqr5RfhNYf6V4Ye4gOQ0BDIXoqZGSs,1785
@@ -90,6 +90,7 @@ compass_api_sdk/models/feeenum.py,sha256=TIYaeNWCG9KFGV7CZeXHvZ_4tmlqdlk-Pcg04pc
90
90
  compass_api_sdk/models/generic_allowanceop.py,sha256=pLZg1TebAmix1SGhp2yo-LP71B9kMDUmBVzNSwfIQbs,3358
91
91
  compass_api_sdk/models/generic_ensop.py,sha256=xH9v260Dw_eF_IAlQqO7eqOKRDNDNV2519ze7VO31CM,1104
92
92
  compass_api_sdk/models/generic_portfolioop.py,sha256=jtsFkKQCYx2cbhK1LKtMB5RjVAAeRhVF2K5CpgoM74U,1175
93
+ compass_api_sdk/models/generic_supported_chainsop.py,sha256=8Z3BS4oWHqeU2D_H7njXCjHHl3z44MKDzOrvzTOgVOE,1762
93
94
  compass_api_sdk/models/generic_supported_tokensop.py,sha256=5ZNzAxmcnaxpGqAn2AoIqdGx0LDF4EnU102mVOXxlO4,884
94
95
  compass_api_sdk/models/generic_visualize_portfolioop.py,sha256=FGVWUHvzG8GODN2OFE6yP7ppRLa4H7hclfz00l72sKE,1229
95
96
  compass_api_sdk/models/image.py,sha256=-qB_S9WX6YZYVKVqTdnB79f57zjrO2G-hYwBxp-KJDQ,355
@@ -101,10 +102,10 @@ compass_api_sdk/models/marketposition.py,sha256=X-qOGEKxLfk-aLWMweaWraTh5G2x_ImB
101
102
  compass_api_sdk/models/markettokens.py,sha256=fP8EMGaqgZrDg4sRpnqmlESVxz3-ZSotGxZjULAjNfc,1599
102
103
  compass_api_sdk/models/morpho_market_positionop.py,sha256=1nqzRHREOAZhRCIB277JbOuCqb1s_1G-gKYTL_eRyng,1480
103
104
  compass_api_sdk/models/morpho_marketop.py,sha256=mRcswMLi9ggpwJHNMYGwP67YRx_6Bkko728HM7MhDGk,1126
104
- compass_api_sdk/models/morpho_marketsop.py,sha256=0bt1iUYA5CRB4V59wFCUMzFCt6WXw9uIlbh1jlSi0Tc,2373
105
+ compass_api_sdk/models/morpho_marketsop.py,sha256=wt-QEMps5DocLiCzIUuk00JZ4xIDmAi8Jg3jb4ZDACE,3003
105
106
  compass_api_sdk/models/morpho_user_positionop.py,sha256=ZI3tLwWXQ7eiSdLrQFszepA8PCW3lHKy8dH9DbtZAlo,1042
106
107
  compass_api_sdk/models/morpho_vaultop.py,sha256=BpoKp0tHGhgzEf7RxxrgB5qloslryVDoW-7FrygIbU4,2989
107
- compass_api_sdk/models/morpho_vaultsop.py,sha256=Ed-0gPaMEnMvMHs_fN5MwrCOUZGMbnR_PnrX3NAekBs,2082
108
+ compass_api_sdk/models/morpho_vaultsop.py,sha256=bvBHDPB6MuaTStUU-N99M8Ln1ZaUNanh4bowLH2E6WE,2477
108
109
  compass_api_sdk/models/morphoborrowparams.py,sha256=njOr9MsXmDkD2JTVrTCJKXQuBi6cCagBMgoeGl9X5LM,3167
109
110
  compass_api_sdk/models/morphoborrowrequest.py,sha256=tFgzQ7SyuvwzFCc4pVkcPUbAje4MtYsi_EBuiEHQ6dA,3530
110
111
  compass_api_sdk/models/morphocheckmarketpositionresponse.py,sha256=Dp_q2q0sDKFTnv1ETp6pp-7TaII8oeZ_hQWtGcGbfHA,1665
@@ -156,6 +157,7 @@ compass_api_sdk/models/pendlesellytparams.py,sha256=L0uYnw2ri0kwuPevYyslIzLSncpa
156
157
  compass_api_sdk/models/pendlesellytrequest.py,sha256=yE2_lH-Drm_KmcV9eQs6i11EIHE9m-uVKRfhzA7norc,2205
157
158
  compass_api_sdk/models/portfolio.py,sha256=xSVRfsk8CI1rP4ilnlIPzIabMcliQizhW_rnMEPbjDw,991
158
159
  compass_api_sdk/models/position.py,sha256=4YmKJIxaKLPaHBKe2_pPdw7urtJnNyHwYqzFpCYBc9o,1320
160
+ compass_api_sdk/models/protocol.py,sha256=abG48NLjDBzP9SGOXxf4MEAEru_xL6l9EDGdQ8kKv3M,289
159
161
  compass_api_sdk/models/redeemunderlying.py,sha256=YK6I29RAeIgE4gfxyjgoUiktxqFAnJfvNv4qz1QvmTU,1282
160
162
  compass_api_sdk/models/repay.py,sha256=dCDDG9BvJOnT-OgEs013t7l5xG0r-5M_BUxal4cfU0I,1482
161
163
  compass_api_sdk/models/reserve.py,sha256=AScfYjYx6PYkgxF2zTr-BrzsGx8ZQl3SV27bZ_xGNro,2217
@@ -174,6 +176,7 @@ compass_api_sdk/models/skysellrequest.py,sha256=Z2-Ii03RbYA98u5mSSOnuZw6iR1DjqvC
174
176
  compass_api_sdk/models/skywithdrawparams.py,sha256=I2Qr7wXbzA72GQ5ycbQKKLBNe53oe3dlx2alTcNIllA,2326
175
177
  compass_api_sdk/models/skywithdrawrequest.py,sha256=nPjZLaeKusGF90yYO6SPW8iTpuB0rKru8_y3AUX6tOY,2743
176
178
  compass_api_sdk/models/supply.py,sha256=uH7dvmTkDtSU9btasJNbdFmesF2AdJc-Yoxusz7rYf8,1554
179
+ compass_api_sdk/models/supportedchaininfo.py,sha256=CC8M6NY04sOnQS5_flw5r9kYohgkiNELK7hdBM5IdKU,456
177
180
  compass_api_sdk/models/swapborrowrate.py,sha256=RhZtLKwlDEMiHLdkvD3_URREdcBBbaFk95NN2QZug5g,1744
178
181
  compass_api_sdk/models/syposition.py,sha256=AZK-1B3zsZphz-zmYOR_cTONyyhbPJnVe3x93NVwcH8,396
179
182
  compass_api_sdk/models/token_addressop.py,sha256=923mPnJfyi4dMV3M2FIaMEeVtAFeRYnLJMfkzCunvnc,2182
@@ -215,7 +218,7 @@ compass_api_sdk/models/unwrapwethrequest.py,sha256=pt-eqvKWN6qir5bN6d9EWBZIDrXs_
215
218
  compass_api_sdk/models/usageascollateral.py,sha256=hHBgh83BO9WA6u-9xzTvBlPOLoiYV1N21G6vDeo_b30,1561
216
219
  compass_api_sdk/models/useroperation.py,sha256=QiD1_sz38K0KId5gts22dob0WPUcYvC4P8YwCeH5ygo,9004
217
220
  compass_api_sdk/models/useroperationresponse.py,sha256=z0o0N-EC30XlrkFiR3vLO_EXbpXojUCJlWQxuOir5VM,671
218
- compass_api_sdk/models/userstate.py,sha256=uwoWC0y2Bv5jHW-F2MInZx0RwMihH6WxcXmemr71sdk,1994
221
+ compass_api_sdk/models/userstate.py,sha256=HEqGwHADb8CpyndUO_WoirFfeDXbDrG-k7u4GaV-_hE,2030
219
222
  compass_api_sdk/models/validationerror.py,sha256=01WnpU7Tgin0B_poO97_hl6b5CNJ_9VGzpcmoeJs4GU,532
220
223
  compass_api_sdk/models/vault.py,sha256=ttepBiKO4o7-C97oALWOYAcN7ALDXmBFBcbQV_nfwO4,1849
221
224
  compass_api_sdk/models/vaultdepositrequest.py,sha256=GXYfXNlMmExOxjgabMDFjRS4kjHovuofGNz9DHO1TDQ,3136
@@ -227,7 +230,7 @@ compass_api_sdk/models/weeklyapys.py,sha256=AaGjDD4NeGsZQBwdRW1G09Pmx17pLPe2oUA9
227
230
  compass_api_sdk/models/wrapethparams.py,sha256=nw1fZiDrj5wZnI25Vmg0DcNI01k-uhot68lG1_H7xrY,1223
228
231
  compass_api_sdk/models/wrapethrequest.py,sha256=pjo0BZtzdOZKuwgnc05LsCWO1A6ZAGLwFixLuXQNKDg,1476
229
232
  compass_api_sdk/models/yieldrange.py,sha256=WEpZR24JddnCS1_13y2P1CdD0lBi6dPktysCNu3TUic,324
230
- compass_api_sdk/morpho.py,sha256=pviK4dBnaaCENUIEvfI3-2F22SMz9xgXDDWzx1WOHpY,110040
233
+ compass_api_sdk/morpho.py,sha256=v12xXs7jogEBXGznHQ48KP1pgkxBfmDeEOvtiCZr6cE,110490
231
234
  compass_api_sdk/pendle.py,sha256=hLldhz26PwMgx7vnpIMPNtT5nHL83PZuy-WtOLQGL-Q,96606
232
235
  compass_api_sdk/py.typed,sha256=zrp19r0G21lr2yRiMC0f8MFkQFGj9wMpSbboePMg8KM,59
233
236
  compass_api_sdk/sdk.py,sha256=WdJt5EuHoNXqj3NNpxi5jQBK0cn-n_w5ufg80SZihDg,7974
@@ -240,7 +243,7 @@ compass_api_sdk/transaction_bundler.py,sha256=6nij4Wf5g5fyE_DEY0tGr9VGUNvyjXRLqE
240
243
  compass_api_sdk/types/__init__.py,sha256=RArOwSgeeTIva6h-4ttjXwMUeCkz10nAFBL9D-QljI4,377
241
244
  compass_api_sdk/types/basemodel.py,sha256=L79WXvTECbSqaJzs8D3ud_KdIWkU7Cx2wbohDAktE9E,1127
242
245
  compass_api_sdk/uniswap_v3.py,sha256=RrBsMi9-LZw9RH5SCtx-3l-UxDGNDoGzKyg5xs2CUhU,103527
243
- compass_api_sdk/universal.py,sha256=zdmsKmRxI9u3kv-kGXUXFY30ARz9Yp8yCYNl1bvjLxs,65113
246
+ compass_api_sdk/universal.py,sha256=YscrUIhMIyDY4kmyXC7vwqqL9-Rc3a_izgtDTqzb-8o,72213
244
247
  compass_api_sdk/utils/__init__.py,sha256=811KKdkxMaWDfz2lMohUWqrR4JnIWxqeNQ1lRGQU4DM,5341
245
248
  compass_api_sdk/utils/annotations.py,sha256=aR7mZG34FzgRdew7WZPYEu9QGBerpuKxCF4sek5Z_5Y,1699
246
249
  compass_api_sdk/utils/datetimes.py,sha256=oppAA5e3V35pQov1-FNLKxAaNF1_XWi-bQtyjjql3H8,855
@@ -258,6 +261,6 @@ compass_api_sdk/utils/serializers.py,sha256=Hndks5M_rJXVub_N5lu0gKZQUoEmWrn6PN7R
258
261
  compass_api_sdk/utils/unmarshal_json_response.py,sha256=GI4Cw4JB6H2qNkqbOuBiUcxtEOJhRm2bz3qfer9KmoE,591
259
262
  compass_api_sdk/utils/url.py,sha256=BgGPgcTA6MRK4bF8fjP2dUopN3NzEzxWMXPBVg8NQUA,5254
260
263
  compass_api_sdk/utils/values.py,sha256=CcaCXEa3xHhkUDROyXZocN8f0bdITftv9Y0P9lTf0YM,3517
261
- compass_api_sdk-0.9.49.dist-info/METADATA,sha256=nRHZdA9dCWU0I5PxAm_mR93bp0Ugp1v04U9HoieIizg,28835
262
- compass_api_sdk-0.9.49.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
263
- compass_api_sdk-0.9.49.dist-info/RECORD,,
264
+ compass_api_sdk-0.9.51.dist-info/METADATA,sha256=8bHHqAeaQ5hTknRuGYLdvyaUfWggWOk4_m-45e9NB5E,28976
265
+ compass_api_sdk-0.9.51.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
266
+ compass_api_sdk-0.9.51.dist-info/RECORD,,