privy_ruby 0.4.0 → 0.6.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 (171) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +1 -1
  4. data/lib/privy/models/balance_asset_by_chain.rb +2 -2
  5. data/lib/privy/models/currency.rb +5 -2
  6. data/lib/privy/models/custom_token_transfer_source.rb +15 -14
  7. data/lib/privy/models/ethereum_personal_sign_rpc_input.rb +2 -2
  8. data/lib/privy/models/ethereum_send_calls_rpc_input.rb +2 -2
  9. data/lib/privy/models/ethereum_send_calls_rpc_response_data.rb +5 -2
  10. data/lib/privy/models/ethereum_send_transaction_rpc_input.rb +2 -2
  11. data/lib/privy/models/ethereum_send_transaction_rpc_response_data.rb +2 -2
  12. data/lib/privy/models/ethereum_sign_typed_data_rpc_input.rb +2 -2
  13. data/lib/privy/models/ethereum_vault_details_response.rb +2 -2
  14. data/lib/privy/models/ethereum_yield_claim_input.rb +6 -2
  15. data/lib/privy/models/ethereum_yield_claim_response.rb +6 -2
  16. data/lib/privy/models/ethereum_yield_provider.rb +1 -0
  17. data/lib/privy/models/fiat_onramp_destination.rb +3 -3
  18. data/lib/privy/models/named_token_transfer_source.rb +18 -17
  19. data/lib/privy/models/solana_sign_and_send_transaction_rpc_input.rb +5 -2
  20. data/lib/privy/models/solana_sign_and_send_transaction_rpc_response_data.rb +5 -2
  21. data/lib/privy/models/swap_source.rb +6 -2
  22. data/lib/privy/models/token_transfer_destination.rb +1 -1
  23. data/lib/privy/models/transaction_broadcasted_webhook_payload.rb +3 -2
  24. data/lib/privy/models/transaction_chain_name_input.rb +1 -0
  25. data/lib/privy/models/transaction_confirmed_webhook_payload.rb +3 -2
  26. data/lib/privy/models/transaction_execution_reverted_webhook_payload.rb +3 -2
  27. data/lib/privy/models/transaction_failed_webhook_payload.rb +3 -2
  28. data/lib/privy/models/transaction_provider_error_webhook_payload.rb +3 -2
  29. data/lib/privy/models/transaction_replaced_webhook_payload.rb +3 -2
  30. data/lib/privy/models/transaction_still_pending_webhook_payload.rb +3 -2
  31. data/lib/privy/models/transfer_received_transaction_detail.rb +3 -0
  32. data/lib/privy/models/transfer_sent_transaction_detail.rb +3 -0
  33. data/lib/privy/models/tron_send_transaction_rpc_input.rb +5 -2
  34. data/lib/privy/models/tron_send_transaction_rpc_response_data.rb +5 -2
  35. data/lib/privy/models/unsafe_unwrap_webhook_event.rb +17 -1
  36. data/lib/privy/models/user_operation_input.rb +17 -1
  37. data/lib/privy/models/wallet_action_earn_fee_collect_created_webhook_payload.rb +153 -0
  38. data/lib/privy/models/wallet_action_earn_fee_collect_failed_webhook_payload.rb +178 -0
  39. data/lib/privy/models/wallet_action_earn_fee_collect_rejected_webhook_payload.rb +177 -0
  40. data/lib/privy/models/wallet_action_earn_fee_collect_succeeded_webhook_payload.rb +169 -0
  41. data/lib/privy/models/wallet_action_earn_incentive_claim_created_webhook_payload.rb +2 -2
  42. data/lib/privy/models/wallet_action_earn_incentive_claim_failed_webhook_payload.rb +2 -2
  43. data/lib/privy/models/wallet_action_earn_incentive_claim_rejected_webhook_payload.rb +2 -2
  44. data/lib/privy/models/wallet_action_earn_incentive_claim_succeeded_webhook_payload.rb +2 -2
  45. data/lib/privy/models/wallet_action_transfer_created_webhook_payload.rb +2 -2
  46. data/lib/privy/models/wallet_action_transfer_failed_webhook_payload.rb +2 -2
  47. data/lib/privy/models/wallet_action_transfer_rejected_webhook_payload.rb +2 -2
  48. data/lib/privy/models/wallet_action_transfer_succeeded_webhook_payload.rb +2 -2
  49. data/lib/privy/models/wallet_asset.rb +1 -0
  50. data/lib/privy/models/wallet_ethereum_asset.rb +1 -0
  51. data/lib/privy/models/wallets/aave_vault_details.rb +2 -2
  52. data/lib/privy/models/wallets/balance_get_params.rb +9 -6
  53. data/lib/privy/models/wallets/balance_get_response.rb +3 -0
  54. data/lib/privy/models/wallets/earn_fee_collect_action_response.rb +149 -0
  55. data/lib/privy/models/wallets/earn_fee_collect_request_body.rb +20 -0
  56. data/lib/privy/models/wallets/earn_incentive_claim_action_response.rb +2 -2
  57. data/lib/privy/models/wallets/earn_incentive_claim_request_body.rb +2 -2
  58. data/lib/privy/models/wallets/earn_incentive_rewards_query.rb +2 -2
  59. data/lib/privy/models/wallets/ethereum_earn_provider.rb +1 -0
  60. data/lib/privy/models/wallets/ethereum_earn_vault_details_response.rb +4 -1
  61. data/lib/privy/models/wallets/list_wallet_actions_response.rb +2 -2
  62. data/lib/privy/models/wallets/morpho_vault_details.rb +2 -2
  63. data/lib/privy/models/wallets/transaction_get_params.rb +3 -0
  64. data/lib/privy/models/wallets/transfer_action_response.rb +2 -2
  65. data/lib/privy/models/wallets/veda_vault_details.rb +122 -0
  66. data/lib/privy/models/wallets/wallet_action_response.rb +4 -1
  67. data/lib/privy/models/wallets/wallet_action_type.rb +1 -0
  68. data/lib/privy/models/webhook_payload.rb +13 -1
  69. data/lib/privy/models.rb +12 -0
  70. data/lib/privy/resources/wallets/actions.rb +1 -1
  71. data/lib/privy/resources/wallets/balance.rb +2 -2
  72. data/lib/privy/resources/webhooks.rb +1 -1
  73. data/lib/privy/version.rb +1 -1
  74. data/lib/privy.rb +7 -0
  75. data/rbi/privy/models/balance_asset_by_chain.rbi +2 -2
  76. data/rbi/privy/models/currency.rbi +2 -2
  77. data/rbi/privy/models/custom_token_transfer_source.rbi +20 -15
  78. data/rbi/privy/models/ethereum_personal_sign_rpc_input.rbi +2 -2
  79. data/rbi/privy/models/ethereum_send_calls_rpc_input.rbi +2 -2
  80. data/rbi/privy/models/ethereum_send_calls_rpc_response_data.rbi +2 -2
  81. data/rbi/privy/models/ethereum_send_transaction_rpc_input.rbi +2 -2
  82. data/rbi/privy/models/ethereum_send_transaction_rpc_response_data.rbi +2 -2
  83. data/rbi/privy/models/ethereum_sign_typed_data_rpc_input.rbi +2 -2
  84. data/rbi/privy/models/ethereum_vault_details_response.rbi +2 -2
  85. data/rbi/privy/models/ethereum_yield_claim_input.rbi +4 -2
  86. data/rbi/privy/models/ethereum_yield_claim_response.rbi +4 -2
  87. data/rbi/privy/models/ethereum_yield_provider.rbi +1 -0
  88. data/rbi/privy/models/fiat_onramp_destination.rbi +4 -4
  89. data/rbi/privy/models/named_token_transfer_source.rbi +24 -19
  90. data/rbi/privy/models/solana_sign_and_send_transaction_rpc_input.rbi +2 -2
  91. data/rbi/privy/models/solana_sign_and_send_transaction_rpc_response_data.rbi +2 -2
  92. data/rbi/privy/models/swap_source.rbi +4 -2
  93. data/rbi/privy/models/token_transfer_destination.rbi +2 -2
  94. data/rbi/privy/models/transaction_broadcasted_webhook_payload.rbi +4 -2
  95. data/rbi/privy/models/transaction_chain_name_input.rbi +2 -0
  96. data/rbi/privy/models/transaction_confirmed_webhook_payload.rbi +4 -2
  97. data/rbi/privy/models/transaction_execution_reverted_webhook_payload.rbi +4 -2
  98. data/rbi/privy/models/transaction_failed_webhook_payload.rbi +4 -2
  99. data/rbi/privy/models/transaction_provider_error_webhook_payload.rbi +4 -2
  100. data/rbi/privy/models/transaction_replaced_webhook_payload.rbi +4 -2
  101. data/rbi/privy/models/transaction_still_pending_webhook_payload.rbi +4 -2
  102. data/rbi/privy/models/transfer_received_transaction_detail.rbi +5 -0
  103. data/rbi/privy/models/transfer_sent_transaction_detail.rbi +5 -0
  104. data/rbi/privy/models/tron_send_transaction_rpc_input.rbi +2 -2
  105. data/rbi/privy/models/tron_send_transaction_rpc_response_data.rbi +2 -2
  106. data/rbi/privy/models/unsafe_unwrap_webhook_event.rbi +4 -0
  107. data/rbi/privy/models/user_operation_input.rbi +22 -0
  108. data/rbi/privy/models/wallet_action_earn_fee_collect_created_webhook_payload.rbi +232 -0
  109. data/rbi/privy/models/wallet_action_earn_fee_collect_failed_webhook_payload.rbi +271 -0
  110. data/rbi/privy/models/wallet_action_earn_fee_collect_rejected_webhook_payload.rbi +269 -0
  111. data/rbi/privy/models/wallet_action_earn_fee_collect_succeeded_webhook_payload.rbi +258 -0
  112. data/rbi/privy/models/wallet_action_earn_incentive_claim_created_webhook_payload.rbi +2 -2
  113. data/rbi/privy/models/wallet_action_earn_incentive_claim_failed_webhook_payload.rbi +2 -2
  114. data/rbi/privy/models/wallet_action_earn_incentive_claim_rejected_webhook_payload.rbi +2 -2
  115. data/rbi/privy/models/wallet_action_earn_incentive_claim_succeeded_webhook_payload.rbi +2 -2
  116. data/rbi/privy/models/wallet_action_transfer_created_webhook_payload.rbi +2 -2
  117. data/rbi/privy/models/wallet_action_transfer_failed_webhook_payload.rbi +2 -2
  118. data/rbi/privy/models/wallet_action_transfer_rejected_webhook_payload.rbi +2 -2
  119. data/rbi/privy/models/wallet_action_transfer_succeeded_webhook_payload.rbi +2 -2
  120. data/rbi/privy/models/wallet_asset.rbi +1 -0
  121. data/rbi/privy/models/wallet_ethereum_asset.rbi +1 -0
  122. data/rbi/privy/models/wallets/aave_vault_details.rbi +2 -2
  123. data/rbi/privy/models/wallets/balance_get_params.rbi +11 -6
  124. data/rbi/privy/models/wallets/balance_get_response.rbi +5 -0
  125. data/rbi/privy/models/wallets/earn_fee_collect_action_response.rbi +236 -0
  126. data/rbi/privy/models/wallets/earn_fee_collect_request_body.rbi +33 -0
  127. data/rbi/privy/models/wallets/earn_incentive_claim_action_response.rbi +2 -2
  128. data/rbi/privy/models/wallets/earn_incentive_claim_request_body.rbi +4 -4
  129. data/rbi/privy/models/wallets/earn_incentive_rewards_query.rbi +2 -2
  130. data/rbi/privy/models/wallets/ethereum_earn_provider.rbi +1 -0
  131. data/rbi/privy/models/wallets/ethereum_earn_vault_details_response.rbi +2 -1
  132. data/rbi/privy/models/wallets/list_wallet_actions_response.rbi +6 -3
  133. data/rbi/privy/models/wallets/morpho_vault_details.rbi +2 -2
  134. data/rbi/privy/models/wallets/transaction_get_params.rbi +5 -0
  135. data/rbi/privy/models/wallets/transfer_action_response.rbi +2 -2
  136. data/rbi/privy/models/wallets/veda_vault_details.rbi +157 -0
  137. data/rbi/privy/models/wallets/wallet_action_response.rbi +2 -1
  138. data/rbi/privy/models/wallets/wallet_action_type.rbi +5 -0
  139. data/rbi/privy/models/webhook_payload.rbi +5 -1
  140. data/rbi/privy/models.rbi +12 -0
  141. data/rbi/privy/resources/wallets/balance.rbi +2 -2
  142. data/rbi/privy/resources/wallets/earn/ethereum/incentive.rbi +2 -2
  143. data/rbi/privy/resources/webhooks.rbi +4 -0
  144. data/sig/privy/models/custom_token_transfer_source.rbs +8 -6
  145. data/sig/privy/models/ethereum_yield_provider.rbs +2 -1
  146. data/sig/privy/models/named_token_transfer_source.rbs +7 -5
  147. data/sig/privy/models/transaction_chain_name_input.rbs +2 -0
  148. data/sig/privy/models/transfer_received_transaction_detail.rbs +2 -0
  149. data/sig/privy/models/transfer_sent_transaction_detail.rbs +2 -0
  150. data/sig/privy/models/unsafe_unwrap_webhook_event.rbs +4 -0
  151. data/sig/privy/models/user_operation_input.rbs +14 -0
  152. data/sig/privy/models/wallet_action_earn_fee_collect_created_webhook_payload.rbs +111 -0
  153. data/sig/privy/models/wallet_action_earn_fee_collect_failed_webhook_payload.rbs +126 -0
  154. data/sig/privy/models/wallet_action_earn_fee_collect_rejected_webhook_payload.rbs +126 -0
  155. data/sig/privy/models/wallet_action_earn_fee_collect_succeeded_webhook_payload.rbs +121 -0
  156. data/sig/privy/models/wallet_asset.rbs +2 -0
  157. data/sig/privy/models/wallet_ethereum_asset.rbs +11 -1
  158. data/sig/privy/models/wallets/balance_get_params.rbs +2 -0
  159. data/sig/privy/models/wallets/balance_get_response.rbs +2 -0
  160. data/sig/privy/models/wallets/earn_fee_collect_action_response.rbs +114 -0
  161. data/sig/privy/models/wallets/earn_fee_collect_request_body.rbs +15 -0
  162. data/sig/privy/models/wallets/ethereum_earn_provider.rbs +2 -1
  163. data/sig/privy/models/wallets/ethereum_earn_vault_details_response.rbs +3 -1
  164. data/sig/privy/models/wallets/transaction_get_params.rbs +2 -0
  165. data/sig/privy/models/wallets/veda_vault_details.rbs +87 -0
  166. data/sig/privy/models/wallets/wallet_action_response.rbs +1 -0
  167. data/sig/privy/models/wallets/wallet_action_type.rbs +2 -0
  168. data/sig/privy/models/webhook_payload.rbs +4 -0
  169. data/sig/privy/models.rbs +8 -0
  170. data/sig/privy/resources/webhooks.rbs +4 -0
  171. metadata +23 -2
