privy_ruby 0.0.2 → 0.2.0

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 (303) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/README.md +1 -1
  4. data/lib/privy/base58.rb +41 -0
  5. data/lib/privy/client.rb +12 -3
  6. data/lib/privy/cryptography.rb +34 -0
  7. data/lib/privy/models/analytics_event_input.rb +2 -2
  8. data/lib/privy/models/bitcoin_address.rb +7 -0
  9. data/lib/privy/models/bridge_destination_asset.rb +1 -0
  10. data/lib/privy/models/bridge_fiat_virtual_account_destination.rb +6 -1
  11. data/lib/privy/models/bridge_fiat_virtual_account_request.rb +6 -2
  12. data/lib/privy/models/bridge_fiat_virtual_account_response.rb +2 -1
  13. data/lib/privy/models/bridge_fiat_virtual_account_source.rb +4 -1
  14. data/lib/privy/models/bridge_sandbox_fiat_virtual_account_request.rb +6 -2
  15. data/lib/privy/models/bridge_sandbox_fiat_virtual_account_response.rb +2 -1
  16. data/lib/privy/models/bridge_source_asset.rb +1 -0
  17. data/lib/privy/models/create_link_auth_intent_input.rb +17 -0
  18. data/lib/privy/models/create_link_auth_intent_response.rb +36 -0
  19. data/lib/privy/models/create_stripe_onramp_session_input.rb +33 -0
  20. data/lib/privy/models/create_stripe_onramp_session_response.rb +38 -0
  21. data/lib/privy/models/device_authorization_response.rb +63 -0
  22. data/lib/privy/models/device_verify_action.rb +16 -0
  23. data/lib/privy/models/device_verify_request_body.rb +27 -0
  24. data/lib/privy/models/device_verify_response.rb +18 -0
  25. data/lib/privy/models/earn_incentive_reward_entry.rb +50 -0
  26. data/lib/privy/models/earn_incentive_rewards_query.rb +18 -0
  27. data/lib/privy/models/earn_incentive_rewards_response.rb +19 -0
  28. data/lib/privy/models/evm_address.rb +7 -0
  29. data/lib/privy/models/evm_checksum_address.rb +7 -0
  30. data/lib/privy/models/exchange_stripe_tokens_input.rb +23 -0
  31. data/lib/privy/models/exchange_stripe_tokens_response.rb +17 -0
  32. data/lib/privy/models/fiat_onramp_provider.rb +2 -0
  33. data/lib/privy/models/fiat_onramp_stripe_sdk_session_response.rb +45 -0
  34. data/lib/privy/models/fiat_onramp_url_session_response.rb +39 -0
  35. data/lib/privy/models/gas.rb +35 -0
  36. data/lib/privy/models/get_fiat_onramp_url_response.rb +12 -14
  37. data/lib/privy/models/get_stripe_crypto_customer_response.rb +39 -0
  38. data/lib/privy/models/hyperliquid_token_address.rb +7 -0
  39. data/lib/privy/models/kraken_embed_custom_order_cancelled_webhook_payload.rb +66 -0
  40. data/lib/privy/models/kraken_embed_custom_order_executed_webhook_payload.rb +54 -0
  41. data/lib/privy/models/kraken_embed_custom_order_execution_failed_webhook_payload.rb +67 -0
  42. data/lib/privy/models/link_auth_intent_created.rb +35 -0
  43. data/lib/privy/models/link_auth_intent_no_account.rb +27 -0
  44. data/lib/privy/models/linked_account_embedded_wallet.rb +1 -0
  45. data/lib/privy/models/list_stripe_consumer_wallets_response.rb +17 -0
  46. data/lib/privy/models/list_stripe_payment_tokens_response.rb +17 -0
  47. data/lib/privy/models/oauth_grant.rb +54 -0
  48. data/lib/privy/models/oauth_grant_list_response.rb +18 -0
  49. data/lib/privy/models/oauth_grant_revoke_response.rb +30 -0
  50. data/lib/privy/models/oauth_token_authorization_code_request_body.rb +59 -0
  51. data/lib/privy/models/oauth_token_device_code_pending_error.rb +50 -0
  52. data/lib/privy/models/oauth_token_device_code_request_body.rb +36 -0
  53. data/lib/privy/models/oauth_token_grant_type.rb +17 -0
  54. data/lib/privy/models/oauth_token_refresh_token_request_body.rb +36 -0
  55. data/lib/privy/models/oauth_token_request_body.rb +24 -0
  56. data/lib/privy/models/oauth_token_success_response.rb +58 -0
  57. data/lib/privy/models/onramp_session_fees.rb +23 -0
  58. data/lib/privy/models/onramp_session_params.rb +61 -0
  59. data/lib/privy/models/onramp_session_transaction_details.rb +59 -0
  60. data/lib/privy/models/refresh_stripe_quote_response.rb +18 -0
  61. data/lib/privy/models/rule_delete_intent_response.rb +63 -0
  62. data/lib/privy/models/rule_intent_response.rb +0 -1
  63. data/lib/privy/models/rule_mutate_intent_response.rb +64 -0
  64. data/lib/privy/models/solana_address.rb +7 -0
  65. data/lib/privy/models/stripe_consumer_wallet.rb +29 -0
  66. data/lib/privy/models/stripe_crypto_customer_active.rb +39 -0
  67. data/lib/privy/models/stripe_crypto_customer_expired.rb +33 -0
  68. data/lib/privy/models/stripe_crypto_customer_none.rb +27 -0
  69. data/lib/privy/models/stripe_onramp_checkout_response.rb +25 -0
  70. data/lib/privy/models/stripe_onramp_session_status.rb +17 -0
  71. data/lib/privy/models/stripe_payment_token.rb +23 -0
  72. data/lib/privy/models/stripe_quote.rb +17 -0
  73. data/lib/privy/models/stripe_transaction_details.rb +17 -0
  74. data/lib/privy/models/stripe_verification.rb +23 -0
  75. data/lib/privy/models/swap_action_response.rb +46 -1
  76. data/lib/privy/models/swap_destination.rb +13 -4
  77. data/lib/privy/models/swap_quote_destination.rb +15 -4
  78. data/lib/privy/models/swap_quote_request_body.rb +12 -4
  79. data/lib/privy/models/swap_quote_response.rb +40 -3
  80. data/lib/privy/models/swap_request_body.rb +12 -4
  81. data/lib/privy/models/token_transfer_destination.rb +2 -2
  82. data/lib/privy/models/transfer_action_response.rb +29 -3
  83. data/lib/privy/models/transfer_quote_request_body.rb +3 -2
  84. data/lib/privy/models/transfer_quote_response.rb +10 -1
  85. data/lib/privy/models/transfer_received_transaction_detail.rb +5 -0
  86. data/lib/privy/models/transfer_request_body.rb +3 -2
  87. data/lib/privy/models/transfer_sent_transaction_detail.rb +5 -0
  88. data/lib/privy/models/tron_address.rb +7 -0
  89. data/lib/privy/models/wallet_asset.rb +1 -0
  90. data/lib/privy/models/wallet_batch_create_response.rb +1 -0
  91. data/lib/privy/models/wallet_create_batch_params.rb +14 -0
  92. data/lib/privy/models/wallet_ethereum_asset.rb +1 -0
  93. data/lib/privy/models/wallets/balance_get_params.rb +11 -0
  94. data/lib/privy/models/wallets/balance_get_response.rb +5 -0
  95. data/lib/privy/models/wallets/swap_execute_params.rb +45 -0
  96. data/lib/privy/models/wallets/swap_quote_params.rb +36 -0
  97. data/lib/privy/models/wallets/transaction_get_params.rb +3 -0
  98. data/lib/privy/models.rb +117 -4
  99. data/lib/privy/public_api/privy_client.rb +2 -1
  100. data/lib/privy/public_api/services/earn/ethereum/incentive.rb +61 -0
  101. data/lib/privy/public_api/services/earn/ethereum.rb +131 -0
  102. data/lib/privy/public_api/services/earn.rb +18 -0
  103. data/lib/privy/public_api/services/key_quorums.rb +7 -1
  104. data/lib/privy/public_api/services/policies.rb +21 -3
  105. data/lib/privy/public_api/services/transactions.rb +14 -0
  106. data/lib/privy/public_api/services/wallets.rb +153 -1
  107. data/lib/privy/resources/intents.rb +8 -7
  108. data/lib/privy/resources/oauth.rb +14 -0
  109. data/lib/privy/resources/onramps.rb +14 -0
  110. data/lib/privy/resources/wallets/swap.rb +105 -0
  111. data/lib/privy/resources/wallets.rb +35 -3
  112. data/lib/privy/version.rb +1 -1
  113. data/lib/privy/wallet_entropy.rb +60 -0
  114. data/lib/privy.rb +71 -5
  115. data/rbi/privy/client.rbi +9 -2
  116. data/rbi/privy/models/analytics_event_input.rbi +3 -6
  117. data/rbi/privy/models/bitcoin_address.rbi +7 -0
  118. data/rbi/privy/models/bridge_destination_asset.rbi +1 -0
  119. data/rbi/privy/models/bridge_fiat_virtual_account_destination.rbi +8 -1
  120. data/rbi/privy/models/bridge_fiat_virtual_account_request.rbi +9 -1
  121. data/rbi/privy/models/bridge_fiat_virtual_account_response.rbi +2 -0
  122. data/rbi/privy/models/bridge_fiat_virtual_account_source.rbi +6 -1
  123. data/rbi/privy/models/bridge_sandbox_fiat_virtual_account_request.rbi +9 -1
  124. data/rbi/privy/models/bridge_sandbox_fiat_virtual_account_response.rbi +2 -0
  125. data/rbi/privy/models/bridge_source_asset.rbi +1 -0
  126. data/rbi/privy/models/create_link_auth_intent_input.rbi +27 -0
  127. data/rbi/privy/models/create_link_auth_intent_response.rbi +68 -0
  128. data/rbi/privy/models/create_stripe_onramp_session_input.rbi +55 -0
  129. data/rbi/privy/models/create_stripe_onramp_session_response.rbi +88 -0
  130. data/rbi/privy/models/device_authorization_response.rbi +81 -0
  131. data/rbi/privy/models/device_verify_action.rbi +22 -0
  132. data/rbi/privy/models/device_verify_request_body.rbi +44 -0
  133. data/rbi/privy/models/device_verify_response.rbi +28 -0
  134. data/rbi/privy/models/earn_incentive_reward_entry.rbi +73 -0
  135. data/rbi/privy/models/earn_incentive_rewards_query.rbi +28 -0
  136. data/rbi/privy/models/earn_incentive_rewards_response.rbi +35 -0
  137. data/rbi/privy/models/evm_address.rbi +7 -0
  138. data/rbi/privy/models/evm_checksum_address.rbi +7 -0
  139. data/rbi/privy/models/exchange_stripe_tokens_input.rbi +33 -0
  140. data/rbi/privy/models/exchange_stripe_tokens_response.rbi +24 -0
  141. data/rbi/privy/models/fiat_onramp_provider.rbi +3 -0
  142. data/rbi/privy/models/fiat_onramp_stripe_sdk_session_response.rbi +78 -0
  143. data/rbi/privy/models/fiat_onramp_url_session_response.rbi +65 -0
  144. data/rbi/privy/models/gas.rbi +46 -0
  145. data/rbi/privy/models/get_fiat_onramp_url_response.rbi +12 -15
  146. data/rbi/privy/models/get_stripe_crypto_customer_response.rbi +81 -0
  147. data/rbi/privy/models/hyperliquid_token_address.rbi +7 -0
  148. data/rbi/privy/models/kraken_embed_custom_order_cancelled_webhook_payload.rbi +111 -0
  149. data/rbi/privy/models/kraken_embed_custom_order_executed_webhook_payload.rbi +101 -0
  150. data/rbi/privy/models/kraken_embed_custom_order_execution_failed_webhook_payload.rbi +111 -0
  151. data/rbi/privy/models/link_auth_intent_created.rbi +60 -0
  152. data/rbi/privy/models/link_auth_intent_no_account.rbi +54 -0
  153. data/rbi/privy/models/linked_account_embedded_wallet.rbi +1 -0
  154. data/rbi/privy/models/list_stripe_consumer_wallets_response.rbi +31 -0
  155. data/rbi/privy/models/list_stripe_payment_tokens_response.rbi +31 -0
  156. data/rbi/privy/models/oauth_grant.rbi +78 -0
  157. data/rbi/privy/models/oauth_grant_list_response.rbi +32 -0
  158. data/rbi/privy/models/oauth_grant_revoke_response.rbi +58 -0
  159. data/rbi/privy/models/oauth_token_authorization_code_request_body.rbi +115 -0
  160. data/rbi/privy/models/oauth_token_device_code_pending_error.rbi +106 -0
  161. data/rbi/privy/models/oauth_token_device_code_request_body.rbi +78 -0
  162. data/rbi/privy/models/oauth_token_grant_type.rbi +29 -0
  163. data/rbi/privy/models/oauth_token_refresh_token_request_body.rbi +78 -0
  164. data/rbi/privy/models/oauth_token_request_body.rbi +23 -0
  165. data/rbi/privy/models/oauth_token_success_response.rbi +95 -0
  166. data/rbi/privy/models/onramp_session_fees.rbi +39 -0
  167. data/rbi/privy/models/onramp_session_params.rbi +76 -0
  168. data/rbi/privy/models/onramp_session_transaction_details.rbi +95 -0
  169. data/rbi/privy/models/refresh_stripe_quote_response.rbi +33 -0
  170. data/rbi/privy/models/rule_delete_intent_response.rbi +113 -0
  171. data/rbi/privy/models/rule_mutate_intent_response.rbi +113 -0
  172. data/rbi/privy/models/solana_address.rbi +7 -0
  173. data/rbi/privy/models/stripe_consumer_wallet.rbi +38 -0
  174. data/rbi/privy/models/stripe_crypto_customer_active.rbi +68 -0
  175. data/rbi/privy/models/stripe_crypto_customer_expired.rbi +63 -0
  176. data/rbi/privy/models/stripe_crypto_customer_none.rbi +53 -0
  177. data/rbi/privy/models/stripe_onramp_checkout_response.rbi +51 -0
  178. data/rbi/privy/models/stripe_onramp_session_status.rbi +26 -0
  179. data/rbi/privy/models/stripe_payment_token.rbi +27 -0
  180. data/rbi/privy/models/stripe_quote.rbi +22 -0
  181. data/rbi/privy/models/stripe_transaction_details.rbi +24 -0
  182. data/rbi/privy/models/stripe_verification.rbi +27 -0
  183. data/rbi/privy/models/swap_action_response.rbi +96 -22
  184. data/rbi/privy/models/swap_destination.rbi +26 -7
  185. data/rbi/privy/models/swap_quote_destination.rbi +30 -7
  186. data/rbi/privy/models/swap_quote_request_body.rbi +15 -4
  187. data/rbi/privy/models/swap_quote_response.rbi +71 -5
  188. data/rbi/privy/models/swap_request_body.rbi +15 -4
  189. data/rbi/privy/models/token_transfer_destination.rbi +2 -2
  190. data/rbi/privy/models/transfer_action_response.rbi +57 -2
  191. data/rbi/privy/models/transfer_quote_request_body.rbi +4 -2
  192. data/rbi/privy/models/transfer_quote_response.rbi +16 -3
  193. data/rbi/privy/models/transfer_received_transaction_detail.rbi +15 -0
  194. data/rbi/privy/models/transfer_request_body.rbi +4 -2
  195. data/rbi/privy/models/transfer_sent_transaction_detail.rbi +15 -0
  196. data/rbi/privy/models/tron_address.rbi +7 -0
  197. data/rbi/privy/models/wallet_asset.rbi +1 -0
  198. data/rbi/privy/models/wallet_batch_create_response.rbi +2 -19
  199. data/rbi/privy/models/wallet_batch_create_result.rbi +4 -4
  200. data/rbi/privy/models/wallet_create_batch_params.rbi +27 -0
  201. data/rbi/privy/models/wallet_ethereum_asset.rbi +1 -0
  202. data/rbi/privy/models/wallets/balance_get_params.rbi +22 -0
  203. data/rbi/privy/models/wallets/balance_get_response.rbi +15 -0
  204. data/rbi/privy/models/wallets/swap_execute_params.rbi +71 -0
  205. data/rbi/privy/models/wallets/swap_quote_params.rbi +58 -0
  206. data/rbi/privy/models/wallets/transaction_get_params.rbi +5 -0
  207. data/rbi/privy/models.rbi +127 -5
  208. data/rbi/privy/resources/intents.rbi +7 -4
  209. data/rbi/privy/resources/oauth.rbi +12 -0
  210. data/rbi/privy/resources/onramps.rbi +12 -0
  211. data/rbi/privy/resources/wallets/swap.rbi +94 -0
  212. data/rbi/privy/resources/wallets.rbi +28 -3
  213. data/sig/privy/client.rbs +5 -1
  214. data/sig/privy/models/analytics_event_input.rbs +4 -6
  215. data/sig/privy/models/bitcoin_address.rbs +5 -0
  216. data/sig/privy/models/create_link_auth_intent_input.rbs +15 -0
  217. data/sig/privy/models/create_link_auth_intent_response.rbs +26 -0
  218. data/sig/privy/models/create_stripe_onramp_session_input.rbs +30 -0
  219. data/sig/privy/models/create_stripe_onramp_session_response.rbs +42 -0
  220. data/sig/privy/models/device_authorization_response.rbs +45 -0
  221. data/sig/privy/models/device_verify_action.rbs +14 -0
  222. data/sig/privy/models/device_verify_request_body.rbs +22 -0
  223. data/sig/privy/models/device_verify_response.rbs +13 -0
  224. data/sig/privy/models/earn_incentive_reward_entry.rbs +42 -0
  225. data/sig/privy/models/earn_incentive_rewards_query.rbs +13 -0
  226. data/sig/privy/models/earn_incentive_rewards_response.rbs +16 -0
  227. data/sig/privy/models/evm_address.rbs +5 -0
  228. data/sig/privy/models/evm_checksum_address.rbs +5 -0
  229. data/sig/privy/models/exchange_stripe_tokens_input.rbs +19 -0
  230. data/sig/privy/models/exchange_stripe_tokens_response.rbs +13 -0
  231. data/sig/privy/models/fiat_onramp_provider.rbs +4 -0
  232. data/sig/privy/models/fiat_onramp_stripe_sdk_session_response.rbs +45 -0
  233. data/sig/privy/models/fiat_onramp_url_session_response.rbs +40 -0
  234. data/sig/privy/models/gas.rbs +21 -0
  235. data/sig/privy/models/get_fiat_onramp_url_response.rbs +6 -8
  236. data/sig/privy/models/get_stripe_crypto_customer_response.rbs +29 -0
  237. data/sig/privy/models/hyperliquid_token_address.rbs +5 -0
  238. data/sig/privy/models/kraken_embed_custom_order_cancelled_webhook_payload.rbs +50 -0
  239. data/sig/privy/models/kraken_embed_custom_order_executed_webhook_payload.rbs +45 -0
  240. data/sig/privy/models/kraken_embed_custom_order_execution_failed_webhook_payload.rbs +50 -0
  241. data/sig/privy/models/link_auth_intent_created.rbs +32 -0
  242. data/sig/privy/models/link_auth_intent_no_account.rbs +26 -0
  243. data/sig/privy/models/list_stripe_consumer_wallets_response.rbs +14 -0
  244. data/sig/privy/models/list_stripe_payment_tokens_response.rbs +14 -0
  245. data/sig/privy/models/oauth_grant.rbs +45 -0
  246. data/sig/privy/models/oauth_grant_list_response.rbs +13 -0
  247. data/sig/privy/models/oauth_grant_revoke_response.rbs +28 -0
  248. data/sig/privy/models/oauth_token_authorization_code_request_body.rbs +56 -0
  249. data/sig/privy/models/oauth_token_device_code_pending_error.rbs +48 -0
  250. data/sig/privy/models/oauth_token_device_code_request_body.rbs +35 -0
  251. data/sig/privy/models/oauth_token_grant_type.rbs +18 -0
  252. data/sig/privy/models/oauth_token_refresh_token_request_body.rbs +35 -0
  253. data/sig/privy/models/oauth_token_request_body.rbs +14 -0
  254. data/sig/privy/models/oauth_token_success_response.rbs +49 -0
  255. data/sig/privy/models/onramp_session_fees.rbs +22 -0
  256. data/sig/privy/models/onramp_session_params.rbs +50 -0
  257. data/sig/privy/models/onramp_session_transaction_details.rbs +53 -0
  258. data/sig/privy/models/refresh_stripe_quote_response.rbs +13 -0
  259. data/sig/privy/models/rule_delete_intent_response.rbs +66 -0
  260. data/sig/privy/models/rule_mutate_intent_response.rbs +66 -0
  261. data/sig/privy/models/solana_address.rbs +5 -0
  262. data/sig/privy/models/stripe_consumer_wallet.rbs +22 -0
  263. data/sig/privy/models/stripe_crypto_customer_active.rbs +40 -0
  264. data/sig/privy/models/stripe_crypto_customer_expired.rbs +35 -0
  265. data/sig/privy/models/stripe_crypto_customer_none.rbs +28 -0
  266. data/sig/privy/models/stripe_onramp_checkout_response.rbs +29 -0
  267. data/sig/privy/models/stripe_onramp_session_status.rbs +15 -0
  268. data/sig/privy/models/stripe_payment_token.rbs +15 -0
  269. data/sig/privy/models/stripe_quote.rbs +13 -0
  270. data/sig/privy/models/stripe_transaction_details.rbs +13 -0
  271. data/sig/privy/models/stripe_verification.rbs +15 -0
  272. data/sig/privy/models/swap_action_response.rbs +39 -0
  273. data/sig/privy/models/swap_destination.rbs +16 -3
  274. data/sig/privy/models/swap_quote_destination.rbs +16 -3
  275. data/sig/privy/models/swap_quote_request_body.rbs +14 -5
  276. data/sig/privy/models/swap_quote_response.rbs +33 -3
  277. data/sig/privy/models/swap_request_body.rbs +14 -5
  278. data/sig/privy/models/transfer_action_response.rbs +23 -0
  279. data/sig/privy/models/transfer_quote_response.rbs +10 -3
  280. data/sig/privy/models/transfer_received_transaction_detail.rbs +15 -1
  281. data/sig/privy/models/transfer_sent_transaction_detail.rbs +15 -1
  282. data/sig/privy/models/tron_address.rbs +5 -0
  283. data/sig/privy/models/wallet_asset.rbs +2 -1
  284. data/sig/privy/models/wallet_create_batch_params.rbs +15 -0
  285. data/sig/privy/models/wallet_ethereum_asset.rbs +2 -1
  286. data/sig/privy/models/wallets/balance_get_params.rbs +10 -0
  287. data/sig/privy/models/wallets/balance_get_response.rbs +6 -0
  288. data/sig/privy/models/wallets/swap_execute_params.rbs +44 -0
  289. data/sig/privy/models/wallets/swap_quote_params.rbs +34 -0
  290. data/sig/privy/models/wallets/transaction_get_params.rbs +2 -0
  291. data/sig/privy/models.rbs +115 -5
  292. data/sig/privy/resources/intents.rbs +3 -3
  293. data/sig/privy/resources/oauth.rbs +7 -0
  294. data/sig/privy/resources/onramps.rbs +7 -0
  295. data/sig/privy/resources/wallets/swap.rbs +34 -0
  296. data/sig/privy/resources/wallets.rbs +7 -0
  297. metadata +194 -8
  298. data/lib/privy/models/gas_sponsorship_configuration.rb +0 -29
  299. data/lib/privy/models/gas_sponsorship_configuration_input.rb +0 -29
  300. data/rbi/privy/models/gas_sponsorship_configuration.rbi +0 -48
  301. data/rbi/privy/models/gas_sponsorship_configuration_input.rbi +0 -60
  302. data/sig/privy/models/gas_sponsorship_configuration.rbs +0 -30
  303. data/sig/privy/models/gas_sponsorship_configuration_input.rbs +0 -36
