compass_api_sdk 0.9.13__py3-none-any.whl → 0.9.14__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 +3 -3
- compass_api_sdk/models/__init__.py +56 -0
- compass_api_sdk/models/aavelooprequest.py +113 -0
- compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_market_marketstate.py +33 -13
- compass_api_sdk/models/metadata.py +1 -7
- compass_api_sdk/models/multicallauthorizationrequest.py +39 -0
- compass_api_sdk/models/multicallauthorizationresponse.py +30 -0
- compass_api_sdk/models/multicallexecuterequest.py +36 -0
- compass_api_sdk/sdk.py +6 -0
- compass_api_sdk/transaction_batching.py +765 -0
- compass_api_sdk/utils/forms.py +49 -28
- {compass_api_sdk-0.9.13.dist-info → compass_api_sdk-0.9.14.dist-info}/METADATA +7 -1
- {compass_api_sdk-0.9.13.dist-info → compass_api_sdk-0.9.14.dist-info}/RECORD +14 -9
- {compass_api_sdk-0.9.13.dist-info → compass_api_sdk-0.9.14.dist-info}/WHEEL +0 -0
compass_api_sdk/utils/forms.py
CHANGED
|
@@ -86,11 +86,39 @@ def _populate_form(
|
|
|
86
86
|
return form
|
|
87
87
|
|
|
88
88
|
|
|
89
|
+
def _extract_file_properties(file_obj: Any) -> Tuple[str, Any, Any]:
|
|
90
|
+
"""Extract file name, content, and content type from a file object."""
|
|
91
|
+
file_fields: Dict[str, FieldInfo] = file_obj.__class__.model_fields
|
|
92
|
+
|
|
93
|
+
file_name = ""
|
|
94
|
+
content = None
|
|
95
|
+
content_type = None
|
|
96
|
+
|
|
97
|
+
for file_field_name in file_fields:
|
|
98
|
+
file_field = file_fields[file_field_name]
|
|
99
|
+
|
|
100
|
+
file_metadata = find_field_metadata(file_field, MultipartFormMetadata)
|
|
101
|
+
if file_metadata is None:
|
|
102
|
+
continue
|
|
103
|
+
|
|
104
|
+
if file_metadata.content:
|
|
105
|
+
content = getattr(file_obj, file_field_name, None)
|
|
106
|
+
elif file_field_name == "content_type":
|
|
107
|
+
content_type = getattr(file_obj, file_field_name, None)
|
|
108
|
+
else:
|
|
109
|
+
file_name = getattr(file_obj, file_field_name)
|
|
110
|
+
|
|
111
|
+
if file_name == "" or content is None:
|
|
112
|
+
raise ValueError("invalid multipart/form-data file")
|
|
113
|
+
|
|
114
|
+
return file_name, content, content_type
|
|
115
|
+
|
|
116
|
+
|
|
89
117
|
def serialize_multipart_form(
|
|
90
118
|
media_type: str, request: Any
|
|
91
|
-
) -> Tuple[str, Dict[str, Any],
|
|
119
|
+
) -> Tuple[str, Dict[str, Any], List[Tuple[str, Any]]]:
|
|
92
120
|
form: Dict[str, Any] = {}
|
|
93
|
-
files:
|
|
121
|
+
files: List[Tuple[str, Any]] = []
|
|
94
122
|
|
|
95
123
|
if not isinstance(request, BaseModel):
|
|
96
124
|
raise TypeError("invalid request body type")
|
|
@@ -112,39 +140,32 @@ def serialize_multipart_form(
|
|
|
112
140
|
f_name = field.alias if field.alias else name
|
|
113
141
|
|
|
114
142
|
if field_metadata.file:
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
file_field = file_fields[file_field_name]
|
|
143
|
+
if isinstance(val, List):
|
|
144
|
+
# Handle array of files
|
|
145
|
+
for file_obj in val:
|
|
146
|
+
if not _is_set(file_obj):
|
|
147
|
+
continue
|
|
148
|
+
|
|
149
|
+
file_name, content, content_type = _extract_file_properties(file_obj)
|
|
123
150
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
151
|
+
if content_type is not None:
|
|
152
|
+
files.append((f_name + "[]", (file_name, content, content_type)))
|
|
153
|
+
else:
|
|
154
|
+
files.append((f_name + "[]", (file_name, content)))
|
|
155
|
+
else:
|
|
156
|
+
# Handle single file
|
|
157
|
+
file_name, content, content_type = _extract_file_properties(val)
|
|
127
158
|
|
|
128
|
-
if
|
|
129
|
-
|
|
130
|
-
elif file_field_name == "content_type":
|
|
131
|
-
content_type = getattr(val, file_field_name, None)
|
|
159
|
+
if content_type is not None:
|
|
160
|
+
files.append((f_name, (file_name, content, content_type)))
|
|
132
161
|
else:
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
if file_name == "" or content is None:
|
|
136
|
-
raise ValueError("invalid multipart/form-data file")
|
|
137
|
-
|
|
138
|
-
if content_type is not None:
|
|
139
|
-
files[f_name] = (file_name, content, content_type)
|
|
140
|
-
else:
|
|
141
|
-
files[f_name] = (file_name, content)
|
|
162
|
+
files.append((f_name, (file_name, content)))
|
|
142
163
|
elif field_metadata.json:
|
|
143
|
-
files
|
|
164
|
+
files.append((f_name, (
|
|
144
165
|
None,
|
|
145
166
|
marshal_json(val, request_field_types[name]),
|
|
146
167
|
"application/json",
|
|
147
|
-
)
|
|
168
|
+
)))
|
|
148
169
|
else:
|
|
149
170
|
if isinstance(val, List):
|
|
150
171
|
values = []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: compass_api_sdk
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.14
|
|
4
4
|
Summary: Compass API SDK.
|
|
5
5
|
Author: royalnine
|
|
6
6
|
Requires-Python: >=3.9.2
|
|
@@ -268,6 +268,12 @@ with CompassAPI(
|
|
|
268
268
|
* [balance](https://github.com/CompassLabs/mono/blob/master/docs/sdks/tokensdk/README.md#balance) - Token Balance
|
|
269
269
|
* [transfer](https://github.com/CompassLabs/mono/blob/master/docs/sdks/tokensdk/README.md#transfer) - Transfer ETH or ERC20 Tokens.
|
|
270
270
|
|
|
271
|
+
### [transaction_batching](https://github.com/CompassLabs/mono/blob/master/docs/sdks/transactionbatching/README.md)
|
|
272
|
+
|
|
273
|
+
* [authorization](https://github.com/CompassLabs/mono/blob/master/docs/sdks/transactionbatching/README.md#authorization) - Enable transaction bundling.
|
|
274
|
+
* [execute](https://github.com/CompassLabs/mono/blob/master/docs/sdks/transactionbatching/README.md#execute) - Construct Bundled Transaction
|
|
275
|
+
* [aave_loop](https://github.com/CompassLabs/mono/blob/master/docs/sdks/transactionbatching/README.md#aave_loop) - AAVE leverage long/short
|
|
276
|
+
|
|
271
277
|
### [uniswap_v3](https://github.com/CompassLabs/mono/blob/master/docs/sdks/uniswapv3/README.md)
|
|
272
278
|
|
|
273
279
|
* [quote_buy_exactly](https://github.com/CompassLabs/mono/blob/master/docs/sdks/uniswapv3/README.md#quote_buy_exactly) - Get quote - to specified amount
|
|
@@ -2,7 +2,7 @@ compass_api_sdk/__init__.py,sha256=w2u919V3Tzv4zEPQ-OYJ79gQ_4_SyW7GOFFoHtqXDFA,4
|
|
|
2
2
|
compass_api_sdk/_hooks/__init__.py,sha256=p5J13DeYuISQyQWirjJAObHIf2VtIlOtFqnIpvjjVwk,118
|
|
3
3
|
compass_api_sdk/_hooks/sdkhooks.py,sha256=eVxHB2Q_JG6zZx5xn74i208ij-fpTHqq2jod6fbghRQ,2503
|
|
4
4
|
compass_api_sdk/_hooks/types.py,sha256=4qXm6dEntJOC2QeOdTklcc53oFzTU3HBb1xGdZ-kBXY,3059
|
|
5
|
-
compass_api_sdk/_version.py,sha256=
|
|
5
|
+
compass_api_sdk/_version.py,sha256=6bdElqixoKU5pExPNNw9hyaFTTdgCtzrPUTNOr0PbZo,474
|
|
6
6
|
compass_api_sdk/aave_v3.py,sha256=RmNPcYy3tmtbufL_UaZ6inLtUOnSqidAZIIyxXeKd-g,126400
|
|
7
7
|
compass_api_sdk/aerodrome_slipstream.py,sha256=zPbCz8ySxnjBGoy2DjqpN6Np5kmjE4rqKzmKZScMRbY,83443
|
|
8
8
|
compass_api_sdk/basesdk.py,sha256=xDxC-X-LHCwtVy8SPM6nckSu1NmF8uKhHUUQd3X-syo,11810
|
|
@@ -10,7 +10,7 @@ compass_api_sdk/errors/__init__.py,sha256=V3vSSmUvxXtgwHL60IBI0MzLWll8h373LvT3el
|
|
|
10
10
|
compass_api_sdk/errors/apierror.py,sha256=9mTyJSyvUAOnSfW_1HWt9dGl8IDlpQ68DebwYsDNdug,528
|
|
11
11
|
compass_api_sdk/errors/httpvalidationerror.py,sha256=KBdpK3fYQoeMB-3m9dLKiMYimFN7B9VLma6YqMKX5k0,671
|
|
12
12
|
compass_api_sdk/httpclient.py,sha256=Eu73urOAiZQtdUIyOUnPccxCiBbWEKrXG-JrRG3SLM4,3946
|
|
13
|
-
compass_api_sdk/models/__init__.py,sha256=
|
|
13
|
+
compass_api_sdk/models/__init__.py,sha256=3MlgH3S7zKwPVZljmyfdD3VVcs6DAAS6j1dJoWr7xp4,118275
|
|
14
14
|
compass_api_sdk/models/aave_avg_rateop.py,sha256=Qn7IkBwZv5zY_L15V_LONkANzQPTbtmK2Wwhc2iqYz8,3718
|
|
15
15
|
compass_api_sdk/models/aave_historical_transactionsop.py,sha256=7Ghmin3AWvh2knbC-M0CZ0chL8q3fJU-GeDgXeoY0s4,1789
|
|
16
16
|
compass_api_sdk/models/aave_liquidity_changeop.py,sha256=o9G4dD2foyhbunziTv_177Qr2AK37KTIQsQfvPxo5Fs,2785
|
|
@@ -25,6 +25,7 @@ compass_api_sdk/models/aaveborrowparams.py,sha256=Sb_i4KtK1ZVGGzkt7WU391cJzCryRp
|
|
|
25
25
|
compass_api_sdk/models/aaveborrowrequest.py,sha256=IUHTHTa3icfr9esg4owq98SyckK2rzOX-odpVFn6l8w,3568
|
|
26
26
|
compass_api_sdk/models/aavehistoricaltransactionsresponse.py,sha256=G9yw8V7UHQL9m8mJZgHSqhvdymo5mJbJoIKtbtRSzlg,2504
|
|
27
27
|
compass_api_sdk/models/aaveliquiditychangeresponse.py,sha256=G_fjNFMMAViJVXUejTdqNDyNrv-BieQDDpT6iwtwCwg,811
|
|
28
|
+
compass_api_sdk/models/aavelooprequest.py,sha256=AfqNPvHRaCCrZPlqcQ5KG8qcEB52SkKV0zHDLElBmEs,3874
|
|
28
29
|
compass_api_sdk/models/aaverateresponse.py,sha256=7Ra_FKYbGrm7ZqzNi8-1T0v2xDAGyZf6Iw5Juh1bXBI,1156
|
|
29
30
|
compass_api_sdk/models/aaverepayparams.py,sha256=CJxfD0lckwHMqvoEqGvJFCS0yN4ADsgMLbaD0ajdOTg,3293
|
|
30
31
|
compass_api_sdk/models/aaverepayrequest.py,sha256=wAT4zqxF_FlFj_QycGKXRr-aenw3AQlHSVr6J6maXCo,3552
|
|
@@ -65,7 +66,7 @@ compass_api_sdk/models/compass_api_backend_models_morpho_read_response_check_use
|
|
|
65
66
|
compass_api_sdk/models/compass_api_backend_models_morpho_read_response_check_user_position_vaultstate.py,sha256=d35pPUuS2S2PS92QMcswYRqRx6qbr_gyDC-O-_4SNaY,642
|
|
66
67
|
compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_market_apydata.py,sha256=p6oN-4Dh-4JNjG3048l6mu5oApqvpVWLe7mYEPaWWJI,753
|
|
67
68
|
compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_market_asset.py,sha256=dcnk2hsf77NhGtZA8wGZwjqnEoPhwoFZ5qvseMdpibw,1663
|
|
68
|
-
compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_market_marketstate.py,sha256=
|
|
69
|
+
compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_market_marketstate.py,sha256=DZ5p29aIf1KoeTe1wGc-mYy8fZ7mhsJ4Sov1ewoX42g,2982
|
|
69
70
|
compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_markets_asset.py,sha256=pMWAh-oYo4YBmeVpoh2XoPn8PmFWSrvRH0Gg7sPT8xQ,488
|
|
70
71
|
compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_markets_marketstate.py,sha256=wour5BGvKGddpI_qfs7WHfDewE5-cLdRjq7L-QTAQLg,2133
|
|
71
72
|
compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_vault_asset.py,sha256=bWO0t2sKFS3Cx3j7zUXPgGK9i1QIUcrdnyQksunbNQU,1661
|
|
@@ -92,7 +93,7 @@ compass_api_sdk/models/liquidity.py,sha256=WOPaK4SXj2C5TBLZlfoaQbcnzhcmFCEUFz59m
|
|
|
92
93
|
compass_api_sdk/models/lpbalance.py,sha256=8IxmblTajQs3EZgSqZXD1WOd8Adkzib08iJzxqZryVw,464
|
|
93
94
|
compass_api_sdk/models/market.py,sha256=GHeU1pdGnyGNDxyx2aSvMfLeUTW1s_wLEkMY5SqBPRg,368
|
|
94
95
|
compass_api_sdk/models/marketposition.py,sha256=X-qOGEKxLfk-aLWMweaWraTh5G2x_ImBSZCg8_mPUEo,2151
|
|
95
|
-
compass_api_sdk/models/metadata.py,sha256=
|
|
96
|
+
compass_api_sdk/models/metadata.py,sha256=QtYhxd8PZdJOC2T2SkaKmcAwxg8cfRMjVvpj-D4dytg,1496
|
|
96
97
|
compass_api_sdk/models/morpho_market_positionop.py,sha256=Oq1MpGNsCsNNrKRVATDpmC9nJO2TKwYi_dSUswuu-iI,1484
|
|
97
98
|
compass_api_sdk/models/morpho_marketop.py,sha256=xxr06QlU1xkjje5jCFmRT7fg_QDyvaD3c0HsMoDs_I4,1130
|
|
98
99
|
compass_api_sdk/models/morpho_marketsop.py,sha256=HQZpncW9JeH-8jtKQAqcrQ5yVkE3h4r5_Sk9khU0Viw,2377
|
|
@@ -124,6 +125,9 @@ compass_api_sdk/models/morphowithdrawcollateralrequest.py,sha256=0i6sFnv2YRWCzi_
|
|
|
124
125
|
compass_api_sdk/models/morphowithdrawparams.py,sha256=Tm_uYiD04bl7ZOxyfubRk0pmTup_EtNM8sb0lVHbLqA,2511
|
|
125
126
|
compass_api_sdk/models/morphowithdrawrequest.py,sha256=9xEVCTNG9yxffOODyX3UtNaULL70TmdcDm07v1JHRBY,2868
|
|
126
127
|
compass_api_sdk/models/movement10percent.py,sha256=z_GUd5GJyXpqsLM3X01GShe7Uwg3uwp8LOy7sjiOUgw,767
|
|
128
|
+
compass_api_sdk/models/multicallauthorizationrequest.py,sha256=h5-2acLlhV9assgIIHyVIgTak1IJathqa-viS-PkvMA,1155
|
|
129
|
+
compass_api_sdk/models/multicallauthorizationresponse.py,sha256=3jjdz9Mz-tKjhBzZbVaJW51no58HSqcxfHJwuZsgnhg,914
|
|
130
|
+
compass_api_sdk/models/multicallexecuterequest.py,sha256=iVCfkarzlLYQrdo2sCRB9YJyJ-dayaf321j0Hh4Fit8,1095
|
|
127
131
|
compass_api_sdk/models/openposition.py,sha256=jd5t6ku3f7J0PA-1LmfWyrNYrQybGF68ebfVKgkSzdc,1013
|
|
128
132
|
compass_api_sdk/models/pendle_marketop.py,sha256=HYn46j-GhbEhuLoN0yWgaRUlgGs8n8OHYmGpO6K7VB0,1124
|
|
129
133
|
compass_api_sdk/models/pendle_marketsop.py,sha256=k4G89uNzGBzBNYSqdmlDM1PierxtEjC4_e_hbD2XjPI,830
|
|
@@ -218,11 +222,12 @@ compass_api_sdk/models/yieldrange.py,sha256=WEpZR24JddnCS1_13y2P1CdD0lBi6dPktysC
|
|
|
218
222
|
compass_api_sdk/morpho.py,sha256=JtcZoP-M_V0fw2zCCbxejmPrgrXZOiLDZILW1W0J2oQ,134352
|
|
219
223
|
compass_api_sdk/pendle.py,sha256=BQ2SQn3jtaVjsmaU2fpqi_gj8mwCGL5zY7aSz3GwoJ0,97156
|
|
220
224
|
compass_api_sdk/py.typed,sha256=zrp19r0G21lr2yRiMC0f8MFkQFGj9wMpSbboePMg8KM,59
|
|
221
|
-
compass_api_sdk/sdk.py,sha256=
|
|
225
|
+
compass_api_sdk/sdk.py,sha256=AGJs2VvvUdJ2wo29jEA2UpER8kd3mJ9HooZVlKzqpxw,7692
|
|
222
226
|
compass_api_sdk/sdkconfiguration.py,sha256=5nec4ViMLCsNWBd3DyEv8zWqU5Z77YZfzwX69jkdSnM,1607
|
|
223
227
|
compass_api_sdk/sky.py,sha256=oZcj2VX26yc-nMTo5WIktz97mAjZT1J0K2IHvi_m3oM,43965
|
|
224
228
|
compass_api_sdk/smart_account.py,sha256=iUrXLNi0QyPUNYBCP92PHziUFQ0qkRYdhyvfHVXvQWQ,9150
|
|
225
229
|
compass_api_sdk/token_sdk.py,sha256=v53jnPVuIb5mRblmEncDWFP3ZZQ0-EsH-mFDXpV4HLU,34602
|
|
230
|
+
compass_api_sdk/transaction_batching.py,sha256=w4mJU9kdeufmOKxHrcZJcEFglyoBjWz-51ufz42dhXI,32233
|
|
226
231
|
compass_api_sdk/types/__init__.py,sha256=RArOwSgeeTIva6h-4ttjXwMUeCkz10nAFBL9D-QljI4,377
|
|
227
232
|
compass_api_sdk/types/basemodel.py,sha256=L79WXvTECbSqaJzs8D3ud_KdIWkU7Cx2wbohDAktE9E,1127
|
|
228
233
|
compass_api_sdk/uniswap_v3.py,sha256=oCVz-gLG3uNMd_3QhFSkgmEtyEtXUrVjCYnt8C-3J_o,109087
|
|
@@ -232,7 +237,7 @@ compass_api_sdk/utils/annotations.py,sha256=aR7mZG34FzgRdew7WZPYEu9QGBerpuKxCF4s
|
|
|
232
237
|
compass_api_sdk/utils/datetimes.py,sha256=oppAA5e3V35pQov1-FNLKxAaNF1_XWi-bQtyjjql3H8,855
|
|
233
238
|
compass_api_sdk/utils/enums.py,sha256=REU6ydF8gsVL3xaeGX4sMNyiL3q5P9h29-f6Sa6luAE,2633
|
|
234
239
|
compass_api_sdk/utils/eventstreaming.py,sha256=LtcrfJYw4nP2Oe4Wl0-cEURLzRGYReRGWNFY5wYECIE,6186
|
|
235
|
-
compass_api_sdk/utils/forms.py,sha256=
|
|
240
|
+
compass_api_sdk/utils/forms.py,sha256=EJdnrfIkuwpDtekyHutla0HjI_FypTYcmYNyPKEu_W0,6874
|
|
236
241
|
compass_api_sdk/utils/headers.py,sha256=cPxWSmUILrefTGDzTH1Hdj7_Hlsj-EY6K5Tyc4iH4dk,3663
|
|
237
242
|
compass_api_sdk/utils/logger.py,sha256=9nUtlKHo3RFsIVyMw5jq3wEKZMVwHnZMSc6xLp-otC0,520
|
|
238
243
|
compass_api_sdk/utils/metadata.py,sha256=Per2KFXXOqOtoUWXrlIfjrSrBg199KrRW0nKQDgHIBU,3136
|
|
@@ -243,6 +248,6 @@ compass_api_sdk/utils/security.py,sha256=ktep3HKwbFs-MLxUYTM8Jd4v-ZBum5_Z0u1PFId
|
|
|
243
248
|
compass_api_sdk/utils/serializers.py,sha256=hiHBXM1AY8_N2Z_rvFfNSYwvLBkSQlPGFp8poasdU4s,5986
|
|
244
249
|
compass_api_sdk/utils/url.py,sha256=BgGPgcTA6MRK4bF8fjP2dUopN3NzEzxWMXPBVg8NQUA,5254
|
|
245
250
|
compass_api_sdk/utils/values.py,sha256=CcaCXEa3xHhkUDROyXZocN8f0bdITftv9Y0P9lTf0YM,3517
|
|
246
|
-
compass_api_sdk-0.9.
|
|
247
|
-
compass_api_sdk-0.9.
|
|
248
|
-
compass_api_sdk-0.9.
|
|
251
|
+
compass_api_sdk-0.9.14.dist-info/METADATA,sha256=MN6Mazh7E7NgWN45OI2UAU16EwansyR6OHA6rnfv6po,26650
|
|
252
|
+
compass_api_sdk-0.9.14.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
253
|
+
compass_api_sdk-0.9.14.dist-info/RECORD,,
|
|
File without changes
|