privy_ruby 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -1
  4. data/lib/privy/client.rb +5 -4
  5. data/lib/privy/models/analytics_event_input.rb +2 -2
  6. data/lib/privy/models/bitcoin_address.rb +7 -0
  7. data/lib/privy/models/bridge_destination_asset.rb +1 -0
  8. data/lib/privy/models/bridge_fiat_virtual_account_destination.rb +6 -1
  9. data/lib/privy/models/bridge_fiat_virtual_account_request.rb +6 -2
  10. data/lib/privy/models/bridge_fiat_virtual_account_response.rb +2 -1
  11. data/lib/privy/models/bridge_fiat_virtual_account_source.rb +4 -1
  12. data/lib/privy/models/bridge_sandbox_fiat_virtual_account_request.rb +6 -2
  13. data/lib/privy/models/bridge_sandbox_fiat_virtual_account_response.rb +2 -1
  14. data/lib/privy/models/bridge_source_asset.rb +1 -0
  15. data/lib/privy/models/create_stripe_onramp_session_response.rb +16 -1
  16. data/lib/privy/models/device_verify_action.rb +16 -0
  17. data/lib/privy/models/device_verify_request_body.rb +27 -0
  18. data/lib/privy/models/device_verify_response.rb +18 -0
  19. data/lib/privy/models/evm_address.rb +7 -0
  20. data/lib/privy/models/evm_checksum_address.rb +7 -0
  21. data/lib/privy/models/gas.rb +35 -0
  22. data/lib/privy/models/hyperliquid_token_address.rb +7 -0
  23. data/lib/privy/models/linked_account_embedded_wallet.rb +1 -0
  24. data/lib/privy/models/oauth_grant.rb +54 -0
  25. data/lib/privy/models/oauth_grant_list_response.rb +18 -0
  26. data/lib/privy/models/oauth_grant_revoke_response.rb +30 -0
  27. data/lib/privy/models/oauth_token_authorization_code_request_body.rb +59 -0
  28. data/lib/privy/models/oauth_token_device_code_pending_error.rb +50 -0
  29. data/lib/privy/models/oauth_token_device_code_request_body.rb +36 -0
  30. data/lib/privy/models/oauth_token_grant_type.rb +17 -0
  31. data/lib/privy/models/oauth_token_refresh_token_request_body.rb +36 -0
  32. data/lib/privy/models/oauth_token_request_body.rb +24 -0
  33. data/lib/privy/models/oauth_token_success_response.rb +58 -0
  34. data/lib/privy/models/onramp_session_fees.rb +23 -0
  35. data/lib/privy/models/onramp_session_transaction_details.rb +59 -0
  36. data/lib/privy/models/solana_address.rb +7 -0
  37. data/lib/privy/models/swap_action_response.rb +38 -1
  38. data/lib/privy/models/swap_quote_request_body.rb +3 -3
  39. data/lib/privy/models/swap_quote_response.rb +18 -5
  40. data/lib/privy/models/swap_request_body.rb +3 -3
  41. data/lib/privy/models/token_transfer_destination.rb +2 -2
  42. data/lib/privy/models/transfer_action_response.rb +29 -3
  43. data/lib/privy/models/transfer_quote_request_body.rb +3 -2
  44. data/lib/privy/models/transfer_quote_response.rb +10 -1
  45. data/lib/privy/models/transfer_received_transaction_detail.rb +5 -0
  46. data/lib/privy/models/transfer_request_body.rb +3 -2
  47. data/lib/privy/models/transfer_sent_transaction_detail.rb +5 -0
  48. data/lib/privy/models/tron_address.rb +7 -0
  49. data/lib/privy/models/wallet_asset.rb +1 -0
  50. data/lib/privy/models/wallet_batch_create_response.rb +1 -0
  51. data/lib/privy/models/wallet_create_batch_params.rb +14 -0
  52. data/lib/privy/models/wallet_ethereum_asset.rb +1 -0
  53. data/lib/privy/models/wallets/balance_get_params.rb +11 -0
  54. data/lib/privy/models/wallets/balance_get_response.rb +5 -0
  55. data/lib/privy/models/wallets/transaction_get_params.rb +3 -0
  56. data/lib/privy/models.rb +46 -0
  57. data/lib/privy/resources/intents.rb +2 -1
  58. data/lib/privy/resources/wallets/swap.rb +2 -2
  59. data/lib/privy/resources/wallets.rb +25 -1
  60. data/lib/privy/version.rb +1 -1
  61. data/lib/privy.rb +24 -1
  62. data/rbi/privy/client.rbi +4 -3
  63. data/rbi/privy/models/analytics_event_input.rbi +3 -6
  64. data/rbi/privy/models/bitcoin_address.rbi +7 -0
  65. data/rbi/privy/models/bridge_destination_asset.rbi +1 -0
  66. data/rbi/privy/models/bridge_fiat_virtual_account_destination.rbi +8 -1
  67. data/rbi/privy/models/bridge_fiat_virtual_account_request.rbi +9 -1
  68. data/rbi/privy/models/bridge_fiat_virtual_account_response.rbi +2 -0
  69. data/rbi/privy/models/bridge_fiat_virtual_account_source.rbi +6 -1
  70. data/rbi/privy/models/bridge_sandbox_fiat_virtual_account_request.rbi +9 -1
  71. data/rbi/privy/models/bridge_sandbox_fiat_virtual_account_response.rbi +2 -0
  72. data/rbi/privy/models/bridge_source_asset.rbi +1 -0
  73. data/rbi/privy/models/create_stripe_onramp_session_response.rbi +61 -3
  74. data/rbi/privy/models/device_verify_action.rbi +22 -0
  75. data/rbi/privy/models/device_verify_request_body.rbi +44 -0
  76. data/rbi/privy/models/device_verify_response.rbi +28 -0
  77. data/rbi/privy/models/evm_address.rbi +7 -0
  78. data/rbi/privy/models/evm_checksum_address.rbi +7 -0
  79. data/rbi/privy/models/gas.rbi +46 -0
  80. data/rbi/privy/models/hyperliquid_token_address.rbi +7 -0
  81. data/rbi/privy/models/linked_account_embedded_wallet.rbi +1 -0
  82. data/rbi/privy/models/oauth_grant.rbi +78 -0
  83. data/rbi/privy/models/oauth_grant_list_response.rbi +32 -0
  84. data/rbi/privy/models/oauth_grant_revoke_response.rbi +58 -0
  85. data/rbi/privy/models/oauth_token_authorization_code_request_body.rbi +115 -0
  86. data/rbi/privy/models/oauth_token_device_code_pending_error.rbi +106 -0
  87. data/rbi/privy/models/oauth_token_device_code_request_body.rbi +78 -0
  88. data/rbi/privy/models/oauth_token_grant_type.rbi +29 -0
  89. data/rbi/privy/models/oauth_token_refresh_token_request_body.rbi +78 -0
  90. data/rbi/privy/models/oauth_token_request_body.rbi +23 -0
  91. data/rbi/privy/models/oauth_token_success_response.rbi +95 -0
  92. data/rbi/privy/models/onramp_session_fees.rbi +39 -0
  93. data/rbi/privy/models/onramp_session_transaction_details.rbi +95 -0
  94. data/rbi/privy/models/solana_address.rbi +7 -0
  95. data/rbi/privy/models/swap_action_response.rbi +84 -0
  96. data/rbi/privy/models/swap_quote_request_body.rbi +4 -4
  97. data/rbi/privy/models/swap_quote_response.rbi +19 -4
  98. data/rbi/privy/models/swap_request_body.rbi +4 -4
  99. data/rbi/privy/models/token_transfer_destination.rbi +2 -2
  100. data/rbi/privy/models/transfer_action_response.rbi +57 -2
  101. data/rbi/privy/models/transfer_quote_request_body.rbi +4 -2
  102. data/rbi/privy/models/transfer_quote_response.rbi +16 -3
  103. data/rbi/privy/models/transfer_received_transaction_detail.rbi +15 -0
  104. data/rbi/privy/models/transfer_request_body.rbi +4 -2
  105. data/rbi/privy/models/transfer_sent_transaction_detail.rbi +15 -0
  106. data/rbi/privy/models/tron_address.rbi +7 -0
  107. data/rbi/privy/models/wallet_asset.rbi +1 -0
  108. data/rbi/privy/models/wallet_batch_create_response.rbi +2 -19
  109. data/rbi/privy/models/wallet_batch_create_result.rbi +4 -4
  110. data/rbi/privy/models/wallet_create_batch_params.rbi +27 -0
  111. data/rbi/privy/models/wallet_ethereum_asset.rbi +1 -0
  112. data/rbi/privy/models/wallets/balance_get_params.rbi +22 -0
  113. data/rbi/privy/models/wallets/balance_get_response.rbi +15 -0
  114. data/rbi/privy/models/wallets/transaction_get_params.rbi +5 -0
  115. data/rbi/privy/models.rbi +51 -0
  116. data/rbi/privy/resources/intents.rbi +4 -1
  117. data/rbi/privy/resources/wallets/swap.rbi +2 -2
  118. data/rbi/privy/resources/wallets.rbi +19 -1
  119. data/sig/privy/client.rbs +2 -2
  120. data/sig/privy/models/analytics_event_input.rbs +4 -6
  121. data/sig/privy/models/bitcoin_address.rbs +5 -0
  122. data/sig/privy/models/create_stripe_onramp_session_response.rbs +29 -3
  123. data/sig/privy/models/device_verify_action.rbs +14 -0
  124. data/sig/privy/models/device_verify_request_body.rbs +22 -0
  125. data/sig/privy/models/device_verify_response.rbs +13 -0
  126. data/sig/privy/models/evm_address.rbs +5 -0
  127. data/sig/privy/models/evm_checksum_address.rbs +5 -0
  128. data/sig/privy/models/gas.rbs +21 -0
  129. data/sig/privy/models/hyperliquid_token_address.rbs +5 -0
  130. data/sig/privy/models/oauth_grant.rbs +45 -0
  131. data/sig/privy/models/oauth_grant_list_response.rbs +13 -0
  132. data/sig/privy/models/oauth_grant_revoke_response.rbs +28 -0
  133. data/sig/privy/models/oauth_token_authorization_code_request_body.rbs +56 -0
  134. data/sig/privy/models/oauth_token_device_code_pending_error.rbs +48 -0
  135. data/sig/privy/models/oauth_token_device_code_request_body.rbs +35 -0
  136. data/sig/privy/models/oauth_token_grant_type.rbs +18 -0
  137. data/sig/privy/models/oauth_token_refresh_token_request_body.rbs +35 -0
  138. data/sig/privy/models/oauth_token_request_body.rbs +14 -0
  139. data/sig/privy/models/oauth_token_success_response.rbs +49 -0
  140. data/sig/privy/models/onramp_session_fees.rbs +22 -0
  141. data/sig/privy/models/onramp_session_transaction_details.rbs +53 -0
  142. data/sig/privy/models/solana_address.rbs +5 -0
  143. data/sig/privy/models/swap_action_response.rbs +32 -0
  144. data/sig/privy/models/swap_quote_request_body.rbs +5 -5
  145. data/sig/privy/models/swap_quote_response.rbs +7 -0
  146. data/sig/privy/models/swap_request_body.rbs +5 -5
  147. data/sig/privy/models/transfer_action_response.rbs +23 -0
  148. data/sig/privy/models/transfer_quote_response.rbs +10 -3
  149. data/sig/privy/models/transfer_received_transaction_detail.rbs +15 -1
  150. data/sig/privy/models/transfer_sent_transaction_detail.rbs +15 -1
  151. data/sig/privy/models/tron_address.rbs +5 -0
  152. data/sig/privy/models/wallet_asset.rbs +2 -1
  153. data/sig/privy/models/wallet_create_batch_params.rbs +15 -0
  154. data/sig/privy/models/wallet_ethereum_asset.rbs +2 -1
  155. data/sig/privy/models/wallets/balance_get_params.rbs +10 -0
  156. data/sig/privy/models/wallets/balance_get_response.rbs +6 -0
  157. data/sig/privy/models/wallets/transaction_get_params.rbs +2 -0
  158. data/sig/privy/models.rbs +46 -0
  159. data/sig/privy/resources/wallets/swap.rbs +2 -2
  160. data/sig/privy/resources/wallets.rbs +5 -0
  161. metadata +71 -2
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Privy
4
+ module Models
5
+ class OAuthTokenDeviceCodeRequestBody < Privy::Internal::Type::BaseModel
6
+ # @!attribute device_code
7
+ # The device code received from the device authorization endpoint.
8
+ #
9
+ # @return [String]
10
+ required :device_code, String
11
+
12
+ # @!attribute grant_type
13
+ #
14
+ # @return [Symbol, Privy::Models::OAuthTokenDeviceCodeRequestBody::GrantType]
15
+ required :grant_type, enum: -> { Privy::OAuthTokenDeviceCodeRequestBody::GrantType }
16
+
17
+ # @!method initialize(device_code:, grant_type:)
18
+ # Request body for the urn:ietf:params:oauth:grant-type:device_code grant type
19
+ # (RFC 8628). Used by CLI clients to poll for authorization.
20
+ #
21
+ # @param device_code [String] The device code received from the device authorization endpoint.
22
+ #
23
+ # @param grant_type [Symbol, Privy::Models::OAuthTokenDeviceCodeRequestBody::GrantType]
24
+
25
+ # @see Privy::Models::OAuthTokenDeviceCodeRequestBody#grant_type
26
+ module GrantType
27
+ extend Privy::Internal::Type::Enum
28
+
29
+ URN_IETF_PARAMS_OAUTH_GRANT_TYPE_DEVICE_CODE = :"urn:ietf:params:oauth:grant-type:device_code"
30
+
31
+ # @!method self.values
32
+ # @return [Array<Symbol>]
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Privy
4
+ module Models
5
+ # The OAuth grant type for the token request.
6
+ module OAuthTokenGrantType
7
+ extend Privy::Internal::Type::Enum
8
+
9
+ AUTHORIZATION_CODE = :authorization_code
10
+ URN_IETF_PARAMS_OAUTH_GRANT_TYPE_DEVICE_CODE = :"urn:ietf:params:oauth:grant-type:device_code"
11
+ REFRESH_TOKEN = :refresh_token
12
+
13
+ # @!method self.values
14
+ # @return [Array<Symbol>]
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Privy
4
+ module Models
5
+ class OAuthTokenRefreshTokenRequestBody < Privy::Internal::Type::BaseModel
6
+ # @!attribute grant_type
7
+ #
8
+ # @return [Symbol, Privy::Models::OAuthTokenRefreshTokenRequestBody::GrantType]
9
+ required :grant_type, enum: -> { Privy::OAuthTokenRefreshTokenRequestBody::GrantType }
10
+
11
+ # @!attribute refresh_token
12
+ # The refresh token to exchange for a new access token.
13
+ #
14
+ # @return [String]
15
+ required :refresh_token, String
16
+
17
+ # @!method initialize(grant_type:, refresh_token:)
18
+ # Request body for the refresh_token grant type. Rotates the refresh token and
19
+ # issues a new access token.
20
+ #
21
+ # @param grant_type [Symbol, Privy::Models::OAuthTokenRefreshTokenRequestBody::GrantType]
22
+ #
23
+ # @param refresh_token [String] The refresh token to exchange for a new access token.
24
+
25
+ # @see Privy::Models::OAuthTokenRefreshTokenRequestBody#grant_type
26
+ module GrantType
27
+ extend Privy::Internal::Type::Enum
28
+
29
+ REFRESH_TOKEN = :refresh_token
30
+
31
+ # @!method self.values
32
+ # @return [Array<Symbol>]
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Privy
4
+ module Models
5
+ # Request body for the OAuth token endpoint, discriminated by grant_type.
6
+ module OAuthTokenRequestBody
7
+ extend Privy::Internal::Type::Union
8
+
9
+ discriminator :grant_type
10
+
11
+ # Request body for the authorization_code grant type.
12
+ variant :authorization_code, -> { Privy::OAuthTokenAuthorizationCodeRequestBody }
13
+
14
+ # Request body for the urn:ietf:params:oauth:grant-type:device_code grant type (RFC 8628). Used by CLI clients to poll for authorization.
15
+ variant :"urn:ietf:params:oauth:grant-type:device_code", -> { Privy::OAuthTokenDeviceCodeRequestBody }
16
+
17
+ # Request body for the refresh_token grant type. Rotates the refresh token and issues a new access token.
18
+ variant :refresh_token, -> { Privy::OAuthTokenRefreshTokenRequestBody }
19
+
20
+ # @!method self.variants
21
+ # @return [Array(Privy::Models::OAuthTokenAuthorizationCodeRequestBody, Privy::Models::OAuthTokenDeviceCodeRequestBody, Privy::Models::OAuthTokenRefreshTokenRequestBody)]
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Privy
4
+ module Models
5
+ class OAuthTokenSuccessResponse < Privy::Internal::Type::BaseModel
6
+ # @!attribute access_token
7
+ # The issued access token.
8
+ #
9
+ # @return [String]
10
+ required :access_token, String
11
+
12
+ # @!attribute token_type
13
+ # The type of token issued.
14
+ #
15
+ # @return [Symbol, Privy::Models::OAuthTokenSuccessResponse::TokenType]
16
+ required :token_type, enum: -> { Privy::OAuthTokenSuccessResponse::TokenType }
17
+
18
+ # @!attribute expires_in
19
+ # The lifetime in seconds of the access token.
20
+ #
21
+ # @return [Float, nil]
22
+ optional :expires_in, Float
23
+
24
+ # @!attribute refresh_token
25
+ # A refresh token for obtaining new access tokens. Issued for device_code and
26
+ # refresh_token grants.
27
+ #
28
+ # @return [String, nil]
29
+ optional :refresh_token, String
30
+
31
+ # @!method initialize(access_token:, token_type:, expires_in: nil, refresh_token: nil)
32
+ # Some parameter documentations has been truncated, see
33
+ # {Privy::Models::OAuthTokenSuccessResponse} for more details.
34
+ #
35
+ # Successful token response per RFC 6749 Section 5.1.
36
+ #
37
+ # @param access_token [String] The issued access token.
38
+ #
39
+ # @param token_type [Symbol, Privy::Models::OAuthTokenSuccessResponse::TokenType] The type of token issued.
40
+ #
41
+ # @param expires_in [Float] The lifetime in seconds of the access token.
42
+ #
43
+ # @param refresh_token [String] A refresh token for obtaining new access tokens. Issued for device_code and refr
44
+
45
+ # The type of token issued.
46
+ #
47
+ # @see Privy::Models::OAuthTokenSuccessResponse#token_type
48
+ module TokenType
49
+ extend Privy::Internal::Type::Enum
50
+
51
+ BEARER = :Bearer
52
+
53
+ # @!method self.values
54
+ # @return [Array<Symbol>]
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Privy
4
+ module Models
5
+ class OnrampSessionFees < Privy::Internal::Type::BaseModel
6
+ # @!attribute network_fee_amount
7
+ #
8
+ # @return [String, nil]
9
+ required :network_fee_amount, String, nil?: true
10
+
11
+ # @!attribute transaction_fee_amount
12
+ #
13
+ # @return [String, nil]
14
+ required :transaction_fee_amount, String, nil?: true
15
+
16
+ # @!method initialize(network_fee_amount:, transaction_fee_amount:)
17
+ # Fee breakdown for a Stripe onramp transaction.
18
+ #
19
+ # @param network_fee_amount [String, nil]
20
+ # @param transaction_fee_amount [String, nil]
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Privy
4
+ module Models
5
+ class OnrampSessionTransactionDetails < Privy::Internal::Type::BaseModel
6
+ # @!attribute destination_amount
7
+ #
8
+ # @return [String, nil]
9
+ required :destination_amount, String, nil?: true
10
+
11
+ # @!attribute destination_currency
12
+ #
13
+ # @return [String, nil]
14
+ required :destination_currency, String, nil?: true
15
+
16
+ # @!attribute destination_network
17
+ #
18
+ # @return [String, nil]
19
+ required :destination_network, String, nil?: true
20
+
21
+ # @!attribute fees
22
+ # Fee breakdown for a Stripe onramp transaction.
23
+ #
24
+ # @return [Privy::Models::OnrampSessionTransactionDetails::Fees]
25
+ required :fees, -> { Privy::OnrampSessionTransactionDetails::Fees }
26
+
27
+ # @!attribute source_amount
28
+ #
29
+ # @return [String, nil]
30
+ required :source_amount, String, nil?: true
31
+
32
+ # @!attribute source_currency
33
+ #
34
+ # @return [String, nil]
35
+ required :source_currency, String, nil?: true
36
+
37
+ # @!method initialize(destination_amount:, destination_currency:, destination_network:, fees:, source_amount:, source_currency:)
38
+ # Transaction details returned from a Stripe onramp session.
39
+ #
40
+ # @param destination_amount [String, nil]
41
+ #
42
+ # @param destination_currency [String, nil]
43
+ #
44
+ # @param destination_network [String, nil]
45
+ #
46
+ # @param fees [Privy::Models::OnrampSessionTransactionDetails::Fees] Fee breakdown for a Stripe onramp transaction.
47
+ #
48
+ # @param source_amount [String, nil]
49
+ #
50
+ # @param source_currency [String, nil]
51
+
52
+ # @see Privy::Models::OnrampSessionTransactionDetails#fees
53
+ class Fees < Privy::Models::OnrampSessionFees
54
+ # @!method initialize
55
+ # Fee breakdown for a Stripe onramp transaction.
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Privy
4
+ module Models
5
+ SolanaAddress = String
6
+ end
7
+ end
@@ -68,19 +68,48 @@ module Privy
68
68
  # @return [String, nil]