@@ -0,0 +1,51 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class StripeOnrampCheckoutResponse < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::StripeOnrampCheckoutResponse, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :client_secret
13
+
14
+ # Transaction details from checkout.
15
+ sig { returns(T.nilable(Privy::StripeTransactionDetails)) }
16
+ attr_reader :transaction_details
17
+
18
+ sig do
19
+ params(
20
+ transaction_details: Privy::StripeTransactionDetails::OrHash
21
+ ).void
22
+ end
23
+ attr_writer :transaction_details
24
+
25
+ # Checkout confirmation with client secret.
26
+ sig do
27
+ params(
28
+ client_secret: String,
29
+ transaction_details: Privy::StripeTransactionDetails::OrHash
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(
33
+ client_secret:,
34
+ # Transaction details from checkout.
35
+ transaction_details: nil
36
+ )
37
+ end
38
+
39
+ sig do
40
+ override.returns(
41
+ {
42
+ client_secret: String,
43
+ transaction_details: Privy::StripeTransactionDetails
44
+ }
45
+ )
46
+ end
47
+ def to_hash
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,26 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ # The state of the user's Stripe onramp session.
6
+ module StripeOnrampSessionStatus
7
+ extend Privy::Internal::Type::Enum
8
+
9
+ TaggedSymbol =
10
+ T.type_alias { T.all(Symbol, Privy::StripeOnrampSessionStatus) }
11
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
12
+
13
+ ACTIVE = T.let(:active, Privy::StripeOnrampSessionStatus::TaggedSymbol)
14
+ EXPIRED = T.let(:expired, Privy::StripeOnrampSessionStatus::TaggedSymbol)
15
+ NONE = T.let(:none, Privy::StripeOnrampSessionStatus::TaggedSymbol)
16
+
17
+ sig do
18
+ override.returns(
19
+ T::Array[Privy::StripeOnrampSessionStatus::TaggedSymbol]
20
+ )
21
+ end
22
+ def self.values
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class StripePaymentToken < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::StripePaymentToken, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :id
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :type
16
+
17
+ # A saved payment token.
18
+ sig { params(id: String, type: String).returns(T.attached_class) }
19
+ def self.new(id:, type:)
20
+ end
21
+
22
+ sig { override.returns({ id: String, type: String }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,22 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class StripeQuote < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Privy::StripeQuote, Privy::Internal::AnyHash) }
8
+
9
+ sig { returns(Float) }
10
+ attr_accessor :expires_at
11
+
12
+ # A refreshed quote.
13
+ sig { params(expires_at: Float).returns(T.attached_class) }
14
+ def self.new(expires_at:)
15
+ end
16
+
17
+ sig { override.returns({ expires_at: Float }) }
18
+ def to_hash
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,24 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class StripeTransactionDetails < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::StripeTransactionDetails, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T.nilable(String)) }
12
+ attr_accessor :last_error
13
+
14
+ # Transaction details from checkout.
15
+ sig { params(last_error: T.nilable(String)).returns(T.attached_class) }
16
+ def self.new(last_error: nil)
17
+ end
18
+
19
+ sig { override.returns({ last_error: T.nilable(String) }) }
20
+ def to_hash
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class StripeVerification < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::StripeVerification, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :name
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :status
16
+
17
+ # A verification entry on a CryptoCustomer.
18
+ sig { params(name: String, status: String).returns(T.attached_class) }
19
+ def self.new(name:, status:)
20
+ end
21
+
22
+ sig { override.returns({ name: String, status: String }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end
@@ -37,16 +37,49 @@ module Privy
37
37
  attr_accessor :output_token
38
38
 
39
39
  # Status of a wallet action.
40
- sig { returns(Privy::WalletActionStatus::OrSymbol) }
40
+ sig { returns(Privy::WalletActionStatus::TaggedSymbol) }
41
41
  attr_accessor :status
42
42
 
43
- sig { returns(Privy::SwapActionResponse::Type::OrSymbol) }
43
+ sig { returns(Privy::SwapActionResponse::Type::TaggedSymbol) }
44
44
  attr_accessor :type
45
45
 
46
46
  # The ID of the wallet involved in the action.
47
47
  sig { returns(String) }
48
48
  attr_accessor :wallet_id
49
49
 
50
+ # Destination chain CAIP-2 identifier. Present for cross-chain swaps.
51
+ sig { returns(T.nilable(String)) }
52
+ attr_reader :destination_caip2
53
+
54
+ sig { params(destination_caip2: String).void }
55
+ attr_writer :destination_caip2
56
+
57
+ # Estimated fee breakdown from the provider quote.
58
+ sig { returns(T.nilable(T::Array[Privy::FeeLineItem::Variants])) }
59
+ attr_reader :estimated_fees
60
+
61
+ sig do
62
+ params(
63
+ estimated_fees:
64
+ T::Array[
65
+ T.any(
66
+ Privy::RelayerFee::OrHash,
67
+ Privy::PrivyFee::OrHash,
68
+ Privy::DeveloperFee::OrHash
69
+ )
70
+ ]
71
+ ).void
72
+ end
73
+ attr_writer :estimated_fees
74
+
75
+ # Gas cost for a blockchain action. Includes both raw base-unit amount and a
76
+ # human-readable decimal string, plus the gas token symbol.
77
+ sig { returns(T.nilable(Privy::Gas)) }
78
+ attr_reader :estimated_gas
79
+
80
+ sig { params(estimated_gas: Privy::Gas::OrHash).void }
81
+ attr_writer :estimated_gas
82
+
50
83
  # A description of why a wallet action (or a step within a wallet action) failed.
51
84
  sig { returns(T.nilable(Privy::FailureReason)) }
52
85
  attr_reader :failure_reason
@@ -54,21 +87,34 @@ module Privy
54
87
  sig { params(failure_reason: Privy::FailureReason::OrHash).void }
55
88
  attr_writer :failure_reason
56
89
 
57
- # The steps of the wallet action. Only returned if `?include=steps` is provided.
90
+ # Actual fees paid for the swap. Populated after on-chain confirmation.
91
+ sig { returns(T.nilable(T::Array[Privy::FeeLineItem::Variants])) }
92
+ attr_reader :fees
93
+
58
94
  sig do
59
- returns(
60
- T.nilable(
95
+ params(
96
+ fees:
61
97
  T::Array[
62
98
  T.any(
63
- Privy::EvmTransactionWalletActionStep,
64
- Privy::EvmUserOperationWalletActionStep,
65
- Privy::SvmTransactionWalletActionStep,
66
- Privy::ExternalTransactionWalletActionStep
99
+ Privy::RelayerFee::OrHash,
100
+ Privy::PrivyFee::OrHash,
101
+ Privy::DeveloperFee::OrHash
67
102
  )
68
103
  ]
69
- )
70
- )
104
+ ).void
71
105
  end
106
+ attr_writer :fees
107
+
108
+ # Gas cost for a blockchain action. Includes both raw base-unit amount and a
109
+ # human-readable decimal string, plus the gas token symbol.
110
+ sig { returns(T.nilable(Privy::Gas)) }
111
+ attr_reader :gas
112
+
113
+ sig { params(gas: Privy::Gas::OrHash).void }
114
+ attr_writer :gas
115
+
116
+ # The steps of the wallet action. Only returned if `?include=steps` is provided.
117
+ sig { returns(T.nilable(T::Array[Privy::WalletActionStep::Variants])) }
72
118
  attr_reader :steps
73
119
 
74
120
  sig do
@@ -99,7 +145,26 @@ module Privy
99
145
  status: Privy::WalletActionStatus::OrSymbol,
100
146
  type: Privy::SwapActionResponse::Type::OrSymbol,
101
147
  wallet_id: String,
148
+ destination_caip2: String,
149
+ estimated_fees:
150
+ T::Array[
151
+ T.any(
152
+ Privy::RelayerFee::OrHash,
153
+ Privy::PrivyFee::OrHash,
154
+ Privy::DeveloperFee::OrHash
155
+ )
156
+ ],
157
+ estimated_gas: Privy::Gas::OrHash,
102
158
  failure_reason: Privy::FailureReason::OrHash,
159
+ fees:
160
+ T::Array[
161
+ T.any(
162
+ Privy::RelayerFee::OrHash,
163
+ Privy::PrivyFee::OrHash,
164
+ Privy::DeveloperFee::OrHash
165
+ )
166
+ ],
167
+ gas: Privy::Gas::OrHash,
103
168
  steps:
104
169
  T::Array[
105
170
  T.any(
@@ -131,8 +196,20 @@ module Privy
131
196
  type:,
132
197
  # The ID of the wallet involved in the action.
133
198
  wallet_id:,
199
+ # Destination chain CAIP-2 identifier. Present for cross-chain swaps.
200
+ destination_caip2: nil,
201
+ # Estimated fee breakdown from the provider quote.
202
+ estimated_fees: nil,
203
+ # Gas cost for a blockchain action. Includes both raw base-unit amount and a
204
+ # human-readable decimal string, plus the gas token symbol.
205
+ estimated_gas: nil,
134
206
  # A description of why a wallet action (or a step within a wallet action) failed.
135
207
  failure_reason: nil,
208
+ # Actual fees paid for the swap. Populated after on-chain confirmation.
209
+ fees: nil,
210
+ # Gas cost for a blockchain action. Includes both raw base-unit amount and a
211
+ # human-readable decimal string, plus the gas token symbol.
212
+ gas: nil,
136
213
  # The steps of the wallet action. Only returned if `?include=steps` is provided.
137
214
  steps: nil
138
215
  )
@@ -148,19 +225,16 @@ module Privy
148
225
  input_token: String,
149
226
  output_amount: T.nilable(String),
150
227
  output_token: String,
151
- status: Privy::WalletActionStatus::OrSymbol,
152
- type: Privy::SwapActionResponse::Type::OrSymbol,
228
+ status: Privy::WalletActionStatus::TaggedSymbol,
229
+ type: Privy::SwapActionResponse::Type::TaggedSymbol,
153
230
  wallet_id: String,
231
+ destination_caip2: String,
232
+ estimated_fees: T::Array[Privy::FeeLineItem::Variants],
233
+ estimated_gas: Privy::Gas,
154
234
  failure_reason: Privy::FailureReason,
155
- steps:
156
- T::Array[
157
- T.any(
158
- Privy::EvmTransactionWalletActionStep,
159
- Privy::EvmUserOperationWalletActionStep,
160
- Privy::SvmTransactionWalletActionStep,
161
- Privy::ExternalTransactionWalletActionStep
162
- )
163
- ]
235
+ fees: T::Array[Privy::FeeLineItem::Variants],
236
+ gas: Privy::Gas,
237
+ steps: T::Array[Privy::WalletActionStep::Variants]
164
238
  }
165
239
  )
166
240
  end
@@ -10,28 +10,47 @@ module Privy
10
10
  sig { returns(String) }
11
11
  attr_accessor :asset_address
12
12
 
13
- # CAIP-2 chain identifier for the destination. Must match source chain
14
- # cross-chain swaps are not yet supported. Defaults to source chain if omitted.
13
+ # CAIP-2 chain identifier for the destination. Defaults to source chain if
14
+ # omitted. Specify a different chain for cross-chain swaps.
15
15
  sig { returns(T.nilable(String)) }
16
16
  attr_reader :caip2
17
17
 
18
18
  sig { params(caip2: String).void }
19
19
  attr_writer :caip2
20
20
 
21
+ # Address to receive the output tokens. Defaults to the swapping wallet address.
22
+ # Required when swapping between different chain types (e.g. EVM to Solana).
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :destination_address
25
+
26
+ sig { params(destination_address: String).void }
27
+ attr_writer :destination_address
28
+
21
29
  # The output side of a swap execution request.
22
30
  sig do
23
- params(asset_address: String, caip2: String).returns(T.attached_class)
31
+ params(
32
+ asset_address: String,
33
+ caip2: String,
34
+ destination_address: String
35
+ ).returns(T.attached_class)
24
36
  end
25
37
  def self.new(
26
38
  # Token contract address to buy, or "native" for the chain's native token.
27
39
  asset_address:,
28
- # CAIP-2 chain identifier for the destination. Must match source chain
29
- # cross-chain swaps are not yet supported. Defaults to source chain if omitted.
30
- caip2: nil
40
+ # CAIP-2 chain identifier for the destination. Defaults to source chain if
41
+ # omitted. Specify a different chain for cross-chain swaps.
42
+ caip2: nil,
43
+ # Address to receive the output tokens. Defaults to the swapping wallet address.
44
+ # Required when swapping between different chain types (e.g. EVM to Solana).
45
+ destination_address: nil
31
46
  )
32
47
  end
33
48
 
34
- sig { override.returns({ asset_address: String, caip2: String }) }
49
+ sig do
50
+ override.returns(
51
+ { asset_address: String, caip2: String, destination_address: String }
52
+ )
53
+ end
35
54
  def to_hash
36
55
  end
37
56
  end
@@ -12,28 +12,51 @@ module Privy
12
12
  sig { returns(String) }
13
13
  attr_accessor :asset_address
14
14
 
15
- # CAIP-2 chain identifier for the destination. Must match source chain
16
- # cross-chain swaps are not yet supported. Defaults to source chain if omitted.
15
+ # CAIP-2 chain identifier for the destination. Defaults to source chain if
16
+ # omitted. Will result in a cross-chain swap if source and destination chains
17
+ # differ.
17
18
  sig { returns(T.nilable(String)) }
18
19
  attr_reader :caip2
19
20
 
20
21
  sig { params(caip2: String).void }
21
22
  attr_writer :caip2
22
23
 
24
+ # Address to receive the output tokens. Defaults to the swapping wallet address.
25
+ # Required when swapping between chains with different address types (e.g. EVM to
26
+ # Solana).
27
+ sig { returns(T.nilable(String)) }
28
+ attr_reader :destination_address
29
+
30
+ sig { params(destination_address: String).void }
31
+ attr_writer :destination_address
32
+
23
33
  # The output side of a swap quote request.
24
34
  sig do
25
- params(asset_address: String, caip2: String).returns(T.attached_class)
35
+ params(
36
+ asset_address: String,
37
+ caip2: String,
38
+ destination_address: String
39
+ ).returns(T.attached_class)
26
40
  end
27
41
  def self.new(
28
42
  # Token contract address to buy, or "native" for the chain's native token.
29
43
  asset_address:,
30
- # CAIP-2 chain identifier for the destination. Must match source chain
31
- # cross-chain swaps are not yet supported. Defaults to source chain if omitted.
32
- caip2: nil
44
+ # CAIP-2 chain identifier for the destination. Defaults to source chain if
45
+ # omitted. Will result in a cross-chain swap if source and destination chains
46
+ # differ.
47
+ caip2: nil,
48
+ # Address to receive the output tokens. Defaults to the swapping wallet address.
49
+ # Required when swapping between chains with different address types (e.g. EVM to
50
+ # Solana).
51
+ destination_address: nil
33
52
  )
34
53
  end
35
54
 
36
- sig { override.returns({ asset_address: String, caip2: String }) }
55
+ sig do
56
+ override.returns(
57
+ { asset_address: String, caip2: String, destination_address: String }
58
+ )
59
+ end
37
60
  def to_hash
38
61
  end
39
62
  end
@@ -33,12 +33,19 @@ module Privy
33
33
  sig { params(amount_type: Privy::AmountType::OrSymbol).void }
34
34
  attr_writer :amount_type
35
35
 
36
+ # Total fees assessed on a transfer, in BPS
37
+ sig { returns(T.nilable(Privy::FeeConfiguration)) }
38
+ attr_reader :fee_configuration
39
+
40
+ sig { params(fee_configuration: Privy::FeeConfiguration::OrHash).void }
41
+ attr_writer :fee_configuration
42
+
36
43
  # Maximum slippage tolerance in basis points (e.g., 50 for 0.5%). If omitted,
37
44
  # auto-slippage is used.
38
- sig { returns(T.nilable(Float)) }
45
+ sig { returns(T.nilable(Integer)) }
39
46
  attr_reader :slippage_bps
40
47
 
41
- sig { params(slippage_bps: Float).void }
48
+ sig { params(slippage_bps: Integer).void }
42
49
  attr_writer :slippage_bps
43
50
 
44
51
  # Input for requesting a token swap quote.
@@ -48,7 +55,8 @@ module Privy
48
55
  destination: Privy::SwapQuoteDestination::OrHash,
49
56
  source: Privy::SwapSource::OrHash,
50
57
  amount_type: Privy::AmountType::OrSymbol,
51
- slippage_bps: Float
58
+ fee_configuration: Privy::FeeConfiguration::OrHash,
59
+ slippage_bps: Integer
52
60
  ).returns(T.attached_class)
