compass_api_sdk 0.5.4__py3-none-any.whl → 0.6.1__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 +1 -208
- 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/batcheduseroperationsrequest.py +1 -16
- 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/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/multicallauthorizationrequest.py +1 -15
- compass_api_sdk/models/pendle_marketop.py +44 -18
- compass_api_sdk/models/pendle_positionop.py +44 -18
- compass_api_sdk/models/sky_positionop.py +45 -16
- 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/morpho.py +28 -72
- compass_api_sdk/pendle.py +9 -17
- compass_api_sdk/sky.py +4 -8
- compass_api_sdk/smart_account.py +1 -7
- 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 +20 -52
- {compass_api_sdk-0.5.4.dist-info → compass_api_sdk-0.6.1.dist-info}/METADATA +2 -2
- {compass_api_sdk-0.5.4.dist-info → compass_api_sdk-0.6.1.dist-info}/RECORD +50 -50
- {compass_api_sdk-0.5.4.dist-info → compass_api_sdk-0.6.1.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 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)
|
|
@@ -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."""
|
|
@@ -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))
|
|
@@ -59,3 +55,33 @@ class PendleMarketRequest(BaseModel):
|
|
|
59
55
|
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
60
56
|
] = "0xdace1121e10500e9e29d071f01593fd76b000f08"
|
|
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
|
|
@@ -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))
|
|
@@ -59,3 +55,33 @@ class PendlePositionRequest(BaseModel):
|
|
|
59
55
|
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
60
56
|
] = "0xdace1121e10500e9e29d071f01593fd76b000f08"
|
|
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
|
|
@@ -1,26 +1,25 @@
|
|
|
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, validate_const
|
|
6
12
|
import pydantic
|
|
13
|
+
from pydantic import model_serializer
|
|
7
14
|
from pydantic.functional_validators import AfterValidator
|
|
8
|
-
from typing import Literal, Optional
|
|
9
|
-
from typing_extensions import Annotated, NotRequired,
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
SkyPositionBlockTypedDict = TypeAliasType("SkyPositionBlockTypedDict", Union[int, str])
|
|
13
|
-
r"""The block number you want to get this data at."""
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
SkyPositionBlock = TypeAliasType("SkyPositionBlock", Union[int, str])
|
|
17
|
-
r"""The block number you want to get this data at."""
|
|
15
|
+
from typing import Literal, Optional
|
|
16
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
18
17
|
|
|
19
18
|
|
|
20
19
|
class SkyPositionRequestTypedDict(TypedDict):
|
|
21
20
|
chain: Literal["ethereum:mainnet"]
|
|
22
|
-
block: NotRequired[
|
|
23
|
-
r"""
|
|
21
|
+
block: NotRequired[Nullable[int]]
|
|
22
|
+
r"""Optional block number (defaults to latest)."""
|
|
24
23
|
user_address: str
|
|
25
24
|
r"""The user address of the desired position."""
|
|
26
25
|
|
|
@@ -36,12 +35,42 @@ class SkyPositionRequest(BaseModel):
|
|
|
36
35
|
] = "ethereum:mainnet"
|
|
37
36
|
|
|
38
37
|
block: Annotated[
|
|
39
|
-
|
|
38
|
+
OptionalNullable[int],
|
|
40
39
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
41
|
-
] =
|
|
42
|
-
r"""
|
|
40
|
+
] = UNSET
|
|
41
|
+
r"""Optional block number (defaults to latest)."""
|
|
43
42
|
|
|
44
43
|
user_address: Annotated[
|
|
45
44
|
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
46
45
|
] = "0xa829B388A3DF7f581cE957a95edbe419dd146d1B"
|
|
47
46
|
r"""The user address of the desired position."""
|
|
47
|
+
|
|
48
|
+
@model_serializer(mode="wrap")
|
|
49
|
+
def serialize_model(self, handler):
|
|
50
|
+
optional_fields = ["chain", "block"]
|
|
51
|
+
nullable_fields = ["block"]
|
|
52
|
+
null_default_fields = []
|
|
53
|
+
|
|
54
|
+
serialized = handler(self)
|
|
55
|
+
|
|
56
|
+
m = {}
|
|
57
|
+
|
|
58
|
+
for n, f in type(self).model_fields.items():
|
|
59
|
+
k = f.alias or n
|
|
60
|
+
val = serialized.get(k)
|
|
61
|
+
serialized.pop(k, None)
|
|
62
|
+
|
|
63
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
64
|
+
is_set = (
|
|
65
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
66
|
+
or k in null_default_fields
|
|
67
|
+
) # pylint: disable=no-member
|
|
68
|
+
|
|
69
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
70
|
+
m[k] = val
|
|
71
|
+
elif val != UNSET_SENTINEL and (
|
|
72
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
73
|
+
):
|
|
74
|
+
m[k] = val
|
|
75
|
+
|
|
76
|
+
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 TokenAddressChain(str, Enum):
|
|
@@ -16,16 +22,6 @@ class TokenAddressChain(str, Enum):
|
|
|
16
22
|
ARBITRUM_MAINNET = "arbitrum:mainnet"
|
|
17
23
|
|
|
18
24
|
|
|
19
|
-
TokenAddressBlockTypedDict = TypeAliasType(
|
|
20
|
-
"TokenAddressBlockTypedDict", Union[int, str]
|
|
21
|
-
)
|
|
22
|
-
r"""The block number you want to get this data at."""
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
TokenAddressBlock = TypeAliasType("TokenAddressBlock", Union[int, str])
|
|
26
|
-
r"""The block number you want to get this data at."""
|
|
27
|
-
|
|
28
|
-
|
|
29
25
|
class TokenAddressToken(str, Enum):
|
|
30
26
|
r"""A class representing the token.
|
|
31
27
|
|
|
@@ -82,8 +78,8 @@ class TokenAddressToken(str, Enum):
|
|
|
82
78
|
class TokenAddressRequestTypedDict(TypedDict):
|
|
83
79
|
chain: TokenAddressChain
|
|
84
80
|
r"""The chain to use."""
|
|
85
|
-
block: NotRequired[
|
|
86
|
-
r"""
|
|
81
|
+
block: NotRequired[Nullable[int]]
|
|
82
|
+
r"""Optional block number (defaults to latest)."""
|
|
87
83
|
token: TokenAddressToken
|
|
88
84
|
r"""The token symbol to get the address for.."""
|
|
89
85
|
|
|
@@ -96,13 +92,43 @@ class TokenAddressRequest(BaseModel):
|
|
|
96
92
|
r"""The chain to use."""
|
|
97
93
|
|
|
98
94
|
block: Annotated[
|
|
99
|
-
|
|
95
|
+
OptionalNullable[int],
|
|
100
96
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
101
|
-
] =
|
|
102
|
-
r"""
|
|
97
|
+
] = UNSET
|
|
98
|
+
r"""Optional block number (defaults to latest)."""
|
|
103
99
|
|
|
104
100
|
token: Annotated[
|
|
105
101
|
TokenAddressToken,
|
|
106
102
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
107
103
|
] = TokenAddressToken.WETH
|
|
108
104
|
r"""The token symbol to get the address for.."""
|
|
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
|