privy_ruby 0.3.0 → 0.5.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 (158) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +1 -1
  4. data/lib/privy/authorization/canonicalization.rb +2 -0
  5. data/lib/privy/models/custom_token_transfer_source.rb +14 -13
  6. data/lib/privy/models/ethereum_yield_provider.rb +1 -0
  7. data/lib/privy/models/named_token_transfer_source.rb +14 -13
  8. data/lib/privy/models/rpc_intent_request_details.rb +2 -2
  9. data/lib/privy/models/rpc_intent_response.rb +2 -2
  10. data/lib/privy/models/spark_coop_exit_fee_quote.rb +101 -0
  11. data/lib/privy/models/spark_coop_exit_request.rb +90 -0
  12. data/lib/privy/models/spark_currency_amount.rb +23 -0
  13. data/lib/privy/models/spark_exit_speed.rb +17 -0
  14. data/lib/privy/models/spark_get_withdrawal_fee_quote_rpc_input.rb +43 -0
  15. data/lib/privy/models/spark_get_withdrawal_fee_quote_rpc_input_params.rb +23 -0
  16. data/lib/privy/models/spark_get_withdrawal_fee_quote_rpc_response.rb +35 -0
  17. data/lib/privy/models/spark_rpc_input.rb +7 -1
  18. data/lib/privy/models/spark_rpc_response.rb +7 -1
  19. data/lib/privy/models/spark_withdraw_rpc_input.rb +43 -0
  20. data/lib/privy/models/spark_withdraw_rpc_input_params.rb +53 -0
  21. data/lib/privy/models/spark_withdraw_rpc_response.rb +35 -0
  22. data/lib/privy/models/transaction_chain_name_input.rb +25 -0
  23. data/lib/privy/models/transfer_received_transaction_detail.rb +6 -0
  24. data/lib/privy/models/transfer_sent_transaction_detail.rb +6 -0
  25. data/lib/privy/models/unsafe_unwrap_webhook_event.rb +17 -1
  26. data/lib/privy/models/wallet_action_earn_fee_collect_created_webhook_payload.rb +153 -0
  27. data/lib/privy/models/wallet_action_earn_fee_collect_failed_webhook_payload.rb +178 -0
  28. data/lib/privy/models/wallet_action_earn_fee_collect_rejected_webhook_payload.rb +177 -0
  29. data/lib/privy/models/wallet_action_earn_fee_collect_succeeded_webhook_payload.rb +169 -0
  30. data/lib/privy/models/wallet_asset.rb +2 -0
  31. data/lib/privy/models/wallet_asset_chain_name_input.rb +3 -0
  32. data/lib/privy/models/wallet_creation_input.rb +11 -1
  33. data/lib/privy/models/wallet_ethereum_asset.rb +1 -0
  34. data/lib/privy/models/wallet_rpc_request_body.rb +7 -1
  35. data/lib/privy/models/wallet_rpc_response.rb +7 -1
  36. data/lib/privy/models/wallet_tron_asset.rb +17 -0
  37. data/lib/privy/models/wallets/aave_vault_details.rb +130 -0
  38. data/lib/privy/models/wallets/balance_get_params.rb +6 -0
  39. data/lib/privy/models/wallets/balance_get_response.rb +6 -0
  40. data/lib/privy/models/wallets/earn_fee_collect_action_response.rb +149 -0
  41. data/lib/privy/models/wallets/earn_fee_collect_request_body.rb +20 -0
  42. data/lib/privy/models/wallets/ethereum_earn_provider.rb +1 -0
  43. data/lib/privy/models/wallets/ethereum_earn_vault_details_response.rb +13 -83
  44. data/lib/privy/models/wallets/list_wallet_actions_response.rb +2 -2
  45. data/lib/privy/models/wallets/morpho_vault_details.rb +130 -0
  46. data/lib/privy/models/wallets/transaction_get_params.rb +10 -20
  47. data/lib/privy/models/wallets/veda_vault_details.rb +122 -0
  48. data/lib/privy/models/wallets/wallet_action_response.rb +4 -1
  49. data/lib/privy/models/wallets/wallet_action_type.rb +1 -0
  50. data/lib/privy/models/webhook_payload.rb +13 -1
  51. data/lib/privy/models.rb +36 -0
  52. data/lib/privy/public_api/services/tron.rb +103 -0
  53. data/lib/privy/public_api/services/wallets.rb +4 -0
  54. data/lib/privy/resources/intents.rb +1 -1
  55. data/lib/privy/resources/wallets/actions.rb +1 -1
  56. data/lib/privy/resources/wallets/transactions.rb +1 -1
  57. data/lib/privy/resources/wallets.rb +2 -2
  58. data/lib/privy/resources/webhooks.rb +1 -1
  59. data/lib/privy/version.rb +1 -1
  60. data/lib/privy.rb +22 -0
  61. data/rbi/privy/models/custom_token_transfer_source.rbi +18 -13
  62. data/rbi/privy/models/ethereum_yield_provider.rbi +1 -0
  63. data/rbi/privy/models/named_token_transfer_source.rbi +18 -13
  64. data/rbi/privy/models/rpc_intent_request_details.rbi +6 -0
  65. data/rbi/privy/models/rpc_intent_response.rbi +2 -0
  66. data/rbi/privy/models/spark_coop_exit_fee_quote.rbi +143 -0
  67. data/rbi/privy/models/spark_coop_exit_request.rbi +114 -0
  68. data/rbi/privy/models/spark_currency_amount.rbi +31 -0
  69. data/rbi/privy/models/spark_exit_speed.rbi +21 -0
  70. data/rbi/privy/models/spark_get_withdrawal_fee_quote_rpc_input.rbi +94 -0
  71. data/rbi/privy/models/spark_get_withdrawal_fee_quote_rpc_input_params.rbi +34 -0
  72. data/rbi/privy/models/spark_get_withdrawal_fee_quote_rpc_response.rbi +82 -0
  73. data/rbi/privy/models/spark_rpc_input.rbi +3 -1
  74. data/rbi/privy/models/spark_rpc_response.rbi +3 -1
  75. data/rbi/privy/models/spark_withdraw_rpc_input.rbi +77 -0
  76. data/rbi/privy/models/spark_withdraw_rpc_input_params.rbi +80 -0
  77. data/rbi/privy/models/spark_withdraw_rpc_response.rbi +71 -0
  78. data/rbi/privy/models/transaction_chain_name_input.rbi +38 -0
  79. data/rbi/privy/models/transfer_received_transaction_detail.rbi +10 -0
  80. data/rbi/privy/models/transfer_sent_transaction_detail.rbi +4 -0
  81. data/rbi/privy/models/unsafe_unwrap_webhook_event.rbi +4 -0
  82. data/rbi/privy/models/wallet_action_earn_fee_collect_created_webhook_payload.rbi +232 -0
  83. data/rbi/privy/models/wallet_action_earn_fee_collect_failed_webhook_payload.rbi +271 -0
  84. data/rbi/privy/models/wallet_action_earn_fee_collect_rejected_webhook_payload.rbi +269 -0
  85. data/rbi/privy/models/wallet_action_earn_fee_collect_succeeded_webhook_payload.rbi +258 -0
  86. data/rbi/privy/models/wallet_asset.rbi +2 -0
  87. data/rbi/privy/models/wallet_asset_chain_name_input.rbi +4 -0
  88. data/rbi/privy/models/wallet_creation_input.rbi +15 -0
  89. data/rbi/privy/models/wallet_ethereum_asset.rbi +1 -0
  90. data/rbi/privy/models/wallet_rpc_request_body.rbi +2 -0
  91. data/rbi/privy/models/wallet_rpc_response.rbi +2 -0
  92. data/rbi/privy/models/wallet_tron_asset.rbi +21 -0
  93. data/rbi/privy/models/wallets/aave_vault_details.rbi +165 -0
  94. data/rbi/privy/models/wallets/balance_get_params.rbi +4 -0
  95. data/rbi/privy/models/wallets/balance_get_response.rbi +10 -0
  96. data/rbi/privy/models/wallets/earn_fee_collect_action_response.rbi +236 -0
  97. data/rbi/privy/models/wallets/earn_fee_collect_request_body.rbi +33 -0
  98. data/rbi/privy/models/wallets/ethereum_earn_provider.rbi +1 -0
  99. data/rbi/privy/models/wallets/ethereum_earn_vault_details_response.rbi +11 -103
  100. data/rbi/privy/models/wallets/list_wallet_actions_response.rbi +6 -3
  101. data/rbi/privy/models/wallets/morpho_vault_details.rbi +167 -0
  102. data/rbi/privy/models/wallets/transaction_get_params.rbi +15 -69
  103. data/rbi/privy/models/wallets/veda_vault_details.rbi +157 -0
  104. data/rbi/privy/models/wallets/wallet_action_response.rbi +2 -1
  105. data/rbi/privy/models/wallets/wallet_action_type.rbi +5 -0
  106. data/rbi/privy/models/webhook_payload.rbi +5 -1
  107. data/rbi/privy/models.rbi +39 -0
  108. data/rbi/privy/resources/intents.rbi +2 -0
  109. data/rbi/privy/resources/wallets/transactions.rbi +2 -1
  110. data/rbi/privy/resources/wallets.rbi +2 -0
  111. data/rbi/privy/resources/webhooks.rbi +4 -0
  112. data/sig/privy/models/custom_token_transfer_source.rbs +8 -6
  113. data/sig/privy/models/ethereum_yield_provider.rbs +2 -1
  114. data/sig/privy/models/named_token_transfer_source.rbs +7 -5
  115. data/sig/privy/models/spark_coop_exit_fee_quote.rbs +75 -0
  116. data/sig/privy/models/spark_coop_exit_request.rbs +76 -0
  117. data/sig/privy/models/spark_currency_amount.rbs +16 -0
  118. data/sig/privy/models/spark_exit_speed.rbs +15 -0
  119. data/sig/privy/models/spark_get_withdrawal_fee_quote_rpc_input.rbs +44 -0
  120. data/sig/privy/models/spark_get_withdrawal_fee_quote_rpc_input_params.rbs +16 -0
  121. data/sig/privy/models/spark_get_withdrawal_fee_quote_rpc_response.rbs +37 -0
  122. data/sig/privy/models/spark_rpc_input.rbs +2 -0
  123. data/sig/privy/models/spark_rpc_response.rbs +2 -0
  124. data/sig/privy/models/spark_withdraw_rpc_input.rbs +44 -0
  125. data/sig/privy/models/spark_withdraw_rpc_input_params.rbs +53 -0
  126. data/sig/privy/models/spark_withdraw_rpc_response.rbs +37 -0
  127. data/sig/privy/models/transaction_chain_name_input.rbs +34 -0
  128. data/sig/privy/models/transfer_received_transaction_detail.rbs +4 -0
  129. data/sig/privy/models/transfer_sent_transaction_detail.rbs +4 -0
  130. data/sig/privy/models/unsafe_unwrap_webhook_event.rbs +4 -0
  131. data/sig/privy/models/wallet_action_earn_fee_collect_created_webhook_payload.rbs +111 -0
  132. data/sig/privy/models/wallet_action_earn_fee_collect_failed_webhook_payload.rbs +126 -0
  133. data/sig/privy/models/wallet_action_earn_fee_collect_rejected_webhook_payload.rbs +126 -0
  134. data/sig/privy/models/wallet_action_earn_fee_collect_succeeded_webhook_payload.rbs +121 -0
  135. data/sig/privy/models/wallet_asset.rbs +13 -1
  136. data/sig/privy/models/wallet_asset_chain_name_input.rbs +6 -0
  137. data/sig/privy/models/wallet_creation_input.rbs +7 -0
  138. data/sig/privy/models/wallet_ethereum_asset.rbs +2 -1
  139. data/sig/privy/models/wallet_rpc_request_body.rbs +2 -0
  140. data/sig/privy/models/wallet_rpc_response.rbs +2 -0
  141. data/sig/privy/models/wallet_tron_asset.rbs +15 -0
  142. data/sig/privy/models/wallets/aave_vault_details.rbs +92 -0
  143. data/sig/privy/models/wallets/balance_get_params.rbs +4 -0
  144. data/sig/privy/models/wallets/balance_get_response.rbs +4 -0
  145. data/sig/privy/models/wallets/earn_fee_collect_action_response.rbs +114 -0
  146. data/sig/privy/models/wallets/earn_fee_collect_request_body.rbs +15 -0
  147. data/sig/privy/models/wallets/ethereum_earn_provider.rbs +2 -1
  148. data/sig/privy/models/wallets/ethereum_earn_vault_details_response.rbs +6 -57
  149. data/sig/privy/models/wallets/morpho_vault_details.rbs +92 -0
  150. data/sig/privy/models/wallets/transaction_get_params.rbs +8 -31
  151. data/sig/privy/models/wallets/veda_vault_details.rbs +87 -0
  152. data/sig/privy/models/wallets/wallet_action_response.rbs +1 -0
  153. data/sig/privy/models/wallets/wallet_action_type.rbs +2 -0
  154. data/sig/privy/models/webhook_payload.rbs +4 -0
  155. data/sig/privy/models.rbs +32 -0
  156. data/sig/privy/resources/wallets/transactions.rbs +1 -1
  157. data/sig/privy/resources/webhooks.rbs +4 -0
  158. metadata +66 -2
