compass_api_sdk 0.9.35__py3-none-any.whl → 2.0.21rc1__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.
Files changed (322) hide show
  1. compass_api_sdk/_hooks/sdkhooks.py +4 -4
  2. compass_api_sdk/_hooks/types.py +1 -2
  3. compass_api_sdk/_version.py +3 -3
  4. compass_api_sdk/aave_v3.py +971 -728
  5. compass_api_sdk/aerodrome_slipstream.py +367 -390
  6. compass_api_sdk/basesdk.py +21 -5
  7. compass_api_sdk/bridge.py +536 -0
  8. compass_api_sdk/earn.py +1780 -0
  9. compass_api_sdk/erc_4626_vaults.py +127 -154
  10. compass_api_sdk/errors/__init__.py +38 -4
  11. compass_api_sdk/errors/apierror.py +32 -14
  12. compass_api_sdk/errors/compassapierror.py +30 -0
  13. compass_api_sdk/errors/httpvalidationerror.py +15 -8
  14. compass_api_sdk/errors/mintpreparenotfoundresponse_error.py +49 -0
  15. compass_api_sdk/errors/no_response_error.py +17 -0
  16. compass_api_sdk/errors/responsevalidationerror.py +27 -0
  17. compass_api_sdk/{token_sdk.py → ethena.py} +318 -293
  18. compass_api_sdk/gas_sponsorship.py +446 -0
  19. compass_api_sdk/httpclient.py +0 -1
  20. compass_api_sdk/models/__init__.py +1701 -945
  21. compass_api_sdk/models/aaveborrowparams.py +4 -13
  22. compass_api_sdk/models/aaveborrowrequest.py +19 -19
  23. compass_api_sdk/models/aavehistoricaltransactionsresponse.py +8 -8
  24. compass_api_sdk/models/aavelooprequest.py +88 -36
  25. compass_api_sdk/models/aaveposition.py +49 -0
  26. compass_api_sdk/models/aaverepayparams.py +4 -13
  27. compass_api_sdk/models/aaverepayrequest.py +19 -19
  28. compass_api_sdk/models/aavereserveoverviewresponse.py +34 -3
  29. compass_api_sdk/models/aavesetuseremodeparams.py +28 -0
  30. compass_api_sdk/models/aavesetuseremoderequest.py +48 -0
  31. compass_api_sdk/models/aavesupplyparams.py +4 -13
  32. compass_api_sdk/models/aavesupplyrequest.py +19 -19
  33. compass_api_sdk/models/aavesupportedtokenmetadata.py +30 -0
  34. compass_api_sdk/models/aavesupportedtokensresponse.py +20 -0
  35. compass_api_sdk/models/aavevenue.py +27 -0
  36. compass_api_sdk/models/aavewithdrawparams.py +4 -13
  37. compass_api_sdk/models/aavewithdrawrequest.py +19 -19
  38. compass_api_sdk/models/aerodromeenrichedposition.py +109 -0
  39. compass_api_sdk/models/aerodromelppositionsresponse.py +10 -7
  40. compass_api_sdk/models/aerodromeslipstreambuyexactlyparams.py +8 -25
  41. compass_api_sdk/models/aerodromeslipstreambuyexactlyrequest.py +21 -31
  42. compass_api_sdk/models/aerodromeslipstreamincreaseliquidityprovisionrequest.py +13 -6
  43. compass_api_sdk/models/aerodromeslipstreammintliquidityprovisionparams.py +8 -25
  44. compass_api_sdk/models/aerodromeslipstreammintliquidityprovisionrequest.py +21 -31
  45. compass_api_sdk/models/aerodromeslipstreampoolpriceresponse.py +8 -25
  46. compass_api_sdk/models/aerodromeslipstreamsellexactlyparams.py +8 -25
  47. compass_api_sdk/models/aerodromeslipstreamsellexactlyrequest.py +20 -30
  48. compass_api_sdk/models/aerodromeslipstreamwithdrawliquidityprovisionrequest.py +13 -6
  49. compass_api_sdk/models/approvetransferrequest.py +32 -0
  50. compass_api_sdk/models/{curator.py → approvetransferresponse.py} +12 -13
  51. compass_api_sdk/models/apy.py +3 -0
  52. compass_api_sdk/models/batchedsafeoperationsresponse_input.py +52 -0
  53. compass_api_sdk/models/batchedsafeoperationsresponse_output.py +52 -0
  54. compass_api_sdk/models/batcheduseroperationsrequest.py +24 -9
  55. compass_api_sdk/models/bundlertransactionresponse.py +17 -0
  56. compass_api_sdk/models/chain.py +3 -3
  57. compass_api_sdk/models/chainmarketinfo.py +29 -0
  58. compass_api_sdk/models/{compass_api_backend_models_generic_read_response_portfolio_tokenbalance.py → compass_api_backend_v1_models_generic_read_response_portfolio_tokenbalance.py} +6 -15
  59. compass_api_sdk/models/{compass_api_backend_models_morpho_read_response_check_user_position_apydata.py → compass_api_backend_v1_models_morpho_read_response_check_user_position_apydata.py} +2 -2
  60. compass_api_sdk/models/{compass_api_backend_models_morpho_read_response_check_user_position_asset.py → compass_api_backend_v1_models_morpho_read_response_check_user_position_asset.py} +2 -2
  61. compass_api_sdk/models/{compass_api_backend_models_morpho_read_response_check_user_position_marketstate.py → compass_api_backend_v1_models_morpho_read_response_check_user_position_marketstate.py} +4 -2
  62. compass_api_sdk/models/compass_api_backend_v1_models_morpho_read_response_check_user_position_vaultposition.py +30 -0
  63. compass_api_sdk/models/{compass_api_backend_models_morpho_read_response_check_user_position_vaultstate.py → compass_api_backend_v1_models_morpho_read_response_check_user_position_vaultstate.py} +2 -2
  64. compass_api_sdk/models/{compass_api_backend_models_morpho_read_response_get_market_apydata.py → compass_api_backend_v1_models_morpho_read_response_get_market_apydata.py} +2 -2
  65. compass_api_sdk/models/{compass_api_backend_models_morpho_read_response_get_vault_asset.py → compass_api_backend_v1_models_morpho_read_response_get_market_asset.py} +5 -5
  66. compass_api_sdk/models/{compass_api_backend_models_morpho_read_response_get_market_marketstate.py → compass_api_backend_v1_models_morpho_read_response_get_market_marketstate.py} +4 -2
  67. compass_api_sdk/models/{compass_api_backend_models_morpho_read_response_get_markets_asset.py → compass_api_backend_v1_models_morpho_read_response_get_markets_asset.py} +2 -2
  68. compass_api_sdk/models/{compass_api_backend_models_morpho_read_response_get_markets_marketstate.py → compass_api_backend_v1_models_morpho_read_response_get_markets_marketstate.py} +2 -2
  69. compass_api_sdk/models/{compass_api_backend_models_morpho_read_response_get_vaults_asset.py → compass_api_backend_v1_models_morpho_read_response_get_vaults_asset.py} +2 -2
  70. compass_api_sdk/models/compass_api_backend_v1_models_morpho_read_response_get_vaults_vaultstate.py +73 -0
  71. compass_api_sdk/models/compass_api_backend_v1_models_pendle_read_response_market_userposition.py +82 -0
  72. compass_api_sdk/models/{compass_api_backend_models_pendle_read_response_positions_tokenbalance.py → compass_api_backend_v1_models_pendle_read_response_positions_tokenbalance.py} +2 -2
  73. compass_api_sdk/models/compass_api_backend_v1_models_vaults_read_response_vault_userposition.py +20 -0
  74. compass_api_sdk/models/compass_api_backend_v1_models_wildcat_read_response_market_userposition.py +22 -0
  75. compass_api_sdk/models/compass_api_backend_v2_models_earn_read_response_positions_vaultposition.py +49 -0
  76. compass_api_sdk/models/compass_api_backend_v2_models_gas_sponsorship_permit_2_typed_data_eip712domain.py +36 -0
  77. compass_api_sdk/models/compass_api_backend_v2_models_gas_sponsorship_permit_2_typed_data_eip712types.py +36 -0
  78. compass_api_sdk/models/compass_api_backend_v2_models_gas_sponsorship_permit_typed_data_eip712domain.py +37 -0
  79. compass_api_sdk/models/compass_api_backend_v2_models_gas_sponsorship_permit_typed_data_eip712types.py +32 -0
  80. compass_api_sdk/models/compass_api_backend_v2_models_safe_transact_response_batched_safe_operations_eip712domain.py +29 -0
  81. compass_api_sdk/models/compass_api_backend_v2_models_safe_transact_response_batched_safe_operations_eip712types.py +34 -0
  82. compass_api_sdk/models/cooldownposition.py +35 -0
  83. compass_api_sdk/models/createaccountrequest.py +40 -0
  84. compass_api_sdk/models/createaccountresponse.py +56 -0
  85. compass_api_sdk/models/depositforburnrequest.py +77 -0
  86. compass_api_sdk/models/depositforburnresponse.py +100 -0
  87. compass_api_sdk/models/details.py +44 -7
  88. compass_api_sdk/models/earnmanageparams.py +74 -0
  89. compass_api_sdk/models/earnmanagerequest.py +130 -0
  90. compass_api_sdk/models/{compass_api_backend_models_morpho_read_response_get_market_asset.py → earnmanageresponse.py} +13 -21
  91. compass_api_sdk/models/earnpositionsresponse.py +39 -0
  92. compass_api_sdk/models/earnswapparams.py +74 -0
  93. compass_api_sdk/models/earnswaprequest.py +90 -0
  94. compass_api_sdk/models/earnswapresponse.py +55 -0
  95. compass_api_sdk/models/earntransferrequest.py +104 -0
  96. compass_api_sdk/models/earntransferresponse.py +71 -0
  97. compass_api_sdk/models/eip712domainfield.py +20 -0
  98. compass_api_sdk/models/eip712field.py +20 -0
  99. compass_api_sdk/models/ethenadepositparams.py +82 -0
  100. compass_api_sdk/models/ethenadepositrequest.py +100 -0
  101. compass_api_sdk/models/ethenagetvaultresponse.py +109 -0
  102. compass_api_sdk/models/ethenarequesttowithdrawparams.py +28 -0
  103. compass_api_sdk/models/ethenarequesttowithdrawrequest.py +46 -0
  104. compass_api_sdk/models/ethenarequesttowithdrawtransactionresponse.py +37 -0
  105. compass_api_sdk/models/ethenaunstakeparams.py +65 -0
  106. compass_api_sdk/models/ethenaunstakerequest.py +83 -0
  107. compass_api_sdk/models/fee.py +42 -0
  108. compass_api_sdk/models/listaavemarketsresponse.py +21 -0
  109. compass_api_sdk/models/marketposition.py +5 -5
  110. compass_api_sdk/models/maxsupplyapyinfo.py +34 -0
  111. compass_api_sdk/models/mintpreparecompletedresponse.py +46 -0
  112. compass_api_sdk/models/mintpreparependingresponse.py +65 -0
  113. compass_api_sdk/models/mintpreparereadyresponse.py +43 -0
  114. compass_api_sdk/models/mintpreparerequest.py +25 -0
  115. compass_api_sdk/models/morphoborrowrequest.py +9 -3
  116. compass_api_sdk/models/morphocheckuserpositionresponse.py +9 -3
  117. compass_api_sdk/models/morphodepositrequest.py +9 -3
  118. compass_api_sdk/models/morphogetmarketresponse.py +72 -31
  119. compass_api_sdk/models/morphomarket.py +26 -20
  120. compass_api_sdk/models/morphorepayrequest.py +14 -3
  121. compass_api_sdk/models/morphosupplycollateralrequest.py +14 -3
  122. compass_api_sdk/models/morphovault.py +10 -10
  123. compass_api_sdk/models/morphowithdrawcollateralrequest.py +9 -3
  124. compass_api_sdk/models/morphowithdrawrequest.py +9 -3
  125. compass_api_sdk/models/movement10percent.py +65 -10
  126. compass_api_sdk/models/multicallauthorizationrequest.py +9 -9
  127. compass_api_sdk/models/multicallexecuterequest.py +59 -11
  128. compass_api_sdk/models/odosswapparams.py +52 -0
  129. compass_api_sdk/models/odosswaprequest.py +72 -0
  130. compass_api_sdk/models/odostransactionresponse.py +37 -0
  131. compass_api_sdk/models/oneinchswapparams.py +59 -0
  132. compass_api_sdk/models/openposition.py +7 -7
  133. compass_api_sdk/models/operationtype.py +11 -0
  134. compass_api_sdk/models/pendlegetmarketresponse.py +52 -2
  135. compass_api_sdk/models/pendlemanageliquidityparams.py +68 -0
  136. compass_api_sdk/models/pendlemanageliquidityrequest.py +87 -0
  137. compass_api_sdk/models/pendleredeemyieldrequest.py +15 -6
  138. compass_api_sdk/models/pendletradeptparams.py +68 -0
  139. compass_api_sdk/models/pendletradeptrequest.py +87 -0
  140. compass_api_sdk/models/pendletradeytparams.py +68 -0
  141. compass_api_sdk/models/pendletradeytrequest.py +87 -0
  142. compass_api_sdk/models/pendletxresponse.py +36 -0
  143. compass_api_sdk/models/permit2typeddata_input.py +46 -0
  144. compass_api_sdk/models/permit2typeddata_output.py +46 -0
  145. compass_api_sdk/models/permitfield.py +20 -0
  146. compass_api_sdk/models/permitmessage.py +39 -0
  147. compass_api_sdk/models/permittransferfrommessage.py +29 -0
  148. compass_api_sdk/models/permittypeddataresponse_input.py +50 -0
  149. compass_api_sdk/models/permittypeddataresponse_output.py +50 -0
  150. compass_api_sdk/models/portfolio.py +5 -5
  151. compass_api_sdk/models/protocol.py +13 -0
  152. compass_api_sdk/models/reserve.py +6 -15
  153. compass_api_sdk/models/safetransactionparams.py +78 -0
  154. compass_api_sdk/models/safetransactionresponse.py +28 -0
  155. compass_api_sdk/models/safetxfield.py +20 -0
  156. compass_api_sdk/models/safetxmessage.py +66 -0
  157. compass_api_sdk/models/setallowanceparams.py +5 -16
  158. compass_api_sdk/models/setallowancerequest.py +19 -22
  159. compass_api_sdk/models/skybuyrequest.py +12 -9
  160. compass_api_sdk/models/skydepositrequest.py +13 -9
  161. compass_api_sdk/models/skysellrequest.py +12 -9
  162. compass_api_sdk/models/skywithdrawrequest.py +13 -9
  163. compass_api_sdk/models/sponsorgasrequest.py +71 -0
  164. compass_api_sdk/models/sponsorgasresponse.py +14 -0
  165. compass_api_sdk/models/supportedchaininfo.py +19 -0
  166. compass_api_sdk/models/tokenbalanceresponse.py +5 -15
  167. compass_api_sdk/models/tokenconfig.py +30 -0
  168. compass_api_sdk/models/tokenlistresponse.py +21 -0
  169. compass_api_sdk/models/tokenmarketdata.py +27 -0
  170. compass_api_sdk/models/tokenpermissions.py +20 -0
  171. compass_api_sdk/models/tokentransferparams.py +54 -0
  172. compass_api_sdk/models/tokentransferrequest.py +23 -27
  173. compass_api_sdk/models/transactionresponse.py +31 -0
  174. compass_api_sdk/models/{compass_api_backend_models_vaults_read_response_vault_asset.py → underlyingtoken.py} +2 -2
  175. compass_api_sdk/models/uniswapbuyexactlyparams.py +19 -41
  176. compass_api_sdk/models/uniswapbuyexactlyrequest.py +31 -44
  177. compass_api_sdk/models/uniswapbuyexactlytransactionresponse.py +37 -0
  178. compass_api_sdk/models/uniswapincreaseliquidityprovisionrequest.py +15 -6
  179. compass_api_sdk/models/uniswapmintliquidityprovisionparams.py +8 -25
  180. compass_api_sdk/models/uniswapmintliquidityprovisionrequest.py +23 -31
  181. compass_api_sdk/models/uniswappoolpriceresponse.py +8 -25
  182. compass_api_sdk/models/uniswappositionssolidityresponse.py +42 -2
  183. compass_api_sdk/models/uniswapsellexactlyparams.py +19 -41
  184. compass_api_sdk/models/uniswapsellexactlyrequest.py +31 -44
  185. compass_api_sdk/models/uniswapsellexactlytransactionresponse.py +37 -0
  186. compass_api_sdk/models/uniswapwithdrawliquidityprovisionrequest.py +15 -6
  187. compass_api_sdk/models/unsignedmulticalltransaction.py +44 -13
  188. compass_api_sdk/models/unsignedtransaction.py +44 -13
  189. compass_api_sdk/models/unwrapwethrequest.py +15 -6
  190. compass_api_sdk/models/useroperation.py +61 -49
  191. compass_api_sdk/models/useroperationresponse.py +2 -2
  192. compass_api_sdk/models/userstate.py +3 -3
  193. compass_api_sdk/models/v1_aave_aave_supported_tokensop.py +69 -0
  194. compass_api_sdk/models/v1_aave_avg_rateop.py +83 -0
  195. compass_api_sdk/models/{aave_historical_transactionsop.py → v1_aave_historical_transactionsop.py} +21 -25
  196. compass_api_sdk/models/v1_aave_liquidity_changeop.py +45 -0
  197. compass_api_sdk/models/{pendle_marketop.py → v1_aave_rateop.py} +16 -20
  198. compass_api_sdk/models/v1_aave_reserve_overviewop.py +76 -0
  199. compass_api_sdk/models/v1_aave_std_rateop.py +83 -0
  200. compass_api_sdk/models/v1_aave_token_priceop.py +76 -0
  201. compass_api_sdk/models/v1_aave_user_position_per_tokenop.py +83 -0
  202. compass_api_sdk/models/{aave_user_position_summaryop.py → v1_aave_user_position_summaryop.py} +16 -20
  203. compass_api_sdk/models/v1_aerodrome_slipstream_liquidity_provision_positionsop.py +76 -0
  204. compass_api_sdk/models/v1_aerodrome_slipstream_pool_priceop.py +45 -0
  205. compass_api_sdk/models/v1_ethena_vaultop.py +75 -0
  206. compass_api_sdk/models/{generic_allowanceop.py → v1_generic_allowanceop.py} +28 -41
  207. compass_api_sdk/models/{generic_ensop.py → v1_generic_ensop.py} +8 -14
  208. compass_api_sdk/models/{generic_portfolioop.py → v1_generic_portfolioop.py} +10 -14
  209. compass_api_sdk/models/v1_generic_supported_chainsop.py +57 -0
  210. compass_api_sdk/models/{morpho_market_positionop.py → v1_morpho_market_positionop.py} +11 -10
  211. compass_api_sdk/models/{morpho_marketop.py → v1_morpho_marketop.py} +10 -9
  212. compass_api_sdk/models/{morpho_marketsop.py → v1_morpho_marketsop.py} +13 -12
  213. compass_api_sdk/models/{morpho_user_positionop.py → v1_morpho_user_positionop.py} +10 -9
  214. compass_api_sdk/models/{vaults_vaultop.py → v1_morpho_vaultop.py} +16 -20
  215. compass_api_sdk/models/{morpho_vaultsop.py → v1_morpho_vaultsop.py} +11 -10
  216. compass_api_sdk/models/{pendle_positionop.py → v1_pendle_marketop.py} +24 -27
  217. compass_api_sdk/models/v1_pendle_marketsop.py +24 -0
  218. compass_api_sdk/models/{pendle_positionsop.py → v1_pendle_positionsop.py} +10 -14
  219. compass_api_sdk/models/v1_sky_positionop.py +29 -0
  220. compass_api_sdk/models/v1_token_balanceop.py +38 -0
  221. compass_api_sdk/models/v1_token_listop.py +24 -0
  222. compass_api_sdk/models/v1_token_priceop.py +76 -0
  223. compass_api_sdk/models/v1_transaction_bundler_aave_loopop.py +27 -0
  224. compass_api_sdk/models/{uniswap_liquidity_provision_in_rangeop.py → v1_uniswap_liquidity_provision_in_rangeop.py} +10 -14
  225. compass_api_sdk/models/{uniswap_liquidity_provision_positionsop.py → v1_uniswap_liquidity_provision_positionsop.py} +10 -14
  226. compass_api_sdk/models/v1_uniswap_pool_priceop.py +58 -0
  227. compass_api_sdk/models/v1_uniswap_quote_buy_exactlyop.py +79 -0
  228. compass_api_sdk/models/v1_uniswap_quote_sell_exactlyop.py +79 -0
  229. compass_api_sdk/models/v1_vaults_vaultop.py +84 -0
  230. compass_api_sdk/models/v1_wildcat_marketop.py +82 -0
  231. compass_api_sdk/models/v2_cctp_mintop.py +47 -0
  232. compass_api_sdk/models/v2_earn_aave_marketsop.py +57 -0
  233. compass_api_sdk/models/v2_earn_positionsop.py +56 -0
  234. compass_api_sdk/models/v2_earn_vaultsop.py +105 -0
  235. compass_api_sdk/models/v2bundlerequest.py +33 -0
  236. compass_api_sdk/models/v2bundleresponse.py +67 -0
  237. compass_api_sdk/models/v2useroperation.py +37 -0
  238. compass_api_sdk/models/vault.py +14 -14
  239. compass_api_sdk/models/vaultdepositparams.py +85 -0
  240. compass_api_sdk/models/vaultdepositrequest.py +15 -6
  241. compass_api_sdk/models/vaultgetvaultresponse.py +21 -11
  242. compass_api_sdk/models/vaultinfo.py +129 -0
  243. compass_api_sdk/models/vaultsresponse.py +30 -0
  244. compass_api_sdk/models/vaultvenue.py +27 -0
  245. compass_api_sdk/models/vaultwithdrawparams.py +75 -0
  246. compass_api_sdk/models/vaultwithdrawrequest.py +15 -6
  247. compass_api_sdk/models/wildcatgetmarketresponse.py +151 -0
  248. compass_api_sdk/models/{redeemunderlying.py → withdraw.py} +2 -2
  249. compass_api_sdk/models/wrapethrequest.py +15 -6
  250. compass_api_sdk/morpho.py +481 -816
  251. compass_api_sdk/pendle.py +495 -1384
  252. compass_api_sdk/sdk.py +39 -13
  253. compass_api_sdk/sky.py +275 -240
  254. compass_api_sdk/smart_account.py +37 -50
  255. compass_api_sdk/swap.py +248 -0
  256. compass_api_sdk/token.py +1192 -0
  257. compass_api_sdk/transaction_bundler.py +151 -184
  258. compass_api_sdk/uniswap_v3.py +531 -620
  259. compass_api_sdk/universal.py +181 -932
  260. compass_api_sdk/utils/__init__.py +18 -5
  261. compass_api_sdk/utils/annotations.py +32 -8
  262. compass_api_sdk/utils/eventstreaming.py +10 -0
  263. compass_api_sdk/utils/forms.py +21 -10
  264. compass_api_sdk/utils/queryparams.py +14 -2
  265. compass_api_sdk/utils/retries.py +69 -5
  266. compass_api_sdk/utils/serializers.py +3 -2
  267. compass_api_sdk/utils/unmarshal_json_response.py +38 -0
  268. compass_api_sdk/wildcat.py +208 -0
  269. compass_api_sdk-2.0.21rc1.dist-info/METADATA +623 -0
  270. compass_api_sdk-2.0.21rc1.dist-info/RECORD +346 -0
  271. {compass_api_sdk-0.9.35.dist-info → compass_api_sdk-2.0.21rc1.dist-info}/WHEEL +1 -1
  272. compass_api_sdk/models/aave_avg_rateop.py +0 -141
  273. compass_api_sdk/models/aave_liquidity_changeop.py +0 -103
  274. compass_api_sdk/models/aave_rateop.py +0 -134
  275. compass_api_sdk/models/aave_reserve_overviewop.py +0 -134
  276. compass_api_sdk/models/aave_std_rateop.py +0 -141
  277. compass_api_sdk/models/aave_token_priceop.py +0 -134
  278. compass_api_sdk/models/aave_user_position_per_tokenop.py +0 -141
  279. compass_api_sdk/models/aerodrome_slipstream_liquidity_provision_positionsop.py +0 -37
  280. compass_api_sdk/models/aerodrome_slipstream_pool_priceop.py +0 -159
  281. compass_api_sdk/models/aerodromeposition.py +0 -70
  282. compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_vault_vaultstate.py +0 -53
  283. compass_api_sdk/models/compass_api_backend_models_morpho_read_response_get_vaults_vaultstate.py +0 -32
  284. compass_api_sdk/models/generic_supported_tokensop.py +0 -28
  285. compass_api_sdk/models/generic_visualize_portfolioop.py +0 -37
  286. compass_api_sdk/models/image.py +0 -15
  287. compass_api_sdk/models/liquidity.py +0 -16
  288. compass_api_sdk/models/metadata.py +0 -50
  289. compass_api_sdk/models/morpho_vault_positionop.py +0 -37
  290. compass_api_sdk/models/morpho_vaultop.py +0 -30
  291. compass_api_sdk/models/morphocheckvaultpositionresponse.py +0 -20
  292. compass_api_sdk/models/morphogetvaultresponse.py +0 -86
  293. compass_api_sdk/models/pendle_marketsop.py +0 -28
  294. compass_api_sdk/models/pendleaddliquidityparams.py +0 -50
  295. compass_api_sdk/models/pendleaddliquidityrequest.py +0 -61
  296. compass_api_sdk/models/pendlebuyptparams.py +0 -48
  297. compass_api_sdk/models/pendlebuyptrequest.py +0 -59
  298. compass_api_sdk/models/pendlebuyytparams.py +0 -48
  299. compass_api_sdk/models/pendlebuyytrequest.py +0 -59
  300. compass_api_sdk/models/pendlegetuserpositionresponse.py +0 -56
  301. compass_api_sdk/models/pendleremoveliquidityparams.py +0 -50
  302. compass_api_sdk/models/pendleremoveliquidityrequest.py +0 -61
  303. compass_api_sdk/models/pendlesellptparams.py +0 -48
  304. compass_api_sdk/models/pendlesellptrequest.py +0 -61
  305. compass_api_sdk/models/pendlesellytparams.py +0 -48
  306. compass_api_sdk/models/pendlesellytrequest.py +0 -61
  307. compass_api_sdk/models/sky_positionop.py +0 -31
  308. compass_api_sdk/models/token_addressop.py +0 -89
  309. compass_api_sdk/models/token_balanceop.py +0 -55
  310. compass_api_sdk/models/token_enum.py +0 -57
  311. compass_api_sdk/models/token_priceop.py +0 -89
  312. compass_api_sdk/models/tokenaddressresponse.py +0 -15
  313. compass_api_sdk/models/tokeninfo.py +0 -17
  314. compass_api_sdk/models/tokentransfererc20params.py +0 -63
  315. compass_api_sdk/models/txresponse.py +0 -27
  316. compass_api_sdk/models/uniswap_pool_priceop.py +0 -170
  317. compass_api_sdk/models/uniswap_quote_buy_exactlyop.py +0 -191
  318. compass_api_sdk/models/uniswap_quote_sell_exactlyop.py +0 -191
  319. compass_api_sdk/models/userposition.py +0 -16
  320. compass_api_sdk/models/vaultposition.py +0 -24
  321. compass_api_sdk-0.9.35.dist-info/METADATA +0 -558
  322. compass_api_sdk-0.9.35.dist-info/RECORD +0 -260
