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

Files changed (30) hide show
  1. compass_api_sdk/_version.py +2 -2
  2. compass_api_sdk/models/__init__.py +106 -22
  3. compass_api_sdk/models/{tokenbalance.py → compass_api_backend_models_generic_read_response_portfolio_tokenbalance.py} +4 -2
  4. compass_api_sdk/models/compass_api_backend_models_pendle_read_response_positions_tokenbalance.py +18 -0
  5. compass_api_sdk/models/details.py +39 -0
  6. compass_api_sdk/models/increaseallowanceparams.py +20 -16
  7. compass_api_sdk/models/increaseallowancerequest.py +20 -16
  8. compass_api_sdk/models/lpbalance.py +20 -0
  9. compass_api_sdk/models/movement10percent.py +23 -0
  10. compass_api_sdk/models/multicallactiontype.py +0 -1
  11. compass_api_sdk/models/openposition.py +28 -0
  12. compass_api_sdk/models/pendle_marketop.py +1 -1
  13. compass_api_sdk/models/pendle_marketsop.py +73 -0
  14. compass_api_sdk/models/pendle_positionop.py +1 -1
  15. compass_api_sdk/models/pendle_positionsop.py +80 -0
  16. compass_api_sdk/models/pendlelistmarketsresponse.py +17 -0
  17. compass_api_sdk/models/pendlelistuserpositionsresponse.py +17 -0
  18. compass_api_sdk/models/pendlemarket.py +46 -0
  19. compass_api_sdk/models/portfolio.py +10 -3
  20. compass_api_sdk/models/position.py +41 -0
  21. compass_api_sdk/models/syposition.py +17 -0
  22. compass_api_sdk/models/useroperation.py +20 -26
  23. compass_api_sdk/models/yieldrange.py +16 -0
  24. compass_api_sdk/pendle.py +414 -4
  25. compass_api_sdk/universal.py +14 -8
  26. {compass_api_sdk-0.6.1.dist-info → compass_api_sdk-0.6.2.dist-info}/METADATA +4 -2
  27. {compass_api_sdk-0.6.1.dist-info → compass_api_sdk-0.6.2.dist-info}/RECORD +28 -17
  28. compass_api_sdk/models/contractname.py +0 -41
  29. compass_api_sdk/models/increaseallowanceanyparams.py +0 -58
  30. {compass_api_sdk-0.6.1.dist-info → compass_api_sdk-0.6.2.dist-info}/WHEEL +0 -0
@@ -15,7 +15,6 @@ class MulticallActionType(str, Enum):
15
15
  AERODROME_SLIPSTREAM_SELL_EXACTLY = "AERODROME_SLIPSTREAM_SELL_EXACTLY"
16
16
  AERODROME_SLIPSTREAM_WITHDRAW_LIQUIDITY = "AERODROME_SLIPSTREAM_WITHDRAW_LIQUIDITY"
17
17
  ALLOWANCE_INCREASE = "ALLOWANCE_INCREASE"
18
- ALLOWANCE_INCREASE_ANY = "ALLOWANCE_INCREASE_ANY"
19
18
  MORPHO_BORROW = "MORPHO_BORROW"
20
19
  MORPHO_DEPOSIT = "MORPHO_DEPOSIT"
21
20
  MORPHO_REPAY = "MORPHO_REPAY"
@@ -0,0 +1,28 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .compass_api_backend_models_pendle_read_response_positions_tokenbalance import (
5
+ CompassAPIBackendModelsPendleReadResponsePositionsTokenBalance,
6
+ CompassAPIBackendModelsPendleReadResponsePositionsTokenBalanceTypedDict,
7
+ )
8
+ from .lpbalance import LpBalance, LpBalanceTypedDict
9
+ from compass_api_sdk.types import BaseModel
10
+ import pydantic
11
+ from typing_extensions import Annotated, TypedDict
12
+
13
+
14
+ class OpenPositionTypedDict(TypedDict):
15
+ market_id: str
16
+ pt: CompassAPIBackendModelsPendleReadResponsePositionsTokenBalanceTypedDict
17
+ yt: CompassAPIBackendModelsPendleReadResponsePositionsTokenBalanceTypedDict
18
+ lp: LpBalanceTypedDict
19
+
20
+
21
+ class OpenPosition(BaseModel):
22
+ market_id: Annotated[str, pydantic.Field(alias="marketId")]
23
+
24
+ pt: CompassAPIBackendModelsPendleReadResponsePositionsTokenBalance
25
+
26
+ yt: CompassAPIBackendModelsPendleReadResponsePositionsTokenBalance
27
+
28
+ lp: LpBalance
@@ -53,7 +53,7 @@ class PendleMarketRequest(BaseModel):
53
53
 
