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
@@ -41,7 +41,7 @@ module Privy
41
41
  sig { returns(T.nilable(Float)) }
42
42
  attr_accessor :available_liquidity_usd
43
43
 
44
- # CAIP-2 chain identifier (e.g. "eip155:8453").
44
+ # CAIP-2 chain identifier (e.g. "eip155:4217" for Tempo, "eip155:8453" for Base).
45
45
  sig { returns(String) }
46
46
  attr_accessor :caip2
47
47
 
@@ -99,7 +99,7 @@ module Privy
99
99
  available_fees:,
100
100
  # Available liquidity in USD.
101
101
  available_liquidity_usd:,
102
- # CAIP-2 chain identifier (e.g. "eip155:8453").
102
+ # CAIP-2 chain identifier (e.g. "eip155:4217" for Tempo, "eip155:8453" for Base).
103
103
  caip2:,
104
104
  # Human-readable vault name from the yield provider.
105
105
  name:,
@@ -17,7 +17,7 @@ module Privy
17
17
  attr_accessor :wallet_id
18
18
 
19
19
  # The token contract address(es) to query in format "chain:address" (e.g.,
20
- # "base:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" or
20
+ # "tempo:0x20c000000000000000000000b9537d11c60e8b50" or
21
21
  # "solana:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"). Cannot be used together
22
22
  # with `asset`/`chain` or with `include_currency`.
23
23
  sig do
@@ -55,7 +55,7 @@ module Privy
55
55
  end
56
56
  attr_writer :asset
57
57
 
58
- # Chain(s) to query named assets on (e.g. `base`, `ethereum`). Use together with
58
+ # Chain(s) to query named assets on (e.g. `tempo`, `base`). Use together with
59
59
  # `asset`. Cannot be used with `token`.
60
60
  sig do
61
61
  returns(
@@ -130,14 +130,14 @@ module Privy
130
130
  # ID of the wallet.
131
131
  wallet_id:,
132
132
  # The token contract address(es) to query in format "chain:address" (e.g.,
133
- # "base:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" or
133
+ # "tempo:0x20c000000000000000000000b9537d11c60e8b50" or
134
134
  # "solana:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"). Cannot be used together
135
135
  # with `asset`/`chain` or with `include_currency`.
136
136
  token: nil,
137
137
  # Named asset(s) to query (e.g. `eth`, `usdc`). Use together with `chain` to scope
138
138
  # the query. Cannot be used with `token`.
139
139
  asset: nil,
140
- # Chain(s) to query named assets on (e.g. `base`, `ethereum`). Use together with
140
+ # Chain(s) to query named assets on (e.g. `tempo`, `base`). Use together with
141
141
  # `asset`. Cannot be used with `token`.
142
142
  chain: nil,
143
143
  # Include archived wallets in lookup. Defaults to false.
@@ -175,7 +175,7 @@ module Privy
175
175
  end
176
176
 
177
177
  # The token contract address(es) to query in format "chain:address" (e.g.,
178
- # "base:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" or
178
+ # "tempo:0x20c000000000000000000000b9537d11c60e8b50" or
179
179
  # "solana:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"). Cannot be used together
180
180
  # with `asset`/`chain` or with `include_currency`.
181
181
  module Token
@@ -246,6 +246,11 @@ module Privy
246
246
  T.let(:eurc, Privy::Wallets::BalanceGetParams::Asset::TaggedSymbol)
247
247
  USDB =
248
248
  T.let(:usdb, Privy::Wallets::BalanceGetParams::Asset::TaggedSymbol)
249
+ PATHUSD =
250
+ T.let(
251
+ :pathusd,
252
+ Privy::Wallets::BalanceGetParams::Asset::TaggedSymbol
253
+ )
249
254
  SOL =
250
255
  T.let(:sol, Privy::Wallets::BalanceGetParams::Asset::TaggedSymbol)
251
256
  TRX =
@@ -258,7 +263,7 @@ module Privy
258
263
  )
259
264
  end
260
265
 
261
- # Chain(s) to query named assets on (e.g. `base`, `ethereum`). Use together with
266
+ # Chain(s) to query named assets on (e.g. `tempo`, `base`). Use together with
262
267
  # `asset`. Cannot be used with `token`.
263
268
  module Chain
264
269
  extend Privy::Internal::Type::Union
