privy_ruby 0.4.0 → 0.6.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 (171) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +1 -1
  4. data/lib/privy/models/balance_asset_by_chain.rb +2 -2
  5. data/lib/privy/models/currency.rb +5 -2
  6. data/lib/privy/models/custom_token_transfer_source.rb +15 -14
  7. data/lib/privy/models/ethereum_personal_sign_rpc_input.rb +2 -2
  8. data/lib/privy/models/ethereum_send_calls_rpc_input.rb +2 -2
  9. data/lib/privy/models/ethereum_send_calls_rpc_response_data.rb +5 -2
  10. data/lib/privy/models/ethereum_send_transaction_rpc_input.rb +2 -2
  11. data/lib/privy/models/ethereum_send_transaction_rpc_response_data.rb +2 -2
  12. data/lib/privy/models/ethereum_sign_typed_data_rpc_input.rb +2 -2
  13. data/lib/privy/models/ethereum_vault_details_response.rb +2 -2
  14. data/lib/privy/models/ethereum_yield_claim_input.rb +6 -2
  15. data/lib/privy/models/ethereum_yield_claim_response.rb +6 -2
  16. data/lib/privy/models/ethereum_yield_provider.rb +1 -0
  17. data/lib/privy/models/fiat_onramp_destination.rb +3 -3
  18. data/lib/privy/models/named_token_transfer_source.rb +18 -17
  19. data/lib/privy/models/solana_sign_and_send_transaction_rpc_input.rb +5 -2
  20. data/lib/privy/models/solana_sign_and_send_transaction_rpc_response_data.rb +5 -2
  21. data/lib/privy/models/swap_source.rb +6 -2
  22. data/lib/privy/models/token_transfer_destination.rb +1 -1
  23. data/lib/privy/models/transaction_broadcasted_webhook_payload.rb +3 -2
  24. data/lib/privy/models/transaction_chain_name_input.rb +1 -0
  25. data/lib/privy/models/transaction_confirmed_webhook_payload.rb +3 -2
  26. data/lib/privy/models/transaction_execution_reverted_webhook_payload.rb +3 -2
  27. data/lib/privy/models/transaction_failed_webhook_payload.rb +3 -2
  28. data/lib/privy/models/transaction_provider_error_webhook_payload.rb +3 -2
  29. data/lib/privy/models/transaction_replaced_webhook_payload.rb +3 -2
  30. data/lib/privy/models/transaction_still_pending_webhook_payload.rb +3 -2
  31. data/lib/privy/models/transfer_received_transaction_detail.rb +3 -0
  32. data/lib/privy/models/transfer_sent_transaction_detail.rb +3 -0
  33. data/lib/privy/models/tron_send_transaction_rpc_input.rb +5 -2
  34. data/lib/privy/models/tron_send_transaction_rpc_response_data.rb +5 -2
  35. data/lib/privy/models/unsafe_unwrap_webhook_event.rb +17 -1
  36. data/lib/privy/models/user_operation_input.rb +17 -1
  37. data/lib/privy/models/wallet_action_earn_fee_collect_created_webhook_payload.rb +153 -0
  38. data/lib/privy/models/wallet_action_earn_fee_collect_failed_webhook_payload.rb +178 -0
  39. data/lib/privy/models/wallet_action_earn_fee_collect_rejected_webhook_payload.rb +177 -0
  40. data/lib/privy/models/wallet_action_earn_fee_collect_succeeded_webhook_payload.rb +169 -0
  41. data/lib/privy/models/wallet_action_earn_incentive_claim_created_webhook_payload.rb +2 -2
  42. data/lib/privy/models/wallet_action_earn_incentive_claim_failed_webhook_payload.rb +2 -2
  43. data/lib/privy/models/wallet_action_earn_incentive_claim_rejected_webhook_payload.rb +2 -2
  44. data/lib/privy/models/wallet_action_earn_incentive_claim_succeeded_webhook_payload.rb +2 -2
  45. data/lib/privy/models/wallet_action_transfer_created_webhook_payload.rb +2 -2
  46. data/lib/privy/models/wallet_action_transfer_failed_webhook_payload.rb +2 -2
  47. data/lib/privy/models/wallet_action_transfer_rejected_webhook_payload.rb +2 -2
  48. data/lib/privy/models/wallet_action_transfer_succeeded_webhook_payload.rb +2 -2
  49. data/lib/privy/models/wallet_asset.rb +1 -0
  50. data/lib/privy/models/wallet_ethereum_asset.rb +1 -0
  51. data/lib/privy/models/wallets/aave_vault_details.rb +2 -2
  52. data/lib/privy/models/wallets/balance_get_params.rb +9 -6
  53. data/lib/privy/models/wallets/balance_get_response.rb +3 -0
  54. data/lib/privy/models/wallets/earn_fee_collect_action_response.rb +149 -0
  55. data/lib/privy/models/wallets/earn_fee_collect_request_body.rb +20 -0
  56. data/lib/privy/models/wallets/earn_incentive_claim_action_response.rb +2 -2
  57. data/lib/privy/models/wallets/earn_incentive_claim_request_body.rb +2 -2
  58. data/lib/privy/models/wallets/earn_incentive_rewards_query.rb +2 -2
  59. data/lib/privy/models/wallets/ethereum_earn_provider.rb +1 -0
  60. data/lib/privy/models/wallets/ethereum_earn_vault_details_response.rb +4 -1
  61. data/lib/privy/models/wallets/list_wallet_actions_response.rb +2 -2
  62. data/lib/privy/models/wallets/morpho_vault_details.rb +2 -2
  63. data/lib/privy/models/wallets/transaction_get_params.rb +3 -0
  64. data/lib/privy/models/wallets/transfer_action_response.rb +2 -2
  65. data/lib/privy/models/wallets/veda_vault_details.rb +122 -0
  66. data/lib/privy/models/wallets/wallet_action_response.rb +4 -1
  67. data/lib/privy/models/wallets/wallet_action_type.rb +1 -0
  68. data/lib/privy/models/webhook_payload.rb +13 -1
  69. data/lib/privy/models.rb +12 -0
  70. data/lib/privy/resources/wallets/actions.rb +1 -1
  71. data/lib/privy/resources/wallets/balance.rb +2 -2
  72. data/lib/privy/resources/webhooks.rb +1 -1
  73. data/lib/privy/version.rb +1 -1
  74. data/lib/privy.rb +7 -0
  75. data/rbi/privy/models/balance_asset_by_chain.rbi +2 -2
  76. data/rbi/privy/models/currency.rbi +2 -2
  77. data/rbi/privy/models/custom_token_transfer_source.rbi +20 -15
  78. data/rbi/privy/models/ethereum_personal_sign_rpc_input.rbi +2 -2
  79. data/rbi/privy/models/ethereum_send_calls_rpc_input.rbi +2 -2
  80. data/rbi/privy/models/ethereum_send_calls_rpc_response_data.rbi +2 -2
  81. data/rbi/privy/models/ethereum_send_transaction_rpc_input.rbi +2 -2
  82. data/rbi/privy/models/ethereum_send_transaction_rpc_response_data.rbi +2 -2
  83. data/rbi/privy/models/ethereum_sign_typed_data_rpc_input.rbi +2 -2
  84. data/rbi/privy/models/ethereum_vault_details_response.rbi +2 -2
  85. data/rbi/privy/models/ethereum_yield_claim_input.rbi +4 -2
  86. data/rbi/privy/models/ethereum_yield_claim_response.rbi +4 -2
  87. data/rbi/privy/models/ethereum_yield_provider.rbi +1 -0
  88. data/rbi/privy/models/fiat_onramp_destination.rbi +4 -4
  89. data/rbi/privy/models/named_token_transfer_source.rbi +24 -19
  90. data/rbi/privy/models/solana_sign_and_send_transaction_rpc_input.rbi +2 -2
  91. data/rbi/privy/models/solana_sign_and_send_transaction_rpc_response_data.rbi +2 -2
  92. data/rbi/privy/models/swap_source.rbi +4 -2
  93. data/rbi/privy/models/token_transfer_destination.rbi +2 -2
  94. data/rbi/privy/models/transaction_broadcasted_webhook_payload.rbi +4 -2
  95. data/rbi/privy/models/transaction_chain_name_input.rbi +2 -0
  96. data/rbi/privy/models/transaction_confirmed_webhook_payload.rbi +4 -2
  97. data/rbi/privy/models/transaction_execution_reverted_webhook_payload.rbi +4 -2
  98. data/rbi/privy/models/transaction_failed_webhook_payload.rbi +4 -2
  99. data/rbi/privy/models/transaction_provider_error_webhook_payload.rbi +4 -2
  100. data/rbi/privy/models/transaction_replaced_webhook_payload.rbi +4 -2
  101. data/rbi/privy/models/transaction_still_pending_webhook_payload.rbi +4 -2
  102. data/rbi/privy/models/transfer_received_transaction_detail.rbi +5 -0
  103. data/rbi/privy/models/transfer_sent_transaction_detail.rbi +5 -0
  104. data/rbi/privy/models/tron_send_transaction_rpc_input.rbi +2 -2
  105. data/rbi/privy/models/tron_send_transaction_rpc_response_data.rbi +2 -2
  106. data/rbi/privy/models/unsafe_unwrap_webhook_event.rbi +4 -0
  107. data/rbi/privy/models/user_operation_input.rbi +22 -0
  108. data/rbi/privy/models/wallet_action_earn_fee_collect_created_webhook_payload.rbi +232 -0
  109. data/rbi/privy/models/wallet_action_earn_fee_collect_failed_webhook_payload.rbi +271 -0
  110. data/rbi/privy/models/wallet_action_earn_fee_collect_rejected_webhook_payload.rbi +269 -0
  111. data/rbi/privy/models/wallet_action_earn_fee_collect_succeeded_webhook_payload.rbi +258 -0
  112. data/rbi/privy/models/wallet_action_earn_incentive_claim_created_webhook_payload.rbi +2 -2
  113. data/rbi/privy/models/wallet_action_earn_incentive_claim_failed_webhook_payload.rbi +2 -2
  114. data/rbi/privy/models/wallet_action_earn_incentive_claim_rejected_webhook_payload.rbi +2 -2
  115. data/rbi/privy/models/wallet_action_earn_incentive_claim_succeeded_webhook_payload.rbi +2 -2
  116. data/rbi/privy/models/wallet_action_transfer_created_webhook_payload.rbi +2 -2
  117. data/rbi/privy/models/wallet_action_transfer_failed_webhook_payload.rbi +2 -2
  118. data/rbi/privy/models/wallet_action_transfer_rejected_webhook_payload.rbi +2 -2
  119. data/rbi/privy/models/wallet_action_transfer_succeeded_webhook_payload.rbi +2 -2
  120. data/rbi/privy/models/wallet_asset.rbi +1 -0
  121. data/rbi/privy/models/wallet_ethereum_asset.rbi +1 -0
  122. data/rbi/privy/models/wallets/aave_vault_details.rbi +2 -2
  123. data/rbi/privy/models/wallets/balance_get_params.rbi +11 -6
  124. data/rbi/privy/models/wallets/balance_get_response.rbi +5 -0
  125. data/rbi/privy/models/wallets/earn_fee_collect_action_response.rbi +236 -0
  126. data/rbi/privy/models/wallets/earn_fee_collect_request_body.rbi +33 -0
  127. data/rbi/privy/models/wallets/earn_incentive_claim_action_response.rbi +2 -2
  128. data/rbi/privy/models/wallets/earn_incentive_claim_request_body.rbi +4 -4
  129. data/rbi/privy/models/wallets/earn_incentive_rewards_query.rbi +2 -2
  130. data/rbi/privy/models/wallets/ethereum_earn_provider.rbi +1 -0
  131. data/rbi/privy/models/wallets/ethereum_earn_vault_details_response.rbi +2 -1
  132. data/rbi/privy/models/wallets/list_wallet_actions_response.rbi +6 -3
  133. data/rbi/privy/models/wallets/morpho_vault_details.rbi +2 -2
  134. data/rbi/privy/models/wallets/transaction_get_params.rbi +5 -0
  135. data/rbi/privy/models/wallets/transfer_action_response.rbi +2 -2
  136. data/rbi/privy/models/wallets/veda_vault_details.rbi +157 -0
  137. data/rbi/privy/models/wallets/wallet_action_response.rbi +2 -1
  138. data/rbi/privy/models/wallets/wallet_action_type.rbi +5 -0
  139. data/rbi/privy/models/webhook_payload.rbi +5 -1
  140. data/rbi/privy/models.rbi +12 -0
  141. data/rbi/privy/resources/wallets/balance.rbi +2 -2
  142. data/rbi/privy/resources/wallets/earn/ethereum/incentive.rbi +2 -2
  143. data/rbi/privy/resources/webhooks.rbi +4 -0
  144. data/sig/privy/models/custom_token_transfer_source.rbs +8 -6
  145. data/sig/privy/models/ethereum_yield_provider.rbs +2 -1
  146. data/sig/privy/models/named_token_transfer_source.rbs +7 -5
  147. data/sig/privy/models/transaction_chain_name_input.rbs +2 -0
  148. data/sig/privy/models/transfer_received_transaction_detail.rbs +2 -0
  149. data/sig/privy/models/transfer_sent_transaction_detail.rbs +2 -0
  150. data/sig/privy/models/unsafe_unwrap_webhook_event.rbs +4 -0
  151. data/sig/privy/models/user_operation_input.rbs +14 -0
  152. data/sig/privy/models/wallet_action_earn_fee_collect_created_webhook_payload.rbs +111 -0
  153. data/sig/privy/models/wallet_action_earn_fee_collect_failed_webhook_payload.rbs +126 -0
  154. data/sig/privy/models/wallet_action_earn_fee_collect_rejected_webhook_payload.rbs +126 -0
  155. data/sig/privy/models/wallet_action_earn_fee_collect_succeeded_webhook_payload.rbs +121 -0
  156. data/sig/privy/models/wallet_asset.rbs +2 -0
  157. data/sig/privy/models/wallet_ethereum_asset.rbs +11 -1
  158. data/sig/privy/models/wallets/balance_get_params.rbs +2 -0
  159. data/sig/privy/models/wallets/balance_get_response.rbs +2 -0
  160. data/sig/privy/models/wallets/earn_fee_collect_action_response.rbs +114 -0
  161. data/sig/privy/models/wallets/earn_fee_collect_request_body.rbs +15 -0
  162. data/sig/privy/models/wallets/ethereum_earn_provider.rbs +2 -1
  163. data/sig/privy/models/wallets/ethereum_earn_vault_details_response.rbs +3 -1
  164. data/sig/privy/models/wallets/transaction_get_params.rbs +2 -0
  165. data/sig/privy/models/wallets/veda_vault_details.rbs +87 -0
  166. data/sig/privy/models/wallets/wallet_action_response.rbs +1 -0
  167. data/sig/privy/models/wallets/wallet_action_type.rbs +2 -0
  168. data/sig/privy/models/webhook_payload.rbs +4 -0
  169. data/sig/privy/models.rbs +8 -0
  170. data/sig/privy/resources/webhooks.rbs +4 -0
  171. metadata +23 -2