54
54
  market_address: Annotated[
55
55
  str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
56
- ] = "0xdace1121e10500e9e29d071f01593fd76b000f08"
56
+ ] = "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2"
57
57
  r"""The market address of the desired position."""
58
58
 
59
59
  @model_serializer(mode="wrap")
@@ -0,0 +1,73 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
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
12
+ from enum import Enum
13
+ from pydantic import model_serializer
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
15
+
16
+
17
+ class PendleMarketsChain(str, Enum):
18
+ r"""The chain to use."""
19
+
20
+ BASE_MAINNET = "base:mainnet"
21
+ ETHEREUM_MAINNET = "ethereum:mainnet"
22
+ ARBITRUM_MAINNET = "arbitrum:mainnet"
23
+
24
+
25
+ class PendleMarketsRequestTypedDict(TypedDict):
26
+ chain: PendleMarketsChain
27
+ r"""The chain to use."""
28
+ block: NotRequired[Nullable[int]]
29
+ r"""Optional block number (defaults to latest)."""
30
+
31
+
32
+ class PendleMarketsRequest(BaseModel):
33
+ chain: Annotated[
34
+ PendleMarketsChain,
35
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
36
+ ] = PendleMarketsChain.ETHEREUM_MAINNET
37
+ r"""The chain to use."""
38
+
39
+ block: Annotated[
40
+ OptionalNullable[int],
41
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
42
+ ] = UNSET
43
+ r"""Optional block number (defaults to latest)."""
44
+
45
+ @model_serializer(mode="wrap")
46
+ def serialize_model(self, handler):
47
+ optional_fields = ["block"]
48
+ nullable_fields = ["block"]
49
+ null_default_fields = []
50
+
51
+ serialized = handler(self)
52
+
53
+ m = {}
54
+
55
+ for n, f in type(self).model_fields.items():
56
+ k = f.alias or n
57
+ val = serialized.get(k)
58
+ serialized.pop(k, None)
59
+
60
+ optional_nullable = k in optional_fields and k in nullable_fields
61
+ is_set = (
62
+ self.__pydantic_fields_set__.intersection({n})
63
+ or k in null_default_fields
64
+ ) # pylint: disable=no-member
65
+
66
+ if val is not None and val != UNSET_SENTINEL:
67
+ m[k] = val
68
+ elif val != UNSET_SENTINEL and (
69
+ not k in optional_fields or (optional_nullable and is_set)
70
+ ):
71
+ m[k] = val
72
+
73
+ return m
@@ -53,7 +53,7 @@ class PendlePositionRequest(BaseModel):
53
53
 
54
54
  market_address: Annotated[
55
55
  str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
56
- ] = "0xdace1121e10500e9e29d071f01593fd76b000f08"
56
+ ] = "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2"
57
57
  r"""The market address of the desired position."""
58
58
 
59
59
  @model_serializer(mode="wrap")