@@ -0,0 +1,167 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ module Wallets
6
+ class MorphoVaultDetails < Privy::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Privy::Wallets::MorphoVaultDetails, Privy::Internal::AnyHash)
10
+ end
11
+
12
+ # Vault identifier.
13
+ sig { returns(String) }
14
+ attr_accessor :id
15
+
16
+ # EVM address of the vault admin wallet.
17
+ sig { returns(String) }
18
+ attr_accessor :admin_wallet_address
19
+
20
+ # Privy wallet ID of the vault admin.
21
+ sig { returns(String) }
22
+ attr_accessor :admin_wallet_id
23
+
24
+ # Annual percentage yield earned by the app from fee wrapper fees, in basis
25
+ # points.
26
+ sig { returns(T.nilable(Float)) }
27
+ attr_accessor :app_apy
28
+
29
+ # Asset metadata for an earn vault position.
30
+ sig { returns(Privy::Wallets::EarnAsset) }
31
+ attr_reader :asset
32
+
33
+ sig { params(asset: Privy::Wallets::EarnAsset::OrHash).void }
34
+ attr_writer :asset
35
+
36
+ # Available liquidity in USD.
37
+ sig { returns(T.nilable(Float)) }
38
+ attr_accessor :available_liquidity_usd
39
+
40
+ # CAIP-2 chain identifier (e.g. "eip155:8453").
41
+ sig { returns(String) }
42
+ attr_accessor :caip2
43
+
44
+ # Human-readable vault name from the yield provider.
45
+ sig { returns(String) }
46
+ attr_accessor :name
47
+
48
+ sig { returns(Privy::Wallets::MorphoVaultDetails::Provider::OrSymbol) }
49
+ attr_accessor :provider
50
+
51
+ # Total rewards annual percentage rate in basis points.
52
+ sig { returns(Float) }
53
+ attr_accessor :total_rewards_apr
54
+
55
+ # Total value locked in USD.
56
+ sig { returns(T.nilable(Float)) }
57
+ attr_accessor :tvl_usd
58
+
59
+ # Annual percentage yield available to the user, after fees and excluding rewards,
60
+ # in basis points (e.g. 500 for 5%). 1 basis point = 0.01%.
61
+ sig { returns(T.nilable(Float)) }
62
+ attr_accessor :user_apy
63
+
64
+ # Onchain vault contract address.
65
+ sig { returns(String) }
66
+ attr_accessor :vault_address
67
+
68
+ # Vault details for a Morpho earn vault.
69
+ sig do
70
+ params(
71
+ id: String,
72
+ admin_wallet_address: String,
73
+ admin_wallet_id: String,
74
+ app_apy: T.nilable(Float),
75
+ asset: Privy::Wallets::EarnAsset::OrHash,
76
+ available_liquidity_usd: T.nilable(Float),
77
+ caip2: String,
78
+ name: String,
79
+ provider: Privy::Wallets::MorphoVaultDetails::Provider::OrSymbol,
80
+ total_rewards_apr: Float,
81
+ tvl_usd: T.nilable(Float),
82
+ user_apy: T.nilable(Float),
83
+ vault_address: String
84
+ ).returns(T.attached_class)
85
+ end
86
+ def self.new(
87
+ # Vault identifier.
88
+ id:,
89
+ # EVM address of the vault admin wallet.
90
+ admin_wallet_address:,
91
+ # Privy wallet ID of the vault admin.
92
+ admin_wallet_id:,
93
+ # Annual percentage yield earned by the app from fee wrapper fees, in basis
94
+ # points.
95
+ app_apy:,
96
+ # Asset metadata for an earn vault position.
97
+ asset:,
98
+ # Available liquidity in USD.
99
+ available_liquidity_usd:,
100
+ # CAIP-2 chain identifier (e.g. "eip155:8453").
101
+ caip2:,
102
+ # Human-readable vault name from the yield provider.
103
+ name:,
104
+ provider:,
105
+ # Total rewards annual percentage rate in basis points.
106
+ total_rewards_apr:,
107
+ # Total value locked in USD.
108
+ tvl_usd:,
109
+ # Annual percentage yield available to the user, after fees and excluding rewards,
110
+ # in basis points (e.g. 500 for 5%). 1 basis point = 0.01%.
111
+ user_apy:,
112
+ # Onchain vault contract address.
113
+ vault_address:
114
+ )
115
+ end
116
+
117
+ sig do
118
+ override.returns(
119
+ {
120
+ id: String,
121
+ admin_wallet_address: String,
122
+ admin_wallet_id: String,
123
+ app_apy: T.nilable(Float),
124
+ asset: Privy::Wallets::EarnAsset,
125
+ available_liquidity_usd: T.nilable(Float),
126
+ caip2: String,
127
+ name: String,
128
+ provider: Privy::Wallets::MorphoVaultDetails::Provider::OrSymbol,
129
+ total_rewards_apr: Float,
130
+ tvl_usd: T.nilable(Float),
131
+ user_apy: T.nilable(Float),
132
+ vault_address: String
133
+ }
134
+ )
135
+ end
136
+ def to_hash
137
+ end
138
+
139
+ module Provider
140
+ extend Privy::Internal::Type::Enum
141
+
142
+ TaggedSymbol =
143
+ T.type_alias do
144
+ T.all(Symbol, Privy::Wallets::MorphoVaultDetails::Provider)
145
+ end
146
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
147
+
148
+ MORPHO =
149
+ T.let(
150
+ :morpho,
151
+ Privy::Wallets::MorphoVaultDetails::Provider::TaggedSymbol
152
+ )
153
+
154
+ sig do
155
+ override.returns(
156
+ T::Array[
157
+ Privy::Wallets::MorphoVaultDetails::Provider::TaggedSymbol
158
+ ]
159
+ )
160
+ end
161
+ def self.values
162
+ end
163
+ end
164
+ end
165
+ end
166
+ end
167
+ end
@@ -19,7 +19,8 @@ module Privy
19
19
  sig { returns(String) }
