privy_ruby 0.1.0 → 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 (161) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -1
  4. data/lib/privy/client.rb +5 -4
  5. data/lib/privy/models/analytics_event_input.rb +2 -2
  6. data/lib/privy/models/bitcoin_address.rb +7 -0
  7. data/lib/privy/models/bridge_destination_asset.rb +1 -0
  8. data/lib/privy/models/bridge_fiat_virtual_account_destination.rb +6 -1
  9. data/lib/privy/models/bridge_fiat_virtual_account_request.rb +6 -2
  10. data/lib/privy/models/bridge_fiat_virtual_account_response.rb +2 -1
  11. data/lib/privy/models/bridge_fiat_virtual_account_source.rb +4 -1
  12. data/lib/privy/models/bridge_sandbox_fiat_virtual_account_request.rb +6 -2
  13. data/lib/privy/models/bridge_sandbox_fiat_virtual_account_response.rb +2 -1
  14. data/lib/privy/models/bridge_source_asset.rb +1 -0
  15. data/lib/privy/models/create_stripe_onramp_session_response.rb +16 -1
  16. data/lib/privy/models/device_verify_action.rb +16 -0
  17. data/lib/privy/models/device_verify_request_body.rb +27 -0
  18. data/lib/privy/models/device_verify_response.rb +18 -0
  19. data/lib/privy/models/evm_address.rb +7 -0
  20. data/lib/privy/models/evm_checksum_address.rb +7 -0
  21. data/lib/privy/models/gas.rb +35 -0
  22. data/lib/privy/models/hyperliquid_token_address.rb +7 -0
  23. data/lib/privy/models/linked_account_embedded_wallet.rb +1 -0
  24. data/lib/privy/models/oauth_grant.rb +54 -0
  25. data/lib/privy/models/oauth_grant_list_response.rb +18 -0
  26. data/lib/privy/models/oauth_grant_revoke_response.rb +30 -0
  27. data/lib/privy/models/oauth_token_authorization_code_request_body.rb +59 -0
  28. data/lib/privy/models/oauth_token_device_code_pending_error.rb +50 -0
  29. data/lib/privy/models/oauth_token_device_code_request_body.rb +36 -0
  30. data/lib/privy/models/oauth_token_grant_type.rb +17 -0
  31. data/lib/privy/models/oauth_token_refresh_token_request_body.rb +36 -0
  32. data/lib/privy/models/oauth_token_request_body.rb +24 -0
  33. data/lib/privy/models/oauth_token_success_response.rb +58 -0
  34. data/lib/privy/models/onramp_session_fees.rb +23 -0
  35. data/lib/privy/models/onramp_session_transaction_details.rb +59 -0
  36. data/lib/privy/models/solana_address.rb +7 -0
  37. data/lib/privy/models/swap_action_response.rb +38 -1
  38. data/lib/privy/models/swap_quote_request_body.rb +3 -3
  39. data/lib/privy/models/swap_quote_response.rb +18 -5
  40. data/lib/privy/models/swap_request_body.rb +3 -3
  41. data/lib/privy/models/token_transfer_destination.rb +2 -2
  42. data/lib/privy/models/transfer_action_response.rb +29 -3
  43. data/lib/privy/models/transfer_quote_request_body.rb +3 -2
  44. data/lib/privy/models/transfer_quote_response.rb +10 -1
  45. data/lib/privy/models/transfer_received_transaction_detail.rb +5 -0
  46. data/lib/privy/models/transfer_request_body.rb +3 -2
  47. data/lib/privy/models/transfer_sent_transaction_detail.rb +5 -0
  48. data/lib/privy/models/tron_address.rb +7 -0
  49. data/lib/privy/models/wallet_asset.rb +1 -0
  50. data/lib/privy/models/wallet_batch_create_response.rb +1 -0
  51. data/lib/privy/models/wallet_create_batch_params.rb +14 -0
  52. data/lib/privy/models/wallet_ethereum_asset.rb +1 -0
  53. data/lib/privy/models/wallets/balance_get_params.rb +11 -0
  54. data/lib/privy/models/wallets/balance_get_response.rb +5 -0
  55. data/lib/privy/models/wallets/transaction_get_params.rb +3 -0
  56. data/lib/privy/models.rb +46 -0
  57. data/lib/privy/resources/intents.rb +2 -1
  58. data/lib/privy/resources/wallets/swap.rb +2 -2
  59. data/lib/privy/resources/wallets.rb +25 -1
  60. data/lib/privy/version.rb +1 -1
  61. data/lib/privy.rb +24 -1
  62. data/rbi/privy/client.rbi +4 -3
  63. data/rbi/privy/models/analytics_event_input.rbi +3 -6
  64. data/rbi/privy/models/bitcoin_address.rbi +7 -0
  65. data/rbi/privy/models/bridge_destination_asset.rbi +1 -0
  66. data/rbi/privy/models/bridge_fiat_virtual_account_destination.rbi +8 -1
  67. data/rbi/privy/models/bridge_fiat_virtual_account_request.rbi +9 -1
  68. data/rbi/privy/models/bridge_fiat_virtual_account_response.rbi +2 -0
  69. data/rbi/privy/models/bridge_fiat_virtual_account_source.rbi +6 -1
  70. data/rbi/privy/models/bridge_sandbox_fiat_virtual_account_request.rbi +9 -1
  71. data/rbi/privy/models/bridge_sandbox_fiat_virtual_account_response.rbi +2 -0
  72. data/rbi/privy/models/bridge_source_asset.rbi +1 -0
  73. data/rbi/privy/models/create_stripe_onramp_session_response.rbi +61 -3
  74. data/rbi/privy/models/device_verify_action.rbi +22 -0
  75. data/rbi/privy/models/device_verify_request_body.rbi +44 -0
  76. data/rbi/privy/models/device_verify_response.rbi +28 -0
  77. data/rbi/privy/models/evm_address.rbi +7 -0
  78. data/rbi/privy/models/evm_checksum_address.rbi +7 -0
  79. data/rbi/privy/models/gas.rbi +46 -0
  80. data/rbi/privy/models/hyperliquid_token_address.rbi +7 -0
  81. data/rbi/privy/models/linked_account_embedded_wallet.rbi +1 -0
  82. data/rbi/privy/models/oauth_grant.rbi +78 -0
  83. data/rbi/privy/models/oauth_grant_list_response.rbi +32 -0
  84. data/rbi/privy/models/oauth_grant_revoke_response.rbi +58 -0
  85. data/rbi/privy/models/oauth_token_authorization_code_request_body.rbi +115 -0
  86. data/rbi/privy/models/oauth_token_device_code_pending_error.rbi +106 -0
  87. data/rbi/privy/models/oauth_token_device_code_request_body.rbi +78 -0
  88. data/rbi/privy/models/oauth_token_grant_type.rbi +29 -0
  89. data/rbi/privy/models/oauth_token_refresh_token_request_body.rbi +78 -0
  90. data/rbi/privy/models/oauth_token_request_body.rbi +23 -0
  91. data/rbi/privy/models/oauth_token_success_response.rbi +95 -0
  92. data/rbi/privy/models/onramp_session_fees.rbi +39 -0
  93. data/rbi/privy/models/onramp_session_transaction_details.rbi +95 -0
  94. data/rbi/privy/models/solana_address.rbi +7 -0
  95. data/rbi/privy/models/swap_action_response.rbi +84 -0
  96. data/rbi/privy/models/swap_quote_request_body.rbi +4 -4
  97. data/rbi/privy/models/swap_quote_response.rbi +19 -4
  98. data/rbi/privy/models/swap_request_body.rbi +4 -4
  99. data/rbi/privy/models/token_transfer_destination.rbi +2 -2
  100. data/rbi/privy/models/transfer_action_response.rbi +57 -2
  101. data/rbi/privy/models/transfer_quote_request_body.rbi +4 -2
  102. data/rbi/privy/models/transfer_quote_response.rbi +16 -3
  103. data/rbi/privy/models/transfer_received_transaction_detail.rbi +15 -0
  104. data/rbi/privy/models/transfer_request_body.rbi +4 -2
  105. data/rbi/privy/models/transfer_sent_transaction_detail.rbi +15 -0
  106. data/rbi/privy/models/tron_address.rbi +7 -0
  107. data/rbi/privy/models/wallet_asset.rbi +1 -0
  108. data/rbi/privy/models/wallet_batch_create_response.rbi +2 -19
  109. data/rbi/privy/models/wallet_batch_create_result.rbi +4 -4
  110. data/rbi/privy/models/wallet_create_batch_params.rbi +27 -0
  111. data/rbi/privy/models/wallet_ethereum_asset.rbi +1 -0
  112. data/rbi/privy/models/wallets/balance_get_params.rbi +22 -0
  113. data/rbi/privy/models/wallets/balance_get_response.rbi +15 -0
  114. data/rbi/privy/models/wallets/transaction_get_params.rbi +5 -0
  115. data/rbi/privy/models.rbi +51 -0
  116. data/rbi/privy/resources/intents.rbi +4 -1
  117. data/rbi/privy/resources/wallets/swap.rbi +2 -2
  118. data/rbi/privy/resources/wallets.rbi +19 -1
  119. data/sig/privy/client.rbs +2 -2
  120. data/sig/privy/models/analytics_event_input.rbs +4 -6
  121. data/sig/privy/models/bitcoin_address.rbs +5 -0
  122. data/sig/privy/models/create_stripe_onramp_session_response.rbs +29 -3
  123. data/sig/privy/models/device_verify_action.rbs +14 -0
  124. data/sig/privy/models/device_verify_request_body.rbs +22 -0
  125. data/sig/privy/models/device_verify_response.rbs +13 -0
  126. data/sig/privy/models/evm_address.rbs +5 -0
  127. data/sig/privy/models/evm_checksum_address.rbs +5 -0
  128. data/sig/privy/models/gas.rbs +21 -0
  129. data/sig/privy/models/hyperliquid_token_address.rbs +5 -0
  130. data/sig/privy/models/oauth_grant.rbs +45 -0
  131. data/sig/privy/models/oauth_grant_list_response.rbs +13 -0
  132. data/sig/privy/models/oauth_grant_revoke_response.rbs +28 -0
  133. data/sig/privy/models/oauth_token_authorization_code_request_body.rbs +56 -0
  134. data/sig/privy/models/oauth_token_device_code_pending_error.rbs +48 -0
  135. data/sig/privy/models/oauth_token_device_code_request_body.rbs +35 -0
  136. data/sig/privy/models/oauth_token_grant_type.rbs +18 -0
  137. data/sig/privy/models/oauth_token_refresh_token_request_body.rbs +35 -0
  138. data/sig/privy/models/oauth_token_request_body.rbs +14 -0
  139. data/sig/privy/models/oauth_token_success_response.rbs +49 -0
  140. data/sig/privy/models/onramp_session_fees.rbs +22 -0
  141. data/sig/privy/models/onramp_session_transaction_details.rbs +53 -0
  142. data/sig/privy/models/solana_address.rbs +5 -0
  143. data/sig/privy/models/swap_action_response.rbs +32 -0
  144. data/sig/privy/models/swap_quote_request_body.rbs +5 -5
  145. data/sig/privy/models/swap_quote_response.rbs +7 -0
  146. data/sig/privy/models/swap_request_body.rbs +5 -5
  147. data/sig/privy/models/transfer_action_response.rbs +23 -0
  148. data/sig/privy/models/transfer_quote_response.rbs +10 -3
  149. data/sig/privy/models/transfer_received_transaction_detail.rbs +15 -1
  150. data/sig/privy/models/transfer_sent_transaction_detail.rbs +15 -1
  151. data/sig/privy/models/tron_address.rbs +5 -0
  152. data/sig/privy/models/wallet_asset.rbs +2 -1
  153. data/sig/privy/models/wallet_create_batch_params.rbs +15 -0
  154. data/sig/privy/models/wallet_ethereum_asset.rbs +2 -1
  155. data/sig/privy/models/wallets/balance_get_params.rbs +10 -0
  156. data/sig/privy/models/wallets/balance_get_response.rbs +6 -0
  157. data/sig/privy/models/wallets/transaction_get_params.rbs +2 -0
  158. data/sig/privy/models.rbs +46 -0
  159. data/sig/privy/resources/wallets/swap.rbs +2 -2
  160. data/sig/privy/resources/wallets.rbs +5 -0
  161. metadata +71 -2