@@ -0,0 +1,42 @@
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 enum import Enum
6
+ from typing import Optional, Union
7
+ from typing_extensions import NotRequired, TypeAliasType, TypedDict
8
+
9
+
10
+ FeeAmountTypedDict = TypeAliasType("FeeAmountTypedDict", Union[float, str])
11
+ r"""The fee amount. If `denomination` is 'PERCENTAGE', this is a percentage of the transaction amount (e.g., 1.5 for 1.5%). If `denomination` is 'FIXED', this is a fixed amount in token units (e.g., 0.1 for 0.1 tokens)."""
12
+
13
+
14
+ FeeAmount = TypeAliasType("FeeAmount", Union[float, str])
15
+ r"""The fee amount. If `denomination` is 'PERCENTAGE', this is a percentage of the transaction amount (e.g., 1.5 for 1.5%). If `denomination` is 'FIXED', this is a fixed amount in token units (e.g., 0.1 for 0.1 tokens)."""
16
+
17
+
18
+ class Denomination(str, Enum):
19
+ r"""The unit type for the fee amount. Use 'PERCENTAGE' for a percentage-based fee (e.g., 1.5 means 1.5% of the transaction amount) or 'FIXED' for a fixed token amount (e.g., 0.1 means 0.1 tokens)."""
20
+
21
+ PERCENTAGE = "PERCENTAGE"
22
+ FIXED = "FIXED"
23
+
24
+
25
+ class FeeTypedDict(TypedDict):
26
+ recipient: str
27
+ r"""The wallet address that will receive the fee."""
28
+ amount: FeeAmountTypedDict
29
+ r"""The fee amount. If `denomination` is 'PERCENTAGE', this is a percentage of the transaction amount (e.g., 1.5 for 1.5%). If `denomination` is 'FIXED', this is a fixed amount in token units (e.g., 0.1 for 0.1 tokens)."""
30
+ denomination: NotRequired[Denomination]
31
+ r"""The unit type for the fee amount. Use 'PERCENTAGE' for a percentage-based fee (e.g., 1.5 means 1.5% of the transaction amount) or 'FIXED' for a fixed token amount (e.g., 0.1 means 0.1 tokens)."""
32
+
33
+
34
+ class Fee(BaseModel):
35
+ recipient: str
36
+ r"""The wallet address that will receive the fee."""
37
+
38
+ amount: FeeAmount
39
+ r"""The fee amount. If `denomination` is 'PERCENTAGE', this is a percentage of the transaction amount (e.g., 1.5 for 1.5%). If `denomination` is 'FIXED', this is a fixed amount in token units (e.g., 0.1 for 0.1 tokens)."""
40
+
41
+ denomination: Optional[Denomination] = None
42
+ r"""The unit type for the fee amount. Use 'PERCENTAGE' for a percentage-based fee (e.g., 1.5 means 1.5% of the transaction amount) or 'FIXED' for a fixed token amount (e.g., 0.1 means 0.1 tokens)."""
@@ -0,0 +1,21 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .tokenmarketdata import TokenMarketData, TokenMarketDataTypedDict
5
+ from compass_api_sdk.types import BaseModel
6
+ from typing import Dict
7
+ from typing_extensions import TypedDict
8
+
9
+
10
+ class ListAaveMarketsResponseTypedDict(TypedDict):
11
+ r"""Response containing Aave market rates organized by token symbol."""
12
+
13
+ markets: Dict[str, TokenMarketDataTypedDict]
14
+ r"""Market data keyed by token symbol. Each token contains chain-specific data and information about which chain has the highest supply APY."""
15
+
16
+
17
+ class ListAaveMarketsResponse(BaseModel):
18
+ r"""Response containing Aave market rates organized by token symbol."""
19
+
20
+ markets: Dict[str, TokenMarketData]
21
+ r"""Market data keyed by token symbol. Each token contains chain-specific data and information about which chain has the highest supply APY."""
@@ -1,9 +1,9 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from .compass_api_backend_models_morpho_read_response_check_user_position_marketstate import (
5
- CompassAPIBackendModelsMorphoReadResponseCheckUserPositionMarketState,
6
- CompassAPIBackendModelsMorphoReadResponseCheckUserPositionMarketStateTypedDict,
4
+ from .compass_api_backend_v1_models_morpho_read_response_check_user_position_marketstate import (
5
+ CompassAPIBackendV1ModelsMorphoReadResponseCheckUserPositionMarketState,
6
+ CompassAPIBackendV1ModelsMorphoReadResponseCheckUserPositionMarketStateTypedDict,
7
7
  )
8
8
  from .market import Market, MarketTypedDict
9
9
  from compass_api_sdk.types import BaseModel, Nullable, UNSET_SENTINEL
@@ -17,7 +17,7 @@ class MarketPositionTypedDict(TypedDict):
17
17
  health_factor: Nullable[str]
18
18
  price_variation_to_liquidation_price: Nullable[str]
19
19
  state: (
20
- CompassAPIBackendModelsMorphoReadResponseCheckUserPositionMarketStateTypedDict
20
+ CompassAPIBackendV1ModelsMorphoReadResponseCheckUserPositionMarketStateTypedDict
21
21
  )
22
22
 
23
23
 
@@ -30,7 +30,7 @@ class MarketPosition(BaseModel):
30
30
  Nullable[str], pydantic.Field(alias="priceVariationToLiquidationPrice")
31
31
  ]
