compass_api_sdk 0.9.37__py3-none-any.whl → 0.9.39__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.37"
6
+ __version__: str = "0.9.39"
7
7
  __openapi_doc_version__: str = "0.0.1"
8
- __gen_version__: str = "2.647.2"
9
- __user_agent__: str = "speakeasy-sdk/python 0.9.37 2.647.2 0.0.1 compass_api_sdk"
8
+ __gen_version__: str = "2.648.1"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.9.39 2.648.1 0.0.1 compass_api_sdk"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
@@ -22,7 +22,9 @@ class ERC4626Vaults(BaseSDK):
22
22
  ) -> models.VaultGetVaultResponse:
23
23
  r"""Get Vault & User Position
24
24
 
25
- Get Vault & User Position.
25
+ Get Vault data & User Position.
26
+
27
+ The user position is only included if 'user_address' parameter is included.
26
28
 
27
29
  :param chain: The chain to use.
28
30
  :param vault_address: The vault address of the desired vault position.
@@ -118,7 +120,9 @@ class ERC4626Vaults(BaseSDK):
118
120
  ) -> models.VaultGetVaultResponse:
119
121
  r"""Get Vault & User Position
120
122
 
121
- Get Vault & User Position.
123
+ Get Vault data & User Position.
124
+
125
+ The user position is only included if 'user_address' parameter is included.
122
126
 
123
127
  :param chain: The chain to use.
124
128
  :param vault_address: The vault address of the desired vault position.
@@ -314,14 +314,6 @@ if TYPE_CHECKING:
314
314
  CompassAPIBackendModelsMorphoReadResponseGetMarketsMarketState,
315
315
  CompassAPIBackendModelsMorphoReadResponseGetMarketsMarketStateTypedDict,
316
316
  )
317
- from .compass_api_backend_models_morpho_read_response_get_vault_asset import (
318
- CompassAPIBackendModelsMorphoReadResponseGetVaultAsset,
319
- CompassAPIBackendModelsMorphoReadResponseGetVaultAssetTypedDict,
320
- )
321
- from .compass_api_backend_models_morpho_read_response_get_vault_vaultstate import (
322
- CompassAPIBackendModelsMorphoReadResponseGetVaultVaultState,
323
- CompassAPIBackendModelsMorphoReadResponseGetVaultVaultStateTypedDict,
324
- )
325
317
  from .compass_api_backend_models_morpho_read_response_get_vaults_asset import (
326
318
  CompassAPIBackendModelsMorphoReadResponseGetVaultsAsset,
327
319
  CompassAPIBackendModelsMorphoReadResponseGetVaultsAssetTypedDict,
@@ -338,7 +330,6 @@ if TYPE_CHECKING:
338
330
  CompassAPIBackendModelsVaultsReadResponseVaultAsset,
339
331
  CompassAPIBackendModelsVaultsReadResponseVaultAssetTypedDict,
340
332
  )
341
- from .curator import Curator, CuratorTypedDict
342
333
  from .details import Details, DetailsTypedDict
343
334
  from .ensnameinforesponse import EnsNameInfoResponse, EnsNameInfoResponseTypedDict
344
335
  from .erc20data import Erc20Data, Erc20DataTypedDict
@@ -376,12 +367,10 @@ if TYPE_CHECKING:
376
367
  from .image import Image, ImageTypedDict
377
368
  from .interestratemode import InterestRateMode
378
369
  from .liquidationcall import LiquidationCall, LiquidationCallTypedDict
379
- from .liquidity import Liquidity, LiquidityTypedDict
380
370
  from .lpbalance import LpBalance, LpBalanceTypedDict
381
371
  from .market import Market, MarketTypedDict
382
372
  from .marketposition import MarketPosition, MarketPositionTypedDict
383
373
  from .markettokens import MarketTokens, MarketTokensTypedDict
384
- from .metadata import Metadata, MetadataTypedDict
385
374
  from .morpho_market_positionop import (
386
375
  MorphoMarketPositionChain,
387
376
  MorphoMarketPositionRequest,
@@ -402,11 +391,6 @@ if TYPE_CHECKING:
402
391
  MorphoUserPositionRequest,
403
392
  MorphoUserPositionRequestTypedDict,
404
393
  )
405
- from .morpho_vault_positionop import (
406
- MorphoVaultPositionChain,
407
- MorphoVaultPositionRequest,
408
- MorphoVaultPositionRequestTypedDict,
409
- )
410
394
  from .morpho_vaultop import (
411
395
  MorphoVaultChain,
412
396
  MorphoVaultRequest,
@@ -438,10 +422,6 @@ if TYPE_CHECKING:
438
422
  MorphoCheckUserPositionResponse,
439
423
  MorphoCheckUserPositionResponseTypedDict,
440
424
  )
441
- from .morphocheckvaultpositionresponse import (
442
- MorphoCheckVaultPositionResponse,
443
- MorphoCheckVaultPositionResponseTypedDict,
444
- )
445
425
  from .morphodepositparams import (
446
426
  MorphoDepositParams,
447
427
  MorphoDepositParamsAmount,
@@ -463,10 +443,6 @@ if TYPE_CHECKING:
463
443
  MorphoGetMarketsResponse,
464
444
  MorphoGetMarketsResponseTypedDict,
465
445
  )
