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
@@ -46,6 +46,20 @@ module Privy
46
46
  sig { returns(String) }
47
47
  attr_accessor :verification_gas_limit
48
48
 
49
+ sig { returns(T.nilable(String)) }
50
+ attr_reader :factory
51
+
52
+ sig { params(factory: String).void }
53
+ attr_writer :factory
54
+
55
+ # A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000
56
+ # bytes).
57
+ sig { returns(T.nilable(String)) }
58
+ attr_reader :factory_data
59
+
60
+ sig { params(factory_data: String).void }
61
+ attr_writer :factory_data
62
+
49
63
  sig { returns(T.nilable(String)) }
50
64
  attr_reader :paymaster
51
65
 
@@ -87,6 +101,8 @@ module Privy
87
101
  pre_verification_gas: String,
88
102
  sender: String,
89
103
  verification_gas_limit: String,
104
+ factory: String,
105
+ factory_data: String,
90
106
  paymaster: String,
91
107
  paymaster_data: String,
92
108
  paymaster_post_op_gas_limit: String,
@@ -116,6 +132,10 @@ module Privy
116
132
  # A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000
117
133
  # bytes).
118
134
  verification_gas_limit:,
135
+ factory: nil,
136
+ # A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000
137
+ # bytes).
138
+ factory_data: nil,
119
139
  paymaster: nil,
120
140
  # A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000
121
141
  # bytes).
@@ -140,6 +160,8 @@ module Privy
140
160
  pre_verification_gas: String,
141
161
  sender: String,
142
162
  verification_gas_limit: String,
163
+ factory: String,
164
+ factory_data: String,
143
165
  paymaster: String,
144
166
  paymaster_data: String,
145
167
  paymaster_post_op_gas_limit: String,