@@ -8,48 +8,53 @@ module Privy
8
8
  T.any(Privy::CustomTokenTransferSource, Privy::Internal::AnyHash)
9
9
  end
10
10
 
11
- # Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
12
- # USDC, "0.01" for 0.01 ETH). For exact_input, specifies the amount to send. Not
13
- # in the smallest on-chain unit (wei, lamports, etc.). Maximum 100 characters.
14
- sig { returns(String) }
15
- attr_accessor :amount
16
-
17
11
  # The token contract address (EVM) or mint address (Solana) of the asset to
18
12
  # transfer.
19
13
  sig { returns(String) }
20
14
  attr_accessor :asset_address
21
15
 
22
16
  # The blockchain network on which to perform the transfer. Supported chains
23
- # include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
17
+ # include: 'tempo', 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
24
18
  # respective testnets.
25
19
  sig { returns(String) }
26
20
  attr_accessor :chain
27
21
 
22
+ # Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
23
+ # USDC, "0.01" for 0.01 ETH). For exact_input, specifies the amount to send. Not
24
+ # in the smallest on-chain unit (wei, lamports, etc.). Maximum 100 characters.
25
+ # Deprecated: use the top-level `amount` field instead.
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :amount
28
+
29
+ sig { params(amount: String).void }
30
+ attr_writer :amount
31
+
28
32
  # Source for a transfer identified by a token contract address (EVM) or mint