@@ -0,0 +1,80 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
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
12
+ from enum import Enum
13
+ from pydantic import model_serializer
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
15
+
16
+
17
+ class PendlePositionsChain(str, Enum):
18
+ r"""The chain to use."""
19
+
20
+ BASE_MAINNET = "base:mainnet"
21
+ ETHEREUM_MAINNET = "ethereum:mainnet"
22
+ ARBITRUM_MAINNET = "arbitrum:mainnet"
23
+
24
+
25
+ class PendlePositionsRequestTypedDict(TypedDict):
26
+ chain: PendlePositionsChain
27
+ r"""The chain to use."""
28
+ block: NotRequired[Nullable[int]]
29
+ r"""Optional block number (defaults to latest)."""
30
+ user_address: str
31
+ r"""The user address of the desired position."""
32
+
33
+
34
+ class PendlePositionsRequest(BaseModel):
35
+ chain: Annotated[
36
+ PendlePositionsChain,
37
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
38
+ ] = PendlePositionsChain.ETHEREUM_MAINNET
39
+ r"""The chain to use."""
40
+
41
+ block: Annotated[
42
+ OptionalNullable[int],
43
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
44
+ ] = UNSET
45
+ r"""Optional block number (defaults to latest)."""
46
+
47
+ user_address: Annotated[
48
+ str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
49
+ ] = "0xa829B388A3DF7f581cE957a95edbe419dd146d1B"
50
+ r"""The user address of the desired position."""
51
+
52
+ @model_serializer(mode="wrap")
53
+ def serialize_model(self, handler):
54
+ optional_fields = ["block"]
55
+ nullable_fields = ["block"]
56
+ null_default_fields = []
57
+
58
+ serialized = handler(self)
59
+
60
+ m = {}
61
+
62
+ for n, f in type(self).model_fields.items():
63
+ k = f.alias or n
64
+ val = serialized.get(k)
65
+ serialized.pop(k, None)
66
+
67
+ optional_nullable = k in optional_fields and k in nullable_fields
68
+ is_set = (
69
+ self.__pydantic_fields_set__.intersection({n})
70
+ or k in null_default_fields
71
+ ) # pylint: disable=no-member
72
+
73
+ if val is not None and val != UNSET_SENTINEL:
74
+ m[k] = val
75
+ elif val != UNSET_SENTINEL and (
76
+ not k in optional_fields or (optional_nullable and is_set)
77
+ ):
78
+ m[k] = val
79
+
80
+ return m
@@ -0,0 +1,17 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .pendlemarket import PendleMarket, PendleMarketTypedDict
5
+ from compass_api_sdk.types import BaseModel
6
+ from typing import List
7
+ from typing_extensions import TypedDict
8
+
9
+
10
+ class PendleListMarketsResponseTypedDict(TypedDict):
11
+ markets: List[PendleMarketTypedDict]
12
+ r"""A list of active markets on the inputted chain."""
13
+
14
+
15
+ class PendleListMarketsResponse(BaseModel):
16
+ markets: List[PendleMarket]
17
+ r"""A list of active markets on the inputted chain."""
@@ -0,0 +1,17 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .position import Position, PositionTypedDict
5
+ from compass_api_sdk.types import BaseModel
6
+ from typing import List
7
+ from typing_extensions import TypedDict
8
+
9
+
10
+ class PendleListUserPositionsResponseTypedDict(TypedDict):
11
+ positions: List[PositionTypedDict]
12
+ r"""A list of the user's positions on the given chain."""
13
+
14
+
15
+ class PendleListUserPositionsResponse(BaseModel):
16
+ positions: List[Position]
17
+ r"""A list of the user's positions on the given chain."""
@@ -0,0 +1,46 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .details import Details, DetailsTypedDict
5
+ from compass_api_sdk.types import BaseModel
6
+ from datetime import datetime
7
+ import pydantic
8
+ from typing_extensions import Annotated, TypedDict
9
+
10
+
11
+ class PendleMarketTypedDict(TypedDict):
12
+ name: str
13
+ address: str
14
+ expiry: datetime
15
+ pt: str
16
+ yt: str
17
+ sy: str
18
+ underlying_asset: str
19
+ details: DetailsTypedDict
20
+ is_new: bool
21
+ is_prime: bool
22
+ timestamp: datetime
23
+
24
+
25
+ class PendleMarket(BaseModel):
26
+ name: str
27
+
28
+ address: str
29
+
30
+ expiry: datetime
31
+
32
+ pt: str
33
+
34
+ yt: str
35
+
36
+ sy: str
37
+
38
+ underlying_asset: Annotated[str, pydantic.Field(alias="underlyingAsset")]
39
+
40
+ details: Details
41
+
42
+ is_new: Annotated[bool, pydantic.Field(alias="isNew")]
43
+
44
+ is_prime: Annotated[bool, pydantic.Field(alias="isPrime")]
45
+
46
+ timestamp: datetime
@@ -1,7 +1,10 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from .tokenbalance import TokenBalance, TokenBalanceTypedDict
4
+ from .compass_api_backend_models_generic_read_response_portfolio_tokenbalance import (
5
+ CompassAPIBackendModelsGenericReadResponsePortfolioTokenBalance,
6
+ CompassAPIBackendModelsGenericReadResponsePortfolioTokenBalanceTypedDict,
7
+ )
5
8
  from compass_api_sdk.types import BaseModel
