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,22 @@
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 CompassAPIBackendV1ModelsWildcatReadResponseMarketUserPositionTypedDict(
9
+ TypedDict
10
+ ):
11
+ market_token_balance: str
12
+ r"""The quantity of market share tokens the user holds."""
13
+ underlying_token_balance: str
14
+ r"""The total current value of the user's market tokens, denominated in the underlying asset."""
15
+
16
+
17
+ class CompassAPIBackendV1ModelsWildcatReadResponseMarketUserPosition(BaseModel):
18
+ market_token_balance: str
19
+ r"""The quantity of market share tokens the user holds."""
20
+
21
+ underlying_token_balance: str
22
+ r"""The total current value of the user's market tokens, denominated in the underlying asset."""
@@ -0,0 +1,49 @@
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
9
+ from typing_extensions import Annotated, TypedDict
10
+
11
+
12
+ class CompassAPIBackendV2ModelsEarnReadResponsePositionsVaultPositionTypedDict(
13
+ TypedDict
14
+ ):
15
+ id: str
16
+ r"""Base64-encoded position identifier."""
17
+ vault_address: str
18
+ r"""The vault address you are depositing to."""
19
+ amount_in_underlying_token: str
20
+ r"""The user's position value denominated in the underlying token."""
21
+ token_name: str
22
+ r"""Symbol of the underlying token (e.g., USDC)."""
23
+ vault_name: str
24
+ r"""Name of the vault token (share token)."""
25
+ type: Literal["VAULT"]
26
+ r"""The market type discriminator."""
27
+
28
+
29
+ class CompassAPIBackendV2ModelsEarnReadResponsePositionsVaultPosition(BaseModel):
30
+ id: str
31
+ r"""Base64-encoded position identifier."""
32
+
33
+ vault_address: str
34
+ r"""The vault address you are depositing to."""
35
+
36
+ amount_in_underlying_token: str
37
+ r"""The user's position value denominated in the underlying token."""
38
+
39
+ token_name: str
40
+ r"""Symbol of the underlying token (e.g., USDC)."""
41
+
42
+ vault_name: str
43
+ r"""Name of the vault token (share token)."""
44
+
45
+ TYPE: Annotated[
46
+ Annotated[Literal["VAULT"], AfterValidator(validate_const("VAULT"))],
47
+ pydantic.Field(alias="type"),
48
+ ] = "VAULT"
49
+ r"""The market type discriminator."""
@@ -0,0 +1,36 @@
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 CompassAPIBackendV2ModelsGasSponsorshipPermit2TypedDataEip712DomainTypedDict(
13
+ TypedDict
14
+ ):
15
+ chain_id: int
16
+ r"""EVM chain ID"""
17
+ verifying_contract: str
18
+ r"""Permit2 contract address"""
19
+ name: Literal["Permit2"]
20
+ r"""Must be 'Permit2'"""
21
+
22
+
23
+ class CompassAPIBackendV2ModelsGasSponsorshipPermit2TypedDataEip712Domain(BaseModel):
24
+ chain_id: Annotated[int, pydantic.Field(alias="chainId")]
25
+ r"""EVM chain ID"""
26
+
27
+ verifying_contract: Annotated[str, pydantic.Field(alias="verifyingContract")]
28
+ r"""Permit2 contract address"""
29
+
30
+ NAME: Annotated[
31
+ Annotated[
32
+ Optional[Literal["Permit2"]], AfterValidator(validate_const("Permit2"))
33
+ ],
34
+ pydantic.Field(alias="name"),
35
+ ] = "Permit2"
36
+ r"""Must be 'Permit2'"""
@@ -0,0 +1,36 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .eip712field import Eip712Field, Eip712FieldTypedDict
5
+ from compass_api_sdk.types import BaseModel
6
+ import pydantic
7
+ from typing import List, Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class CompassAPIBackendV2ModelsGasSponsorshipPermit2TypedDataEip712TypesTypedDict(
12
+ TypedDict
13
+ ):
14
+ eip712_domain: NotRequired[List[Eip712FieldTypedDict]]
15
+ r"""Standard EIP-712 domain type"""
16
+ token_permissions: NotRequired[List[Eip712FieldTypedDict]]
17
+ r"""TokenPermissions struct"""
18
+ permit_transfer_from: NotRequired[List[Eip712FieldTypedDict]]
19
+ r"""Main permit message type"""
20
+
21
+
22
+ class CompassAPIBackendV2ModelsGasSponsorshipPermit2TypedDataEip712Types(BaseModel):
23
+ eip712_domain: Annotated[
24
+ Optional[List[Eip712Field]], pydantic.Field(alias="EIP712Domain")
25
+ ] = None
26
+ r"""Standard EIP-712 domain type"""
27
+
28
+ token_permissions: Annotated[
29
+ Optional[List[Eip712Field]], pydantic.Field(alias="TokenPermissions")
30
+ ] = None
31
+ r"""TokenPermissions struct"""
32
+
33
+ permit_transfer_from: Annotated[
34
+ Optional[List[Eip712Field]], pydantic.Field(alias="PermitTransferFrom")
35
+ ] = None
36
+ r"""Main permit message type"""
@@ -0,0 +1,37 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from compass_api_sdk.types import BaseModel
5
+ import pydantic
6
+ from typing_extensions import Annotated, TypedDict
7
+
8
+
9
+ class CompassAPIBackendV2ModelsGasSponsorshipPermitTypedDataEip712DomainTypedDict(
10
+ TypedDict
11
+ ):
12
+ r"""The EIP-712 domain separator for ERC-20 Permit."""
13
+
14
+ name: str
15
+ r"""Token name"""
16
+ version: str
17
+ r"""Token version (usually '1' or '2')"""
18
+ chain_id: int
19
+ r"""Chain ID"""
20
+ verifying_contract: str
21
+ r"""Token contract address"""
22
+
23
+
24
+ class CompassAPIBackendV2ModelsGasSponsorshipPermitTypedDataEip712Domain(BaseModel):
25
+ r"""The EIP-712 domain separator for ERC-20 Permit."""
26
+
27
+ name: str
28
+ r"""Token name"""
29
+
30
+ version: str
31
+ r"""Token version (usually '1' or '2')"""
32
+
33
+ chain_id: Annotated[int, pydantic.Field(alias="chainId")]
34
+ r"""Chain ID"""
35
+
36
+ verifying_contract: Annotated[str, pydantic.Field(alias="verifyingContract")]
37
+ r"""Token contract address"""
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .eip712domainfield import Eip712DomainField, Eip712DomainFieldTypedDict
5
+ from .permitfield import PermitField, PermitFieldTypedDict
6
+ from compass_api_sdk.types import BaseModel
7
+ import pydantic
8
+ from typing import List
9
+ from typing_extensions import Annotated, TypedDict
10
+
11
+
12
+ class CompassAPIBackendV2ModelsGasSponsorshipPermitTypedDataEip712TypesTypedDict(
13
+ TypedDict
14
+ ):
15
+ r"""The type definitions for EIP-712 structured data (ERC-20 Permit)."""
16
+
17
+ eip712_domain: List[Eip712DomainFieldTypedDict]
18
+ r"""EIP712Domain type definition"""
19
+ permit: List[PermitFieldTypedDict]
20
+ r"""Permit type definition"""
21
+
22
+
23
+ class CompassAPIBackendV2ModelsGasSponsorshipPermitTypedDataEip712Types(BaseModel):
24
+ r"""The type definitions for EIP-712 structured data (ERC-20 Permit)."""
25
+
26
+ eip712_domain: Annotated[
27
+ List[Eip712DomainField], pydantic.Field(alias="EIP712Domain")
28
+ ]
29
+ r"""EIP712Domain type definition"""
30
+
31
+ permit: Annotated[List[PermitField], pydantic.Field(alias="Permit")]
32
+ r"""Permit type definition"""
@@ -0,0 +1,29 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from compass_api_sdk.types import BaseModel
5
+ import pydantic
6
+ from typing_extensions import Annotated, TypedDict
7
+
8
+
9
+ class CompassAPIBackendV2ModelsSafeTransactResponseBatchedSafeOperationsEip712DomainTypedDict(
10
+ TypedDict
11
+ ):
12
+ r"""The EIP-712 domain separator for Safe transactions."""
13
+
14
+ chain_id: int
15
+ r"""Chain ID for the Safe transaction"""
16
+ verifying_contract: str
17
+ r"""Address of the Safe contract"""
18
+
19
+
20
+ class CompassAPIBackendV2ModelsSafeTransactResponseBatchedSafeOperationsEip712Domain(
21
+ BaseModel
22
+ ):
23
+ r"""The EIP-712 domain separator for Safe transactions."""
24
+
25
+ chain_id: Annotated[int, pydantic.Field(alias="chainId")]
26
+ r"""Chain ID for the Safe transaction"""
27
+
28
+ verifying_contract: Annotated[str, pydantic.Field(alias="verifyingContract")]
29
+ r"""Address of the Safe contract"""
@@ -0,0 +1,34 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .eip712domainfield import Eip712DomainField, Eip712DomainFieldTypedDict
5
+ from .safetxfield import SafeTxField, SafeTxFieldTypedDict
6
+ from compass_api_sdk.types import BaseModel
7
+ import pydantic
8
+ from typing import List
9
+ from typing_extensions import Annotated, TypedDict
10
+
11
+
12
+ class CompassAPIBackendV2ModelsSafeTransactResponseBatchedSafeOperationsEip712TypesTypedDict(
13
+ TypedDict
14
+ ):
15
+ r"""The type definitions for EIP-712 structured data."""
16
+
17
+ eip712_domain: List[Eip712DomainFieldTypedDict]
18
+ r"""EIP712Domain type definition"""
19
+ safe_tx: List[SafeTxFieldTypedDict]
20
+ r"""SafeTx type definition"""
21
+
22
+
23
+ class CompassAPIBackendV2ModelsSafeTransactResponseBatchedSafeOperationsEip712Types(
24
+ BaseModel
25
+ ):
26
+ r"""The type definitions for EIP-712 structured data."""
27
+
28
+ eip712_domain: Annotated[
29
+ List[Eip712DomainField], pydantic.Field(alias="EIP712Domain")
30
+ ]
31
+ r"""EIP712Domain type definition"""
32
+
33
+ safe_tx: Annotated[List[SafeTxField], pydantic.Field(alias="SafeTx")]
34
+ r"""SafeTx type definition"""
@@ -0,0 +1,35 @@
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 datetime import datetime
6
+ from typing import Union
7
+ from typing_extensions import TypeAliasType, TypedDict
8
+
9
+
10
+ CooldownEndTypedDict = TypeAliasType("CooldownEndTypedDict", Union[datetime, bool])
11
+ r"""When the cooldown period ends. ISO 8601 format. UTC timezone."""
12
+
13
+
14
+ CooldownEnd = TypeAliasType("CooldownEnd", Union[datetime, bool])
15
+ r"""When the cooldown period ends. ISO 8601 format. UTC timezone."""
16
+
17
+
18
+ class CooldownPositionTypedDict(TypedDict):
19
+ amount_in_underlying_asset: str
20
+ r"""The amount of USDe currently in a cooldown period."""
21
+ cooldown_end: CooldownEndTypedDict
22
+ r"""When the cooldown period ends. ISO 8601 format. UTC timezone."""
23
+ can_be_withdrawn: bool
24
+ r"""Whether the USDe in cooldown can be withdrawn at this moment."""
25
+
26
+
27
+ class CooldownPosition(BaseModel):
28
+ amount_in_underlying_asset: str
29
+ r"""The amount of USDe currently in a cooldown period."""
30
+
31
+ cooldown_end: CooldownEnd
32
+ r"""When the cooldown period ends. ISO 8601 format. UTC timezone."""
33
+
34
+ can_be_withdrawn: bool
35
+ r"""Whether the USDe in cooldown can be withdrawn at this moment."""
@@ -0,0 +1,40 @@
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
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ class CreateAccountRequestChain(str, Enum):
11
+ ARBITRUM = "arbitrum"
12
+ BASE = "base"
13
+ ETHEREUM = "ethereum"
14
+
15
+
16
+ class CreateAccountRequestTypedDict(TypedDict):
17
+ r"""Request to create a compass account."""
18
+
19
+ chain: CreateAccountRequestChain
20
+ sender: str
21
+ r"""The address of the transaction sender."""
22
+ owner: str
23
+ r"""The address that will own and control the compass account"""
24
+ estimate_gas: NotRequired[bool]
25
+ r"""Determines whether to estimate gas costs for transactions, also verifying that the transaction can be successfully executed."""
26
+
27
+
28
+ class CreateAccountRequest(BaseModel):
29
+ r"""Request to create a compass account."""
30
+
31
+ chain: CreateAccountRequestChain
32
+
33
+ sender: str
34
+ r"""The address of the transaction sender."""
35
+
36
+ owner: str
37
+ r"""The address that will own and control the compass account"""
38
+
39
+ estimate_gas: Optional[bool] = None
40
+ r"""Determines whether to estimate gas costs for transactions, also verifying that the transaction can be successfully executed."""
@@ -0,0 +1,56 @@
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, Nullable, UNSET_SENTINEL
6
+ from pydantic import model_serializer
7
+ from typing_extensions import TypedDict
8
+
9
+
10
+ class CreateAccountResponseTypedDict(TypedDict):
11
+ r"""Response containing unsigned transaction to create compass Earn account."""
12
+
13
+ transaction: Nullable[UnsignedTransactionTypedDict]
14
+ r"""Transaction to create compass account"""
15
+ earn_account_address: str
16
+ r"""Predicted address of the compass earn account that will be deployed"""
17
+
18
+
19
+ class CreateAccountResponse(BaseModel):
20
+ r"""Response containing unsigned transaction to create compass Earn account."""
21
+
22
+ transaction: Nullable[UnsignedTransaction]
23
+ r"""Transaction to create compass account"""
24
+
25
+ earn_account_address: str
26
+ r"""Predicted address of the compass earn account that will be deployed"""
27
+
28
+ @model_serializer(mode="wrap")
29
+ def serialize_model(self, handler):
30
+ optional_fields = []
31
+ nullable_fields = ["transaction"]
32
+ null_default_fields = []
33
+
34
+ serialized = handler(self)
35
+
36
+ m = {}
37
+
38
+ for n, f in type(self).model_fields.items():
39
+ k = f.alias or n
40
+ val = serialized.get(k)
41
+ serialized.pop(k, None)
42
+
43
+ optional_nullable = k in optional_fields and k in nullable_fields
44
+ is_set = (
45
+ self.__pydantic_fields_set__.intersection({n})
46
+ or k in null_default_fields
47
+ ) # pylint: disable=no-member
48
+
49
+ if val is not None and val != UNSET_SENTINEL:
50
+ m[k] = val
51
+ elif val != UNSET_SENTINEL and (
52
+ not k in optional_fields or (optional_nullable and is_set)
53
+ ):
54
+ m[k] = val
55
+
56
+ return m
@@ -0,0 +1,77 @@
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
+ class DepositForBurnRequestChain(str, Enum):
11
+ r"""The source chain where USDC will be burned."""
12
+
13
+ ETHEREUM = "ethereum"
14
+ ARBITRUM = "arbitrum"
15
+ BASE = "base"
16
+
17
+
18
+ DepositForBurnRequestAmountTypedDict = TypeAliasType(
19
+ "DepositForBurnRequestAmountTypedDict", Union[float, str]
20
+ )
21
+ r"""The amount of USDC to bridge (in token units, e.g., 100.5 for 100.5 USDC)."""
22
+
23
+
24
+ DepositForBurnRequestAmount = TypeAliasType(
25
+ "DepositForBurnRequestAmount", Union[float, str]
26
+ )
27
+ r"""The amount of USDC to bridge (in token units, e.g., 100.5 for 100.5 USDC)."""
28
+
29
+
30
+ class DestinationChain(str, Enum):
31
+ r"""The destination chain where USDC will be minted."""
32
+
33
+ ETHEREUM = "ethereum"
34
+ ARBITRUM = "arbitrum"
35
+ BASE = "base"
36
+
37
+
38
+ class DepositForBurnRequestTransferMode(str, Enum):
39
+ r"""Transfer speed mode. 'fast': ~30 second transfers using confirmed finality (requires a small fee taken from transfer amount). 'standard': ~15-19 minute transfers using full finality (free, no fee). Default is 'standard'."""
40
+
41
+ FAST = "fast"
42
+ STANDARD = "standard"
43
+
44
+
45
+ class DepositForBurnRequestTypedDict(TypedDict):
46
+ owner: str
47
+ r"""The primary wallet address that owns and controls the Product Account."""
48
+ chain: DepositForBurnRequestChain
49
+ r"""The source chain where USDC will be burned."""
50
+ amount: DepositForBurnRequestAmountTypedDict
51
+ r"""The amount of USDC to bridge (in token units, e.g., 100.5 for 100.5 USDC)."""
52
+ destination_chain: DestinationChain
53
+ r"""The destination chain where USDC will be minted."""
54
+ gas_sponsorship: NotRequired[bool]
55
+ r"""Optionally request gas sponsorship. If set to `true`, EIP-712 typed data will be returned that must be signed by the `owner` and submitted to the 'Prepare gas-sponsored transaction' endpoint (`/gas_sponsorship/prepare`)."""
56
+ transfer_mode: NotRequired[DepositForBurnRequestTransferMode]
57
+ r"""Transfer speed mode. 'fast': ~30 second transfers using confirmed finality (requires a small fee taken from transfer amount). 'standard': ~15-19 minute transfers using full finality (free, no fee). Default is 'standard'."""
58
+
59
+
60
+ class DepositForBurnRequest(BaseModel):
61
+ owner: str
62
+ r"""The primary wallet address that owns and controls the Product Account."""
63
+
64
+ chain: DepositForBurnRequestChain
65
+ r"""The source chain where USDC will be burned."""
66
+
67
+ amount: DepositForBurnRequestAmount
68
+ r"""The amount of USDC to bridge (in token units, e.g., 100.5 for 100.5 USDC)."""
69
+
70
+ destination_chain: DestinationChain
71
+ r"""The destination chain where USDC will be minted."""
72
+
73
+ gas_sponsorship: Optional[bool] = None
74
+ r"""Optionally request gas sponsorship. If set to `true`, EIP-712 typed data will be returned that must be signed by the `owner` and submitted to the 'Prepare gas-sponsored transaction' endpoint (`/gas_sponsorship/prepare`)."""
75
+
76
+ transfer_mode: Optional[DepositForBurnRequestTransferMode] = None
77
+ r"""Transfer speed mode. 'fast': ~30 second transfers using confirmed finality (requires a small fee taken from transfer amount). 'standard': ~15-19 minute transfers using full finality (free, no fee). Default is 'standard'."""
@@ -0,0 +1,100 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .batchedsafeoperationsresponse_output import (
5
+ BatchedSafeOperationsResponseOutput,
6
+ BatchedSafeOperationsResponseOutputTypedDict,
7
+ )
8
+ from .unsignedtransaction import UnsignedTransaction, UnsignedTransactionTypedDict
9
+ from compass_api_sdk.types import (
10
+ BaseModel,
11
+ Nullable,
12
+ OptionalNullable,
13
+ UNSET,
14
+ UNSET_SENTINEL,
15
+ )
16
+ from enum import Enum
17
+ from pydantic import model_serializer
18
+ from typing_extensions import NotRequired, TypedDict
19
+
20
+
21
+ class DepositForBurnResponseTransferMode(str, Enum):
22
+ r"""The transfer speed mode used. 'fast' uses confirmed finality (~30s), 'standard' uses full finality (~15-19 min)."""
23
+
24
+ FAST = "fast"
25
+ STANDARD = "standard"
26
+
27
+
28
+ class DepositForBurnResponseTypedDict(TypedDict):
29
+ r"""Response model for CCTP depositForBurn transaction from a smart account.
30
+
31
+ Contains either an unsigned transaction for direct submission or EIP-712 typed data
32
+ for gas-sponsored transactions. Also includes a bridge_id for tracking the cross-
33
+ chain transfer.
34
+ """
35
+
36
+ transaction: Nullable[UnsignedTransactionTypedDict]
37
+ eip_712: Nullable[BatchedSafeOperationsResponseOutputTypedDict]
38
+ transfer_mode: DepositForBurnResponseTransferMode
39
+ r"""The transfer speed mode used. 'fast' uses confirmed finality (~30s), 'standard' uses full finality (~15-19 min)."""
40
+ estimated_time_seconds: int
41
+ r"""Estimated time to complete the bridge in seconds."""
42
+ bridge_id: NotRequired[Nullable[str]]
43
+ r"""Unique bridge identifier for tracking this cross-chain transfer. Use this ID when calling /mint/prepare to complete the transfer. Only present when Redis is configured on the server."""
44
+ fee: NotRequired[Nullable[str]]
45
+ r"""Fee amount in USDC charged for this transfer. Only present for fast mode. Standard mode transfers are free (fee is None or 0)."""
46
+
47
+
48
+ class DepositForBurnResponse(BaseModel):
49
+ r"""Response model for CCTP depositForBurn transaction from a smart account.
50
+
51
+ Contains either an unsigned transaction for direct submission or EIP-712 typed data
52
+ for gas-sponsored transactions. Also includes a bridge_id for tracking the cross-
53
+ chain transfer.
54
+ """
55
+
56
+ transaction: Nullable[UnsignedTransaction]
57
+
58
+ eip_712: Nullable[BatchedSafeOperationsResponseOutput]
59
+
60
+ transfer_mode: DepositForBurnResponseTransferMode
61
+ r"""The transfer speed mode used. 'fast' uses confirmed finality (~30s), 'standard' uses full finality (~15-19 min)."""
62
+
63
+ estimated_time_seconds: int
64
+ r"""Estimated time to complete the bridge in seconds."""
65
+
66
+ bridge_id: OptionalNullable[str] = UNSET
67
+ r"""Unique bridge identifier for tracking this cross-chain transfer. Use this ID when calling /mint/prepare to complete the transfer. Only present when Redis is configured on the server."""
68
+
69
+ fee: OptionalNullable[str] = UNSET
70
+ r"""Fee amount in USDC charged for this transfer. Only present for fast mode. Standard mode transfers are free (fee is None or 0)."""
71
+
72
+ @model_serializer(mode="wrap")
73
+ def serialize_model(self, handler):
74
+ optional_fields = ["bridge_id", "fee"]
75
+ nullable_fields = ["bridge_id", "transaction", "eip_712", "fee"]
76
+ null_default_fields = []
77
+
78
+ serialized = handler(self)
79
+
80
+ m = {}
81
+
82
+ for n, f in type(self).model_fields.items():
83
+ k = f.alias or n
84
+ val = serialized.get(k)
85
+ serialized.pop(k, None)
86
+
87
+ optional_nullable = k in optional_fields and k in nullable_fields
88
+ is_set = (
89
+ self.__pydantic_fields_set__.intersection({n})
90
+ or k in null_default_fields
91
+ ) # pylint: disable=no-member
92
+
93
+ if val is not None and val != UNSET_SENTINEL:
94
+ m[k] = val
95
+ elif val != UNSET_SENTINEL and (
96
+ not k in optional_fields or (optional_nullable and is_set)
97
+ ):
98
+ m[k] = val
99
+
100
+ return m
@@ -3,9 +3,16 @@
3
3
  from __future__ import annotations