@@ -11,6 +11,7 @@ module Privy
11
11
  )
12
12
  end
13
13
 
14
+ # The destination chain, asset, and address for a virtual account transfer.
14
15
  sig { returns(Privy::BridgeFiatVirtualAccountDestination) }
15
16
  attr_reader :destination
16
17
 
@@ -28,6 +29,7 @@ module Privy
28
29
  end
29
30
  attr_accessor :provider
30
31
 
32
+ # The source fiat currency configuration for a virtual account.
31
33
  sig { returns(Privy::BridgeFiatVirtualAccountSource) }
32
34
  attr_reader :source
33
35
 
@@ -43,7 +45,13 @@ module Privy
43
45
  source: Privy::BridgeFiatVirtualAccountSource::OrHash
44
46
  ).returns(T.attached_class)
45
47
  end
46
- def self.new(destination:, provider:, source:)
48
+ def self.new(
49
+ # The destination chain, asset, and address for a virtual account transfer.
50
+ destination:,
51
+ provider:,
52
+ # The source fiat currency configuration for a virtual account.
53
+ source:
54
+ )
47
55
  end
48
56
 
49
57
  sig do
@@ -25,6 +25,7 @@ module Privy
25
25
  end
26
26
  attr_accessor :deposit_instructions
27
27
 