32
32
 
33
- state: CompassAPIBackendModelsMorphoReadResponseCheckUserPositionMarketState
33
+ state: CompassAPIBackendV1ModelsMorphoReadResponseCheckUserPositionMarketState
34
34
 
35
35
  @model_serializer(mode="wrap")
36
36
  def serialize_model(self, handler):
@@ -0,0 +1,34 @@
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 MaxSupplyApyInfoTypedDict(TypedDict):
9
+ r"""Information about the chain with the highest supply APY for a token."""
10
+
11
+ chain: str
12
+ r"""Chain name with the highest supply APY for this token."""
13
+ address: str
14
+ r"""Token contract address on the chain with highest supply APY."""
15
+ supply_apy: str
16
+ r"""The highest supply APY for this token across all chains, in percentage."""
17
+ borrow_apy: str
18
+ r"""Borrow APY on the chain with the highest supply APY, in percentage."""
19
+
20
+
21
+ class MaxSupplyApyInfo(BaseModel):
22
+ r"""Information about the chain with the highest supply APY for a token."""
23
+
24
+ chain: str
25
+ r"""Chain name with the highest supply APY for this token."""
26
+
27
+ address: str
28
+ r"""Token contract address on the chain with highest supply APY."""
29
+
30
+ supply_apy: str
31
+ r"""The highest supply APY for this token across all chains, in percentage."""
32
+
33
+ borrow_apy: str
34
+ r"""Borrow APY on the chain with the highest supply APY, in percentage."""
@@ -0,0 +1,46 @@
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 compass_api_sdk.utils import validate_const
6
+ import pydantic
7
+ from pydantic.functional_validators import AfterValidator
8
+ from typing import Literal, Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class MintPrepareCompletedResponseTypedDict(TypedDict):
13
+ r"""Response when the bridge has already been completed (minted).
14
+
15
+ This means someone has already called receiveMessage on the destination chain to
16
+ mint the USDC. No further action is required.
17
+ """
18
+
19
+ bridge_id: str
20
+ r"""The bridge identifier."""
21
+ status: Literal["completed"]
22
+ r"""Indicates the bridge has already been completed and USDC minted."""
23
+ message: NotRequired[str]
24
+ r"""Human-readable message explaining the status."""
25
+
26
+
27
+ class MintPrepareCompletedResponse(BaseModel):
28
+ r"""Response when the bridge has already been completed (minted).
29
+
30
+ This means someone has already called receiveMessage on the destination chain to
31
+ mint the USDC. No further action is required.
32
+ """
33
+
34
+ bridge_id: str
35
+ r"""The bridge identifier."""
36
+
37
+ STATUS: Annotated[
38
+ Annotated[
39
+ Optional[Literal["completed"]], AfterValidator(validate_const("completed"))
40
+ ],
41
+ pydantic.Field(alias="status"),
42
+ ] = "completed"
43
+ r"""Indicates the bridge has already been completed and USDC minted."""
44
+
45
+ message: Optional[str] = None
46
+ r"""Human-readable message explaining the status."""
@@ -0,0 +1,65 @@
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 compass_api_sdk.utils import validate_const
6
+ import pydantic
7
+ from pydantic.functional_validators import AfterValidator
8
+ from typing import Literal, Optional
9
+ from typing_extensions import Annotated, TypedDict
10
+
11
+
12
+ class MintPreparePendingResponseTypedDict(TypedDict):
13
+ r"""Response when attestation is not yet ready.
14
+
15
+ Returned with 202 Accepted status code. The client should either:
16
+ - Connect to the SSE stream for real-time updates
17
+ - Poll the status endpoint periodically
18
+ - Call /mint/prepare again after some time
19
+ """
20
+
21
+ bridge_id: str
22
+ r"""The bridge identifier."""
23
+ message_hash: str
24
+ r"""The CCTP message hash being polled for attestation."""
25
+ sse_url: str
26
+ r"""SSE endpoint URL for real-time attestation updates."""
27
+ status_url: str
28
+ r"""HTTP endpoint URL for polling bridge status."""
29
+ estimated_wait_seconds: int
30
+ r"""Estimated wait time in seconds. Fast mode is typically ~30 seconds, standard mode is 15-19 minutes."""
31
+ status: Literal["pending"]
32
+ r"""Indicates the attestation is still being awaited."""
33
+
34
+
35
+ class MintPreparePendingResponse(BaseModel):
36
+ r"""Response when attestation is not yet ready.
37
+
38
+ Returned with 202 Accepted status code. The client should either:
39
+ - Connect to the SSE stream for real-time updates
40
+ - Poll the status endpoint periodically
41
+ - Call /mint/prepare again after some time
42
+ """
43
+
44
+ bridge_id: str
45
+ r"""The bridge identifier."""
46
+
47
+ message_hash: str
48
+ r"""The CCTP message hash being polled for attestation."""
49
+
50
+ sse_url: str
51
+ r"""SSE endpoint URL for real-time attestation updates."""
52
+
53
+ status_url: str
54
+ r"""HTTP endpoint URL for polling bridge status."""
55
+
56
+ estimated_wait_seconds: int
57
+ r"""Estimated wait time in seconds. Fast mode is typically ~30 seconds, standard mode is 15-19 minutes."""
58
+
59
+ STATUS: Annotated[
60
+ Annotated[
61
+ Optional[Literal["pending"]], AfterValidator(validate_const("pending"))
62
+ ],
63
+ pydantic.Field(alias="status"),
64
+ ] = "pending"
65
+ r"""Indicates the attestation is still being awaited."""
@@ -0,0 +1,43 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .unsignedtransaction import UnsignedTransaction, UnsignedTransactionTypedDict
5
+ from compass_api_sdk.types import BaseModel
6
+ from compass_api_sdk.utils import validate_const
7
+ import pydantic
8
+ from pydantic.functional_validators import AfterValidator
9
+ from typing import Literal, Optional
10
+ from typing_extensions import Annotated, TypedDict
11
+
12
+
13
+ class MintPrepareReadyResponseTypedDict(TypedDict):
14
+ r"""Response when attestation is ready and mint transaction can be built.
15
+
16
+ Returned with 200 OK status code. Contains an unsigned transaction that calls
17
+ receiveMessage on the MessageTransmitter contract.
18
+ """
19
+
20
+ bridge_id: str
21
+ r"""The bridge identifier."""
22
+ transaction: UnsignedTransactionTypedDict
23
+ status: Literal["ready"]
24
+ r"""Indicates the attestation is ready and mint transaction is available."""
25
+
26
+
27
+ class MintPrepareReadyResponse(BaseModel):
28
+ r"""Response when attestation is ready and mint transaction can be built.
29
+
30
+ Returned with 200 OK status code. Contains an unsigned transaction that calls
31
+ receiveMessage on the MessageTransmitter contract.
32
+ """
33
+
34
+ bridge_id: str
35
+ r"""The bridge identifier."""
36
+
37
+ transaction: UnsignedTransaction
38
+
39
+ STATUS: Annotated[
40
+ Annotated[Optional[Literal["ready"]], AfterValidator(validate_const("ready"))],
41
+ pydantic.Field(alias="status"),
42
+ ] = "ready"
43
+ r"""Indicates the attestation is ready and mint transaction is available."""
@@ -0,0 +1,25 @@
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 MintPrepareRequestTypedDict(TypedDict):
9
+ bridge_id: str
10
+ r"""The bridge identifier returned from /burn endpoint. This is used to look up the bridge session."""
11
+ burn_tx_hash: str
12
+ r"""The transaction hash of the burn transaction on the source chain. This is used to find the DepositForBurn event and extract the CCTP message."""
13
+ sender: str
14
+ r"""The wallet address that will sign and send the mint transaction. This can be any wallet, the receiver of the minted USDC is not determined by this sender."""
15
+
16
+
17
+ class MintPrepareRequest(BaseModel):
18
+ bridge_id: str
19
+ r"""The bridge identifier returned from /burn endpoint. This is used to look up the bridge session."""
20
+
21
+ burn_tx_hash: str
22
+ r"""The transaction hash of the burn transaction on the source chain. This is used to find the DepositForBurn event and extract the CCTP message."""
23
+
24
+ sender: str
25
+ r"""The wallet address that will sign and send the mint transaction. This can be any wallet, the receiver of the minted USDC is not determined by this sender."""
@@ -30,8 +30,9 @@ r"""Amount of the token to borrow from the market."""
30
30
 