29
33
  # address (Solana). Use this variant for tokens that are not first-class assets.
30
34
  sig do
31
- params(amount: String, asset_address: String, chain: String).returns(
35
+ params(asset_address: String, chain: String, amount: String).returns(
32
36
  T.attached_class
33
37
  )
34
38
  end
35
39
  def self.new(
36
- # Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
37
- # USDC, "0.01" for 0.01 ETH). For exact_input, specifies the amount to send. Not
38
- # in the smallest on-chain unit (wei, lamports, etc.). Maximum 100 characters.
39
- amount:,
40
40
  # The token contract address (EVM) or mint address (Solana) of the asset to
41
41
  # transfer.
42
42
  asset_address:,
43
43
  # The blockchain network on which to perform the transfer. Supported chains
44
- # include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
44
+ # include: 'tempo', 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
45
45
  # respective testnets.
46
- chain:
46
+ chain:,
47
+ # Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
48
+ # USDC, "0.01" for 0.01 ETH). For exact_input, specifies the amount to send. Not
49
+ # in the smallest on-chain unit (wei, lamports, etc.). Maximum 100 characters.
50
+ # Deprecated: use the top-level `amount` field instead.
51
+ amount: nil
47
52
  )
48
53
  end
49
54
 
50
55
  sig do
51
56
  override.returns(
52
- { amount: String, asset_address: String, chain: String }
57
+ { asset_address: String, chain: String, amount: String }
53
58
  )
54
59
  end
55
60
  def to_hash
@@ -26,7 +26,7 @@ module Privy
26
26
  sig { params(address: String).void }
27
27
  attr_writer :address
28
28
 
29
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
29
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
30
30
  sig { returns(T.nilable(String)) }
31
31
  attr_reader :caip2
32
32
 
@@ -78,7 +78,7 @@ module Privy
78
78
  # Parameters for the EVM `personal_sign` RPC.
79
79
  params:,
80
80
  address: nil,
81
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
81
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
82
82
  caip2: nil,
83
83
  chain_type: nil,
84
84
  # Options controlling signature production for personal_sign and
@@ -8,7 +8,7 @@ module Privy
8
8
  T.any(Privy::EthereumSendCallsRpcInput, Privy::Internal::AnyHash)
9
9
  end
10
10
 
11
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
11
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
12
12
  sig { returns(String) }
13
13
  attr_accessor :caip2
14
14
 
@@ -79,7 +79,7 @@ module Privy
79
79
  ).returns(T.attached_class)