28
+ # The destination chain, asset, and address for a virtual account transfer.
28
29
  sig { returns(Privy::BridgeFiatVirtualAccountDestination) }
29
30
  attr_reader :destination
30
31
 
@@ -65,6 +66,7 @@ module Privy
65
66
  def self.new(
66
67
  # The deposit instructions for a virtual account.
67
68
  deposit_instructions:,
69
+ # The destination chain, asset, and address for a virtual account transfer.
68
70
  destination:,
69
71
  provider:,
70
72
  status:
@@ -2,6 +2,7 @@
2
2
 
3
3
  module Privy
4
4
  module Models
5
+ # Supported source fiat currencies for virtual account deposits.
5
6
  module BridgeSourceAsset
6
7
  extend Privy::Internal::Type::Enum
7
8
 
@@ -17,14 +17,72 @@ module Privy
17
17
  sig { returns(String) }
18
18
  attr_accessor :session_id
19
19
 
20
+ # Transaction details returned from a Stripe onramp session.
21
+ sig do
22
+ returns(
23
+ T.nilable(
24
+ Privy::CreateStripeOnrampSessionResponse::TransactionDetails
25
+ )
26
+ )
27
+ end
28
+ attr_reader :transaction_details
29
+
30
+ sig do
31
+ params(
32
+ transaction_details:
33
+ Privy::CreateStripeOnrampSessionResponse::TransactionDetails::OrHash
34
+ ).void
35
+ end
36
+ attr_writer :transaction_details
37
+
20
38
  # The created onramp session.
21
- sig { params(id: String, session_id: String).returns(T.attached_class) }
22
- def self.new(id:, session_id:)
39
+ sig do
40
+ params(
41
+ id: String,
42
+ session_id: String,
43
+ transaction_details:
44
+ Privy::CreateStripeOnrampSessionResponse::TransactionDetails::OrHash
45
+ ).returns(T.attached_class)
46
+ end
47
+ def self.new(
48
+ id:,
49
+ session_id:,
50
+ # Transaction details returned from a Stripe onramp session.
51
+ transaction_details: nil
52
+ )
23
53
  end
24
54
 
25
- sig { override.returns({ id: String, session_id: String }) }
55
+ sig do
56
+ override.returns(
57
+ {
58
+ id: String,
59
+ session_id: String,
60
+ transaction_details:
61
+ Privy::CreateStripeOnrampSessionResponse::TransactionDetails
62
+ }
63
+ )
64
+ end
26
65
  def to_hash
27
66
  end
67
+
68
+ class TransactionDetails < Privy::Models::OnrampSessionTransactionDetails
69
+ OrHash =
70
+ T.type_alias do
71
+ T.any(
72
+ Privy::CreateStripeOnrampSessionResponse::TransactionDetails,
73
+ Privy::Internal::AnyHash
74
+ )
75
+ end
76
+
77
+ # Transaction details returned from a Stripe onramp session.
78
+ sig { returns(T.attached_class) }
79
+ def self.new
80
+ end
81
+
82
+ sig { override.returns({}) }
83
+ def to_hash
84
+ end
85
+ end
28
86
  end
29
87
  end
30
88
  end
@@ -0,0 +1,22 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ # The action to take on the device authorization request.
6
+ module DeviceVerifyAction
7
+ extend Privy::Internal::Type::Enum
8
+
9
+ TaggedSymbol = T.type_alias { T.all(Symbol, Privy::DeviceVerifyAction) }
10
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
11
+
12
+ APPROVE = T.let(:approve, Privy::DeviceVerifyAction::TaggedSymbol)
13
+ DENY = T.let(:deny, Privy::DeviceVerifyAction::TaggedSymbol)
14
+
15
+ sig do
16
+ override.returns(T::Array[Privy::DeviceVerifyAction::TaggedSymbol])
17
+ end
18
+ def self.values
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,44 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class DeviceVerifyRequestBody < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::DeviceVerifyRequestBody, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ # The action to take on the device authorization request.
12
+ sig { returns(Privy::DeviceVerifyAction::OrSymbol) }
13
+ attr_accessor :action
14
+
15
+ # The user code displayed on the CLI device.
16
+ sig { returns(String) }
17
+ attr_accessor :user_code
18
+
19
+ # Request body for approving or denying a device authorization request. The user
20
+ # must be authenticated and belong to the target app.
21
+ sig do
22
+ params(
23
+ action: Privy::DeviceVerifyAction::OrSymbol,
24
+ user_code: String
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(
28
+ # The action to take on the device authorization request.
29
+ action:,
30
+ # The user code displayed on the CLI device.
31
+ user_code:
32
+ )
33
+ end
34
+
35
+ sig do
36
+ override.returns(
37
+ { action: Privy::DeviceVerifyAction::OrSymbol, user_code: String }
38
+ )
39
+ end
40
+ def to_hash
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,28 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class DeviceVerifyResponse < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::DeviceVerifyResponse, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ # Whether the action was processed successfully.
12
+ sig { returns(T::Boolean) }
13
+ attr_accessor :success
14
+
15
+ # Response indicating the device authorization action was processed.
16
+ sig { params(success: T::Boolean).returns(T.attached_class) }
17
+ def self.new(
18
+ # Whether the action was processed successfully.
19
+ success:
20
+ )
21
+ end
22
+
23
+ sig { override.returns({ success: T::Boolean }) }
24
+ def to_hash
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,7 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ EvmAddress = String
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ EvmChecksumAddress = String
6
+ end
7
+ end
@@ -0,0 +1,46 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class Gas < Privy::Internal::Type::BaseModel
6
+ OrHash = T.type_alias { T.any(Privy::Gas, Privy::Internal::AnyHash) }
7
+
8
+ # Gas cost in the gas token as a human-readable decimal string (e.g. "0.0001").
9
+ sig { returns(String) }
10
+ attr_accessor :amount
11
+
12
+ # Gas cost in the gas token's base units (e.g. wei).
13
+ sig { returns(String) }
14
+ attr_accessor :base_amount
15
+
16
+ # Gas token symbol (e.g. "ETH", "USDC").
17
+ sig { returns(String) }
18
+ attr_accessor :gas_asset
19
+
20
+ # Gas cost for a blockchain action. Includes both raw base-unit amount and a
21
+ # human-readable decimal string, plus the gas token symbol.
22
+ sig do
23
+ params(amount: String, base_amount: String, gas_asset: String).returns(
24
+ T.attached_class
25
+ )
26
+ end
27
+ def self.new(
28
+ # Gas cost in the gas token as a human-readable decimal string (e.g. "0.0001").
29
+ amount:,
30
+ # Gas cost in the gas token's base units (e.g. wei).
31
+ base_amount:,
32
+ # Gas token symbol (e.g. "ETH", "USDC").
33
+ gas_asset:
34
+ )
35
+ end
36
+
37
+ sig do
38
+ override.returns(
39
+ { amount: String, base_amount: String, gas_asset: String }
40
+ )
41
+ end
42
+ def to_hash
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,7 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ HyperliquidTokenAddress = String
6
+ end
7
+ end
@@ -2,6 +2,7 @@
2
2
 
3
3
  module Privy
4
4
  module Models
5
+ # A linked embedded wallet account across all supported chain types.
5
6
  module LinkedAccountEmbeddedWallet
6
7
  extend Privy::Internal::Type::Union
7
8
 
@@ -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