31
31
 
32
32
  class MorphoBorrowRequestChain(str, Enum):
33
- ETHEREUM_MAINNET = "ethereum:mainnet"
34
- BASE_MAINNET = "base:mainnet"
33
+ ARBITRUM = "arbitrum"
34
+ BASE = "base"
35
+ ETHEREUM = "ethereum"
35
36
 
36
37
 
37
38
  class MorphoBorrowRequestTypedDict(TypedDict):
@@ -47,6 +48,8 @@ class MorphoBorrowRequestTypedDict(TypedDict):
47
48
  r"""The address where the collateral is borrowed against. Defaults to sender."""
48
49
  receiver: NotRequired[Nullable[str]]
49
50
  r"""The address of the receiver of the tokens borrowed. Defaults to the transaction sender."""
51
+ estimate_gas: NotRequired[bool]
52
+ r"""Determines whether to estimate gas costs for transactions, also verifying that the transaction can be successfully executed."""
50
53
 
51
54
 
52
55
  class MorphoBorrowRequest(BaseModel):
@@ -75,9 +78,12 @@ class MorphoBorrowRequest(BaseModel):
75
78
  receiver: OptionalNullable[str] = UNSET
76
79
  r"""The address of the receiver of the tokens borrowed. Defaults to the transaction sender."""