69
69
  optional :destination_caip2, String
70
70
 
71
+ # @!attribute estimated_fees
72
+ # Estimated fee breakdown from the provider quote.
73
+ #
74
+ # @return [Array<Privy::Models::RelayerFee, Privy::Models::PrivyFee, Privy::Models::DeveloperFee>, nil]
75
+ optional :estimated_fees, -> { Privy::Internal::Type::ArrayOf[union: Privy::FeeLineItem] }
76
+
77
+ # @!attribute estimated_gas
78
+ # Gas cost for a blockchain action. Includes both raw base-unit amount and a
79
+ # human-readable decimal string, plus the gas token symbol.
80
+ #
81
+ # @return [Privy::Models::Gas, nil]
82
+ optional :estimated_gas, -> { Privy::Gas }
83
+
71
84
  # @!attribute failure_reason
72
85
  # A description of why a wallet action (or a step within a wallet action) failed.
73
86
  #
74
87
  # @return [Privy::Models::FailureReason, nil]
75
88
  optional :failure_reason, -> { Privy::FailureReason }
76
89
 
90
+ # @!attribute fees
91
+ # Actual fees paid for the swap. Populated after on-chain confirmation.
92
+ #
93
+ # @return [Array<Privy::Models::RelayerFee, Privy::Models::PrivyFee, Privy::Models::DeveloperFee>, nil]
94
+ optional :fees, -> { Privy::Internal::Type::ArrayOf[union: Privy::FeeLineItem] }
95
+
96
+ # @!attribute gas
97
+ # Gas cost for a blockchain action. Includes both raw base-unit amount and a
98
+ # human-readable decimal string, plus the gas token symbol.
99
+ #
100
+ # @return [Privy::Models::Gas, nil]
101
+ optional :gas, -> { Privy::Gas }
102
+
77
103
  # @!attribute steps
