privy_ruby 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/README.md +1 -1
- data/lib/privy/authorization/canonicalization.rb +2 -0
- data/lib/privy/models/custom_token_transfer_source.rb +14 -13
- data/lib/privy/models/ethereum_yield_provider.rb +1 -0
- data/lib/privy/models/named_token_transfer_source.rb +14 -13
- data/lib/privy/models/rpc_intent_request_details.rb +2 -2
- data/lib/privy/models/rpc_intent_response.rb +2 -2
- data/lib/privy/models/spark_coop_exit_fee_quote.rb +101 -0
- data/lib/privy/models/spark_coop_exit_request.rb +90 -0
- data/lib/privy/models/spark_currency_amount.rb +23 -0
- data/lib/privy/models/spark_exit_speed.rb +17 -0
- data/lib/privy/models/spark_get_withdrawal_fee_quote_rpc_input.rb +43 -0
- data/lib/privy/models/spark_get_withdrawal_fee_quote_rpc_input_params.rb +23 -0
- data/lib/privy/models/spark_get_withdrawal_fee_quote_rpc_response.rb +35 -0
- data/lib/privy/models/spark_rpc_input.rb +7 -1
- data/lib/privy/models/spark_rpc_response.rb +7 -1
- data/lib/privy/models/spark_withdraw_rpc_input.rb +43 -0
- data/lib/privy/models/spark_withdraw_rpc_input_params.rb +53 -0
- data/lib/privy/models/spark_withdraw_rpc_response.rb +35 -0
- data/lib/privy/models/transaction_chain_name_input.rb +25 -0
- data/lib/privy/models/transfer_received_transaction_detail.rb +6 -0
- data/lib/privy/models/transfer_sent_transaction_detail.rb +6 -0
- data/lib/privy/models/unsafe_unwrap_webhook_event.rb +17 -1
- data/lib/privy/models/wallet_action_earn_fee_collect_created_webhook_payload.rb +153 -0
- data/lib/privy/models/wallet_action_earn_fee_collect_failed_webhook_payload.rb +178 -0
- data/lib/privy/models/wallet_action_earn_fee_collect_rejected_webhook_payload.rb +177 -0
- data/lib/privy/models/wallet_action_earn_fee_collect_succeeded_webhook_payload.rb +169 -0
- data/lib/privy/models/wallet_asset.rb +2 -0
- data/lib/privy/models/wallet_asset_chain_name_input.rb +3 -0
- data/lib/privy/models/wallet_creation_input.rb +11 -1
- data/lib/privy/models/wallet_ethereum_asset.rb +1 -0
- data/lib/privy/models/wallet_rpc_request_body.rb +7 -1
- data/lib/privy/models/wallet_rpc_response.rb +7 -1
- data/lib/privy/models/wallet_tron_asset.rb +17 -0
- data/lib/privy/models/wallets/aave_vault_details.rb +130 -0
- data/lib/privy/models/wallets/balance_get_params.rb +6 -0
- data/lib/privy/models/wallets/balance_get_response.rb +6 -0
- data/lib/privy/models/wallets/earn_fee_collect_action_response.rb +149 -0
- data/lib/privy/models/wallets/earn_fee_collect_request_body.rb +20 -0
- data/lib/privy/models/wallets/ethereum_earn_provider.rb +1 -0
- data/lib/privy/models/wallets/ethereum_earn_vault_details_response.rb +13 -83
- data/lib/privy/models/wallets/list_wallet_actions_response.rb +2 -2
- data/lib/privy/models/wallets/morpho_vault_details.rb +130 -0
- data/lib/privy/models/wallets/transaction_get_params.rb +10 -20
- data/lib/privy/models/wallets/veda_vault_details.rb +122 -0
- data/lib/privy/models/wallets/wallet_action_response.rb +4 -1
- data/lib/privy/models/wallets/wallet_action_type.rb +1 -0
- data/lib/privy/models/webhook_payload.rb +13 -1
- data/lib/privy/models.rb +36 -0
- data/lib/privy/public_api/services/tron.rb +103 -0
- data/lib/privy/public_api/services/wallets.rb +4 -0
- data/lib/privy/resources/intents.rb +1 -1
- data/lib/privy/resources/wallets/actions.rb +1 -1
- data/lib/privy/resources/wallets/transactions.rb +1 -1
- data/lib/privy/resources/wallets.rb +2 -2
- data/lib/privy/resources/webhooks.rb +1 -1
- data/lib/privy/version.rb +1 -1
- data/lib/privy.rb +22 -0
- data/rbi/privy/models/custom_token_transfer_source.rbi +18 -13
- data/rbi/privy/models/ethereum_yield_provider.rbi +1 -0
- data/rbi/privy/models/named_token_transfer_source.rbi +18 -13
- data/rbi/privy/models/rpc_intent_request_details.rbi +6 -0
- data/rbi/privy/models/rpc_intent_response.rbi +2 -0
- data/rbi/privy/models/spark_coop_exit_fee_quote.rbi +143 -0
- data/rbi/privy/models/spark_coop_exit_request.rbi +114 -0
- data/rbi/privy/models/spark_currency_amount.rbi +31 -0
- data/rbi/privy/models/spark_exit_speed.rbi +21 -0
- data/rbi/privy/models/spark_get_withdrawal_fee_quote_rpc_input.rbi +94 -0
- data/rbi/privy/models/spark_get_withdrawal_fee_quote_rpc_input_params.rbi +34 -0
- data/rbi/privy/models/spark_get_withdrawal_fee_quote_rpc_response.rbi +82 -0
- data/rbi/privy/models/spark_rpc_input.rbi +3 -1
- data/rbi/privy/models/spark_rpc_response.rbi +3 -1
- data/rbi/privy/models/spark_withdraw_rpc_input.rbi +77 -0
- data/rbi/privy/models/spark_withdraw_rpc_input_params.rbi +80 -0
- data/rbi/privy/models/spark_withdraw_rpc_response.rbi +71 -0
- data/rbi/privy/models/transaction_chain_name_input.rbi +38 -0
- data/rbi/privy/models/transfer_received_transaction_detail.rbi +10 -0
- data/rbi/privy/models/transfer_sent_transaction_detail.rbi +4 -0
- data/rbi/privy/models/unsafe_unwrap_webhook_event.rbi +4 -0
- data/rbi/privy/models/wallet_action_earn_fee_collect_created_webhook_payload.rbi +232 -0
- data/rbi/privy/models/wallet_action_earn_fee_collect_failed_webhook_payload.rbi +271 -0
- data/rbi/privy/models/wallet_action_earn_fee_collect_rejected_webhook_payload.rbi +269 -0
- data/rbi/privy/models/wallet_action_earn_fee_collect_succeeded_webhook_payload.rbi +258 -0
- data/rbi/privy/models/wallet_asset.rbi +2 -0
- data/rbi/privy/models/wallet_asset_chain_name_input.rbi +4 -0
- data/rbi/privy/models/wallet_creation_input.rbi +15 -0
- data/rbi/privy/models/wallet_ethereum_asset.rbi +1 -0
- data/rbi/privy/models/wallet_rpc_request_body.rbi +2 -0
- data/rbi/privy/models/wallet_rpc_response.rbi +2 -0
- data/rbi/privy/models/wallet_tron_asset.rbi +21 -0
- data/rbi/privy/models/wallets/aave_vault_details.rbi +165 -0
- data/rbi/privy/models/wallets/balance_get_params.rbi +4 -0
- data/rbi/privy/models/wallets/balance_get_response.rbi +10 -0
- data/rbi/privy/models/wallets/earn_fee_collect_action_response.rbi +236 -0
- data/rbi/privy/models/wallets/earn_fee_collect_request_body.rbi +33 -0
- data/rbi/privy/models/wallets/ethereum_earn_provider.rbi +1 -0
- data/rbi/privy/models/wallets/ethereum_earn_vault_details_response.rbi +11 -103
- data/rbi/privy/models/wallets/list_wallet_actions_response.rbi +6 -3
- data/rbi/privy/models/wallets/morpho_vault_details.rbi +167 -0
- data/rbi/privy/models/wallets/transaction_get_params.rbi +15 -69
- data/rbi/privy/models/wallets/veda_vault_details.rbi +157 -0
- data/rbi/privy/models/wallets/wallet_action_response.rbi +2 -1
- data/rbi/privy/models/wallets/wallet_action_type.rbi +5 -0
- data/rbi/privy/models/webhook_payload.rbi +5 -1
- data/rbi/privy/models.rbi +39 -0
- data/rbi/privy/resources/intents.rbi +2 -0
- data/rbi/privy/resources/wallets/transactions.rbi +2 -1
- data/rbi/privy/resources/wallets.rbi +2 -0
- data/rbi/privy/resources/webhooks.rbi +4 -0
- data/sig/privy/models/custom_token_transfer_source.rbs +8 -6
- data/sig/privy/models/ethereum_yield_provider.rbs +2 -1
- data/sig/privy/models/named_token_transfer_source.rbs +7 -5
- data/sig/privy/models/spark_coop_exit_fee_quote.rbs +75 -0
- data/sig/privy/models/spark_coop_exit_request.rbs +76 -0
- data/sig/privy/models/spark_currency_amount.rbs +16 -0
- data/sig/privy/models/spark_exit_speed.rbs +15 -0
- data/sig/privy/models/spark_get_withdrawal_fee_quote_rpc_input.rbs +44 -0
- data/sig/privy/models/spark_get_withdrawal_fee_quote_rpc_input_params.rbs +16 -0
- data/sig/privy/models/spark_get_withdrawal_fee_quote_rpc_response.rbs +37 -0
- data/sig/privy/models/spark_rpc_input.rbs +2 -0
- data/sig/privy/models/spark_rpc_response.rbs +2 -0
- data/sig/privy/models/spark_withdraw_rpc_input.rbs +44 -0
- data/sig/privy/models/spark_withdraw_rpc_input_params.rbs +53 -0
- data/sig/privy/models/spark_withdraw_rpc_response.rbs +37 -0
- data/sig/privy/models/transaction_chain_name_input.rbs +34 -0
- data/sig/privy/models/transfer_received_transaction_detail.rbs +4 -0
- data/sig/privy/models/transfer_sent_transaction_detail.rbs +4 -0
- data/sig/privy/models/unsafe_unwrap_webhook_event.rbs +4 -0
- data/sig/privy/models/wallet_action_earn_fee_collect_created_webhook_payload.rbs +111 -0
- data/sig/privy/models/wallet_action_earn_fee_collect_failed_webhook_payload.rbs +126 -0
- data/sig/privy/models/wallet_action_earn_fee_collect_rejected_webhook_payload.rbs +126 -0
- data/sig/privy/models/wallet_action_earn_fee_collect_succeeded_webhook_payload.rbs +121 -0
- data/sig/privy/models/wallet_asset.rbs +13 -1
- data/sig/privy/models/wallet_asset_chain_name_input.rbs +6 -0
- data/sig/privy/models/wallet_creation_input.rbs +7 -0
- data/sig/privy/models/wallet_ethereum_asset.rbs +2 -1
- data/sig/privy/models/wallet_rpc_request_body.rbs +2 -0
- data/sig/privy/models/wallet_rpc_response.rbs +2 -0
- data/sig/privy/models/wallet_tron_asset.rbs +15 -0
- data/sig/privy/models/wallets/aave_vault_details.rbs +92 -0
- data/sig/privy/models/wallets/balance_get_params.rbs +4 -0
- data/sig/privy/models/wallets/balance_get_response.rbs +4 -0
- data/sig/privy/models/wallets/earn_fee_collect_action_response.rbs +114 -0
- data/sig/privy/models/wallets/earn_fee_collect_request_body.rbs +15 -0
- data/sig/privy/models/wallets/ethereum_earn_provider.rbs +2 -1
- data/sig/privy/models/wallets/ethereum_earn_vault_details_response.rbs +6 -57
- data/sig/privy/models/wallets/morpho_vault_details.rbs +92 -0
- data/sig/privy/models/wallets/transaction_get_params.rbs +8 -31
- data/sig/privy/models/wallets/veda_vault_details.rbs +87 -0
- data/sig/privy/models/wallets/wallet_action_response.rbs +1 -0
- data/sig/privy/models/wallets/wallet_action_type.rbs +2 -0
- data/sig/privy/models/webhook_payload.rbs +4 -0
- data/sig/privy/models.rbs +32 -0
- data/sig/privy/resources/wallets/transactions.rbs +1 -1
- data/sig/privy/resources/webhooks.rbs +4 -0
- metadata +66 -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
|
|
@@ -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
|
|
@@ -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(
|
|
@@ -3,118 +3,26 @@
|
|
|
3
3
|
module Privy
|
|
4
4
|
module Models
|
|
5
5
|
module Wallets
|
|
6
|
-
|
|
7
|
-
|
|
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::
|
|
11
|
-
Privy::
|
|
14
|
+
Privy::Wallets::AaveVaultDetails,
|
|
15
|
+
Privy::Wallets::MorphoVaultDetails,
|
|
16
|
+
Privy::Wallets::VedaVaultDetails
|
|
12
17
|
)
|
|
13
18
|
end
|
|
14
19
|
|
|
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
20
|
sig do
|
|
102
21
|
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
|
-
}
|
|
22
|
+
T::Array[Privy::Wallets::EthereumEarnVaultDetailsResponse::Variants]
|
|
115
23
|
)
|
|
116
24
|
end
|
|
117
|
-
def
|
|
25
|
+
def self.variants
|
|
118
26
|
end
|
|
119
27
|
end
|
|
120
28
|
end
|
|
@@ -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)
|