@@ -0,0 +1,269 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class WalletActionEarnFeeCollectRejectedWebhookPayload < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload,
10
+ Privy::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Type of wallet action
15
+ sig { returns(Privy::Wallets::WalletActionType::TaggedSymbol) }
16
+ attr_accessor :action_type
17
+
18
+ # Underlying asset token address.
19
+ sig { returns(String) }
20
+ attr_accessor :asset_address
21
+
22
+ # CAIP-2 chain identifier.
23
+ sig { returns(String) }
24
+ attr_accessor :caip2
25
+
26
+ # ISO 8601 timestamp of when the wallet action was created.
27
+ sig { returns(String) }
28
+ attr_accessor :created_at
29
+
30
+ # A description of why a wallet action (or a step within a wallet action) failed.
31
+ sig { returns(Privy::Wallets::FailureReason) }
32
+ attr_reader :failure_reason
33
+
34
+ sig { params(failure_reason: Privy::Wallets::FailureReason::OrHash).void }
35
+ attr_writer :failure_reason
36
+
37
+ # Base-unit amount of fees collected (e.g. "1500000").
38
+ sig { returns(String) }
39
+ attr_accessor :raw_amount
40
+
41
+ # ISO 8601 timestamp of when the wallet action was rejected.
42
+ sig { returns(String) }
43
+ attr_accessor :rejected_at
44
+
45
+ # The status of the wallet action.
46
+ sig do
47
+ returns(
48
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload::Status::TaggedSymbol
49
+ )
50
+ end
51
+ attr_accessor :status
52
+
53
+ # The steps of the wallet action at the time of rejection.
54
+ sig { returns(T::Array[Privy::Wallets::WalletActionStep::Variants]) }
55
+ attr_accessor :steps
56
+
57
+ # The type of webhook event.
58
+ sig do
59
+ returns(
60
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload::Type::TaggedSymbol
61
+ )
62
+ end
63
+ attr_accessor :type
64
+
65
+ # ERC-4626 vault contract address.
66
+ sig { returns(String) }
67
+ attr_accessor :vault_address
68
+
69
+ # The vault ID.
70
+ sig { returns(String) }
71
+ attr_accessor :vault_id
72
+
73
+ # The ID of the wallet action.
74
+ sig { returns(String) }
75
+ attr_accessor :wallet_action_id
76
+
77
+ # The ID of the wallet involved in the action.
78
+ sig { returns(String) }
79
+ attr_accessor :wallet_id
80
+
81
+ # Human-readable decimal amount of fees collected (e.g. "1.5"). Only present when
82
+ # the token is known in the asset registry.
83
+ sig { returns(T.nilable(String)) }
84
+ attr_reader :amount
85
+
86
+ sig { params(amount: String).void }
87
+ attr_writer :amount
88
+
89
+ # Asset identifier (e.g. "usdc", "eth"). Only present when the token is known in
90
+ # the asset registry.
91
+ sig { returns(T.nilable(String)) }
92
+ attr_reader :asset
93
+
94
+ sig { params(asset: String).void }
95
+ attr_writer :asset
96
+
97
+ # Number of decimals for the underlying asset (e.g. 6 for USDC, 18 for ETH). Only
98
+ # present when the token is known in the asset registry.
99
+ sig { returns(T.nilable(Integer)) }
100
+ attr_reader :decimals
101
+
102
+ sig { params(decimals: Integer).void }
103
+ attr_writer :decimals
104
+
105
+ # Payload for the wallet_action.earn_fee_collect.rejected webhook event.
106
+ sig do
107
+ params(
108
+ action_type: Privy::Wallets::WalletActionType::OrSymbol,
109
+ asset_address: String,
110
+ caip2: String,
111
+ created_at: String,
112
+ failure_reason: Privy::Wallets::FailureReason::OrHash,
113
+ raw_amount: String,
114
+ rejected_at: String,
115
+ status:
116
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload::Status::OrSymbol,
117
+ steps:
118
+ T::Array[
119
+ T.any(
120
+ Privy::Wallets::EvmTransactionWalletActionStep::OrHash,
121
+ Privy::Wallets::EvmUserOperationWalletActionStep::OrHash,
122
+ Privy::Wallets::SvmTransactionWalletActionStep::OrHash,
123
+ Privy::Wallets::TvmTransactionWalletActionStep::OrHash,
124
+ Privy::Wallets::ExternalTransactionWalletActionStep::OrHash,
125
+ Privy::Wallets::CustodianTransactionWalletActionStep::OrHash
126
+ )
127
+ ],
128
+ type:
129
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload::Type::OrSymbol,
130
+ vault_address: String,
131
+ vault_id: String,
132
+ wallet_action_id: String,
133
+ wallet_id: String,
134
+ amount: String,
135
+ asset: String,
136
+ decimals: Integer
137
+ ).returns(T.attached_class)
138
+ end
139
+ def self.new(
140
+ # Type of wallet action
141
+ action_type:,
142
+ # Underlying asset token address.
143
+ asset_address:,
144
+ # CAIP-2 chain identifier.
145
+ caip2:,
146
+ # ISO 8601 timestamp of when the wallet action was created.
147
+ created_at:,
148
+ # A description of why a wallet action (or a step within a wallet action) failed.
149
+ failure_reason:,
150
+ # Base-unit amount of fees collected (e.g. "1500000").
151
+ raw_amount:,
152
+ # ISO 8601 timestamp of when the wallet action was rejected.
153
+ rejected_at:,
154
+ # The status of the wallet action.
155
+ status:,
156
+ # The steps of the wallet action at the time of rejection.
157
+ steps:,
158
+ # The type of webhook event.
159
+ type:,
160
+ # ERC-4626 vault contract address.
161
+ vault_address:,
162
+ # The vault ID.
163
+ vault_id:,
164
+ # The ID of the wallet action.
165
+ wallet_action_id:,
166
+ # The ID of the wallet involved in the action.
167
+ wallet_id:,
168
+ # Human-readable decimal amount of fees collected (e.g. "1.5"). Only present when
169
+ # the token is known in the asset registry.
170
+ amount: nil,
171
+ # Asset identifier (e.g. "usdc", "eth"). Only present when the token is known in
172
+ # the asset registry.
173
+ asset: nil,
174
+ # Number of decimals for the underlying asset (e.g. 6 for USDC, 18 for ETH). Only
175
+ # present when the token is known in the asset registry.
176
+ decimals: nil
177
+ )
178
+ end
179
+
180
+ sig do
181
+ override.returns(
182
+ {
183
+ action_type: Privy::Wallets::WalletActionType::TaggedSymbol,
184
+ asset_address: String,
185
+ caip2: String,
186
+ created_at: String,
187
+ failure_reason: Privy::Wallets::FailureReason,
188
+ raw_amount: String,
189
+ rejected_at: String,
190
+ status:
191
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload::Status::TaggedSymbol,
192
+ steps: T::Array[Privy::Wallets::WalletActionStep::Variants],
193
+ type:
194
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload::Type::TaggedSymbol,
195
+ vault_address: String,
196
+ vault_id: String,
197
+ wallet_action_id: String,
198
+ wallet_id: String,
199
+ amount: String,
200
+ asset: String,
201
+ decimals: Integer
202
+ }
203
+ )
204
+ end
205
+ def to_hash
206
+ end
207
+
208
+ # The status of the wallet action.
209
+ module Status
210
+ extend Privy::Internal::Type::Enum
211
+
212
+ TaggedSymbol =
213
+ T.type_alias do
214
+ T.all(
215
+ Symbol,
216
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload::Status
217
+ )
218
+ end
219
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
220
+
221
+ REJECTED =
222
+ T.let(
223
+ :rejected,
224
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload::Status::TaggedSymbol
225
+ )
226
+
227
+ sig do
228
+ override.returns(
229
+ T::Array[
230
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload::Status::TaggedSymbol
231
+ ]
232
+ )
233
+ end
234
+ def self.values
235
+ end
236
+ end
237
+
238
+ # The type of webhook event.
239
+ module Type
240
+ extend Privy::Internal::Type::Enum
241
+
242
+ TaggedSymbol =
243
+ T.type_alias do
244
+ T.all(
245
+ Symbol,
246
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload::Type
247
+ )
248
+ end
249
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
250
+
251
+ WALLET_ACTION_EARN_FEE_COLLECT_REJECTED =
252
+ T.let(
253
+ :"wallet_action.earn_fee_collect.rejected",
254
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload::Type::TaggedSymbol
255
+ )
256
+
257
+ sig do
258
+ override.returns(
259
+ T::Array[
260
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload::Type::TaggedSymbol
261
+ ]
262
+ )
263
+ end
264
+ def self.values
265
+ end
266
+ end
267
+ end
268
+ end
269
+ end
@@ -0,0 +1,258 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class WalletActionEarnFeeCollectSucceededWebhookPayload < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload,
10
+ Privy::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Type of wallet action
15
+ sig { returns(Privy::Wallets::WalletActionType::TaggedSymbol) }
16
+ attr_accessor :action_type
17
+
18
+ # Underlying asset token address.
19
+ sig { returns(String) }
20
+ attr_accessor :asset_address
21
+
22
+ # CAIP-2 chain identifier.
23
+ sig { returns(String) }
24
+ attr_accessor :caip2
25
+
26
+ # ISO 8601 timestamp of when the wallet action completed successfully.
27
+ sig { returns(String) }
28
+ attr_accessor :completed_at
29
+
30
+ # ISO 8601 timestamp of when the wallet action was created.
31
+ sig { returns(String) }
32
+ attr_accessor :created_at
33
+
34
+ # Base-unit amount of fees collected (e.g. "1500000").
35
+ sig { returns(String) }
36
+ attr_accessor :raw_amount
37
+
38
+ # The status of the wallet action.
39
+ sig do
40
+ returns(
41
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload::Status::TaggedSymbol
42
+ )
43
+ end
44
+ attr_accessor :status
45
+
46
+ # The steps of the wallet action, including transaction hashes.
47
+ sig { returns(T::Array[Privy::Wallets::WalletActionStep::Variants]) }
48
+ attr_accessor :steps
49
+
50
+ # The type of webhook event.
51
+ sig do
52
+ returns(
53
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload::Type::TaggedSymbol
54
+ )
55
+ end
56
+ attr_accessor :type
57
+
58
+ # ERC-4626 vault contract address.
59
+ sig { returns(String) }
60
+ attr_accessor :vault_address
61
+
62
+ # The vault ID.
63
+ sig { returns(String) }
64
+ attr_accessor :vault_id
65
+
66
+ # The ID of the wallet action.
67
+ sig { returns(String) }
68
+ attr_accessor :wallet_action_id
69
+
70
+ # The ID of the wallet involved in the action.
71
+ sig { returns(String) }
72
+ attr_accessor :wallet_id
73
+
74
+ # Human-readable decimal amount of fees collected (e.g. "1.5"). Only present when
75
+ # the token is known in the asset registry.
76
+ sig { returns(T.nilable(String)) }
77
+ attr_reader :amount
78
+
79
+ sig { params(amount: String).void }
80
+ attr_writer :amount
81
+
82
+ # Asset identifier (e.g. "usdc", "eth"). Only present when the token is known in
83
+ # the asset registry.
84
+ sig { returns(T.nilable(String)) }
85
+ attr_reader :asset
86
+
87
+ sig { params(asset: String).void }
88
+ attr_writer :asset
89
+
90
+ # Number of decimals for the underlying asset (e.g. 6 for USDC, 18 for ETH). Only
91
+ # present when the token is known in the asset registry.
92
+ sig { returns(T.nilable(Integer)) }
93
+ attr_reader :decimals
94
+
95
+ sig { params(decimals: Integer).void }
96
+ attr_writer :decimals
97
+
98
+ # Payload for the wallet_action.earn_fee_collect.succeeded webhook event.
99
+ sig do
100
+ params(
101
+ action_type: Privy::Wallets::WalletActionType::OrSymbol,
102
+ asset_address: String,
103
+ caip2: String,
104
+ completed_at: String,
105
+ created_at: String,
106
+ raw_amount: String,
107
+ status:
108
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload::Status::OrSymbol,
109
+ steps:
110
+ T::Array[
111
+ T.any(
112
+ Privy::Wallets::EvmTransactionWalletActionStep::OrHash,
113
+ Privy::Wallets::EvmUserOperationWalletActionStep::OrHash,
114
+ Privy::Wallets::SvmTransactionWalletActionStep::OrHash,
115
+ Privy::Wallets::TvmTransactionWalletActionStep::OrHash,
116
+ Privy::Wallets::ExternalTransactionWalletActionStep::OrHash,
117
+ Privy::Wallets::CustodianTransactionWalletActionStep::OrHash
118
+ )
119
+ ],
120
+ type:
121
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload::Type::OrSymbol,
122
+ vault_address: String,
123
+ vault_id: String,
124
+ wallet_action_id: String,
125
+ wallet_id: String,
126
+ amount: String,
127
+ asset: String,
128
+ decimals: Integer
129
+ ).returns(T.attached_class)
130
+ end
131
+ def self.new(
132
+ # Type of wallet action
133
+ action_type:,
134
+ # Underlying asset token address.
135
+ asset_address:,
136
+ # CAIP-2 chain identifier.
137
+ caip2:,
138
+ # ISO 8601 timestamp of when the wallet action completed successfully.
139
+ completed_at:,
140
+ # ISO 8601 timestamp of when the wallet action was created.
141
+ created_at:,
142
+ # Base-unit amount of fees collected (e.g. "1500000").
143
+ raw_amount:,
144
+ # The status of the wallet action.
145
+ status:,
146
+ # The steps of the wallet action, including transaction hashes.
147
+ steps:,
148
+ # The type of webhook event.
149
+ type:,
150
+ # ERC-4626 vault contract address.
151
+ vault_address:,
152
+ # The vault ID.
153
+ vault_id:,
154
+ # The ID of the wallet action.
155
+ wallet_action_id:,
156
+ # The ID of the wallet involved in the action.
157
+ wallet_id:,
158
+ # Human-readable decimal amount of fees collected (e.g. "1.5"). Only present when
159
+ # the token is known in the asset registry.
160
+ amount: nil,
161
+ # Asset identifier (e.g. "usdc", "eth"). Only present when the token is known in
162
+ # the asset registry.
163
+ asset: nil,
164
+ # Number of decimals for the underlying asset (e.g. 6 for USDC, 18 for ETH). Only
165
+ # present when the token is known in the asset registry.
166
+ decimals: nil
167
+ )
168
+ end
169
+
170
+ sig do
171
+ override.returns(
172
+ {
173
+ action_type: Privy::Wallets::WalletActionType::TaggedSymbol,
174
+ asset_address: String,
175
+ caip2: String,
176
+ completed_at: String,
177
+ created_at: String,
178
+ raw_amount: String,
179
+ status:
180
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload::Status::TaggedSymbol,
181
+ steps: T::Array[Privy::Wallets::WalletActionStep::Variants],
182
+ type:
183
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload::Type::TaggedSymbol,
184
+ vault_address: String,
185
+ vault_id: String,
186
+ wallet_action_id: String,
187
+ wallet_id: String,
188
+ amount: String,
189
+ asset: String,
190
+ decimals: Integer
191
+ }
192
+ )
193
+ end
194
+ def to_hash
195
+ end
196
+
197
+ # The status of the wallet action.
198
+ module Status
199
+ extend Privy::Internal::Type::Enum
200
+
201
+ TaggedSymbol =
202
+ T.type_alias do
203
+ T.all(
204
+ Symbol,
205
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload::Status
206
+ )
207
+ end
208
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
209
+
210
+ SUCCEEDED =
211
+ T.let(
212
+ :succeeded,
213
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload::Status::TaggedSymbol
214
+ )
215
+
216
+ sig do
217
+ override.returns(
218
+ T::Array[
219
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload::Status::TaggedSymbol
220
+ ]
221
+ )
222
+ end
223
+ def self.values
224
+ end
225
+ end
226
+
227
+ # The type of webhook event.
228
+ module Type
229
+ extend Privy::Internal::Type::Enum
230
+
231
+ TaggedSymbol =
232
+ T.type_alias do
233
+ T.all(
234
+ Symbol,
235
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload::Type
236
+ )
237
+ end
238
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
239
+
240
+ WALLET_ACTION_EARN_FEE_COLLECT_SUCCEEDED =
241
+ T.let(
242
+ :"wallet_action.earn_fee_collect.succeeded",
243
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload::Type::TaggedSymbol
244
+ )
245
+
246
+ sig do
247
+ override.returns(
248
+ T::Array[
249
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload::Type::TaggedSymbol
250
+ ]
251
+ )
252
+ end
253
+ def self.values
254
+ end
255
+ end
256
+ end
257
+ end
258
+ end
@@ -15,7 +15,7 @@ module Privy
15
15
  sig { returns(Privy::Wallets::WalletActionType::TaggedSymbol) }