53
61
  end
54
62
  def self.new(
@@ -60,6 +68,8 @@ module Privy
60
68
  source:,
61
69
  # Whether the amount refers to the input token or output token.
62
70
  amount_type: nil,
71
+ # Total fees assessed on a transfer, in BPS
72
+ fee_configuration: nil,
63
73
  # Maximum slippage tolerance in basis points (e.g., 50 for 0.5%). If omitted,
64
74
  # auto-slippage is used.
65
75
  slippage_bps: nil
@@ -73,7 +83,8 @@ module Privy
73
83
  destination: Privy::SwapQuoteDestination,
74
84
  source: Privy::SwapSource,
75
85
  amount_type: Privy::AmountType::OrSymbol,
76
- slippage_bps: Float
86
+ fee_configuration: Privy::FeeConfiguration,
87
+ slippage_bps: Integer
77
88
  }
78
89
  )
79
90
  end
@@ -16,7 +16,8 @@ module Privy
16
16
  sig { returns(String) }
17
17
  attr_accessor :est_output_amount
18
18
 
19
- # Estimated gas cost in base units of the native token.
19
+ # Estimated gas cost in base units of the native token. @deprecated For
20
+ # cross-chain swaps, use estimated_gas instead.
20
21
  sig { returns(String) }
21
22
  attr_accessor :gas_estimate