78
104
  # The steps of the wallet action. Only returned if `?include=steps` is provided.
79
105
  #
80
106
  # @return [Array<Privy::Models::EvmTransactionWalletActionStep, Privy::Models::EvmUserOperationWalletActionStep, Privy::Models::SvmTransactionWalletActionStep, Privy::Models::ExternalTransactionWalletActionStep>, nil]
81
107
  optional :steps, -> { Privy::Internal::Type::ArrayOf[union: Privy::WalletActionStep] }
82
108
 
83
- # @!method initialize(id:, caip2:, created_at:, input_amount:, input_token:, output_amount:, output_token:, status:, type:, wallet_id:, destination_caip2: nil, failure_reason: nil, steps: nil)
109
+ # @!method initialize(id:, caip2:, created_at:, input_amount:, input_token:, output_amount:, output_token:, status:, type:, wallet_id:, destination_caip2: nil, estimated_fees: nil, estimated_gas: nil, failure_reason: nil, fees: nil, gas: nil, steps: nil)
110
+ # Some parameter documentations has been truncated, see
111
+ # {Privy::Models::SwapActionResponse} for more details.
112
+ #
84
113
  # Response for a swap action.
85
114
  #
86
115
  # @param id [String] The ID of the wallet action.
@@ -105,8 +134,16 @@ module Privy
105
134
  #