6
9
  from typing import List
7
10
  from typing_extensions import TypedDict
@@ -10,7 +13,9 @@ from typing_extensions import TypedDict
10
13
  class PortfolioTypedDict(TypedDict):
11
14
  total_value_in_usd: str
12
15
  r"""Total value of the portfolio in USD"""
13
- token_balances: List[TokenBalanceTypedDict]
16
+ token_balances: List[
17
+ CompassAPIBackendModelsGenericReadResponsePortfolioTokenBalanceTypedDict
18
+ ]
14
19
  r"""List of token balances in the portfolio"""
15
20
 
16
21
 
@@ -18,5 +23,7 @@ class Portfolio(BaseModel):
18
23
  total_value_in_usd: str
19
24
  r"""Total value of the portfolio in USD"""
20
25
 
21
- token_balances: List[TokenBalance]
26
+ token_balances: List[
27
+ CompassAPIBackendModelsGenericReadResponsePortfolioTokenBalance
28
+ ]
22
29
  r"""List of token balances in the portfolio"""
@@ -0,0 +1,41 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .openposition import OpenPosition, OpenPositionTypedDict
5
+ from .syposition import SyPosition, SyPositionTypedDict
6
+ from compass_api_sdk.types import BaseModel
7
+ from datetime import datetime
8
+ import pydantic
9
+ from typing import List
10
+ from typing_extensions import Annotated, TypedDict
11
+
12
+
13
+ class PositionTypedDict(TypedDict):
14
+ chain_id: int
15
+ total_open: int
16
+ total_closed: int
17
+ total_sy: int
18
+ open_positions: List[OpenPositionTypedDict]
19
+ closed_positions: List[OpenPositionTypedDict]
20
+ sy_positions: List[SyPositionTypedDict]
21
+ updated_at: datetime
22
+
23
+
24
+ class Position(BaseModel):
25
+ chain_id: Annotated[int, pydantic.Field(alias="chainId")]
26
+
27
+ total_open: Annotated[int, pydantic.Field(alias="totalOpen")]
28
+
29
+ total_closed: Annotated[int, pydantic.Field(alias="totalClosed")]
30
+
31
+ total_sy: Annotated[int, pydantic.Field(alias="totalSy")]
32
+
33
+ open_positions: Annotated[List[OpenPosition], pydantic.Field(alias="openPositions")]
34
+
35
+ closed_positions: Annotated[
36
+ List[OpenPosition], pydantic.Field(alias="closedPositions")
37
+ ]
38
+
39
+ sy_positions: Annotated[List[SyPosition], pydantic.Field(alias="syPositions")]
40
+
41
+ updated_at: Annotated[datetime, pydantic.Field(alias="updatedAt")]
@@ -0,0 +1,17 @@
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 SyPositionTypedDict(TypedDict):
10
+ sy_id: str
11
+ balance: str
12
+
13
+
14
+ class SyPosition(BaseModel):
15
+ sy_id: Annotated[str, pydantic.Field(alias="syId")]
16
+
17
+ balance: str
@@ -25,10 +25,6 @@ from .aerodromeslipstreamwithdrawliquidityprovisionparams import (
25
25
  AerodromeSlipstreamWithdrawLiquidityProvisionParams,
26
26
  AerodromeSlipstreamWithdrawLiquidityProvisionParamsTypedDict,
27
27
  )