22
23
 
@@ -36,6 +37,46 @@ module Privy
36
37
  sig { returns(String) }
37
38
  attr_accessor :output_token
38
39
 
40
+ # Destination chain CAIP-2 identifier for cross-chain swaps.
41
+ sig { returns(T.nilable(String)) }
42
+ attr_reader :destination_caip2
43
+
44
+ sig { params(destination_caip2: String).void }
45
+ attr_writer :destination_caip2
46
+
47
+ # Estimated fees for the swap. Only present for cross-chain swaps.
48
+ sig { returns(T.nilable(T::Array[Privy::FeeLineItem::Variants])) }
49
+ attr_reader :estimated_fees
50
+
51
+ sig do
52
+ params(
53
+ estimated_fees:
54
+ T::Array[
55
+ T.any(
56
+ Privy::RelayerFee::OrHash,
57
+ Privy::PrivyFee::OrHash,
58
+ Privy::DeveloperFee::OrHash
59
+ )
60
+ ]
61
+ ).void
62
+ end
63
+ attr_writer :estimated_fees
64
+
65
+ # Gas cost for a blockchain action. Includes both raw base-unit amount and a
66
+ # human-readable decimal string, plus the gas token symbol.
67
+ sig { returns(T.nilable(Privy::Gas)) }
68
+ attr_reader :estimated_gas
69
+
70
+ sig { params(estimated_gas: Privy::Gas::OrHash).void }
71
+ attr_writer :estimated_gas
72
+
73
+ # Quote expiry as Unix timestamp (seconds). Present for cross-chain quotes.
74
+ sig { returns(T.nilable(Float)) }
75
+ attr_reader :expires_at
76
+
77
+ sig { params(expires_at: Float).void }
78
+ attr_writer :expires_at
79
+
39
80
  # Pricing data for a token swap.
