privy_ruby 0.0.2 → 0.1.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 (177) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +1 -1
  4. data/lib/privy/base58.rb +41 -0
  5. data/lib/privy/client.rb +8 -0
  6. data/lib/privy/cryptography.rb +34 -0
  7. data/lib/privy/models/create_link_auth_intent_input.rb +17 -0
  8. data/lib/privy/models/create_link_auth_intent_response.rb +36 -0
  9. data/lib/privy/models/create_stripe_onramp_session_input.rb +33 -0
  10. data/lib/privy/models/create_stripe_onramp_session_response.rb +23 -0
  11. data/lib/privy/models/device_authorization_response.rb +63 -0
  12. data/lib/privy/models/earn_incentive_reward_entry.rb +50 -0
  13. data/lib/privy/models/earn_incentive_rewards_query.rb +18 -0
  14. data/lib/privy/models/earn_incentive_rewards_response.rb +19 -0
  15. data/lib/privy/models/exchange_stripe_tokens_input.rb +23 -0
  16. data/lib/privy/models/exchange_stripe_tokens_response.rb +17 -0
  17. data/lib/privy/models/fiat_onramp_provider.rb +2 -0
  18. data/lib/privy/models/fiat_onramp_stripe_sdk_session_response.rb +45 -0
  19. data/lib/privy/models/fiat_onramp_url_session_response.rb +39 -0
  20. data/lib/privy/models/get_fiat_onramp_url_response.rb +12 -14
  21. data/lib/privy/models/get_stripe_crypto_customer_response.rb +39 -0
  22. data/lib/privy/models/kraken_embed_custom_order_cancelled_webhook_payload.rb +66 -0
  23. data/lib/privy/models/kraken_embed_custom_order_executed_webhook_payload.rb +54 -0
  24. data/lib/privy/models/kraken_embed_custom_order_execution_failed_webhook_payload.rb +67 -0
  25. data/lib/privy/models/link_auth_intent_created.rb +35 -0
  26. data/lib/privy/models/link_auth_intent_no_account.rb +27 -0
  27. data/lib/privy/models/list_stripe_consumer_wallets_response.rb +17 -0
  28. data/lib/privy/models/list_stripe_payment_tokens_response.rb +17 -0
  29. data/lib/privy/models/onramp_session_params.rb +61 -0
  30. data/lib/privy/models/refresh_stripe_quote_response.rb +18 -0
  31. data/lib/privy/models/rule_delete_intent_response.rb +63 -0
  32. data/lib/privy/models/rule_intent_response.rb +0 -1
  33. data/lib/privy/models/rule_mutate_intent_response.rb +64 -0
  34. data/lib/privy/models/stripe_consumer_wallet.rb +29 -0
  35. data/lib/privy/models/stripe_crypto_customer_active.rb +39 -0
  36. data/lib/privy/models/stripe_crypto_customer_expired.rb +33 -0
  37. data/lib/privy/models/stripe_crypto_customer_none.rb +27 -0
  38. data/lib/privy/models/stripe_onramp_checkout_response.rb +25 -0
  39. data/lib/privy/models/stripe_onramp_session_status.rb +17 -0
  40. data/lib/privy/models/stripe_payment_token.rb +23 -0
  41. data/lib/privy/models/stripe_quote.rb +17 -0
  42. data/lib/privy/models/stripe_transaction_details.rb +17 -0
  43. data/lib/privy/models/stripe_verification.rb +23 -0
  44. data/lib/privy/models/swap_action_response.rb +9 -1
  45. data/lib/privy/models/swap_destination.rb +13 -4
  46. data/lib/privy/models/swap_quote_destination.rb +15 -4
  47. data/lib/privy/models/swap_quote_request_body.rb +9 -1
  48. data/lib/privy/models/swap_quote_response.rb +25 -1
  49. data/lib/privy/models/swap_request_body.rb +9 -1
  50. data/lib/privy/models/wallets/swap_execute_params.rb +45 -0
  51. data/lib/privy/models/wallets/swap_quote_params.rb +36 -0
  52. data/lib/privy/models.rb +71 -4
  53. data/lib/privy/public_api/privy_client.rb +2 -1
  54. data/lib/privy/public_api/services/earn/ethereum/incentive.rb +61 -0
  55. data/lib/privy/public_api/services/earn/ethereum.rb +131 -0
  56. data/lib/privy/public_api/services/earn.rb +18 -0
  57. data/lib/privy/public_api/services/key_quorums.rb +7 -1
  58. data/lib/privy/public_api/services/policies.rb +21 -3
  59. data/lib/privy/public_api/services/transactions.rb +14 -0
  60. data/lib/privy/public_api/services/wallets.rb +153 -1
  61. data/lib/privy/resources/intents.rb +6 -6
  62. data/lib/privy/resources/oauth.rb +14 -0
  63. data/lib/privy/resources/onramps.rb +14 -0
  64. data/lib/privy/resources/wallets/swap.rb +105 -0
  65. data/lib/privy/resources/wallets.rb +10 -2
  66. data/lib/privy/version.rb +1 -1
  67. data/lib/privy/wallet_entropy.rb +60 -0
  68. data/lib/privy.rb +47 -4
  69. data/rbi/privy/client.rbi +6 -0
  70. data/rbi/privy/models/create_link_auth_intent_input.rbi +27 -0
  71. data/rbi/privy/models/create_link_auth_intent_response.rbi +68 -0
  72. data/rbi/privy/models/create_stripe_onramp_session_input.rbi +55 -0
  73. data/rbi/privy/models/create_stripe_onramp_session_response.rbi +30 -0
  74. data/rbi/privy/models/device_authorization_response.rbi +81 -0
  75. data/rbi/privy/models/earn_incentive_reward_entry.rbi +73 -0
  76. data/rbi/privy/models/earn_incentive_rewards_query.rbi +28 -0
  77. data/rbi/privy/models/earn_incentive_rewards_response.rbi +35 -0
  78. data/rbi/privy/models/exchange_stripe_tokens_input.rbi +33 -0
  79. data/rbi/privy/models/exchange_stripe_tokens_response.rbi +24 -0
  80. data/rbi/privy/models/fiat_onramp_provider.rbi +3 -0
  81. data/rbi/privy/models/fiat_onramp_stripe_sdk_session_response.rbi +78 -0
  82. data/rbi/privy/models/fiat_onramp_url_session_response.rbi +65 -0
  83. data/rbi/privy/models/get_fiat_onramp_url_response.rbi +12 -15
  84. data/rbi/privy/models/get_stripe_crypto_customer_response.rbi +81 -0
  85. data/rbi/privy/models/kraken_embed_custom_order_cancelled_webhook_payload.rbi +111 -0
  86. data/rbi/privy/models/kraken_embed_custom_order_executed_webhook_payload.rbi +101 -0
  87. data/rbi/privy/models/kraken_embed_custom_order_execution_failed_webhook_payload.rbi +111 -0
  88. data/rbi/privy/models/link_auth_intent_created.rbi +60 -0
  89. data/rbi/privy/models/link_auth_intent_no_account.rbi +54 -0
  90. data/rbi/privy/models/list_stripe_consumer_wallets_response.rbi +31 -0
  91. data/rbi/privy/models/list_stripe_payment_tokens_response.rbi +31 -0
  92. data/rbi/privy/models/onramp_session_params.rbi +76 -0
  93. data/rbi/privy/models/refresh_stripe_quote_response.rbi +33 -0
  94. data/rbi/privy/models/rule_delete_intent_response.rbi +113 -0
  95. data/rbi/privy/models/rule_mutate_intent_response.rbi +113 -0
  96. data/rbi/privy/models/stripe_consumer_wallet.rbi +38 -0
  97. data/rbi/privy/models/stripe_crypto_customer_active.rbi +68 -0
  98. data/rbi/privy/models/stripe_crypto_customer_expired.rbi +63 -0
  99. data/rbi/privy/models/stripe_crypto_customer_none.rbi +53 -0
  100. data/rbi/privy/models/stripe_onramp_checkout_response.rbi +51 -0
  101. data/rbi/privy/models/stripe_onramp_session_status.rbi +26 -0
  102. data/rbi/privy/models/stripe_payment_token.rbi +27 -0
  103. data/rbi/privy/models/stripe_quote.rbi +22 -0
  104. data/rbi/privy/models/stripe_transaction_details.rbi +24 -0
  105. data/rbi/privy/models/stripe_verification.rbi +27 -0
  106. data/rbi/privy/models/swap_action_response.rbi +17 -27
  107. data/rbi/privy/models/swap_destination.rbi +26 -7
  108. data/rbi/privy/models/swap_quote_destination.rbi +30 -7
  109. data/rbi/privy/models/swap_quote_request_body.rbi +11 -0
  110. data/rbi/privy/models/swap_quote_response.rbi +54 -3
  111. data/rbi/privy/models/swap_request_body.rbi +11 -0
  112. data/rbi/privy/models/wallets/swap_execute_params.rbi +71 -0
  113. data/rbi/privy/models/wallets/swap_quote_params.rbi +58 -0
  114. data/rbi/privy/models.rbi +76 -5
  115. data/rbi/privy/resources/intents.rbi +3 -3
  116. data/rbi/privy/resources/oauth.rbi +12 -0
  117. data/rbi/privy/resources/onramps.rbi +12 -0
  118. data/rbi/privy/resources/wallets/swap.rbi +94 -0
  119. data/rbi/privy/resources/wallets.rbi +9 -2
  120. data/sig/privy/client.rbs +4 -0
  121. data/sig/privy/models/create_link_auth_intent_input.rbs +15 -0
  122. data/sig/privy/models/create_link_auth_intent_response.rbs +26 -0
  123. data/sig/privy/models/create_stripe_onramp_session_input.rbs +30 -0
  124. data/sig/privy/models/create_stripe_onramp_session_response.rbs +16 -0
  125. data/sig/privy/models/device_authorization_response.rbs +45 -0
  126. data/sig/privy/models/earn_incentive_reward_entry.rbs +42 -0
  127. data/sig/privy/models/earn_incentive_rewards_query.rbs +13 -0
  128. data/sig/privy/models/earn_incentive_rewards_response.rbs +16 -0
  129. data/sig/privy/models/exchange_stripe_tokens_input.rbs +19 -0
  130. data/sig/privy/models/exchange_stripe_tokens_response.rbs +13 -0
  131. data/sig/privy/models/fiat_onramp_provider.rbs +4 -0
  132. data/sig/privy/models/fiat_onramp_stripe_sdk_session_response.rbs +45 -0
  133. data/sig/privy/models/fiat_onramp_url_session_response.rbs +40 -0
  134. data/sig/privy/models/get_fiat_onramp_url_response.rbs +6 -8
  135. data/sig/privy/models/get_stripe_crypto_customer_response.rbs +29 -0
  136. data/sig/privy/models/kraken_embed_custom_order_cancelled_webhook_payload.rbs +50 -0
  137. data/sig/privy/models/kraken_embed_custom_order_executed_webhook_payload.rbs +45 -0
  138. data/sig/privy/models/kraken_embed_custom_order_execution_failed_webhook_payload.rbs +50 -0
  139. data/sig/privy/models/link_auth_intent_created.rbs +32 -0
  140. data/sig/privy/models/link_auth_intent_no_account.rbs +26 -0
  141. data/sig/privy/models/list_stripe_consumer_wallets_response.rbs +14 -0
  142. data/sig/privy/models/list_stripe_payment_tokens_response.rbs +14 -0
  143. data/sig/privy/models/onramp_session_params.rbs +50 -0
  144. data/sig/privy/models/refresh_stripe_quote_response.rbs +13 -0
  145. data/sig/privy/models/rule_delete_intent_response.rbs +66 -0
  146. data/sig/privy/models/rule_mutate_intent_response.rbs +66 -0
  147. data/sig/privy/models/stripe_consumer_wallet.rbs +22 -0
  148. data/sig/privy/models/stripe_crypto_customer_active.rbs +40 -0
  149. data/sig/privy/models/stripe_crypto_customer_expired.rbs +35 -0
  150. data/sig/privy/models/stripe_crypto_customer_none.rbs +28 -0
  151. data/sig/privy/models/stripe_onramp_checkout_response.rbs +29 -0
  152. data/sig/privy/models/stripe_onramp_session_status.rbs +15 -0
  153. data/sig/privy/models/stripe_payment_token.rbs +15 -0
  154. data/sig/privy/models/stripe_quote.rbs +13 -0
  155. data/sig/privy/models/stripe_transaction_details.rbs +13 -0
  156. data/sig/privy/models/stripe_verification.rbs +15 -0
  157. data/sig/privy/models/swap_action_response.rbs +7 -0
  158. data/sig/privy/models/swap_destination.rbs +16 -3
  159. data/sig/privy/models/swap_quote_destination.rbs +16 -3
  160. data/sig/privy/models/swap_quote_request_body.rbs +9 -0
  161. data/sig/privy/models/swap_quote_response.rbs +26 -3
  162. data/sig/privy/models/swap_request_body.rbs +9 -0
  163. data/sig/privy/models/wallets/swap_execute_params.rbs +44 -0
  164. data/sig/privy/models/wallets/swap_quote_params.rbs +34 -0
  165. data/sig/privy/models.rbs +69 -5
  166. data/sig/privy/resources/intents.rbs +3 -3
  167. data/sig/privy/resources/oauth.rbs +7 -0
  168. data/sig/privy/resources/onramps.rbs +7 -0
  169. data/sig/privy/resources/wallets/swap.rbs +34 -0
  170. data/sig/privy/resources/wallets.rbs +2 -0
  171. metadata +125 -8
  172. data/lib/privy/models/gas_sponsorship_configuration.rb +0 -29
  173. data/lib/privy/models/gas_sponsorship_configuration_input.rb +0 -29
  174. data/rbi/privy/models/gas_sponsorship_configuration.rbi +0 -48
  175. data/rbi/privy/models/gas_sponsorship_configuration_input.rbi +0 -60
  176. data/sig/privy/models/gas_sponsorship_configuration.rbs +0 -30
  177. data/sig/privy/models/gas_sponsorship_configuration_input.rbs +0 -36