466
- from .morphogetvaultresponse import (
467
- MorphoGetVaultResponse,
468
- MorphoGetVaultResponseTypedDict,
469
- )
470
446
  from .morphogetvaultsresponse import (
471
447
  MorphoGetVaultsResponse,
472
448
  MorphoGetVaultsResponseTypedDict,
@@ -1205,10 +1181,6 @@ __all__ = [
1205
1181
  "CompassAPIBackendModelsMorphoReadResponseGetMarketsAssetTypedDict",
1206
1182
  "CompassAPIBackendModelsMorphoReadResponseGetMarketsMarketState",
1207
1183
  "CompassAPIBackendModelsMorphoReadResponseGetMarketsMarketStateTypedDict",
1208
- "CompassAPIBackendModelsMorphoReadResponseGetVaultAsset",
1209
- "CompassAPIBackendModelsMorphoReadResponseGetVaultAssetTypedDict",
1210
- "CompassAPIBackendModelsMorphoReadResponseGetVaultVaultState",
1211
- "CompassAPIBackendModelsMorphoReadResponseGetVaultVaultStateTypedDict",
1212
1184
  "CompassAPIBackendModelsMorphoReadResponseGetVaultsAsset",
1213
1185
  "CompassAPIBackendModelsMorphoReadResponseGetVaultsAssetTypedDict",
1214
1186
  "CompassAPIBackendModelsMorphoReadResponseGetVaultsVaultState",
@@ -1217,8 +1189,6 @@ __all__ = [
1217
1189
  "CompassAPIBackendModelsPendleReadResponsePositionsTokenBalanceTypedDict",
1218
1190
  "CompassAPIBackendModelsVaultsReadResponseVaultAsset",
1219
1191
  "CompassAPIBackendModelsVaultsReadResponseVaultAssetTypedDict",
1220
- "Curator",
1221
- "CuratorTypedDict",
1222
1192
  "Details",
1223
1193
  "DetailsTypedDict",
1224
1194
  "EnsNameInfoResponse",
@@ -1253,8 +1223,6 @@ __all__ = [
1253
1223
  "InterestRateMode",
1254
1224
  "LiquidationCall",
1255
1225
  "LiquidationCallTypedDict",
1256
- "Liquidity",
1257
- "LiquidityTypedDict",
1258
1226
  "LoanToValue",
1259
1227
  "LoanToValueTypedDict",
1260
1228
  "Loc",
@@ -1269,8 +1237,6 @@ __all__ = [
1269
1237
  "MarketTypedDict",
1270
1238
  "MaxSlippagePercent",
1271
1239
  "MaxSlippagePercentTypedDict",
1272
- "Metadata",
1273
- "MetadataTypedDict",
1274
1240
  "MorphoBorrowParams",
1275
1241
  "MorphoBorrowParamsAmount",
1276
1242
  "MorphoBorrowParamsAmountTypedDict",
@@ -1284,8 +1250,6 @@ __all__ = [
1284
1250
  "MorphoCheckMarketPositionResponseTypedDict",
1285
1251
  "MorphoCheckUserPositionResponse",
1286
1252
  "MorphoCheckUserPositionResponseTypedDict",
1287
- "MorphoCheckVaultPositionResponse",
1288
- "MorphoCheckVaultPositionResponseTypedDict",
1289
1253
  "MorphoDepositParams",
1290
1254
  "MorphoDepositParamsAmount",
1291
1255
  "MorphoDepositParamsAmountTypedDict",
@@ -1299,8 +1263,6 @@ __all__ = [
1299
1263
  "MorphoGetMarketResponseTypedDict",
1300
1264
  "MorphoGetMarketsResponse",
1301
1265
  "MorphoGetMarketsResponseTypedDict",
1302
- "MorphoGetVaultResponse",
1303
- "MorphoGetVaultResponseTypedDict",
1304
1266
  "MorphoGetVaultsResponse",
1305
1267
  "MorphoGetVaultsResponseTypedDict",
1306
1268
  "MorphoMarket",
@@ -1333,9 +1295,6 @@ __all__ = [
1333
1295
  "MorphoUserPositionRequestTypedDict",
1334
1296
  "MorphoVault",
1335
1297
  "MorphoVaultChain",
1336
- "MorphoVaultPositionChain",
1337
- "MorphoVaultPositionRequest",
1338
- "MorphoVaultPositionRequestTypedDict",
1339
1298
  "MorphoVaultRequest",
1340
1299
  "MorphoVaultRequestTypedDict",
1341
1300
  "MorphoVaultTypedDict",
@@ -1932,10 +1891,6 @@ _dynamic_imports: dict[str, str] = {
1932
1891
  "CompassAPIBackendModelsMorphoReadResponseGetMarketsAssetTypedDict": ".compass_api_backend_models_morpho_read_response_get_markets_asset",
1933
1892
  "CompassAPIBackendModelsMorphoReadResponseGetMarketsMarketState": ".compass_api_backend_models_morpho_read_response_get_markets_marketstate",
1934
1893
  "CompassAPIBackendModelsMorphoReadResponseGetMarketsMarketStateTypedDict": ".compass_api_backend_models_morpho_read_response_get_markets_marketstate",
1935
- "CompassAPIBackendModelsMorphoReadResponseGetVaultAsset": ".compass_api_backend_models_morpho_read_response_get_vault_asset",
1936
- "CompassAPIBackendModelsMorphoReadResponseGetVaultAssetTypedDict": ".compass_api_backend_models_morpho_read_response_get_vault_asset",
1937
- "CompassAPIBackendModelsMorphoReadResponseGetVaultVaultState": ".compass_api_backend_models_morpho_read_response_get_vault_vaultstate",
1938
- "CompassAPIBackendModelsMorphoReadResponseGetVaultVaultStateTypedDict": ".compass_api_backend_models_morpho_read_response_get_vault_vaultstate",
1939
1894
  "CompassAPIBackendModelsMorphoReadResponseGetVaultsAsset": ".compass_api_backend_models_morpho_read_response_get_vaults_asset",
1940
1895
  "CompassAPIBackendModelsMorphoReadResponseGetVaultsAssetTypedDict": ".compass_api_backend_models_morpho_read_response_get_vaults_asset",
1941
1896
  "CompassAPIBackendModelsMorphoReadResponseGetVaultsVaultState": ".compass_api_backend_models_morpho_read_response_get_vaults_vaultstate",
@@ -1944,8 +1899,6 @@ _dynamic_imports: dict[str, str] = {
1944
1899
  "CompassAPIBackendModelsPendleReadResponsePositionsTokenBalanceTypedDict": ".compass_api_backend_models_pendle_read_response_positions_tokenbalance",
1945
1900
  "CompassAPIBackendModelsVaultsReadResponseVaultAsset": ".compass_api_backend_models_vaults_read_response_vault_asset",
1946
1901
  "CompassAPIBackendModelsVaultsReadResponseVaultAssetTypedDict": ".compass_api_backend_models_vaults_read_response_vault_asset",
1947
- "Curator": ".curator",
1948
- "CuratorTypedDict": ".curator",
1949
1902
  "Details": ".details",
1950
1903
  "DetailsTypedDict": ".details",
1951
1904
  "EnsNameInfoResponse": ".ensnameinforesponse",
@@ -1978,8 +1931,6 @@ _dynamic_imports: dict[str, str] = {
1978
1931
  "InterestRateMode": ".interestratemode",
1979
1932
  "LiquidationCall": ".liquidationcall",
1980
1933
  "LiquidationCallTypedDict": ".liquidationcall",
1981
- "Liquidity": ".liquidity",
1982
- "LiquidityTypedDict": ".liquidity",
1983
1934
  "LpBalance": ".lpbalance",
1984
1935
  "LpBalanceTypedDict": ".lpbalance",
1985
1936
  "Market": ".market",
@@ -1988,8 +1939,6 @@ _dynamic_imports: dict[str, str] = {
1988
1939
  "MarketPositionTypedDict": ".marketposition",
1989
1940
  "MarketTokens": ".markettokens",
1990
1941
  "MarketTokensTypedDict": ".markettokens",
1991
- "Metadata": ".metadata",
1992
- "MetadataTypedDict": ".metadata",
1993
1942
  "MorphoMarketPositionChain": ".morpho_market_positionop",
1994
1943
  "MorphoMarketPositionRequest": ".morpho_market_positionop",
1995
1944
  "MorphoMarketPositionRequestTypedDict": ".morpho_market_positionop",
@@ -2002,9 +1951,6 @@ _dynamic_imports: dict[str, str] = {
2002
1951
  "MorphoUserPositionChain": ".morpho_user_positionop",
2003
1952
  "MorphoUserPositionRequest": ".morpho_user_positionop",
2004
1953
  "MorphoUserPositionRequestTypedDict": ".morpho_user_positionop",
2005
- "MorphoVaultPositionChain": ".morpho_vault_positionop",
2006
- "MorphoVaultPositionRequest": ".morpho_vault_positionop",
2007
- "MorphoVaultPositionRequestTypedDict": ".morpho_vault_positionop",
2008
1954
  "MorphoVaultChain": ".morpho_vaultop",
2009
1955
  "MorphoVaultRequest": ".morpho_vaultop",
2010
1956
  "MorphoVaultRequestTypedDict": ".morpho_vaultop",
@@ -2024,8 +1970,6 @@ _dynamic_imports: dict[str, str] = {
2024
1970
  "MorphoCheckMarketPositionResponseTypedDict": ".morphocheckmarketpositionresponse",
2025
1971
  "MorphoCheckUserPositionResponse": ".morphocheckuserpositionresponse",
2026
1972
  "MorphoCheckUserPositionResponseTypedDict": ".morphocheckuserpositionresponse",
2027
- "MorphoCheckVaultPositionResponse": ".morphocheckvaultpositionresponse",
2028
- "MorphoCheckVaultPositionResponseTypedDict": ".morphocheckvaultpositionresponse",
2029
1973
  "MorphoDepositParams": ".morphodepositparams",
2030
1974
  "MorphoDepositParamsAmount": ".morphodepositparams",
2031
1975
  "MorphoDepositParamsAmountTypedDict": ".morphodepositparams",
@@ -2039,8 +1983,6 @@ _dynamic_imports: dict[str, str] = {
2039
1983
  "MorphoGetMarketResponseTypedDict": ".morphogetmarketresponse",
2040
1984
  "MorphoGetMarketsResponse": ".morphogetmarketsresponse",
2041
1985
  "MorphoGetMarketsResponseTypedDict": ".morphogetmarketsresponse",
2042
- "MorphoGetVaultResponse": ".morphogetvaultresponse",
2043
- "MorphoGetVaultResponseTypedDict": ".morphogetvaultresponse",
2044
1986
  "MorphoGetVaultsResponse": ".morphogetvaultsresponse",
2045
1987
  "MorphoGetVaultsResponseTypedDict": ".morphogetvaultsresponse",
2046
1988
  "MorphoMarket": ".morphomarket",
@@ -1,10 +1,17 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from compass_api_sdk.types import BaseModel
4
+ from compass_api_sdk.types import (
5
+ BaseModel,
6
+ Nullable,
7
+ OptionalNullable,
8
+ UNSET,
9
+ UNSET_SENTINEL,
10
+ )
5
11
  from compass_api_sdk.utils import FieldMetadata, QueryParamMetadata
6
12
  from enum import Enum
7
- from typing_extensions import Annotated, TypedDict
13
+ from pydantic import model_serializer
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
8
15
 
9
16
 
10
17
  class TokenPriceChain(str, Enum):
@@ -71,6 +78,8 @@ class TokenPriceToken(str, Enum):
71
78
  class TokenPriceRequestTypedDict(TypedDict):
72
79
  chain: TokenPriceChain
73
80
  r"""The chain to use."""
81
+ block: NotRequired[Nullable[int]]
82
+ r"""Optional block number (defaults to latest)."""
74
83
  token: TokenPriceToken
75
84
  r"""The symbol of the token for which to get the price."""
76
85
 
@@ -82,8 +91,44 @@ class TokenPriceRequest(BaseModel):
82
91
  ] = TokenPriceChain.ETHEREUM_MAINNET
83
92
  r"""The chain to use."""
84
93
 
94
+ block: Annotated[
95
+ OptionalNullable[int],
96
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
97
+ ] = UNSET
98
+ r"""Optional block number (defaults to latest)."""
99
+
85
100
  token: Annotated[
86
101
  TokenPriceToken,
87
102
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
88
103
  ] = TokenPriceToken.AAVE
89
104
  r"""The symbol of the token for which to get the price."""
105
+
106
+ @model_serializer(mode="wrap")
107
+ def serialize_model(self, handler):
108
+ optional_fields = ["block"]
109
+ nullable_fields = ["block"]
110
+ null_default_fields = []
111
+
112
+ serialized = handler(self)
113
+
114
+ m = {}
115
+
116
+ for n, f in type(self).model_fields.items():
117
+ k = f.alias or n
118
+ val = serialized.get(k)
119
+ serialized.pop(k, None)
120
+
121
+ optional_nullable = k in optional_fields and k in nullable_fields
122
+ is_set = (
123
+ self.__pydantic_fields_set__.intersection({n})
124
+ or k in null_default_fields
125
+ ) # pylint: disable=no-member
126
+
127
+ if val is not None and val != UNSET_SENTINEL:
128
+ m[k] = val
129
+ elif val != UNSET_SENTINEL and (
130
+ not k in optional_fields or (optional_nullable and is_set)
131
+ ):
132
+ m[k] = val
133
+
134
+ return m
compass_api_sdk/morpho.py CHANGED
@@ -211,17 +211,12 @@ class Morpho(BaseSDK):
211
211
  server_url: Optional[str] = None,
212
212
  timeout_ms: Optional[int] = None,
213
213
  http_headers: Optional[Mapping[str, str]] = None,
214
- ) -> models.MorphoGetVaultResponse:
214
+ ) -> models.VaultGetVaultResponse:
215
215
  r"""Get Vault
216
216
 
217
- Get data & metrics for a specific Morpho vault.
217
+ Get Vault data & User Position.
218
218
 
219
- Including:
220
- - Current, daily, weekly, monthly, yearly APY
221
- - Underlying asset data
222
- - Total liquidity
223
- - Pertinent metadata
224
- - Whitelist status
219
+ The user position is only included if 'user_address' parameter is included.
225
220
 
226
221
  :param chain: The chain to use.
227
222
  :param vault_address: The vault address of the desired vault position.
@@ -288,9 +283,7 @@ class Morpho(BaseSDK):
288
283
 
289
284
  response_data: Any = None
290
285
  if utils.match_response(http_res, "200", "application/json"):
291
- return utils.unmarshal_json_response(
292
- models.MorphoGetVaultResponse, http_res
293
- )
286
+ return utils.unmarshal_json_response(models.VaultGetVaultResponse, http_res)
294
287
  if utils.match_response(http_res, "422", "application/json"):
295
288
  response_data = utils.unmarshal_json_response(
296
289
  errors.HTTPValidationErrorData, http_res
@@ -316,17 +309,12 @@ class Morpho(BaseSDK):
316
309
  server_url: Optional[str] = None,
317
310
  timeout_ms: Optional[int] = None,
318
311
  http_headers: Optional[Mapping[str, str]] = None,
319
- ) -> models.MorphoGetVaultResponse:
312
+ ) -> models.VaultGetVaultResponse:
320
313
  r"""Get Vault
321
314
 
322
- Get data & metrics for a specific Morpho vault.
315
+ Get Vault data & User Position.
323
316
 
324
- Including:
325
- - Current, daily, weekly, monthly, yearly APY
326
- - Underlying asset data
327
- - Total liquidity
328
- - Pertinent metadata
329
- - Whitelist status
317
+ The user position is only included if 'user_address' parameter is included.
330
318
 
331
319
  :param chain: The chain to use.
332
320
  :param vault_address: The vault address of the desired vault position.
@@ -393,201 +381,7 @@ class Morpho(BaseSDK):
393
381
 
394
382
  response_data: Any = None
395
383
  if utils.match_response(http_res, "200", "application/json"):
396
- return utils.unmarshal_json_response(
397
- models.MorphoGetVaultResponse, http_res
398
- )
399
- if utils.match_response(http_res, "422", "application/json"):
400
- response_data = utils.unmarshal_json_response(
401
- errors.HTTPValidationErrorData, http_res
402
- )
403
- raise errors.HTTPValidationError(response_data, http_res)
404
- if utils.match_response(http_res, "4XX", "*"):
405
- http_res_text = await utils.stream_to_text_async(http_res)
406
- raise errors.APIError("API error occurred", http_res, http_res_text)
407
- if utils.match_response(http_res, "5XX", "*"):
408
- http_res_text = await utils.stream_to_text_async(http_res)
409
- raise errors.APIError("API error occurred", http_res, http_res_text)
410
-
411
- raise errors.APIError("Unexpected response received", http_res)
412
-
413
- def vault_position(
414
- self,
415
- *,
416
- chain: models.MorphoVaultPositionChain = models.MorphoVaultPositionChain.BASE_MAINNET,
417
- user_address: str = "0xB3B45f5aCBb58a432BDe58724c1C959E11D5A418",
418
- vault_address: str = "0xc1256Ae5FF1cf2719D4937adb3bbCCab2E00A2Ca",
419
- retries: OptionalNullable[utils.RetryConfig] = UNSET,
420
- server_url: Optional[str] = None,
421
- timeout_ms: Optional[int] = None,
422
- http_headers: Optional[Mapping[str, str]] = None,
423
- ) -> models.MorphoCheckVaultPositionResponse:
424
- r"""Check Vault Position
425
-
426
- Check how many shares you own and the equivalent token amount of a given
427
- vault.
428
-
429
- :param chain:
430
- :param user_address: The user address of the desired vault position.
431
- :param vault_address: The vault address of the desired vault position.
432
- :param retries: Override the default retry configuration for this method
433
- :param server_url: Override the default server URL for this method
434
- :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
435
- :param http_headers: Additional headers to set or replace on requests.
436
- """
437
- base_url = None
438
- url_variables = None
439
- if timeout_ms is None:
440
- timeout_ms = self.sdk_configuration.timeout_ms
441
-
442
- if server_url is not None:
443
- base_url = server_url
444
- else:
445
- base_url = self._get_url(base_url, url_variables)
446
-
447
- request = models.MorphoVaultPositionRequest(
448
- chain=chain,
449
- user_address=user_address,
450
- vault_address=vault_address,
451
- )
452
-
453
- req = self._build_request(
454
- method="GET",
455
- path="/v0/morpho/vault_position",
456
- base_url=base_url,
457
- url_variables=url_variables,
458
- request=request,
459
- request_body_required=False,
460
- request_has_path_params=False,
461
- request_has_query_params=True,
462
- user_agent_header="user-agent",
463
- accept_header_value="application/json",
464
- http_headers=http_headers,
465
- security=self.sdk_configuration.security,
466
- timeout_ms=timeout_ms,
467
- )
468
-
469
- if retries == UNSET:
470
- if self.sdk_configuration.retry_config is not UNSET:
471
- retries = self.sdk_configuration.retry_config
472
-
473
- retry_config = None
474
- if isinstance(retries, utils.RetryConfig):
475
- retry_config = (retries, ["429", "500", "502", "503", "504"])
476
-
477
- http_res = self.do_request(
478
- hook_ctx=HookContext(
479
- config=self.sdk_configuration,
480
- base_url=base_url or "",
481
- operation_id="morpho_vault_position",
482
- oauth2_scopes=[],
483
- security_source=self.sdk_configuration.security,
484
- ),
485
- request=req,
486
- error_status_codes=["422", "4XX", "5XX"],
487
- retry_config=retry_config,
488
- )
489
-
490
- response_data: Any = None
491
- if utils.match_response(http_res, "200", "application/json"):
492
- return utils.unmarshal_json_response(
493
- models.MorphoCheckVaultPositionResponse, http_res
494
- )
495
- if utils.match_response(http_res, "422", "application/json"):
496
- response_data = utils.unmarshal_json_response(
497
- errors.HTTPValidationErrorData, http_res
498
- )
499
- raise errors.HTTPValidationError(response_data, http_res)
500
- if utils.match_response(http_res, "4XX", "*"):
501
- http_res_text = utils.stream_to_text(http_res)
502
- raise errors.APIError("API error occurred", http_res, http_res_text)
503
- if utils.match_response(http_res, "5XX", "*"):
504
- http_res_text = utils.stream_to_text(http_res)
505
- raise errors.APIError("API error occurred", http_res, http_res_text)
506
-
507
- raise errors.APIError("Unexpected response received", http_res)
508
-
509
- async def vault_position_async(
510
- self,
511
- *,
512
- chain: models.MorphoVaultPositionChain = models.MorphoVaultPositionChain.BASE_MAINNET,
513
- user_address: str = "0xB3B45f5aCBb58a432BDe58724c1C959E11D5A418",
514
- vault_address: str = "0xc1256Ae5FF1cf2719D4937adb3bbCCab2E00A2Ca",
515
- retries: OptionalNullable[utils.RetryConfig] = UNSET,
516
- server_url: Optional[str] = None,
517
- timeout_ms: Optional[int] = None,
518
- http_headers: Optional[Mapping[str, str]] = None,
519
- ) -> models.MorphoCheckVaultPositionResponse:
520
- r"""Check Vault Position
521
-
522
- Check how many shares you own and the equivalent token amount of a given
523
- vault.
524
-
525
- :param chain:
526
- :param user_address: The user address of the desired vault position.
527
- :param vault_address: The vault address of the desired vault position.
528
- :param retries: Override the default retry configuration for this method
529
- :param server_url: Override the default server URL for this method
530
- :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
531
- :param http_headers: Additional headers to set or replace on requests.
532
- """
533
- base_url = None
534
- url_variables = None
535
- if timeout_ms is None:
536
- timeout_ms = self.sdk_configuration.timeout_ms
537
-
538
- if server_url is not None:
539
- base_url = server_url
540
- else:
541
- base_url = self._get_url(base_url, url_variables)
542
-
543
- request = models.MorphoVaultPositionRequest(
544
- chain=chain,
545
- user_address=user_address,
546
- vault_address=vault_address,
547
- )
548
-
549
- req = self._build_request_async(
550
- method="GET",
551
- path="/v0/morpho/vault_position",
552
- base_url=base_url,
553
- url_variables=url_variables,
554
- request=request,
555
- request_body_required=False,
556
- request_has_path_params=False,
557
- request_has_query_params=True,
558
- user_agent_header="user-agent",
559
- accept_header_value="application/json",
560
- http_headers=http_headers,
561
- security=self.sdk_configuration.security,
562
- timeout_ms=timeout_ms,
563
- )
564
-
565
- if retries == UNSET:
566
- if self.sdk_configuration.retry_config is not UNSET:
567
- retries = self.sdk_configuration.retry_config
568
-
569
- retry_config = None
570
- if isinstance(retries, utils.RetryConfig):
571
- retry_config = (retries, ["429", "500", "502", "503", "504"])
572
-
573
- http_res = await self.do_request_async(
574
- hook_ctx=HookContext(
575
- config=self.sdk_configuration,
576
- base_url=base_url or "",
577
- operation_id="morpho_vault_position",
578
- oauth2_scopes=[],
579
- security_source=self.sdk_configuration.security,
580
- ),
581
- request=req,
582
- error_status_codes=["422", "4XX", "5XX"],
583
- retry_config=retry_config,
584
- )
585
-
586
- response_data: Any = None
587
- if utils.match_response(http_res, "200", "application/json"):
588
- return utils.unmarshal_json_response(
589
- models.MorphoCheckVaultPositionResponse, http_res
590
- )
384
+ return utils.unmarshal_json_response(models.VaultGetVaultResponse, http_res)
591
385
  if utils.match_response(http_res, "422", "application/json"):
592
386
  response_data = utils.unmarshal_json_response(
593
387
  errors.HTTPValidationErrorData, http_res
@@ -193,6 +193,7 @@ class TokenSDK(BaseSDK):
193
193
  *,
194
194
  chain: models.TokenPriceChain = models.TokenPriceChain.ETHEREUM_MAINNET,
195
195
  token: models.TokenPriceToken = models.TokenPriceToken.AAVE,
196
+ block: OptionalNullable[int] = UNSET,
196
197
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
197
198
  server_url: Optional[str] = None,
198
199
  timeout_ms: Optional[int] = None,
@@ -208,6 +209,7 @@ class TokenSDK(BaseSDK):
208
209
 
209
210
  :param chain: The chain to use.
210
211
  :param token: The symbol of the token for which to get the price.
212
+ :param block: Optional block number (defaults to latest).
211
213
  :param retries: Override the default retry configuration for this method
212
214
  :param server_url: Override the default server URL for this method
213
215
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -225,6 +227,7 @@ class TokenSDK(BaseSDK):
225
227
 
226
228
  request = models.TokenPriceRequest(
227
229
  chain=chain,
230
+ block=block,
228
231
  token=token,
229
232
  )
230
233
 
@@ -287,6 +290,7 @@ class TokenSDK(BaseSDK):
287
290
  *,
288
291
  chain: models.TokenPriceChain = models.TokenPriceChain.ETHEREUM_MAINNET,
289
292
  token: models.TokenPriceToken = models.TokenPriceToken.AAVE,
293
+ block: OptionalNullable[int] = UNSET,
290
294
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
291
295
  server_url: Optional[str] = None,
292
296
  timeout_ms: Optional[int] = None,
@@ -302,6 +306,7 @@ class TokenSDK(BaseSDK):
302
306
 
303
307
  :param chain: The chain to use.
304
308
  :param token: The symbol of the token for which to get the price.
309
+ :param block: Optional block number (defaults to latest).
305
310
  :param retries: Override the default retry configuration for this method
306
311
  :param server_url: Override the default server URL for this method
307
312
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -319,6 +324,7 @@ class TokenSDK(BaseSDK):
319
324
 
320
325
  request = models.TokenPriceRequest(
321
326
  chain=chain,
327
+ block=block,
322
328
  token=token,
323
329
  )
324
330
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: compass_api_sdk
3
- Version: 0.9.37
3
+ Version: 0.9.39
4
4
  Summary: Compass API SDK.
5
5
  Author: royalnine
6
6
  Requires-Python: >=3.9.2
@@ -228,7 +228,6 @@ with CompassAPI(
228
228
 
229
229
  * [vaults](https://github.com/CompassLabs/mono/blob/master/docs/sdks/morpho/README.md#vaults) - Get Vaults
230
230
  * [vault](https://github.com/CompassLabs/mono/blob/master/docs/sdks/morpho/README.md#vault) - Get Vault
231
- * [vault_position](https://github.com/CompassLabs/mono/blob/master/docs/sdks/morpho/README.md#vault_position) - Check Vault Position
232
231
  * [markets](https://github.com/CompassLabs/mono/blob/master/docs/sdks/morpho/README.md#markets) - Get Markets
233
232
  * [market](https://github.com/CompassLabs/mono/blob/master/docs/sdks/morpho/README.md#market) - Get Market
234
233
  * [market_position](https://github.com/CompassLabs/mono/blob/master/docs/sdks/morpho/README.md#market_position) - Check Market Position
@@ -2,11 +2,11 @@ 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=IS85_6A1bVK8V8KyLpr-ZCv2_xsp6cj-JrZIecVLwhY,474
5
+ compass_api_sdk/_version.py,sha256=FYZL_A4Yyyylj5VKbygMH0nQinAFrXqFRbYRpLIfKq0,474
6
6
  compass_api_sdk/aave_v3.py,sha256=HGztClaMj2E00gESokwbsZ9aiNGV1-okkrDzxUIZtJA,117024
7
7
  compass_api_sdk/aerodrome_slipstream.py,sha256=_-tqCHmWlvbMfVl2hHvMpJfRKJVHAHEhB30oYwcqEY8,78375
8
8
  compass_api_sdk/basesdk.py,sha256=PQNcMD7BiLruZwOuU2TeWIE_zQ0iO--XYUFmIDr5zX0,11844
9
- compass_api_sdk/erc_4626_vaults.py,sha256=6AXf8H9SIpbmlbBSlkZwtT8ApcgyE3RyRFMRdtY6VhI,26193
9
+ compass_api_sdk/erc_4626_vaults.py,sha256=Nb6aJezxUJgh-CuSQyLimvVM80MDMWrLpbSaNPZsw6c,26373
10
10
  compass_api_sdk/errors/__init__.py,sha256=UZYQ_CPi1cQkYcHe6n00nfKPIRwbmcufTY-FmMJGmk8,1693
11
11
  compass_api_sdk/errors/apierror.py,sha256=y1lf-8zwQhv1JGntxj03ViMUyHN_Uewe0oZoH8MhwSM,1235
12
12
  compass_api_sdk/errors/compassapierror.py,sha256=VqVzBWmwoS3OvoKbgBNh2WFFhrM3K5Kbz_5q4bupD7o,717
@@ -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=YLnHHzpGW3EY6QieXMs9GwSGI9H7vaNmoTExjGJdO4s,120038
17
+ compass_api_sdk/models/__init__.py,sha256=T6V0AbNqmV0R39ncvQehh2l-MWJHdakrz8WwAtnsDWc,117069
18
18
  compass_api_sdk/models/aave_avg_rateop.py,sha256=Qn7IkBwZv5zY_L15V_LONkANzQPTbtmK2Wwhc2iqYz8,3718
19
19
  compass_api_sdk/models/aave_historical_transactionsop.py,sha256=oWOjaRhNyjddZPqr5RfhNYf6V4Ye4gOQ0BDIXoqZGSs,1785
20
20
  compass_api_sdk/models/aave_liquidity_changeop.py,sha256=o9G4dD2foyhbunziTv_177Qr2AK37KTIQsQfvPxo5Fs,2785
@@ -74,13 +74,10 @@ compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_marke
74
74
  compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_market_marketstate.py,sha256=DZ5p29aIf1KoeTe1wGc-mYy8fZ7mhsJ4Sov1ewoX42g,2982
75
75
  compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_markets_asset.py,sha256=pMWAh-oYo4YBmeVpoh2XoPn8PmFWSrvRH0Gg7sPT8xQ,488
76
76
  compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_markets_marketstate.py,sha256=wour5BGvKGddpI_qfs7WHfDewE5-cLdRjq7L-QTAQLg,2133
77
- compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_vault_asset.py,sha256=bWO0t2sKFS3Cx3j7zUXPgGK9i1QIUcrdnyQksunbNQU,1661
78
- compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_vault_vaultstate.py,sha256=PAHNVh5aU1z4t8N63_D4fYixGb_ZlOFZLAh3bVH2WLM,1624
79
77
  compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_vaults_asset.py,sha256=zlxZwigsUocOnYo2Q43JLDSiFL6w26r-jaqcy4Ds2NU,562
80
78
  compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_vaults_vaultstate.py,sha256=WwlaoKcfHa18irpBwR95FIV5TD0_2jVN_hIqo1R55rE,796
81
79
  compass_api_sdk/models/compass_api_backend_models_pendle_read_response_positions_tokenbalance.py,sha256=dxEvdDEZmYokpmCAO3RXRQU81kR4Bmiv3eEqMKh0GTU,450
82
80
  compass_api_sdk/models/compass_api_backend_models_vaults_read_response_vault_asset.py,sha256=M5ShjhNBdQYc_D4FefCDjDc5hm3KV4u_fJ7ZKyTH-uk,478
83
- compass_api_sdk/models/curator.py,sha256=FEyFGfhBNu1xFlSACdFPpBK2kGzLNBvLi8KfaEKy0rY,1392
84
81
  compass_api_sdk/models/details.py,sha256=3nlDe5Po20HFWWc31iX-6wOfMdveE76JpNf-Kp9AsuQ,1212
85
82
  compass_api_sdk/models/ensnameinforesponse.py,sha256=p7y3TYD3lApa8hzHTCKDUEmSpmH2QmJAHG7wzef9rLk,626
86
83
  compass_api_sdk/models/erc20data.py,sha256=Pn9h6Ts64VoV3bR5gpbMxTPb2Du8izsK5a6eFxQfRZU,394
@@ -93,29 +90,24 @@ compass_api_sdk/models/generic_visualize_portfolioop.py,sha256=FGVWUHvzG8GODN2OF
93
90
  compass_api_sdk/models/image.py,sha256=-qB_S9WX6YZYVKVqTdnB79f57zjrO2G-hYwBxp-KJDQ,355
94
91
  compass_api_sdk/models/interestratemode.py,sha256=OmOKBSJD0y9O9LuA0rajVkvxiEuU-xiQAuoiHYFmp5s,341
95
92
  compass_api_sdk/models/liquidationcall.py,sha256=-HEwFMuiD2p8x04VQHlnYqlOdvhr0jXrZ6ksmxlffUw,2019
96
- compass_api_sdk/models/liquidity.py,sha256=WOPaK4SXj2C5TBLZlfoaQbcnzhcmFCEUFz59mOw1KeM,328
97
93
  compass_api_sdk/models/lpbalance.py,sha256=8IxmblTajQs3EZgSqZXD1WOd8Adkzib08iJzxqZryVw,464
98
94
  compass_api_sdk/models/market.py,sha256=GHeU1pdGnyGNDxyx2aSvMfLeUTW1s_wLEkMY5SqBPRg,368
99
95
  compass_api_sdk/models/marketposition.py,sha256=X-qOGEKxLfk-aLWMweaWraTh5G2x_ImBSZCg8_mPUEo,2151
100
96
  compass_api_sdk/models/markettokens.py,sha256=fP8EMGaqgZrDg4sRpnqmlESVxz3-ZSotGxZjULAjNfc,1599
101
- compass_api_sdk/models/metadata.py,sha256=QtYhxd8PZdJOC2T2SkaKmcAwxg8cfRMjVvpj-D4dytg,1496
102
97
  compass_api_sdk/models/morpho_market_positionop.py,sha256=1nqzRHREOAZhRCIB277JbOuCqb1s_1G-gKYTL_eRyng,1480
103
98
  compass_api_sdk/models/morpho_marketop.py,sha256=mRcswMLi9ggpwJHNMYGwP67YRx_6Bkko728HM7MhDGk,1126
104
99
  compass_api_sdk/models/morpho_marketsop.py,sha256=0bt1iUYA5CRB4V59wFCUMzFCt6WXw9uIlbh1jlSi0Tc,2373
105
100
  compass_api_sdk/models/morpho_user_positionop.py,sha256=ZI3tLwWXQ7eiSdLrQFszepA8PCW3lHKy8dH9DbtZAlo,1042
106
- compass_api_sdk/models/morpho_vault_positionop.py,sha256=8fTCRPEBon3eMr4Uc6eTdLwai7w8QyJnrTPeyKryenY,1344
107
101
  compass_api_sdk/models/morpho_vaultop.py,sha256=BpoKp0tHGhgzEf7RxxrgB5qloslryVDoW-7FrygIbU4,2989
108
102
  compass_api_sdk/models/morpho_vaultsop.py,sha256=Ed-0gPaMEnMvMHs_fN5MwrCOUZGMbnR_PnrX3NAekBs,2082
109
103
  compass_api_sdk/models/morphoborrowparams.py,sha256=njOr9MsXmDkD2JTVrTCJKXQuBi6cCagBMgoeGl9X5LM,3167
110
104
  compass_api_sdk/models/morphoborrowrequest.py,sha256=tFgzQ7SyuvwzFCc4pVkcPUbAje4MtYsi_EBuiEHQ6dA,3530
111
105
  compass_api_sdk/models/morphocheckmarketpositionresponse.py,sha256=Dp_q2q0sDKFTnv1ETp6pp-7TaII8oeZ_hQWtGcGbfHA,1665
112
106
  compass_api_sdk/models/morphocheckuserpositionresponse.py,sha256=VZqaTPJs-3tLcGAQnkniZs9XxZzELpRLErId8lg7bC4,1110
113
- compass_api_sdk/models/morphocheckvaultpositionresponse.py,sha256=TzEyV8bo6p7Qthqk0XhDGbCcuJeFmOOXnb926h_R_6M,604
114
107
  compass_api_sdk/models/morphodepositparams.py,sha256=wuBfsYWdfb6EwKf-dNVFlDHPQr2dVxLwWmjObQlg0Ys,2889
115
108
  compass_api_sdk/models/morphodepositrequest.py,sha256=UaX5sEVhh6fV8zUXoQKBGof36hibt4M3vLNgzA8YmvI,3249
116
109
  compass_api_sdk/models/morphogetmarketresponse.py,sha256=RU80xbW76Qng58E10ixB2RwP0nG07isfOTndMMhO8lg,3151
117
110
  compass_api_sdk/models/morphogetmarketsresponse.py,sha256=Tz4syoRzijBGd4eB8Ly0zg6ozwqfeUI4dyTex9Tkr0w,548
118
- compass_api_sdk/models/morphogetvaultresponse.py,sha256=iTGUsD3tVi77ZSbj-AJCsCh5oaIUuOKluab7KNS9f_o,2769
119
111
  compass_api_sdk/models/morphogetvaultsresponse.py,sha256=b5LuGh9anPCWX8GJb6N0SQGoXRTNBWheSTewZD_jrrM,537
120
112
  compass_api_sdk/models/morphomarket.py,sha256=APfUKsnjZ6x8KvNY8P1PJ7h-AKgFWTMBeYeGAM58Yac,2850
121
113
  compass_api_sdk/models/morphorepayparams.py,sha256=n5VPRyJVcckqXrM92NhfccZuHltoj3xCMpJ7hLzjBzM,3053
@@ -180,7 +172,7 @@ compass_api_sdk/models/syposition.py,sha256=AZK-1B3zsZphz-zmYOR_cTONyyhbPJnVe3x9
180
172
  compass_api_sdk/models/token_addressop.py,sha256=4rmH4aUL9rPQWpeI3YSUPr-UVgIvB8q4QEMRHPHMv7g,2161
181
173
  compass_api_sdk/models/token_balanceop.py,sha256=IJ9QjyIDvpNNvGzeUF9E4FsCR8Q-tciB6zvFcskK_ic,1793
182
174
  compass_api_sdk/models/token_enum.py,sha256=klu_nFSPn35oWFaduBEjRQm5WjkNOpZztRVj0FucuK4,1166
183
- compass_api_sdk/models/token_priceop.py,sha256=jNamVMzjbrQ3Q0eIQE77-Fqvm4-luwzbLS3IB_7G1sY,2161
175
+ compass_api_sdk/models/token_priceop.py,sha256=Bff1htpluvAXud2luoOtatbfxJAP6kQS_u7r5mrpLGI,3487
184
176
  compass_api_sdk/models/tokenaddressresponse.py,sha256=alnjhUzaC_oBUWl1iyoSTh3La_I49CT5YyrPNN0ukmk,399
185
177
  compass_api_sdk/models/tokenbalanceresponse.py,sha256=CvSBOatB-SsFtkXkfYsOplcJyN0AhmP1PailafwloPs,1193
186
178
  compass_api_sdk/models/tokeninfo.py,sha256=XJxb3m5dS8sRBGCpHS128VemtSU4q09EXOEwaA6mc2o,483
@@ -229,14 +221,14 @@ compass_api_sdk/models/weeklyapys.py,sha256=AaGjDD4NeGsZQBwdRW1G09Pmx17pLPe2oUA9
229
221
  compass_api_sdk/models/wrapethparams.py,sha256=nw1fZiDrj5wZnI25Vmg0DcNI01k-uhot68lG1_H7xrY,1223
230
222
  compass_api_sdk/models/wrapethrequest.py,sha256=pjo0BZtzdOZKuwgnc05LsCWO1A6ZAGLwFixLuXQNKDg,1476
231
223
  compass_api_sdk/models/yieldrange.py,sha256=WEpZR24JddnCS1_13y2P1CdD0lBi6dPktysCNu3TUic,324
232
- compass_api_sdk/morpho.py,sha256=Qplxxh6-0EkOunmbo1BQOvxhDDf8hMS3K1zHvH3sURc,116464
224
+ compass_api_sdk/morpho.py,sha256=UPBNlW0DQDEDNOH0n2OJw1rHyw1KyigWB_Qr-Zw4NYA,108156
233
225
  compass_api_sdk/pendle.py,sha256=mkvwj1dlhzEpsvh98iOZ0DdRaD47bVv5pbf-9_2TtGQ,92356
234
226
  compass_api_sdk/py.typed,sha256=zrp19r0G21lr2yRiMC0f8MFkQFGj9wMpSbboePMg8KM,59
235
227
  compass_api_sdk/sdk.py,sha256=rQ3ANGf0BxHoZc9hCQvsxkNc9qOW3DbGAuOz_sy3o7g,7865
236
228
  compass_api_sdk/sdkconfiguration.py,sha256=5nec4ViMLCsNWBd3DyEv8zWqU5Z77YZfzwX69jkdSnM,1607
237
229
  compass_api_sdk/sky.py,sha256=aELi_jmvjUqBxaEmnc4FPiX9k4hffHzY7vHgdhaG8bE,40405
238
230
  compass_api_sdk/smart_account.py,sha256=gEgiIopK9TrRD_BmLy2lw1voh24khfsZYrtwF5913d0,8646
239
- compass_api_sdk/token_sdk.py,sha256=vgA-JAvoFx7yQ90pQBl34W0mEWUdwLQWmv6z0agM_OY,31704
231
+ compass_api_sdk/token_sdk.py,sha256=Q6zmDEtcya4-f6TclCXCNTFlq3xyAOQt9npMHNzERAg,31978
240
232
  compass_api_sdk/transaction_bundler.py,sha256=nF2XiAwEt0F96TvsY3PscNs0V92x5exL6touYrMSFqA,30268
241
233
  compass_api_sdk/types/__init__.py,sha256=RArOwSgeeTIva6h-4ttjXwMUeCkz10nAFBL9D-QljI4,377
242
234
  compass_api_sdk/types/basemodel.py,sha256=L79WXvTECbSqaJzs8D3ud_KdIWkU7Cx2wbohDAktE9E,1127
@@ -258,6 +250,6 @@ compass_api_sdk/utils/security.py,sha256=ktep3HKwbFs-MLxUYTM8Jd4v-ZBum5_Z0u1PFId
258
250
  compass_api_sdk/utils/serializers.py,sha256=_I2LpPIXnaN9LFxgBFUKj5w38Dd9TcOhNYL_sH6bIo8,6439
259
251
  compass_api_sdk/utils/url.py,sha256=BgGPgcTA6MRK4bF8fjP2dUopN3NzEzxWMXPBVg8NQUA,5254
260
252
  compass_api_sdk/utils/values.py,sha256=CcaCXEa3xHhkUDROyXZocN8f0bdITftv9Y0P9lTf0YM,3517
261
- compass_api_sdk-0.9.37.dist-info/METADATA,sha256=hWTYQPCy4L0M4LQVhOAGVQSv1vLwYPUC8slFzFN36mE,28654
262
- compass_api_sdk-0.9.37.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
263
- compass_api_sdk-0.9.37.dist-info/RECORD,,
253
+ compass_api_sdk-0.9.39.dist-info/METADATA,sha256=sHGSM0CJWc1blCdcNtErDO8iWihdQR9qtXWZ-wHYHmM,28521
254
+ compass_api_sdk-0.9.39.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
255
+ compass_api_sdk-0.9.39.dist-info/RECORD,,
@@ -1,60 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from compass_api_sdk.types import BaseModel, Nullable, UNSET_SENTINEL
5
- import pydantic
6
- from pydantic import model_serializer
7
- from typing_extensions import Annotated, TypedDict
8
-
9
-
10
- class CompassAPIBackendModelsMorphoReadResponseGetVaultAssetTypedDict(TypedDict):
11
- address: str
12
- symbol: str
13
- name: str
14
- decimals: int
15
- price_usd: str
16
- logo_uri: Nullable[str]
17
-
18
-
19
- class CompassAPIBackendModelsMorphoReadResponseGetVaultAsset(BaseModel):
20
- address: str
21
-
22
- symbol: str
23
-
24
- name: str
25
-
26
- decimals: int
27
-
28
- price_usd: Annotated[str, pydantic.Field(alias="priceUsd")]
29
-
30
- logo_uri: Annotated[Nullable[str], pydantic.Field(alias="logoURI")]
31
-
32
- @model_serializer(mode="wrap")
33
- def serialize_model(self, handler):
34
- optional_fields = []
35
- nullable_fields = ["logoURI"]
36
- null_default_fields = []
37
-
38
- serialized = handler(self)
39
-
40
- m = {}
41
-
42
- for n, f in type(self).model_fields.items():
43
- k = f.alias or n
44
- val = serialized.get(k)
45
- serialized.pop(k, None)
46
-
47
- optional_nullable = k in optional_fields and k in nullable_fields
48
- is_set = (
49
- self.__pydantic_fields_set__.intersection({n})
50
- or k in null_default_fields
51
- ) # pylint: disable=no-member
52
-
53
- if val is not None and val != UNSET_SENTINEL:
54
- m[k] = val
55
- elif val != UNSET_SENTINEL and (
56
- not k in optional_fields or (optional_nullable and is_set)
57
- ):
58
- m[k] = val
59
-
60
- return m
@@ -1,53 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from compass_api_sdk.types import BaseModel
5
- import pydantic
6
- from typing_extensions import Annotated, TypedDict
7
-
8
-
9
- class CompassAPIBackendModelsMorphoReadResponseGetVaultVaultStateTypedDict(TypedDict):
10
- apy: str
11
- net_apy: str
12
- daily_apy: str
13
- daily_net_apy: str
14
- weekly_apy: str
15
- weekly_net_apy: str
16
- monthly_apy: str
17
- monthly_net_apy: str
18
- yearly_apy: str
19
- yearly_net_apy: str
20
- all_time_apy: str
21
- all_time_net_apy: str
22
- total_assets: str
23
- total_assets_usd: str
24
-
25
-
26
- class CompassAPIBackendModelsMorphoReadResponseGetVaultVaultState(BaseModel):
27
- apy: str
28
-
29
- net_apy: Annotated[str, pydantic.Field(alias="netApy")]
30
-
31
- daily_apy: Annotated[str, pydantic.Field(alias="dailyApy")]
32
-
33
- daily_net_apy: Annotated[str, pydantic.Field(alias="dailyNetApy")]
34
-
35
- weekly_apy: Annotated[str, pydantic.Field(alias="weeklyApy")]
36
-
37
- weekly_net_apy: Annotated[str, pydantic.Field(alias="weeklyNetApy")]
38
-
39
- monthly_apy: Annotated[str, pydantic.Field(alias="monthlyApy")]
40
-
41
- monthly_net_apy: Annotated[str, pydantic.Field(alias="monthlyNetApy")]
42
-
43
- yearly_apy: Annotated[str, pydantic.Field(alias="yearlyApy")]
44
-
45
- yearly_net_apy: Annotated[str, pydantic.Field(alias="yearlyNetApy")]
46
-
47
- all_time_apy: Annotated[str, pydantic.Field(alias="allTimeApy")]
48
-
49
- all_time_net_apy: Annotated[str, pydantic.Field(alias="allTimeNetApy")]
50
-
51
- total_assets: Annotated[str, pydantic.Field(alias="totalAssets")]
52
-
53
- total_assets_usd: Annotated[str, pydantic.Field(alias="totalAssetsUsd")]
@@ -1,53 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from compass_api_sdk.types import BaseModel, Nullable, UNSET_SENTINEL
5
- from pydantic import model_serializer
6
- from typing_extensions import TypedDict
7
-
8
-
9
- class CuratorTypedDict(TypedDict):
10
- name: str
11
- verified: bool
12
- url: Nullable[str]
13
- image: Nullable[str]
14
-
15
-
16
- class Curator(BaseModel):
17
- name: str
18
-
19
- verified: bool
20
-
21
- url: Nullable[str]
22
-
23
- image: Nullable[str]
24
-
25
- @model_serializer(mode="wrap")
26
- def serialize_model(self, handler):
27
- optional_fields = []
28
- nullable_fields = ["url", "image"]
29
- null_default_fields = []
30
-
31
- serialized = handler(self)
32
-
33
- m = {}
34
-
35
- for n, f in type(self).model_fields.items():
36
- k = f.alias or n
37
- val = serialized.get(k)
38
- serialized.pop(k, None)
39
-
40
- optional_nullable = k in optional_fields and k in nullable_fields
41
- is_set = (
42
- self.__pydantic_fields_set__.intersection({n})
43
- or k in null_default_fields
44
- ) # pylint: disable=no-member
45
-
46
- if val is not None and val != UNSET_SENTINEL:
47
- m[k] = val
48
- elif val != UNSET_SENTINEL and (
49
- not k in optional_fields or (optional_nullable and is_set)
50
- ):
51
- m[k] = val
52
-
53
- return m
@@ -1,16 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from compass_api_sdk.types import BaseModel
5
- from typing_extensions import TypedDict
6
-
7
-
8
- class LiquidityTypedDict(TypedDict):
9
- underlying: str
10
- usd: str
11
-
12
-
13
- class Liquidity(BaseModel):
14
- underlying: str
15
-
16
- usd: str
@@ -1,50 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .curator import Curator, CuratorTypedDict
5
- from compass_api_sdk.types import BaseModel, Nullable, UNSET_SENTINEL
6
- import pydantic
7
- from pydantic import model_serializer
8
- from typing import List
9
- from typing_extensions import Annotated, TypedDict
10
-
11
-
12
- class MetadataTypedDict(TypedDict):
13
- forum_link: Nullable[str]
14
- curators: List[CuratorTypedDict]
15
-
16
-
17
- class Metadata(BaseModel):
18
- forum_link: Annotated[Nullable[str], pydantic.Field(alias="forumLink")]
19
-
20
- curators: List[Curator]
21
-
22
- @model_serializer(mode="wrap")
23
- def serialize_model(self, handler):
24
- optional_fields = []
25
- nullable_fields = ["forumLink"]
26
- null_default_fields = []
27
-
28
- serialized = handler(self)
29
-
30
- m = {}
31
-
32
- for n, f in type(self).model_fields.items():
33
- k = f.alias or n
34
- val = serialized.get(k)
35
- serialized.pop(k, None)
36
-
37
- optional_nullable = k in optional_fields and k in nullable_fields
38
- is_set = (
39
- self.__pydantic_fields_set__.intersection({n})
40
- or k in null_default_fields
41
- ) # pylint: disable=no-member
42
-
43
- if val is not None and val != UNSET_SENTINEL:
44
- m[k] = val
45
- elif val != UNSET_SENTINEL and (
46
- not k in optional_fields or (optional_nullable and is_set)
47
- ):
48
- m[k] = val
49
-
50
- return m
@@ -1,37 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from compass_api_sdk.types import BaseModel
5
- from compass_api_sdk.utils import FieldMetadata, QueryParamMetadata
6
- from enum import Enum
7
- from typing_extensions import Annotated, TypedDict
8
-
9
-
10
- class MorphoVaultPositionChain(str, Enum):
11
- ETHEREUM_MAINNET = "ethereum:mainnet"
12
- BASE_MAINNET = "base:mainnet"
13
-
14
-
15
- class MorphoVaultPositionRequestTypedDict(TypedDict):
16
- chain: MorphoVaultPositionChain
17
- user_address: str
18
- r"""The user address of the desired vault position."""
19
- vault_address: str
20
- r"""The vault address of the desired vault position."""
21
-
22
-
23
- class MorphoVaultPositionRequest(BaseModel):
24
- chain: Annotated[
25
- MorphoVaultPositionChain,
26
- FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
27
- ] = MorphoVaultPositionChain.BASE_MAINNET
28
-
29
- user_address: Annotated[
30
- str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
31
- ] = "0xB3B45f5aCBb58a432BDe58724c1C959E11D5A418"
32
- r"""The user address of the desired vault position."""
33
-
34
- vault_address: Annotated[
35
- str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
36
- ] = "0xc1256Ae5FF1cf2719D4937adb3bbCCab2E00A2Ca"
37
- r"""The vault address of the desired vault position."""
@@ -1,20 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from compass_api_sdk.types import BaseModel
5
- from typing_extensions import TypedDict
6
-
7
-
8
- class MorphoCheckVaultPositionResponseTypedDict(TypedDict):
9
- shares: int
10
- r"""The number of vault shares the user holds."""
11
- token_amount: str
12
- r"""The amount of tokens the user has deposited."""
13
-
14
-
15
- class MorphoCheckVaultPositionResponse(BaseModel):
16
- shares: int
17
- r"""The number of vault shares the user holds."""
18
-
19
- token_amount: str
20
- r"""The amount of tokens the user has deposited."""
@@ -1,86 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .compass_api_backend_models_morpho_read_response_get_vault_asset import (
5
- CompassAPIBackendModelsMorphoReadResponseGetVaultAsset,
6
- CompassAPIBackendModelsMorphoReadResponseGetVaultAssetTypedDict,
7
- )
8
- from .compass_api_backend_models_morpho_read_response_get_vault_vaultstate import (
9
- CompassAPIBackendModelsMorphoReadResponseGetVaultVaultState,
10
- CompassAPIBackendModelsMorphoReadResponseGetVaultVaultStateTypedDict,
11
- )
12
- from .liquidity import Liquidity, LiquidityTypedDict
13
- from .metadata import Metadata, MetadataTypedDict
14
- from compass_api_sdk.types import (
15
- BaseModel,
16
- Nullable,
17
- OptionalNullable,
18
- UNSET,
19
- UNSET_SENTINEL,
20
- )
21
- from pydantic import model_serializer
22
- from typing_extensions import NotRequired, TypedDict
23
-
24
-
25
- class MorphoGetVaultResponseTypedDict(TypedDict):
26
- name: str
27
- r"""The name of the Morpho vault."""
28
- symbol: str
29
- r"""The symbol of the Morpho vault."""
30
- whitelisted: bool
31
- r"""Whether the vault is whitelisted or not."""
32
- state: CompassAPIBackendModelsMorphoReadResponseGetVaultVaultStateTypedDict
33
- liquidity: LiquidityTypedDict
34
- asset: CompassAPIBackendModelsMorphoReadResponseGetVaultAssetTypedDict
35
- metadata: NotRequired[Nullable[MetadataTypedDict]]
36
- r"""Metadata of the vault."""
37
-
38
-
39
- class MorphoGetVaultResponse(BaseModel):
40
- name: str
41
- r"""The name of the Morpho vault."""
42
-
43
- symbol: str
44
- r"""The symbol of the Morpho vault."""
45
-
46
- whitelisted: bool
47
- r"""Whether the vault is whitelisted or not."""
48
-
49
- state: CompassAPIBackendModelsMorphoReadResponseGetVaultVaultState
50
-
51
- liquidity: Liquidity
52
-
53
- asset: CompassAPIBackendModelsMorphoReadResponseGetVaultAsset
54
-
55
- metadata: OptionalNullable[Metadata] = UNSET
56
- r"""Metadata of the vault."""
57
-
58
- @model_serializer(mode="wrap")
59
- def serialize_model(self, handler):
60
- optional_fields = ["metadata"]
61
- nullable_fields = ["metadata"]
62
- null_default_fields = []
63
-
64
- serialized = handler(self)
65
-
66
- m = {}
67
-
68
- for n, f in type(self).model_fields.items():
69
- k = f.alias or n
70
- val = serialized.get(k)
71
- serialized.pop(k, None)
72
-
73
- optional_nullable = k in optional_fields and k in nullable_fields
74
- is_set = (
75
- self.__pydantic_fields_set__.intersection({n})
76
- or k in null_default_fields
77
- ) # pylint: disable=no-member
78
-
79
- if val is not None and val != UNSET_SENTINEL:
80
- m[k] = val
81
- elif val != UNSET_SENTINEL and (
82
- not k in optional_fields or (optional_nullable and is_set)
83
- ):
84
- m[k] = val
85
-
86
- return m