40
81
  sig do
41
82
  params(
@@ -45,7 +86,18 @@ module Privy
45
86
  input_amount: String,
46
87
  input_token: String,
47
88
  minimum_output_amount: String,
48
- output_token: String
89
+ output_token: String,
90
+ destination_caip2: String,
91
+ estimated_fees:
92
+ T::Array[
93
+ T.any(
94
+ Privy::RelayerFee::OrHash,
95
+ Privy::PrivyFee::OrHash,
96
+ Privy::DeveloperFee::OrHash
97
+ )
98
+ ],
99
+ estimated_gas: Privy::Gas::OrHash,
100
+ expires_at: Float
49
101
  ).returns(T.attached_class)
50
102
  end
51
103
  def self.new(
@@ -53,7 +105,8 @@ module Privy
53
105
  caip2:,
54
106
  # Estimated amount of output token in base units.
55
107
  est_output_amount:,
56
- # Estimated gas cost in base units of the native token.
108
+ # Estimated gas cost in base units of the native token. @deprecated For
109
+ # cross-chain swaps, use estimated_gas instead.
57
110
  gas_estimate:,
58
111
  # Amount of input token in base units.
59
112
  input_amount:,
@@ -62,7 +115,16 @@ module Privy
62
115
  # Minimum output amount accounting for slippage, in base units.
63
116
  minimum_output_amount:,
64
117
  # Token address being bought.
65
- output_token:
118
+ output_token:,
119
+ # Destination chain CAIP-2 identifier for cross-chain swaps.
120
+ destination_caip2: nil,
121
+ # Estimated fees for the swap. Only present for cross-chain swaps.
122
+ estimated_fees: nil,
123
+ # Gas cost for a blockchain action. Includes both raw base-unit amount and a
124
+ # human-readable decimal string, plus the gas token symbol.
125
+ estimated_gas: nil,
126
+ # Quote expiry as Unix timestamp (seconds). Present for cross-chain quotes.
127
+ expires_at: nil
66
128
  )