77
80
 
81
+ estimate_gas: Optional[bool] = None
82
+ r"""Determines whether to estimate gas costs for transactions, also verifying that the transaction can be successfully executed."""
83
+
78
84
  @model_serializer(mode="wrap")
79
85
  def serialize_model(self, handler):
80
- optional_fields = ["action_type", "on_behalf_of", "receiver"]
86
+ optional_fields = ["action_type", "on_behalf_of", "receiver", "estimate_gas"]
81
87
  nullable_fields = ["on_behalf_of", "receiver"]
82
88
  null_default_fields = []
83
89
 
@@ -1,9 +1,12 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from .compass_api_backend_v1_models_morpho_read_response_check_user_position_vaultposition import (
5
+ CompassAPIBackendV1ModelsMorphoReadResponseCheckUserPositionVaultPosition,
6
+ CompassAPIBackendV1ModelsMorphoReadResponseCheckUserPositionVaultPositionTypedDict,
7
+ )
4
8
  from .marketposition import MarketPosition, MarketPositionTypedDict
5
9
  from .userstate import UserState, UserStateTypedDict
6
- from .vaultposition import VaultPosition, VaultPositionTypedDict
7
10
  from compass_api_sdk.types import BaseModel
8
11
  import pydantic
9
12
  from typing import List
