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,53 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class StripeCryptoCustomerNone < Privy::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Privy::StripeCryptoCustomerNone, Privy::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(Privy::StripeCryptoCustomerNone::Status::OrSymbol) }
|
|
12
|
+
attr_accessor :status
|
|
13
|
+
|
|
14
|
+
# No onramp session. User must authenticate via Link.
|
|
15
|
+
sig do
|
|
16
|
+
params(
|
|
17
|
+
status: Privy::StripeCryptoCustomerNone::Status::OrSymbol
|
|
18
|
+
).returns(T.attached_class)
|
|
19
|
+
end
|
|
20
|
+
def self.new(status:)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
sig do
|
|
24
|
+
override.returns(
|
|
25
|
+
{ status: Privy::StripeCryptoCustomerNone::Status::OrSymbol }
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
def to_hash
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
module Status
|
|
32
|
+
extend Privy::Internal::Type::Enum
|
|
33
|
+
|
|
34
|
+
TaggedSymbol =
|
|
35
|
+
T.type_alias do
|
|
36
|
+
T.all(Symbol, Privy::StripeCryptoCustomerNone::Status)
|
|
37
|
+
end
|
|
38
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
39
|
+
|
|
40
|
+
NONE =
|
|
41
|
+
T.let(:none, Privy::StripeCryptoCustomerNone::Status::TaggedSymbol)
|
|
42
|
+
|
|
43
|
+
sig do
|
|
44
|
+
override.returns(
|
|
45
|
+
T::Array[Privy::StripeCryptoCustomerNone::Status::TaggedSymbol]
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
def self.values
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class StripeOnrampCheckoutResponse < Privy::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Privy::StripeOnrampCheckoutResponse, Privy::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(String) }
|
|
12
|
+
attr_accessor :client_secret
|
|
13
|
+
|
|
14
|
+
# Transaction details from checkout.
|
|
15
|
+
sig { returns(T.nilable(Privy::StripeTransactionDetails)) }
|
|
16
|
+
attr_reader :transaction_details
|
|
17
|
+
|
|
18
|
+
sig do
|
|
19
|
+
params(
|
|
20
|
+
transaction_details: Privy::StripeTransactionDetails::OrHash
|
|
21
|
+
).void
|
|
22
|
+
end
|
|
23
|
+
attr_writer :transaction_details
|
|
24
|
+
|
|
25
|
+
# Checkout confirmation with client secret.
|
|
26
|
+
sig do
|
|
27
|
+
params(
|
|
28
|
+
client_secret: String,
|
|
29
|
+
transaction_details: Privy::StripeTransactionDetails::OrHash
|
|
30
|
+
).returns(T.attached_class)
|
|
31
|
+
end
|
|
32
|
+
def self.new(
|
|
33
|
+
client_secret:,
|
|
34
|
+
# Transaction details from checkout.
|
|
35
|
+
transaction_details: nil
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
sig do
|
|
40
|
+
override.returns(
|
|
41
|
+
{
|
|
42
|
+
client_secret: String,
|
|
43
|
+
transaction_details: Privy::StripeTransactionDetails
|
|
44
|
+
}
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
def to_hash
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
# The state of the user's Stripe onramp session.
|
|
6
|
+
module StripeOnrampSessionStatus
|
|
7
|
+
extend Privy::Internal::Type::Enum
|
|
8
|
+
|
|
9
|
+
TaggedSymbol =
|
|
10
|
+
T.type_alias { T.all(Symbol, Privy::StripeOnrampSessionStatus) }
|
|
11
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
12
|
+
|
|
13
|
+
ACTIVE = T.let(:active, Privy::StripeOnrampSessionStatus::TaggedSymbol)
|
|
14
|
+
EXPIRED = T.let(:expired, Privy::StripeOnrampSessionStatus::TaggedSymbol)
|
|
15
|
+
NONE = T.let(:none, Privy::StripeOnrampSessionStatus::TaggedSymbol)
|
|
16
|
+
|
|
17
|
+
sig do
|
|
18
|
+
override.returns(
|
|
19
|
+
T::Array[Privy::StripeOnrampSessionStatus::TaggedSymbol]
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
def self.values
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class StripePaymentToken < Privy::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Privy::StripePaymentToken, Privy::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(String) }
|
|
12
|
+
attr_accessor :id
|
|
13
|
+
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :type
|
|
16
|
+
|
|
17
|
+
# A saved payment token.
|
|
18
|
+
sig { params(id: String, type: String).returns(T.attached_class) }
|
|
19
|
+
def self.new(id:, type:)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
sig { override.returns({ id: String, type: String }) }
|
|
23
|
+
def to_hash
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class StripeQuote < Privy::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias { T.any(Privy::StripeQuote, Privy::Internal::AnyHash) }
|
|
8
|
+
|
|
9
|
+
sig { returns(Float) }
|
|
10
|
+
attr_accessor :expires_at
|
|
11
|
+
|
|
12
|
+
# A refreshed quote.
|
|
13
|
+
sig { params(expires_at: Float).returns(T.attached_class) }
|
|
14
|
+
def self.new(expires_at:)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
sig { override.returns({ expires_at: Float }) }
|
|
18
|
+
def to_hash
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class StripeTransactionDetails < Privy::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Privy::StripeTransactionDetails, Privy::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(T.nilable(String)) }
|
|
12
|
+
attr_accessor :last_error
|
|
13
|
+
|
|
14
|
+
# Transaction details from checkout.
|
|
15
|
+
sig { params(last_error: T.nilable(String)).returns(T.attached_class) }
|
|
16
|
+
def self.new(last_error: nil)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
sig { override.returns({ last_error: T.nilable(String) }) }
|
|
20
|
+
def to_hash
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
class StripeVerification < Privy::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Privy::StripeVerification, Privy::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(String) }
|
|
12
|
+
attr_accessor :name
|
|
13
|
+
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :status
|
|
16
|
+
|
|
17
|
+
# A verification entry on a CryptoCustomer.
|
|
18
|
+
sig { params(name: String, status: String).returns(T.attached_class) }
|
|
19
|
+
def self.new(name:, status:)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
sig { override.returns({ name: String, status: String }) }
|
|
23
|
+
def to_hash
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -37,16 +37,23 @@ module Privy
|
|
|
37
37
|
attr_accessor :output_token
|
|
38
38
|
|
|
39
39
|
# Status of a wallet action.
|
|
40
|
-
sig { returns(Privy::WalletActionStatus::
|
|
40
|
+
sig { returns(Privy::WalletActionStatus::TaggedSymbol) }
|
|
41
41
|
attr_accessor :status
|
|
42
42
|
|
|
43
|
-
sig { returns(Privy::SwapActionResponse::Type::
|
|
43
|
+
sig { returns(Privy::SwapActionResponse::Type::TaggedSymbol) }
|
|
44
44
|
attr_accessor :type
|
|
45
45
|
|
|
46
46
|
# The ID of the wallet involved in the action.
|
|
47
47
|
sig { returns(String) }
|
|
48
48
|
attr_accessor :wallet_id
|
|
49
49
|
|
|
50
|
+
# Destination chain CAIP-2 identifier. Present for cross-chain swaps.
|
|
51
|
+
sig { returns(T.nilable(String)) }
|
|
52
|
+
attr_reader :destination_caip2
|
|
53
|
+
|
|
54
|
+
sig { params(destination_caip2: String).void }
|
|
55
|
+
attr_writer :destination_caip2
|
|
56
|
+
|
|
50
57
|
# A description of why a wallet action (or a step within a wallet action) failed.
|
|
51
58
|
sig { returns(T.nilable(Privy::FailureReason)) }
|
|
52
59
|
attr_reader :failure_reason
|
|
@@ -55,20 +62,7 @@ module Privy
|
|
|
55
62
|
attr_writer :failure_reason
|
|
56
63
|
|
|
57
64
|
# The steps of the wallet action. Only returned if `?include=steps` is provided.
|
|
58
|
-
sig
|
|
59
|
-
returns(
|
|
60
|
-
T.nilable(
|
|
61
|
-
T::Array[
|
|
62
|
-
T.any(
|
|
63
|
-
Privy::EvmTransactionWalletActionStep,
|
|
64
|
-
Privy::EvmUserOperationWalletActionStep,
|
|
65
|
-
Privy::SvmTransactionWalletActionStep,
|
|
66
|
-
Privy::ExternalTransactionWalletActionStep
|
|
67
|
-
)
|
|
68
|
-
]
|
|
69
|
-
)
|
|
70
|
-
)
|
|
71
|
-
end
|
|
65
|
+
sig { returns(T.nilable(T::Array[Privy::WalletActionStep::Variants])) }
|
|
72
66
|
attr_reader :steps
|
|
73
67
|
|
|
74
68
|
sig do
|
|
@@ -99,6 +93,7 @@ module Privy
|
|
|
99
93
|
status: Privy::WalletActionStatus::OrSymbol,
|
|
100
94
|
type: Privy::SwapActionResponse::Type::OrSymbol,
|
|
101
95
|
wallet_id: String,
|
|
96
|
+
destination_caip2: String,
|
|
102
97
|
failure_reason: Privy::FailureReason::OrHash,
|
|
103
98
|
steps:
|
|
104
99
|
T::Array[
|
|
@@ -131,6 +126,8 @@ module Privy
|
|
|
131
126
|
type:,
|
|
132
127
|
# The ID of the wallet involved in the action.
|
|
133
128
|
wallet_id:,
|
|
129
|
+
# Destination chain CAIP-2 identifier. Present for cross-chain swaps.
|
|
130
|
+
destination_caip2: nil,
|
|
134
131
|
# A description of why a wallet action (or a step within a wallet action) failed.
|
|
135
132
|
failure_reason: nil,
|
|
136
133
|
# The steps of the wallet action. Only returned if `?include=steps` is provided.
|
|
@@ -148,19 +145,12 @@ module Privy
|
|
|
148
145
|
input_token: String,
|
|
149
146
|
output_amount: T.nilable(String),
|
|
150
147
|
output_token: String,
|
|
151
|
-
status: Privy::WalletActionStatus::
|
|
152
|
-
type: Privy::SwapActionResponse::Type::
|
|
148
|
+
status: Privy::WalletActionStatus::TaggedSymbol,
|
|
149
|
+
type: Privy::SwapActionResponse::Type::TaggedSymbol,
|
|
153
150
|
wallet_id: String,
|
|
151
|
+
destination_caip2: String,
|
|
154
152
|
failure_reason: Privy::FailureReason,
|
|
155
|
-
steps:
|
|
156
|
-
T::Array[
|
|
157
|
-
T.any(
|
|
158
|
-
Privy::EvmTransactionWalletActionStep,
|
|
159
|
-
Privy::EvmUserOperationWalletActionStep,
|
|
160
|
-
Privy::SvmTransactionWalletActionStep,
|
|
161
|
-
Privy::ExternalTransactionWalletActionStep
|
|
162
|
-
)
|
|
163
|
-
]
|
|
153
|
+
steps: T::Array[Privy::WalletActionStep::Variants]
|
|
164
154
|
}
|
|
165
155
|
)
|
|
166
156
|
end
|
|
@@ -10,28 +10,47 @@ module Privy
|
|
|
10
10
|
sig { returns(String) }
|
|
11
11
|
attr_accessor :asset_address
|
|
12
12
|
|
|
13
|
-
# CAIP-2 chain identifier for the destination.
|
|
14
|
-
#
|
|
13
|
+
# CAIP-2 chain identifier for the destination. Defaults to source chain if
|
|
14
|
+
# omitted. Specify a different chain for cross-chain swaps.
|
|
15
15
|
sig { returns(T.nilable(String)) }
|
|
16
16
|
attr_reader :caip2
|
|
17
17
|
|
|
18
18
|
sig { params(caip2: String).void }
|
|
19
19
|
attr_writer :caip2
|
|
20
20
|
|
|
21
|
+
# Address to receive the output tokens. Defaults to the swapping wallet address.
|
|
22
|
+
# Required when swapping between different chain types (e.g. EVM to Solana).
|
|
23
|
+
sig { returns(T.nilable(String)) }
|
|
24
|
+
attr_reader :destination_address
|
|
25
|
+
|
|
26
|
+
sig { params(destination_address: String).void }
|
|
27
|
+
attr_writer :destination_address
|
|
28
|
+
|
|
21
29
|
# The output side of a swap execution request.
|
|
22
30
|
sig do
|
|
23
|
-
params(
|
|
31
|
+
params(
|
|
32
|
+
asset_address: String,
|
|
33
|
+
caip2: String,
|
|
34
|
+
destination_address: String
|
|
35
|
+
).returns(T.attached_class)
|
|
24
36
|
end
|
|
25
37
|
def self.new(
|
|
26
38
|
# Token contract address to buy, or "native" for the chain's native token.
|
|
27
39
|
asset_address:,
|
|
28
|
-
# CAIP-2 chain identifier for the destination.
|
|
29
|
-
#
|
|
30
|
-
caip2: nil
|
|
40
|
+
# CAIP-2 chain identifier for the destination. Defaults to source chain if
|
|
41
|
+
# omitted. Specify a different chain for cross-chain swaps.
|
|
42
|
+
caip2: nil,
|
|
43
|
+
# Address to receive the output tokens. Defaults to the swapping wallet address.
|
|
44
|
+
# Required when swapping between different chain types (e.g. EVM to Solana).
|
|
45
|
+
destination_address: nil
|
|
31
46
|
)
|
|
32
47
|
end
|
|
33
48
|
|
|
34
|
-
sig
|
|
49
|
+
sig do
|
|
50
|
+
override.returns(
|
|
51
|
+
{ asset_address: String, caip2: String, destination_address: String }
|
|
52
|
+
)
|
|
53
|
+
end
|
|
35
54
|
def to_hash
|
|
36
55
|
end
|
|
37
56
|
end
|
|
@@ -12,28 +12,51 @@ module Privy
|
|
|
12
12
|
sig { returns(String) }
|
|
13
13
|
attr_accessor :asset_address
|
|
14
14
|
|
|
15
|
-
# CAIP-2 chain identifier for the destination.
|
|
16
|
-
#
|
|
15
|
+
# CAIP-2 chain identifier for the destination. Defaults to source chain if
|
|
16
|
+
# omitted. Will result in a cross-chain swap if source and destination chains
|
|
17
|
+
# differ.
|
|
17
18
|
sig { returns(T.nilable(String)) }
|
|
18
19
|
attr_reader :caip2
|
|
19
20
|
|
|
20
21
|
sig { params(caip2: String).void }
|
|
21
22
|
attr_writer :caip2
|
|
22
23
|
|
|
24
|
+
# Address to receive the output tokens. Defaults to the swapping wallet address.
|
|
25
|
+
# Required when swapping between chains with different address types (e.g. EVM to
|
|
26
|
+
# Solana).
|
|
27
|
+
sig { returns(T.nilable(String)) }
|
|
28
|
+
attr_reader :destination_address
|
|
29
|
+
|
|
30
|
+
sig { params(destination_address: String).void }
|
|
31
|
+
attr_writer :destination_address
|
|
32
|
+
|
|
23
33
|
# The output side of a swap quote request.
|
|
24
34
|
sig do
|
|
25
|
-
params(
|
|
35
|
+
params(
|
|
36
|
+
asset_address: String,
|
|
37
|
+
caip2: String,
|
|
38
|
+
destination_address: String
|
|
39
|
+
).returns(T.attached_class)
|
|
26
40
|
end
|
|
27
41
|
def self.new(
|
|
28
42
|
# Token contract address to buy, or "native" for the chain's native token.
|
|
29
43
|
asset_address:,
|
|
30
|
-
# CAIP-2 chain identifier for the destination.
|
|
31
|
-
#
|
|
32
|
-
|
|
44
|
+
# CAIP-2 chain identifier for the destination. Defaults to source chain if
|
|
45
|
+
# omitted. Will result in a cross-chain swap if source and destination chains
|
|
46
|
+
# differ.
|
|
47
|
+
caip2: nil,
|
|
48
|
+
# Address to receive the output tokens. Defaults to the swapping wallet address.
|
|
49
|
+
# Required when swapping between chains with different address types (e.g. EVM to
|
|
50
|
+
# Solana).
|
|
51
|
+
destination_address: nil
|
|
33
52
|
)
|
|
34
53
|
end
|
|
35
54
|
|
|
36
|
-
sig
|
|
55
|
+
sig do
|
|
56
|
+
override.returns(
|
|
57
|
+
{ asset_address: String, caip2: String, destination_address: String }
|
|
58
|
+
)
|
|
59
|
+
end
|
|
37
60
|
def to_hash
|
|
38
61
|
end
|
|
39
62
|
end
|
|
@@ -33,6 +33,13 @@ module Privy
|
|
|
33
33
|
sig { params(amount_type: Privy::AmountType::OrSymbol).void }
|
|
34
34
|
attr_writer :amount_type
|
|
35
35
|
|
|
36
|
+
# Total fees assessed on a transfer, in BPS
|
|
37
|
+
sig { returns(T.nilable(Privy::FeeConfiguration)) }
|
|
38
|
+
attr_reader :fee_configuration
|
|
39
|
+
|
|
40
|
+
sig { params(fee_configuration: Privy::FeeConfiguration::OrHash).void }
|
|
41
|
+
attr_writer :fee_configuration
|
|
42
|
+
|
|
36
43
|
# Maximum slippage tolerance in basis points (e.g., 50 for 0.5%). If omitted,
|
|
37
44
|
# auto-slippage is used.
|
|
38
45
|
sig { returns(T.nilable(Float)) }
|
|
@@ -48,6 +55,7 @@ module Privy
|
|
|
48
55
|
destination: Privy::SwapQuoteDestination::OrHash,
|
|
49
56
|
source: Privy::SwapSource::OrHash,
|
|
50
57
|
amount_type: Privy::AmountType::OrSymbol,
|
|
58
|
+
fee_configuration: Privy::FeeConfiguration::OrHash,
|
|
51
59
|
slippage_bps: Float
|
|
52
60
|
).returns(T.attached_class)
|
|
53
61
|
end
|
|
@@ -60,6 +68,8 @@ module Privy
|
|
|
60
68
|
source:,
|
|
61
69
|
# Whether the amount refers to the input token or output token.
|
|
62
70
|
amount_type: nil,
|
|
71
|
+
# Total fees assessed on a transfer, in BPS
|
|
72
|
+
fee_configuration: nil,
|
|
63
73
|
# Maximum slippage tolerance in basis points (e.g., 50 for 0.5%). If omitted,
|
|
64
74
|
# auto-slippage is used.
|
|
65
75
|
slippage_bps: nil
|
|
@@ -73,6 +83,7 @@ module Privy
|
|
|
73
83
|
destination: Privy::SwapQuoteDestination,
|
|
74
84
|
source: Privy::SwapSource,
|
|
75
85
|
amount_type: Privy::AmountType::OrSymbol,
|
|
86
|
+
fee_configuration: Privy::FeeConfiguration,
|
|
76
87
|
slippage_bps: Float
|
|
77
88
|
}
|
|
78
89
|
)
|
|
@@ -36,6 +36,38 @@ module Privy
|
|
|
36
36
|
sig { returns(String) }
|
|
37
37
|
attr_accessor :output_token
|
|
38
38
|
|
|
39
|
+
# Destination chain CAIP-2 identifier for cross-chain swaps.
|
|
40
|
+
sig { returns(T.nilable(String)) }
|
|
41
|
+
attr_reader :destination_caip2
|
|
42
|
+
|
|
43
|
+
sig { params(destination_caip2: String).void }
|
|
44
|
+
attr_writer :destination_caip2
|
|
45
|
+
|
|
46
|
+
# Estimated fees in USD.
|
|
47
|
+
sig { returns(T.nilable(T::Array[Privy::FeeLineItem::Variants])) }
|
|
48
|
+
attr_reader :estimated_fees
|
|
49
|
+
|
|
50
|
+
sig do
|
|
51
|
+
params(
|
|
52
|
+
estimated_fees:
|
|
53
|
+
T::Array[
|
|
54
|
+
T.any(
|
|
55
|
+
Privy::RelayerFee::OrHash,
|
|
56
|
+
Privy::PrivyFee::OrHash,
|
|
57
|
+
Privy::DeveloperFee::OrHash
|
|
58
|
+
)
|
|
59
|
+
]
|
|
60
|
+
).void
|
|
61
|
+
end
|
|
62
|
+
attr_writer :estimated_fees
|
|
63
|
+
|
|
64
|
+
# Quote expiry as Unix timestamp (seconds). Present for cross-chain quotes.
|
|
65
|
+
sig { returns(T.nilable(Float)) }
|
|
66
|
+
attr_reader :expires_at
|
|
67
|
+
|
|
68
|
+
sig { params(expires_at: Float).void }
|
|
69
|
+
attr_writer :expires_at
|
|
70
|
+
|
|
39
71
|
# Pricing data for a token swap.
|
|
40
72
|
sig do
|
|
41
73
|
params(
|
|
@@ -45,7 +77,17 @@ module Privy
|
|
|
45
77
|
input_amount: String,
|
|
46
78
|
input_token: String,
|
|
47
79
|
minimum_output_amount: String,
|
|
48
|
-
output_token: String
|
|
80
|
+
output_token: String,
|
|
81
|
+
destination_caip2: String,
|
|
82
|
+
estimated_fees:
|
|
83
|
+
T::Array[
|
|
84
|
+
T.any(
|
|
85
|
+
Privy::RelayerFee::OrHash,
|
|
86
|
+
Privy::PrivyFee::OrHash,
|
|
87
|
+
Privy::DeveloperFee::OrHash
|
|
88
|
+
)
|
|
89
|
+
],
|
|
90
|
+
expires_at: Float
|
|
49
91
|
).returns(T.attached_class)
|
|
50
92
|
end
|
|
51
93
|
def self.new(
|
|
@@ -62,7 +104,13 @@ module Privy
|
|
|
62
104
|
# Minimum output amount accounting for slippage, in base units.
|
|
63
105
|
minimum_output_amount:,
|
|
64
106
|
# Token address being bought.
|
|
65
|
-
output_token
|
|
107
|
+
output_token:,
|
|
108
|
+
# Destination chain CAIP-2 identifier for cross-chain swaps.
|
|
109
|
+
destination_caip2: nil,
|
|
110
|
+
# Estimated fees in USD.
|
|
111
|
+
estimated_fees: nil,
|
|
112
|
+
# Quote expiry as Unix timestamp (seconds). Present for cross-chain quotes.
|
|
113
|
+
expires_at: nil
|
|
66
114
|
)
|
|
67
115
|
end
|
|
68
116
|
|
|
@@ -75,7 +123,10 @@ module Privy
|
|
|
75
123
|
input_amount: String,
|
|
76
124
|
input_token: String,
|
|
77
125
|
minimum_output_amount: String,
|
|
78
|
-
output_token: String
|
|
126
|
+
output_token: String,
|
|
127
|
+
destination_caip2: String,
|
|
128
|
+
estimated_fees: T::Array[Privy::FeeLineItem::Variants],
|
|
129
|
+
expires_at: Float
|
|
79
130
|
}
|
|
80
131
|
)
|
|
81
132
|
end
|
|
@@ -31,6 +31,13 @@ module Privy
|
|
|
31
31
|
sig { params(amount_type: Privy::AmountType::OrSymbol).void }
|
|
32
32
|
attr_writer :amount_type
|
|
33
33
|
|
|
34
|
+
# Total fees assessed on a transfer, in BPS
|
|
35
|
+
sig { returns(T.nilable(Privy::FeeConfiguration)) }
|
|
36
|
+
attr_reader :fee_configuration
|
|
37
|
+
|
|
38
|
+
sig { params(fee_configuration: Privy::FeeConfiguration::OrHash).void }
|
|
39
|
+
attr_writer :fee_configuration
|
|
40
|
+
|
|
34
41
|
# Maximum slippage tolerance in basis points (e.g., 50 for 0.5%).
|
|
35
42
|
sig { returns(T.nilable(Float)) }
|
|
36
43
|
attr_reader :slippage_bps
|
|
@@ -45,6 +52,7 @@ module Privy
|
|
|
45
52
|
destination: Privy::SwapDestination::OrHash,
|
|
46
53
|
source: Privy::SwapSource::OrHash,
|
|
47
54
|
amount_type: Privy::AmountType::OrSymbol,
|
|
55
|
+
fee_configuration: Privy::FeeConfiguration::OrHash,
|
|
48
56
|
slippage_bps: Float
|
|
49
57
|
).returns(T.attached_class)
|
|
50
58
|
end
|
|
@@ -57,6 +65,8 @@ module Privy
|
|
|
57
65
|
source:,
|
|
58
66
|
# Whether the amount refers to the input token or output token.
|
|
59
67
|
amount_type: nil,
|
|
68
|
+
# Total fees assessed on a transfer, in BPS
|
|
69
|
+
fee_configuration: nil,
|
|
60
70
|
# Maximum slippage tolerance in basis points (e.g., 50 for 0.5%).
|
|
61
71
|
slippage_bps: nil
|
|
62
72
|
)
|
|
@@ -69,6 +79,7 @@ module Privy
|
|
|
69
79
|
destination: Privy::SwapDestination,
|
|
70
80
|
source: Privy::SwapSource,
|
|
71
81
|
amount_type: Privy::AmountType::OrSymbol,
|
|
82
|
+
fee_configuration: Privy::FeeConfiguration,
|
|
72
83
|
slippage_bps: Float
|
|
73
84
|
}
|
|
74
85
|
)
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Privy
|
|
4
|
+
module Models
|
|
5
|
+
module Wallets
|
|
6
|
+
class SwapExecuteParams < Privy::Models::SwapRequestBody
|
|
7
|
+
extend Privy::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Privy::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(Privy::Wallets::SwapExecuteParams, Privy::Internal::AnyHash)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# ID of the wallet.
|
|
16
|
+
sig { returns(String) }
|
|
17
|
+
attr_accessor :wallet_id
|
|
18
|
+
|
|
19
|
+
# Request authorization signature. If multiple signatures are required, they
|
|
20
|
+
# should be comma separated.
|
|
21
|
+
sig { returns(T.nilable(String)) }
|
|
22
|
+
attr_reader :privy_authorization_signature
|
|
23
|
+
|
|
24
|
+
sig { params(privy_authorization_signature: String).void }
|
|
25
|
+
attr_writer :privy_authorization_signature
|
|
26
|
+
|
|
27
|
+
# Idempotency keys ensure API requests are executed only once within a 24-hour
|
|
28
|
+
# window.
|
|
29
|
+
sig { returns(T.nilable(String)) }
|
|
30
|
+
attr_reader :privy_idempotency_key
|
|
31
|
+
|
|
32
|
+
sig { params(privy_idempotency_key: String).void }
|
|
33
|
+
attr_writer :privy_idempotency_key
|
|
34
|
+
|
|
35
|
+
sig do
|
|
36
|
+
params(
|
|
37
|
+
wallet_id: String,
|
|
38
|
+
privy_authorization_signature: String,
|
|
39
|
+
privy_idempotency_key: String,
|
|
40
|
+
request_options: Privy::RequestOptions::OrHash
|
|
41
|
+
).returns(T.attached_class)
|
|
42
|
+
end
|
|
43
|
+
def self.new(
|
|
44
|
+
# ID of the wallet.
|
|
45
|
+
wallet_id:,
|
|
46
|
+
# Request authorization signature. If multiple signatures are required, they
|
|
47
|
+
# should be comma separated.
|
|
48
|
+
privy_authorization_signature: nil,
|
|
49
|
+
# Idempotency keys ensure API requests are executed only once within a 24-hour
|
|
50
|
+
# window.
|
|
51
|
+
privy_idempotency_key: nil,
|
|
52
|
+
request_options: {}
|
|
53
|
+
)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
sig do
|
|
57
|
+
override.returns(
|
|
58
|
+
{
|
|
59
|
+
wallet_id: String,
|
|
60
|
+
privy_authorization_signature: String,
|
|
61
|
+
privy_idempotency_key: String,
|
|
62
|
+
request_options: Privy::RequestOptions
|
|
63
|
+
}
|
|
64
|
+
)
|
|
65
|
+
end
|
|
66
|
+
def to_hash
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|