106
135
  # @param destination_caip2 [String] Destination chain CAIP-2 identifier. Present for cross-chain swaps.
107
136
  #
137
+ # @param estimated_fees [Array<Privy::Models::RelayerFee, Privy::Models::PrivyFee, Privy::Models::DeveloperFee>] Estimated fee breakdown from the provider quote.
138
+ #
139
+ # @param estimated_gas [Privy::Models::Gas] Gas cost for a blockchain action. Includes both raw base-unit amount and a human
140
+ #
108
141
  # @param failure_reason [Privy::Models::FailureReason] A description of why a wallet action (or a step within a wallet action) failed.
109
142
  #
143
+ # @param fees [Array<Privy::Models::RelayerFee, Privy::Models::PrivyFee, Privy::Models::DeveloperFee>] Actual fees paid for the swap. Populated after on-chain confirmation.
144
+ #
145
+ # @param gas [Privy::Models::Gas] Gas cost for a blockchain action. Includes both raw base-unit amount and a human
146
+ #
110
147
  # @param steps [Array<Privy::Models::EvmTransactionWalletActionStep, Privy::Models::EvmUserOperationWalletActionStep, Privy::Models::SvmTransactionWalletActionStep, Privy::Models::ExternalTransactionWalletActionStep>] The steps of the wallet action. Only returned if `?include=steps` is provided.