@@ -12,7 +15,9 @@ from typing_extensions import Annotated, TypedDict
12
15
 
13
16
  class MorphoCheckUserPositionResponseTypedDict(TypedDict):
14
17
  state: UserStateTypedDict
15
- vault_positions: List[VaultPositionTypedDict]
18
+ vault_positions: List[
19
+ CompassAPIBackendV1ModelsMorphoReadResponseCheckUserPositionVaultPositionTypedDict
20
+ ]
16
21
  r"""A list of the user's vault positions."""
17
22
  market_positions: List[MarketPositionTypedDict]
18
23
  r"""A list of the user's market positions."""
@@ -22,7 +27,8 @@ class MorphoCheckUserPositionResponse(BaseModel):
22
27
  state: UserState
23
28
 
24
29
  vault_positions: Annotated[
25
- List[VaultPosition], pydantic.Field(alias="vaultPositions")
30
+ List[CompassAPIBackendV1ModelsMorphoReadResponseCheckUserPositionVaultPosition],
31
+ pydantic.Field(alias="vaultPositions"),
26
32
  ]
27
33
  r"""A list of the user's vault positions."""
28
34
 
@@ -30,8 +30,9 @@ r"""The amount of tokens to deposit into the vault."""
30
30
 
31
31
 
32
32
  class MorphoDepositRequestChain(str, Enum):
