compass_api_sdk 0.1.4__py3-none-any.whl → 0.1.6__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 (42) hide show
  1. {compass_api_sdk-0.1.4.dist-info → compass_api_sdk-0.1.6.dist-info}/METADATA +10 -2
  2. {compass_api_sdk-0.1.4.dist-info → compass_api_sdk-0.1.6.dist-info}/RECORD +42 -35
  3. compassapisdk/_version.py +2 -2
  4. compassapisdk/models/__init__.py +46 -0
  5. compassapisdk/models/aave_liquidity_changeop.py +0 -3
  6. compassapisdk/models/aave_token_priceop.py +0 -3
  7. compassapisdk/models/aave_user_position_per_tokenop.py +0 -3
  8. compassapisdk/models/aave_user_position_summaryop.py +0 -3
  9. compassapisdk/models/aerodrome_slipstream_liquidity_provision_positionsop.py +0 -3
  10. compassapisdk/models/aerodrome_slipstream_pool_priceop.py +0 -3
  11. compassapisdk/models/chain.py +0 -3
  12. compassapisdk/models/contractname.py +3 -0
  13. compassapisdk/models/generic_allowanceop.py +3 -3
  14. compassapisdk/models/generic_ensop.py +0 -3
  15. compassapisdk/models/generic_portfolioop.py +0 -3
  16. compassapisdk/models/generic_supported_tokensop.py +0 -3
  17. compassapisdk/models/generic_visualize_portfolioop.py +0 -3
  18. compassapisdk/models/increaseallowanceparams.py +3 -0
  19. compassapisdk/models/increaseallowancerequest.py +3 -0
  20. compassapisdk/models/morpho_market_positionop.py +0 -3
  21. compassapisdk/models/morpho_marketsop.py +0 -3
  22. compassapisdk/models/morpho_vault_positionop.py +0 -3
  23. compassapisdk/models/morpho_vaultsop.py +0 -3
  24. compassapisdk/models/multicallactiontype.py +19 -19
  25. compassapisdk/models/sky_positionop.py +29 -0
  26. compassapisdk/models/skybuyrequest.py +56 -0
  27. compassapisdk/models/skycheckpositionresponse.py +18 -0
  28. compassapisdk/models/skydepositrequest.py +85 -0
  29. compassapisdk/models/skysellrequest.py +56 -0
  30. compassapisdk/models/skywithdrawrequest.py +75 -0
  31. compassapisdk/models/token_addressop.py +0 -3
  32. compassapisdk/models/token_balanceop.py +0 -3
  33. compassapisdk/models/token_priceop.py +0 -3
  34. compassapisdk/models/uniswap_liquidity_provision_in_rangeop.py +0 -3
  35. compassapisdk/models/uniswap_liquidity_provision_positionsop.py +0 -3
  36. compassapisdk/models/uniswap_pool_priceop.py +0 -3
  37. compassapisdk/models/uniswap_quote_buy_exactlyop.py +0 -3
  38. compassapisdk/models/uniswap_quote_sell_exactlyop.py +0 -3
  39. compassapisdk/sdk.py +3 -0
  40. compassapisdk/sdkconfiguration.py +2 -2
  41. compassapisdk/sky.py +1075 -0
  42. {compass_api_sdk-0.1.4.dist-info → compass_api_sdk-0.1.6.dist-info}/WHEEL +0 -0