111
148
 
112
149
  # @see Privy::Models::SwapActionResponse#type
@@ -37,8 +37,8 @@ module Privy
37
37
  # Maximum slippage tolerance in basis points (e.g., 50 for 0.5%). If omitted,
38
38
  # auto-slippage is used.
39
39
  #
40
- # @return [Float, nil]
41
- optional :slippage_bps, Float
40
+ # @return [Integer, nil]
41
+ optional :slippage_bps, Integer
42
42
 
43
43
  # @!method initialize(base_amount:, destination:, source:, amount_type: nil, fee_configuration: nil, slippage_bps: nil)
44
44
  # Some parameter documentations has been truncated, see
@@ -56,7 +56,7 @@ module Privy
56
56
  #
57
57
  # @param fee_configuration [Privy::Models::FeeConfiguration] Total fees assessed on a transfer, in BPS
58
58
  #
59
- # @param slippage_bps [Float] Maximum slippage tolerance in basis points (e.g., 50 for 0.5%). If omitted, auto
59
+ # @param slippage_bps [Integer] Maximum slippage tolerance in basis points (e.g., 50 for 0.5%). If omitted, auto
60
60
  end
61
61
  end
62
62
  end
@@ -16,7 +16,8 @@ module Privy
16
16
  required :est_output_amount, String
17
17
 
18
18
  # @!attribute gas_estimate
19
- # Estimated gas cost in base units of the native token.
19
+ # Estimated gas cost in base units of the native token. @deprecated For
20
+ # cross-chain swaps, use estimated_gas instead.
20
21
  #
21
22
  # @return [String]
22
23
  required :gas_estimate, String
@@ -52,25 +53,35 @@ module Privy
52
53
  optional :destination_caip2, String