33
- ETHEREUM_MAINNET = "ethereum:mainnet"
34
- BASE_MAINNET = "base:mainnet"
33
+ ARBITRUM = "arbitrum"
34
+ BASE = "base"
35
+ ETHEREUM = "ethereum"
35
36
 
36
37
 
37
38
  class MorphoDepositRequestTypedDict(TypedDict):
@@ -45,6 +46,8 @@ class MorphoDepositRequestTypedDict(TypedDict):
45
46
  action_type: Literal["MORPHO_DEPOSIT"]
46
47
  receiver: NotRequired[Nullable[str]]
47
48
  r"""The address which will receive the shares from the vault representing their proportional ownership of the vault's assets. Defaults to the sender."""
49
+ estimate_gas: NotRequired[bool]
50
+ r"""Determines whether to estimate gas costs for transactions, also verifying that the transaction can be successfully executed."""
48
51
 
49
52
 
50
53
  class MorphoDepositRequest(BaseModel):
@@ -70,9 +73,12 @@ class MorphoDepositRequest(BaseModel):
70
73
  receiver: OptionalNullable[str] = UNSET
71
74
  r"""The address which will receive the shares from the vault representing their proportional ownership of the vault's assets. Defaults to the sender."""
72
75
 
76
+ estimate_gas: Optional[bool] = None
77
+ r"""Determines whether to estimate gas costs for transactions, also verifying that the transaction can be successfully executed."""
78
+
73
79
  @model_serializer(mode="wrap")
74
80
  def serialize_model(self, handler):
75
- optional_fields = ["action_type", "receiver"]
81
+ optional_fields = ["action_type", "receiver", "estimate_gas"]
76
82
  nullable_fields = ["receiver"]
77
83
  null_default_fields = []
78
84
 
