compass_api_sdk 1.1.1__py3-none-any.whl → 2.2.1rc3__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 (263) 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 +386 -114
  5. compass_api_sdk/aerodrome_slipstream.py +104 -54
  6. compass_api_sdk/basesdk.py +6 -0
  7. compass_api_sdk/bridge.py +536 -0
  8. compass_api_sdk/earn.py +2026 -0
  9. compass_api_sdk/erc_4626_vaults.py +28 -10
  10. compass_api_sdk/errors/__init__.py +8 -0
  11. compass_api_sdk/errors/apierror.py +1 -1
  12. compass_api_sdk/errors/compassapierror.py +1 -1
  13. compass_api_sdk/errors/httpvalidationerror.py +1 -1
  14. compass_api_sdk/errors/mintpreparenotfoundresponse_error.py +49 -0
  15. compass_api_sdk/errors/no_response_error.py +1 -1
  16. compass_api_sdk/errors/responsevalidationerror.py +1 -1
  17. compass_api_sdk/ethena.py +36 -10
  18. compass_api_sdk/gas_sponsorship.py +458 -0
  19. compass_api_sdk/httpclient.py +0 -1
  20. compass_api_sdk/models/__init__.py +820 -392
  21. compass_api_sdk/models/aaveborrowparams.py +4 -13
  22. compass_api_sdk/models/aaveborrowrequest.py +10 -14
  23. compass_api_sdk/models/aavehistoricaltransactionsresponse.py +3 -3
  24. compass_api_sdk/models/aavelooprequest.py +32 -28
  25. compass_api_sdk/models/aaveposition.py +104 -0
  26. compass_api_sdk/models/aaverepayparams.py +4 -13
  27. compass_api_sdk/models/aaverepayrequest.py +10 -14
  28. compass_api_sdk/models/aavesetuseremodeparams.py +28 -0
  29. compass_api_sdk/models/aavesetuseremoderequest.py +48 -0
  30. compass_api_sdk/models/aavesupplyparams.py +4 -13
  31. compass_api_sdk/models/aavesupplyrequest.py +10 -14
  32. compass_api_sdk/models/aavevenue.py +27 -0
  33. compass_api_sdk/models/aavewithdrawparams.py +4 -13
  34. compass_api_sdk/models/aavewithdrawrequest.py +10 -14
  35. compass_api_sdk/models/aerodromeenrichedposition.py +109 -0
  36. compass_api_sdk/models/aerodromelppositionsresponse.py +10 -7
  37. compass_api_sdk/models/aerodromeslipstreambuyexactlyparams.py +8 -25
  38. compass_api_sdk/models/aerodromeslipstreambuyexactlyrequest.py +14 -26
  39. compass_api_sdk/models/aerodromeslipstreamincreaseliquidityprovisionrequest.py +6 -1
  40. compass_api_sdk/models/aerodromeslipstreammintliquidityprovisionparams.py +8 -25
  41. compass_api_sdk/models/aerodromeslipstreammintliquidityprovisionrequest.py +14 -26
  42. compass_api_sdk/models/aerodromeslipstreampoolpriceresponse.py +8 -25
  43. compass_api_sdk/models/aerodromeslipstreamsellexactlyparams.py +8 -25
  44. compass_api_sdk/models/aerodromeslipstreamsellexactlyrequest.py +13 -25
  45. compass_api_sdk/models/aerodromeslipstreamwithdrawliquidityprovisionrequest.py +6 -1
  46. compass_api_sdk/models/approvetransferrequest.py +32 -0
  47. compass_api_sdk/models/approvetransferresponse.py +52 -0
  48. compass_api_sdk/models/batchedsafeoperationsresponse_input.py +52 -0
  49. compass_api_sdk/models/batchedsafeoperationsresponse_output.py +52 -0
  50. compass_api_sdk/models/batcheduseroperationsrequest.py +15 -4
  51. compass_api_sdk/models/chainmarketinfo.py +29 -0
  52. 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
  53. 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
  54. 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
  55. 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
  56. compass_api_sdk/models/compass_api_backend_v1_models_morpho_read_response_check_user_position_vaultposition.py +30 -0
  57. 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
  58. 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
  59. compass_api_sdk/models/{compass_api_backend_models_morpho_read_response_get_market_asset.py → compass_api_backend_v1_models_morpho_read_response_get_market_asset.py} +5 -5
  60. 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
  61. 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
  62. 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
  63. 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
  64. compass_api_sdk/models/{compass_api_backend_models_morpho_read_response_get_vaults_vaultstate.py → compass_api_backend_v1_models_morpho_read_response_get_vaults_vaultstate.py} +4 -2
  65. compass_api_sdk/models/{compass_api_backend_models_pendle_read_response_market_userposition.py → compass_api_backend_v1_models_pendle_read_response_market_userposition.py} +2 -2
  66. 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
  67. compass_api_sdk/models/{compass_api_backend_models_vaults_read_response_vault_userposition.py → compass_api_backend_v1_models_vaults_read_response_vault_userposition.py} +2 -2
  68. compass_api_sdk/models/compass_api_backend_v1_models_wildcat_read_response_market_userposition.py +22 -0
  69. compass_api_sdk/models/compass_api_backend_v2_models_earn_read_response_positions_vaultposition.py +103 -0
  70. compass_api_sdk/models/compass_api_backend_v2_models_gas_sponsorship_permit_2_typed_data_eip712domain.py +36 -0
  71. compass_api_sdk/models/compass_api_backend_v2_models_gas_sponsorship_permit_2_typed_data_eip712types.py +36 -0
  72. compass_api_sdk/models/compass_api_backend_v2_models_gas_sponsorship_permit_typed_data_eip712domain.py +37 -0
  73. compass_api_sdk/models/compass_api_backend_v2_models_gas_sponsorship_permit_typed_data_eip712types.py +32 -0
  74. compass_api_sdk/models/compass_api_backend_v2_models_safe_transact_response_batched_safe_operations_eip712domain.py +29 -0
  75. compass_api_sdk/models/compass_api_backend_v2_models_safe_transact_response_batched_safe_operations_eip712types.py +34 -0
  76. compass_api_sdk/models/createaccountrequest.py +40 -0
  77. compass_api_sdk/models/createaccountresponse.py +56 -0
  78. compass_api_sdk/models/depositevent.py +61 -0
  79. compass_api_sdk/models/depositforburnrequest.py +77 -0
  80. compass_api_sdk/models/depositforburnresponse.py +100 -0
  81. compass_api_sdk/models/earnmanageparams.py +76 -0
  82. compass_api_sdk/models/earnmanagerequest.py +132 -0
  83. compass_api_sdk/models/earnmanageresponse.py +52 -0
  84. compass_api_sdk/models/earnpositionsresponse.py +48 -0
  85. compass_api_sdk/models/earnswapparams.py +74 -0
  86. compass_api_sdk/models/earnswaprequest.py +90 -0
  87. compass_api_sdk/models/earnswapresponse.py +55 -0
  88. compass_api_sdk/models/earntransferrequest.py +104 -0
  89. compass_api_sdk/models/earntransferresponse.py +71 -0
  90. compass_api_sdk/models/eip712domainfield.py +20 -0
  91. compass_api_sdk/models/eip712field.py +20 -0
  92. compass_api_sdk/models/ethenadepositrequest.py +6 -1
  93. compass_api_sdk/models/ethenagetvaultresponse.py +5 -5
  94. compass_api_sdk/models/ethenarequesttowithdrawrequest.py +6 -1
  95. compass_api_sdk/models/ethenaunstakerequest.py +6 -1
  96. compass_api_sdk/models/fee.py +43 -0
  97. compass_api_sdk/models/listaavemarketsresponse.py +21 -0
  98. compass_api_sdk/models/marketposition.py +5 -5
  99. compass_api_sdk/models/maxsupplyapyinfo.py +34 -0
  100. compass_api_sdk/models/mintpreparecompletedresponse.py +46 -0
  101. compass_api_sdk/models/mintpreparependingresponse.py +65 -0
  102. compass_api_sdk/models/mintpreparereadyresponse.py +43 -0
  103. compass_api_sdk/models/mintpreparerequest.py +25 -0
  104. compass_api_sdk/models/morphoborrowrequest.py +6 -1
  105. compass_api_sdk/models/morphocheckuserpositionresponse.py +9 -3
  106. compass_api_sdk/models/morphodepositrequest.py +6 -1
  107. compass_api_sdk/models/morphogetmarketresponse.py +72 -31
  108. compass_api_sdk/models/morphomarket.py +26 -20
  109. compass_api_sdk/models/morphorepayrequest.py +11 -1
  110. compass_api_sdk/models/morphosupplycollateralrequest.py +11 -1
  111. compass_api_sdk/models/morphovault.py +10 -10
  112. compass_api_sdk/models/morphowithdrawcollateralrequest.py +6 -1
  113. compass_api_sdk/models/morphowithdrawrequest.py +6 -1
  114. compass_api_sdk/models/multicallexecuterequest.py +7 -2
  115. compass_api_sdk/models/odosswapparams.py +9 -30
  116. compass_api_sdk/models/odosswaprequest.py +15 -33
  117. compass_api_sdk/models/oneinchswapparams.py +59 -0
  118. compass_api_sdk/models/openposition.py +7 -7
  119. compass_api_sdk/models/operationtype.py +11 -0
  120. compass_api_sdk/models/pendledepositevent.py +49 -0
  121. compass_api_sdk/models/pendlegetmarketresponse.py +5 -5
  122. compass_api_sdk/models/pendlemanageliquidityparams.py +2 -15
  123. compass_api_sdk/models/pendlemanageliquidityrequest.py +8 -16
  124. compass_api_sdk/models/pendlemarketinfo.py +138 -0
  125. compass_api_sdk/models/pendlemarketsresponse.py +30 -0
  126. compass_api_sdk/models/pendleptposition.py +111 -0
  127. compass_api_sdk/models/pendleptvenue.py +78 -0
  128. compass_api_sdk/models/pendleredeemyieldrequest.py +6 -1
  129. compass_api_sdk/models/pendletradeptparams.py +2 -15
  130. compass_api_sdk/models/pendletradeptrequest.py +8 -16
  131. compass_api_sdk/models/pendletradeytparams.py +2 -15
  132. compass_api_sdk/models/pendletradeytrequest.py +8 -16
  133. compass_api_sdk/models/pendlewithdrawalevent.py +54 -0
  134. compass_api_sdk/models/permit2typeddata_input.py +46 -0
  135. compass_api_sdk/models/permit2typeddata_output.py +46 -0
  136. compass_api_sdk/models/permitfield.py +20 -0
  137. compass_api_sdk/models/permitmessage.py +39 -0
  138. compass_api_sdk/models/permittransferfrommessage.py +29 -0
  139. compass_api_sdk/models/permittypeddataresponse_input.py +50 -0
  140. compass_api_sdk/models/permittypeddataresponse_output.py +50 -0
  141. compass_api_sdk/models/portfolio.py +5 -5
  142. compass_api_sdk/models/positionpnl.py +52 -0
  143. compass_api_sdk/models/reserve.py +6 -15
  144. compass_api_sdk/models/safetransactionparams.py +78 -0
  145. compass_api_sdk/models/safetransactionresponse.py +28 -0
  146. compass_api_sdk/models/safetxfield.py +20 -0
  147. compass_api_sdk/models/safetxmessage.py +66 -0
  148. compass_api_sdk/models/setallowanceparams.py +3 -16
  149. compass_api_sdk/models/setallowancerequest.py +9 -17
  150. compass_api_sdk/models/skybuyrequest.py +6 -1
  151. compass_api_sdk/models/skydepositrequest.py +7 -2
  152. compass_api_sdk/models/skysellrequest.py +7 -2
  153. compass_api_sdk/models/skywithdrawrequest.py +7 -2
  154. compass_api_sdk/models/sponsorgasrequest.py +71 -0
  155. compass_api_sdk/models/sponsorgasresponse.py +14 -0
  156. compass_api_sdk/models/tokenbalanceresponse.py +5 -15
  157. compass_api_sdk/models/tokenconfig.py +30 -0
  158. compass_api_sdk/models/tokenlistresponse.py +21 -0
  159. compass_api_sdk/models/tokenmarketdata.py +27 -0
  160. compass_api_sdk/models/tokenpermissions.py +20 -0
  161. compass_api_sdk/models/tokentransferparams.py +2 -15
  162. compass_api_sdk/models/tokentransferrequest.py +8 -16
  163. compass_api_sdk/models/uniswapbuyexactlyparams.py +8 -33
  164. compass_api_sdk/models/uniswapbuyexactlyrequest.py +14 -34
  165. compass_api_sdk/models/uniswapincreaseliquidityprovisionrequest.py +6 -1
  166. compass_api_sdk/models/uniswapmintliquidityprovisionparams.py +8 -25
  167. compass_api_sdk/models/uniswapmintliquidityprovisionrequest.py +14 -26
  168. compass_api_sdk/models/uniswappoolpriceresponse.py +8 -25
  169. compass_api_sdk/models/uniswapsellexactlyparams.py +4 -29
  170. compass_api_sdk/models/uniswapsellexactlyrequest.py +10 -30
  171. compass_api_sdk/models/uniswapwithdrawliquidityprovisionrequest.py +6 -1
  172. compass_api_sdk/models/unsignedmulticalltransaction.py +34 -3
  173. compass_api_sdk/models/unsignedtransaction.py +34 -3
  174. compass_api_sdk/models/unwrapwethrequest.py +6 -1
  175. compass_api_sdk/models/useroperation.py +33 -24
  176. compass_api_sdk/models/v1_aave_aave_supported_tokensop.py +1 -1
  177. compass_api_sdk/models/v1_aave_avg_rateop.py +15 -93
  178. compass_api_sdk/models/v1_aave_historical_transactionsop.py +15 -15
  179. compass_api_sdk/models/v1_aave_liquidity_changeop.py +8 -86
  180. compass_api_sdk/models/v1_aave_rateop.py +8 -86
  181. compass_api_sdk/models/v1_aave_reserve_overviewop.py +8 -86
  182. compass_api_sdk/models/v1_aave_std_rateop.py +15 -93
  183. compass_api_sdk/models/v1_aave_token_priceop.py +8 -86
  184. compass_api_sdk/models/v1_aave_user_position_per_tokenop.py +14 -92
  185. compass_api_sdk/models/v1_aave_user_position_summaryop.py +8 -8
  186. compass_api_sdk/models/v1_aerodrome_slipstream_liquidity_provision_positionsop.py +48 -3
  187. compass_api_sdk/models/v1_aerodrome_slipstream_pool_priceop.py +12 -168
  188. compass_api_sdk/models/v1_ethena_vaultop.py +1 -1
  189. compass_api_sdk/models/v1_generic_allowanceop.py +12 -26
  190. compass_api_sdk/models/v1_generic_ensop.py +2 -2
  191. compass_api_sdk/models/v1_generic_portfolioop.py +2 -2
  192. compass_api_sdk/models/v1_morpho_market_positionop.py +3 -3
  193. compass_api_sdk/models/v1_morpho_marketop.py +2 -2
  194. compass_api_sdk/models/v1_morpho_marketsop.py +10 -30
  195. compass_api_sdk/models/v1_morpho_user_positionop.py +2 -2
  196. compass_api_sdk/models/v1_morpho_vaultop.py +8 -8
  197. compass_api_sdk/models/v1_morpho_vaultsop.py +6 -16
  198. compass_api_sdk/models/v1_pendle_marketop.py +8 -8
  199. compass_api_sdk/models/v1_pendle_marketsop.py +1 -1
  200. compass_api_sdk/models/v1_pendle_positionsop.py +2 -2
  201. compass_api_sdk/models/v1_sky_positionop.py +5 -6
  202. compass_api_sdk/models/v1_token_balanceop.py +12 -25
  203. compass_api_sdk/models/{v1_generic_supported_tokensop.py → v1_token_listop.py} +6 -6
  204. compass_api_sdk/models/v1_token_priceop.py +8 -9
  205. compass_api_sdk/models/v1_transaction_bundler_aave_loopop.py +6 -6
  206. compass_api_sdk/models/v1_uniswap_liquidity_provision_in_rangeop.py +2 -2
  207. compass_api_sdk/models/v1_uniswap_liquidity_provision_positionsop.py +2 -2
  208. compass_api_sdk/models/v1_uniswap_pool_priceop.py +12 -168
  209. compass_api_sdk/models/v1_uniswap_quote_buy_exactlyop.py +20 -176
  210. compass_api_sdk/models/v1_uniswap_quote_sell_exactlyop.py +20 -176
  211. compass_api_sdk/models/v1_vaults_vaultop.py +8 -8
  212. compass_api_sdk/models/v1_wildcat_marketop.py +82 -0
  213. compass_api_sdk/models/v2_cctp_mintop.py +47 -0
  214. compass_api_sdk/models/v2_earn_aave_marketsop.py +57 -0
  215. compass_api_sdk/models/v2_earn_pendle_marketsop.py +105 -0
  216. compass_api_sdk/models/v2_earn_positionsop.py +31 -0
  217. compass_api_sdk/models/v2_earn_vaultsop.py +105 -0
  218. compass_api_sdk/models/v2bundlerequest.py +33 -0
  219. compass_api_sdk/models/v2bundleresponse.py +67 -0
  220. compass_api_sdk/models/v2useroperation.py +37 -0
  221. compass_api_sdk/models/vault.py +14 -14
  222. compass_api_sdk/models/vaultdepositrequest.py +6 -1
  223. compass_api_sdk/models/vaultgetvaultresponse.py +5 -5
  224. compass_api_sdk/models/vaultinfo.py +129 -0
  225. compass_api_sdk/models/vaultsresponse.py +30 -0
  226. compass_api_sdk/models/vaultvenue.py +27 -0
  227. compass_api_sdk/models/vaultwithdrawrequest.py +6 -1
  228. compass_api_sdk/models/wildcatgetmarketresponse.py +151 -0
  229. compass_api_sdk/models/{redeemunderlying.py → withdraw.py} +2 -2
  230. compass_api_sdk/models/withdrawalevent.py +61 -0
  231. compass_api_sdk/models/wrapethrequest.py +6 -1
  232. compass_api_sdk/morpho.py +126 -78
  233. compass_api_sdk/pendle.py +68 -44
  234. compass_api_sdk/sdk.py +18 -11
  235. compass_api_sdk/sky.py +62 -38
  236. compass_api_sdk/smart_account.py +10 -2
  237. compass_api_sdk/swap.py +22 -22
  238. compass_api_sdk/{token_sdk.py → token.py} +511 -103
  239. compass_api_sdk/transaction_bundler.py +46 -16
  240. compass_api_sdk/types/basemodel.py +41 -3
  241. compass_api_sdk/uniswap_v3.py +152 -114
  242. compass_api_sdk/universal.py +44 -606
  243. compass_api_sdk/utils/__init__.py +0 -3
  244. compass_api_sdk/utils/annotations.py +32 -8
  245. compass_api_sdk/utils/enums.py +60 -0
  246. compass_api_sdk/utils/forms.py +21 -10
  247. compass_api_sdk/utils/queryparams.py +14 -2
  248. compass_api_sdk/utils/requestbodies.py +3 -3
  249. compass_api_sdk/utils/retries.py +69 -5
  250. compass_api_sdk/utils/serializers.py +0 -20
  251. compass_api_sdk/utils/unmarshal_json_response.py +15 -1
  252. compass_api_sdk/wildcat.py +208 -0
  253. compass_api_sdk-2.2.1rc3.dist-info/METADATA +624 -0
  254. compass_api_sdk-2.2.1rc3.dist-info/RECORD +356 -0
  255. {compass_api_sdk-1.1.1.dist-info → compass_api_sdk-2.2.1rc3.dist-info}/WHEEL +1 -1
  256. compass_api_sdk/models/aerodromeposition.py +0 -70
  257. compass_api_sdk/models/token_enum.py +0 -81
  258. compass_api_sdk/models/tokenaddressresponse.py +0 -15
  259. compass_api_sdk/models/tokeninfo.py +0 -17
  260. compass_api_sdk/models/v1_token_addressop.py +0 -109
  261. compass_api_sdk/models/vaultposition.py +0 -24
  262. compass_api_sdk-1.1.1.dist-info/METADATA +0 -592
  263. compass_api_sdk-1.1.1.dist-info/RECORD +0 -275