@@ -0,0 +1,232 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class WalletActionEarnFeeCollectCreatedWebhookPayload < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload,
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
+ # Base-unit amount of fees collected (e.g. "1500000").
31
+ sig { returns(String) }
32
+ attr_accessor :raw_amount
33
+
34
+ # The status of the wallet action.
35
+ sig do
36
+ returns(
37
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload::Status::TaggedSymbol
38
+ )
39
+ end
40
+ attr_accessor :status
41
+
42
+ # The type of webhook event.
43
+ sig do
44
+ returns(
45
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload::Type::TaggedSymbol
46
+ )
47
+ end
48
+ attr_accessor :type
49
+
50
+ # ERC-4626 vault contract address.
51
+ sig { returns(String) }
52
+ attr_accessor :vault_address
53
+
54
+ # The vault ID.
55
+ sig { returns(String) }
56
+ attr_accessor :vault_id
57
+
58
+ # The ID of the wallet action.
59
+ sig { returns(String) }
60
+ attr_accessor :wallet_action_id
61
+
62
+ # The ID of the wallet involved in the action.
63
+ sig { returns(String) }
64
+ attr_accessor :wallet_id
65
+
66
+ # Human-readable decimal amount of fees collected (e.g. "1.5"). Only present when
67
+ # the token is known in the asset registry.
68
+ sig { returns(T.nilable(String)) }
69
+ attr_reader :amount
70
+
71
+ sig { params(amount: String).void }
72
+ attr_writer :amount
73
+
74
+ # Asset identifier (e.g. "usdc", "eth"). Only present when the token is known in
75
+ # the asset registry.
76
+ sig { returns(T.nilable(String)) }
77
+ attr_reader :asset
78
+
79
+ sig { params(asset: String).void }
80
+ attr_writer :asset
81
+
82
+ # Number of decimals for the underlying asset (e.g. 6 for USDC, 18 for ETH). Only
83
+ # present when the token is known in the asset registry.
84
+ sig { returns(T.nilable(Integer)) }
85
+ attr_reader :decimals
86
+
87
+ sig { params(decimals: Integer).void }
88
+ attr_writer :decimals
89
+
90
+ # Payload for the wallet_action.earn_fee_collect.created webhook event.
91
+ sig do
92
+ params(
93
+ action_type: Privy::Wallets::WalletActionType::OrSymbol,
94
+ asset_address: String,
95
+ caip2: String,
96
+ created_at: String,
97
+ raw_amount: String,
98
+ status:
99
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload::Status::OrSymbol,
100
+ type:
101
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload::Type::OrSymbol,
102
+ vault_address: String,
103
+ vault_id: String,
104
+ wallet_action_id: String,
105
+ wallet_id: String,
106
+ amount: String,
107
+ asset: String,
108
+ decimals: Integer
109
+ ).returns(T.attached_class)
110
+ end
111
+ def self.new(
112
+ # Type of wallet action
113
+ action_type:,
114
+ # Underlying asset token address.
115
+ asset_address:,
116
+ # CAIP-2 chain identifier.
117
+ caip2:,
118
+ # ISO 8601 timestamp of when the wallet action was created.
119
+ created_at:,
120
+ # Base-unit amount of fees collected (e.g. "1500000").
121
+ raw_amount:,
122
+ # The status of the wallet action.
123
+ status:,
124
+ # The type of webhook event.
125
+ type:,
126
+ # ERC-4626 vault contract address.
127
+ vault_address:,
128
+ # The vault ID.
129
+ vault_id:,
130
+ # The ID of the wallet action.
131
+ wallet_action_id:,
132
+ # The ID of the wallet involved in the action.
133
+ wallet_id:,
134
+ # Human-readable decimal amount of fees collected (e.g. "1.5"). Only present when
135
+ # the token is known in the asset registry.
136
+ amount: nil,
137
+ # Asset identifier (e.g. "usdc", "eth"). Only present when the token is known in
138
+ # the asset registry.
139
+ asset: nil,
140
+ # Number of decimals for the underlying asset (e.g. 6 for USDC, 18 for ETH). Only
141
+ # present when the token is known in the asset registry.
142
+ decimals: nil
143
+ )
144
+ end
145
+
146
+ sig do
147
+ override.returns(
148
+ {
149
+ action_type: Privy::Wallets::WalletActionType::TaggedSymbol,
150
+ asset_address: String,
151
+ caip2: String,
152
+ created_at: String,
153
+ raw_amount: String,
154
+ status:
155
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload::Status::TaggedSymbol,
156
+ type:
157
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload::Type::TaggedSymbol,
158
+ vault_address: String,
159
+ vault_id: String,
160
+ wallet_action_id: String,
161
+ wallet_id: String,
162
+ amount: String,
163
+ asset: String,
164
+ decimals: Integer
165
+ }
166
+ )
167
+ end
168
+ def to_hash
169
+ end
170
+
171
+ # The status of the wallet action.
172
+ module Status
173
+ extend Privy::Internal::Type::Enum
174
+
175
+ TaggedSymbol =
176
+ T.type_alias do
177
+ T.all(
178
+ Symbol,
179
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload::Status
180
+ )
181
+ end
182
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
183
+
184
+ PENDING =
185
+ T.let(
186
+ :pending,
187
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload::Status::TaggedSymbol
188
+ )
189
+
190
+ sig do
191
+ override.returns(
192
+ T::Array[
193
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload::Status::TaggedSymbol
194
+ ]
195
+ )
196
+ end
197
+ def self.values
198
+ end
199
+ end
200
+
201
+ # The type of webhook event.
202
+ module Type
203
+ extend Privy::Internal::Type::Enum
204
+
205
+ TaggedSymbol =
206
+ T.type_alias do
207
+ T.all(
208
+ Symbol,
209
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload::Type
210
+ )
211
+ end
212
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
213
+
214
+ WALLET_ACTION_EARN_FEE_COLLECT_CREATED =
215
+ T.let(
216
+ :"wallet_action.earn_fee_collect.created",
217
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload::Type::TaggedSymbol
218
+ )
219
+
220
+ sig do
221
+ override.returns(
222
+ T::Array[
223
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload::Type::TaggedSymbol
224
+ ]
225
+ )
226
+ end
227
+ def self.values
228
+ end
229
+ end
230
+ end
231
+ end
232
+ end
@@ -0,0 +1,271 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ class WalletActionEarnFeeCollectFailedWebhookPayload < Privy::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload,
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
+ # ISO 8601 timestamp of when the wallet action failed.
31
+ sig { returns(String) }
32
+ attr_accessor :failed_at
33
+
34
+ # A description of why a wallet action (or a step within a wallet action) failed.
35
+ sig { returns(Privy::Wallets::FailureReason) }
36
+ attr_reader :failure_reason
37
+
38
+ sig { params(failure_reason: Privy::Wallets::FailureReason::OrHash).void }
39
+ attr_writer :failure_reason
40
+
41
+ # Base-unit amount of fees collected (e.g. "1500000").
42
+ sig { returns(String) }
43
+ attr_accessor :raw_amount
44
+
45
+ # The status of the wallet action.
46
+ sig do
47
+ returns(
48
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload::Status::TaggedSymbol
49
+ )
50
+ end
51
+ attr_accessor :status
52
+
53
+ # The steps of the wallet action. Completed steps will have transaction hashes;
54
+ # the failing step will have a failure_reason.
55
+ sig { returns(T::Array[Privy::Wallets::WalletActionStep::Variants]) }
56
+ attr_accessor :steps
57
+
58
+ # The type of webhook event.
59
+ sig do
60
+ returns(
61
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload::Type::TaggedSymbol
62
+ )
63
+ end
64
+ attr_accessor :type
65
+
66
+ # ERC-4626 vault contract address.
67
+ sig { returns(String) }
68
+ attr_accessor :vault_address
69
+
70
+ # The vault ID.
71
+ sig { returns(String) }
72
+ attr_accessor :vault_id
73
+
74
+ # The ID of the wallet action.
75
+ sig { returns(String) }
76
+ attr_accessor :wallet_action_id
77
+
78
+ # The ID of the wallet involved in the action.
79
+ sig { returns(String) }
80
+ attr_accessor :wallet_id
81
+
82
+ # Human-readable decimal amount of fees collected (e.g. "1.5"). Only present when
83
+ # the token is known in the asset registry.
84
+ sig { returns(T.nilable(String)) }
85
+ attr_reader :amount
86
+
87
+ sig { params(amount: String).void }
88
+ attr_writer :amount
89
+
90
+ # Asset identifier (e.g. "usdc", "eth"). Only present when the token is known in
91
+ # the asset registry.
92
+ sig { returns(T.nilable(String)) }
93
+ attr_reader :asset
94
+
95
+ sig { params(asset: String).void }
96
+ attr_writer :asset
97
+
98
+ # Number of decimals for the underlying asset (e.g. 6 for USDC, 18 for ETH). Only
99
+ # present when the token is known in the asset registry.
100
+ sig { returns(T.nilable(Integer)) }
101
+ attr_reader :decimals
102
+
103
+ sig { params(decimals: Integer).void }
104
+ attr_writer :decimals
105
+
106
+ # Payload for the wallet_action.earn_fee_collect.failed webhook event.
107
+ sig do
108
+ params(
109
+ action_type: Privy::Wallets::WalletActionType::OrSymbol,
110
+ asset_address: String,
111
+ caip2: String,
112
+ created_at: String,
113
+ failed_at: String,
114
+ failure_reason: Privy::Wallets::FailureReason::OrHash,
115
+ raw_amount: String,
116
+ status:
117
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload::Status::OrSymbol,
118
+ steps:
119
+ T::Array[
120
+ T.any(
121
+ Privy::Wallets::EvmTransactionWalletActionStep::OrHash,
122
+ Privy::Wallets::EvmUserOperationWalletActionStep::OrHash,
123
+ Privy::Wallets::SvmTransactionWalletActionStep::OrHash,
124
+ Privy::Wallets::TvmTransactionWalletActionStep::OrHash,
125
+ Privy::Wallets::ExternalTransactionWalletActionStep::OrHash,
126
+ Privy::Wallets::CustodianTransactionWalletActionStep::OrHash
127
+ )
128
+ ],
129
+ type:
130
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload::Type::OrSymbol,
131
+ vault_address: String,
132
+ vault_id: String,
133
+ wallet_action_id: String,
134
+ wallet_id: String,
135
+ amount: String,
136
+ asset: String,
137
+ decimals: Integer
138
+ ).returns(T.attached_class)
139
+ end
140
+ def self.new(
141
+ # Type of wallet action
142
+ action_type:,
143
+ # Underlying asset token address.
144
+ asset_address:,
145
+ # CAIP-2 chain identifier.
146
+ caip2:,
147
+ # ISO 8601 timestamp of when the wallet action was created.
148
+ created_at:,
149
+ # ISO 8601 timestamp of when the wallet action failed.
150
+ failed_at:,
151
+ # A description of why a wallet action (or a step within a wallet action) failed.
152
+ failure_reason:,
153
+ # Base-unit amount of fees collected (e.g. "1500000").
154
+ raw_amount:,
155
+ # The status of the wallet action.
156
+ status:,
157
+ # The steps of the wallet action. Completed steps will have transaction hashes;
158
+ # the failing step will have a failure_reason.
159
+ steps:,
160
+ # The type of webhook event.
161
+ type:,
162
+ # ERC-4626 vault contract address.
163
+ vault_address:,
164
+ # The vault ID.
165
+ vault_id:,
166
+ # The ID of the wallet action.
167
+ wallet_action_id:,
168
+ # The ID of the wallet involved in the action.
169
+ wallet_id:,
170
+ # Human-readable decimal amount of fees collected (e.g. "1.5"). Only present when
171
+ # the token is known in the asset registry.
172
+ amount: nil,
173
+ # Asset identifier (e.g. "usdc", "eth"). Only present when the token is known in
174
+ # the asset registry.
175
+ asset: nil,
176
+ # Number of decimals for the underlying asset (e.g. 6 for USDC, 18 for ETH). Only
177
+ # present when the token is known in the asset registry.
178
+ decimals: nil
179
+ )
180
+ end
181
+
182
+ sig do
183
+ override.returns(
184
+ {
185
+ action_type: Privy::Wallets::WalletActionType::TaggedSymbol,
186
+ asset_address: String,
187
+ caip2: String,
188
+ created_at: String,
189
+ failed_at: String,
190
+ failure_reason: Privy::Wallets::FailureReason,
191
+ raw_amount: String,
192
+ status:
193
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload::Status::TaggedSymbol,
194
+ steps: T::Array[Privy::Wallets::WalletActionStep::Variants],
195
+ type:
196
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload::Type::TaggedSymbol,
197
+ vault_address: String,
198
+ vault_id: String,
199
+ wallet_action_id: String,
200
+ wallet_id: String,
201
+ amount: String,
202
+ asset: String,
203
+ decimals: Integer
204
+ }
205
+ )
206
+ end
207
+ def to_hash
208
+ end
209
+
210
+ # The status of the wallet action.
211
+ module Status
212
+ extend Privy::Internal::Type::Enum
213
+
214
+ TaggedSymbol =
215
+ T.type_alias do
216
+ T.all(
217
+ Symbol,
218
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload::Status
219
+ )
220
+ end
221
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
222
+
223
+ FAILED =
224
+ T.let(
225
+ :failed,
226
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload::Status::TaggedSymbol
227
+ )
228
+
229
+ sig do
230
+ override.returns(
231
+ T::Array[
232
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload::Status::TaggedSymbol
233
+ ]
234
+ )
235
+ end
236
+ def self.values
237
+ end
238
+ end
239
+
240
+ # The type of webhook event.
241
+ module Type
242
+ extend Privy::Internal::Type::Enum
243
+
244
+ TaggedSymbol =
245
+ T.type_alias do
246
+ T.all(
247
+ Symbol,
248
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload::Type
249
+ )
250
+ end
251
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
252
+
253
+ WALLET_ACTION_EARN_FEE_COLLECT_FAILED =
254
+ T.let(
255
+ :"wallet_action.earn_fee_collect.failed",
256
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload::Type::TaggedSymbol
257
+ )
258
+
259
+ sig do
260
+ override.returns(
261
+ T::Array[
262
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload::Type::TaggedSymbol
263
+ ]
264
+ )
265
+ end
266
+ def self.values
267
+ end
268
+ end
269
+ end
270
+ end
271
+ end