20
20
  attr_accessor :wallet_id
21
21
 
22
- sig { returns(Privy::Wallets::TransactionGetParams::Chain::OrSymbol) }
22
+ # Chains supported for transaction history queries.
23
+ sig { returns(Privy::TransactionChainNameInput::OrSymbol) }
23
24
  attr_accessor :chain
24
25
 
25
26
  # Exactly one of `token` or `asset` is required. Cannot be used together with
@@ -88,7 +89,7 @@ module Privy
88
89
  sig do
89
90
  params(
90
91
  wallet_id: String,
91
- chain: Privy::Wallets::TransactionGetParams::Chain::OrSymbol,
92
+ chain: Privy::TransactionChainNameInput::OrSymbol,
92
93
  token: Privy::Wallets::TransactionGetParams::Token::Variants,
93
94
  asset:
94
95
  T.any(
@@ -105,6 +106,7 @@ module Privy
105
106
  def self.new(
106
107
  # ID of the wallet.
107
108
  wallet_id:,
109
+ # Chains supported for transaction history queries.
108
110
  chain:,
109
111
  # Exactly one of `token` or `asset` is required. Cannot be used together with
110
112
  # `asset`.
@@ -125,7 +127,7 @@ module Privy
125
127
  override.returns(
126
128
  {
127
129
  wallet_id: String,
128
- chain: Privy::Wallets::TransactionGetParams::Chain::OrSymbol,
130
+ chain: Privy::TransactionChainNameInput::OrSymbol,
129
131
  token: Privy::Wallets::TransactionGetParams::Token::Variants,
130
132
  asset:
131
133
  T.any(
@@ -143,72 +145,6 @@ module Privy
143
145
  def to_hash
144
146
  end
145
147
 
146
- module Chain
147
- extend Privy::Internal::Type::Enum
148
-
149
- TaggedSymbol =
150
- T.type_alias do
151
- T.all(Symbol, Privy::Wallets::TransactionGetParams::Chain)
152
- end
153
- OrSymbol = T.type_alias { T.any(Symbol, String) }
154
-
155
- ETHEREUM =
156
- T.let(
157
- :ethereum,
158
- Privy::Wallets::TransactionGetParams::Chain::TaggedSymbol
159
- )
160
- ARBITRUM =
161
- T.let(
162
- :arbitrum,
163
- Privy::Wallets::TransactionGetParams::Chain::TaggedSymbol
164
- )
165
- BASE =
166
- T.let(
167
- :base,
168
- Privy::Wallets::TransactionGetParams::Chain::TaggedSymbol
169
- )
170
- TEMPO =
171
- T.let(
172
- :tempo,
173
- Privy::Wallets::TransactionGetParams::Chain::TaggedSymbol
174
- )
175
- LINEA =
176
- T.let(
177
- :linea,
178
- Privy::Wallets::TransactionGetParams::Chain::TaggedSymbol
179
- )
180
- OPTIMISM =
181
- T.let(
182
- :optimism,
183
- Privy::Wallets::TransactionGetParams::Chain::TaggedSymbol
184
- )
185
- POLYGON =
186
- T.let(
187
- :polygon,
188
- Privy::Wallets::TransactionGetParams::Chain::TaggedSymbol
189
- )
190
- SOLANA =
191
- T.let(
192
- :solana,
193
- Privy::Wallets::TransactionGetParams::Chain::TaggedSymbol
194
- )
195
- SEPOLIA =
196
- T.let(
197
- :sepolia,
198
- Privy::Wallets::TransactionGetParams::Chain::TaggedSymbol
199
- )
200
-
201
- sig do
202
- override.returns(
203
- T::Array[
204
- Privy::Wallets::TransactionGetParams::Chain::TaggedSymbol
205
- ]
206
- )
207
- end
208
- def self.values
209
- end
210
- end
211
-
212
148
  # Exactly one of `token` or `asset` is required. Cannot be used together with
213
149
  # `asset`.
214
150
  module Token
@@ -283,6 +219,11 @@ module Privy
283
219
  :pol,
284
220
  Privy::Wallets::TransactionGetParams::Asset::TaggedSymbol
285
221
  )
222
+ BNB =
223
+ T.let(
224
+ :bnb,
225
+ Privy::Wallets::TransactionGetParams::Asset::TaggedSymbol
226
+ )
286
227
  USDT =
287
228
  T.let(
288
229
  :usdt,
@@ -303,6 +244,11 @@ module Privy
303
244
  :sol,
304
245
  Privy::Wallets::TransactionGetParams::Asset::TaggedSymbol
305
246
  )
247
+ TRX =
248
+ T.let(
249
+ :trx,
250
+ Privy::Wallets::TransactionGetParams::Asset::TaggedSymbol
251
+ )
306
252
 
307
253
  WalletAssetArray =
308
254
  T.let(
@@ -0,0 +1,157 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ module Wallets
6
+ class VedaVaultDetails < Privy::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Privy::Wallets::VedaVaultDetails, Privy::Internal::AnyHash)
10
+ end
11
+
12
+ # Vault identifier.
13
+ sig { returns(String) }
14
+ attr_accessor :id
15
+
16
+ # EVM address of the vault admin wallet.
17
+ sig { returns(String) }
18
+ attr_accessor :admin_wallet_address
19
+
20
+ # Privy wallet ID of the vault admin.
21
+ sig { returns(String) }
22
+ attr_accessor :admin_wallet_id
23
+
24
+ # Annual percentage yield earned by the app from fee wrapper fees, in basis
25
+ # points.
26
+ sig { returns(T.nilable(Float)) }
27
+ attr_accessor :app_apy
28
+
29
+ # Asset metadata for an earn vault position.
30
+ sig { returns(Privy::Wallets::EarnAsset) }
31
+ attr_reader :asset
32
+
33
+ sig { params(asset: Privy::Wallets::EarnAsset::OrHash).void }
34
+ attr_writer :asset
35
+
36
+ # Available liquidity in USD.
37
+ sig { returns(T.nilable(Float)) }
38
+ attr_accessor :available_liquidity_usd
39
+
40
+ # CAIP-2 chain identifier (e.g. "eip155:8453").
41
+ sig { returns(String) }
42
+ attr_accessor :caip2
43
+
44
+ # Human-readable vault name from the yield provider.
45
+ sig { returns(String) }
46
+ attr_accessor :name
47
+
48
+ sig { returns(Privy::Wallets::VedaVaultDetails::Provider::OrSymbol) }
49
+ attr_accessor :provider
50
+
51
+ # Total value locked in USD.
52
+ sig { returns(T.nilable(Float)) }
53
+ attr_accessor :tvl_usd
54
+
55
+ # Annual percentage yield available to the user, after fees and excluding rewards,
56
+ # in basis points (e.g. 500 for 5%). 1 basis point = 0.01%.
57
+ sig { returns(T.nilable(Float)) }
58
+ attr_accessor :user_apy
59
+
60
+ # Onchain vault contract address.
61
+ sig { returns(String) }
62
+ attr_accessor :vault_address
63
+
64
+ # Vault details for a Veda (BoringVault) earn vault.
65
+ sig do
66
+ params(
67
+ id: String,
68
+ admin_wallet_address: String,
69
+ admin_wallet_id: String,
70
+ app_apy: T.nilable(Float),
71
+ asset: Privy::Wallets::EarnAsset::OrHash,
72
+ available_liquidity_usd: T.nilable(Float),
73
+ caip2: String,
74
+ name: String,
75
+ provider: Privy::Wallets::VedaVaultDetails::Provider::OrSymbol,
76
+ tvl_usd: T.nilable(Float),
77
+ user_apy: T.nilable(Float),
78
+ vault_address: String
79
+ ).returns(T.attached_class)
80
+ end
81
+ def self.new(
82
+ # Vault identifier.
83
+ id:,
84
+ # EVM address of the vault admin wallet.
85
+ admin_wallet_address:,
86
+ # Privy wallet ID of the vault admin.
87
+ admin_wallet_id:,
88
+ # Annual percentage yield earned by the app from fee wrapper fees, in basis
89
+ # points.
90
+ app_apy:,
91
+ # Asset metadata for an earn vault position.
92
+ asset:,
93
+ # Available liquidity in USD.
94
+ available_liquidity_usd:,
95
+ # CAIP-2 chain identifier (e.g. "eip155:8453").
96
+ caip2:,
97
+ # Human-readable vault name from the yield provider.
98
+ name:,
99
+ provider:,
100
+ # Total value locked in USD.
101
+ tvl_usd:,
102
+ # Annual percentage yield available to the user, after fees and excluding rewards,
103
+ # in basis points (e.g. 500 for 5%). 1 basis point = 0.01%.
104
+ user_apy:,
105
+ # Onchain vault contract address.
106
+ vault_address:
107
+ )
108
+ end
109
+
110
+ sig do
111
+ override.returns(
112
+ {
113
+ id: String,
114
+ admin_wallet_address: String,
115
+ admin_wallet_id: String,
116
+ app_apy: T.nilable(Float),
117
+ asset: Privy::Wallets::EarnAsset,
118
+ available_liquidity_usd: T.nilable(Float),
119
+ caip2: String,
120
+ name: String,
121
+ provider: Privy::Wallets::VedaVaultDetails::Provider::OrSymbol,
122
+ tvl_usd: T.nilable(Float),
123
+ user_apy: T.nilable(Float),
124
+ vault_address: String
125
+ }
126
+ )
127
+ end
128
+ def to_hash
129
+ end
130
+
131
+ module Provider
132
+ extend Privy::Internal::Type::Enum
133
+
134
+ TaggedSymbol =
135
+ T.type_alias do
136
+ T.all(Symbol, Privy::Wallets::VedaVaultDetails::Provider)
137
+ end
138
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
139
+
140
+ VEDA =
141
+ T.let(
142
+ :veda,
143
+ Privy::Wallets::VedaVaultDetails::Provider::TaggedSymbol
144
+ )
145
+
146
+ sig do
147
+ override.returns(
148
+ T::Array[Privy::Wallets::VedaVaultDetails::Provider::TaggedSymbol]
149
+ )
150
+ end
151
+ def self.values
152
+ end
153
+ end
154
+ end
155
+ end
156
+ end
157
+ end
@@ -16,7 +16,8 @@ module Privy
16
16
  Privy::Wallets::TransferActionResponse,
17
17
  Privy::Wallets::EarnDepositActionResponse,
18
18
  Privy::Wallets::EarnWithdrawActionResponse,
19
- Privy::Wallets::EarnIncentiveClaimActionResponse
19
+ Privy::Wallets::EarnIncentiveClaimActionResponse,
20
+ Privy::Wallets::EarnFeeCollectActionResponse
20
21
  )
21
22
  end
22
23
 
@@ -25,6 +25,11 @@ module Privy
25
25
  :earn_incentive_claim,
26
26
  Privy::Wallets::WalletActionType::TaggedSymbol
27
27
  )
28
+ EARN_FEE_COLLECT =
29
+ T.let(
30
+ :earn_fee_collect,
31
+ Privy::Wallets::WalletActionType::TaggedSymbol
32
+ )
28
33
 
29
34
  sig do
30
35
  override.returns(
@@ -61,7 +61,11 @@ module Privy
61
61
  Privy::WalletActionEarnIncentiveClaimCreatedWebhookPayload,
62
62
  Privy::WalletActionEarnIncentiveClaimSucceededWebhookPayload,
63
63
  Privy::WalletActionEarnIncentiveClaimRejectedWebhookPayload,
64
- Privy::WalletActionEarnIncentiveClaimFailedWebhookPayload
64
+ Privy::WalletActionEarnIncentiveClaimFailedWebhookPayload,
65
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload,
66
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload,
67
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload,
68
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload
65
69
  )
66
70
  end
67
71
 
data/rbi/privy/models.rbi CHANGED
@@ -1645,6 +1645,10 @@ module Privy
1645
1645
  SparkClaimStaticDepositRpcResponseData =
1646
1646
  Privy::Models::SparkClaimStaticDepositRpcResponseData
1647
1647
 
1648
+ SparkCoopExitFeeQuote = Privy::Models::SparkCoopExitFeeQuote
1649
+
1650
+ SparkCoopExitRequest = Privy::Models::SparkCoopExitRequest
1651
+
1648
1652
  SparkCreateLightningInvoiceRpcInput =
1649
1653
  Privy::Models::SparkCreateLightningInvoiceRpcInput
1650
1654
 
@@ -1654,6 +1658,10 @@ module Privy
1654
1658
  SparkCreateLightningInvoiceRpcResponse =
1655
1659
  Privy::Models::SparkCreateLightningInvoiceRpcResponse
1656
1660
 
1661
+ SparkCurrencyAmount = Privy::Models::SparkCurrencyAmount
1662
+
1663
+ SparkExitSpeed = Privy::Models::SparkExitSpeed
1664
+
1657
1665
  SparkGetBalanceRpcInput = Privy::Models::SparkGetBalanceRpcInput
1658
1666
 
1659
1667
  SparkGetBalanceRpcResponse = Privy::Models::SparkGetBalanceRpcResponse
@@ -1679,6 +1687,15 @@ module Privy
1679
1687
  SparkGetStaticDepositAddressRpcResponseData =
1680
1688
  Privy::Models::SparkGetStaticDepositAddressRpcResponseData
1681
1689
 
1690
+ SparkGetWithdrawalFeeQuoteRpcInput =
1691
+ Privy::Models::SparkGetWithdrawalFeeQuoteRpcInput
1692
+
1693
+ SparkGetWithdrawalFeeQuoteRpcInputParams =
1694
+ Privy::Models::SparkGetWithdrawalFeeQuoteRpcInputParams
1695
+
1696
+ SparkGetWithdrawalFeeQuoteRpcResponse =
1697
+ Privy::Models::SparkGetWithdrawalFeeQuoteRpcResponse
1698
+
1682
1699
  SparkLightningFee = Privy::Models::SparkLightningFee
1683
1700
 
1684
1701
  SparkLightningReceiveRequest = Privy::Models::SparkLightningReceiveRequest
@@ -1742,6 +1759,12 @@ module Privy
1742
1759
 
1743
1760
  SparkWalletLeaf = Privy::Models::SparkWalletLeaf
1744
1761
 
1762
+ SparkWithdrawRpcInput = Privy::Models::SparkWithdrawRpcInput
1763
+
1764
+ SparkWithdrawRpcInputParams = Privy::Models::SparkWithdrawRpcInputParams
1765
+
1766
+ SparkWithdrawRpcResponse = Privy::Models::SparkWithdrawRpcResponse
1767
+
1745
1768
  StripeConsumerWallet = Privy::Models::StripeConsumerWallet
1746
1769
 
1747
1770
  StripeCryptoCustomerActive = Privy::Models::StripeCryptoCustomerActive
@@ -1841,6 +1864,8 @@ module Privy
1841
1864
  TransactionBroadcastedWebhookPayload =
1842
1865
  Privy::Models::TransactionBroadcastedWebhookPayload
1843
1866
 
1867
+ TransactionChainNameInput = Privy::Models::TransactionChainNameInput
1868
+
1844
1869
  TransactionConfirmedWebhookPayload =
1845
1870
  Privy::Models::TransactionConfirmedWebhookPayload
1846
1871
 
@@ -2110,6 +2135,18 @@ module Privy
2110
2135
  WalletActionEarnDepositSucceededWebhookPayload =
2111
2136
  Privy::Models::WalletActionEarnDepositSucceededWebhookPayload
2112
2137
 
2138
+ WalletActionEarnFeeCollectCreatedWebhookPayload =
2139
+ Privy::Models::WalletActionEarnFeeCollectCreatedWebhookPayload
2140
+
2141
+ WalletActionEarnFeeCollectFailedWebhookPayload =
2142
+ Privy::Models::WalletActionEarnFeeCollectFailedWebhookPayload
2143
+
2144
+ WalletActionEarnFeeCollectRejectedWebhookPayload =
2145
+ Privy::Models::WalletActionEarnFeeCollectRejectedWebhookPayload
2146
+
2147
+ WalletActionEarnFeeCollectSucceededWebhookPayload =
2148
+ Privy::Models::WalletActionEarnFeeCollectSucceededWebhookPayload
2149
+
2113
2150
  WalletActionEarnIncentiveClaimCreatedWebhookPayload =
2114
2151
  Privy::Models::WalletActionEarnIncentiveClaimCreatedWebhookPayload
2115
2152
 
@@ -2295,6 +2332,8 @@ module Privy
2295
2332
 
2296
2333
  WalletTransferParams = Privy::Models::WalletTransferParams
2297
2334
 
2335
+ WalletTronAsset = Privy::Models::WalletTronAsset
2336
+
2298
2337
  WalletUpdateParams = Privy::Models::WalletUpdateParams
2299
2338
 
2300
2339
  WalletUpdateRequestBody = Privy::Models::WalletUpdateRequestBody
@@ -153,6 +153,8 @@ module Privy
153
153
  Privy::SparkCreateLightningInvoiceRpcInput::OrHash,
154
154
  Privy::SparkPayLightningInvoiceRpcInput::OrHash,
155
155
  Privy::SparkSignMessageWithIdentityKeyRpcInput::OrHash,
156
+ Privy::SparkWithdrawRpcInput::OrHash,
157
+ Privy::SparkGetWithdrawalFeeQuoteRpcInput::OrHash,
156
158
  Privy::TronSignTransactionRpcInput::OrHash,
157
159
  Privy::TronSendTransactionRpcInput::OrHash,
158
160
  Privy::ExportPrivateKeyRpcInput::OrHash,
@@ -9,7 +9,7 @@ module Privy
9
9
  sig do
10
10
  params(
11
11
  wallet_id: String,
12
- chain: Privy::Wallets::TransactionGetParams::Chain::OrSymbol,
12
+ chain: Privy::TransactionChainNameInput::OrSymbol,
13
13
  token: Privy::Wallets::TransactionGetParams::Token::Variants,
14
14
  asset:
15
15
  T.any(
@@ -26,6 +26,7 @@ module Privy
26
26
  def get(
27
27
  # ID of the wallet.
28
28
  wallet_id,
29
+ # Chains supported for transaction history queries.
29
30
  chain:,
30
31
  # Exactly one of `token` or `asset` is required. Cannot be used together with
31
32
  # `asset`.
@@ -481,6 +481,8 @@ module Privy
481
481
  Privy::SparkCreateLightningInvoiceRpcInput::OrHash,
482
482
  Privy::SparkPayLightningInvoiceRpcInput::OrHash,
483
483
  Privy::SparkSignMessageWithIdentityKeyRpcInput::OrHash,
484
+ Privy::SparkWithdrawRpcInput::OrHash,
485
+ Privy::SparkGetWithdrawalFeeQuoteRpcInput::OrHash,
484
486
  Privy::TronSignTransactionRpcInput::OrHash,
485
487
  Privy::TronSendTransactionRpcInput::OrHash,
486
488
  Privy::ExportPrivateKeyRpcInput::OrHash,
@@ -39,6 +39,10 @@ module Privy
39
39
  Privy::WalletActionEarnDepositFailedWebhookPayload,
40
40
  Privy::WalletActionEarnDepositRejectedWebhookPayload,
41
41
  Privy::WalletActionEarnDepositSucceededWebhookPayload,
42
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload,
43
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload,
44
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload,
45
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload,
42
46
  Privy::WalletActionEarnIncentiveClaimCreatedWebhookPayload,
43
47
  Privy::WalletActionEarnIncentiveClaimFailedWebhookPayload,
44
48
  Privy::WalletActionEarnIncentiveClaimRejectedWebhookPayload,
@@ -1,22 +1,24 @@
1
1
  module Privy
2
2
  module Models
3
3
  type custom_token_transfer_source =
4
- { amount: String, asset_address: String, chain: String }
4
+ { asset_address: String, chain: String, amount: String }
5
5
 
6
6
  class CustomTokenTransferSource < Privy::Internal::Type::BaseModel
7
- attr_accessor amount: String
8
-
9
7
  attr_accessor asset_address: String
10
8
 
11
9
  attr_accessor chain: String
12
10
 
11
+ attr_reader amount: String?
12
+
13
+ def amount=: (String) -> String
14
+
13
15
  def initialize: (
14
- amount: String,
15
16
  asset_address: String,
16
- chain: String
17
+ chain: String,
18
+ ?amount: String
17
19
  ) -> void
18
20
 
19
- def to_hash: -> { amount: String, asset_address: String, chain: String }
21
+ def to_hash: -> { asset_address: String, chain: String, amount: String }
20
22
  end
21
23
  end
22
24
  end
@@ -1,12 +1,13 @@
1
1
  module Privy
2
2
  module Models
3
- type ethereum_yield_provider = :morpho | :aave
3
+ type ethereum_yield_provider = :morpho | :aave | :veda
4
4
 
5
5
  module EthereumYieldProvider
6
6
  extend Privy::Internal::Type::Enum
7
7
 
8
8
  MORPHO: :morpho
9
9
  AAVE: :aave
10
+ VEDA: :veda
10
11
 
11
12
  def self?.values: -> ::Array[Privy::Models::ethereum_yield_provider]
12
13
  end