@@ -8,23 +8,25 @@ from compass_api_sdk.utils.unmarshal_json_response import unmarshal_json_respons
8
8
  from typing import Any, Mapping, Optional, Union
9
9
 
10
10
 
11
- class TokenSDK(BaseSDK):
12
- def token_address(
11
+ class Token(BaseSDK):
12
+ def token_price(
13
13
  self,
14
14
  *,
15
- chain: models.V1TokenAddressChain = models.V1TokenAddressChain.ARBITRUM,
16
- token: models.V1TokenAddressToken = models.V1TokenAddressToken.WETH,
15
+ chain: models.V1TokenPriceChain,
16
+ token: str,
17
+ block: OptionalNullable[int] = UNSET,
17
18
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
18
19
  server_url: Optional[str] = None,
19
20
  timeout_ms: Optional[int] = None,
20
21
  http_headers: Optional[Mapping[str, str]] = None,
21
- ) -> models.TokenAddressResponse:
22
- r"""Token Address
22
+ ) -> models.TokenPriceResponse:
23
+ r"""Token Price
23
24
 
24
- This endpoint retrieves the address for a token supported by us.
25
+ Retrieves the price of a token in USD.
25
26
 
26
27
  :param chain:
27
- :param token: The token symbol to get the address for..
28
+ :param token: The symbol or address of the token for which to get the price..
29
+ :param block: Optional block number (defaults to latest).
28
30
  :param retries: Override the default retry configuration for this method
29
31
  :param server_url: Override the default server URL for this method
30
32
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -40,14 +42,15 @@ class TokenSDK(BaseSDK):
40
42
  else:
41
43
  base_url = self._get_url(base_url, url_variables)
42
44
 
43
- request = models.V1TokenAddressRequest(
45
+ request = models.V1TokenPriceRequest(
44
46
  chain=chain,
47
+ block=block,
45
48
  token=token,
46
49
  )
47
50
 
48
51
  req = self._build_request(
49
52
  method="GET",
50
- path="/v1/token/address",
53
+ path="/v1/token/price",
51
54
  base_url=base_url,
52
55
  url_variables=url_variables,
53
56
  request=request,
@@ -58,6 +61,7 @@ class TokenSDK(BaseSDK):
58
61
  accept_header_value="application/json",
59
62
  http_headers=http_headers,
60
63
  security=self.sdk_configuration.security,
64
+ allow_empty_value=None,
61
65
  timeout_ms=timeout_ms,
62
66
  )
63
67
 
@@ -73,8 +77,8 @@ class TokenSDK(BaseSDK):
73
77
  hook_ctx=HookContext(
74
78
  config=self.sdk_configuration,
75
79
  base_url=base_url or "",
76
- operation_id="v1_token_address",
77
- oauth2_scopes=[],
80
+ operation_id="v1_token_price",
81
+ oauth2_scopes=None,
78
82
  security_source=self.sdk_configuration.security,
79
83
  ),
80
84
  request=req,
@@ -84,7 +88,7 @@ class TokenSDK(BaseSDK):
84
88
 
85
89
  response_data: Any = None
86
90
  if utils.match_response(http_res, "200", "application/json"):
87
- return unmarshal_json_response(models.TokenAddressResponse, http_res)
91
+ return unmarshal_json_response(models.TokenPriceResponse, http_res)
88
92
  if utils.match_response(http_res, "422", "application/json"):
89
93
  response_data = unmarshal_json_response(
90
94
  errors.HTTPValidationErrorData, http_res
@@ -99,22 +103,24 @@ class TokenSDK(BaseSDK):
99
103
 
100
104
  raise errors.APIError("Unexpected response received", http_res)
101
105
 
102
- async def token_address_async(
106
+ async def token_price_async(
103
107
  self,
104
108
  *,
105
- chain: models.V1TokenAddressChain = models.V1TokenAddressChain.ARBITRUM,
106
- token: models.V1TokenAddressToken = models.V1TokenAddressToken.WETH,
109
+ chain: models.V1TokenPriceChain,
110
+ token: str,
111
+ block: OptionalNullable[int] = UNSET,
107
112
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
108
113
  server_url: Optional[str] = None,
109
114
  timeout_ms: Optional[int] = None,
110
115
  http_headers: Optional[Mapping[str, str]] = None,
111
- ) -> models.TokenAddressResponse:
112
- r"""Token Address
116
+ ) -> models.TokenPriceResponse:
117
+ r"""Token Price
113
118
 
114
- This endpoint retrieves the address for a token supported by us.
119
+ Retrieves the price of a token in USD.
115
120
 
116
121
  :param chain:
117
- :param token: The token symbol to get the address for..
122
+ :param token: The symbol or address of the token for which to get the price..
123
+ :param block: Optional block number (defaults to latest).
118
124
  :param retries: Override the default retry configuration for this method
119
125
  :param server_url: Override the default server URL for this method
120
126
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -130,14 +136,15 @@ class TokenSDK(BaseSDK):
130
136
  else:
131
137
  base_url = self._get_url(base_url, url_variables)
132
138
 
133
- request = models.V1TokenAddressRequest(
139
+ request = models.V1TokenPriceRequest(
134
140
  chain=chain,
141
+ block=block,
135
142
  token=token,
136
143
  )
137
144
 
138
145
  req = self._build_request_async(
139
146
  method="GET",
140
- path="/v1/token/address",
147
+ path="/v1/token/price",
141
148
  base_url=base_url,
142
149
  url_variables=url_variables,
143
150
  request=request,
@@ -148,6 +155,7 @@ class TokenSDK(BaseSDK):
148
155
  accept_header_value="application/json",
149
156
  http_headers=http_headers,
150
157
  security=self.sdk_configuration.security,
158
+ allow_empty_value=None,
151
159
  timeout_ms=timeout_ms,
152
160
  )
153
161
 
@@ -163,8 +171,8 @@ class TokenSDK(BaseSDK):
163
171
  hook_ctx=HookContext(
164
172
  config=self.sdk_configuration,
165
173
  base_url=base_url or "",
166
- operation_id="v1_token_address",
167
- oauth2_scopes=[],
174
+ operation_id="v1_token_price",
175
+ oauth2_scopes=None,
168
176
  security_source=self.sdk_configuration.security,
169
177
  ),
170
178
  request=req,
@@ -174,7 +182,7 @@ class TokenSDK(BaseSDK):
174
182
 
175
183
  response_data: Any = None
176
184
  if utils.match_response(http_res, "200", "application/json"):
177
- return unmarshal_json_response(models.TokenAddressResponse, http_res)
185
+ return unmarshal_json_response(models.TokenPriceResponse, http_res)
178
186
  if utils.match_response(http_res, "422", "application/json"):
179
187
  response_data = unmarshal_json_response(
180
188
  errors.HTTPValidationErrorData, http_res
@@ -189,28 +197,24 @@ class TokenSDK(BaseSDK):
189
197
 
190
198
  raise errors.APIError("Unexpected response received", http_res)
191
199
 
192
- def token_price(
200
+ def token_balance(
193
201
  self,
194
202
  *,
195
- chain: models.V1TokenPriceChain = models.V1TokenPriceChain.ETHEREUM,
196
- token: Any,
197
- block: OptionalNullable[int] = UNSET,
203
+ chain: models.V1TokenBalanceChain,
204
+ user: str,
205
+ token: str,
198
206
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
199
207
  server_url: Optional[str] = None,
200
208
  timeout_ms: Optional[int] = None,
201
209
  http_headers: Optional[Mapping[str, str]] = None,
202
- ) -> models.TokenPriceResponse:
203
- r"""Token Price
204
-
205
- Retrieves the price of a token in USD using Chainlink's on-chain price feeds.
210
+ ) -> models.TokenBalanceResponse:
211
+ r"""Token Balance
206
212
 
207
- Chainlink is a decentralized oracle that aggregates price data from off-chain
208
- sources. This ensures the price is tamper-resistant but the price might be stale
209
- with the update frequency of the oracle.
213
+ Returns the balance of a specific ERC20 token for a given user address.
210
214
 
211
215
  :param chain:
212
- :param token: The symbol or address of the token for which to get the price.
213
- :param block: Optional block number (defaults to latest).
216
+ :param user: The user to get the token balance of.
217
+ :param token: The symbol or address of the token for which the balance is checked.
214
218
  :param retries: Override the default retry configuration for this method
215
219
  :param server_url: Override the default server URL for this method
216
220
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -226,15 +230,15 @@ class TokenSDK(BaseSDK):
226
230
  else:
227
231
  base_url = self._get_url(base_url, url_variables)
228
232
 
229
- request = models.V1TokenPriceRequest(
233
+ request = models.V1TokenBalanceRequest(
230
234
  chain=chain,
231
- block=block,
235
+ user=user,
232
236
  token=token,
233
237
  )
234
238
 
235
239
  req = self._build_request(
236
240
  method="GET",
237
- path="/v1/token/price",
241
+ path="/v1/token/balance",
238
242
  base_url=base_url,
239
243
  url_variables=url_variables,
240
244
  request=request,
@@ -245,6 +249,7 @@ class TokenSDK(BaseSDK):
245
249
  accept_header_value="application/json",
246
250
  http_headers=http_headers,
247
251
  security=self.sdk_configuration.security,
252
+ allow_empty_value=None,
248
253
  timeout_ms=timeout_ms,
249
254
  )
250
255
 
@@ -260,8 +265,8 @@ class TokenSDK(BaseSDK):
260
265
  hook_ctx=HookContext(
261
266
  config=self.sdk_configuration,
262
267
  base_url=base_url or "",
263
- operation_id="v1_token_price",
264
- oauth2_scopes=[],
268
+ operation_id="v1_token_balance",
269
+ oauth2_scopes=None,
265
270
  security_source=self.sdk_configuration.security,
266
271
  ),
267
272
  request=req,
@@ -271,7 +276,7 @@ class TokenSDK(BaseSDK):
271
276
 
272
277
  response_data: Any = None
273
278
  if utils.match_response(http_res, "200", "application/json"):
274
- return unmarshal_json_response(models.TokenPriceResponse, http_res)
279
+ return unmarshal_json_response(models.TokenBalanceResponse, http_res)
275
280
  if utils.match_response(http_res, "422", "application/json"):
276
281
  response_data = unmarshal_json_response(
277
282
  errors.HTTPValidationErrorData, http_res
@@ -286,28 +291,24 @@ class TokenSDK(BaseSDK):
286
291
 
287
292
  raise errors.APIError("Unexpected response received", http_res)
288
293
 
289
- async def token_price_async(
294
+ async def token_balance_async(
290
295
  self,
291
296
  *,
292
- chain: models.V1TokenPriceChain = models.V1TokenPriceChain.ETHEREUM,
293
- token: Any,
294
- block: OptionalNullable[int] = UNSET,
297
+ chain: models.V1TokenBalanceChain,
298
+ user: str,
299
+ token: str,
295
300
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
296
301
  server_url: Optional[str] = None,
297
302
  timeout_ms: Optional[int] = None,
298
303
  http_headers: Optional[Mapping[str, str]] = None,
299
- ) -> models.TokenPriceResponse:
300
- r"""Token Price
301
-
302
- Retrieves the price of a token in USD using Chainlink's on-chain price feeds.
304
+ ) -> models.TokenBalanceResponse:
305
+ r"""Token Balance
303
306
 
304
- Chainlink is a decentralized oracle that aggregates price data from off-chain
305
- sources. This ensures the price is tamper-resistant but the price might be stale
306
- with the update frequency of the oracle.
307
+ Returns the balance of a specific ERC20 token for a given user address.
307
308
 
308
309
  :param chain:
309
- :param token: The symbol or address of the token for which to get the price.
310
- :param block: Optional block number (defaults to latest).
310
+ :param user: The user to get the token balance of.
311
+ :param token: The symbol or address of the token for which the balance is checked.
311
312
  :param retries: Override the default retry configuration for this method
312
313
  :param server_url: Override the default server URL for this method
313
314
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -323,15 +324,15 @@ class TokenSDK(BaseSDK):
323
324
  else:
324
325
  base_url = self._get_url(base_url, url_variables)
325
326
 
326
- request = models.V1TokenPriceRequest(
327
+ request = models.V1TokenBalanceRequest(
327
328
  chain=chain,
328
- block=block,
329
+ user=user,
329
330
  token=token,
330
331
  )
331
332
 
332
333
  req = self._build_request_async(
333
334
  method="GET",
334
- path="/v1/token/price",
335
+ path="/v1/token/balance",
335
336
  base_url=base_url,
336
337
  url_variables=url_variables,
337
338
  request=request,
@@ -342,6 +343,7 @@ class TokenSDK(BaseSDK):
342
343
  accept_header_value="application/json",
343
344
  http_headers=http_headers,
344
345
  security=self.sdk_configuration.security,
346
+ allow_empty_value=None,
345
347
  timeout_ms=timeout_ms,
346
348
  )
347
349
 
@@ -357,8 +359,8 @@ class TokenSDK(BaseSDK):
357
359
  hook_ctx=HookContext(
358
360
  config=self.sdk_configuration,
359
361
  base_url=base_url or "",
360
- operation_id="v1_token_price",
361
- oauth2_scopes=[],
362
+ operation_id="v1_token_balance",
363
+ oauth2_scopes=None,
362
364
  security_source=self.sdk_configuration.security,
363
365
  ),
364
366
  request=req,
@@ -368,7 +370,7 @@ class TokenSDK(BaseSDK):
368
370
 
369
371
  response_data: Any = None
370
372
  if utils.match_response(http_res, "200", "application/json"):
371
- return unmarshal_json_response(models.TokenPriceResponse, http_res)
373
+ return unmarshal_json_response(models.TokenBalanceResponse, http_res)
372
374
  if utils.match_response(http_res, "422", "application/json"):
373
375
  response_data = unmarshal_json_response(
374
376
  errors.HTTPValidationErrorData, http_res
@@ -383,24 +385,20 @@ class TokenSDK(BaseSDK):
383
385
 
384
386
  raise errors.APIError("Unexpected response received", http_res)
385
387
 
386
- def token_balance(
388
+ def token_list(
387
389
  self,
388
390
  *,
389
- chain: models.V1TokenBalanceChain = models.V1TokenBalanceChain.ARBITRUM,
390
- user: str = "0x29F20a192328eF1aD35e1564aBFf4Be9C5ce5f7B",
391
- token: Union[models.V1TokenBalanceToken, models.V1TokenBalanceTokenTypedDict],
391
+ chain: models.V1TokenListChain,
392
392
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
393
393
  server_url: Optional[str] = None,
394
394
  timeout_ms: Optional[int] = None,
395
395
  http_headers: Optional[Mapping[str, str]] = None,
396
- ) -> models.TokenBalanceResponse:
397
- r"""Token Balance
396
+ ) -> models.TokenListResponse:
397
+ r"""List known tokens
398
398
 
399
- Returns the balance of a specific ERC20 token for a given user address.
399
+ Returns a list of known tokens.
400
400
 
401
401
  :param chain:
402
- :param user: The user to get the ERC20 balance of.
403
- :param token: The symbol of the token for which the balance is checked..
404
402
  :param retries: Override the default retry configuration for this method
405
403
  :param server_url: Override the default server URL for this method
406
404
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -416,15 +414,13 @@ class TokenSDK(BaseSDK):
416
414
  else:
417
415
  base_url = self._get_url(base_url, url_variables)
418
416
 
419
- request = models.V1TokenBalanceRequest(
417
+ request = models.V1TokenListRequest(
420
418
  chain=chain,
421
- user=user,
422
- token=token,
423
419
  )
424
420
 
425
421
  req = self._build_request(
426
422
  method="GET",
427
- path="/v1/token/balance",
423
+ path="/v1/token/list",
428
424
  base_url=base_url,
429
425
  url_variables=url_variables,
430
426
  request=request,
@@ -435,6 +431,7 @@ class TokenSDK(BaseSDK):
435
431
  accept_header_value="application/json",
436
432
  http_headers=http_headers,
437
433
  security=self.sdk_configuration.security,
434
+ allow_empty_value=None,
438
435
  timeout_ms=timeout_ms,
439
436
  )
440
437
 
@@ -450,8 +447,8 @@ class TokenSDK(BaseSDK):
450
447
  hook_ctx=HookContext(
451
448
  config=self.sdk_configuration,
452
449
  base_url=base_url or "",
453
- operation_id="v1_token_balance",
454
- oauth2_scopes=[],
450
+ operation_id="v1_token_list",
451
+ oauth2_scopes=None,
455
452
  security_source=self.sdk_configuration.security,
456
453
  ),
457
454
  request=req,
@@ -461,7 +458,7 @@ class TokenSDK(BaseSDK):
461
458
 
462
459
  response_data: Any = None
463
460
  if utils.match_response(http_res, "200", "application/json"):
464
- return unmarshal_json_response(models.TokenBalanceResponse, http_res)
461
+ return unmarshal_json_response(models.TokenListResponse, http_res)
465
462
  if utils.match_response(http_res, "422", "application/json"):
466
463
  response_data = unmarshal_json_response(
467
464
  errors.HTTPValidationErrorData, http_res
@@ -476,24 +473,20 @@ class TokenSDK(BaseSDK):
476
473
 
477
474
  raise errors.APIError("Unexpected response received", http_res)
478
475
 
479
- async def token_balance_async(
476
+ async def token_list_async(
480
477
  self,
481
478
  *,
482
- chain: models.V1TokenBalanceChain = models.V1TokenBalanceChain.ARBITRUM,
483
- user: str = "0x29F20a192328eF1aD35e1564aBFf4Be9C5ce5f7B",
484
- token: Union[models.V1TokenBalanceToken, models.V1TokenBalanceTokenTypedDict],
479
+ chain: models.V1TokenListChain,
485
480
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
486
481
  server_url: Optional[str] = None,
487
482
  timeout_ms: Optional[int] = None,
488
483
  http_headers: Optional[Mapping[str, str]] = None,
489
- ) -> models.TokenBalanceResponse:
490
- r"""Token Balance
484
+ ) -> models.TokenListResponse:
485
+ r"""List known tokens
491
486
 
492
- Returns the balance of a specific ERC20 token for a given user address.
487
+ Returns a list of known tokens.
493
488
 
494
489
  :param chain:
495
- :param user: The user to get the ERC20 balance of.
496
- :param token: The symbol of the token for which the balance is checked..
497
490
  :param retries: Override the default retry configuration for this method
498
491
  :param server_url: Override the default server URL for this method
499
492
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -509,15 +502,13 @@ class TokenSDK(BaseSDK):
509
502
  else:
510
503
  base_url = self._get_url(base_url, url_variables)
511
504
 
512
- request = models.V1TokenBalanceRequest(
505
+ request = models.V1TokenListRequest(
513
506
  chain=chain,
514
- user=user,
515
- token=token,
516
507
  )
517
508
 
518
509
  req = self._build_request_async(
519
510
  method="GET",
520
- path="/v1/token/balance",
511
+ path="/v1/token/list",
521
512
  base_url=base_url,
522
513
  url_variables=url_variables,
523
514
  request=request,
@@ -528,6 +519,7 @@ class TokenSDK(BaseSDK):
528
519
  accept_header_value="application/json",
529
520
  http_headers=http_headers,
530
521
  security=self.sdk_configuration.security,
522
+ allow_empty_value=None,
531
523
  timeout_ms=timeout_ms,
532
524
  )
533
525
 
@@ -543,8 +535,8 @@ class TokenSDK(BaseSDK):
543
535
  hook_ctx=HookContext(
544
536
  config=self.sdk_configuration,
545
537
  base_url=base_url or "",
546
- operation_id="v1_token_balance",
547
- oauth2_scopes=[],
538
+ operation_id="v1_token_list",
539
+ oauth2_scopes=None,
548
540
  security_source=self.sdk_configuration.security,
549
541
  ),
550
542
  request=req,
@@ -554,7 +546,7 @@ class TokenSDK(BaseSDK):
554
546
 
555
547
  response_data: Any = None
556
548
  if utils.match_response(http_res, "200", "application/json"):
557
- return unmarshal_json_response(models.TokenBalanceResponse, http_res)
549
+ return unmarshal_json_response(models.TokenListResponse, http_res)
558
550
  if utils.match_response(http_res, "422", "application/json"):
559
551
  response_data = unmarshal_json_response(
560
552
  errors.HTTPValidationErrorData, http_res
@@ -573,15 +565,14 @@ class TokenSDK(BaseSDK):
573
565
  self,
574
566
  *,
575
567
  to: str,
576
- token: Union[
577
- models.TokenTransferRequestToken, models.TokenTransferRequestTokenTypedDict
578
- ],
568
+ token: str,
579
569
  amount: Union[
580
570
  models.TokenTransferRequestAmount,
581
571
  models.TokenTransferRequestAmountTypedDict,
582
572
  ],
583
573
  chain: models.TokenTransferRequestChain,
584
574
  sender: str,
575
+ estimate_gas: Optional[bool] = None,
585
576
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
586
577
  server_url: Optional[str] = None,
587
578
  timeout_ms: Optional[int] = None,
@@ -596,6 +587,7 @@ class TokenSDK(BaseSDK):
596
587
  :param amount: Amount of token to transfer
597
588
  :param chain:
598
589
  :param sender: The address of the transaction sender.
590
+ :param estimate_gas: Determines whether to estimate gas costs for transactions, also verifying that the transaction can be successfully executed.
599
591
  :param retries: Override the default retry configuration for this method
600
592
  :param server_url: Override the default server URL for this method
601
593
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -617,6 +609,7 @@ class TokenSDK(BaseSDK):
617
609
  amount=amount,
618
610
  chain=chain,
619
611
  sender=sender,
612
+ estimate_gas=estimate_gas,
620
613
  )
621
614
 
622
615
  req = self._build_request(
@@ -635,6 +628,7 @@ class TokenSDK(BaseSDK):
635
628
  get_serialized_body=lambda: utils.serialize_request_body(
636
629
  request, False, False, "json", models.TokenTransferRequest
637
630
  ),
631
+ allow_empty_value=None,
638
632
  timeout_ms=timeout_ms,
639
633
  )
640
634
 
@@ -651,7 +645,7 @@ class TokenSDK(BaseSDK):
651
645
  config=self.sdk_configuration,
652
646
  base_url=base_url or "",
653
647
  operation_id="v1_token_transfer",
654
- oauth2_scopes=[],
648
+ oauth2_scopes=None,
655
649
  security_source=self.sdk_configuration.security,
656
650
  ),
657
651
  request=req,
@@ -680,15 +674,14 @@ class TokenSDK(BaseSDK):
680
674
  self,
681
675
  *,
682
676
  to: str,
683
- token: Union[
684
- models.TokenTransferRequestToken, models.TokenTransferRequestTokenTypedDict
685
- ],
677
+ token: str,
686
678
  amount: Union[
687
679
  models.TokenTransferRequestAmount,
688
680
  models.TokenTransferRequestAmountTypedDict,
689
681
  ],
690
682
  chain: models.TokenTransferRequestChain,
691
683
  sender: str,
684
+ estimate_gas: Optional[bool] = None,
692
685
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
693
686
  server_url: Optional[str] = None,
694
687
  timeout_ms: Optional[int] = None,
@@ -703,6 +696,7 @@ class TokenSDK(BaseSDK):
703
696
  :param amount: Amount of token to transfer
704
697
  :param chain:
705
698
  :param sender: The address of the transaction sender.
699
+ :param estimate_gas: Determines whether to estimate gas costs for transactions, also verifying that the transaction can be successfully executed.
706
700
  :param retries: Override the default retry configuration for this method
707
701
  :param server_url: Override the default server URL for this method
708
702
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -724,6 +718,7 @@ class TokenSDK(BaseSDK):
724
718
  amount=amount,
725
719
  chain=chain,
726
720
  sender=sender,
721
+ estimate_gas=estimate_gas,
727
722
  )
728
723
 
729
724
  req = self._build_request_async(
@@ -742,6 +737,7 @@ class TokenSDK(BaseSDK):
742
737
  get_serialized_body=lambda: utils.serialize_request_body(
743
738
  request, False, False, "json", models.TokenTransferRequest
744
739
  ),
740
+ allow_empty_value=None,
745
741
  timeout_ms=timeout_ms,
746
742
  )
747
743
 
@@ -758,7 +754,419 @@ class TokenSDK(BaseSDK):
758
754
  config=self.sdk_configuration,
759
755
  base_url=base_url or "",
760
756
  operation_id="v1_token_transfer",
761
- oauth2_scopes=[],
757
+ oauth2_scopes=None,
758
+ security_source=self.sdk_configuration.security,
759
+ ),
760
+ request=req,
761
+ error_status_codes=["422", "4XX", "5XX"],
762
+ retry_config=retry_config,
763
+ )
764
+
765
+ response_data: Any = None
766
+ if utils.match_response(http_res, "200", "application/json"):
767
+ return unmarshal_json_response(models.TransactionResponse, http_res)
768
+ if utils.match_response(http_res, "422", "application/json"):
769
+ response_data = unmarshal_json_response(
770
+ errors.HTTPValidationErrorData, http_res
771
+ )
772
+ raise errors.HTTPValidationError(response_data, http_res)
773
+ if utils.match_response(http_res, "4XX", "*"):
774
+ http_res_text = await utils.stream_to_text_async(http_res)
775
+ raise errors.APIError("API error occurred", http_res, http_res_text)
776
+ if utils.match_response(http_res, "5XX", "*"):
777
+ http_res_text = await utils.stream_to_text_async(http_res)
778
+ raise errors.APIError("API error occurred", http_res, http_res_text)
779
+
780
+ raise errors.APIError("Unexpected response received", http_res)
781
+
782
+ def token_wrap_eth(
783
+ self,
784
+ *,
785
+ amount: Union[
786
+ models.WrapEthRequestAmount, models.WrapEthRequestAmountTypedDict
787
+ ],
788
+ chain: models.WrapEthRequestChain,
789
+ sender: str,
790
+ estimate_gas: Optional[bool] = None,
791
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
792
+ server_url: Optional[str] = None,
793
+ timeout_ms: Optional[int] = None,
794
+ http_headers: Optional[Mapping[str, str]] = None,
795
+ ) -> models.TransactionResponse:
796
+ r"""Wrap ETH
797
+
798
+ Wrapping ETH creates an ERC20 compliant form of ETH that is typically needed for
799
+ it to be traded on DeFi protocols.
800
+
801
+ :param amount: The amount of ETH to wrap.
802
+ :param chain:
803
+ :param sender: The address of the transaction sender.
804
+ :param estimate_gas: Determines whether to estimate gas costs for transactions, also verifying that the transaction can be successfully executed.
805
+ :param retries: Override the default retry configuration for this method
806
+ :param server_url: Override the default server URL for this method
807
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
808
+ :param http_headers: Additional headers to set or replace on requests.
809
+ """
810
+ base_url = None
811
+ url_variables = None
812
+ if timeout_ms is None:
813
+ timeout_ms = self.sdk_configuration.timeout_ms
814
+
815
+ if server_url is not None:
816
+ base_url = server_url
817
+ else:
818
+ base_url = self._get_url(base_url, url_variables)
819
+
820
+ request = models.WrapEthRequest(
821
+ amount=amount,
822
+ chain=chain,
823
+ sender=sender,
824
+ estimate_gas=estimate_gas,
825
+ )
826
+
827
+ req = self._build_request(
828
+ method="POST",
829
+ path="/v1/token/wrap_eth",
830
+ base_url=base_url,
831
+ url_variables=url_variables,
832
+ request=request,
833
+ request_body_required=True,
834
+ request_has_path_params=False,
835
+ request_has_query_params=True,
836
+ user_agent_header="user-agent",
837
+ accept_header_value="application/json",
838
+ http_headers=http_headers,
839
+ security=self.sdk_configuration.security,
840
+ get_serialized_body=lambda: utils.serialize_request_body(
841
+ request, False, False, "json", models.WrapEthRequest
842
+ ),
843
+ allow_empty_value=None,
844
+ timeout_ms=timeout_ms,
845
+ )
846
+
847
+ if retries == UNSET:
848
+ if self.sdk_configuration.retry_config is not UNSET:
849
+ retries = self.sdk_configuration.retry_config
850
+
851
+ retry_config = None
852
+ if isinstance(retries, utils.RetryConfig):
853
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
854
+
855
+ http_res = self.do_request(
856
+ hook_ctx=HookContext(
857
+ config=self.sdk_configuration,
858
+ base_url=base_url or "",
859
+ operation_id="v1_token_wrap_eth",
860
+ oauth2_scopes=None,
861
+ security_source=self.sdk_configuration.security,
862
+ ),
863
+ request=req,
864
+ error_status_codes=["422", "4XX", "5XX"],
865
+ retry_config=retry_config,
866
+ )
867
+
868
+ response_data: Any = None
869
+ if utils.match_response(http_res, "200", "application/json"):
870
+ return unmarshal_json_response(models.TransactionResponse, http_res)
871
+ if utils.match_response(http_res, "422", "application/json"):
872
+ response_data = unmarshal_json_response(
873
+ errors.HTTPValidationErrorData, http_res
874
+ )
875
+ raise errors.HTTPValidationError(response_data, http_res)
876
+ if utils.match_response(http_res, "4XX", "*"):
877
+ http_res_text = utils.stream_to_text(http_res)
878
+ raise errors.APIError("API error occurred", http_res, http_res_text)
879
+ if utils.match_response(http_res, "5XX", "*"):
880
+ http_res_text = utils.stream_to_text(http_res)
881
+ raise errors.APIError("API error occurred", http_res, http_res_text)
882
+
883
+ raise errors.APIError("Unexpected response received", http_res)
884
+
885
+ async def token_wrap_eth_async(
886
+ self,
887
+ *,
888
+ amount: Union[
889
+ models.WrapEthRequestAmount, models.WrapEthRequestAmountTypedDict
890
+ ],
891
+ chain: models.WrapEthRequestChain,
892
+ sender: str,
893
+ estimate_gas: Optional[bool] = None,
894
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
895
+ server_url: Optional[str] = None,
896
+ timeout_ms: Optional[int] = None,
897
+ http_headers: Optional[Mapping[str, str]] = None,
898
+ ) -> models.TransactionResponse:
899
+ r"""Wrap ETH
900
+
901
+ Wrapping ETH creates an ERC20 compliant form of ETH that is typically needed for
902
+ it to be traded on DeFi protocols.
903
+
904
+ :param amount: The amount of ETH to wrap.
905
+ :param chain:
906
+ :param sender: The address of the transaction sender.
907
+ :param estimate_gas: Determines whether to estimate gas costs for transactions, also verifying that the transaction can be successfully executed.
908
+ :param retries: Override the default retry configuration for this method
909
+ :param server_url: Override the default server URL for this method
910
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
911
+ :param http_headers: Additional headers to set or replace on requests.
912
+ """
913
+ base_url = None
914
+ url_variables = None
915
+ if timeout_ms is None:
916
+ timeout_ms = self.sdk_configuration.timeout_ms
917
+
918
+ if server_url is not None:
919
+ base_url = server_url
920
+ else:
921
+ base_url = self._get_url(base_url, url_variables)
922
+
923
+ request = models.WrapEthRequest(
924
+ amount=amount,
925
+ chain=chain,
926
+ sender=sender,
927
+ estimate_gas=estimate_gas,
928
+ )
929
+
930
+ req = self._build_request_async(
931
+ method="POST",
932
+ path="/v1/token/wrap_eth",
933
+ base_url=base_url,
934
+ url_variables=url_variables,
935
+ request=request,
936
+ request_body_required=True,
937
+ request_has_path_params=False,
938
+ request_has_query_params=True,
939
+ user_agent_header="user-agent",
940
+ accept_header_value="application/json",
941
+ http_headers=http_headers,
942
+ security=self.sdk_configuration.security,
943
+ get_serialized_body=lambda: utils.serialize_request_body(
944
+ request, False, False, "json", models.WrapEthRequest
945
+ ),
946
+ allow_empty_value=None,
947
+ timeout_ms=timeout_ms,
948
+ )
949
+
950
+ if retries == UNSET:
951
+ if self.sdk_configuration.retry_config is not UNSET:
952
+ retries = self.sdk_configuration.retry_config
953
+
954
+ retry_config = None
955
+ if isinstance(retries, utils.RetryConfig):
956
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
957
+
958
+ http_res = await self.do_request_async(
959
+ hook_ctx=HookContext(
960
+ config=self.sdk_configuration,
961
+ base_url=base_url or "",
962
+ operation_id="v1_token_wrap_eth",
963
+ oauth2_scopes=None,
964
+ security_source=self.sdk_configuration.security,
965
+ ),
966
+ request=req,
967
+ error_status_codes=["422", "4XX", "5XX"],
968
+ retry_config=retry_config,
969
+ )
970
+
971
+ response_data: Any = None
972
+ if utils.match_response(http_res, "200", "application/json"):
973
+ return unmarshal_json_response(models.TransactionResponse, http_res)
974
+ if utils.match_response(http_res, "422", "application/json"):
975
+ response_data = unmarshal_json_response(
976
+ errors.HTTPValidationErrorData, http_res
977
+ )
978
+ raise errors.HTTPValidationError(response_data, http_res)
979
+ if utils.match_response(http_res, "4XX", "*"):
980
+ http_res_text = await utils.stream_to_text_async(http_res)
981
+ raise errors.APIError("API error occurred", http_res, http_res_text)
982
+ if utils.match_response(http_res, "5XX", "*"):
983
+ http_res_text = await utils.stream_to_text_async(http_res)
984
+ raise errors.APIError("API error occurred", http_res, http_res_text)
985
+
986
+ raise errors.APIError("Unexpected response received", http_res)
987
+
988
+ def token_unwrap_weth(
989
+ self,
990
+ *,
991
+ amount: Union[
992
+ models.UnwrapWethRequestAmount, models.UnwrapWethRequestAmountTypedDict
993
+ ],
994
+ chain: models.UnwrapWethRequestChain,
995
+ sender: str,
996
+ estimate_gas: Optional[bool] = None,
997
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
998
+ server_url: Optional[str] = None,
999
+ timeout_ms: Optional[int] = None,
1000
+ http_headers: Optional[Mapping[str, str]] = None,
1001
+ ) -> models.TransactionResponse:
1002
+ r"""Unwrap WETH
1003
+
1004
+ Unwrapping WETH converts the ERC-20 compliant form of ETH back to native ETH that
1005
+ can be used for gas and other native purposes.
1006
+
1007
+ :param amount: The amount of WETH to unwrap.
1008
+ :param chain:
1009
+ :param sender: The address of the transaction sender.
1010
+ :param estimate_gas: Determines whether to estimate gas costs for transactions, also verifying that the transaction can be successfully executed.
1011
+ :param retries: Override the default retry configuration for this method
1012
+ :param server_url: Override the default server URL for this method
1013
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
1014
+ :param http_headers: Additional headers to set or replace on requests.
1015
+ """
1016
+ base_url = None
1017
+ url_variables = None
1018
+ if timeout_ms is None:
1019
+ timeout_ms = self.sdk_configuration.timeout_ms
1020
+
1021
+ if server_url is not None:
1022
+ base_url = server_url
1023
+ else:
1024
+ base_url = self._get_url(base_url, url_variables)
1025
+
1026
+ request = models.UnwrapWethRequest(
1027
+ amount=amount,
1028
+ chain=chain,
1029
+ sender=sender,
1030
+ estimate_gas=estimate_gas,
1031
+ )
1032
+
1033
+ req = self._build_request(
1034
+ method="POST",
1035
+ path="/v1/token/unwrap_weth",
1036
+ base_url=base_url,
1037
+ url_variables=url_variables,
1038
+ request=request,
1039
+ request_body_required=True,
1040
+ request_has_path_params=False,
1041
+ request_has_query_params=True,
1042
+ user_agent_header="user-agent",
1043
+ accept_header_value="application/json",
1044
+ http_headers=http_headers,
1045
+ security=self.sdk_configuration.security,
1046
+ get_serialized_body=lambda: utils.serialize_request_body(
1047
+ request, False, False, "json", models.UnwrapWethRequest
1048
+ ),
1049
+ allow_empty_value=None,
1050
+ timeout_ms=timeout_ms,
1051
+ )
1052
+
1053
+ if retries == UNSET:
1054
+ if self.sdk_configuration.retry_config is not UNSET:
1055
+ retries = self.sdk_configuration.retry_config
1056
+
1057
+ retry_config = None
1058
+ if isinstance(retries, utils.RetryConfig):
1059
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
1060
+
1061
+ http_res = self.do_request(
1062
+ hook_ctx=HookContext(
1063
+ config=self.sdk_configuration,
1064
+ base_url=base_url or "",
1065
+ operation_id="v1_token_unwrap_weth",
1066
+ oauth2_scopes=None,
1067
+ security_source=self.sdk_configuration.security,
1068
+ ),
1069
+ request=req,
1070
+ error_status_codes=["422", "4XX", "5XX"],
1071
+ retry_config=retry_config,
1072
+ )
1073
+
1074
+ response_data: Any = None
1075
+ if utils.match_response(http_res, "200", "application/json"):
1076
+ return unmarshal_json_response(models.TransactionResponse, http_res)
1077
+ if utils.match_response(http_res, "422", "application/json"):
1078
+ response_data = unmarshal_json_response(
1079
+ errors.HTTPValidationErrorData, http_res
1080
+ )
1081
+ raise errors.HTTPValidationError(response_data, http_res)
1082
+ if utils.match_response(http_res, "4XX", "*"):
1083
+ http_res_text = utils.stream_to_text(http_res)
1084
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1085
+ if utils.match_response(http_res, "5XX", "*"):
1086
+ http_res_text = utils.stream_to_text(http_res)
1087
+ raise errors.APIError("API error occurred", http_res, http_res_text)
1088
+
1089
+ raise errors.APIError("Unexpected response received", http_res)
1090
+
1091
+ async def token_unwrap_weth_async(
1092
+ self,
1093
+ *,
1094
+ amount: Union[
1095
+ models.UnwrapWethRequestAmount, models.UnwrapWethRequestAmountTypedDict
1096
+ ],
1097
+ chain: models.UnwrapWethRequestChain,
1098
+ sender: str,
1099
+ estimate_gas: Optional[bool] = None,
1100
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
1101
+ server_url: Optional[str] = None,
1102
+ timeout_ms: Optional[int] = None,
1103
+ http_headers: Optional[Mapping[str, str]] = None,
1104
+ ) -> models.TransactionResponse:
1105
+ r"""Unwrap WETH
1106
+
1107
+ Unwrapping WETH converts the ERC-20 compliant form of ETH back to native ETH that
1108
+ can be used for gas and other native purposes.
1109
+
1110
+ :param amount: The amount of WETH to unwrap.
1111
+ :param chain:
1112
+ :param sender: The address of the transaction sender.
1113
+ :param estimate_gas: Determines whether to estimate gas costs for transactions, also verifying that the transaction can be successfully executed.
1114
+ :param retries: Override the default retry configuration for this method
1115
+ :param server_url: Override the default server URL for this method
1116
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
1117
+ :param http_headers: Additional headers to set or replace on requests.
1118
+ """
1119
+ base_url = None
1120
+ url_variables = None
1121
+ if timeout_ms is None:
1122
+ timeout_ms = self.sdk_configuration.timeout_ms
1123
+
1124
+ if server_url is not None:
1125
+ base_url = server_url
1126
+ else:
1127
+ base_url = self._get_url(base_url, url_variables)
1128
+
1129
+ request = models.UnwrapWethRequest(
1130
+ amount=amount,
1131
+ chain=chain,
1132
+ sender=sender,
1133
+ estimate_gas=estimate_gas,
1134
+ )
1135
+
1136
+ req = self._build_request_async(
1137
+ method="POST",
1138
+ path="/v1/token/unwrap_weth",
1139
+ base_url=base_url,
1140
+ url_variables=url_variables,
1141
+ request=request,
1142
+ request_body_required=True,
1143
+ request_has_path_params=False,
1144
+ request_has_query_params=True,
1145
+ user_agent_header="user-agent",
1146
+ accept_header_value="application/json",
1147
+ http_headers=http_headers,
1148
+ security=self.sdk_configuration.security,
1149
+ get_serialized_body=lambda: utils.serialize_request_body(
1150
+ request, False, False, "json", models.UnwrapWethRequest
1151
+ ),
1152
+ allow_empty_value=None,
1153
+ timeout_ms=timeout_ms,
1154
+ )
1155
+
1156
+ if retries == UNSET:
1157
+ if self.sdk_configuration.retry_config is not UNSET:
1158
+ retries = self.sdk_configuration.retry_config
1159
+
1160
+ retry_config = None
1161
+ if isinstance(retries, utils.RetryConfig):
1162
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
1163
+
1164
+ http_res = await self.do_request_async(
1165
+ hook_ctx=HookContext(
1166
+ config=self.sdk_configuration,
1167
+ base_url=base_url or "",
1168
+ operation_id="v1_token_unwrap_weth",
1169
+ oauth2_scopes=None,
762
1170
  security_source=self.sdk_configuration.security,
763
1171
  ),
764
1172
  request=req,