28
- from .increaseallowanceanyparams import (
29
- IncreaseAllowanceAnyParams,
30
- IncreaseAllowanceAnyParamsTypedDict,
31
- )
32
28
  from .increaseallowanceparams import (
33
29
  IncreaseAllowanceParams,
34
30
  IncreaseAllowanceParamsTypedDict,
@@ -98,26 +94,25 @@ BodyTypedDict = TypeAliasType(
98
94
  SkySellParamsTypedDict,
99
95
  SkyBuyParamsTypedDict,
100
96
  IncreaseAllowanceParamsTypedDict,
101
- IncreaseAllowanceAnyParamsTypedDict,
97
+ AaveWithdrawParamsTypedDict,
102
98
  MorphoWithdrawParamsTypedDict,
103
- MorphoDepositParamsTypedDict,
104
- TokenTransferErc20ParamsTypedDict,
105
99
  AaveSupplyParamsTypedDict,
106
- AaveWithdrawParamsTypedDict,
107
- MorphoSupplyCollateralParamsTypedDict,
108
- MorphoRepayParamsTypedDict,
100
+ TokenTransferErc20ParamsTypedDict,
101
+ MorphoDepositParamsTypedDict,
102
+ AaveBorrowParamsTypedDict,
109
103
  AaveRepayParamsTypedDict,
110
- MorphoBorrowParamsTypedDict,
111
104
  MorphoWithdrawCollateralParamsTypedDict,
112
- AaveBorrowParamsTypedDict,
113
- AerodromeSlipstreamSellExactlyParamsTypedDict,
105
+ MorphoBorrowParamsTypedDict,
106
+ MorphoSupplyCollateralParamsTypedDict,
107
+ MorphoRepayParamsTypedDict,
114
108
  AerodromeSlipstreamBuyExactlyParamsTypedDict,
115
- UniswapIncreaseLiquidityProvisionParamsTypedDict,
109
+ AerodromeSlipstreamSellExactlyParamsTypedDict,
116
110
  AerodromeSlipstreamIncreaseLiquidityProvisionParamsTypedDict,
111
+ UniswapIncreaseLiquidityProvisionParamsTypedDict,
117
112
  UniswapBuyExactlyParamsTypedDict,
118
113
  UniswapSellExactlyParamsTypedDict,
119
- AerodromeSlipstreamMintLiquidityProvisionParamsTypedDict,
120
114
  UniswapMintLiquidityProvisionParamsTypedDict,
115
+ AerodromeSlipstreamMintLiquidityProvisionParamsTypedDict,
121
116
  ],
122
117
  )
123
118
 
@@ -135,26 +130,25 @@ Body = TypeAliasType(
135
130
  SkySellParams,
136
131
  SkyBuyParams,
137
132
  IncreaseAllowanceParams,
138
- IncreaseAllowanceAnyParams,
133
+ AaveWithdrawParams,
139
134
  MorphoWithdrawParams,
140
- MorphoDepositParams,
141
- TokenTransferErc20Params,
142
135
  AaveSupplyParams,
143
- AaveWithdrawParams,
144
- MorphoSupplyCollateralParams,
145
- MorphoRepayParams,
136
+ TokenTransferErc20Params,
137
+ MorphoDepositParams,
138
+ AaveBorrowParams,
146
139
  AaveRepayParams,
147
- MorphoBorrowParams,
148
140
  MorphoWithdrawCollateralParams,
149
- AaveBorrowParams,
150
- AerodromeSlipstreamSellExactlyParams,
141
+ MorphoBorrowParams,
142
+ MorphoSupplyCollateralParams,
143
+ MorphoRepayParams,
151
144
  AerodromeSlipstreamBuyExactlyParams,
152
- UniswapIncreaseLiquidityProvisionParams,
145
+ AerodromeSlipstreamSellExactlyParams,
153
146
  AerodromeSlipstreamIncreaseLiquidityProvisionParams,
147
+ UniswapIncreaseLiquidityProvisionParams,
154
148
  UniswapBuyExactlyParams,
155
149
  UniswapSellExactlyParams,
156
- AerodromeSlipstreamMintLiquidityProvisionParams,
157
150
  UniswapMintLiquidityProvisionParams,
151
+ AerodromeSlipstreamMintLiquidityProvisionParams,
158
152
  ],
159
153
  )
160
154
 
@@ -0,0 +1,16 @@
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 YieldRangeTypedDict(TypedDict):
9
+ min: float
10
+ max: float
11
+
12
+
13
+ class YieldRange(BaseModel):
14
+ min: float
15
+
16
+ max: float