@@ -181,6 +181,11 @@ module Privy
181
181
  :usdb,
182
182
  Privy::Models::Wallets::BalanceGetResponse::Balance::Asset::TaggedSymbol
183
183
  )
184
+ PATHUSD =
185
+ T.let(
186
+ :pathusd,
187
+ Privy::Models::Wallets::BalanceGetResponse::Balance::Asset::TaggedSymbol
188
+ )
184
189
  SOL =
185
190
  T.let(
186
191
  :sol,
@@ -0,0 +1,236 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ module Wallets
6
+ class EarnFeeCollectActionResponse < Privy::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Privy::Wallets::EarnFeeCollectActionResponse,
11
+ Privy::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The ID of the wallet action.
16
+ sig { returns(String) }
17
+ attr_accessor :id
18
+
19
+ # Underlying asset token address.
20
+ sig { returns(String) }
21
+ attr_accessor :asset_address
22
+
23
+ # CAIP-2 chain identifier.
24
+ sig { returns(String) }
25
+ attr_accessor :caip2
26
+
27
+ # ISO 8601 timestamp of when the wallet action was created.
28
+ sig { returns(Time) }
29
+ attr_accessor :created_at
30
+
31
+ # Base-unit amount of fees collected (e.g. "1500000"). Populated after on-chain
32
+ # confirmation.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_accessor :raw_amount
35
+
36
+ # Status of a wallet action.
37
+ sig { returns(Privy::Wallets::WalletActionStatus::TaggedSymbol) }
38
+ attr_accessor :status
39
+
40
+ sig do
41
+ returns(
42
+ Privy::Wallets::EarnFeeCollectActionResponse::Type::TaggedSymbol
43
+ )
44
+ end
45
+ attr_accessor :type
46
+
47
+ # ERC-4626 vault contract address.
48
+ sig { returns(String) }
49
+ attr_accessor :vault_address
50
+
51
+ # The vault ID.
52
+ sig { returns(String) }
53
+ attr_accessor :vault_id
54
+
55
+ # The ID of the wallet involved in the action.
56
+ sig { returns(String) }
57
+ attr_accessor :wallet_id
58
+
59
+ # Human-readable decimal amount of fees collected (e.g. "1.5"). Omitted when the
60
+ # token is not in the asset registry. Null while the action is pending; populated
61
+ # after on-chain confirmation.
62
+ sig { returns(T.nilable(String)) }
63
+ attr_accessor :amount
64
+
65
+ # Asset identifier (e.g. "usdc", "eth"). Only present when the token is known in
66
+ # the asset registry.
67
+ sig { returns(T.nilable(String)) }
68
+ attr_reader :asset
69
+
70
+ sig { params(asset: String).void }
71
+ attr_writer :asset
72
+
73
+ # Number of decimals for the underlying asset (e.g. 6 for USDC, 18 for ETH). Only
74
+ # present when the token is known in the asset registry.
75
+ sig { returns(T.nilable(Integer)) }
76
+ attr_reader :decimals
77
+
78
+ sig { params(decimals: Integer).void }
79
+ attr_writer :decimals
80
+
81
+ # A description of why a wallet action (or a step within a wallet action) failed.
82
+ sig { returns(T.nilable(Privy::Wallets::FailureReason)) }
83
+ attr_reader :failure_reason
84
+
85
+ sig do
86
+ params(failure_reason: Privy::Wallets::FailureReason::OrHash).void
87
+ end
88
+ attr_writer :failure_reason
89
+
90
+ # The steps of the wallet action. Only returned if `?include=steps` is provided.
91
+ sig do
92
+ returns(
93
+ T.nilable(T::Array[Privy::Wallets::WalletActionStep::Variants])
94
+ )
95
+ end
96
+ attr_reader :steps
97
+
98
+ sig do
99
+ params(
100
+ steps:
101
+ T::Array[
102
+ T.any(
103
+ Privy::Wallets::EvmTransactionWalletActionStep::OrHash,
104
+ Privy::Wallets::EvmUserOperationWalletActionStep::OrHash,
105
+ Privy::Wallets::SvmTransactionWalletActionStep::OrHash,
106
+ Privy::Wallets::TvmTransactionWalletActionStep::OrHash,
107
+ Privy::Wallets::ExternalTransactionWalletActionStep::OrHash,
108
+ Privy::Wallets::CustodianTransactionWalletActionStep::OrHash
109
+ )
110
+ ]
111
+ ).void
112
+ end
113
+ attr_writer :steps
114
+
115
+ # Response for an earn fee collect action.
116
+ sig do
117
+ params(
118
+ id: String,
119
+ asset_address: String,
120
+ caip2: String,
121
+ created_at: Time,
122
+ raw_amount: T.nilable(String),
123
+ status: Privy::Wallets::WalletActionStatus::OrSymbol,
124
+ type: Privy::Wallets::EarnFeeCollectActionResponse::Type::OrSymbol,
125
+ vault_address: String,
126
+ vault_id: String,
127
+ wallet_id: String,
128
+ amount: T.nilable(String),
129
+ asset: String,
130
+ decimals: Integer,
131
+ failure_reason: Privy::Wallets::FailureReason::OrHash,
132
+ steps:
133
+ T::Array[
134
+ T.any(
135
+ Privy::Wallets::EvmTransactionWalletActionStep::OrHash,
136
+ Privy::Wallets::EvmUserOperationWalletActionStep::OrHash,
137
+ Privy::Wallets::SvmTransactionWalletActionStep::OrHash,
138
+ Privy::Wallets::TvmTransactionWalletActionStep::OrHash,
139
+ Privy::Wallets::ExternalTransactionWalletActionStep::OrHash,
140
+ Privy::Wallets::CustodianTransactionWalletActionStep::OrHash
141
+ )
142
+ ]
143
+ ).returns(T.attached_class)
144
+ end
145
+ def self.new(
146
+ # The ID of the wallet action.
147
+ id:,
148
+ # Underlying asset token address.
149
+ asset_address:,
150
+ # CAIP-2 chain identifier.
151
+ caip2:,
152
+ # ISO 8601 timestamp of when the wallet action was created.
153
+ created_at:,
154
+ # Base-unit amount of fees collected (e.g. "1500000"). Populated after on-chain
155
+ # confirmation.
156
+ raw_amount:,
157
+ # Status of a wallet action.
158
+ status:,
159
+ type:,
160
+ # ERC-4626 vault contract address.
161
+ vault_address:,
162
+ # The vault ID.
163
+ vault_id:,
164
+ # The ID of the wallet involved in the action.
165
+ wallet_id:,
166
+ # Human-readable decimal amount of fees collected (e.g. "1.5"). Omitted when the
167
+ # token is not in the asset registry. Null while the action is pending; populated
168
+ # after on-chain confirmation.
169
+ amount: nil,
170
+ # Asset identifier (e.g. "usdc", "eth"). Only present when the token is known in
171
+ # the asset registry.
172
+ asset: nil,
173
+ # Number of decimals for the underlying asset (e.g. 6 for USDC, 18 for ETH). Only
174
+ # present when the token is known in the asset registry.
175
+ decimals: nil,
176
+ # A description of why a wallet action (or a step within a wallet action) failed.
177
+ failure_reason: nil,
178
+ # The steps of the wallet action. Only returned if `?include=steps` is provided.
179
+ steps: nil
180
+ )
181
+ end
182
+
183
+ sig do
184
+ override.returns(
185
+ {
186
+ id: String,
187
+ asset_address: String,
188
+ caip2: String,
189
+ created_at: Time,
190
+ raw_amount: T.nilable(String),
191
+ status: Privy::Wallets::WalletActionStatus::TaggedSymbol,
192
+ type:
193
+ Privy::Wallets::EarnFeeCollectActionResponse::Type::TaggedSymbol,
194
+ vault_address: String,
195
+ vault_id: String,
196
+ wallet_id: String,
197
+ amount: T.nilable(String),
198
+ asset: String,
199
+ decimals: Integer,
200
+ failure_reason: Privy::Wallets::FailureReason,
201
+ steps: T::Array[Privy::Wallets::WalletActionStep::Variants]
202
+ }
203
+ )
204
+ end
205
+ def to_hash
206
+ end
207
+
208
+ module Type
209
+ extend Privy::Internal::Type::Enum
210
+
211
+ TaggedSymbol =
212
+ T.type_alias do
213
+ T.all(Symbol, Privy::Wallets::EarnFeeCollectActionResponse::Type)
214
+ end
215
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
216
+
217
+ EARN_FEE_COLLECT =
218
+ T.let(
219
+ :earn_fee_collect,
220
+ Privy::Wallets::EarnFeeCollectActionResponse::Type::TaggedSymbol
221
+ )
222
+
223
+ sig do
224
+ override.returns(
225
+ T::Array[
226
+ Privy::Wallets::EarnFeeCollectActionResponse::Type::TaggedSymbol
227
+ ]
228
+ )
229
+ end
230
+ def self.values
231
+ end
232
+ end
233
+ end
234
+ end
235
+ end
236
+ end
@@ -0,0 +1,33 @@
1
+ # typed: strong
2
+
3
+ module Privy
4
+ module Models
5
+ module Wallets
6
+ class EarnFeeCollectRequestBody < Privy::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Privy::Wallets::EarnFeeCollectRequestBody,
11
+ Privy::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The ID of the vault to collect fees from.
16
+ sig { returns(String) }
17
+ attr_accessor :vault_id
18
+
19
+ # Input for collecting accumulated fees from an Aave vault.
20
+ sig { params(vault_id: String).returns(T.attached_class) }
21
+ def self.new(
22
+ # The ID of the vault to collect fees from.
23
+ vault_id:
24
+ )
25
+ end
26
+
27
+ sig { override.returns({ vault_id: String }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -16,7 +16,7 @@ module Privy
16
16
  sig { returns(String) }
17
17
  attr_accessor :id
18
18
 
19
- # EVM chain name (e.g. "base", "ethereum").
19
+ # EVM chain name (e.g. "tempo", "base").
20
20
  sig { returns(String) }
21
21
  attr_accessor :chain
22
22
 
@@ -112,7 +112,7 @@ module Privy
112
112
  def self.new(
113
113
  # The ID of the wallet action.
114
114
  id:,
115
- # EVM chain name (e.g. "base", "ethereum").
115
+ # EVM chain name (e.g. "tempo", "base").
116
116
  chain:,
117
117
  # ISO 8601 timestamp of when the wallet action was created.
118
118
  created_at:,
@@ -13,8 +13,8 @@ module Privy
13
13
  end
14
14
 
15
15
  # The blockchain network on which to perform the incentive claim. Supported chains
16
- # include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and more, along
17
- # with their respective testnets.
16
+ # include: 'tempo', 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and more,
17
+ # along with their respective testnets.
18
18
  sig { returns(String) }
19
19
  attr_accessor :chain
20
20
 
@@ -22,8 +22,8 @@ module Privy
22
22
  sig { params(chain: String).returns(T.attached_class) }
23
23
  def self.new(
24
24
  # The blockchain network on which to perform the incentive claim. Supported chains
25
- # include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and more, along
26
- # with their respective testnets.
25
+ # include: 'tempo', 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and more,
26
+ # along with their respective testnets.
27
27
  chain:
28
28
  )
29
29
  end
@@ -12,14 +12,14 @@ module Privy
12
12
  )
13
13
  end
14
14
 
15
- # Chain name to fetch rewards for (e.g. "base", "ethereum").
15
+ # Chain name to fetch rewards for (e.g. "tempo", "base").
16
16
  sig { returns(String) }
17
17
  attr_accessor :chain
18
18
 
19
19
  # Query parameters for fetching incentive rewards.
20
20
  sig { params(chain: String).returns(T.attached_class) }
21
21
  def self.new(
22
- # Chain name to fetch rewards for (e.g. "base", "ethereum").
22
+ # Chain name to fetch rewards for (e.g. "tempo", "base").
23
23
  chain:
24
24
  )
25
25
  end
@@ -14,6 +14,7 @@ module Privy
14
14
  MORPHO =
15
15
  T.let(:morpho, Privy::Wallets::EthereumEarnProvider::TaggedSymbol)
16
16
  AAVE = T.let(:aave, Privy::Wallets::EthereumEarnProvider::TaggedSymbol)
17
+ VEDA = T.let(:veda, Privy::Wallets::EthereumEarnProvider::TaggedSymbol)
17
18
 
18
19
  sig do
19
20
  override.returns(
@@ -12,7 +12,8 @@ module Privy
12
12
  T.type_alias do
13
13
  T.any(
14
14
  Privy::Wallets::AaveVaultDetails,
15
- Privy::Wallets::MorphoVaultDetails
15
+ Privy::Wallets::MorphoVaultDetails,
16
+ Privy::Wallets::VedaVaultDetails
16
17
  )
17
18
  end
18
19
 
@@ -20,7 +20,8 @@ module Privy
20
20
  Privy::Wallets::TransferActionResponse,
21
21
  Privy::Wallets::EarnDepositActionResponse,
22
22
  Privy::Wallets::EarnWithdrawActionResponse,
23
- Privy::Wallets::EarnIncentiveClaimActionResponse
23
+ Privy::Wallets::EarnIncentiveClaimActionResponse,
24
+ Privy::Wallets::EarnFeeCollectActionResponse
24
25
  )
25
26
  ]
26
27
  )
@@ -40,7 +41,8 @@ module Privy
40
41
  Privy::Wallets::TransferActionResponse::OrHash,
41
42
  Privy::Wallets::EarnDepositActionResponse::OrHash,
42
43
  Privy::Wallets::EarnWithdrawActionResponse::OrHash,
43
- Privy::Wallets::EarnIncentiveClaimActionResponse::OrHash
44
+ Privy::Wallets::EarnIncentiveClaimActionResponse::OrHash,
45
+ Privy::Wallets::EarnFeeCollectActionResponse::OrHash
44
46
  )