80
80
  end
81
81
  def self.new(
82
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
82
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
83
83
  caip2:,
84
84
  method_:,
85
85
  # Parameters for the `wallet_sendCalls` RPC.
@@ -11,7 +11,7 @@ module Privy
11
11
  )
12
12
  end
13
13
 
14
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
14
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
15
15
  sig { returns(String) }
16
16
  attr_accessor :caip2
17
17
 
@@ -23,7 +23,7 @@ module Privy
23
23
  params(caip2: String, transaction_id: String).returns(T.attached_class)
24
24
  end
25
25
  def self.new(
26
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
26
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
27
27
  caip2:,
28
28
  transaction_id:
29
29
  )
@@ -11,7 +11,7 @@ module Privy
11
11
  )
12
12
  end
13
13
 
14
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
14
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
15
15
  sig { returns(String) }
16
16
  attr_accessor :caip2
17
17
 
@@ -92,7 +92,7 @@ module Privy
92
92
  ).returns(T.attached_class)
93
93
  end
94
94
  def self.new(
95
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
95
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
96
96
  caip2:,
97
97
  method_:,
98
98
  # Parameters for the EVM `eth_sendTransaction` RPC.
@@ -11,7 +11,7 @@ module Privy
11
11
  )
12
12
  end
13
13
 
14
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
14
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
15
15
  sig { returns(String) }
16
16
  attr_accessor :caip2
17
17
 
@@ -65,7 +65,7 @@ module Privy
65
65
  ).returns(T.attached_class)
66
66
  end