67
129
  end
68
130
 
@@ -75,7 +137,11 @@ module Privy
75
137
  input_amount: String,
76
138
  input_token: String,
77
139
  minimum_output_amount: String,
78
- output_token: String
140
+ output_token: String,
141
+ destination_caip2: String,
142
+ estimated_fees: T::Array[Privy::FeeLineItem::Variants],
143
+ estimated_gas: Privy::Gas,
144
+ expires_at: Float
79
145
  }
80
146
  )
81
147
  end
@@ -31,11 +31,18 @@ module Privy
31
31
  sig { params(amount_type: Privy::AmountType::OrSymbol).void }
32
32
  attr_writer :amount_type
33
33
 
34
+ # Total fees assessed on a transfer, in BPS
35
+ sig { returns(T.nilable(Privy::FeeConfiguration)) }
36
+ attr_reader :fee_configuration
37
+
38
+ sig { params(fee_configuration: Privy::FeeConfiguration::OrHash).void }
39
+ attr_writer :fee_configuration
40
+
34
41
  # Maximum slippage tolerance in basis points (e.g., 50 for 0.5%).
35
- sig { returns(T.nilable(Float)) }
42
+ sig { returns(T.nilable(Integer)) }
36
43
  attr_reader :slippage_bps
37
44
 
