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
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 24f26f4a50959cdf4a425471cc6eccb7bf9c9b12ee3beaeac5180c8cc3764cf1
|
|
4
|
+
data.tar.gz: 75f5e38ff6e8ff9a1be67f976e7a56165bc4d0f7ba8c7d7290d2a687b1a84342
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a2e6be7e846dfb8d5698713754e0f745a37aa3a2bb7ba886bf797b8ba4820f6b937aa496eacdc10051279917e7c50899da410a688ba5ef57cc76abbead4edf6a
|
|
7
|
+
data.tar.gz: '0857860b67f021ba365409f8341fcb3e6f11672e13fc1e8449e5bab77710b934d9e0cecf6492e53f96d86f65b980a89e6ea9511131c11854187d68fa042556d6'
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.0 (2026-06-01)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.0.2...v0.1.0](https://github.com/privy-io/ruby-sdk/compare/v0.0.2...v0.1.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([c3f99bb](https://github.com/privy-io/ruby-sdk/commit/c3f99bb1fb234e765d8916413ea41291159fbc2d))
|
|
10
|
+
* **api:** api update ([5394738](https://github.com/privy-io/ruby-sdk/commit/539473886ed5be1af9f03caf7e132471563a6596))
|
|
11
|
+
* **api:** api update ([c6f6a31](https://github.com/privy-io/ruby-sdk/commit/c6f6a31171dc2f12fb990fd11084eaff3a658a42))
|
|
12
|
+
* **api:** api update ([124a1eb](https://github.com/privy-io/ruby-sdk/commit/124a1eb8d4b60bbf215ce6d7c44eba7df4066e25))
|
|
13
|
+
* **api:** api update ([54ac7a9](https://github.com/privy-io/ruby-sdk/commit/54ac7a985a01f4205b670f0dc3b627ac6c0cd214))
|
|
14
|
+
* **api:** api update ([47b8c13](https://github.com/privy-io/ruby-sdk/commit/47b8c13516892c9d1138fd7e890c00dbe78b0210))
|
|
15
|
+
* transaction.get ([#55](https://github.com/privy-io/ruby-sdk/issues/55)) ([d0623c4](https://github.com/privy-io/ruby-sdk/commit/d0623c43e75f362e50c545580fba9b4182d9d553))
|
|
16
|
+
* wallet actions earn ([#53](https://github.com/privy-io/ruby-sdk/issues/53)) ([96b1d76](https://github.com/privy-io/ruby-sdk/commit/96b1d76a440936e64d18785033aec72aa3a921e1))
|
|
17
|
+
* wallet export and import ([#50](https://github.com/privy-io/ruby-sdk/issues/50)) ([2f9e563](https://github.com/privy-io/ruby-sdk/commit/2f9e56383d46ab9bfc0baed95036ff5bb1f81c18))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Chores
|
|
21
|
+
|
|
22
|
+
* formatting ([#54](https://github.com/privy-io/ruby-sdk/issues/54)) ([58658ee](https://github.com/privy-io/ruby-sdk/commit/58658ee0a4a7c5bacf0a3ebef78f22fc8d2171be))
|
|
23
|
+
|
|
3
24
|
## 0.0.2 (2026-05-21)
|
|
4
25
|
|
|
5
26
|
Full Changelog: [v0.0.1...v0.0.2](https://github.com/privy-io/ruby-sdk/compare/v0.0.1...v0.0.2)
|
data/README.md
CHANGED
data/lib/privy/base58.rb
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Base58
|
|
5
|
+
ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
|
|
6
|
+
INDEX = ALPHABET.chars.each_with_index.to_h.freeze
|
|
7
|
+
|
|
8
|
+
module_function
|
|
9
|
+
|
|
10
|
+
def encode(bytes)
|
|
11
|
+
integer = bytes.unpack1("H*").to_i(16)
|
|
12
|
+
encoded = +""
|
|
13
|
+
while integer.positive?
|
|
14
|
+
integer, remainder = integer.divmod(58)
|
|
15
|
+
encoded.prepend(ALPHABET[remainder])
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
leading_zeroes = bytes.bytes.take_while(&:zero?).length
|
|
19
|
+
("1" * leading_zeroes) + encoded
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def decode(value)
|
|
23
|
+
integer = 0
|
|
24
|
+
value.each_char do |char|
|
|
25
|
+
digit = INDEX[char]
|
|
26
|
+
raise ArgumentError, "invalid base58 character: #{char.inspect}" if digit.nil?
|
|
27
|
+
|
|
28
|
+
integer = (integer * 58) + digit
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
bytes = []
|
|
32
|
+
while integer.positive?
|
|
33
|
+
bytes.unshift(integer & 0xff)
|
|
34
|
+
integer >>= 8
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
leading_zeroes = value.each_char.take_while { |char| char == "1" }.length
|
|
38
|
+
("\x00".b * leading_zeroes) + bytes.pack("C*")
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
data/lib/privy/client.rb
CHANGED
|
@@ -72,6 +72,9 @@ module Privy
|
|
|
72
72
|
# @return [Privy::Resources::ClientAuth]
|
|
73
73
|
attr_reader :client_auth
|
|
74
74
|
|
|
75
|
+
# @return [Privy::Resources::Onramps]
|
|
76
|
+
attr_reader :onramps
|
|
77
|
+
|
|
75
78
|
# @return [Privy::Resources::Funding]
|
|
76
79
|
attr_reader :funding
|
|
77
80
|
|
|
@@ -84,6 +87,9 @@ module Privy
|
|
|
84
87
|
# @return [Privy::Resources::Shared]
|
|
85
88
|
attr_reader :shared
|
|
86
89
|
|
|
90
|
+
# @return [Privy::Resources::OAuth]
|
|
91
|
+
attr_reader :oauth
|
|
92
|
+
|
|
87
93
|
# @return [Privy::Resources::WalletActions]
|
|
88
94
|
attr_reader :wallet_actions
|
|
89
95
|
|
|
@@ -190,10 +196,12 @@ module Privy
|
|
|
190
196
|
@embedded_wallets = Privy::Resources::EmbeddedWallets.new(client: self)
|
|
191
197
|
@analytics = Privy::Resources::Analytics.new(client: self)
|
|
192
198
|
@client_auth = Privy::Resources::ClientAuth.new(client: self)
|
|
199
|
+
@onramps = Privy::Resources::Onramps.new(client: self)
|
|
193
200
|
@funding = Privy::Resources::Funding.new(client: self)
|
|
194
201
|
@organizations = Privy::Resources::Organizations.new(client: self)
|
|
195
202
|
@cross_app = Privy::Resources::CrossApp.new(client: self)
|
|
196
203
|
@shared = Privy::Resources::Shared.new(client: self)
|
|
204
|
+
@oauth = Privy::Resources::OAuth.new(client: self)
|
|
197
205
|
@wallet_actions = Privy::Resources::WalletActions.new(client: self)
|
|
198
206
|
@yield_ = Privy::Resources::Yield.new(client: self)
|
|
199
207
|
@kraken_embed = Privy::Resources::KrakenEmbed.new(client: self)
|
data/lib/privy/cryptography.rb
CHANGED
|
@@ -48,5 +48,39 @@ module Privy
|
|
|
48
48
|
OpenSSL::PKey.read(@public_key_spki)
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
|
+
|
|
52
|
+
HpkeEncryptedPayload = Data.define(:encapsulated_key, :ciphertext)
|
|
53
|
+
|
|
54
|
+
class HpkeSender
|
|
55
|
+
def initialize
|
|
56
|
+
@hpke = HPKE.new(HPKE::DHKEM_P256_HKDF_SHA256, HPKE::HKDF_SHA256, HPKE::CHACHA20_POLY1305)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Encrypts a payload for a recipient using HPKE base mode.
|
|
60
|
+
#
|
|
61
|
+
# @param public_key_spki [String] Raw DER bytes of the recipient's SPKI-encoded public key,
|
|
62
|
+
# or a raw uncompressed P-256 public key point.
|
|
63
|
+
# @param payload [String] Raw plaintext bytes
|
|
64
|
+
# @return [Privy::Cryptography::HpkeEncryptedPayload]
|
|
65
|
+
def encrypt(public_key_spki, payload)
|
|
66
|
+
recipient_public_key = OpenSSL::PKey.read(normalize_public_key_spki(public_key_spki))
|
|
67
|
+
encrypted = @hpke.setup_base_s(recipient_public_key, "")
|
|
68
|
+
ciphertext = encrypted.fetch(:context_s).seal("", payload)
|
|
69
|
+
|
|
70
|
+
HpkeEncryptedPayload.new(encapsulated_key: encrypted.fetch(:enc), ciphertext: ciphertext)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
private
|
|
74
|
+
|
|
75
|
+
def normalize_public_key_spki(public_key)
|
|
76
|
+
return p256_uncompressed_point_to_spki(public_key) if public_key.bytesize == 65 && public_key.getbyte(0) == 0x04
|
|
77
|
+
|
|
78
|
+
public_key
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def p256_uncompressed_point_to_spki(public_key)
|
|
82
|
+
["3059301306072a8648ce3d020106082a8648ce3d030107034200"].pack("H*") + public_key
|
|
83
|
+
end
|
|
84
|
+
end
|
|
51
85
|
end
|
|
52
86
|
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class CreateLinkAuthIntentInput < Privy::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute email
|
|
7
|
+
#
|
|
8
|
+
# @return [String, nil]
|
|
9
|
+
optional :email, String
|
|
10
|
+
|
|
11
|
+
# @!method initialize(email: nil)
|
|
12
|
+
# Input for creating a Link auth intent to initiate Stripe onramp authentication.
|
|
13
|
+
#
|
|
14
|
+
# @param email [String]
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class CreateLinkAuthIntentResponse < Privy::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute data
|
|
7
|
+
# Auth intent created. Pass id to authenticate().
|
|
8
|
+
#
|
|
9
|
+
# @return [Privy::Models::LinkAuthIntentCreated, Privy::Models::LinkAuthIntentNoAccount]
|
|
10
|
+
required :data, union: -> { Privy::CreateLinkAuthIntentResponse::Data }
|
|
11
|
+
|
|
12
|
+
# @!method initialize(data:)
|
|
13
|
+
# The created Link auth intent.
|
|
14
|
+
#
|
|
15
|
+
# @param data [Privy::Models::LinkAuthIntentCreated, Privy::Models::LinkAuthIntentNoAccount] Auth intent created. Pass id to authenticate().
|
|
16
|
+
|
|
17
|
+
# Auth intent created. Pass id to authenticate().
|
|
18
|
+
#
|
|
19
|
+
# @see Privy::Models::CreateLinkAuthIntentResponse#data
|
|
20
|
+
module Data
|
|
21
|
+
extend Privy::Internal::Type::Union
|
|
22
|
+
|
|
23
|
+
discriminator :status
|
|
24
|
+
|
|
25
|
+
# Auth intent created. Pass id to authenticate().
|
|
26
|
+
variant :created, -> { Privy::LinkAuthIntentCreated }
|
|
27
|
+
|
|
28
|
+
# No Link account for this email. Call registerLinkUser() then retry.
|
|
29
|
+
variant :no_account, -> { Privy::LinkAuthIntentNoAccount }
|
|
30
|
+
|
|
31
|
+
# @!method self.variants
|
|
32
|
+
# @return [Array(Privy::Models::LinkAuthIntentCreated, Privy::Models::LinkAuthIntentNoAccount)]
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class CreateStripeOnrampSessionInput < Privy::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute environment
|
|
7
|
+
# Whether to use the sandbox or production environment for fiat onramp.
|
|
8
|
+
#
|
|
9
|
+
# @return [Symbol, Privy::Models::FiatOnrampEnvironment]
|
|
10
|
+
required :environment, enum: -> { Privy::FiatOnrampEnvironment }
|
|
11
|
+
|
|
12
|
+
# @!attribute session
|
|
13
|
+
# Parameters for creating a Stripe onramp session.
|
|
14
|
+
#
|
|
15
|
+
# @return [Privy::Models::OnrampSessionParams]
|
|
16
|
+
required :session, -> { Privy::OnrampSessionParams }
|
|
17
|
+
|
|
18
|
+
# @!attribute session_id
|
|
19
|
+
#
|
|
20
|
+
# @return [String]
|
|
21
|
+
required :session_id, String
|
|
22
|
+
|
|
23
|
+
# @!method initialize(environment:, session:, session_id:)
|
|
24
|
+
# Input for creating a Stripe onramp session.
|
|
25
|
+
#
|
|
26
|
+
# @param environment [Symbol, Privy::Models::FiatOnrampEnvironment] Whether to use the sandbox or production environment for fiat onramp.
|
|
27
|
+
#
|
|
28
|
+
# @param session [Privy::Models::OnrampSessionParams] Parameters for creating a Stripe onramp session.
|
|
29
|
+
#
|
|
30
|
+
# @param session_id [String]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class CreateStripeOnrampSessionResponse < Privy::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute id
|
|
7
|
+
#
|
|
8
|
+
# @return [String]
|
|
9
|
+
required :id, String
|
|
10
|
+
|
|
11
|
+
# @!attribute session_id
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
required :session_id, String
|
|
15
|
+
|
|
16
|
+
# @!method initialize(id:, session_id:)
|
|
17
|
+
# The created onramp session.
|
|
18
|
+
#
|
|
19
|
+
# @param id [String]
|
|
20
|
+
# @param session_id [String]
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class DeviceAuthorizationResponse < Privy::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute device_code
|
|
7
|
+
# A long-lived code used by the device to poll for authorization status.
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
required :device_code, String
|
|
11
|
+
|
|
12
|
+
# @!attribute expires_in
|
|
13
|
+
# The lifetime in seconds of the device_code and user_code.
|
|
14
|
+
#
|
|
15
|
+
# @return [Integer]
|
|
16
|
+
required :expires_in, Integer
|
|
17
|
+
|
|
18
|
+
# @!attribute interval
|
|
19
|
+
# The minimum number of seconds the device should wait between polling requests.
|
|
20
|
+
#
|
|
21
|
+
# @return [Integer]
|
|
22
|
+
required :interval, Integer
|
|
23
|
+
|
|
24
|
+
# @!attribute user_code
|
|
25
|
+
# A short code displayed to the user, who enters it at the verification URI to
|
|
26
|
+
# authorize the device.
|
|
27
|
+
#
|
|
28
|
+
# @return [String]
|
|
29
|
+
required :user_code, String
|
|
30
|
+
|
|
31
|
+
# @!attribute verification_uri
|
|
32
|
+
# The URI where the user navigates to enter the user_code.
|
|
33
|
+
#
|
|
34
|
+
# @return [String]
|
|
35
|
+
required :verification_uri, String
|
|
36
|
+
|
|
37
|
+
# @!attribute verification_uri_complete
|
|
38
|
+
# The verification URI with the user_code pre-filled as a query parameter.
|
|
39
|
+
#
|
|
40
|
+
# @return [String]
|
|
41
|
+
required :verification_uri_complete, String
|
|
42
|
+
|
|
43
|
+
# @!method initialize(device_code:, expires_in:, interval:, user_code:, verification_uri:, verification_uri_complete:)
|
|
44
|
+
# Some parameter documentations has been truncated, see
|
|
45
|
+
# {Privy::Models::DeviceAuthorizationResponse} for more details.
|
|
46
|
+
#
|
|
47
|
+
# Response from the device authorization endpoint per RFC 8628. Contains codes and
|
|
48
|
+
# URIs for the device flow.
|
|
49
|
+
#
|
|
50
|
+
# @param device_code [String] A long-lived code used by the device to poll for authorization status.
|
|
51
|
+
#
|
|
52
|
+
# @param expires_in [Integer] The lifetime in seconds of the device_code and user_code.
|
|
53
|
+
#
|
|
54
|
+
# @param interval [Integer] The minimum number of seconds the device should wait between polling requests.
|
|
55
|
+
#
|
|
56
|
+
# @param user_code [String] A short code displayed to the user, who enters it at the verification URI to aut
|
|
57
|
+
#
|
|
58
|
+
# @param verification_uri [String] The URI where the user navigates to enter the user_code.
|
|
59
|
+
#
|
|
60
|
+
# @param verification_uri_complete [String] The verification URI with the user_code pre-filled as a query parameter.
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class EarnIncentiveRewardEntry < Privy::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute amount_claimed
|
|
7
|
+
# Total amount already claimed, in smallest unit.
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
required :amount_claimed, String
|
|
11
|
+
|
|
12
|
+
# @!attribute amount_unclaimed
|
|
13
|
+
# Amount available to claim on-chain but not yet claimed, in smallest unit.
|
|
14
|
+
#
|
|
15
|
+
# @return [String]
|
|
16
|
+
required :amount_unclaimed, String
|
|
17
|
+
|
|
18
|
+
# @!attribute token_address
|
|
19
|
+
# Address of the reward token.
|
|
20
|
+
#
|
|
21
|
+
# @return [String]
|
|
22
|
+
required :token_address, String
|
|
23
|
+
|
|
24
|
+
# @!attribute token_symbol
|
|
25
|
+
# Symbol of the reward token (e.g. "MORPHO").
|
|
26
|
+
#
|
|
27
|
+
# @return [String]
|
|
28
|
+
required :token_symbol, String
|
|
29
|
+
|
|
30
|
+
# @!attribute token_decimals
|
|
31
|
+
# Number of decimals for the reward token.
|
|
32
|
+
#
|
|
33
|
+
# @return [Integer, nil]
|
|
34
|
+
optional :token_decimals, Integer
|
|
35
|
+
|
|
36
|
+
# @!method initialize(amount_claimed:, amount_unclaimed:, token_address:, token_symbol:, token_decimals: nil)
|
|
37
|
+
# A reward token with claimed and unclaimed amounts.
|
|
38
|
+
#
|
|
39
|
+
# @param amount_claimed [String] Total amount already claimed, in smallest unit.
|
|
40
|
+
#
|
|
41
|
+
# @param amount_unclaimed [String] Amount available to claim on-chain but not yet claimed, in smallest unit.
|
|
42
|
+
#
|
|
43
|
+
# @param token_address [String] Address of the reward token.
|
|
44
|
+
#
|
|
45
|
+
# @param token_symbol [String] Symbol of the reward token (e.g. "MORPHO").
|
|
46
|
+
#
|
|
47
|
+
# @param token_decimals [Integer] Number of decimals for the reward token.
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class EarnIncentiveRewardsQuery < Privy::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute chain
|
|
7
|
+
# Chain name to fetch rewards for (e.g. "base", "ethereum").
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
required :chain, String
|
|
11
|
+
|
|
12
|
+
# @!method initialize(chain:)
|
|
13
|
+
# Query parameters for fetching incentive rewards.
|
|
14
|
+
#
|
|
15
|
+
# @param chain [String] Chain name to fetch rewards for (e.g. "base", "ethereum").
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class EarnIncentiveRewardsResponse < Privy::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute rewards
|
|
7
|
+
# Reward tokens with their claimed and unclaimed amounts.
|
|
8
|
+
#
|
|
9
|
+
# @return [Array<Privy::Models::EarnIncentiveRewardEntry>]
|
|
10
|
+
required :rewards, -> { Privy::Internal::Type::ArrayOf[Privy::EarnIncentiveRewardEntry] }
|
|
11
|
+
|
|
12
|
+
# @!method initialize(rewards:)
|
|
13
|
+
# All incentive rewards for a wallet, with claimed and unclaimed amounts per
|
|
14
|
+
# token.
|
|
15
|
+
#
|
|
16
|
+
# @param rewards [Array<Privy::Models::EarnIncentiveRewardEntry>] Reward tokens with their claimed and unclaimed amounts.
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class ExchangeStripeTokensInput < Privy::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute auth_intent_id
|
|
7
|
+
#
|
|
8
|
+
# @return [String]
|
|
9
|
+
required :auth_intent_id, String
|
|
10
|
+
|
|
11
|
+
# @!attribute crypto_customer_id
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
required :crypto_customer_id, String
|
|
15
|
+
|
|
16
|
+
# @!method initialize(auth_intent_id:, crypto_customer_id:)
|
|
17
|
+
# Input for exchanging a Link auth intent for OAuth tokens.
|
|
18
|
+
#
|
|
19
|
+
# @param auth_intent_id [String]
|
|
20
|
+
# @param crypto_customer_id [String]
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class ExchangeStripeTokensResponse < Privy::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute crypto_customer_id
|
|
7
|
+
#
|
|
8
|
+
# @return [String]
|
|
9
|
+
required :crypto_customer_id, String
|
|
10
|
+
|
|
11
|
+
# @!method initialize(crypto_customer_id:)
|
|
12
|
+
# Confirmation that tokens were exchanged and stored.
|
|
13
|
+
#
|
|
14
|
+
# @param crypto_customer_id [String]
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class FiatOnrampStripeSDKSessionResponse < Privy::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute network
|
|
7
|
+
#
|
|
8
|
+
# @return [String]
|
|
9
|
+
required :network, String
|
|
10
|
+
|
|
11
|
+
# @!attribute publishable_key
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
required :publishable_key, String
|
|
15
|
+
|
|
16
|
+
# @!attribute session_id
|
|
17
|
+
#
|
|
18
|
+
# @return [String]
|
|
19
|
+
required :session_id, String
|
|
20
|
+
|
|
21
|
+
# @!attribute type
|
|
22
|
+
#
|
|
23
|
+
# @return [Symbol, Privy::Models::FiatOnrampStripeSDKSessionResponse::Type]
|
|
24
|
+
required :type, enum: -> { Privy::FiatOnrampStripeSDKSessionResponse::Type }
|
|
25
|
+
|
|
26
|
+
# @!method initialize(network:, publishable_key:, session_id:, type:)
|
|
27
|
+
# Provider session initialization for embedded SDK providers (Stripe).
|
|
28
|
+
#
|
|
29
|
+
# @param network [String]
|
|
30
|
+
# @param publishable_key [String]
|
|
31
|
+
# @param session_id [String]
|
|
32
|
+
# @param type [Symbol, Privy::Models::FiatOnrampStripeSDKSessionResponse::Type]
|
|
33
|
+
|
|
34
|
+
# @see Privy::Models::FiatOnrampStripeSDKSessionResponse#type
|
|
35
|
+
module Type
|
|
36
|
+
extend Privy::Internal::Type::Enum
|
|
37
|
+
|
|
38
|
+
STRIPE_SDK = :"stripe-sdk"
|
|
39
|
+
|
|
40
|
+
# @!method self.values
|
|
41
|
+
# @return [Array<Symbol>]
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class FiatOnrampURLSessionResponse < Privy::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute session_id
|
|
7
|
+
#
|
|
8
|
+
# @return [String]
|
|
9
|
+
required :session_id, String
|
|
10
|
+
|
|
11
|
+
# @!attribute type
|
|
12
|
+
#
|
|
13
|
+
# @return [Symbol, Privy::Models::FiatOnrampURLSessionResponse::Type]
|
|
14
|
+
required :type, enum: -> { Privy::FiatOnrampURLSessionResponse::Type }
|
|
15
|
+
|
|
16
|
+
# @!attribute url
|
|
17
|
+
#
|
|
18
|
+
# @return [String]
|
|
19
|
+
required :url, String
|
|
20
|
+
|
|
21
|
+
# @!method initialize(session_id:, type:, url:)
|
|
22
|
+
# Provider session initialization for popup-based providers.
|
|
23
|
+
#
|
|
24
|
+
# @param session_id [String]
|
|
25
|
+
# @param type [Symbol, Privy::Models::FiatOnrampURLSessionResponse::Type]
|
|
26
|
+
# @param url [String]
|
|
27
|
+
|
|
28
|
+
# @see Privy::Models::FiatOnrampURLSessionResponse#type
|
|
29
|
+
module Type
|
|
30
|
+
extend Privy::Internal::Type::Enum
|
|
31
|
+
|
|
32
|
+
URL = :url
|
|
33
|
+
|
|
34
|
+
# @!method self.values
|
|
35
|
+
# @return [Array<Symbol>]
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -2,22 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
module Privy
|
|
4
4
|
module Models
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
# @return [String]
|
|
9
|
-
required :session_id, String
|
|
5
|
+
# Provider session initialization — either a hosted URL or embedded SDK config.
|
|
6
|
+
module GetFiatOnrampURLResponse
|
|
7
|
+
extend Privy::Internal::Type::Union
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
#
|
|
13
|
-
# @return [String]
|
|
14
|
-
required :url, String
|
|
9
|
+
discriminator :type
|
|
15
10
|
|
|
16
|
-
#
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
#
|
|
20
|
-
|
|
11
|
+
# Provider session initialization for popup-based providers.
|
|
12
|
+
variant :url, -> { Privy::FiatOnrampURLSessionResponse }
|
|
13
|
+
|
|
14
|
+
# Provider session initialization for embedded SDK providers (Stripe).
|
|
15
|
+
variant :"stripe-sdk", -> { Privy::FiatOnrampStripeSDKSessionResponse }
|
|
16
|
+
|
|
17
|
+
# @!method self.variants
|
|
18
|
+
# @return [Array(Privy::Models::FiatOnrampURLSessionResponse, Privy::Models::FiatOnrampStripeSDKSessionResponse)]
|
|
21
19
|
end
|
|
22
20
|
end
|
|
23
21
|
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class GetStripeCryptoCustomerResponse < Privy::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute data
|
|
7
|
+
# Active onramp session with customer verifications.
|
|
8
|
+
#
|
|
9
|
+
# @return [Privy::Models::StripeCryptoCustomerActive, Privy::Models::StripeCryptoCustomerExpired, Privy::Models::StripeCryptoCustomerNone]
|
|
10
|
+
required :data, union: -> { Privy::GetStripeCryptoCustomerResponse::Data }
|
|
11
|
+
|
|
12
|
+
# @!method initialize(data:)
|
|
13
|
+
# Stripe onramp session status and customer verification info.
|
|
14
|
+
#
|
|
15
|
+
# @param data [Privy::Models::StripeCryptoCustomerActive, Privy::Models::StripeCryptoCustomerExpired, Privy::Models::StripeCryptoCustomerNone] Active onramp session with customer verifications.
|
|
16
|
+
|
|
17
|
+
# Active onramp session with customer verifications.
|
|
18
|
+
#
|
|
19
|
+
# @see Privy::Models::GetStripeCryptoCustomerResponse#data
|
|
20
|
+
module Data
|
|
21
|
+
extend Privy::Internal::Type::Union
|
|
22
|
+
|
|
23
|
+
discriminator :status
|
|
24
|
+
|
|
25
|
+
# Active onramp session with customer verifications.
|
|
26
|
+
variant :active, -> { Privy::StripeCryptoCustomerActive }
|
|
27
|
+
|
|
28
|
+
# Expired onramp session. Token refresh failed, re-authentication required.
|
|
29
|
+
variant :expired, -> { Privy::StripeCryptoCustomerExpired }
|
|
30
|
+
|
|
31
|
+
# No onramp session. User must authenticate via Link.
|
|
32
|
+
variant :none, -> { Privy::StripeCryptoCustomerNone }
|
|
33
|
+
|
|
34
|
+
# @!method self.variants
|
|
35
|
+
# @return [Array(Privy::Models::StripeCryptoCustomerActive, Privy::Models::StripeCryptoCustomerExpired, Privy::Models::StripeCryptoCustomerNone)]
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|