@@ -1,21 +1,28 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from .compass_api_backend_models_morpho_read_response_get_market_apydata import (
5
- CompassAPIBackendModelsMorphoReadResponseGetMarketApyData,
6
- CompassAPIBackendModelsMorphoReadResponseGetMarketApyDataTypedDict,
4
+ from .compass_api_backend_v1_models_morpho_read_response_get_market_apydata import (
5
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketApyData,
6
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketApyDataTypedDict,
7
7
  )
8
- from .compass_api_backend_models_morpho_read_response_get_market_asset import (
9
- CompassAPIBackendModelsMorphoReadResponseGetMarketAsset,
10
- CompassAPIBackendModelsMorphoReadResponseGetMarketAssetTypedDict,
8
+ from .compass_api_backend_v1_models_morpho_read_response_get_market_asset import (
9
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketAsset,
10
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketAssetTypedDict,
11
11
  )
12
- from .compass_api_backend_models_morpho_read_response_get_market_marketstate import (
13
- CompassAPIBackendModelsMorphoReadResponseGetMarketMarketState,
14
- CompassAPIBackendModelsMorphoReadResponseGetMarketMarketStateTypedDict,
12
+ from .compass_api_backend_v1_models_morpho_read_response_get_market_marketstate import (
13
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketMarketState,
14
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketMarketStateTypedDict,
15
+ )
16
+ from compass_api_sdk.types import (
17
+ BaseModel,
18
+ Nullable,
19
+ OptionalNullable,
20
+ UNSET,
21
+ UNSET_SENTINEL,
15
22
  )
16
- from compass_api_sdk.types import BaseModel
17
23
  import pydantic
18
- from typing_extensions import Annotated, TypedDict
24
+ from pydantic import model_serializer
25
+ from typing_extensions import Annotated, NotRequired, TypedDict
19
26
 
20
27
 
21
28
  class MorphoGetMarketResponseTypedDict(TypedDict):
@@ -23,14 +30,17 @@ class MorphoGetMarketResponseTypedDict(TypedDict):
23
30
  r"""Whether the market is whitelisted or not."""
24
31
  lltv: str
25
32
  r"""(Liquidation Loan-To-Value) Maximum borrowing percentage before liquidation risk. Scaled by 1e18."""
26
- daily_apys: CompassAPIBackendModelsMorphoReadResponseGetMarketApyDataTypedDict
27
- weekly_apys: CompassAPIBackendModelsMorphoReadResponseGetMarketApyDataTypedDict
28
- monthly_apys: CompassAPIBackendModelsMorphoReadResponseGetMarketApyDataTypedDict
29
- yearly_apys: CompassAPIBackendModelsMorphoReadResponseGetMarketApyDataTypedDict
30
- all_time_apys: CompassAPIBackendModelsMorphoReadResponseGetMarketApyDataTypedDict
31
- collateral_asset: CompassAPIBackendModelsMorphoReadResponseGetMarketAssetTypedDict
32
- loan_asset: CompassAPIBackendModelsMorphoReadResponseGetMarketAssetTypedDict
33
- state: CompassAPIBackendModelsMorphoReadResponseGetMarketMarketStateTypedDict
33
+ daily_apys: CompassAPIBackendV1ModelsMorphoReadResponseGetMarketApyDataTypedDict
34
+ weekly_apys: CompassAPIBackendV1ModelsMorphoReadResponseGetMarketApyDataTypedDict
35
+ monthly_apys: CompassAPIBackendV1ModelsMorphoReadResponseGetMarketApyDataTypedDict
36
+ yearly_apys: CompassAPIBackendV1ModelsMorphoReadResponseGetMarketApyDataTypedDict
37
+ all_time_apys: CompassAPIBackendV1ModelsMorphoReadResponseGetMarketApyDataTypedDict
38
+ loan_asset: CompassAPIBackendV1ModelsMorphoReadResponseGetMarketAssetTypedDict
39
+ state: CompassAPIBackendV1ModelsMorphoReadResponseGetMarketMarketStateTypedDict
40
+ collateral_asset: NotRequired[
41
+ Nullable[CompassAPIBackendV1ModelsMorphoReadResponseGetMarketAssetTypedDict]
42
+ ]
43
+ r"""Data of the underlying collateral asset of the market."""
34
44
 
35
45
 
36
46
  class MorphoGetMarketResponse(BaseModel):
@@ -41,38 +51,69 @@ class MorphoGetMarketResponse(BaseModel):
41
51
  r"""(Liquidation Loan-To-Value) Maximum borrowing percentage before liquidation risk. Scaled by 1e18."""
42
52
 
43
53
  daily_apys: Annotated[
44
- CompassAPIBackendModelsMorphoReadResponseGetMarketApyData,
54
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketApyData,
45
55
  pydantic.Field(alias="dailyApys"),
46
56
  ]
47
57
 
48
58
  weekly_apys: Annotated[
49
- CompassAPIBackendModelsMorphoReadResponseGetMarketApyData,
59
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketApyData,
50
60
  pydantic.Field(alias="weeklyApys"),
51
61
  ]
52
62
 
53
63
  monthly_apys: Annotated[
54
- CompassAPIBackendModelsMorphoReadResponseGetMarketApyData,
64
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketApyData,
55
65
  pydantic.Field(alias="monthlyApys"),
56
66
  ]
57
67
 
58
68
  yearly_apys: Annotated[
59
- CompassAPIBackendModelsMorphoReadResponseGetMarketApyData,
69
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketApyData,
60
70
  pydantic.Field(alias="yearlyApys"),
61
71
  ]
62
72
 
63
73
  all_time_apys: Annotated[
64
- CompassAPIBackendModelsMorphoReadResponseGetMarketApyData,
74
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketApyData,
65
75
  pydantic.Field(alias="allTimeApys"),
66
76
  ]
67
77
 
68
- collateral_asset: Annotated[
69
- CompassAPIBackendModelsMorphoReadResponseGetMarketAsset,
70
- pydantic.Field(alias="collateralAsset"),
71
- ]
72
-
73
78
  loan_asset: Annotated[
74
- CompassAPIBackendModelsMorphoReadResponseGetMarketAsset,
79
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketAsset,
75
80
  pydantic.Field(alias="loanAsset"),
76
81
  ]
77
82
 
78
- state: CompassAPIBackendModelsMorphoReadResponseGetMarketMarketState
83
+ state: CompassAPIBackendV1ModelsMorphoReadResponseGetMarketMarketState
84
+
85
+ collateral_asset: Annotated[
86
+ OptionalNullable[CompassAPIBackendV1ModelsMorphoReadResponseGetMarketAsset],
87
+ pydantic.Field(alias="collateralAsset"),
88
+ ] = UNSET
89
+ r"""Data of the underlying collateral asset of the market."""
90
+
91
+ @model_serializer(mode="wrap")
92
+ def serialize_model(self, handler):
93
+ optional_fields = ["collateralAsset"]
94
+ nullable_fields = ["collateralAsset"]
95
+ null_default_fields = []
96
+
97
+ serialized = handler(self)
98
+
99
+ m = {}
100
+
101
+ for n, f in type(self).model_fields.items():
102
+ k = f.alias or n
103
+ val = serialized.get(k)
104
+ serialized.pop(k, None)
105
+
106
+ optional_nullable = k in optional_fields and k in nullable_fields
107
+ is_set = (
108
+ self.__pydantic_fields_set__.intersection({n})
109
+ or k in null_default_fields
110
+ ) # pylint: disable=no-member
111
+
112
+ if val is not None and val != UNSET_SENTINEL:
113
+ m[k] = val
114
+ elif val != UNSET_SENTINEL and (
115
+ not k in optional_fields or (optional_nullable and is_set)
116
+ ):
117
+ m[k] = val
118
+
119
+ return m
@@ -1,19 +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_backend_models_morpho_read_response_get_markets_asset import (
5
- CompassAPIBackendModelsMorphoReadResponseGetMarketsAsset,
6
- CompassAPIBackendModelsMorphoReadResponseGetMarketsAssetTypedDict,
4
+ from .compass_api_backend_v1_models_morpho_read_response_get_markets_asset import (
5
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketsAsset,
6
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketsAssetTypedDict,
7
7
  )
8
- from .compass_api_backend_models_morpho_read_response_get_markets_marketstate import (
9
- CompassAPIBackendModelsMorphoReadResponseGetMarketsMarketState,
10
- CompassAPIBackendModelsMorphoReadResponseGetMarketsMarketStateTypedDict,
8
+ from .compass_api_backend_v1_models_morpho_read_response_get_markets_marketstate import (
9
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketsMarketState,
10
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketsMarketStateTypedDict,
11
11
  )
12
12
  from .weeklyapys import WeeklyApys, WeeklyApysTypedDict
13
- from compass_api_sdk.types import BaseModel, Nullable, UNSET_SENTINEL
13
+ from compass_api_sdk.types import (
14
+ BaseModel,
15
+ Nullable,
16
+ OptionalNullable,
17
+ UNSET,
18
+ UNSET_SENTINEL,
19
+ )
14
20
  import pydantic
15
21
  from pydantic import model_serializer
16
- from typing_extensions import Annotated, TypedDict
22
+ from typing_extensions import Annotated, NotRequired, TypedDict
17
23
 
18
24
 
19
25
  class MorphoMarketTypedDict(TypedDict):
@@ -21,12 +27,12 @@ class MorphoMarketTypedDict(TypedDict):
21
27
  lltv: int
22
28
  oracle_address: str
23
29
  irm_address: str
24
- state: CompassAPIBackendModelsMorphoReadResponseGetMarketsMarketStateTypedDict
30
+ state: CompassAPIBackendV1ModelsMorphoReadResponseGetMarketsMarketStateTypedDict
25
31
  weekly_apys: WeeklyApysTypedDict
26
- collateral_asset: Nullable[
27
- CompassAPIBackendModelsMorphoReadResponseGetMarketsAssetTypedDict
32
+ loan_asset: CompassAPIBackendV1ModelsMorphoReadResponseGetMarketsAssetTypedDict
33
+ collateral_asset: NotRequired[
34
+ Nullable[CompassAPIBackendV1ModelsMorphoReadResponseGetMarketsAssetTypedDict]
28
35
  ]
29
- loan_asset: CompassAPIBackendModelsMorphoReadResponseGetMarketsAssetTypedDict
30
36
 
31
37
 
32
38
  class MorphoMarket(BaseModel):
@@ -38,23 +44,23 @@ class MorphoMarket(BaseModel):
38
44
 
39
45
  irm_address: Annotated[str, pydantic.Field(alias="irmAddress")]
40
46
 
41
- state: CompassAPIBackendModelsMorphoReadResponseGetMarketsMarketState
47
+ state: CompassAPIBackendV1ModelsMorphoReadResponseGetMarketsMarketState
42
48
 
43
49
  weekly_apys: Annotated[WeeklyApys, pydantic.Field(alias="weeklyApys")]
44
50
 
45
- collateral_asset: Annotated[
46
- Nullable[CompassAPIBackendModelsMorphoReadResponseGetMarketsAsset],
47
- pydantic.Field(alias="collateralAsset"),
48
- ]
49
-
50
51
  loan_asset: Annotated[
51
- CompassAPIBackendModelsMorphoReadResponseGetMarketsAsset,
52
+ CompassAPIBackendV1ModelsMorphoReadResponseGetMarketsAsset,
52
53
  pydantic.Field(alias="loanAsset"),
53
54
  ]
54
55
 
56
+ collateral_asset: Annotated[
57
+ OptionalNullable[CompassAPIBackendV1ModelsMorphoReadResponseGetMarketsAsset],
58
+ pydantic.Field(alias="collateralAsset"),
59
+ ] = UNSET
60
+
55
61
  @model_serializer(mode="wrap")
56
62
  def serialize_model(self, handler):
57
- optional_fields = []
63
+ optional_fields = ["collateralAsset"]
58
64
  nullable_fields = ["collateralAsset"]
59
65
  null_default_fields = []
60
66