@@ -0,0 +1,85 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from compassapisdk.types import (
5
+ BaseModel,
6
+ Nullable,
7
+ OptionalNullable,
8
+ UNSET,
9
+ UNSET_SENTINEL,
10
+ )
11
+ from compassapisdk.utils import validate_const
12
+ import pydantic
13
+ from pydantic import model_serializer
14
+ from pydantic.functional_validators import AfterValidator
15
+ from typing import Literal, Optional, Union
16
+ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
17
+
18
+
19
+ SkyDepositRequestAmountTypedDict = TypeAliasType(
20
+ "SkyDepositRequestAmountTypedDict", Union[float, str]
21
+ )
22
+ r"""The amount of USDS you would like to deposit for sUSDS to earn yield."""
23
+
24
+
25
+ SkyDepositRequestAmount = TypeAliasType("SkyDepositRequestAmount", Union[float, str])
26
+ r"""The amount of USDS you would like to deposit for sUSDS to earn yield."""
27
+
28
+
29
+ class SkyDepositRequestTypedDict(TypedDict):
30
+ amount: SkyDepositRequestAmountTypedDict
31
+ r"""The amount of USDS you would like to deposit for sUSDS to earn yield."""
32
+ sender: str
33
+ r"""The address of the transaction sender."""
34
+ receiver: NotRequired[Nullable[str]]
35
+ r"""The address which will receive the sUSDS. Defaults to the sender."""
36
+ chain: Literal["ethereum:mainnet"]
37
+
38
+
39
+ class SkyDepositRequest(BaseModel):
40
+ amount: SkyDepositRequestAmount
41
+ r"""The amount of USDS you would like to deposit for sUSDS to earn yield."""
42
+
43
+ sender: str
44
+ r"""The address of the transaction sender."""
45
+
46
+ receiver: OptionalNullable[str] = UNSET
47
+ r"""The address which will receive the sUSDS. Defaults to the sender."""
48
+
49
+ CHAIN: Annotated[
50
+ Annotated[
51
+ Optional[Literal["ethereum:mainnet"]],
52
+ AfterValidator(validate_const("ethereum:mainnet")),
53
+ ],
54
+ pydantic.Field(alias="chain"),
55
+ ] = "ethereum:mainnet"
56
+
57
+ @model_serializer(mode="wrap")
58
+ def serialize_model(self, handler):
59
+ optional_fields = ["receiver", "chain"]
60
+ nullable_fields = ["receiver"]
61
+ null_default_fields = []
62
+
63
+ serialized = handler(self)
64
+
65
+ m = {}
66
+
67
+ for n, f in type(self).model_fields.items():
68
+ k = f.alias or n
69
+ val = serialized.get(k)
70
+ serialized.pop(k, None)
71
+
72
+ optional_nullable = k in optional_fields and k in nullable_fields
73
+ is_set = (
74
+ self.__pydantic_fields_set__.intersection({n})
75
+ or k in null_default_fields
76
+ ) # pylint: disable=no-member
77
+
78
+ if val is not None and val != UNSET_SENTINEL:
79
+ m[k] = val
80
+ elif val != UNSET_SENTINEL and (
81
+ not k in optional_fields or (optional_nullable and is_set)
82
+ ):
83
+ m[k] = val
84
+
85
+ return m
@@ -0,0 +1,56 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from compassapisdk.types import BaseModel
5
+ from compassapisdk.utils import validate_const
6
+ from enum import Enum
7
+ import pydantic
8
+ from pydantic.functional_validators import AfterValidator
9
+ from typing import Literal, Optional, Union
10
+ from typing_extensions import Annotated, TypeAliasType, TypedDict
11
+
12
+
13
+ class TokenOut(str, Enum):
14
+ r"""The token you would like to swap 1:1 with USDS. Choose from DAI or USDC."""
15
+
16
+ DAI = "DAI"
17
+ USDC = "USDC"
18
+
19
+
20
+ SkySellRequestAmountTypedDict = TypeAliasType(
21
+ "SkySellRequestAmountTypedDict", Union[float, str]
22
+ )
23
+ r"""The amount of USDS you would like to sell 1:1 for 'token_out'."""
24
+
25
+
26
+ SkySellRequestAmount = TypeAliasType("SkySellRequestAmount", Union[float, str])
27
+ r"""The amount of USDS you would like to sell 1:1 for 'token_out'."""
28
+
29
+
30
+ class SkySellRequestTypedDict(TypedDict):
31
+ token_out: TokenOut
32
+ r"""The token you would like to swap 1:1 with USDS. Choose from DAI or USDC."""
33
+ amount: SkySellRequestAmountTypedDict
34
+ r"""The amount of USDS you would like to sell 1:1 for 'token_out'."""
35
+ sender: str
36
+ r"""The address of the transaction sender."""
37
+ chain: Literal["ethereum:mainnet"]
38
+
39
+
40
+ class SkySellRequest(BaseModel):
41
+ token_out: TokenOut
42
+ r"""The token you would like to swap 1:1 with USDS. Choose from DAI or USDC."""
43
+
44
+ amount: SkySellRequestAmount
45
+ r"""The amount of USDS you would like to sell 1:1 for 'token_out'."""
46
+
47
+ sender: str
48
+ r"""The address of the transaction sender."""
49
+
50
+ CHAIN: Annotated[
51
+ Annotated[
52
+ Optional[Literal["ethereum:mainnet"]],
53
+ AfterValidator(validate_const("ethereum:mainnet")),
54
+ ],
55
+ pydantic.Field(alias="chain"),
56
+ ] = "ethereum:mainnet"
@@ -0,0 +1,75 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from compassapisdk.types import (
5
+ BaseModel,
6
+ Nullable,
7
+ OptionalNullable,
8
+ UNSET,
9
+ UNSET_SENTINEL,
10
+ )
11
+ from compassapisdk.utils import validate_const
12
+ import pydantic
13
+ from pydantic import model_serializer
14
+ from pydantic.functional_validators import AfterValidator
15
+ from typing import Any, Literal, Optional
16
+ from typing_extensions import Annotated, NotRequired, TypedDict
17
+
18
+
19
+ class SkyWithdrawRequestTypedDict(TypedDict):
20
+ amount: Any
21
+ r"""The amount of USDS you would like to withdraw. If set to 'ALL', your total deposited USDS amount will be withdrawn."""
22
+ sender: str
23
+ r"""The address of the transaction sender."""
24
+ receiver: NotRequired[Nullable[str]]
25
+ r"""The address which will receive the withdrawn USDS. Defaults to the sender."""
26
+ chain: Literal["ethereum:mainnet"]
27
+
28
+
29
+ class SkyWithdrawRequest(BaseModel):
30
+ amount: Any
31
+ r"""The amount of USDS you would like to withdraw. If set to 'ALL', your total deposited USDS amount will be withdrawn."""
32
+
33
+ sender: str
34
+ r"""The address of the transaction sender."""
35
+
36
+ receiver: OptionalNullable[str] = UNSET
37
+ r"""The address which will receive the withdrawn USDS. Defaults to the sender."""
38
+
39
+ CHAIN: Annotated[
40
+ Annotated[
41
+ Optional[Literal["ethereum:mainnet"]],
42
+ AfterValidator(validate_const("ethereum:mainnet")),
43
+ ],
44
+ pydantic.Field(alias="chain"),
45
+ ] = "ethereum:mainnet"
46
+
47
+ @model_serializer(mode="wrap")
48
+ def serialize_model(self, handler):
49
+ optional_fields = ["receiver", "chain"]
50
+ nullable_fields = ["receiver"]
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
@@ -13,9 +13,6 @@ class TokenAddressChain(str, Enum):
13
13
  BASE_MAINNET = "base:mainnet"