38
- sig { params(slippage_bps: Float).void }
45
+ sig { params(slippage_bps: Integer).void }
39
46
  attr_writer :slippage_bps
40
47
 
41
48
  # Input for executing a token swap.
@@ -45,7 +52,8 @@ module Privy
45
52
  destination: Privy::SwapDestination::OrHash,
46
53
  source: Privy::SwapSource::OrHash,
47
54
  amount_type: Privy::AmountType::OrSymbol,
48
- slippage_bps: Float
55
+ fee_configuration: Privy::FeeConfiguration::OrHash,
56
+ slippage_bps: Integer
49
57
  ).returns(T.attached_class)
50
58
  end
51
59
  def self.new(
@@ -57,6 +65,8 @@ module Privy
57
65
  source:,
58
66
  # Whether the amount refers to the input token or output token.
59
67
  amount_type: nil,
68
+ # Total fees assessed on a transfer, in BPS
69
+ fee_configuration: nil,
60
70
  # Maximum slippage tolerance in basis points (e.g., 50 for 0.5%).
61
71
  slippage_bps: nil
62
72
  )
@@ -69,7 +79,8 @@ module Privy
69
79
  destination: Privy::SwapDestination,
70
80
  source: Privy::SwapSource,
71
81
  amount_type: Privy::AmountType::OrSymbol,
72
- slippage_bps: Float
82
+ fee_configuration: Privy::FeeConfiguration,
83
+ slippage_bps: Integer
73
84
  }
74
85
  )
75
86
  end