compass_api_sdk 0.6.0__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.
- compass_api_sdk/_version.py +2 -2
- compass_api_sdk/aave_v3.py +38 -104
- compass_api_sdk/aerodrome_slipstream.py +8 -28
- compass_api_sdk/models/__init__.py +107 -230
- compass_api_sdk/models/aave_avg_rateop.py +44 -16
- compass_api_sdk/models/aave_historical_transactionsop.py +45 -20
- compass_api_sdk/models/aave_liquidity_changeop.py +44 -18
- compass_api_sdk/models/aave_rateop.py +44 -16
- compass_api_sdk/models/aave_reserve_overviewop.py +44 -18
- compass_api_sdk/models/aave_std_rateop.py +44 -16
- compass_api_sdk/models/aave_token_priceop.py +44 -18
- compass_api_sdk/models/aave_user_position_per_tokenop.py +44 -20
- compass_api_sdk/models/aave_user_position_summaryop.py +44 -20
- compass_api_sdk/models/aerodrome_slipstream_liquidity_provision_positionsop.py +45 -20
- compass_api_sdk/models/aerodrome_slipstream_pool_priceop.py +45 -20
- compass_api_sdk/models/{tokenbalance.py → compass_api_backend_models_generic_read_response_portfolio_tokenbalance.py} +4 -2
- compass_api_sdk/models/compass_api_backend_models_pendle_read_response_positions_tokenbalance.py +18 -0
- compass_api_sdk/models/details.py +39 -0
- compass_api_sdk/models/generic_allowanceop.py +45 -18
- compass_api_sdk/models/generic_ensop.py +45 -16
- compass_api_sdk/models/generic_portfolioop.py +45 -18
- compass_api_sdk/models/generic_supported_tokensop.py +44 -20
- compass_api_sdk/models/generic_visualize_portfolioop.py +45 -20
- compass_api_sdk/models/increaseallowanceparams.py +20 -16
- compass_api_sdk/models/increaseallowancerequest.py +20 -16
- compass_api_sdk/models/lpbalance.py +20 -0
- compass_api_sdk/models/morpho_market_positionop.py +44 -18
- compass_api_sdk/models/morpho_marketop.py +44 -18
- compass_api_sdk/models/morpho_marketsop.py +7 -18
- compass_api_sdk/models/morpho_user_positionop.py +44 -18
- compass_api_sdk/models/morpho_vault_positionop.py +44 -18
- compass_api_sdk/models/morpho_vaultop.py +44 -16
- compass_api_sdk/models/morpho_vaultsop.py +7 -18
- compass_api_sdk/models/movement10percent.py +23 -0
- compass_api_sdk/models/multicallactiontype.py +0 -1
- compass_api_sdk/models/multicallauthorizationrequest.py +1 -15
- compass_api_sdk/models/openposition.py +28 -0
- compass_api_sdk/models/pendle_marketop.py +45 -19
- compass_api_sdk/models/pendle_marketsop.py +73 -0
- compass_api_sdk/models/pendle_positionop.py +45 -19
- compass_api_sdk/models/pendle_positionsop.py +80 -0
- compass_api_sdk/models/pendlelistmarketsresponse.py +17 -0
- compass_api_sdk/models/pendlelistuserpositionsresponse.py +17 -0
- compass_api_sdk/models/pendlemarket.py +46 -0
- compass_api_sdk/models/portfolio.py +10 -3
- compass_api_sdk/models/position.py +41 -0
- compass_api_sdk/models/sky_positionop.py +45 -16
- compass_api_sdk/models/syposition.py +17 -0
- compass_api_sdk/models/token_addressop.py +44 -18
- compass_api_sdk/models/token_balanceop.py +44 -17
- compass_api_sdk/models/uniswap_liquidity_provision_in_rangeop.py +44 -20
- compass_api_sdk/models/uniswap_liquidity_provision_positionsop.py +45 -20
- compass_api_sdk/models/uniswap_pool_priceop.py +44 -18
- compass_api_sdk/models/uniswap_quote_buy_exactlyop.py +44 -19
- compass_api_sdk/models/uniswap_quote_sell_exactlyop.py +44 -19
- compass_api_sdk/models/useroperation.py +20 -26
- compass_api_sdk/models/yieldrange.py +16 -0
- compass_api_sdk/morpho.py +28 -72
- compass_api_sdk/pendle.py +423 -21
- compass_api_sdk/sky.py +4 -8
- compass_api_sdk/token_sdk.py +8 -16
- compass_api_sdk/transaction_batching.py +0 -6
- compass_api_sdk/uniswap_v3.py +20 -64
- compass_api_sdk/universal.py +34 -60
- {compass_api_sdk-0.6.0.dist-info → compass_api_sdk-0.6.2.dist-info}/METADATA +5 -3
- {compass_api_sdk-0.6.0.dist-info → compass_api_sdk-0.6.2.dist-info}/RECORD +67 -56
- compass_api_sdk/models/contractname.py +0 -41
- compass_api_sdk/models/increaseallowanceanyparams.py +0 -58
- {compass_api_sdk-0.6.0.dist-info → compass_api_sdk-0.6.2.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 compass_api_sdk.types import
|
|
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
|
|
8
|
-
from typing_extensions import Annotated, NotRequired,
|
|
13
|
+
from pydantic import model_serializer
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
15
|
|
|
10
16
|
|
|
11
17
|
class MorphoUserPositionChain(str, Enum):
|
|
@@ -13,20 +19,10 @@ class MorphoUserPositionChain(str, Enum):
|
|
|
13
19
|
BASE_MAINNET = "base:mainnet"
|
|
14
20
|
|
|
15
21
|
|
|
16
|
-
MorphoUserPositionBlockTypedDict = TypeAliasType(
|
|
17
|
-
"MorphoUserPositionBlockTypedDict", Union[int, str]
|
|
18
|
-
)
|
|
19
|
-
r"""The block number you want to get this data at."""
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
MorphoUserPositionBlock = TypeAliasType("MorphoUserPositionBlock", Union[int, str])
|
|
23
|
-
r"""The block number you want to get this data at."""
|
|
24
|
-
|
|
25
|
-
|
|
26
22
|
class MorphoUserPositionRequestTypedDict(TypedDict):
|
|
27
23
|
chain: MorphoUserPositionChain
|
|
28
|
-
block: NotRequired[
|
|
29
|
-
r"""
|
|
24
|
+
block: NotRequired[Nullable[int]]
|
|
25
|
+
r"""Optional block number (defaults to latest)."""
|
|
30
26
|
user_address: str
|
|
31
27
|
r"""The user wallet address of the desired user position."""
|
|
32
28
|
|
|
@@ -38,12 +34,42 @@ class MorphoUserPositionRequest(BaseModel):
|
|
|
38
34
|
] = MorphoUserPositionChain.ETHEREUM_MAINNET
|
|
39
35
|
|
|
40
36
|
block: Annotated[
|
|
41
|
-
|
|
37
|
+
OptionalNullable[int],
|
|
42
38
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
43
|
-
] =
|
|
44
|
-
r"""
|
|
39
|
+
] = UNSET
|
|
40
|
+
r"""Optional block number (defaults to latest)."""
|
|
45
41
|
|
|
46
42
|
user_address: Annotated[
|
|
47
43
|
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
48
44
|
] = "0xa829B388A3DF7f581cE957a95edbe419dd146d1B"
|
|
49
45
|
r"""The user wallet address of the desired user position."""
|
|
46
|
+
|
|
47
|
+
@model_serializer(mode="wrap")
|
|
48
|
+
def serialize_model(self, handler):
|
|
49
|
+
optional_fields = ["block"]
|
|
50
|
+
nullable_fields = ["block"]
|
|
51
|
+
null_default_fields = []
|
|
52
|
+
|
|
53
|
+
serialized = handler(self)
|
|
54
|
+
|
|
55
|
+
m = {}
|
|
56
|
+
|
|
57
|
+
for n, f in type(self).model_fields.items():
|
|
58
|
+
k = f.alias or n
|
|
59
|
+
val = serialized.get(k)
|
|
60
|
+
serialized.pop(k, None)
|
|
61
|
+
|
|
62
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
63
|
+
is_set = (
|
|
64
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
65
|
+
or k in null_default_fields
|
|
66
|
+
) # pylint: disable=no-member
|
|
67
|
+
|
|
68
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
69
|
+
m[k] = val
|
|
70
|
+
elif val != UNSET_SENTINEL and (
|
|
71
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
72
|
+
):
|
|
73
|
+
m[k] = val
|
|
74
|
+
|
|
75
|
+
return m
|
|
@@ -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 compass_api_sdk.types import
|
|
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
|
|
8
|
-
from typing_extensions import Annotated, NotRequired,
|
|
13
|
+
from pydantic import model_serializer
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
15
|
|
|
10
16
|
|
|
11
17
|
class MorphoVaultPositionChain(str, Enum):
|
|
@@ -13,20 +19,10 @@ class MorphoVaultPositionChain(str, Enum):
|
|
|
13
19
|
BASE_MAINNET = "base:mainnet"
|
|
14
20
|
|
|
15
21
|
|
|
16
|
-
MorphoVaultPositionBlockTypedDict = TypeAliasType(
|
|
17
|
-
"MorphoVaultPositionBlockTypedDict", Union[int, str]
|
|
18
|
-
)
|
|
19
|
-
r"""The block number you want to get this data at."""
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
MorphoVaultPositionBlock = TypeAliasType("MorphoVaultPositionBlock", Union[int, str])
|
|
23
|
-
r"""The block number you want to get this data at."""
|
|
24
|
-
|
|
25
|
-
|
|
26
22
|
class MorphoVaultPositionRequestTypedDict(TypedDict):
|
|
27
23
|
chain: MorphoVaultPositionChain
|
|
28
|
-
block: NotRequired[
|
|
29
|
-
r"""
|
|
24
|
+
block: NotRequired[Nullable[int]]
|
|
25
|
+
r"""Optional block number (defaults to latest)."""
|
|
30
26
|
user_address: str
|
|
31
27
|
r"""The user address of the desired vault position."""
|
|
32
28
|
vault_address: str
|
|
@@ -40,10 +36,10 @@ class MorphoVaultPositionRequest(BaseModel):
|
|
|
40
36
|
] = MorphoVaultPositionChain.ETHEREUM_MAINNET
|
|
41
37
|
|
|
42
38
|
block: Annotated[
|
|
43
|
-
|
|
39
|
+
OptionalNullable[int],
|
|
44
40
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
45
|
-
] =
|
|
46
|
-
r"""
|
|
41
|
+
] = UNSET
|
|
42
|
+
r"""Optional block number (defaults to latest)."""
|
|
47
43
|
|
|
48
44
|
user_address: Annotated[
|
|
49
45
|
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
@@ -54,3 +50,33 @@ class MorphoVaultPositionRequest(BaseModel):
|
|
|
54
50
|
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
55
51
|
] = "0xbEef047a543E45807105E51A8BBEFCc5950fcfBa"
|
|
56
52
|
r"""The vault address of the desired vault position."""
|
|
53
|
+
|
|
54
|
+
@model_serializer(mode="wrap")
|
|
55
|
+
def serialize_model(self, handler):
|
|
56
|
+
optional_fields = ["block"]
|
|
57
|
+
nullable_fields = ["block"]
|
|
58
|
+
null_default_fields = []
|
|
59
|
+
|
|
60
|
+
serialized = handler(self)
|
|
61
|
+
|
|
62
|
+
m = {}
|
|
63
|
+
|
|
64
|
+
for n, f in type(self).model_fields.items():
|
|
65
|
+
k = f.alias or n
|
|
66
|
+
val = serialized.get(k)
|
|
67
|
+
serialized.pop(k, None)
|
|
68
|
+
|
|
69
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
70
|
+
is_set = (
|
|
71
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
72
|
+
or k in null_default_fields
|
|
73
|
+
) # pylint: disable=no-member
|
|
74
|
+
|
|
75
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
76
|
+
m[k] = val
|
|
77
|
+
elif val != UNSET_SENTINEL and (
|
|
78
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
79
|
+
):
|
|
80
|
+
m[k] = val
|
|
81
|
+
|
|
82
|
+
return m
|
|
@@ -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 compass_api_sdk.types import
|
|
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
|
|
8
|
-
from typing_extensions import Annotated, NotRequired,
|
|
13
|
+
from pydantic import model_serializer
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
15
|
|
|
10
16
|
|
|
11
17
|
class MorphoVaultChain(str, Enum):
|
|
@@ -13,18 +19,10 @@ class MorphoVaultChain(str, Enum):
|
|
|
13
19
|
BASE_MAINNET = "base:mainnet"
|
|
14
20
|
|
|
15
21
|
|
|
16
|
-
MorphoVaultBlockTypedDict = TypeAliasType("MorphoVaultBlockTypedDict", Union[int, str])
|
|
17
|
-
r"""The block number you want to get this data at."""
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
MorphoVaultBlock = TypeAliasType("MorphoVaultBlock", Union[int, str])
|
|
21
|
-
r"""The block number you want to get this data at."""
|
|
22
|
-
|
|
23
|
-
|
|
24
22
|
class MorphoVaultRequestTypedDict(TypedDict):
|
|
25
23
|
chain: MorphoVaultChain
|
|
26
|
-
block: NotRequired[
|
|
27
|
-
r"""
|
|
24
|
+
block: NotRequired[Nullable[int]]
|
|
25
|
+
r"""Optional block number (defaults to latest)."""
|
|
28
26
|
vault_address: str
|
|
29
27
|
r"""The vault address of the desired vault data & metrics."""
|
|
30
28
|
|
|
@@ -36,12 +34,42 @@ class MorphoVaultRequest(BaseModel):
|
|
|
36
34
|
] = MorphoVaultChain.ETHEREUM_MAINNET
|
|
37
35
|
|
|
38
36
|
block: Annotated[
|
|
39
|
-
|
|
37
|
+
OptionalNullable[int],
|
|
40
38
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
41
|
-
] =
|
|
42
|
-
r"""
|
|
39
|
+
] = UNSET
|
|
40
|
+
r"""Optional block number (defaults to latest)."""
|
|
43
41
|
|
|
44
42
|
vault_address: Annotated[
|
|
45
43
|
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
46
44
|
] = "0xbEef047a543E45807105E51A8BBEFCc5950fcfBa"
|
|
47
45
|
r"""The vault address of the desired vault data & metrics."""
|
|
46
|
+
|
|
47
|
+
@model_serializer(mode="wrap")
|
|
48
|
+
def serialize_model(self, handler):
|
|
49
|
+
optional_fields = ["block"]
|
|
50
|
+
nullable_fields = ["block"]
|
|
51
|
+
null_default_fields = []
|
|
52
|
+
|
|
53
|
+
serialized = handler(self)
|
|
54
|
+
|
|
55
|
+
m = {}
|
|
56
|
+
|
|
57
|
+
for n, f in type(self).model_fields.items():
|
|
58
|
+
k = f.alias or n
|
|
59
|
+
val = serialized.get(k)
|
|
60
|
+
serialized.pop(k, None)
|
|
61
|
+
|
|
62
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
63
|
+
is_set = (
|
|
64
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
65
|
+
or k in null_default_fields
|
|
66
|
+
) # pylint: disable=no-member
|
|
67
|
+
|
|
68
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
69
|
+
m[k] = val
|
|
70
|
+
elif val != UNSET_SENTINEL and (
|
|
71
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
72
|
+
):
|
|
73
|
+
m[k] = val
|
|
74
|
+
|
|
75
|
+
return m
|
|
@@ -11,8 +11,7 @@ from compass_api_sdk.types import (
|
|
|
11
11
|
from compass_api_sdk.utils import FieldMetadata, QueryParamMetadata
|
|
12
12
|
from enum import Enum
|
|
13
13
|
from pydantic import model_serializer
|
|
14
|
-
from
|
|
15
|
-
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
16
15
|
|
|
17
16
|
|
|
18
17
|
class MorphoVaultsChain(str, Enum):
|
|
@@ -20,20 +19,10 @@ class MorphoVaultsChain(str, Enum):
|
|
|
20
19
|
BASE_MAINNET = "base:mainnet"
|
|
21
20
|
|
|
22
21
|
|
|
23
|
-
MorphoVaultsBlockTypedDict = TypeAliasType(
|
|
24
|
-
"MorphoVaultsBlockTypedDict", Union[int, str]
|
|
25
|
-
)
|
|
26
|
-
r"""The block number you want to get this data at."""
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
MorphoVaultsBlock = TypeAliasType("MorphoVaultsBlock", Union[int, str])
|
|
30
|
-
r"""The block number you want to get this data at."""
|
|
31
|
-
|
|
32
|
-
|
|
33
22
|
class MorphoVaultsRequestTypedDict(TypedDict):
|
|
34
23
|
chain: MorphoVaultsChain
|
|
35
|
-
block: NotRequired[
|
|
36
|
-
r"""
|
|
24
|
+
block: NotRequired[Nullable[int]]
|
|
25
|
+
r"""Optional block number (defaults to latest)."""
|
|
37
26
|
deposit_token: NotRequired[Nullable[str]]
|
|
38
27
|
r"""Token address that will filter vaults by this deposit token."""
|
|
39
28
|
|
|
@@ -45,10 +34,10 @@ class MorphoVaultsRequest(BaseModel):
|
|
|
45
34
|
] = MorphoVaultsChain.ETHEREUM_MAINNET
|
|
46
35
|
|
|
47
36
|
block: Annotated[
|
|
48
|
-
|
|
37
|
+
OptionalNullable[int],
|
|
49
38
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
50
|
-
] =
|
|
51
|
-
r"""
|
|
39
|
+
] = UNSET
|
|
40
|
+
r"""Optional block number (defaults to latest)."""
|
|
52
41
|
|
|
53
42
|
deposit_token: Annotated[
|
|
54
43
|
OptionalNullable[str],
|
|
@@ -59,7 +48,7 @@ class MorphoVaultsRequest(BaseModel):
|
|
|
59
48
|
@model_serializer(mode="wrap")
|
|
60
49
|
def serialize_model(self, handler):
|
|
61
50
|
optional_fields = ["block", "deposit_token"]
|
|
62
|
-
nullable_fields = ["deposit_token"]
|
|
51
|
+
nullable_fields = ["block", "deposit_token"]
|
|
63
52
|
null_default_fields = []
|
|
64
53
|
|
|
65
54
|
serialized = handler(self)
|
|
@@ -0,0 +1,23 @@
|
|
|
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 Movement10PercentTypedDict(TypedDict):
|
|
10
|
+
pt_movement_up_usd: float
|
|
11
|
+
pt_movement_down_usd: float
|
|
12
|
+
yt_movement_up_usd: float
|
|
13
|
+
yt_movement_down_usd: float
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Movement10Percent(BaseModel):
|
|
17
|
+
pt_movement_up_usd: Annotated[float, pydantic.Field(alias="ptMovementUpUsd")]
|
|
18
|
+
|
|
19
|
+
pt_movement_down_usd: Annotated[float, pydantic.Field(alias="ptMovementDownUsd")]
|
|
20
|
+
|
|
21
|
+
yt_movement_up_usd: Annotated[float, pydantic.Field(alias="ytMovementUpUsd")]
|
|
22
|
+
|
|
23
|
+
yt_movement_down_usd: Annotated[float, pydantic.Field(alias="ytMovementDownUsd")]
|
|
@@ -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"
|
|
@@ -3,16 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
from .chain import Chain
|
|
5
5
|
from compass_api_sdk.types import BaseModel
|
|
6
|
-
from
|
|
7
|
-
from typing_extensions import NotRequired, TypeAliasType, TypedDict
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
BlockTypedDict = TypeAliasType("BlockTypedDict", Union[int, str])
|
|
11
|
-
r"""The block number you want to get this data at."""
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Block = TypeAliasType("Block", Union[int, str])
|
|
15
|
-
r"""The block number you want to get this data at."""
|
|
6
|
+
from typing_extensions import TypedDict
|
|
16
7
|
|
|
17
8
|
|
|
18
9
|
class MulticallAuthorizationRequestTypedDict(TypedDict):
|
|
@@ -29,8 +20,6 @@ class MulticallAuthorizationRequestTypedDict(TypedDict):
|
|
|
29
20
|
r"""The chain to use."""
|
|
30
21
|
sender: str
|
|
31
22
|
r"""The Ethereum address to use for authorization"""
|
|
32
|
-
block: NotRequired[BlockTypedDict]
|
|
33
|
-
r"""The block number you want to get this data at."""
|
|
34
23
|
|
|
35
24
|
|
|
36
25
|
class MulticallAuthorizationRequest(BaseModel):
|
|
@@ -48,6 +37,3 @@ class MulticallAuthorizationRequest(BaseModel):
|
|
|
48
37
|
|
|
49
38
|
sender: str
|
|
50
39
|
r"""The Ethereum address to use for authorization"""
|
|
51
|
-
|
|
52
|
-
block: Optional[Block] = None
|
|
53
|
-
r"""The block number you want to get this data at."""
|
|
@@ -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
|
|
@@ -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 compass_api_sdk.types import
|
|
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
|
|
8
|
-
from typing_extensions import Annotated, NotRequired,
|
|
13
|
+
from pydantic import model_serializer
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
15
|
|
|
10
16
|
|
|
11
17
|
class PendleMarketChain(str, Enum):
|
|
@@ -16,21 +22,11 @@ class PendleMarketChain(str, Enum):
|
|
|
16
22
|
ARBITRUM_MAINNET = "arbitrum:mainnet"
|
|
17
23
|
|
|
18
24
|
|
|
19
|
-
PendleMarketBlockTypedDict = TypeAliasType(
|
|
20
|
-
"PendleMarketBlockTypedDict", Union[int, str]
|
|
21
|
-
)
|
|
22
|
-
r"""The block number you want to get this data at."""
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
PendleMarketBlock = TypeAliasType("PendleMarketBlock", Union[int, str])
|
|
26
|
-
r"""The block number you want to get this data at."""
|
|
27
|
-
|
|
28
|
-
|
|
29
25
|
class PendleMarketRequestTypedDict(TypedDict):
|
|
30
26
|
chain: PendleMarketChain
|
|
31
27
|
r"""The chain to use."""
|
|
32
|
-
block: NotRequired[
|
|
33
|
-
r"""
|
|
28
|
+
block: NotRequired[Nullable[int]]
|
|
29
|
+
r"""Optional block number (defaults to latest)."""
|
|
34
30
|
user_address: str
|
|
35
31
|
r"""The user address of the desired position."""
|
|
36
32
|
market_address: str
|
|
@@ -45,10 +41,10 @@ class PendleMarketRequest(BaseModel):
|
|
|
45
41
|
r"""The chain to use."""
|
|
46
42
|
|
|
47
43
|
block: Annotated[
|
|
48
|
-
|
|
44
|
+
OptionalNullable[int],
|
|
49
45
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
50
|
-
] =
|
|
51
|
-
r"""
|
|
46
|
+
] = UNSET
|
|
47
|
+
r"""Optional block number (defaults to latest)."""
|
|
52
48
|
|
|
53
49
|
user_address: Annotated[
|
|
54
50
|
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
@@ -57,5 +53,35 @@ class PendleMarketRequest(BaseModel):
|
|
|
57
53
|
|
|
58
54
|
market_address: Annotated[
|
|
59
55
|
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
60
|
-
] = "
|
|
56
|
+
] = "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2"
|
|
61
57
|
r"""The market address of the desired position."""
|
|
58
|
+
|
|
59
|
+
@model_serializer(mode="wrap")
|
|
60
|
+
def serialize_model(self, handler):
|
|
61
|
+
optional_fields = ["block"]
|
|
62
|
+
nullable_fields = ["block"]
|
|
63
|
+
null_default_fields = []
|
|
64
|
+
|
|
65
|
+
serialized = handler(self)
|
|
66
|
+
|
|
67
|
+
m = {}
|
|
68
|
+
|
|
69
|
+
for n, f in type(self).model_fields.items():
|
|
70
|
+
k = f.alias or n
|
|
71
|
+
val = serialized.get(k)
|
|
72
|
+
serialized.pop(k, None)
|
|
73
|
+
|
|
74
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
75
|
+
is_set = (
|
|
76
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
77
|
+
or k in null_default_fields
|
|
78
|
+
) # pylint: disable=no-member
|
|
79
|
+
|
|
80
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
81
|
+
m[k] = val
|
|
82
|
+
elif val != UNSET_SENTINEL and (
|
|
83
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
84
|
+
):
|
|
85
|
+
m[k] = val
|
|
86
|
+
|
|
87
|
+
return m
|
|
@@ -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
|
|
@@ -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 compass_api_sdk.types import
|
|
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
|
|
8
|
-
from typing_extensions import Annotated, NotRequired,
|
|
13
|
+
from pydantic import model_serializer
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
15
|
|
|
10
16
|
|
|
11
17
|
class PendlePositionChain(str, Enum):
|
|
@@ -16,21 +22,11 @@ class PendlePositionChain(str, Enum):
|
|
|
16
22
|
ARBITRUM_MAINNET = "arbitrum:mainnet"
|
|
17
23
|
|
|
18
24
|
|
|
19
|
-
PendlePositionBlockTypedDict = TypeAliasType(
|
|
20
|
-
"PendlePositionBlockTypedDict", Union[int, str]
|
|
21
|
-
)
|
|
22
|
-
r"""The block number you want to get this data at."""
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
PendlePositionBlock = TypeAliasType("PendlePositionBlock", Union[int, str])
|
|
26
|
-
r"""The block number you want to get this data at."""
|
|
27
|
-
|
|
28
|
-
|
|
29
25
|
class PendlePositionRequestTypedDict(TypedDict):
|
|
30
26
|
chain: PendlePositionChain
|
|
31
27
|
r"""The chain to use."""
|
|
32
|
-
block: NotRequired[
|
|
33
|
-
r"""
|
|
28
|
+
block: NotRequired[Nullable[int]]
|
|
29
|
+
r"""Optional block number (defaults to latest)."""
|
|
34
30
|
user_address: str
|
|
35
31
|
r"""The user address of the desired position."""
|
|
36
32
|
market_address: str
|
|
@@ -45,10 +41,10 @@ class PendlePositionRequest(BaseModel):
|
|
|
45
41
|
r"""The chain to use."""
|
|
46
42
|
|
|
47
43
|
block: Annotated[
|
|
48
|
-
|
|
44
|
+
OptionalNullable[int],
|
|
49
45
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
50
|
-
] =
|
|
51
|
-
r"""
|
|
46
|
+
] = UNSET
|
|
47
|
+
r"""Optional block number (defaults to latest)."""
|
|
52
48
|
|
|
53
49
|
user_address: Annotated[
|
|
54
50
|
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
@@ -57,5 +53,35 @@ class PendlePositionRequest(BaseModel):
|
|
|
57
53
|
|
|
58
54
|
market_address: Annotated[
|
|
59
55
|
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
60
|
-
] = "
|
|
56
|
+
] = "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2"
|
|
61
57
|
r"""The market address of the desired position."""
|
|
58
|
+
|
|
59
|
+
@model_serializer(mode="wrap")
|
|
60
|
+
def serialize_model(self, handler):
|
|
61
|
+
optional_fields = ["block"]
|
|
62
|
+
nullable_fields = ["block"]
|
|
63
|
+
null_default_fields = []
|
|
64
|
+
|
|
65
|
+
serialized = handler(self)
|
|
66
|
+
|
|
67
|
+
m = {}
|
|
68
|
+
|
|
69
|
+
for n, f in type(self).model_fields.items():
|
|
70
|
+
k = f.alias or n
|
|
71
|
+
val = serialized.get(k)
|
|
72
|
+
serialized.pop(k, None)
|
|
73
|
+
|
|
74
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
75
|
+
is_set = (
|
|
76
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
77
|
+
or k in null_default_fields
|
|
78
|
+
) # pylint: disable=no-member
|
|
79
|
+
|
|
80
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
81
|
+
m[k] = val
|
|
82
|
+
elif val != UNSET_SENTINEL and (
|
|
83
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
84
|
+
):
|
|
85
|
+
m[k] = val
|
|
86
|
+
|
|
87
|
+
return m
|