67
67
  def self.new(
68
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
68
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
69
69
  caip2:,
70
70
  hash_:,
71
71
  reference_id: nil,
@@ -26,7 +26,7 @@ module Privy
26
26
  sig { params(address: String).void }
27
27
  attr_writer :address
28
28
 
29
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
29
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
30
30
  sig { returns(T.nilable(String)) }
31
31
  attr_reader :caip2
32
32
 
@@ -79,7 +79,7 @@ module Privy
79
79
  # Parameters for the EVM `eth_signTypedData_v4` RPC.
80
80
  params:,
81
81
  address: nil,
82
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
82
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
83
83
  caip2: nil,
84
84
  chain_type: nil,
85
85
  # Options controlling signature production for personal_sign and
@@ -25,7 +25,7 @@ module Privy
25
25
  sig { returns(T.nilable(Float)) }
26
26
  attr_accessor :available_liquidity_usd
27
27
 
28
- # Chain identifier (e.g., eip155:8453).
28
+ # Chain identifier (e.g., eip155:4217 for Tempo, eip155:8453 for Base).
29
29
  sig { returns(String) }
30
30
  attr_accessor :caip2
31
31
 
@@ -75,7 +75,7 @@ module Privy
75
75
  asset_address:,
76
76
  # Assets available for instant withdrawal in USD.
77
77
  available_liquidity_usd:,
78
- # Chain identifier (e.g., eip155:8453).
78
+ # Chain identifier (e.g., eip155:4217 for Tempo, eip155:8453 for Base).
79
79
  caip2:,
80
80
  # Human-readable vault name from the yield provider.
81
81
  name:,
@@ -8,14 +8,16 @@ module Privy
8
8
  T.any(Privy::EthereumYieldClaimInput, Privy::Internal::AnyHash)
9
9
  end
10
10
 
11
- # An EVM CAIP-2 chain identifier (e.g., "eip155:8453" for Base).
11
+ # An EVM CAIP-2 chain identifier (e.g., "eip155:4217" for Tempo, "eip155:8453" for
12
+ # Base).
12
13
  sig { returns(String) }
13
14
  attr_accessor :caip2
14
15
 
15
16
  # Input for claiming incentive rewards from vault participation.
16
17
  sig { params(caip2: String).returns(T.attached_class) }
17
18
  def self.new(
18
- # An EVM CAIP-2 chain identifier (e.g., "eip155:8453" for Base).
19
+ # An EVM CAIP-2 chain identifier (e.g., "eip155:4217" for Tempo, "eip155:8453" for
20
+ # Base).
19
21
  caip2:
20
22
  )
21
23
  end
@@ -12,7 +12,8 @@ module Privy
12
12
  sig { returns(String) }
13
13
  attr_accessor :id
14
14
 
15
- # An EVM CAIP-2 chain identifier (e.g., "eip155:8453" for Base).
15
+ # An EVM CAIP-2 chain identifier (e.g., "eip155:4217" for Tempo, "eip155:8453" for
16
+ # Base).
16
17
  sig { returns(String) }
17
18
  attr_accessor :caip2
18
19
 
@@ -46,7 +47,8 @@ module Privy
46
47
  def self.new(
47
48
  # Privy transaction record ID for the claim operation.
48
49
  id:,
49
- # An EVM CAIP-2 chain identifier (e.g., "eip155:8453" for Base).
50
+ # An EVM CAIP-2 chain identifier (e.g., "eip155:4217" for Tempo, "eip155:8453" for
51
+ # Base).
50
52
  caip2:,
51
53
  # Unix timestamp of when the claim was created, in milliseconds.
52
54
  created_at:,
@@ -12,6 +12,7 @@ module Privy
12
12
 
13
13
  MORPHO = T.let(:morpho, Privy::EthereumYieldProvider::TaggedSymbol)
14
14
  AAVE = T.let(:aave, Privy::EthereumYieldProvider::TaggedSymbol)
15
+ VEDA = T.let(:veda, Privy::EthereumYieldProvider::TaggedSymbol)
15
16
 
16
17
  sig do
17
18
  override.returns(T::Array[Privy::EthereumYieldProvider::TaggedSymbol])
@@ -17,8 +17,8 @@ module Privy
17
17
  sig { returns(String) }
18
18
  attr_accessor :asset
19
19
 
20
- # A CAIP-2 chain identifier in namespace:reference format (e.g. "eip155:1" for
21
- # Ethereum mainnet, "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" for Solana mainnet).
20
+ # A CAIP-2 chain identifier in namespace:reference format (e.g. "eip155:4217" for
21
+ # Tempo or "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" for Solana mainnet).
22
22
  sig { returns(String) }
23
23
  attr_accessor :chain
24
24
 
@@ -34,8 +34,8 @@ module Privy
34
34
  # case, 16-byte Hyperliquid token IDs normalize to lowercase, and all other
35
35
  # identifiers pass through unchanged.
36
36
  asset:,
37
- # A CAIP-2 chain identifier in namespace:reference format (e.g. "eip155:1" for
38
- # Ethereum mainnet, "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" for Solana mainnet).
37
+ # A CAIP-2 chain identifier in namespace:reference format (e.g. "eip155:4217" for
38
+ # Tempo or "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" for Solana mainnet).
39
39
  chain:
40
40
  )
41
41
  end
@@ -8,46 +8,51 @@ module Privy
8
8
  T.any(Privy::NamedTokenTransferSource, Privy::Internal::AnyHash)
9
9
  end
10
10
 
11
- # Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
12
- # USDC, "0.01" for 0.01 ETH). For exact_input, specifies the amount to send. Not
13
- # in the smallest on-chain unit (wei, lamports, etc.). Maximum 100 characters.
14
- sig { returns(String) }
15
- attr_accessor :amount
16
-
17
- # The asset to transfer. Supported: 'usdc', 'usdb', 'usdt' (stablecoins), 'eth'
18
- # (native Ethereum), 'sol' (native Solana).
11
+ # The asset to transfer. Supported: 'usdc', 'usdb', 'usdt', 'pathusd'
12
+ # (stablecoins), 'eth' (native Ethereum), 'sol' (native Solana).
19
13
  sig { returns(String) }
20
14
  attr_accessor :asset
21
15
 
22
16
  # The blockchain network on which to perform the transfer. Supported chains
23
- # include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
17
+ # include: 'tempo', 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
24
18
  # respective testnets.
25
19
  sig { returns(String) }
26
20
  attr_accessor :chain
27
21
 
22
+ # Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
23
+ # USDC, "0.01" for 0.01 ETH). For exact_input, specifies the amount to send. Not
24
+ # in the smallest on-chain unit (wei, lamports, etc.). Maximum 100 characters.
25
+ # Deprecated: use the top-level `amount` field instead.
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :amount
28
+
29
+ sig { params(amount: String).void }
30
+ attr_writer :amount
31
+
28
32
  # Source for a transfer identified by a named asset (e.g. "usdc", "eth"). Use this
29
33
  # variant for first-class assets maintained by Privy.
30
34
  sig do
31
- params(amount: String, asset: String, chain: String).returns(
35
+ params(asset: String, chain: String, amount: String).returns(
32
36
  T.attached_class
33
37
  )
34
38
  end
35
39
  def self.new(
36
- # Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
37
- # USDC, "0.01" for 0.01 ETH). For exact_input, specifies the amount to send. Not
38
- # in the smallest on-chain unit (wei, lamports, etc.). Maximum 100 characters.
39
- amount:,
40
- # The asset to transfer. Supported: 'usdc', 'usdb', 'usdt' (stablecoins), 'eth'
41
- # (native Ethereum), 'sol' (native Solana).
40
+ # The asset to transfer. Supported: 'usdc', 'usdb', 'usdt', 'pathusd'
41
+ # (stablecoins), 'eth' (native Ethereum), 'sol' (native Solana).
42
42
  asset:,
43
43
  # The blockchain network on which to perform the transfer. Supported chains
44
- # include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
44
+ # include: 'tempo', 'ethereum', 'base', 'arbitrum', 'polygon', 'solana', and their
45
45
  # respective testnets.
46
- chain:
46
+ chain:,
47
+ # Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5
48
+ # USDC, "0.01" for 0.01 ETH). For exact_input, specifies the amount to send. Not
49
+ # in the smallest on-chain unit (wei, lamports, etc.). Maximum 100 characters.
50
+ # Deprecated: use the top-level `amount` field instead.
51
+ amount: nil
47
52
  )
48
53
  end
49
54
 
50
- sig { override.returns({ amount: String, asset: String, chain: String }) }
55
+ sig { override.returns({ asset: String, chain: String, amount: String }) }
51
56
  def to_hash
52
57
  end
53
58
  end
@@ -11,7 +11,7 @@ module Privy
11
11
  )
12
12
  end
13
13
 
14
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
14
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
15
15
  sig { returns(String) }
16
16
  attr_accessor :caip2
17
17
 
@@ -96,7 +96,7 @@ module Privy
96
96
  ).returns(T.attached_class)
