privy_ruby 0.0.2 → 0.1.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/base58.rb +41 -0
- data/lib/privy/client.rb +8 -0
- data/lib/privy/cryptography.rb +34 -0
- data/lib/privy/models/create_link_auth_intent_input.rb +17 -0
- data/lib/privy/models/create_link_auth_intent_response.rb +36 -0
- data/lib/privy/models/create_stripe_onramp_session_input.rb +33 -0
- data/lib/privy/models/create_stripe_onramp_session_response.rb +23 -0
- data/lib/privy/models/device_authorization_response.rb +63 -0
- data/lib/privy/models/earn_incentive_reward_entry.rb +50 -0
- data/lib/privy/models/earn_incentive_rewards_query.rb +18 -0
- data/lib/privy/models/earn_incentive_rewards_response.rb +19 -0
- data/lib/privy/models/exchange_stripe_tokens_input.rb +23 -0
- data/lib/privy/models/exchange_stripe_tokens_response.rb +17 -0
- data/lib/privy/models/fiat_onramp_provider.rb +2 -0
- data/lib/privy/models/fiat_onramp_stripe_sdk_session_response.rb +45 -0
- data/lib/privy/models/fiat_onramp_url_session_response.rb +39 -0
- data/lib/privy/models/get_fiat_onramp_url_response.rb +12 -14
- data/lib/privy/models/get_stripe_crypto_customer_response.rb +39 -0
- data/lib/privy/models/kraken_embed_custom_order_cancelled_webhook_payload.rb +66 -0
- data/lib/privy/models/kraken_embed_custom_order_executed_webhook_payload.rb +54 -0
- data/lib/privy/models/kraken_embed_custom_order_execution_failed_webhook_payload.rb +67 -0
- data/lib/privy/models/link_auth_intent_created.rb +35 -0
- data/lib/privy/models/link_auth_intent_no_account.rb +27 -0
- data/lib/privy/models/list_stripe_consumer_wallets_response.rb +17 -0
- data/lib/privy/models/list_stripe_payment_tokens_response.rb +17 -0
- data/lib/privy/models/onramp_session_params.rb +61 -0
- data/lib/privy/models/refresh_stripe_quote_response.rb +18 -0
- data/lib/privy/models/rule_delete_intent_response.rb +63 -0
- data/lib/privy/models/rule_intent_response.rb +0 -1
- data/lib/privy/models/rule_mutate_intent_response.rb +64 -0
- data/lib/privy/models/stripe_consumer_wallet.rb +29 -0
- data/lib/privy/models/stripe_crypto_customer_active.rb +39 -0
- data/lib/privy/models/stripe_crypto_customer_expired.rb +33 -0
- data/lib/privy/models/stripe_crypto_customer_none.rb +27 -0
- data/lib/privy/models/stripe_onramp_checkout_response.rb +25 -0
- data/lib/privy/models/stripe_onramp_session_status.rb +17 -0
- data/lib/privy/models/stripe_payment_token.rb +23 -0
- data/lib/privy/models/stripe_quote.rb +17 -0
- data/lib/privy/models/stripe_transaction_details.rb +17 -0
- data/lib/privy/models/stripe_verification.rb +23 -0
- data/lib/privy/models/swap_action_response.rb +9 -1
- data/lib/privy/models/swap_destination.rb +13 -4
- data/lib/privy/models/swap_quote_destination.rb +15 -4
- data/lib/privy/models/swap_quote_request_body.rb +9 -1
- data/lib/privy/models/swap_quote_response.rb +25 -1
- data/lib/privy/models/swap_request_body.rb +9 -1
- data/lib/privy/models/wallets/swap_execute_params.rb +45 -0
- data/lib/privy/models/wallets/swap_quote_params.rb +36 -0
- data/lib/privy/models.rb +71 -4
- data/lib/privy/public_api/privy_client.rb +2 -1
- data/lib/privy/public_api/services/earn/ethereum/incentive.rb +61 -0
- data/lib/privy/public_api/services/earn/ethereum.rb +131 -0
- data/lib/privy/public_api/services/earn.rb +18 -0
- data/lib/privy/public_api/services/key_quorums.rb +7 -1
- data/lib/privy/public_api/services/policies.rb +21 -3
- data/lib/privy/public_api/services/transactions.rb +14 -0
- data/lib/privy/public_api/services/wallets.rb +153 -1
- data/lib/privy/resources/intents.rb +6 -6
- data/lib/privy/resources/oauth.rb +14 -0
- data/lib/privy/resources/onramps.rb +14 -0
- data/lib/privy/resources/wallets/swap.rb +105 -0
- data/lib/privy/resources/wallets.rb +10 -2
- data/lib/privy/version.rb +1 -1
- data/lib/privy/wallet_entropy.rb +60 -0
- data/lib/privy.rb +47 -4
- data/rbi/privy/client.rbi +6 -0
- data/rbi/privy/models/create_link_auth_intent_input.rbi +27 -0
- data/rbi/privy/models/create_link_auth_intent_response.rbi +68 -0
- data/rbi/privy/models/create_stripe_onramp_session_input.rbi +55 -0
- data/rbi/privy/models/create_stripe_onramp_session_response.rbi +30 -0
- data/rbi/privy/models/device_authorization_response.rbi +81 -0
- data/rbi/privy/models/earn_incentive_reward_entry.rbi +73 -0
- data/rbi/privy/models/earn_incentive_rewards_query.rbi +28 -0
- data/rbi/privy/models/earn_incentive_rewards_response.rbi +35 -0
- data/rbi/privy/models/exchange_stripe_tokens_input.rbi +33 -0
- data/rbi/privy/models/exchange_stripe_tokens_response.rbi +24 -0
- data/rbi/privy/models/fiat_onramp_provider.rbi +3 -0
- data/rbi/privy/models/fiat_onramp_stripe_sdk_session_response.rbi +78 -0
- data/rbi/privy/models/fiat_onramp_url_session_response.rbi +65 -0
- data/rbi/privy/models/get_fiat_onramp_url_response.rbi +12 -15
- data/rbi/privy/models/get_stripe_crypto_customer_response.rbi +81 -0
- data/rbi/privy/models/kraken_embed_custom_order_cancelled_webhook_payload.rbi +111 -0
- data/rbi/privy/models/kraken_embed_custom_order_executed_webhook_payload.rbi +101 -0
- data/rbi/privy/models/kraken_embed_custom_order_execution_failed_webhook_payload.rbi +111 -0
- data/rbi/privy/models/link_auth_intent_created.rbi +60 -0
- data/rbi/privy/models/link_auth_intent_no_account.rbi +54 -0
- data/rbi/privy/models/list_stripe_consumer_wallets_response.rbi +31 -0
- data/rbi/privy/models/list_stripe_payment_tokens_response.rbi +31 -0
- data/rbi/privy/models/onramp_session_params.rbi +76 -0
- data/rbi/privy/models/refresh_stripe_quote_response.rbi +33 -0
- data/rbi/privy/models/rule_delete_intent_response.rbi +113 -0
- data/rbi/privy/models/rule_mutate_intent_response.rbi +113 -0
- data/rbi/privy/models/stripe_consumer_wallet.rbi +38 -0
- data/rbi/privy/models/stripe_crypto_customer_active.rbi +68 -0
- data/rbi/privy/models/stripe_crypto_customer_expired.rbi +63 -0
- data/rbi/privy/models/stripe_crypto_customer_none.rbi +53 -0
- data/rbi/privy/models/stripe_onramp_checkout_response.rbi +51 -0
- data/rbi/privy/models/stripe_onramp_session_status.rbi +26 -0
- data/rbi/privy/models/stripe_payment_token.rbi +27 -0
- data/rbi/privy/models/stripe_quote.rbi +22 -0
- data/rbi/privy/models/stripe_transaction_details.rbi +24 -0
- data/rbi/privy/models/stripe_verification.rbi +27 -0
- data/rbi/privy/models/swap_action_response.rbi +17 -27
- data/rbi/privy/models/swap_destination.rbi +26 -7
- data/rbi/privy/models/swap_quote_destination.rbi +30 -7
- data/rbi/privy/models/swap_quote_request_body.rbi +11 -0
- data/rbi/privy/models/swap_quote_response.rbi +54 -3
- data/rbi/privy/models/swap_request_body.rbi +11 -0
- data/rbi/privy/models/wallets/swap_execute_params.rbi +71 -0
- data/rbi/privy/models/wallets/swap_quote_params.rbi +58 -0
- data/rbi/privy/models.rbi +76 -5
- data/rbi/privy/resources/intents.rbi +3 -3
- data/rbi/privy/resources/oauth.rbi +12 -0
- data/rbi/privy/resources/onramps.rbi +12 -0
- data/rbi/privy/resources/wallets/swap.rbi +94 -0
- data/rbi/privy/resources/wallets.rbi +9 -2
- data/sig/privy/client.rbs +4 -0
- data/sig/privy/models/create_link_auth_intent_input.rbs +15 -0
- data/sig/privy/models/create_link_auth_intent_response.rbs +26 -0
- data/sig/privy/models/create_stripe_onramp_session_input.rbs +30 -0
- data/sig/privy/models/create_stripe_onramp_session_response.rbs +16 -0
- data/sig/privy/models/device_authorization_response.rbs +45 -0
- data/sig/privy/models/earn_incentive_reward_entry.rbs +42 -0
- data/sig/privy/models/earn_incentive_rewards_query.rbs +13 -0
- data/sig/privy/models/earn_incentive_rewards_response.rbs +16 -0
- data/sig/privy/models/exchange_stripe_tokens_input.rbs +19 -0
- data/sig/privy/models/exchange_stripe_tokens_response.rbs +13 -0
- data/sig/privy/models/fiat_onramp_provider.rbs +4 -0
- data/sig/privy/models/fiat_onramp_stripe_sdk_session_response.rbs +45 -0
- data/sig/privy/models/fiat_onramp_url_session_response.rbs +40 -0
- data/sig/privy/models/get_fiat_onramp_url_response.rbs +6 -8
- data/sig/privy/models/get_stripe_crypto_customer_response.rbs +29 -0
- data/sig/privy/models/kraken_embed_custom_order_cancelled_webhook_payload.rbs +50 -0
- data/sig/privy/models/kraken_embed_custom_order_executed_webhook_payload.rbs +45 -0
- data/sig/privy/models/kraken_embed_custom_order_execution_failed_webhook_payload.rbs +50 -0
- data/sig/privy/models/link_auth_intent_created.rbs +32 -0
- data/sig/privy/models/link_auth_intent_no_account.rbs +26 -0
- data/sig/privy/models/list_stripe_consumer_wallets_response.rbs +14 -0
- data/sig/privy/models/list_stripe_payment_tokens_response.rbs +14 -0
- data/sig/privy/models/onramp_session_params.rbs +50 -0
- data/sig/privy/models/refresh_stripe_quote_response.rbs +13 -0
- data/sig/privy/models/rule_delete_intent_response.rbs +66 -0
- data/sig/privy/models/rule_mutate_intent_response.rbs +66 -0
- data/sig/privy/models/stripe_consumer_wallet.rbs +22 -0
- data/sig/privy/models/stripe_crypto_customer_active.rbs +40 -0
- data/sig/privy/models/stripe_crypto_customer_expired.rbs +35 -0
- data/sig/privy/models/stripe_crypto_customer_none.rbs +28 -0
- data/sig/privy/models/stripe_onramp_checkout_response.rbs +29 -0
- data/sig/privy/models/stripe_onramp_session_status.rbs +15 -0
- data/sig/privy/models/stripe_payment_token.rbs +15 -0
- data/sig/privy/models/stripe_quote.rbs +13 -0
- data/sig/privy/models/stripe_transaction_details.rbs +13 -0
- data/sig/privy/models/stripe_verification.rbs +15 -0
- data/sig/privy/models/swap_action_response.rbs +7 -0
- data/sig/privy/models/swap_destination.rbs +16 -3
- data/sig/privy/models/swap_quote_destination.rbs +16 -3
- data/sig/privy/models/swap_quote_request_body.rbs +9 -0
- data/sig/privy/models/swap_quote_response.rbs +26 -3
- data/sig/privy/models/swap_request_body.rbs +9 -0
- data/sig/privy/models/wallets/swap_execute_params.rbs +44 -0
- data/sig/privy/models/wallets/swap_quote_params.rbs +34 -0
- data/sig/privy/models.rbs +69 -5
- data/sig/privy/resources/intents.rbs +3 -3
- data/sig/privy/resources/oauth.rbs +7 -0
- data/sig/privy/resources/onramps.rbs +7 -0
- data/sig/privy/resources/wallets/swap.rbs +34 -0
- data/sig/privy/resources/wallets.rbs +2 -0
- metadata +125 -8
- data/lib/privy/models/gas_sponsorship_configuration.rb +0 -29
- data/lib/privy/models/gas_sponsorship_configuration_input.rb +0 -29
- data/rbi/privy/models/gas_sponsorship_configuration.rbi +0 -48
- data/rbi/privy/models/gas_sponsorship_configuration_input.rbi +0 -60
- data/sig/privy/models/gas_sponsorship_configuration.rbs +0 -30
- data/sig/privy/models/gas_sponsorship_configuration_input.rbs +0 -36
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "base58"
|
|
4
|
+
|
|
5
|
+
module Privy
|
|
6
|
+
module WalletEntropy
|
|
7
|
+
SECP256K1_ORDER = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141
|
|
8
|
+
|
|
9
|
+
module_function
|
|
10
|
+
|
|
11
|
+
def entropy_to_bytes(entropy:, entropy_type:, chain_type:)
|
|
12
|
+
case entropy_type.to_s
|
|
13
|
+
when "hd"
|
|
14
|
+
entropy.to_s.encode(Encoding::UTF_8).b
|
|
15
|
+
when "private-key"
|
|
16
|
+
private_key_to_bytes(entropy.to_s, chain_type.to_s)
|
|
17
|
+
else
|
|
18
|
+
raise Privy::Errors::Error, "Invalid entropy type: #{entropy_type}"
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def private_key_to_bytes(entropy, chain_type)
|
|
23
|
+
case chain_type
|
|
24
|
+
when "ethereum"
|
|
25
|
+
ethereum_private_key_to_bytes(entropy)
|
|
26
|
+
when "solana"
|
|
27
|
+
solana_private_key_to_bytes(entropy)
|
|
28
|
+
else
|
|
29
|
+
raise Privy::Errors::Error, "Invalid chain type for imports: #{chain_type}"
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def ethereum_private_key_to_bytes(entropy)
|
|
34
|
+
hex = entropy.start_with?("0x") ? entropy[2..] : entropy
|
|
35
|
+
unless hex.match?(/\A[0-9a-fA-F]{64}\z/)
|
|
36
|
+
raise Privy::Errors::Error,
|
|
37
|
+
"Invalid private key: Ethereum entropy must be 64 hex characters (32 bytes)"
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
scalar = hex.to_i(16)
|
|
41
|
+
if scalar.zero? || scalar >= SECP256K1_ORDER
|
|
42
|
+
raise Privy::Errors::Error,
|
|
43
|
+
"Invalid private key: Ethereum entropy must be in range [1, secp256k1 order)"
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
[hex].pack("H*")
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def solana_private_key_to_bytes(entropy)
|
|
50
|
+
if entropy.empty?
|
|
51
|
+
raise Privy::Errors::Error,
|
|
52
|
+
"Invalid private key: Solana entropy must be base58 encoded"
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
Privy::Base58.decode(entropy)
|
|
56
|
+
rescue ArgumentError
|
|
57
|
+
raise Privy::Errors::Error, "Invalid private key: Solana entropy must be base58 encoded"
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
data/lib/privy.rb
CHANGED
|
@@ -93,6 +93,8 @@ require_relative "privy/models/raw_sign_input"
|
|
|
93
93
|
require_relative "privy/models/earn_incentive_claim_request_body"
|
|
94
94
|
require_relative "privy/models/earn_deposit_request_body"
|
|
95
95
|
require_relative "privy/models/earn_withdraw_request_body"
|
|
96
|
+
require_relative "privy/models/swap_request_body"
|
|
97
|
+
require_relative "privy/models/swap_quote_request_body"
|
|
96
98
|
require_relative "privy/models/abi_parameter"
|
|
97
99
|
require_relative "privy/models/abi_schema"
|
|
98
100
|
require_relative "privy/models/account_balance_params"
|
|
@@ -197,8 +199,12 @@ require_relative "privy/models/condition_value"
|
|
|
197
199
|
require_relative "privy/models/create_account_from_wallet_ids_input"
|
|
198
200
|
require_relative "privy/models/create_account_from_wallets_configuration_input"
|
|
199
201
|
require_relative "privy/models/create_account_input"
|
|
202
|
+
require_relative "privy/models/create_link_auth_intent_input"
|
|
203
|
+
require_relative "privy/models/create_link_auth_intent_response"
|
|
200
204
|
require_relative "privy/models/create_organization_secret_response"
|
|
201
205
|
require_relative "privy/models/create_or_update_fiat_customer_request_input"
|
|
206
|
+
require_relative "privy/models/create_stripe_onramp_session_input"
|
|
207
|
+
require_relative "privy/models/create_stripe_onramp_session_response"
|
|
202
208
|
require_relative "privy/models/cross_app_connection"
|
|
203
209
|
require_relative "privy/models/cross_app_connections_response"
|
|
204
210
|
require_relative "privy/models/cross_app_embedded_wallet"
|
|
@@ -219,9 +225,13 @@ require_relative "privy/models/custom_metadata"
|
|
|
219
225
|
require_relative "privy/models/custom_oauth_provider_id"
|
|
220
226
|
require_relative "privy/models/custom_token_transfer_source"
|
|
221
227
|
require_relative "privy/models/developer_fee"
|
|
228
|
+
require_relative "privy/models/device_authorization_response"
|
|
222
229
|
require_relative "privy/models/earn_asset"
|
|
223
230
|
require_relative "privy/models/earn_deposit_action_response"
|
|
224
231
|
require_relative "privy/models/earn_incentive_claim_action_response"
|
|
232
|
+
require_relative "privy/models/earn_incentive_reward_entry"
|
|
233
|
+
require_relative "privy/models/earn_incentive_rewards_query"
|
|
234
|
+
require_relative "privy/models/earn_incentive_rewards_response"
|
|
225
235
|
require_relative "privy/models/earn_incetive_claim_reward_entry"
|
|
226
236
|
require_relative "privy/models/earn_withdraw_action_response"
|
|
227
237
|
require_relative "privy/models/email_domain"
|
|
@@ -300,6 +310,8 @@ require_relative "privy/models/evm_caip_2_chain_id"
|
|
|
300
310
|
require_relative "privy/models/evm_transaction_wallet_action_step"
|
|
301
311
|
require_relative "privy/models/evm_user_operation_wallet_action_step"
|
|
302
312
|
require_relative "privy/models/evm_wallet_action_step_status"
|
|
313
|
+
require_relative "privy/models/exchange_stripe_tokens_input"
|
|
314
|
+
require_relative "privy/models/exchange_stripe_tokens_response"
|
|
303
315
|
require_relative "privy/models/export_private_key_rpc_input"
|
|
304
316
|
require_relative "privy/models/export_private_key_rpc_response"
|
|
305
317
|
require_relative "privy/models/export_seed_phrase_rpc_input"
|
|
@@ -348,7 +360,9 @@ require_relative "privy/models/fiat_onramp_provider"
|
|
|
348
360
|
require_relative "privy/models/fiat_onramp_provider_error"
|
|
349
361
|
require_relative "privy/models/fiat_onramp_quote"
|
|
350
362
|
require_relative "privy/models/fiat_onramp_source"
|
|
363
|
+
require_relative "privy/models/fiat_onramp_stripe_sdk_session_response"
|
|
351
364
|
require_relative "privy/models/fiat_onramp_transaction_status"
|
|
365
|
+
require_relative "privy/models/fiat_onramp_url_session_response"
|
|
352
366
|
require_relative "privy/models/fiat_virtual_account_request"
|
|
353
367
|
require_relative "privy/models/fiat_virtual_account_response"
|
|
354
368
|
require_relative "privy/models/first_class_chain_type"
|
|
@@ -360,8 +374,6 @@ require_relative "privy/models/funds_withdrawn_webhook_payload"
|
|
|
360
374
|
require_relative "privy/models/gas_spend_currency"
|
|
361
375
|
require_relative "privy/models/gas_spend_request_body"
|
|
362
376
|
require_relative "privy/models/gas_spend_response_body"
|
|
363
|
-
require_relative "privy/models/gas_sponsorship_configuration"
|
|
364
|
-
require_relative "privy/models/gas_sponsorship_configuration_input"
|
|
365
377
|
require_relative "privy/models/get_fiat_customer_request_input"
|
|
366
378
|
require_relative "privy/models/get_fiat_onramp_quotes_input"
|
|
367
379
|
require_relative "privy/models/get_fiat_onramp_quotes_response"
|
|
@@ -369,6 +381,7 @@ require_relative "privy/models/get_fiat_onramp_transaction_status_input"
|
|
|
369
381
|
require_relative "privy/models/get_fiat_onramp_transaction_status_response"
|
|
370
382
|
require_relative "privy/models/get_fiat_onramp_url_input"
|
|
371
383
|
require_relative "privy/models/get_fiat_onramp_url_response"
|
|
384
|
+
require_relative "privy/models/get_stripe_crypto_customer_response"
|
|
372
385
|
require_relative "privy/models/guest_authenticate_request_body"
|
|
373
386
|
require_relative "privy/models/hd_init_input"
|
|
374
387
|
require_relative "privy/models/hd_path"
|
|
@@ -418,6 +431,9 @@ require_relative "privy/models/kraken_embed_current_day_pnl"
|
|
|
418
431
|
require_relative "privy/models/kraken_embed_custom_order"
|
|
419
432
|
require_relative "privy/models/kraken_embed_custom_order_action"
|
|
420
433
|
require_relative "privy/models/kraken_embed_custom_order_amount"
|
|
434
|
+
require_relative "privy/models/kraken_embed_custom_order_cancelled_webhook_payload"
|
|
435
|
+
require_relative "privy/models/kraken_embed_custom_order_executed_webhook_payload"
|
|
436
|
+
require_relative "privy/models/kraken_embed_custom_order_execution_failed_webhook_payload"
|
|
421
437
|
require_relative "privy/models/kraken_embed_custom_order_occurrence"
|
|
422
438
|
require_relative "privy/models/kraken_embed_custom_order_occurrence_trigger"
|
|
423
439
|
require_relative "privy/models/kraken_embed_custom_order_quote_asset"
|
|
@@ -457,6 +473,8 @@ require_relative "privy/models/kraken_embed_upcoming_reward"
|
|
|
457
473
|
require_relative "privy/models/kraken_embed_user_closed_webhook_payload"
|
|
458
474
|
require_relative "privy/models/kraken_embed_user_disabled_webhook_payload"
|
|
459
475
|
require_relative "privy/models/kraken_embed_user_verified_webhook_payload"
|
|
476
|
+
require_relative "privy/models/link_auth_intent_created"
|
|
477
|
+
require_relative "privy/models/link_auth_intent_no_account"
|
|
460
478
|
require_relative "privy/models/linked_account"
|
|
461
479
|
require_relative "privy/models/linked_account_apple_input"
|
|
462
480
|
require_relative "privy/models/linked_account_apple_oauth"
|
|
@@ -506,6 +524,8 @@ require_relative "privy/models/linked_account_type"
|
|
|
506
524
|
require_relative "privy/models/linked_account_wallet_input"
|
|
507
525
|
require_relative "privy/models/linked_mfa_method"
|
|
508
526
|
require_relative "privy/models/link_jwt_input"
|
|
527
|
+
require_relative "privy/models/list_stripe_consumer_wallets_response"
|
|
528
|
+
require_relative "privy/models/list_stripe_payment_tokens_response"
|
|
509
529
|
require_relative "privy/models/mfa_disabled_webhook_payload"
|
|
510
530
|
require_relative "privy/models/mfa_enabled_webhook_payload"
|
|
511
531
|
require_relative "privy/models/mfa_passkey_enrollment_request_body"
|
|
@@ -553,6 +573,7 @@ require_relative "privy/models/oauth_unlink_request_body"
|
|
|
553
573
|
require_relative "privy/models/oauth_verify_request_body"
|
|
554
574
|
require_relative "privy/models/oauth_verify_response_body"
|
|
555
575
|
require_relative "privy/models/onramp_provider"
|
|
576
|
+
require_relative "privy/models/onramp_session_params"
|
|
556
577
|
require_relative "privy/models/optional_refresh_token_input"
|
|
557
578
|
require_relative "privy/models/organization_secrets_list_response"
|
|
558
579
|
require_relative "privy/models/output_with_previous_transaction_data"
|
|
@@ -635,17 +656,20 @@ require_relative "privy/models/recovery_configuration_icloud_response"
|
|
|
635
656
|
require_relative "privy/models/recovery_key_material_input"
|
|
636
657
|
require_relative "privy/models/recovery_key_material_response"
|
|
637
658
|
require_relative "privy/models/recovery_type"
|
|
659
|
+
require_relative "privy/models/refresh_stripe_quote_response"
|
|
638
660
|
require_relative "privy/models/relayer_fee"
|
|
639
661
|
require_relative "privy/models/response_passkey_init_authenticate"
|
|
640
662
|
require_relative "privy/models/response_passkey_init_link"
|
|
641
663
|
require_relative "privy/models/response_passkey_init_register"
|
|
642
664
|
require_relative "privy/models/rpc_intent_request_details"
|
|
643
665
|
require_relative "privy/models/rpc_intent_response"
|
|
666
|
+
require_relative "privy/models/rule_delete_intent_response"
|
|
644
667
|
require_relative "privy/models/rule_intent_create_request_details"
|
|
645
668
|
require_relative "privy/models/rule_intent_delete_request_details"
|
|
646
669
|
require_relative "privy/models/rule_intent_request_details"
|
|
647
670
|
require_relative "privy/models/rule_intent_response"
|
|
648
671
|
require_relative "privy/models/rule_intent_update_request_details"
|
|
672
|
+
require_relative "privy/models/rule_mutate_intent_response"
|
|
649
673
|
require_relative "privy/models/seed_phrase_export_input"
|
|
650
674
|
require_relative "privy/models/seed_phrase_export_response"
|
|
651
675
|
require_relative "privy/models/seed_phrase_export_webhook_payload"
|
|
@@ -741,6 +765,16 @@ require_relative "privy/models/spark_transfer_tokens_rpc_response"
|
|
|
741
765
|
require_relative "privy/models/spark_transfer_tokens_rpc_response_data"
|
|
742
766
|
require_relative "privy/models/spark_user_token_metadata"
|
|
743
767
|
require_relative "privy/models/spark_wallet_leaf"
|
|
768
|
+
require_relative "privy/models/stripe_consumer_wallet"
|
|
769
|
+
require_relative "privy/models/stripe_crypto_customer_active"
|
|
770
|
+
require_relative "privy/models/stripe_crypto_customer_expired"
|
|
771
|
+
require_relative "privy/models/stripe_crypto_customer_none"
|
|
772
|
+
require_relative "privy/models/stripe_onramp_checkout_response"
|
|
773
|
+
require_relative "privy/models/stripe_onramp_session_status"
|
|
774
|
+
require_relative "privy/models/stripe_payment_token"
|
|
775
|
+
require_relative "privy/models/stripe_quote"
|
|
776
|
+
require_relative "privy/models/stripe_transaction_details"
|
|
777
|
+
require_relative "privy/models/stripe_verification"
|
|
744
778
|
require_relative "privy/models/success_response"
|
|
745
779
|
require_relative "privy/models/sui_command_name"
|
|
746
780
|
require_relative "privy/models/sui_transaction_command_condition"
|
|
@@ -752,9 +786,7 @@ require_relative "privy/models/svm_wallet_action_step_status"
|
|
|
752
786
|
require_relative "privy/models/swap_action_response"
|
|
753
787
|
require_relative "privy/models/swap_destination"
|
|
754
788
|
require_relative "privy/models/swap_quote_destination"
|
|
755
|
-
require_relative "privy/models/swap_quote_request_body"
|
|
756
789
|
require_relative "privy/models/swap_quote_response"
|
|
757
|
-
require_relative "privy/models/swap_request_body"
|
|
758
790
|
require_relative "privy/models/swap_source"
|
|
759
791
|
require_relative "privy/models/system_condition"
|
|
760
792
|
require_relative "privy/models/telegram_auth_config_schema"
|
|
@@ -938,6 +970,8 @@ require_relative "privy/models/wallets/balance_get_response"
|
|
|
938
970
|
require_relative "privy/models/wallets/earn/ethereum/incentive_claim_params"
|
|
939
971
|
require_relative "privy/models/wallets/earn/ethereum_deposit_params"
|
|
940
972
|
require_relative "privy/models/wallets/earn/ethereum_withdraw_params"
|
|
973
|
+
require_relative "privy/models/wallets/swap_execute_params"
|
|
974
|
+
require_relative "privy/models/wallets/swap_quote_params"
|
|
941
975
|
require_relative "privy/models/wallets/transaction_get_params"
|
|
942
976
|
require_relative "privy/models/wallets/transaction_get_response"
|
|
943
977
|
require_relative "privy/models/wallet_solana_asset"
|
|
@@ -963,6 +997,8 @@ require_relative "privy/resources/funding"
|
|
|
963
997
|
require_relative "privy/resources/intents"
|
|
964
998
|
require_relative "privy/resources/key_quorums"
|
|
965
999
|
require_relative "privy/resources/kraken_embed"
|
|
1000
|
+
require_relative "privy/resources/oauth"
|
|
1001
|
+
require_relative "privy/resources/onramps"
|
|
966
1002
|
require_relative "privy/resources/organizations"
|
|
967
1003
|
require_relative "privy/resources/policies"
|
|
968
1004
|
require_relative "privy/resources/shared"
|
|
@@ -975,15 +1011,22 @@ require_relative "privy/resources/wallets/balance"
|
|
|
975
1011
|
require_relative "privy/resources/wallets/earn"
|
|
976
1012
|
require_relative "privy/resources/wallets/earn/ethereum"
|
|
977
1013
|
require_relative "privy/resources/wallets/earn/ethereum/incentive"
|
|
1014
|
+
require_relative "privy/resources/wallets/swap"
|
|
978
1015
|
require_relative "privy/resources/wallets/transactions"
|
|
979
1016
|
require_relative "privy/resources/webhooks"
|
|
980
1017
|
require_relative "privy/resources/yield_"
|
|
981
1018
|
|
|
982
1019
|
# Custom layer on top of the generated client.
|
|
1020
|
+
require_relative "privy/base58"
|
|
1021
|
+
require_relative "privy/wallet_entropy"
|
|
1022
|
+
require_relative "privy/public_api/services/earn"
|
|
1023
|
+
require_relative "privy/public_api/services/earn/ethereum"
|
|
1024
|
+
require_relative "privy/public_api/services/earn/ethereum/incentive"
|
|
983
1025
|
require_relative "privy/public_api/services/wallets"
|
|
984
1026
|
require_relative "privy/public_api/services/users"
|
|
985
1027
|
require_relative "privy/public_api/services/policies"
|
|
986
1028
|
require_relative "privy/public_api/services/key_quorums"
|
|
1029
|
+
require_relative "privy/public_api/services/transactions"
|
|
987
1030
|
require_relative "privy/public_api/privy_request_expiry_options"
|
|
988
1031
|
require_relative "privy/public_api/privy_client"
|
|
989
1032
|
|
data/rbi/privy/client.rbi
CHANGED
|
@@ -71,6 +71,9 @@ module Privy
|
|
|
71
71
|
sig { returns(Privy::Resources::ClientAuth) }
|
|
72
72
|
attr_reader :client_auth
|
|
73
73
|
|
|
74
|
+
sig { returns(Privy::Resources::Onramps) }
|
|
75
|
+
attr_reader :onramps
|
|
76
|
+
|
|
74
77
|
sig { returns(Privy::Resources::Funding) }
|
|
75
78
|
attr_reader :funding
|
|
76
79
|
|
|
@@ -83,6 +86,9 @@ module Privy
|
|
|
83
86
|
sig { returns(Privy::Resources::Shared) }
|
|
84
87
|
attr_reader :shared
|
|
85
88
|
|
|
89
|
+
sig { returns(Privy::Resources::OAuth) }
|
|
90
|
+
attr_reader :oauth
|
|
91
|
+
|
|
86
92
|
sig { returns(Privy::Resources::WalletActions) }
|
|
87
93
|
attr_reader :wallet_actions
|
|
88
94
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class CreateLinkAuthIntentInput < Privy::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Privy::CreateLinkAuthIntentInput, Privy::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(T.nilable(String)) }
|
|
12
|
+
attr_reader :email
|
|
13
|
+
|
|
14
|
+
sig { params(email: String).void }
|
|
15
|
+
attr_writer :email
|
|
16
|
+
|
|
17
|
+
# Input for creating a Link auth intent to initiate Stripe onramp authentication.
|
|
18
|
+
sig { params(email: String).returns(T.attached_class) }
|
|
19
|
+
def self.new(email: nil)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
sig { override.returns({ email: String }) }
|
|
23
|
+
def to_hash
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class CreateLinkAuthIntentResponse < Privy::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Privy::CreateLinkAuthIntentResponse, Privy::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Auth intent created. Pass id to authenticate().
|
|
12
|
+
sig do
|
|
13
|
+
returns(
|
|
14
|
+
T.any(Privy::LinkAuthIntentCreated, Privy::LinkAuthIntentNoAccount)
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
attr_accessor :data
|
|
18
|
+
|
|
19
|
+
# The created Link auth intent.
|
|
20
|
+
sig do
|
|
21
|
+
params(
|
|
22
|
+
data:
|
|
23
|
+
T.any(
|
|
24
|
+
Privy::LinkAuthIntentCreated::OrHash,
|
|
25
|
+
Privy::LinkAuthIntentNoAccount::OrHash
|
|
26
|
+
)
|
|
27
|
+
).returns(T.attached_class)
|
|
28
|
+
end
|
|
29
|
+
def self.new(
|
|
30
|
+
# Auth intent created. Pass id to authenticate().
|
|
31
|
+
data:
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
sig do
|
|
36
|
+
override.returns(
|
|
37
|
+
{
|
|
38
|
+
data:
|
|
39
|
+
T.any(
|
|
40
|
+
Privy::LinkAuthIntentCreated,
|
|
41
|
+
Privy::LinkAuthIntentNoAccount
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
def to_hash
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Auth intent created. Pass id to authenticate().
|
|
50
|
+
module Data
|
|
51
|
+
extend Privy::Internal::Type::Union
|
|
52
|
+
|
|
53
|
+
Variants =
|
|
54
|
+
T.type_alias do
|
|
55
|
+
T.any(Privy::LinkAuthIntentCreated, Privy::LinkAuthIntentNoAccount)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
sig do
|
|
59
|
+
override.returns(
|
|
60
|
+
T::Array[Privy::CreateLinkAuthIntentResponse::Data::Variants]
|
|
61
|
+
)
|
|
62
|
+
end
|
|
63
|
+
def self.variants
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class CreateStripeOnrampSessionInput < Privy::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Privy::CreateStripeOnrampSessionInput, Privy::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Whether to use the sandbox or production environment for fiat onramp.
|
|
12
|
+
sig { returns(Privy::FiatOnrampEnvironment::OrSymbol) }
|
|
13
|
+
attr_accessor :environment
|
|
14
|
+
|
|
15
|
+
# Parameters for creating a Stripe onramp session.
|
|
16
|
+
sig { returns(Privy::OnrampSessionParams) }
|
|
17
|
+
attr_reader :session
|
|
18
|
+
|
|
19
|
+
sig { params(session: Privy::OnrampSessionParams::OrHash).void }
|
|
20
|
+
attr_writer :session
|
|
21
|
+
|
|
22
|
+
sig { returns(String) }
|
|
23
|
+
attr_accessor :session_id
|
|
24
|
+
|
|
25
|
+
# Input for creating a Stripe onramp session.
|
|
26
|
+
sig do
|
|
27
|
+
params(
|
|
28
|
+
environment: Privy::FiatOnrampEnvironment::OrSymbol,
|
|
29
|
+
session: Privy::OnrampSessionParams::OrHash,
|
|
30
|
+
session_id: String
|
|
31
|
+
).returns(T.attached_class)
|
|
32
|
+
end
|
|
33
|
+
def self.new(
|
|
34
|
+
# Whether to use the sandbox or production environment for fiat onramp.
|
|
35
|
+
environment:,
|
|
36
|
+
# Parameters for creating a Stripe onramp session.
|
|
37
|
+
session:,
|
|
38
|
+
session_id:
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
sig do
|
|
43
|
+
override.returns(
|
|
44
|
+
{
|
|
45
|
+
environment: Privy::FiatOnrampEnvironment::OrSymbol,
|
|
46
|
+
session: Privy::OnrampSessionParams,
|
|
47
|
+
session_id: String
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
def to_hash
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class CreateStripeOnrampSessionResponse < Privy::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Privy::CreateStripeOnrampSessionResponse,
|
|
10
|
+
Privy::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :id
|
|
16
|
+
|
|
17
|
+
sig { returns(String) }
|
|
18
|
+
attr_accessor :session_id
|
|
19
|
+
|
|
20
|
+
# The created onramp session.
|
|
21
|
+
sig { params(id: String, session_id: String).returns(T.attached_class) }
|
|
22
|
+
def self.new(id:, session_id:)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
sig { override.returns({ id: String, session_id: String }) }
|
|
26
|
+
def to_hash
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class DeviceAuthorizationResponse < Privy::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Privy::DeviceAuthorizationResponse, Privy::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# A long-lived code used by the device to poll for authorization status.
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :device_code
|
|
14
|
+
|
|
15
|
+
# The lifetime in seconds of the device_code and user_code.
|
|
16
|
+
sig { returns(Integer) }
|
|
17
|
+
attr_accessor :expires_in
|
|
18
|
+
|
|
19
|
+
# The minimum number of seconds the device should wait between polling requests.
|
|
20
|
+
sig { returns(Integer) }
|
|
21
|
+
attr_accessor :interval
|
|
22
|
+
|
|
23
|
+
# A short code displayed to the user, who enters it at the verification URI to
|
|
24
|
+
# authorize the device.
|
|
25
|
+
sig { returns(String) }
|
|
26
|
+
attr_accessor :user_code
|
|
27
|
+
|
|
28
|
+
# The URI where the user navigates to enter the user_code.
|
|
29
|
+
sig { returns(String) }
|
|
30
|
+
attr_accessor :verification_uri
|
|
31
|
+
|
|
32
|
+
# The verification URI with the user_code pre-filled as a query parameter.
|
|
33
|
+
sig { returns(String) }
|
|
34
|
+
attr_accessor :verification_uri_complete
|
|
35
|
+
|
|
36
|
+
# Response from the device authorization endpoint per RFC 8628. Contains codes and
|
|
37
|
+
# URIs for the device flow.
|
|
38
|
+
sig do
|
|
39
|
+
params(
|
|
40
|
+
device_code: String,
|
|
41
|
+
expires_in: Integer,
|
|
42
|
+
interval: Integer,
|
|
43
|
+
user_code: String,
|
|
44
|
+
verification_uri: String,
|
|
45
|
+
verification_uri_complete: String
|
|
46
|
+
).returns(T.attached_class)
|
|
47
|
+
end
|
|
48
|
+
def self.new(
|
|
49
|
+
# A long-lived code used by the device to poll for authorization status.
|
|
50
|
+
device_code:,
|
|
51
|
+
# The lifetime in seconds of the device_code and user_code.
|
|
52
|
+
expires_in:,
|
|
53
|
+
# The minimum number of seconds the device should wait between polling requests.
|
|
54
|
+
interval:,
|
|
55
|
+
# A short code displayed to the user, who enters it at the verification URI to
|
|
56
|
+
# authorize the device.
|
|
57
|
+
user_code:,
|
|
58
|
+
# The URI where the user navigates to enter the user_code.
|
|
59
|
+
verification_uri:,
|
|
60
|
+
# The verification URI with the user_code pre-filled as a query parameter.
|
|
61
|
+
verification_uri_complete:
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
sig do
|
|
66
|
+
override.returns(
|
|
67
|
+
{
|
|
68
|
+
device_code: String,
|
|
69
|
+
expires_in: Integer,
|
|
70
|
+
interval: Integer,
|
|
71
|
+
user_code: String,
|
|
72
|
+
verification_uri: String,
|
|
73
|
+
verification_uri_complete: String
|
|
74
|
+
}
|
|
75
|
+
)
|
|
76
|
+
end
|
|
77
|
+
def to_hash
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class EarnIncentiveRewardEntry < Privy::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Privy::EarnIncentiveRewardEntry, Privy::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Total amount already claimed, in smallest unit.
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :amount_claimed
|
|
14
|
+
|
|
15
|
+
# Amount available to claim on-chain but not yet claimed, in smallest unit.
|
|
16
|
+
sig { returns(String) }
|
|
17
|
+
attr_accessor :amount_unclaimed
|
|
18
|
+
|
|
19
|
+
# Address of the reward token.
|
|
20
|
+
sig { returns(String) }
|
|
21
|
+
attr_accessor :token_address
|
|
22
|
+
|
|
23
|
+
# Symbol of the reward token (e.g. "MORPHO").
|
|
24
|
+
sig { returns(String) }
|
|
25
|
+
attr_accessor :token_symbol
|
|
26
|
+
|
|
27
|
+
# Number of decimals for the reward token.
|
|
28
|
+
sig { returns(T.nilable(Integer)) }
|
|
29
|
+
attr_reader :token_decimals
|
|
30
|
+
|
|
31
|
+
sig { params(token_decimals: Integer).void }
|
|
32
|
+
attr_writer :token_decimals
|
|
33
|
+
|
|
34
|
+
# A reward token with claimed and unclaimed amounts.
|
|
35
|
+
sig do
|
|
36
|
+
params(
|
|
37
|
+
amount_claimed: String,
|
|
38
|
+
amount_unclaimed: String,
|
|
39
|
+
token_address: String,
|
|
40
|
+
token_symbol: String,
|
|
41
|
+
token_decimals: Integer
|
|
42
|
+
).returns(T.attached_class)
|
|
43
|
+
end
|
|
44
|
+
def self.new(
|
|
45
|
+
# Total amount already claimed, in smallest unit.
|
|
46
|
+
amount_claimed:,
|
|
47
|
+
# Amount available to claim on-chain but not yet claimed, in smallest unit.
|
|
48
|
+
amount_unclaimed:,
|
|
49
|
+
# Address of the reward token.
|
|
50
|
+
token_address:,
|
|
51
|
+
# Symbol of the reward token (e.g. "MORPHO").
|
|
52
|
+
token_symbol:,
|
|
53
|
+
# Number of decimals for the reward token.
|
|
54
|
+
token_decimals: nil
|
|
55
|
+
)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
sig do
|
|
59
|
+
override.returns(
|
|
60
|
+
{
|
|
61
|
+
amount_claimed: String,
|
|
62
|
+
amount_unclaimed: String,
|
|
63
|
+
token_address: String,
|
|
64
|
+
token_symbol: String,
|
|
65
|
+
token_decimals: Integer
|
|
66
|
+
}
|
|
67
|
+
)
|
|
68
|
+
end
|
|
69
|
+
def to_hash
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class EarnIncentiveRewardsQuery < Privy::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Privy::EarnIncentiveRewardsQuery, Privy::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Chain name to fetch rewards for (e.g. "base", "ethereum").
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :chain
|
|
14
|
+
|
|
15
|
+
# Query parameters for fetching incentive rewards.
|
|
16
|
+
sig { params(chain: String).returns(T.attached_class) }
|
|
17
|
+
def self.new(
|
|
18
|
+
# Chain name to fetch rewards for (e.g. "base", "ethereum").
|
|
19
|
+
chain:
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
sig { override.returns({ chain: String }) }
|
|
24
|
+
def to_hash
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class EarnIncentiveRewardsResponse < Privy::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Privy::EarnIncentiveRewardsResponse, Privy::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Reward tokens with their claimed and unclaimed amounts.
|
|
12
|
+
sig { returns(T::Array[Privy::EarnIncentiveRewardEntry]) }
|
|
13
|
+
attr_accessor :rewards
|
|
14
|
+
|
|
15
|
+
# All incentive rewards for a wallet, with claimed and unclaimed amounts per
|
|
16
|
+
# token.
|
|
17
|
+
sig do
|
|
18
|
+
params(
|
|
19
|
+
rewards: T::Array[Privy::EarnIncentiveRewardEntry::OrHash]
|
|
20
|
+
).returns(T.attached_class)
|
|
21
|
+
end
|
|
22
|
+
def self.new(
|
|
23
|
+
# Reward tokens with their claimed and unclaimed amounts.
|
|
24
|
+
rewards:
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
sig do
|
|
29
|
+
override.returns({ rewards: T::Array[Privy::EarnIncentiveRewardEntry] })
|
|
30
|
+
end
|
|
31
|
+
def to_hash
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|