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