97
97
  end
98
98
  def self.new(
99
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
99
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
100
100
  caip2:,
101
101
  method_:,
102
102
  # Parameters for the SVM `signAndSendTransaction` RPC.
@@ -11,7 +11,7 @@ module Privy
11
11
  )
12
12
  end
13
13
 
14
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
14
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
15
15
  sig { returns(String) }
16
16
  attr_accessor :caip2
17
17
 
@@ -44,7 +44,7 @@ module Privy
44
44
  ).returns(T.attached_class)
45
45
  end
46
46
  def self.new(
47
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
47
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
48
48
  caip2:,
49
49
  hash_:,
50
50
  reference_id: nil,
@@ -10,7 +10,8 @@ module Privy
10
10
  sig { returns(String) }
11
11
  attr_accessor :asset_address
12
12
 
13
- # CAIP-2 chain identifier (e.g., "eip155:1").
13
+ # CAIP-2 chain identifier (e.g., "eip155:4217" for Tempo, "eip155:1" for
14
+ # Ethereum).
14
15
  sig { returns(String) }
15
16
  attr_accessor :caip2
16
17
 
@@ -21,7 +22,8 @@ module Privy
21
22
  def self.new(
22
23
  # Token contract address to sell, or "native" for the chain's native token.
23
24
  asset_address:,
24
- # CAIP-2 chain identifier (e.g., "eip155:1").
25
+ # CAIP-2 chain identifier (e.g., "eip155:4217" for Tempo, "eip155:1" for
26
+ # Ethereum).
25
27
  caip2:
26
28
  )
27
29
  end
@@ -21,7 +21,7 @@ module Privy
21
21
  attr_writer :asset
22
22
 
23
23
  # The destination blockchain network. Required for cross-chain transfers (e.g.,
24
- # source 'base' to destination 'arbitrum').
24
+ # source 'tempo' to destination 'base').
25
25
  sig { returns(T.nilable(String)) }
26
26
  attr_reader :chain
27
27
 
@@ -42,7 +42,7 @@ module Privy
42
42
  # to destination 'usdc').
43
43
  asset: nil,
44
44
  # The destination blockchain network. Required for cross-chain transfers (e.g.,
45
- # source 'base' to destination 'arbitrum').
45
+ # source 'tempo' to destination 'base').
46
46
  chain: nil
47
47
  )