53
54
 
54
55
  # @!attribute estimated_fees
55
- # Estimated fees in USD.
56
+ # Estimated fees for the swap. Only present for cross-chain swaps.
56
57
  #
57
58
  # @return [Array<Privy::Models::RelayerFee, Privy::Models::PrivyFee, Privy::Models::DeveloperFee>, nil]
58
59
  optional :estimated_fees, -> { Privy::Internal::Type::ArrayOf[union: Privy::FeeLineItem] }
59
60
 
61
+ # @!attribute estimated_gas
62
+ # Gas cost for a blockchain action. Includes both raw base-unit amount and a
63
+ # human-readable decimal string, plus the gas token symbol.
64
+ #
65
+ # @return [Privy::Models::Gas, nil]
66
+ optional :estimated_gas, -> { Privy::Gas }
67
+
60
68
  # @!attribute expires_at
61
69
  # Quote expiry as Unix timestamp (seconds). Present for cross-chain quotes.
62
70
  #
63
71
  # @return [Float, nil]
64
72
  optional :expires_at, Float
65
73
 
66
- # @!method initialize(caip2:, est_output_amount:, gas_estimate:, input_amount:, input_token:, minimum_output_amount:, output_token:, destination_caip2: nil, estimated_fees: nil, expires_at: nil)
74
+ # @!method initialize(caip2:, est_output_amount:, gas_estimate:, input_amount:, input_token:, minimum_output_amount:, output_token:, destination_caip2: nil, estimated_fees: nil, estimated_gas: nil, expires_at: nil)
75
+ # Some parameter documentations has been truncated, see
76
+ # {Privy::Models::SwapQuoteResponse} for more details.
77
+ #
67
78
  # Pricing data for a token swap.
68
79
  #
69
80
  # @param caip2 [String] Chain identifier.
70
81
  #
71
82
  # @param est_output_amount [String] Estimated amount of output token in base units.
72
83
  #
73
- # @param gas_estimate [String] Estimated gas cost in base units of the native token.
84
+ # @param gas_estimate [String] Estimated gas cost in base units of the native token. @deprecated For cross-chai
74
85
  #
75
86
  # @param input_amount [String] Amount of input token in base units.
76
87
  #
@@ -82,7 +93,9 @@ module Privy
82
93
  #
83
94
  # @param destination_caip2 [String] Destination chain CAIP-2 identifier for cross-chain swaps.
84
95
  #
85
- # @param estimated_fees [Array<Privy::Models::RelayerFee, Privy::Models::PrivyFee, Privy::Models::DeveloperFee>] Estimated fees in USD.
96
+ # @param estimated_fees [Array<Privy::Models::RelayerFee, Privy::Models::PrivyFee, Privy::Models::DeveloperFee>] Estimated fees for the swap. Only present for cross-chain swaps.
97
+ #
98
+ # @param estimated_gas [Privy::Models::Gas] Gas cost for a blockchain action. Includes both raw base-unit amount and a human
86
99
  #
87
100
  # @param expires_at [Float] Quote expiry as Unix timestamp (seconds). Present for cross-chain quotes.
88
101
  end
@@ -36,8 +36,8 @@ module Privy
36
36
  # @!attribute slippage_bps
37
37
  # Maximum slippage tolerance in basis points (e.g., 50 for 0.5%).
38
38
  #
39
- # @return [Float, nil]
40
- optional :slippage_bps, Float
39
+ # @return [Integer, nil]
40
+ optional :slippage_bps, Integer
41
41
 
42
42
  # @!method initialize(base_amount:, destination:, source:, amount_type: nil, fee_configuration: nil, slippage_bps: nil)
43
43
  # Some parameter documentations has been truncated, see
@@ -55,7 +55,7 @@ module Privy
55
55
  #
56
56
  # @param fee_configuration [Privy::Models::FeeConfiguration] Total fees assessed on a transfer, in BPS
57
57
  #
58
- # @param slippage_bps [Float] Maximum slippage tolerance in basis points (e.g., 50 for 0.5%).
58
+ # @param slippage_bps [Integer] Maximum slippage tolerance in basis points (e.g., 50 for 0.5%).
59
59
  end
60
60
  end
61
61
  end
@@ -4,7 +4,7 @@ module Privy
4
4
  module Models
5
5
  class TokenTransferDestination < Privy::Internal::Type::BaseModel
6
6
  # @!attribute address
7
- # Recipient address (hex for EVM, base58 for Solana)
7
+ # Recipient address (hex for EVM, base58 for Solana, base58check for Tron)
8
8
  #
9
9
  # @return [String]
10
10
  required :address, String
@@ -30,7 +30,7 @@ module Privy
30
30
  # The destination address for a token transfer. Optionally specify a different
31
31
  # asset or chain for cross-asset or cross-chain transfers.
32
32
  #
33
- # @param address [String] Recipient address (hex for EVM, base58 for Solana)
33
+ # @param address [String] Recipient address (hex for EVM, base58 for Solana, base58check for Tron)
34
34
  #
35
35
  # @param asset [String] The destination asset. Required for cross-asset transfers (e.g., source 'usdt' t
36
36
  #
@@ -63,6 +63,19 @@ module Privy
63
63
  # @return [String, nil]
64
64
  optional :destination_chain, String
65
65
 
66
+ # @!attribute estimated_fees
67
+ # Estimated fee breakdown from the provider quote.
68
+ #
69
+ # @return [Array<Privy::Models::RelayerFee, Privy::Models::PrivyFee, Privy::Models::DeveloperFee>, nil]
70
+ optional :estimated_fees, -> { Privy::Internal::Type::ArrayOf[union: Privy::FeeLineItem] }
71
+
72
+ # @!attribute estimated_gas
73
+ # Gas cost for a blockchain action. Includes both raw base-unit amount and a
74
+ # human-readable decimal string, plus the gas token symbol.
75
+ #
76
+ # @return [Privy::Models::Gas, nil]
77
+ optional :estimated_gas, -> { Privy::Gas }
78
+
66
79
  # @!attribute failure_reason