14
14
  ETHEREUM_MAINNET = "ethereum:mainnet"
15
15
  ARBITRUM_MAINNET = "arbitrum:mainnet"
16
- ETHEREUM_LOCAL = "ethereum:local"
17
- ARBITRUM_LOCAL = "arbitrum:local"
18
- BASE_LOCAL = "base:local"
19
16
 
20
17
 
21
18
  class TokenAddressToken(str, Enum):
@@ -15,9 +15,6 @@ class TokenBalanceChain(str, Enum):
15
15
  BASE_MAINNET = "base:mainnet"
16
16
  ETHEREUM_MAINNET = "ethereum:mainnet"
17
17
  ARBITRUM_MAINNET = "arbitrum:mainnet"
18
- ETHEREUM_LOCAL = "ethereum:local"
19
- ARBITRUM_LOCAL = "arbitrum:local"
20
- BASE_LOCAL = "base:local"
21
18
 
22
19
 
23
20
  TokenBalanceTokenTypedDict = TypeAliasType(
@@ -13,9 +13,6 @@ class TokenPriceChain(str, Enum):
13
13
  BASE_MAINNET = "base:mainnet"
14
14
  ETHEREUM_MAINNET = "ethereum:mainnet"
15
15
  ARBITRUM_MAINNET = "arbitrum:mainnet"
16
- ETHEREUM_LOCAL = "ethereum:local"
17
- ARBITRUM_LOCAL = "arbitrum:local"
18
- BASE_LOCAL = "base:local"
19
16
 
20
17
 
21
18
  class TokenPriceToken(str, Enum):
@@ -13,9 +13,6 @@ class UniswapLiquidityProvisionInRangeChain(str, Enum):
13
13
  BASE_MAINNET = "base:mainnet"
14
14
  ETHEREUM_MAINNET = "ethereum:mainnet"
15
15
  ARBITRUM_MAINNET = "arbitrum:mainnet"
16
- ETHEREUM_LOCAL = "ethereum:local"
17
- ARBITRUM_LOCAL = "arbitrum:local"
18
- BASE_LOCAL = "base:local"
19
16
 
20
17
 
21
18
  class UniswapLiquidityProvisionInRangeRequestTypedDict(TypedDict):
@@ -14,9 +14,6 @@ class UniswapLiquidityProvisionPositionsChain(str, Enum):
14
14
  BASE_MAINNET = "base:mainnet"
15
15
  ETHEREUM_MAINNET = "ethereum:mainnet"
16
16
  ARBITRUM_MAINNET = "arbitrum:mainnet"
17
- ETHEREUM_LOCAL = "ethereum:local"
18
- ARBITRUM_LOCAL = "arbitrum:local"
19
- BASE_LOCAL = "base:local"
20
17
 
21
18
 
22
19
  class UniswapLiquidityProvisionPositionsRequestTypedDict(TypedDict):
@@ -13,9 +13,6 @@ class UniswapPoolPriceChain(str, Enum):
13
13
  BASE_MAINNET = "base:mainnet"
14
14
  ETHEREUM_MAINNET = "ethereum:mainnet"
15
15
  ARBITRUM_MAINNET = "arbitrum:mainnet"
16
- ETHEREUM_LOCAL = "ethereum:local"
17
- ARBITRUM_LOCAL = "arbitrum:local"
18
- BASE_LOCAL = "base:local"
19
16
 
20
17
 
21
18
  class UniswapPoolPriceTokenInToken(str, Enum):
@@ -14,9 +14,6 @@ class UniswapQuoteBuyExactlyChain(str, Enum):
14
14
  BASE_MAINNET = "base:mainnet"
15
15
  ETHEREUM_MAINNET = "ethereum:mainnet"
16
16
  ARBITRUM_MAINNET = "arbitrum:mainnet"
17
- ETHEREUM_LOCAL = "ethereum:local"
18
- ARBITRUM_LOCAL = "arbitrum:local"
19
- BASE_LOCAL = "base:local"
20
17
 
21
18
 
22
19
  class UniswapQuoteBuyExactlyTokenInToken(str, Enum):
@@ -14,9 +14,6 @@ class UniswapQuoteSellExactlyChain(str, Enum):
14
14
  BASE_MAINNET = "base:mainnet"
15
15
  ETHEREUM_MAINNET = "ethereum:mainnet"
16
16
  ARBITRUM_MAINNET = "arbitrum:mainnet"
17
- ETHEREUM_LOCAL = "ethereum:local"
18
- ARBITRUM_LOCAL = "arbitrum:local"
19
- BASE_LOCAL = "base:local"
20
17
 
21
18
 
22
19
  class UniswapQuoteSellExactlyTokenInToken(str, Enum):
compassapisdk/sdk.py CHANGED
@@ -10,6 +10,7 @@ from compassapisdk._hooks import SDKHooks
10
10
  from compassapisdk.aave_v3 import AaveV3
11
11
  from compassapisdk.aerodrome_slipstream import AerodromeSlipstream
12
12
  from compassapisdk.morpho import Morpho
13
+ from compassapisdk.sky import Sky
13
14
  from compassapisdk.token_sdk import TokenSDK
14
15
  from compassapisdk.transaction_batching import TransactionBatching
15
16
  from compassapisdk.types import OptionalNullable, UNSET
@@ -26,6 +27,7 @@ class CompassAPISDK(BaseSDK):
26
27
  aave_v3: AaveV3
27
28
  aerodrome_slipstream: AerodromeSlipstream
28
29
  morpho: Morpho
30
+ sky: Sky
29
31
  token: TokenSDK
30
32
  uniswap_v3: UniswapV3
31
33
  universal: Universal
@@ -130,6 +132,7 @@ class CompassAPISDK(BaseSDK):
130
132
  self.aave_v3 = AaveV3(self.sdk_configuration)
131
133
  self.aerodrome_slipstream = AerodromeSlipstream(self.sdk_configuration)
132
134
  self.morpho = Morpho(self.sdk_configuration)
135
+ self.sky = Sky(self.sdk_configuration)
133
136
  self.token = TokenSDK(self.sdk_configuration)
134
137
  self.uniswap_v3 = UniswapV3(self.sdk_configuration)
135
138
  self.universal = Universal(self.sdk_configuration)
@@ -17,8 +17,8 @@ from typing import Callable, Dict, Optional, Tuple, Union
17
17
 
18
18
 
19
19
  SERVERS = [
20
- "http://0.0.0.0:80",
21
- # Development server
20
+ "https://api.compasslabs.ai",
21
+ # Production server
22
22
  ]
23
23
  """Contains the list of servers available to the SDK"""
24
24