48
48
  end
@@ -11,7 +11,8 @@ module Privy
11
11
  )
12
12
  end
13
13
 
14
- # The CAIP-2 chain identifier (e.g., eip155:1 for Ethereum mainnet).
14
+ # The CAIP-2 chain identifier (e.g., eip155:4217 for Tempo, eip155:1 for Ethereum
15
+ # mainnet).
15
16
  sig { returns(String) }
16
17
  attr_accessor :caip2
17
18
 
@@ -50,7 +51,8 @@ module Privy
50
51
  ).returns(T.attached_class)
51
52
  end
52
53
  def self.new(
53
- # The CAIP-2 chain identifier (e.g., eip155:1 for Ethereum mainnet).
54
+ # The CAIP-2 chain identifier (e.g., eip155:4217 for Tempo, eip155:1 for Ethereum
55
+ # mainnet).
54
56
  caip2:,
55
57
  # The blockchain transaction hash.
56
58
  transaction_hash:,
@@ -17,6 +17,8 @@ module Privy
17
17
  AVALANCHE =
18
18
  T.let(:avalanche, Privy::TransactionChainNameInput::TaggedSymbol)
19
19
  BASE = T.let(:base, Privy::TransactionChainNameInput::TaggedSymbol)
20
+ BASE_SEPOLIA =
21
+ T.let(:base_sepolia, Privy::TransactionChainNameInput::TaggedSymbol)
20
22
  BSC = T.let(:bsc, Privy::TransactionChainNameInput::TaggedSymbol)
21
23
  TEMPO = T.let(:tempo, Privy::TransactionChainNameInput::TaggedSymbol)
22
24
  LINEA = T.let(:linea, Privy::TransactionChainNameInput::TaggedSymbol)
@@ -11,7 +11,8 @@ module Privy
11
11
  )
12
12
  end
13
13
 
14
- # The CAIP-2 chain identifier (e.g., eip155:1 for Ethereum mainnet).
14
+ # The CAIP-2 chain identifier (e.g., eip155:4217 for Tempo, eip155:1 for Ethereum
15
+ # mainnet).
15
16
  sig { returns(String) }
16
17
  attr_accessor :caip2
17
18
 
@@ -50,7 +51,8 @@ module Privy
50
51
  ).returns(T.attached_class)
51
52
  end
52
53
  def self.new(
53
- # The CAIP-2 chain identifier (e.g., eip155:1 for Ethereum mainnet).
54
+ # The CAIP-2 chain identifier (e.g., eip155:4217 for Tempo, eip155:1 for Ethereum
55
+ # mainnet).
54
56
  caip2:,
55
57
  # The blockchain transaction hash.
56
58
  transaction_hash:,
@@ -11,7 +11,8 @@ module Privy
11
11
  )
12
12
  end
13
13
 
14
- # The CAIP-2 chain identifier (e.g., eip155:1 for Ethereum mainnet).
14
+ # The CAIP-2 chain identifier (e.g., eip155:4217 for Tempo, eip155:1 for Ethereum
15
+ # mainnet).
15
16
  sig { returns(String) }
16
17
  attr_accessor :caip2
17
18
 
@@ -53,7 +54,8 @@ module Privy
53
54
  ).returns(T.attached_class)
54
55
  end
55
56
  def self.new(
56
- # The CAIP-2 chain identifier (e.g., eip155:1 for Ethereum mainnet).
57
+ # The CAIP-2 chain identifier (e.g., eip155:4217 for Tempo, eip155:1 for Ethereum
58
+ # mainnet).
57
59
  caip2:,
58
60
  # The blockchain transaction hash.
59
61
  transaction_hash:,
@@ -11,7 +11,8 @@ module Privy
11
11
  )
12
12
  end
13
13
 
14
- # The CAIP-2 chain identifier (e.g., eip155:1 for Ethereum mainnet).
14
+ # The CAIP-2 chain identifier (e.g., eip155:4217 for Tempo, eip155:1 for Ethereum
15
+ # mainnet).
15
16
  sig { returns(String) }
16
17
  attr_accessor :caip2
17
18
 
@@ -50,7 +51,8 @@ module Privy
50
51
  ).returns(T.attached_class)
51
52
  end
52
53
  def self.new(
53
- # The CAIP-2 chain identifier (e.g., eip155:1 for Ethereum mainnet).
54
+ # The CAIP-2 chain identifier (e.g., eip155:4217 for Tempo, eip155:1 for Ethereum
55
+ # mainnet).
54
56
  caip2:,
55
57
  # The blockchain transaction hash.
56
58
  transaction_hash:,
@@ -11,7 +11,8 @@ module Privy
11
11
  )
12
12
  end
13
13
 
14
- # The CAIP-2 chain identifier (e.g., eip155:1 for Ethereum mainnet).
14
+ # The CAIP-2 chain identifier (e.g., eip155:4217 for Tempo, eip155:1 for Ethereum
15
+ # mainnet).
15
16
  sig { returns(String) }
16
17
  attr_accessor :caip2
17
18
 