4
4
  from .movement10percent import Movement10Percent, Movement10PercentTypedDict
5
5
  from .yieldrange import YieldRange, YieldRangeTypedDict
6
- from compass_api_sdk.types import BaseModel
6
+ from compass_api_sdk.types import (
7
+ BaseModel,
8
+ Nullable,
9
+ OptionalNullable,
10
+ UNSET,
11
+ UNSET_SENTINEL,
12
+ )
7
13
  import pydantic
8
- from typing_extensions import Annotated, TypedDict
14
+ from pydantic import model_serializer
15
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
16
 
10
17
 
11
18
  class DetailsTypedDict(TypedDict):
@@ -13,10 +20,10 @@ class DetailsTypedDict(TypedDict):
13
20
  pendle_apy: float
14
21
  implied_apy: float
15
22
  fee_rate: float
16
- movement10_percent: Movement10PercentTypedDict
17
23
  yield_range: YieldRangeTypedDict
18
24
  aggregated_apy: float
19
25
  max_boosted_apy: float
26
+ movement10_percent: NotRequired[Nullable[Movement10PercentTypedDict]]
20
27
 
21
28
 
22
29
  class Details(BaseModel):
@@ -28,12 +35,42 @@ class Details(BaseModel):
28
35
 
29
36
  fee_rate: Annotated[float, pydantic.Field(alias="feeRate")]
30
37
 
31
- movement10_percent: Annotated[
32
- Movement10Percent, pydantic.Field(alias="movement10Percent")
33
- ]
34
-
35
38
  yield_range: Annotated[YieldRange, pydantic.Field(alias="yieldRange")]
36
39
 
37
40
  aggregated_apy: Annotated[float, pydantic.Field(alias="aggregatedApy")]
38
41
 
39
42
  max_boosted_apy: Annotated[float, pydantic.Field(alias="maxBoostedApy")]
43
+
44
+ movement10_percent: Annotated[
45
+ OptionalNullable[Movement10Percent], pydantic.Field(alias="movement10Percent")
46
+ ] = UNSET
47
+
48
+ @model_serializer(mode="wrap")
49
+ def serialize_model(self, handler):
50
+ optional_fields = ["movement10Percent"]
51
+ nullable_fields = ["movement10Percent"]
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