16
16
  attr_accessor :action_type
17
17
 
18
- # EVM chain name (e.g. "base", "ethereum").
18
+ # EVM chain name (e.g. "tempo", "base").
19
19
  sig { returns(String) }
20
20
  attr_accessor :chain
21
21
 
@@ -76,7 +76,7 @@ module Privy
76
76
  def self.new(
77
77
  # Type of wallet action
78
78
  action_type:,
79
- # EVM chain name (e.g. "base", "ethereum").
79
+ # EVM chain name (e.g. "tempo", "base").
80
80
  chain:,
81
81
  # ISO 8601 timestamp of when the wallet action was created.
82
82
  created_at:,
@@ -15,7 +15,7 @@ module Privy
15
15
  sig { returns(Privy::Wallets::WalletActionType::TaggedSymbol) }
16
16
  attr_accessor :action_type
17
17
 
18
- # EVM chain name (e.g. "base", "ethereum").
18
+ # EVM chain name (e.g. "tempo", "base").
19
19
  sig { returns(String) }
20
20
  attr_accessor :chain
21
21
 
@@ -105,7 +105,7 @@ module Privy
105
105
  def self.new(
106
106
  # Type of wallet action
107
107
  action_type:,
108
- # EVM chain name (e.g. "base", "ethereum").
108
+ # EVM chain name (e.g. "tempo", "base").
109
109
  chain:,
110
110
  # ISO 8601 timestamp of when the wallet action was created.
111
111
  created_at:,
@@ -15,7 +15,7 @@ module Privy
15
15
  sig { returns(Privy::Wallets::WalletActionType::TaggedSymbol) }
16
16
  attr_accessor :action_type
17
17
 
18
- # EVM chain name (e.g. "base", "ethereum").
18
+ # EVM chain name (e.g. "tempo", "base").
19
19
  sig { returns(String) }
20
20
  attr_accessor :chain
21
21
 
@@ -104,7 +104,7 @@ module Privy
104
104
  def self.new(
105
105
  # Type of wallet action
106
106
  action_type:,
107
- # EVM chain name (e.g. "base", "ethereum").
107
+ # EVM chain name (e.g. "tempo", "base").
108
108
  chain:,
109
109
  # ISO 8601 timestamp of when the wallet action was created.
110
110
  created_at:,
@@ -15,7 +15,7 @@ module Privy
15
15
  sig { returns(Privy::Wallets::WalletActionType::TaggedSymbol) }
16
16
  attr_accessor :action_type
17
17
 
18
- # EVM chain name (e.g. "base", "ethereum").
18
+ # EVM chain name (e.g. "tempo", "base").
19
19
  sig { returns(String) }
20
20
  attr_accessor :chain
21
21
 
@@ -96,7 +96,7 @@ module Privy
96
96
  def self.new(
97
97
  # Type of wallet action
98
98
  action_type:,
99
- # EVM chain name (e.g. "base", "ethereum").
99
+ # EVM chain name (e.g. "tempo", "base").
100
100
  chain:,
101
101
  # ISO 8601 timestamp of when the wallet action completed successfully.
102
102
  completed_at:,
@@ -23,7 +23,7 @@ module Privy
23
23
  sig { returns(String) }
24
24
  attr_accessor :destination_address
25
25
 
26
- # Chain name (e.g. "base", "ethereum").
26
+ # Chain name (e.g. "tempo", "base").
27
27
  sig { returns(String) }
28
28
  attr_accessor :source_chain
29
29
 
@@ -109,7 +109,7 @@ module Privy
109
109
  created_at:,
110
110
  # Recipient address.
111
111
  destination_address:,
112
- # Chain name (e.g. "base", "ethereum").
112
+ # Chain name (e.g. "tempo", "base").
113
113
  source_chain:,
114
114
  # The status of the wallet action.
115
115
  status:,
@@ -34,7 +34,7 @@ module Privy
34
34
  sig { params(failure_reason: Privy::Wallets::FailureReason::OrHash).void }
35
35
  attr_writer :failure_reason
36
36
 
37
- # Chain name (e.g. "base", "ethereum").
37
+ # Chain name (e.g. "tempo", "base").
38
38
  sig { returns(String) }
39
39
  attr_accessor :source_chain
40
40
 
@@ -141,7 +141,7 @@ module Privy
141
141
  failed_at:,
142
142
  # A description of why a wallet action (or a step within a wallet action) failed.
143
143
  failure_reason:,
144
- # Chain name (e.g. "base", "ethereum").
144
+ # Chain name (e.g. "tempo", "base").
145
145
  source_chain:,
146
146
  # The status of the wallet action.
147
147
  status:,
@@ -34,7 +34,7 @@ module Privy
34
34
  sig { returns(String) }
35
35
  attr_accessor :rejected_at
36
36
 
37
- # Chain name (e.g. "base", "ethereum").
37
+ # Chain name (e.g. "tempo", "base").
38
38
  sig { returns(String) }
39
39
  attr_accessor :source_chain
40
40
 
@@ -141,7 +141,7 @@ module Privy
141
141
  failure_reason:,
142
142
  # ISO 8601 timestamp of when the wallet action was rejected.
143
143
  rejected_at:,
144
- # Chain name (e.g. "base", "ethereum").
144
+ # Chain name (e.g. "tempo", "base").
145
145
  source_chain:,
146
146
  # The status of the wallet action.
147
147
  status:,
@@ -27,7 +27,7 @@ module Privy
27
27
  sig { returns(String) }
28
28
  attr_accessor :destination_address
29
29
 
30
- # Chain name (e.g. "base", "ethereum").
30
+ # Chain name (e.g. "tempo", "base").
31
31
  sig { returns(String) }
32
32
  attr_accessor :source_chain
33
33
 
@@ -131,7 +131,7 @@ module Privy
131
131
  created_at:,
132
132
  # Recipient address.
133
133
  destination_address:,
134
- # Chain name (e.g. "base", "ethereum").
134
+ # Chain name (e.g. "tempo", "base").
135
135
  source_chain:,
136
136
  # The status of the wallet action.
137
137
  status:,
@@ -18,6 +18,7 @@ module Privy
18
18
  USDT = T.let(:usdt, Privy::WalletAsset::TaggedSymbol)
19
19
  EURC = T.let(:eurc, Privy::WalletAsset::TaggedSymbol)
20
20
  USDB = T.let(:usdb, Privy::WalletAsset::TaggedSymbol)
21
+ PATHUSD = T.let(:pathusd, Privy::WalletAsset::TaggedSymbol)
21
22
  SOL = T.let(:sol, Privy::WalletAsset::TaggedSymbol)
22
23
  TRX = T.let(:trx, Privy::WalletAsset::TaggedSymbol)
23
24
 
@@ -18,6 +18,7 @@ module Privy
18
18
  USDT = T.let(:usdt, Privy::WalletEthereumAsset::TaggedSymbol)
19
19
  EURC = T.let(:eurc, Privy::WalletEthereumAsset::TaggedSymbol)
20
20
  USDB = T.let(:usdb, Privy::WalletEthereumAsset::TaggedSymbol)
21
+ PATHUSD = T.let(:pathusd, Privy::WalletEthereumAsset::TaggedSymbol)
21
22
 
22
23
  sig do
23
24
  override.returns(T::Array[Privy::WalletEthereumAsset::TaggedSymbol])