45
47
  ],
46
48
  next_cursor: T.nilable(String)
@@ -59,7 +61,8 @@ module Privy
59
61
  Privy::Wallets::TransferActionResponse,
60
62
  Privy::Wallets::EarnDepositActionResponse,
61
63
  Privy::Wallets::EarnWithdrawActionResponse,
62
- Privy::Wallets::EarnIncentiveClaimActionResponse
64
+ Privy::Wallets::EarnIncentiveClaimActionResponse,
65
+ Privy::Wallets::EarnFeeCollectActionResponse
63
66
  )
64
67
  ],
65
68
  next_cursor: T.nilable(String)
@@ -37,7 +37,7 @@ module Privy
37
37
  sig { returns(T.nilable(Float)) }
38
38
  attr_accessor :available_liquidity_usd
39
39
 
40
- # CAIP-2 chain identifier (e.g. "eip155:8453").
40
+ # CAIP-2 chain identifier (e.g. "eip155:4217" for Tempo, "eip155:8453" for Base).
41
41
  sig { returns(String) }
42
42
  attr_accessor :caip2
43
43
 
@@ -97,7 +97,7 @@ module Privy
97
97
  asset:,
98
98
  # Available liquidity in USD.
99
99
  available_liquidity_usd:,
100
- # CAIP-2 chain identifier (e.g. "eip155:8453").
100
+ # CAIP-2 chain identifier (e.g. "eip155:4217" for Tempo, "eip155:8453" for Base).
101
101
  caip2:,
