compass_api_sdk 0.3.5__py3-none-any.whl → 0.3.8__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.
- {compassapisdk → compass_api_sdk}/_hooks/sdkhooks.py +1 -1
- {compassapisdk → compass_api_sdk}/_hooks/types.py +1 -1
- {compassapisdk → compass_api_sdk}/_version.py +3 -3
- {compassapisdk → compass_api_sdk}/aave_v3.py +15 -15
- {compassapisdk → compass_api_sdk}/aerodrome_slipstream.py +3 -3
- {compassapisdk → compass_api_sdk}/basesdk.py +3 -3
- {compassapisdk → compass_api_sdk}/errors/httpvalidationerror.py +3 -3
- {compassapisdk → compass_api_sdk}/models/__init__.py +132 -6
- {compassapisdk → compass_api_sdk}/models/aave_avg_rateop.py +6 -6
- {compassapisdk → compass_api_sdk}/models/aave_historical_transactionsop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/aave_liquidity_changeop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/aave_rateop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/aave_reserve_overviewop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/aave_std_rateop.py +6 -6
- {compassapisdk → compass_api_sdk}/models/aave_token_priceop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/aave_user_position_per_tokenop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/aave_user_position_summaryop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/aaveavgrateresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aaveborrowparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aaveborrowrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aavehistoricaltransactionsresponse.py +2 -2
- {compassapisdk → compass_api_sdk}/models/aaveliquiditychangeresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aavelooprequest.py +3 -3
- {compassapisdk → compass_api_sdk}/models/aaverateresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aaverepayparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aaverepayrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aavereserveoverviewresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aavestdrateresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aavesupplyparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aavesupplyrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aavetokenpriceresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aaveuserpositionpertokenresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aaveuserpositionsummaryresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aavewithdrawparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aavewithdrawrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aerodrome_slipstream_liquidity_provision_positionsop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/aerodrome_slipstream_pool_priceop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/aerodromelppositionsresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aerodromeposition.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aerodromeslipstreambuyexactlyparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aerodromeslipstreambuyexactlyrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aerodromeslipstreamincreaseliquidityprovisionparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aerodromeslipstreamincreaseliquidityprovisionrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aerodromeslipstreammintliquidityprovisionparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aerodromeslipstreammintliquidityprovisionrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aerodromeslipstreampoolpriceresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aerodromeslipstreamsellexactlyparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aerodromeslipstreamsellexactlyrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aerodromeslipstreamwithdrawliquidityprovisionparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/aerodromeslipstreamwithdrawliquidityprovisionrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/allowanceinforesponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/borrow.py +2 -2
- {compassapisdk → compass_api_sdk}/models/chaininfo.py +1 -1
- compass_api_sdk/models/compass_api_backend_models_morpho_read_response_check_user_position_apydata.py +19 -0
- compass_api_sdk/models/compass_api_backend_models_morpho_read_response_check_user_position_asset.py +62 -0
- compass_api_sdk/models/compass_api_backend_models_morpho_read_response_check_user_position_marketstate.py +40 -0
- compass_api_sdk/models/compass_api_backend_models_morpho_read_response_check_user_position_vaultstate.py +25 -0
- compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_market_apydata.py +23 -0
- compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_market_asset.py +60 -0
- compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_market_marketstate.py +38 -0
- {compassapisdk → compass_api_sdk}/models/compass_api_backend_models_morpho_read_response_get_markets_asset.py +1 -1
- compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_markets_marketstate.py +72 -0
- compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_vault_asset.py +60 -0
- compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_vault_vaultstate.py +53 -0
- {compassapisdk → compass_api_sdk}/models/compass_api_backend_models_morpho_read_response_get_vaults_asset.py +1 -1
- compassapisdk/models/vaultstate.py → compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_vaults_vaultstate.py +3 -3
- compass_api_sdk/models/curator.py +53 -0
- {compassapisdk → compass_api_sdk}/models/ensnameinforesponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/generic_allowanceop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/generic_ensop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/generic_portfolioop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/generic_supported_tokensop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/generic_visualize_portfolioop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/image.py +1 -1
- {compassapisdk → compass_api_sdk}/models/increaseallowanceanyparams.py +3 -7
- {compassapisdk → compass_api_sdk}/models/increaseallowanceparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/increaseallowancerequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/liquidationcall.py +2 -2
- compass_api_sdk/models/liquidity.py +16 -0
- compass_api_sdk/models/market.py +14 -0
- compass_api_sdk/models/marketposition.py +63 -0
- compass_api_sdk/models/metadata.py +56 -0
- {compassapisdk → compass_api_sdk}/models/morpho_market_positionop.py +2 -2
- compass_api_sdk/models/morpho_marketop.py +30 -0
- {compassapisdk → compass_api_sdk}/models/morpho_marketsop.py +22 -16
- compass_api_sdk/models/morpho_user_positionop.py +30 -0
- {compassapisdk → compass_api_sdk}/models/morpho_vault_positionop.py +2 -2
- compass_api_sdk/models/morpho_vaultop.py +30 -0
- {compassapisdk → compass_api_sdk}/models/morpho_vaultsop.py +18 -12
- {compassapisdk → compass_api_sdk}/models/morphoborrowparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/morphoborrowrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/morphocheckmarketpositionresponse.py +1 -1
- compass_api_sdk/models/morphocheckuserpositionresponse.py +32 -0
- {compassapisdk → compass_api_sdk}/models/morphocheckvaultpositionresponse.py +3 -3
- {compassapisdk → compass_api_sdk}/models/morphodepositparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/morphodepositrequest.py +1 -1
- compass_api_sdk/models/morphogetmarketresponse.py +78 -0
- {compassapisdk → compass_api_sdk}/models/morphogetmarketsresponse.py +1 -1
- compass_api_sdk/models/morphogetvaultresponse.py +47 -0
- {compassapisdk → compass_api_sdk}/models/morphogetvaultsresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/morphomarket.py +7 -4
- {compassapisdk → compass_api_sdk}/models/morphorepayparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/morphorepayrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/morphosetvaultallowanceparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/morphosetvaultallowancerequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/morphosupplycollateralparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/morphosupplycollateralrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/morphovault.py +7 -4
- {compassapisdk → compass_api_sdk}/models/morphowithdrawcollateralparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/morphowithdrawcollateralrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/morphowithdrawparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/morphowithdrawrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/multicallaction.py +1 -1
- {compassapisdk → compass_api_sdk}/models/multicallauthorizationrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/multicallauthorizationresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/multicallexecuterequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/portfolio.py +1 -1
- {compassapisdk → compass_api_sdk}/models/redeemunderlying.py +1 -1
- {compassapisdk → compass_api_sdk}/models/repay.py +2 -2
- {compassapisdk → compass_api_sdk}/models/reserve.py +1 -1
- {compassapisdk → compass_api_sdk}/models/security.py +2 -2
- {compassapisdk → compass_api_sdk}/models/signedauthorization.py +1 -1
- {compassapisdk → compass_api_sdk}/models/sky_positionop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/skybuyparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/skybuyrequest.py +2 -2
- {compassapisdk → compass_api_sdk}/models/skycheckpositionresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/skydepositparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/skydepositrequest.py +2 -2
- {compassapisdk → compass_api_sdk}/models/skysellparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/skysellrequest.py +2 -2
- {compassapisdk → compass_api_sdk}/models/skywithdrawparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/skywithdrawrequest.py +2 -2
- {compassapisdk → compass_api_sdk}/models/supply.py +2 -2
- {compassapisdk → compass_api_sdk}/models/swapborrowrate.py +2 -2
- {compassapisdk → compass_api_sdk}/models/token_addressop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/token_balanceop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/token_priceop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/tokenaddressresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/tokenbalance.py +1 -1
- {compassapisdk → compass_api_sdk}/models/tokenbalanceresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/tokeninfo.py +1 -1
- {compassapisdk → compass_api_sdk}/models/tokenpriceresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/tokentransfererc20params.py +1 -1
- {compassapisdk → compass_api_sdk}/models/tokentransferrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/uniswap_liquidity_provision_in_rangeop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/uniswap_liquidity_provision_positionsop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/uniswap_pool_priceop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/uniswap_quote_buy_exactlyop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/uniswap_quote_sell_exactlyop.py +2 -2
- {compassapisdk → compass_api_sdk}/models/uniswapbuyexactlyparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/uniswapbuyexactlyrequest.py +3 -3
- {compassapisdk → compass_api_sdk}/models/uniswapbuyquoteinforesponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/uniswapcheckinrangeresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/uniswapincreaseliquidityprovisionparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/uniswapincreaseliquidityprovisionrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/uniswaplppositionsinforesponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/uniswapmintliquidityprovisionparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/uniswapmintliquidityprovisionrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/uniswappoolpriceresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/uniswappositionssolidityresponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/uniswapsellexactlyparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/uniswapsellexactlyrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/uniswapsellquoteinforesponse.py +1 -1
- {compassapisdk → compass_api_sdk}/models/uniswapwithdrawliquidityprovisionparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/uniswapwithdrawliquidityprovisionrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/unsignedmulticalltransaction.py +1 -1
- {compassapisdk → compass_api_sdk}/models/unsignedtransaction.py +1 -1
- {compassapisdk → compass_api_sdk}/models/unwrapwethparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/unwrapwethrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/models/usageascollateral.py +2 -2
- compass_api_sdk/models/userstate.py +33 -0
- {compassapisdk → compass_api_sdk}/models/validationerror.py +1 -1
- compass_api_sdk/models/vault.py +58 -0
- compass_api_sdk/models/vaultposition.py +24 -0
- {compassapisdk → compass_api_sdk}/models/weeklyapys.py +1 -1
- {compassapisdk → compass_api_sdk}/models/wrapethparams.py +1 -1
- {compassapisdk → compass_api_sdk}/models/wrapethrequest.py +1 -1
- {compassapisdk → compass_api_sdk}/morpho.py +646 -42
- {compassapisdk → compass_api_sdk}/sdk.py +12 -12
- {compassapisdk → compass_api_sdk}/sdkconfiguration.py +2 -2
- {compassapisdk → compass_api_sdk}/sky.py +3 -7
- {compassapisdk → compass_api_sdk}/token_sdk.py +5 -5
- {compassapisdk → compass_api_sdk}/transaction_batching.py +3 -3
- {compassapisdk → compass_api_sdk}/uniswap_v3.py +3 -3
- {compassapisdk → compass_api_sdk}/universal.py +5 -5
- {compass_api_sdk-0.3.5.dist-info → compass_api_sdk-0.3.8.dist-info}/METADATA +53 -57
- compass_api_sdk-0.3.8.dist-info/RECORD +218 -0
- compass_api_sdk-0.3.5.dist-info/RECORD +0 -195
- compassapisdk/models/marketstate.py +0 -35
- {compassapisdk → compass_api_sdk}/__init__.py +0 -0
- {compassapisdk → compass_api_sdk}/_hooks/__init__.py +0 -0
- {compassapisdk → compass_api_sdk}/errors/__init__.py +0 -0
- {compassapisdk → compass_api_sdk}/errors/apierror.py +0 -0
- {compassapisdk → compass_api_sdk}/httpclient.py +0 -0
- {compassapisdk → compass_api_sdk}/models/chain.py +0 -0
- {compassapisdk → compass_api_sdk}/models/contractname.py +0 -0
- {compassapisdk → compass_api_sdk}/models/feeenum.py +0 -0
- {compassapisdk → compass_api_sdk}/models/interestratemode.py +0 -0
- {compassapisdk → compass_api_sdk}/models/multicallactiontype.py +0 -0
- {compassapisdk → compass_api_sdk}/models/token_enum.py +0 -0
- {compassapisdk → compass_api_sdk}/py.typed +0 -0
- {compassapisdk → compass_api_sdk}/types/__init__.py +0 -0
- {compassapisdk → compass_api_sdk}/types/basemodel.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/__init__.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/annotations.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/datetimes.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/enums.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/eventstreaming.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/forms.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/headers.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/logger.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/metadata.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/queryparams.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/requestbodies.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/retries.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/security.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/serializers.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/url.py +0 -0
- {compassapisdk → compass_api_sdk}/utils/values.py +0 -0
- {compass_api_sdk-0.3.5.dist-info → compass_api_sdk-0.3.8.dist-info}/WHEEL +0 -0
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from
|
|
5
|
-
|
|
4
|
+
from compass_api_sdk.types import (
|
|
5
|
+
BaseModel,
|
|
6
|
+
Nullable,
|
|
7
|
+
OptionalNullable,
|
|
8
|
+
UNSET,
|
|
9
|
+
UNSET_SENTINEL,
|
|
10
|
+
)
|
|
11
|
+
from compass_api_sdk.utils import FieldMetadata, QueryParamMetadata
|
|
6
12
|
from enum import Enum
|
|
7
13
|
from pydantic import model_serializer
|
|
8
|
-
from typing_extensions import Annotated, TypedDict
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
15
|
|
|
10
16
|
|
|
11
17
|
class MorphoMarketsChain(str, Enum):
|
|
@@ -14,34 +20,34 @@ class MorphoMarketsChain(str, Enum):
|
|
|
14
20
|
|
|
15
21
|
|
|
16
22
|
class MorphoMarketsRequestTypedDict(TypedDict):
|
|
17
|
-
|
|
23
|
+
chain: MorphoMarketsChain
|
|
24
|
+
collateral_token: NotRequired[Nullable[str]]
|
|
18
25
|
r"""Collateral token to identify the market."""
|
|
19
|
-
loan_token: Nullable[str]
|
|
26
|
+
loan_token: NotRequired[Nullable[str]]
|
|
20
27
|
r"""Loan token to identify the market."""
|
|
21
|
-
chain: MorphoMarketsChain
|
|
22
28
|
|
|
23
29
|
|
|
24
30
|
class MorphoMarketsRequest(BaseModel):
|
|
31
|
+
chain: Annotated[
|
|
32
|
+
MorphoMarketsChain,
|
|
33
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
34
|
+
] = MorphoMarketsChain.ETHEREUM_MAINNET
|
|
35
|
+
|
|
25
36
|
collateral_token: Annotated[
|
|
26
|
-
|
|
37
|
+
OptionalNullable[str],
|
|
27
38
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
28
|
-
]
|
|
39
|
+
] = UNSET
|
|
29
40
|
r"""Collateral token to identify the market."""
|
|
30
41
|
|
|
31
42
|
loan_token: Annotated[
|
|
32
|
-
|
|
43
|
+
OptionalNullable[str],
|
|
33
44
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
34
|
-
]
|
|
45
|
+
] = UNSET
|
|
35
46
|
r"""Loan token to identify the market."""
|
|
36
47
|
|
|
37
|
-
chain: Annotated[
|
|
38
|
-
MorphoMarketsChain,
|
|
39
|
-
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
40
|
-
] = MorphoMarketsChain.ETHEREUM_MAINNET
|
|
41
|
-
|
|
42
48
|
@model_serializer(mode="wrap")
|
|
43
49
|
def serialize_model(self, handler):
|
|
44
|
-
optional_fields = []
|
|
50
|
+
optional_fields = ["collateral_token", "loan_token"]
|
|
45
51
|
nullable_fields = ["collateral_token", "loan_token"]
|
|
46
52
|
null_default_fields = []
|
|
47
53
|
|
|
@@ -0,0 +1,30 @@
|
|
|
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 MorphoUserPositionChain(str, Enum):
|
|
11
|
+
ETHEREUM_MAINNET = "ethereum:mainnet"
|
|
12
|
+
BASE_MAINNET = "base:mainnet"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class MorphoUserPositionRequestTypedDict(TypedDict):
|
|
16
|
+
chain: MorphoUserPositionChain
|
|
17
|
+
user_address: str
|
|
18
|
+
r"""The user wallet address of the desired user position."""
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class MorphoUserPositionRequest(BaseModel):
|
|
22
|
+
chain: Annotated[
|
|
23
|
+
MorphoUserPositionChain,
|
|
24
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
25
|
+
] = MorphoUserPositionChain.ETHEREUM_MAINNET
|
|
26
|
+
|
|
27
|
+
user_address: Annotated[
|
|
28
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
29
|
+
] = "0xa829B388A3DF7f581cE957a95edbe419dd146d1B"
|
|
30
|
+
r"""The user wallet address of the desired user position."""
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from
|
|
5
|
-
from
|
|
4
|
+
from compass_api_sdk.types import BaseModel
|
|
5
|
+
from compass_api_sdk.utils import FieldMetadata, QueryParamMetadata
|
|
6
6
|
from enum import Enum
|
|
7
7
|
from typing_extensions import Annotated, TypedDict
|
|
8
8
|
|
|
@@ -0,0 +1,30 @@
|
|
|
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 MorphoVaultChain(str, Enum):
|
|
11
|
+
ETHEREUM_MAINNET = "ethereum:mainnet"
|
|
12
|
+
BASE_MAINNET = "base:mainnet"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class MorphoVaultRequestTypedDict(TypedDict):
|
|
16
|
+
chain: MorphoVaultChain
|
|
17
|
+
vault_address: str
|
|
18
|
+
r"""The vault address of the desired vault data & metrics."""
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class MorphoVaultRequest(BaseModel):
|
|
22
|
+
chain: Annotated[
|
|
23
|
+
MorphoVaultChain,
|
|
24
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
25
|
+
] = MorphoVaultChain.ETHEREUM_MAINNET
|
|
26
|
+
|
|
27
|
+
vault_address: Annotated[
|
|
28
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
29
|
+
] = "0xbEef047a543E45807105E51A8BBEFCc5950fcfBa"
|
|
30
|
+
r"""The vault address of the desired vault data & metrics."""
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from
|
|
5
|
-
|
|
4
|
+
from compass_api_sdk.types import (
|
|
5
|
+
BaseModel,
|
|
6
|
+
Nullable,
|
|
7
|
+
OptionalNullable,
|
|
8
|
+
UNSET,
|
|
9
|
+
UNSET_SENTINEL,
|
|
10
|
+
)
|
|
11
|
+
from compass_api_sdk.utils import FieldMetadata, QueryParamMetadata
|
|
6
12
|
from enum import Enum
|
|
7
13
|
from pydantic import model_serializer
|
|
8
|
-
from typing_extensions import Annotated, TypedDict
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
15
|
|
|
10
16
|
|
|
11
17
|
class MorphoVaultsChain(str, Enum):
|
|
@@ -14,26 +20,26 @@ class MorphoVaultsChain(str, Enum):
|
|
|
14
20
|
|
|
15
21
|
|
|
16
22
|
class MorphoVaultsRequestTypedDict(TypedDict):
|
|
17
|
-
deposit_token: Nullable[str]
|
|
18
|
-
r"""Token address that will filter vaults by this deposit token."""
|
|
19
23
|
chain: MorphoVaultsChain
|
|
24
|
+
deposit_token: NotRequired[Nullable[str]]
|
|
25
|
+
r"""Token address that will filter vaults by this deposit token."""
|
|
20
26
|
|
|
21
27
|
|
|
22
28
|
class MorphoVaultsRequest(BaseModel):
|
|
23
|
-
deposit_token: Annotated[
|
|
24
|
-
Nullable[str],
|
|
25
|
-
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
26
|
-
]
|
|
27
|
-
r"""Token address that will filter vaults by this deposit token."""
|
|
28
|
-
|
|
29
29
|
chain: Annotated[
|
|
30
30
|
MorphoVaultsChain,
|
|
31
31
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
32
32
|
] = MorphoVaultsChain.ETHEREUM_MAINNET
|
|
33
33
|
|
|
34
|
+
deposit_token: Annotated[
|
|
35
|
+
OptionalNullable[str],
|
|
36
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
37
|
+
] = UNSET
|
|
38
|
+
r"""Token address that will filter vaults by this deposit token."""
|
|
39
|
+
|
|
34
40
|
@model_serializer(mode="wrap")
|
|
35
41
|
def serialize_model(self, handler):
|
|
36
|
-
optional_fields = []
|
|
42
|
+
optional_fields = ["deposit_token"]
|
|
37
43
|
nullable_fields = ["deposit_token"]
|
|
38
44
|
null_default_fields = []
|
|
39
45
|
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .marketposition import MarketPosition, MarketPositionTypedDict
|
|
5
|
+
from .userstate import UserState, UserStateTypedDict
|
|
6
|
+
from .vaultposition import VaultPosition, VaultPositionTypedDict
|
|
7
|
+
from compass_api_sdk.types import BaseModel
|
|
8
|
+
import pydantic
|
|
9
|
+
from typing import List
|
|
10
|
+
from typing_extensions import Annotated, TypedDict
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class MorphoCheckUserPositionResponseTypedDict(TypedDict):
|
|
14
|
+
state: UserStateTypedDict
|
|
15
|
+
vault_positions: List[VaultPositionTypedDict]
|
|
16
|
+
r"""A list of the user's vault positions."""
|
|
17
|
+
market_positions: List[MarketPositionTypedDict]
|
|
18
|
+
r"""A list of the user's market positions."""
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class MorphoCheckUserPositionResponse(BaseModel):
|
|
22
|
+
state: UserState
|
|
23
|
+
|
|
24
|
+
vault_positions: Annotated[
|
|
25
|
+
List[VaultPosition], pydantic.Field(alias="vaultPositions")
|
|
26
|
+
]
|
|
27
|
+
r"""A list of the user's vault positions."""
|
|
28
|
+
|
|
29
|
+
market_positions: Annotated[
|
|
30
|
+
List[MarketPosition], pydantic.Field(alias="marketPositions")
|
|
31
|
+
]
|
|
32
|
+
r"""A list of the user's market positions."""
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from
|
|
4
|
+
from compass_api_sdk.types import BaseModel
|
|
5
5
|
from typing_extensions import TypedDict
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class MorphoCheckVaultPositionResponseTypedDict(TypedDict):
|
|
9
|
-
shares:
|
|
9
|
+
shares: int
|
|
10
10
|
r"""The number of vault shares the user holds."""
|
|
11
11
|
token_amount: str
|
|
12
12
|
r"""The amount of tokens the user has deposited."""
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
class MorphoCheckVaultPositionResponse(BaseModel):
|
|
16
|
-
shares:
|
|
16
|
+
shares: int
|
|
17
17
|
r"""The number of vault shares the user holds."""
|
|
18
18
|
|
|
19
19
|
token_amount: str
|
|
@@ -0,0 +1,78 @@
|
|
|
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_market_apydata import (
|
|
5
|
+
CompassAPIBackendModelsMorphoReadResponseGetMarketApyData,
|
|
6
|
+
CompassAPIBackendModelsMorphoReadResponseGetMarketApyDataTypedDict,
|
|
7
|
+
)
|
|
8
|
+
from .compass_api_backend_models_morpho_read_response_get_market_asset import (
|
|
9
|
+
CompassAPIBackendModelsMorphoReadResponseGetMarketAsset,
|
|
10
|
+
CompassAPIBackendModelsMorphoReadResponseGetMarketAssetTypedDict,
|
|
11
|
+
)
|
|
12
|
+
from .compass_api_backend_models_morpho_read_response_get_market_marketstate import (
|
|
13
|
+
CompassAPIBackendModelsMorphoReadResponseGetMarketMarketState,
|
|
14
|
+
CompassAPIBackendModelsMorphoReadResponseGetMarketMarketStateTypedDict,
|
|
15
|
+
)
|
|
16
|
+
from compass_api_sdk.types import BaseModel
|
|
17
|
+
import pydantic
|
|
18
|
+
from typing_extensions import Annotated, TypedDict
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class MorphoGetMarketResponseTypedDict(TypedDict):
|
|
22
|
+
whitelisted: bool
|
|
23
|
+
r"""Whether the market is whitelisted or not."""
|
|
24
|
+
lltv: str
|
|
25
|
+
r"""(Liquidation Loan-To-Value) Maximum borrowing percentage before liquidation risk. Scaled by 1e18."""
|
|
26
|
+
daily_apys: CompassAPIBackendModelsMorphoReadResponseGetMarketApyDataTypedDict
|
|
27
|
+
weekly_apys: CompassAPIBackendModelsMorphoReadResponseGetMarketApyDataTypedDict
|
|
28
|
+
monthly_apys: CompassAPIBackendModelsMorphoReadResponseGetMarketApyDataTypedDict
|
|
29
|
+
yearly_apys: CompassAPIBackendModelsMorphoReadResponseGetMarketApyDataTypedDict
|
|
30
|
+
all_time_apys: CompassAPIBackendModelsMorphoReadResponseGetMarketApyDataTypedDict
|
|
31
|
+
collateral_asset: CompassAPIBackendModelsMorphoReadResponseGetMarketAssetTypedDict
|
|
32
|
+
loan_asset: CompassAPIBackendModelsMorphoReadResponseGetMarketAssetTypedDict
|
|
33
|
+
state: CompassAPIBackendModelsMorphoReadResponseGetMarketMarketStateTypedDict
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class MorphoGetMarketResponse(BaseModel):
|
|
37
|
+
whitelisted: bool
|
|
38
|
+
r"""Whether the market is whitelisted or not."""
|
|
39
|
+
|
|
40
|
+
lltv: str
|
|
41
|
+
r"""(Liquidation Loan-To-Value) Maximum borrowing percentage before liquidation risk. Scaled by 1e18."""
|
|
42
|
+
|
|
43
|
+
daily_apys: Annotated[
|
|
44
|
+
CompassAPIBackendModelsMorphoReadResponseGetMarketApyData,
|
|
45
|
+
pydantic.Field(alias="dailyApys"),
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
weekly_apys: Annotated[
|
|
49
|
+
CompassAPIBackendModelsMorphoReadResponseGetMarketApyData,
|
|
50
|
+
pydantic.Field(alias="weeklyApys"),
|
|
51
|
+
]
|
|
52
|
+
|
|
53
|
+
monthly_apys: Annotated[
|
|
54
|
+
CompassAPIBackendModelsMorphoReadResponseGetMarketApyData,
|
|
55
|
+
pydantic.Field(alias="monthlyApys"),
|
|
56
|
+
]
|
|
57
|
+
|
|
58
|
+
yearly_apys: Annotated[
|
|
59
|
+
CompassAPIBackendModelsMorphoReadResponseGetMarketApyData,
|
|
60
|
+
pydantic.Field(alias="yearlyApys"),
|
|
61
|
+
]
|
|
62
|
+
|
|
63
|
+
all_time_apys: Annotated[
|
|
64
|
+
CompassAPIBackendModelsMorphoReadResponseGetMarketApyData,
|
|
65
|
+
pydantic.Field(alias="allTimeApys"),
|
|
66
|
+
]
|
|
67
|
+
|
|
68
|
+
collateral_asset: Annotated[
|
|
69
|
+
CompassAPIBackendModelsMorphoReadResponseGetMarketAsset,
|
|
70
|
+
pydantic.Field(alias="collateralAsset"),
|
|
71
|
+
]
|
|
72
|
+
|
|
73
|
+
loan_asset: Annotated[
|
|
74
|
+
CompassAPIBackendModelsMorphoReadResponseGetMarketAsset,
|
|
75
|
+
pydantic.Field(alias="loanAsset"),
|
|
76
|
+
]
|
|
77
|
+
|
|
78
|
+
state: CompassAPIBackendModelsMorphoReadResponseGetMarketMarketState
|
|
@@ -0,0 +1,47 @@
|
|
|
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 BaseModel
|
|
15
|
+
from typing_extensions import TypedDict
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class MorphoGetVaultResponseTypedDict(TypedDict):
|
|
19
|
+
name: str
|
|
20
|
+
r"""The name of the Morpho vault."""
|
|
21
|
+
symbol: str
|
|
22
|
+
r"""The symbol of the Morpho vault."""
|
|
23
|
+
whitelisted: bool
|
|
24
|
+
r"""Whether the vault is whitelisted or not."""
|
|
25
|
+
state: CompassAPIBackendModelsMorphoReadResponseGetVaultVaultStateTypedDict
|
|
26
|
+
liquidity: LiquidityTypedDict
|
|
27
|
+
asset: CompassAPIBackendModelsMorphoReadResponseGetVaultAssetTypedDict
|
|
28
|
+
metadata: MetadataTypedDict
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class MorphoGetVaultResponse(BaseModel):
|
|
32
|
+
name: str
|
|
33
|
+
r"""The name of the Morpho vault."""
|
|
34
|
+
|
|
35
|
+
symbol: str
|
|
36
|
+
r"""The symbol of the Morpho vault."""
|
|
37
|
+
|
|
38
|
+
whitelisted: bool
|
|
39
|
+
r"""Whether the vault is whitelisted or not."""
|
|
40
|
+
|
|
41
|
+
state: CompassAPIBackendModelsMorphoReadResponseGetVaultVaultState
|
|
42
|
+
|
|
43
|
+
liquidity: Liquidity
|
|
44
|
+
|
|
45
|
+
asset: CompassAPIBackendModelsMorphoReadResponseGetVaultAsset
|
|
46
|
+
|
|
47
|
+
metadata: Metadata
|
|
@@ -5,9 +5,12 @@ from .compass_api_backend_models_morpho_read_response_get_markets_asset import (
|
|
|
5
5
|
CompassAPIBackendModelsMorphoReadResponseGetMarketsAsset,
|
|
6
6
|
CompassAPIBackendModelsMorphoReadResponseGetMarketsAssetTypedDict,
|
|
7
7
|
)
|
|
8
|
-
from .
|
|
8
|
+
from .compass_api_backend_models_morpho_read_response_get_markets_marketstate import (
|
|
9
|
+
CompassAPIBackendModelsMorphoReadResponseGetMarketsMarketState,
|
|
10
|
+
CompassAPIBackendModelsMorphoReadResponseGetMarketsMarketStateTypedDict,
|
|
11
|
+
)
|
|
9
12
|
from .weeklyapys import WeeklyApys, WeeklyApysTypedDict
|
|
10
|
-
from
|
|
13
|
+
from compass_api_sdk.types import BaseModel, Nullable, UNSET_SENTINEL
|
|
11
14
|
import pydantic
|
|
12
15
|
from pydantic import model_serializer
|
|
13
16
|
from typing_extensions import Annotated, TypedDict
|
|
@@ -18,7 +21,7 @@ class MorphoMarketTypedDict(TypedDict):
|
|
|
18
21
|
lltv: int
|
|
19
22
|
oracle_address: str
|
|
20
23
|
irm_address: str
|
|
21
|
-
state:
|
|
24
|
+
state: CompassAPIBackendModelsMorphoReadResponseGetMarketsMarketStateTypedDict
|
|
22
25
|
weekly_apys: WeeklyApysTypedDict
|
|
23
26
|
collateral_asset: Nullable[
|
|
24
27
|
CompassAPIBackendModelsMorphoReadResponseGetMarketsAssetTypedDict
|
|
@@ -35,7 +38,7 @@ class MorphoMarket(BaseModel):
|
|
|
35
38
|
|
|
36
39
|
irm_address: Annotated[str, pydantic.Field(alias="irmAddress")]
|
|
37
40
|
|
|
38
|
-
state:
|
|
41
|
+
state: CompassAPIBackendModelsMorphoReadResponseGetMarketsMarketState
|
|
39
42
|
|
|
40
43
|
weekly_apys: Annotated[WeeklyApys, pydantic.Field(alias="weeklyApys")]
|
|
41
44
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from
|
|
4
|
+
from compass_api_sdk.types import BaseModel
|
|
5
5
|
from typing import Union
|
|
6
6
|
from typing_extensions import TypeAliasType, TypedDict
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from
|
|
4
|
+
from compass_api_sdk.types import BaseModel
|
|
5
5
|
from enum import Enum
|
|
6
6
|
from typing import Union
|
|
7
7
|
from typing_extensions import TypeAliasType, TypedDict
|
|
@@ -6,8 +6,11 @@ from .compass_api_backend_models_morpho_read_response_get_vaults_asset import (
|
|
|
6
6
|
CompassAPIBackendModelsMorphoReadResponseGetVaultsAsset,
|
|
7
7
|
CompassAPIBackendModelsMorphoReadResponseGetVaultsAssetTypedDict,
|
|
8
8
|
)
|
|
9
|
-
from .
|
|
10
|
-
|
|
9
|
+
from .compass_api_backend_models_morpho_read_response_get_vaults_vaultstate import (
|
|
10
|
+
CompassAPIBackendModelsMorphoReadResponseGetVaultsVaultState,
|
|
11
|
+
CompassAPIBackendModelsMorphoReadResponseGetVaultsVaultStateTypedDict,
|
|
12
|
+
)
|
|
13
|
+
from compass_api_sdk.types import BaseModel
|
|
11
14
|
import pydantic
|
|
12
15
|
from typing_extensions import Annotated, TypedDict
|
|
13
16
|
|
|
@@ -22,7 +25,7 @@ class MorphoVaultTypedDict(TypedDict):
|
|
|
22
25
|
whitelisted: bool
|
|
23
26
|
asset: CompassAPIBackendModelsMorphoReadResponseGetVaultsAssetTypedDict
|
|
24
27
|
chain: ChainInfoTypedDict
|
|
25
|
-
state:
|
|
28
|
+
state: CompassAPIBackendModelsMorphoReadResponseGetVaultsVaultStateTypedDict
|
|
26
29
|
|
|
27
30
|
|
|
28
31
|
class MorphoVault(BaseModel):
|
|
@@ -44,4 +47,4 @@ class MorphoVault(BaseModel):
|
|
|
44
47
|
|
|
45
48
|
chain: ChainInfo
|
|
46
49
|
|
|
47
|
-
state:
|
|
50
|
+
state: CompassAPIBackendModelsMorphoReadResponseGetVaultsVaultState
|
|
@@ -80,7 +80,7 @@ from .uniswapwithdrawliquidityprovisionparams import (
|
|
|
80
80
|
)
|
|
81
81
|
from .unwrapwethparams import UnwrapWethParams, UnwrapWethParamsTypedDict
|
|
82
82
|
from .wrapethparams import WrapEthParams, WrapEthParamsTypedDict
|
|
83
|
-
from
|
|
83
|
+
from compass_api_sdk.types import BaseModel
|
|
84
84
|
from typing import Union
|
|
85
85
|
from typing_extensions import TypeAliasType, TypedDict
|
|
86
86
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from
|
|
4
|
+
from compass_api_sdk.types import BaseModel
|
|
5
5
|
import pydantic
|
|
6
6
|
from typing_extensions import Annotated, TypedDict
|
|
7
7
|
|
|
@@ -4,7 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
from .chain import Chain
|
|
5
5
|
from .multicallaction import MulticallAction, MulticallActionTypedDict
|
|
6
6
|
from .signedauthorization import SignedAuthorization, SignedAuthorizationTypedDict
|
|
7
|
-
from
|
|
7
|
+
from compass_api_sdk.types import BaseModel
|
|
8
8
|
from typing import List
|
|
9
9
|
from typing_extensions import TypedDict
|
|
10
10
|
|