@@ -52,7 +53,8 @@ module Privy
52
53
  ).returns(T.attached_class)
53
54
  end
54
55
  def self.new(
55
- # The CAIP-2 chain identifier (e.g., eip155:1 for Ethereum mainnet).
56
+ # The CAIP-2 chain identifier (e.g., eip155:4217 for Tempo, eip155:1 for Ethereum
57
+ # mainnet).
56
58
  caip2:,
57
59
  # The blockchain transaction hash.
58
60
  transaction_hash:,
@@ -11,7 +11,8 @@ module Privy
11
11
  )
12
12
  end
13
13
 
14
- # The CAIP-2 chain identifier (e.g., eip155:1 for Ethereum mainnet).
14
+ # The CAIP-2 chain identifier (e.g., eip155:4217 for Tempo, eip155:1 for Ethereum
15
+ # mainnet).
15
16
  sig { returns(String) }
16
17
  attr_accessor :caip2
17
18
 
@@ -50,7 +51,8 @@ module Privy
50
51
  ).returns(T.attached_class)
51
52
  end
52
53
  def self.new(
53
- # The CAIP-2 chain identifier (e.g., eip155:1 for Ethereum mainnet).
54
+ # The CAIP-2 chain identifier (e.g., eip155:4217 for Tempo, eip155:1 for Ethereum
55
+ # mainnet).
54
56
  caip2:,
55
57
  # The blockchain transaction hash.
56
58
  transaction_hash:,
@@ -11,7 +11,8 @@ module Privy
11
11
  )
12
12
  end
13
13
 
14
- # The CAIP-2 chain identifier (e.g., eip155:1 for Ethereum mainnet).
14
+ # The CAIP-2 chain identifier (e.g., eip155:4217 for Tempo, eip155:1 for Ethereum
15
+ # mainnet).
15
16
  sig { returns(String) }
16
17
  attr_accessor :caip2
17
18
 
@@ -67,7 +68,8 @@ module Privy
67
68
  ).returns(T.attached_class)
68
69
  end
69
70
  def self.new(
70
- # The CAIP-2 chain identifier (e.g., eip155:1 for Ethereum mainnet).
71
+ # The CAIP-2 chain identifier (e.g., eip155:4217 for Tempo, eip155:1 for Ethereum
72
+ # mainnet).
71
73
  caip2:,
72
74
  # The blockchain transaction hash.
73
75
  transaction_hash:,
@@ -167,6 +167,11 @@ module Privy
167
167
  :usdb,
168
168
  Privy::TransferReceivedTransactionDetail::Asset::TaggedSymbol
169
169
  )
170
+ PATHUSD =
171
+ T.let(
172
+ :pathusd,
173
+ Privy::TransferReceivedTransactionDetail::Asset::TaggedSymbol
174
+ )
170
175
  SOL =
171
176
  T.let(
172
177
  :sol,
@@ -153,6 +153,11 @@ module Privy
153
153
  :usdb,
154
154
  Privy::TransferSentTransactionDetail::Asset::TaggedSymbol
155
155
  )
156
+ PATHUSD =
157
+ T.let(
158
+ :pathusd,
159
+ Privy::TransferSentTransactionDetail::Asset::TaggedSymbol
160
+ )
156
161
  SOL =
157
162
  T.let(:sol, Privy::TransferSentTransactionDetail::Asset::TaggedSymbol)
158
163
  TRX =
@@ -20,7 +20,7 @@ module Privy
20
20
  end
21
21
  attr_writer :params
22
22
 
23
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
23
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
24
24
  sig { returns(T.nilable(String)) }
25
25
  attr_reader :caip2
26
26
 
@@ -40,7 +40,7 @@ module Privy
40
40
  method_:,
41
41
  # Parameters for the Tron `tron_sendTransaction` RPC.
42
42
  params:,
43
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
43
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
44
44
  caip2: nil
45
45
  )
46
46
  end
@@ -11,7 +11,7 @@ module Privy
11
11
  )
12
12
  end
13
13
 
14
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
14
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
15
15
  sig { returns(String) }
16
16
  attr_accessor :caip2
17
17
 
@@ -37,7 +37,7 @@ module Privy
37
37
  ).returns(T.attached_class)
38
38
  end
39
39
  def self.new(
40
- # A valid CAIP-2 chain ID (e.g. 'eip155:1').
40
+ # A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum).
41
41
  caip2:,
42
42
  hash_:,
43
43
  transaction_id:,
@@ -42,6 +42,10 @@ module Privy
42
42
  Privy::WalletActionEarnDepositFailedWebhookPayload,
43
43
  Privy::WalletActionEarnDepositRejectedWebhookPayload,
44
44
  Privy::WalletActionEarnDepositSucceededWebhookPayload,
45
+ Privy::WalletActionEarnFeeCollectCreatedWebhookPayload,
46
+ Privy::WalletActionEarnFeeCollectFailedWebhookPayload,
47
+ Privy::WalletActionEarnFeeCollectRejectedWebhookPayload,
48
+ Privy::WalletActionEarnFeeCollectSucceededWebhookPayload,
45
49
  Privy::WalletActionEarnIncentiveClaimCreatedWebhookPayload,
46
50
  Privy::WalletActionEarnIncentiveClaimFailedWebhookPayload,
47
51
  Privy::WalletActionEarnIncentiveClaimRejectedWebhookPayload,