67
80
  # A description of why a wallet action (or a step within a wallet action) failed.
68
81
  #
@@ -70,11 +83,18 @@ module Privy
70
83
  optional :failure_reason, -> { Privy::FailureReason }
71
84
 
72
85
  # @!attribute fees
73
- # Fees paid for the transfer.
86
+ # Actual fees paid for the transfer. Populated after on-chain confirmation.
74
87
  #
75
88
  # @return [Array<Privy::Models::RelayerFee, Privy::Models::PrivyFee, Privy::Models::DeveloperFee>, nil]
76
89
  optional :fees, -> { Privy::Internal::Type::ArrayOf[union: Privy::FeeLineItem] }
77
90
 
91
+ # @!attribute gas
92
+ # Gas cost for a blockchain action. Includes both raw base-unit amount and a
93
+ # human-readable decimal string, plus the gas token symbol.
94
+ #
95
+ # @return [Privy::Models::Gas, nil]
96
+ optional :gas, -> { Privy::Gas }
97
+
78
98
  # @!attribute source_amount
79
99
  # Decimal amount sent on the source chain (e.g. "1.5"). Omitted for exact_output
80
100
  # cross-chain transfers until the source amount is determined.
@@ -109,7 +129,7 @@ module Privy
109
129
  # @return [Array<Privy::Models::EvmTransactionWalletActionStep, Privy::Models::EvmUserOperationWalletActionStep, Privy::Models::SvmTransactionWalletActionStep, Privy::Models::ExternalTransactionWalletActionStep>, nil]
110
130
  optional :steps, -> { Privy::Internal::Type::ArrayOf[union: Privy::WalletActionStep] }
111
131
 
112
- # @!method initialize(id:, created_at:, destination_address:, source_chain:, status:, type:, wallet_id:, destination_amount: nil, destination_asset: nil, destination_chain: nil, failure_reason: nil, fees: nil, source_amount: nil, source_asset: nil, source_asset_address: nil, source_asset_decimals: nil, steps: nil)
132
+ # @!method initialize(id:, created_at:, destination_address:, source_chain:, status:, type:, wallet_id:, destination_amount: nil, destination_asset: nil, destination_chain: nil, estimated_fees: nil, estimated_gas: nil, failure_reason: nil, fees: nil, gas: nil, source_amount: nil, source_asset: nil, source_asset_address: nil, source_asset_decimals: nil, steps: nil)
113
133
  # Some parameter documentations has been truncated, see
114
134
  # {Privy::Models::TransferActionResponse} for more details.
115
135
  #
@@ -135,9 +155,15 @@ module Privy
135
155
  #
136
156
  # @param destination_chain [String] Destination chain for cross-chain transfers. Omitted for same-chain transfers.
137
157
  #
158
+ # @param estimated_fees [Array<Privy::Models::RelayerFee, Privy::Models::PrivyFee, Privy::Models::DeveloperFee>] Estimated fee breakdown from the provider quote.
159
+ #
160
+ # @param estimated_gas [Privy::Models::Gas] Gas cost for a blockchain action. Includes both raw base-unit amount and a human
161
+ #
138
162
  # @param failure_reason [Privy::Models::FailureReason] A description of why a wallet action (or a step within a wallet action) failed.
139
163
  #
140
- # @param fees [Array<Privy::Models::RelayerFee, Privy::Models::PrivyFee, Privy::Models::DeveloperFee>] Fees paid for the transfer.
164
+ # @param fees [Array<Privy::Models::RelayerFee, Privy::Models::PrivyFee, Privy::Models::DeveloperFee>] Actual fees paid for the transfer. Populated after on-chain confirmation.
165
+ #
166
+ # @param gas [Privy::Models::Gas] Gas cost for a blockchain action. Includes both raw base-unit amount and a human
141
167
  #
142
168
  # @param source_amount [String] Decimal amount sent on the source chain (e.g. "1.5"). Omitted for exact_output c
143
169
  #
@@ -30,7 +30,8 @@ module Privy
30
30
  optional :fee_configuration, -> { Privy::FeeConfiguration }
31
31
 
32
32
  # @!attribute slippage_bps
33
- # Maximum allowed slippage in basis points (1 bps = 0.01%).
33
+ # Maximum allowed slippage in basis points (1 bps = 0.01%). Only applicable for
34
+ # cross-chain or cross-asset transfers; omit to use the provider default.
34
35
  #
35
36
  # @return [Integer, nil]
36
37
  optional :slippage_bps, Integer
@@ -50,7 +51,7 @@ module Privy
50
51
  #
51
52
  # @param fee_configuration [Privy::Models::FeeConfiguration] Total fees assessed on a transfer, in BPS
52
53
  #
53
- # @param slippage_bps [Integer] Maximum allowed slippage in basis points (1 bps = 0.01%).
54
+ # @param slippage_bps [Integer] Maximum allowed slippage in basis points (1 bps = 0.01%). Only applicable for cr
54
55
  end
55
56
  end
56
57
  end
@@ -41,7 +41,14 @@ module Privy
41
41
  # @return [Symbol, Privy::Models::AmountType, nil]
42
42
  optional :amount_type, enum: -> { Privy::AmountType }
43
43
 