@@ -0,0 +1,60 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class LinkAuthIntentCreated < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::LinkAuthIntentCreated, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ # The Link auth intent ID.
12
+ sig { returns(String) }
13
+ attr_accessor :id
14
+
15
+ sig { returns(Privy::LinkAuthIntentCreated::Status::OrSymbol) }
16
+ attr_accessor :status
17
+
18
+ # Auth intent created. Pass id to authenticate().
19
+ sig do
20
+ params(
21
+ id: String,
22
+ status: Privy::LinkAuthIntentCreated::Status::OrSymbol
23
+ ).returns(T.attached_class)
24
+ end
25
+ def self.new(
26
+ # The Link auth intent ID.
27
+ id:,
28
+ status:
29
+ )
30
+ end
31
+
32
+ sig do
33
+ override.returns(
34
+ { id: String, status: Privy::LinkAuthIntentCreated::Status::OrSymbol }
35
+ )
36
+ end
37
+ def to_hash
38
+ end
39
+
40
+ module Status
41
+ extend Privy::Internal::Type::Enum
42
+
43
+ TaggedSymbol =
44
+ T.type_alias { T.all(Symbol, Privy::LinkAuthIntentCreated::Status) }
45
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
46
+
47
+ CREATED =
48
+ T.let(:created, Privy::LinkAuthIntentCreated::Status::TaggedSymbol)
49
+
50
+ sig do
51
+ override.returns(
52
+ T::Array[Privy::LinkAuthIntentCreated::Status::TaggedSymbol]
53
+ )
54
+ end
55
+ def self.values
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,54 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class LinkAuthIntentNoAccount < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::LinkAuthIntentNoAccount, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(Privy::LinkAuthIntentNoAccount::Status::OrSymbol) }
12
+ attr_accessor :status
13
+
14
+ # No Link account for this email. Call registerLinkUser() then retry.
15
+ sig do
16
+ params(
17
+ status: Privy::LinkAuthIntentNoAccount::Status::OrSymbol
18
+ ).returns(T.attached_class)
19
+ end
20
+ def self.new(status:)
21
+ end
22
+
23
+ sig do
24
+ override.returns(
25
+ { status: Privy::LinkAuthIntentNoAccount::Status::OrSymbol }
26
+ )
27
+ end
28
+ def to_hash
29
+ end
30
+
31
+ module Status
32
+ extend Privy::Internal::Type::Enum
33
+
34
+ TaggedSymbol =
35
+ T.type_alias { T.all(Symbol, Privy::LinkAuthIntentNoAccount::Status) }
36
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
37
+
38
+ NO_ACCOUNT =
39
+ T.let(
40
+ :no_account,
41
+ Privy::LinkAuthIntentNoAccount::Status::TaggedSymbol
42
+ )
43
+
44
+ sig do
45
+ override.returns(
46
+ T::Array[Privy::LinkAuthIntentNoAccount::Status::TaggedSymbol]
47
+ )
48
+ end
49
+ def self.values
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,31 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class ListStripeConsumerWalletsResponse < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Privy::ListStripeConsumerWalletsResponse,
10
+ Privy::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(T::Array[Privy::StripeConsumerWallet]) }
15
+ attr_accessor :data
16
+
17
+ # List of registered wallets for a crypto customer.
18
+ sig do
19
+ params(data: T::Array[Privy::StripeConsumerWallet::OrHash]).returns(
20
+ T.attached_class
21
+ )
22
+ end
23
+ def self.new(data:)
24
+ end
25
+
26
+ sig { override.returns({ data: T::Array[Privy::StripeConsumerWallet] }) }
27
+ def to_hash
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class ListStripePaymentTokensResponse < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Privy::ListStripePaymentTokensResponse,
10
+ Privy::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(T::Array[Privy::StripePaymentToken]) }
15
+ attr_accessor :data
16
+
17
+ # List of payment tokens for a crypto customer.
18
+ sig do
19
+ params(data: T::Array[Privy::StripePaymentToken::OrHash]).returns(
20
+ T.attached_class
21
+ )
22
+ end
23
+ def self.new(data:)
24
+ end
25
+
26
+ sig { override.returns({ data: T::Array[Privy::StripePaymentToken] }) }
27
+ def to_hash
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,76 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class OnrampSessionParams < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::OnrampSessionParams, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :crypto_customer_id
13
+
14
+ # Cryptocurrency symbol. Uppercase alphanumeric, 2-10 characters.
15
+ sig { returns(String) }
16
+ attr_accessor :destination_currency
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :destination_network
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :payment_token
23
+
24
+ sig { returns(String) }
25
+ attr_accessor :source_amount
26
+
27
+ # ISO 4217 fiat currency code. Three uppercase ASCII letters.
28
+ sig { returns(String) }
29
+ attr_accessor :source_currency
30
+
31
+ sig { returns(String) }
32
+ attr_accessor :wallet_address
33
+
34
+ # Parameters for creating a Stripe onramp session.
35
+ sig do
36
+ params(
37
+ crypto_customer_id: String,
38
+ destination_currency: String,
39
+ destination_network: String,
40
+ payment_token: String,
41
+ source_amount: String,
42
+ source_currency: String,
43
+ wallet_address: String
44
+ ).returns(T.attached_class)
45
+ end
46
+ def self.new(
47
+ crypto_customer_id:,
48
+ # Cryptocurrency symbol. Uppercase alphanumeric, 2-10 characters.
49
+ destination_currency:,
50
+ destination_network:,
51
+ payment_token:,
52
+ source_amount:,
53
+ # ISO 4217 fiat currency code. Three uppercase ASCII letters.
54
+ source_currency:,
55
+ wallet_address:
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ crypto_customer_id: String,
63
+ destination_currency: String,
64
+ destination_network: String,
65
+ payment_token: String,
66
+ source_amount: String,
67
+ source_currency: String,
68
+ wallet_address: String
69
+ }
70
+ )
71
+ end
72
+ def to_hash
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,33 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class RefreshStripeQuoteResponse < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::RefreshStripeQuoteResponse, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ # A refreshed quote.
12
+ sig { returns(Privy::StripeQuote) }
13
+ attr_reader :quote
14
+
15
+ sig { params(quote: Privy::StripeQuote::OrHash).void }
16
+ attr_writer :quote
17
+
18
+ # Refreshed quote with new expiry.
19
+ sig do
20
+ params(quote: Privy::StripeQuote::OrHash).returns(T.attached_class)
21
+ end
22
+ def self.new(
23
+ # A refreshed quote.
24
+ quote:
25
+ )
26
+ end
27
+
28
+ sig { override.returns({ quote: Privy::StripeQuote }) }
29
+ def to_hash
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,113 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class RuleDeleteIntentResponse < Privy::Models::BaseIntentResponse
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::RuleDeleteIntentResponse, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(Privy::RuleDeleteIntentResponse::IntentType::TaggedSymbol) }
12
+ attr_accessor :intent_type
13
+
14
+ # Request details for deleting a rule via intent.
15
+ sig { returns(Privy::RuleIntentDeleteRequestDetails) }
16
+ attr_reader :request_details
17
+
18
+ sig do
19
+ params(
20
+ request_details: Privy::RuleIntentDeleteRequestDetails::OrHash
21
+ ).void
22
+ end
23
+ attr_writer :request_details
24
+
25
+ # Result of rule execution (only present if status is 'executed' or 'failed')
26
+ sig { returns(T.nilable(Privy::BaseActionResult)) }
27
+ attr_reader :action_result
28
+
29
+ sig { params(action_result: Privy::BaseActionResult::OrHash).void }
30
+ attr_writer :action_result
31
+
32
+ # A rule that defines the conditions and action to take if the conditions are
33
+ # true.
34
+ sig { returns(T.nilable(Privy::PolicyRuleResponse)) }
35
+ attr_reader :current_resource_data
36
+
37
+ sig do
38
+ params(current_resource_data: Privy::PolicyRuleResponse::OrHash).void
39
+ end
40
+ attr_writer :current_resource_data
41
+
42
+ # A policy for controlling wallet operations.
43
+ sig { returns(T.nilable(Privy::Policy)) }
44
+ attr_reader :policy
45
+
46
+ sig { params(policy: Privy::Policy::OrHash).void }
47
+ attr_writer :policy
48
+
49
+ # Response for a delete rule intent
50
+ sig do
51
+ params(
52
+ intent_type: Privy::RuleDeleteIntentResponse::IntentType::OrSymbol,
53
+ request_details: Privy::RuleIntentDeleteRequestDetails::OrHash,
54
+ action_result: Privy::BaseActionResult::OrHash,
55
+ current_resource_data: Privy::PolicyRuleResponse::OrHash,
56
+ policy: Privy::Policy::OrHash
57
+ ).returns(T.attached_class)
58
+ end
59
+ def self.new(
60
+ intent_type:,
61
+ # Request details for deleting a rule via intent.
62
+ request_details:,
63
+ # Result of rule execution (only present if status is 'executed' or 'failed')
64
+ action_result: nil,
65
+ # A rule that defines the conditions and action to take if the conditions are
66
+ # true.
67
+ current_resource_data: nil,
68
+ # A policy for controlling wallet operations.
69
+ policy: nil
70
+ )
71
+ end
72
+
73
+ sig do
74
+ override.returns(
75
+ {
76
+ intent_type:
77
+ Privy::RuleDeleteIntentResponse::IntentType::TaggedSymbol,
78
+ request_details: Privy::RuleIntentDeleteRequestDetails,
79
+ action_result: Privy::BaseActionResult,
80
+ current_resource_data: Privy::PolicyRuleResponse,
81
+ policy: Privy::Policy
82
+ }
83
+ )
84
+ end
85
+ def to_hash
86
+ end
87
+
88
+ module IntentType
89
+ extend Privy::Internal::Type::Enum
90
+
91
+ TaggedSymbol =
92
+ T.type_alias do
93
+ T.all(Symbol, Privy::RuleDeleteIntentResponse::IntentType)
94
+ end
95
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
96
+
97
+ RULE =
98
+ T.let(
99
+ :RULE,
100
+ Privy::RuleDeleteIntentResponse::IntentType::TaggedSymbol
101
+ )
102
+
103
+ sig do
104
+ override.returns(
105
+ T::Array[Privy::RuleDeleteIntentResponse::IntentType::TaggedSymbol]
106
+ )
107
+ end
108
+ def self.values
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,113 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class RuleMutateIntentResponse < Privy::Models::BaseIntentResponse
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::RuleMutateIntentResponse, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(Privy::RuleMutateIntentResponse::IntentType::TaggedSymbol) }
12
+ attr_accessor :intent_type
13
+
14
+ # The original rule request. Method is POST (create), PATCH (update), or DELETE
15
+ # (delete)
16
+ sig { returns(Privy::RuleIntentRequestDetails::Variants) }
17
+ attr_accessor :request_details
18
+
19
+ # Result of rule execution (only present if status is 'executed' or 'failed')
20
+ sig { returns(T.nilable(Privy::BaseActionResult)) }
21
+ attr_reader :action_result
22
+
23
+ sig { params(action_result: Privy::BaseActionResult::OrHash).void }
24
+ attr_writer :action_result
25
+
26
+ # A rule that defines the conditions and action to take if the conditions are
27
+ # true.
28
+ sig { returns(T.nilable(Privy::PolicyRuleResponse)) }
29
+ attr_reader :current_resource_data
30
+
31
+ sig do
32
+ params(current_resource_data: Privy::PolicyRuleResponse::OrHash).void
33
+ end
34
+ attr_writer :current_resource_data
35
+
36
+ # A policy for controlling wallet operations.
37
+ sig { returns(T.nilable(Privy::Policy)) }
38
+ attr_reader :policy
39
+
40
+ sig { params(policy: Privy::Policy::OrHash).void }
41
+ attr_writer :policy
42
+
43
+ # Response for a create or update rule intent
44
+ sig do
45
+ params(
46
+ intent_type: Privy::RuleMutateIntentResponse::IntentType::OrSymbol,
47
+ request_details:
48
+ T.any(
49
+ Privy::RuleIntentCreateRequestDetails::OrHash,
50
+ Privy::RuleIntentUpdateRequestDetails::OrHash,
51
+ Privy::RuleIntentDeleteRequestDetails::OrHash
52
+ ),
53
+ action_result: Privy::BaseActionResult::OrHash,
54
+ current_resource_data: Privy::PolicyRuleResponse::OrHash,
55
+ policy: Privy::Policy::OrHash
56
+ ).returns(T.attached_class)
57
+ end
58
+ def self.new(
59
+ intent_type:,
60
+ # The original rule request. Method is POST (create), PATCH (update), or DELETE
61
+ # (delete)
62
+ request_details:,
63
+ # Result of rule execution (only present if status is 'executed' or 'failed')
64
+ action_result: nil,
65
+ # A rule that defines the conditions and action to take if the conditions are
66
+ # true.
67
+ current_resource_data: nil,
68
+ # A policy for controlling wallet operations.
69
+ policy: nil
70
+ )
71
+ end
72
+
73
+ sig do
74
+ override.returns(
75
+ {
76
+ intent_type:
77
+ Privy::RuleMutateIntentResponse::IntentType::TaggedSymbol,
78
+ request_details: Privy::RuleIntentRequestDetails::Variants,
79
+ action_result: Privy::BaseActionResult,
80
+ current_resource_data: Privy::PolicyRuleResponse,
81
+ policy: Privy::Policy
82
+ }
83
+ )
84
+ end
85
+ def to_hash
86
+ end
87
+
88
+ module IntentType
89
+ extend Privy::Internal::Type::Enum
90
+
91
+ TaggedSymbol =
92
+ T.type_alias do
93
+ T.all(Symbol, Privy::RuleMutateIntentResponse::IntentType)
94
+ end
95
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
96
+
97
+ RULE =
98
+ T.let(
99
+ :RULE,
100
+ Privy::RuleMutateIntentResponse::IntentType::TaggedSymbol
101
+ )
102
+
103
+ sig do
104
+ override.returns(
105
+ T::Array[Privy::RuleMutateIntentResponse::IntentType::TaggedSymbol]
106
+ )
107
+ end
108
+ def self.values
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,38 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class StripeConsumerWallet < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::StripeConsumerWallet, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :id
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :network
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :wallet_address
19
+
20
+ # A registered consumer wallet.
21
+ sig do
22
+ params(id: String, network: String, wallet_address: String).returns(
23
+ T.attached_class
24
+ )
25
+ end
26
+ def self.new(id:, network:, wallet_address:)
27
+ end
28
+
29
+ sig do
30
+ override.returns(
31
+ { id: String, network: String, wallet_address: String }
32
+ )
33
+ end
34
+ def to_hash
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,68 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class StripeCryptoCustomerActive < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::StripeCryptoCustomerActive, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :crypto_customer_id
13
+
14
+ sig { returns(Privy::StripeCryptoCustomerActive::Status::OrSymbol) }
15
+ attr_accessor :status
16
+
17
+ sig { returns(T::Array[Privy::StripeVerification]) }
18
+ attr_accessor :verifications
19
+
20
+ # Active onramp session with customer verifications.
21
+ sig do
22
+ params(
23
+ crypto_customer_id: String,
24
+ status: Privy::StripeCryptoCustomerActive::Status::OrSymbol,
25
+ verifications: T::Array[Privy::StripeVerification::OrHash]
26
+ ).returns(T.attached_class)
27
+ end
28
+ def self.new(crypto_customer_id:, status:, verifications:)
29
+ end
30
+
31
+ sig do
32
+ override.returns(
33
+ {
34
+ crypto_customer_id: String,
35
+ status: Privy::StripeCryptoCustomerActive::Status::OrSymbol,
36
+ verifications: T::Array[Privy::StripeVerification]
37
+ }
38
+ )
39
+ end
40
+ def to_hash
41
+ end
42
+
43
+ module Status
44
+ extend Privy::Internal::Type::Enum
45
+
46
+ TaggedSymbol =
47
+ T.type_alias do
48
+ T.all(Symbol, Privy::StripeCryptoCustomerActive::Status)
49
+ end
50
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
51
+
52
+ ACTIVE =
53
+ T.let(
54
+ :active,
55
+ Privy::StripeCryptoCustomerActive::Status::TaggedSymbol
56
+ )
57
+
58
+ sig do
59
+ override.returns(
60
+ T::Array[Privy::StripeCryptoCustomerActive::Status::TaggedSymbol]
61
+ )
62
+ end
63
+ def self.values
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,63 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class StripeCryptoCustomerExpired < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Privy::StripeCryptoCustomerExpired, Privy::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :crypto_customer_id
13
+
14
+ sig { returns(Privy::StripeCryptoCustomerExpired::Status::OrSymbol) }
15
+ attr_accessor :status
16
+
17
+ # Expired onramp session. Token refresh failed, re-authentication required.
18
+ sig do
19
+ params(
20
+ crypto_customer_id: String,
21
+ status: Privy::StripeCryptoCustomerExpired::Status::OrSymbol
22
+ ).returns(T.attached_class)
23
+ end
24
+ def self.new(crypto_customer_id:, status:)
25
+ end
26
+
27
+ sig do
28
+ override.returns(
29
+ {
30
+ crypto_customer_id: String,
31
+ status: Privy::StripeCryptoCustomerExpired::Status::OrSymbol
32
+ }
33
+ )
34
+ end
35
+ def to_hash
36
+ end
37
+
38
+ module Status
39
+ extend Privy::Internal::Type::Enum
40
+
41
+ TaggedSymbol =
42
+ T.type_alias do
43
+ T.all(Symbol, Privy::StripeCryptoCustomerExpired::Status)
44
+ end
45
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
46
+
47
+ EXPIRED =
48
+ T.let(
49
+ :expired,
50
+ Privy::StripeCryptoCustomerExpired::Status::TaggedSymbol
51
+ )
52
+
53
+ sig do
54
+ override.returns(
55
+ T::Array[Privy::StripeCryptoCustomerExpired::Status::TaggedSymbol]
56
+ )
57
+ end
58
+ def self.values
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end