102
102
  # Human-readable vault name from the yield provider.
103
103
  name:,
@@ -239,6 +239,11 @@ module Privy
239
239
  :usdb,
240
240
  Privy::Wallets::TransactionGetParams::Asset::TaggedSymbol
241
241
  )
242
+ PATHUSD =
243
+ T.let(
244
+ :pathusd,
245
+ Privy::Wallets::TransactionGetParams::Asset::TaggedSymbol
246
+ )
242
247
  SOL =
243
248
  T.let(
244
249
  :sol,
@@ -30,7 +30,7 @@ module Privy
30
30
  sig { returns(T.nilable(String)) }
31
31
  attr_accessor :destination_amount
32
32
 
33
- # Chain name (e.g. "base", "ethereum").
33
+ # Chain name (e.g. "tempo", "base").
34
34
  sig { returns(String) }
35
35
  attr_accessor :source_chain
36
36
 
@@ -225,7 +225,7 @@ module Privy
225
225
  # transfers, set at creation (the guaranteed exact amount). For exact_input
226
226
  # cross-chain transfers, null until fill confirmation.
227
227
  destination_amount:,
228
- # Chain name (e.g. "base", "ethereum").
228
+ # Chain name (e.g. "tempo", "base").
229
229
  source_chain:,
230
230
  # Status of a wallet action.
231
231
  status:,
@@ -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:4217" for Tempo, "eip155:8453" for Base).
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:4217" for Tempo, "eip155:8453" for Base).
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