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,78 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class OAuthGrant < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Privy::OAuthGrant, Privy::Internal::AnyHash) }
8
+
9
+ # The grant identifier.
10
+ sig { returns(String) }
11
+ attr_accessor :id
12
+
13
+ # When the grant was first created.
14
+ sig { returns(Time) }
15
+ attr_accessor :created_at
16
+
17
+ # The OAuth grant type that created this grant.
18
+ sig { returns(Privy::OAuthGrant::GrantType::OrSymbol) }
19
+ attr_accessor :grant_type
20
+
21
+ # When the grant was last used (e.g. token refreshed).
22
+ sig { returns(Time) }
23
+ attr_accessor :last_used_at
24
+
25
+ # An active OAuth grant representing an authorized session.
26
+ sig do
27
+ params(
28
+ id: String,
29
+ created_at: Time,
30
+ grant_type: Privy::OAuthGrant::GrantType::OrSymbol,
31
+ last_used_at: Time
32
+ ).returns(T.attached_class)
33
+ end
34
+ def self.new(
35
+ # The grant identifier.
36
+ id:,
37
+ # When the grant was first created.
38
+ created_at:,
39
+ # The OAuth grant type that created this grant.
40
+ grant_type:,
41
+ # When the grant was last used (e.g. token refreshed).
42
+ last_used_at:
43
+ )
44
+ end
45
+
46
+ sig do
47
+ override.returns(
48
+ {
49
+ id: String,
50
+ created_at: Time,
51
+ grant_type: Privy::OAuthGrant::GrantType::OrSymbol,
52
+ last_used_at: Time
53
+ }
54
+ )
55
+ end
56
+ def to_hash
57
+ end
58
+
59
+ # The OAuth grant type that created this grant.
60
+ module GrantType
61
+ extend Privy::Internal::Type::Enum
62
+
63
+ TaggedSymbol =
64
+ T.type_alias { T.all(Symbol, Privy::OAuthGrant::GrantType) }
65
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
66
+
67
+ DEVICE_CODE =
68
+ T.let(:device_code, Privy::OAuthGrant::GrantType::TaggedSymbol)
69
+
70
+ sig do
71
+ override.returns(T::Array[Privy::OAuthGrant::GrantType::TaggedSymbol])
72
+ end
73
+ def self.values
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,32 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class OAuthGrantListResponse < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::OAuthGrantListResponse, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ # Active grants.
12
+ sig { returns(T::Array[Privy::OAuthGrant]) }
13
+ attr_accessor :data
14
+
15
+ # List of active OAuth grants for the authenticated user.
16
+ sig do
17
+ params(data: T::Array[Privy::OAuthGrant::OrHash]).returns(
18
+ T.attached_class
19
+ )
20
+ end
21
+ def self.new(
22
+ # Active grants.
23
+ data:
24
+ )
25
+ end
26
+
27
+ sig { override.returns({ data: T::Array[Privy::OAuthGrant] }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,58 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class OAuthGrantRevokeResponse < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::OAuthGrantRevokeResponse, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ # Whether the revocation was processed.
12
+ sig { returns(Privy::OAuthGrantRevokeResponse::Success::OrBoolean) }
13
+ attr_accessor :success
14
+
15
+ # Response from revoking an OAuth grant.
16
+ sig do
17
+ params(
18
+ success: Privy::OAuthGrantRevokeResponse::Success::OrBoolean
19
+ ).returns(T.attached_class)
20
+ end
21
+ def self.new(
22
+ # Whether the revocation was processed.
23
+ success:
24
+ )
25
+ end
26
+
27
+ sig do
28
+ override.returns(
29
+ { success: Privy::OAuthGrantRevokeResponse::Success::OrBoolean }
30
+ )
31
+ end
32
+ def to_hash
33
+ end
34
+
35
+ # Whether the revocation was processed.
36
+ module Success
37
+ extend Privy::Internal::Type::Enum
38
+
39
+ TaggedBoolean =
40
+ T.type_alias do
41
+ T.all(T::Boolean, Privy::OAuthGrantRevokeResponse::Success)
42
+ end
43
+ OrBoolean = T.type_alias { T::Boolean }
44
+
45
+ TRUE =
46
+ T.let(true, Privy::OAuthGrantRevokeResponse::Success::TaggedBoolean)
47
+
48
+ sig do
49
+ override.returns(
50
+ T::Array[Privy::OAuthGrantRevokeResponse::Success::TaggedBoolean]
51
+ )
52
+ end
53
+ def self.values
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,115 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class OAuthTokenAuthorizationCodeRequestBody < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Privy::OAuthTokenAuthorizationCodeRequestBody,
10
+ Privy::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The authorization code received from the authorization endpoint.
15
+ sig { returns(String) }
16
+ attr_accessor :code
17
+
18
+ sig do
19
+ returns(
20
+ Privy::OAuthTokenAuthorizationCodeRequestBody::GrantType::OrSymbol
21
+ )
22
+ end
23
+ attr_accessor :grant_type
24
+
25
+ # The client ID. Alternative to Basic auth header.
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :client_id
28
+
29
+ sig { params(client_id: String).void }
30
+ attr_writer :client_id
31
+
32
+ # The client secret. Alternative to Basic auth header.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :client_secret
35
+
36
+ sig { params(client_secret: String).void }
37
+ attr_writer :client_secret
38
+
39
+ # The redirect URI used in the authorization request.
40
+ sig { returns(T.nilable(String)) }
41
+ attr_reader :redirect_uri
42
+
43
+ sig { params(redirect_uri: String).void }
44
+ attr_writer :redirect_uri
45
+
46
+ # Request body for the authorization_code grant type.
47
+ sig do
48
+ params(
49
+ code: String,
50
+ grant_type:
51
+ Privy::OAuthTokenAuthorizationCodeRequestBody::GrantType::OrSymbol,
52
+ client_id: String,
53
+ client_secret: String,
54
+ redirect_uri: String
55
+ ).returns(T.attached_class)
56
+ end
57
+ def self.new(
58
+ # The authorization code received from the authorization endpoint.
59
+ code:,
60
+ grant_type:,
61
+ # The client ID. Alternative to Basic auth header.
62
+ client_id: nil,
63
+ # The client secret. Alternative to Basic auth header.
64
+ client_secret: nil,
65
+ # The redirect URI used in the authorization request.
66
+ redirect_uri: nil
67
+ )
68
+ end
69
+
70
+ sig do
71
+ override.returns(
72
+ {
73
+ code: String,
74
+ grant_type:
75
+ Privy::OAuthTokenAuthorizationCodeRequestBody::GrantType::OrSymbol,
76
+ client_id: String,
77
+ client_secret: String,
78
+ redirect_uri: String
79
+ }
80
+ )
81
+ end
82
+ def to_hash
83
+ end
84
+
85
+ module GrantType
86
+ extend Privy::Internal::Type::Enum
87
+
88
+ TaggedSymbol =
89
+ T.type_alias do
90
+ T.all(
91
+ Symbol,
92
+ Privy::OAuthTokenAuthorizationCodeRequestBody::GrantType
93
+ )
94
+ end
95
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
96
+
97
+ AUTHORIZATION_CODE =
98
+ T.let(
99
+ :authorization_code,
100
+ Privy::OAuthTokenAuthorizationCodeRequestBody::GrantType::TaggedSymbol
101
+ )
102
+
103
+ sig do
104
+ override.returns(
105
+ T::Array[
106
+ Privy::OAuthTokenAuthorizationCodeRequestBody::GrantType::TaggedSymbol
107
+ ]
108
+ )
109
+ end
110
+ def self.values
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,106 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class OAuthTokenDeviceCodePendingError < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Privy::OAuthTokenDeviceCodePendingError,
10
+ Privy::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The error code indicating why the token request failed.
15
+ sig { returns(Privy::OAuthTokenDeviceCodePendingError::Error::OrSymbol) }
16
+ attr_accessor :error
17
+
18
+ # Human-readable description of the error.
19
+ sig { returns(T.nilable(String)) }
20
+ attr_reader :error_description
21
+
22
+ sig { params(error_description: String).void }
23
+ attr_writer :error_description
24
+
25
+ # The minimum polling interval in seconds.
26
+ sig { returns(T.nilable(Float)) }
27
+ attr_reader :interval
28
+
29
+ sig { params(interval: Float).void }
30
+ attr_writer :interval
31
+
32
+ # Error response returned while the device authorization is still pending (RFC
33
+ # 8628 Section 3.5).
34
+ sig do
35
+ params(
36
+ error: Privy::OAuthTokenDeviceCodePendingError::Error::OrSymbol,
37
+ error_description: String,
38
+ interval: Float
39
+ ).returns(T.attached_class)
40
+ end
41
+ def self.new(
42
+ # The error code indicating why the token request failed.
43
+ error:,
44
+ # Human-readable description of the error.
45
+ error_description: nil,
46
+ # The minimum polling interval in seconds.
47
+ interval: nil
48
+ )
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ error: Privy::OAuthTokenDeviceCodePendingError::Error::OrSymbol,
55
+ error_description: String,
56
+ interval: Float
57
+ }
58
+ )
59
+ end
60
+ def to_hash
61
+ end
62
+
63
+ # The error code indicating why the token request failed.
64
+ module Error
65
+ extend Privy::Internal::Type::Enum
66
+
67
+ TaggedSymbol =
68
+ T.type_alias do
69
+ T.all(Symbol, Privy::OAuthTokenDeviceCodePendingError::Error)
70
+ end
71
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
72
+
73
+ AUTHORIZATION_PENDING =
74
+ T.let(
75
+ :authorization_pending,
76
+ Privy::OAuthTokenDeviceCodePendingError::Error::TaggedSymbol
77
+ )
78
+ SLOW_DOWN =
79
+ T.let(
80
+ :slow_down,
81
+ Privy::OAuthTokenDeviceCodePendingError::Error::TaggedSymbol
82
+ )
83
+ ACCESS_DENIED =
84
+ T.let(
85
+ :access_denied,
86
+ Privy::OAuthTokenDeviceCodePendingError::Error::TaggedSymbol
87
+ )
88
+ EXPIRED_TOKEN =
89
+ T.let(
90
+ :expired_token,
91
+ Privy::OAuthTokenDeviceCodePendingError::Error::TaggedSymbol
92
+ )
93
+
94
+ sig do
95
+ override.returns(
96
+ T::Array[
97
+ Privy::OAuthTokenDeviceCodePendingError::Error::TaggedSymbol
98
+ ]
99
+ )
100
+ end
101
+ def self.values
102
+ end
103
+ end
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,78 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class OAuthTokenDeviceCodeRequestBody < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Privy::OAuthTokenDeviceCodeRequestBody,
10
+ Privy::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The device code received from the device authorization endpoint.
15
+ sig { returns(String) }
16
+ attr_accessor :device_code
17
+
18
+ sig do
19
+ returns(Privy::OAuthTokenDeviceCodeRequestBody::GrantType::OrSymbol)
20
+ end
21
+ attr_accessor :grant_type
22
+
23
+ # Request body for the urn:ietf:params:oauth:grant-type:device_code grant type
24
+ # (RFC 8628). Used by CLI clients to poll for authorization.
25
+ sig do
26
+ params(
27
+ device_code: String,
28
+ grant_type:
29
+ Privy::OAuthTokenDeviceCodeRequestBody::GrantType::OrSymbol
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(
33
+ # The device code received from the device authorization endpoint.
34
+ device_code:,
35
+ grant_type:
36
+ )
37
+ end
38
+
39
+ sig do
40
+ override.returns(
41
+ {
42
+ device_code: String,
43
+ grant_type:
44
+ Privy::OAuthTokenDeviceCodeRequestBody::GrantType::OrSymbol
45
+ }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+
51
+ module GrantType
52
+ extend Privy::Internal::Type::Enum
53
+
54
+ TaggedSymbol =
55
+ T.type_alias do
56
+ T.all(Symbol, Privy::OAuthTokenDeviceCodeRequestBody::GrantType)
57
+ end
58
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
59
+
60
+ URN_IETF_PARAMS_OAUTH_GRANT_TYPE_DEVICE_CODE =
61
+ T.let(
62
+ :"urn:ietf:params:oauth:grant-type:device_code",
63
+ Privy::OAuthTokenDeviceCodeRequestBody::GrantType::TaggedSymbol
64
+ )
65
+
66
+ sig do
67
+ override.returns(
68
+ T::Array[
69
+ Privy::OAuthTokenDeviceCodeRequestBody::GrantType::TaggedSymbol
70
+ ]
71
+ )
72
+ end
73
+ def self.values
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,29 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ # The OAuth grant type for the token request.
6
+ module OAuthTokenGrantType
7
+ extend Privy::Internal::Type::Enum
8
+
9
+ TaggedSymbol = T.type_alias { T.all(Symbol, Privy::OAuthTokenGrantType) }
10
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
11
+
12
+ AUTHORIZATION_CODE =
13
+ T.let(:authorization_code, Privy::OAuthTokenGrantType::TaggedSymbol)
14
+ URN_IETF_PARAMS_OAUTH_GRANT_TYPE_DEVICE_CODE =
15
+ T.let(
16
+ :"urn:ietf:params:oauth:grant-type:device_code",
17
+ Privy::OAuthTokenGrantType::TaggedSymbol
18
+ )
19
+ REFRESH_TOKEN =
20
+ T.let(:refresh_token, Privy::OAuthTokenGrantType::TaggedSymbol)
21
+
22
+ sig do
23
+ override.returns(T::Array[Privy::OAuthTokenGrantType::TaggedSymbol])
24
+ end
25
+ def self.values
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,78 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class OAuthTokenRefreshTokenRequestBody < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Privy::OAuthTokenRefreshTokenRequestBody,
10
+ Privy::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig do
15
+ returns(Privy::OAuthTokenRefreshTokenRequestBody::GrantType::OrSymbol)
16
+ end
17
+ attr_accessor :grant_type
18
+
19
+ # The refresh token to exchange for a new access token.
20
+ sig { returns(String) }
21
+ attr_accessor :refresh_token
22
+
23
+ # Request body for the refresh_token grant type. Rotates the refresh token and
24
+ # issues a new access token.
25
+ sig do
26
+ params(
27
+ grant_type:
28
+ Privy::OAuthTokenRefreshTokenRequestBody::GrantType::OrSymbol,
29
+ refresh_token: String
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(
33
+ grant_type:,
34
+ # The refresh token to exchange for a new access token.
35
+ refresh_token:
36
+ )
37
+ end
38
+
39
+ sig do
40
+ override.returns(
41
+ {
42
+ grant_type:
43
+ Privy::OAuthTokenRefreshTokenRequestBody::GrantType::OrSymbol,
44
+ refresh_token: String
45
+ }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+
51
+ module GrantType
52
+ extend Privy::Internal::Type::Enum
53
+
54
+ TaggedSymbol =
55
+ T.type_alias do
56
+ T.all(Symbol, Privy::OAuthTokenRefreshTokenRequestBody::GrantType)
57
+ end
58
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
59
+
60
+ REFRESH_TOKEN =
61
+ T.let(
62
+ :refresh_token,
63
+ Privy::OAuthTokenRefreshTokenRequestBody::GrantType::TaggedSymbol
64
+ )
65
+
66
+ sig do
67
+ override.returns(
68
+ T::Array[
69
+ Privy::OAuthTokenRefreshTokenRequestBody::GrantType::TaggedSymbol
70
+ ]
71
+ )
72
+ end
73
+ def self.values
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,23 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ # Request body for the OAuth token endpoint, discriminated by grant_type.
6
+ module OAuthTokenRequestBody
7
+ extend Privy::Internal::Type::Union
8
+
9
+ Variants =
10
+ T.type_alias do
11
+ T.any(
12
+ Privy::OAuthTokenAuthorizationCodeRequestBody,
13
+ Privy::OAuthTokenDeviceCodeRequestBody,
14
+ Privy::OAuthTokenRefreshTokenRequestBody
15
+ )
16
+ end
17
+
18
+ sig { override.returns(T::Array[Privy::OAuthTokenRequestBody::Variants]) }
19
+ def self.variants
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,95 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class OAuthTokenSuccessResponse < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::OAuthTokenSuccessResponse, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ # The issued access token.
12
+ sig { returns(String) }
13
+ attr_accessor :access_token
14
+
15
+ # The type of token issued.
16
+ sig { returns(Privy::OAuthTokenSuccessResponse::TokenType::OrSymbol) }
17
+ attr_accessor :token_type
18
+
19
+ # The lifetime in seconds of the access token.
20
+ sig { returns(T.nilable(Float)) }
21
+ attr_reader :expires_in
22
+
23
+ sig { params(expires_in: Float).void }
24
+ attr_writer :expires_in
25
+
26
+ # A refresh token for obtaining new access tokens. Issued for device_code and
27
+ # refresh_token grants.
28
+ sig { returns(T.nilable(String)) }
29
+ attr_reader :refresh_token
30
+
31
+ sig { params(refresh_token: String).void }
32
+ attr_writer :refresh_token
33
+
34
+ # Successful token response per RFC 6749 Section 5.1.
35
+ sig do
36
+ params(
37
+ access_token: String,
38
+ token_type: Privy::OAuthTokenSuccessResponse::TokenType::OrSymbol,
39
+ expires_in: Float,
40
+ refresh_token: String
41
+ ).returns(T.attached_class)
42
+ end
43
+ def self.new(
44
+ # The issued access token.
45
+ access_token:,
46
+ # The type of token issued.
47
+ token_type:,
48
+ # The lifetime in seconds of the access token.
49
+ expires_in: nil,
50
+ # A refresh token for obtaining new access tokens. Issued for device_code and
51
+ # refresh_token grants.
52
+ refresh_token: nil
53
+ )
54
+ end
55
+
56
+ sig do
57
+ override.returns(
58
+ {
59
+ access_token: String,
60
+ token_type: Privy::OAuthTokenSuccessResponse::TokenType::OrSymbol,
61
+ expires_in: Float,
62
+ refresh_token: String
63
+ }
64
+ )
65
+ end
66
+ def to_hash
67
+ end
68
+
69
+ # The type of token issued.
70
+ module TokenType
71
+ extend Privy::Internal::Type::Enum
72
+
73
+ TaggedSymbol =
74
+ T.type_alias do
75
+ T.all(Symbol, Privy::OAuthTokenSuccessResponse::TokenType)
76
+ end
77
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
78
+
79
+ BEARER =
80
+ T.let(
81
+ :Bearer,
82
+ Privy::OAuthTokenSuccessResponse::TokenType::TaggedSymbol
83
+ )
84
+
85
+ sig do
86
+ override.returns(
87
+ T::Array[Privy::OAuthTokenSuccessResponse::TokenType::TaggedSymbol]
88
+ )
89
+ end
90
+ def self.values
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end