44
- # @!method initialize(destination:, estimated_fees:, estimated_output_amount:, expires_at:, source:, amount_type: nil)
44
+ # @!attribute estimated_gas
45
+ # Gas cost for a blockchain action. Includes both raw base-unit amount and a
46
+ # human-readable decimal string, plus the gas token symbol.
47
+ #
48
+ # @return [Privy::Models::Gas, nil]
49
+ optional :estimated_gas, -> { Privy::Gas }
50
+
51
+ # @!method initialize(destination:, estimated_fees:, estimated_output_amount:, expires_at:, source:, amount_type: nil, estimated_gas: nil)
45
52
  # Some parameter documentations has been truncated, see
46
53
  # {Privy::Models::TransferQuoteResponse} for more details.
47
54
  #
@@ -58,6 +65,8 @@ module Privy
58
65
  # @param source [Privy::Models::NamedTokenTransferSource, Privy::Models::CustomTokenTransferSource] The source asset, amount, and chain for a token transfer. Specify either `asset`
59
66
  #
60
67
  # @param amount_type [Symbol, Privy::Models::AmountType] Whether the amount refers to the input token or output token.
68
+ #
69
+ # @param estimated_gas [Privy::Models::Gas] Gas cost for a blockchain action. Includes both raw base-unit amount and a human
61
70
  end
62
71
  end
63
72
  end
@@ -77,6 +77,8 @@ module Privy
77
77
 
78
78
  variant const: -> { Privy::Models::TransferReceivedTransactionDetail::Asset::ETH }
79
79
 
80
+ variant const: -> { Privy::Models::TransferReceivedTransactionDetail::Asset::AVAX }
81
+
80
82
  variant const: -> { Privy::Models::TransferReceivedTransactionDetail::Asset::POL }
81
83
 
82
84
  variant const: -> { Privy::Models::TransferReceivedTransactionDetail::Asset::USDT }
@@ -101,6 +103,7 @@ module Privy
101
103
  USDC = :usdc
102
104
  USDC_E = :"usdc.e"
103
105
  ETH = :eth
106
+ AVAX = :avax
104
107
  POL = :pol
105
108
  USDT = :usdt
106
109
  EURC = :eurc
@@ -116,6 +119,7 @@ module Privy
116
119
 
117
120
  ETHEREUM = :ethereum
118
121
  ARBITRUM = :arbitrum
122
+ AVALANCHE = :avalanche
119
123
  BASE = :base
120
124
  TEMPO = :tempo
121
125
  LINEA = :linea
@@ -125,6 +129,7 @@ module Privy
125
129
  ZKSYNC_ERA = :zksync_era
126
130
  SEPOLIA = :sepolia
127
131
  ARBITRUM_SEPOLIA = :arbitrum_sepolia
132
+ AVALANCHE_FUJI = :avalanche_fuji
128
133
  BASE_SEPOLIA = :base_sepolia
129
134
  LINEA_TESTNET = :linea_testnet
130
135
  OPTIMISM_SEPOLIA = :optimism_sepolia
@@ -30,7 +30,8 @@ module Privy
30
30
  optional :fee_configuration, -> { Privy::FeeConfiguration }
31
31
 
32
32
  # @!attribute slippage_bps
33
- # Maximum allowed slippage in basis points (1 bps = 0.01%).
33
+ # Maximum allowed slippage in basis points (1 bps = 0.01%). Only applicable for
34
+ # cross-chain or cross-asset transfers; omit to use the provider default.
34
35
  #
35
36
  # @return [Integer, nil]
36
37
  optional :slippage_bps, Integer
@@ -49,7 +50,7 @@ module Privy
49
50
  #
50
51
  # @param fee_configuration [Privy::Models::FeeConfiguration] Total fees assessed on a transfer, in BPS
51
52
  #
52
- # @param slippage_bps [Integer] Maximum allowed slippage in basis points (1 bps = 0.01%).
53
+ # @param slippage_bps [Integer] Maximum allowed slippage in basis points (1 bps = 0.01%). Only applicable for cr
53
54
  end
54
55
  end
55
56
  end
@@ -77,6 +77,8 @@ module Privy
77
77
 
78
78
  variant const: -> { Privy::Models::TransferSentTransactionDetail::Asset::ETH }
79
79
 
80
+ variant const: -> { Privy::Models::TransferSentTransactionDetail::Asset::AVAX }
81
+
80
82
  variant const: -> { Privy::Models::TransferSentTransactionDetail::Asset::POL }
81
83
 
82
84
  variant const: -> { Privy::Models::TransferSentTransactionDetail::Asset::USDT }
@@ -101,6 +103,7 @@ module Privy
101
103
  USDC = :usdc
102
104
  USDC_E = :"usdc.e"
103
105
  ETH = :eth
106
+ AVAX = :avax
104
107
  POL = :pol
105
108
  USDT = :usdt
106
109
  EURC = :eurc
@@ -116,6 +119,7 @@ module Privy
116
119
 
117
120
  ETHEREUM = :ethereum
118
121
  ARBITRUM = :arbitrum
122
+ AVALANCHE = :avalanche
119
123
  BASE = :base
120
124
  TEMPO = :tempo
121
125
  LINEA = :linea
@@ -125,6 +129,7 @@ module Privy
125
129
  ZKSYNC_ERA = :zksync_era
126
130
  SEPOLIA = :sepolia
127
131
  ARBITRUM_SEPOLIA = :arbitrum_sepolia
132
+ AVALANCHE_FUJI = :avalanche_fuji
128
133
  BASE_SEPOLIA = :base_sepolia
129
134
  LINEA_TESTNET = :linea_testnet
130
135
  OPTIMISM_SEPOLIA = :optimism_sepolia
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Privy
4
+ module Models
5
+ TronAddress = String
6
+ end
7
+ end