turnkey_client 0.0.15 → 0.0.18

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/.gitignore +39 -0
  3. data/.rspec +2 -0
  4. data/.swagger-codegen/VERSION +1 -0
  5. data/.swagger-codegen-ignore +23 -0
  6. data/lib/turnkey_client/api/app_proof_api.rb +4 -4
  7. data/lib/turnkey_client/api/broadcasting_api.rb +251 -0
  8. data/lib/turnkey_client/api/on_ramp_api.rb +290 -0
  9. data/lib/turnkey_client/api/policies_api.rb +58 -0
  10. data/lib/turnkey_client/api/send_transactions_api.rb +77 -0
  11. data/lib/turnkey_client/api/wallets_api.rb +174 -0
  12. data/lib/turnkey_client/models/activity.rb +1 -1
  13. data/lib/turnkey_client/models/activity_type.rb +16 -0
  14. data/lib/turnkey_client/models/approve_activity_request.rb +14 -4
  15. data/lib/turnkey_client/models/asset_balance.rb +255 -0
  16. data/lib/turnkey_client/models/asset_balance_display.rb +216 -0
  17. data/lib/turnkey_client/models/asset_metadata.rb +246 -0
  18. data/lib/turnkey_client/models/client_signature.rb +255 -0
  19. data/lib/turnkey_client/models/client_signature_scheme.rb +26 -0
  20. data/lib/turnkey_client/models/create_api_keys_request.rb +14 -4
  21. data/lib/turnkey_client/models/create_authenticators_request.rb +14 -4
  22. data/lib/turnkey_client/models/create_fiat_on_ramp_credential_intent.rb +272 -0
  23. data/lib/turnkey_client/models/create_fiat_on_ramp_credential_request.rb +298 -0
  24. data/lib/turnkey_client/models/create_fiat_on_ramp_credential_result.rb +211 -0
  25. data/lib/turnkey_client/models/create_invitations_request.rb +14 -4
  26. data/lib/turnkey_client/models/create_oauth2_credential_request.rb +14 -4
  27. data/lib/turnkey_client/models/create_oauth_providers_request.rb +14 -4
  28. data/lib/turnkey_client/models/create_policies_request.rb +14 -4
  29. data/lib/turnkey_client/models/create_policy_intent_v3.rb +6 -0
  30. data/lib/turnkey_client/models/create_policy_request.rb +14 -4
  31. data/lib/turnkey_client/models/create_private_key_tag_request.rb +14 -4
  32. data/lib/turnkey_client/models/create_private_keys_request.rb +14 -4
  33. data/lib/turnkey_client/models/create_read_only_session_request.rb +14 -4
  34. data/lib/turnkey_client/models/create_read_write_session_request.rb +14 -4
  35. data/lib/turnkey_client/models/create_smart_contract_interface_intent.rb +1 -1
  36. data/lib/turnkey_client/models/create_smart_contract_interface_request.rb +14 -4
  37. data/lib/turnkey_client/models/create_sub_organization_intent_v7.rb +14 -5
  38. data/lib/turnkey_client/models/create_sub_organization_request.rb +14 -4
  39. data/lib/turnkey_client/models/create_tvc_app_intent.rb +277 -0
  40. data/lib/turnkey_client/models/create_tvc_app_result.rb +258 -0
  41. data/lib/turnkey_client/models/create_tvc_deployment_intent.rb +368 -0
  42. data/lib/turnkey_client/models/create_tvc_deployment_result.rb +226 -0
  43. data/lib/turnkey_client/models/create_tvc_manifest_approvals_intent.rb +228 -0
  44. data/lib/turnkey_client/models/create_tvc_manifest_approvals_result.rb +213 -0
  45. data/lib/turnkey_client/models/create_user_tag_request.rb +14 -4
  46. data/lib/turnkey_client/models/create_users_request.rb +14 -4
  47. data/lib/turnkey_client/models/create_wallet_accounts_intent.rb +15 -4
  48. data/lib/turnkey_client/models/create_wallet_accounts_request.rb +14 -4
  49. data/lib/turnkey_client/models/create_wallet_request.rb +14 -4
  50. data/lib/turnkey_client/models/curve.rb +1 -0
  51. data/lib/turnkey_client/models/custom_revert_error.rb +218 -0
  52. data/lib/turnkey_client/models/data_v1_signature_scheme.rb +26 -0
  53. data/lib/turnkey_client/models/delete_api_keys_request.rb +14 -4
  54. data/lib/turnkey_client/models/delete_authenticators_request.rb +14 -4
  55. data/lib/turnkey_client/models/delete_fiat_on_ramp_credential_intent.rb +211 -0
  56. data/lib/turnkey_client/models/delete_fiat_on_ramp_credential_request.rb +298 -0
  57. data/lib/turnkey_client/models/delete_fiat_on_ramp_credential_result.rb +211 -0
  58. data/lib/turnkey_client/models/delete_invitation_request.rb +14 -4
  59. data/lib/turnkey_client/models/delete_oauth2_credential_request.rb +14 -4
  60. data/lib/turnkey_client/models/delete_oauth_providers_request.rb +14 -4
  61. data/lib/turnkey_client/models/delete_policies_intent.rb +213 -0
  62. data/lib/turnkey_client/models/delete_policies_request.rb +298 -0
  63. data/lib/turnkey_client/models/delete_policies_result.rb +213 -0
  64. data/lib/turnkey_client/models/delete_policy_request.rb +14 -4
  65. data/lib/turnkey_client/models/delete_private_key_tags_request.rb +14 -4
  66. data/lib/turnkey_client/models/delete_private_keys_request.rb +14 -4
  67. data/lib/turnkey_client/models/delete_smart_contract_interface_request.rb +14 -4
  68. data/lib/turnkey_client/models/delete_sub_organization_request.rb +14 -4
  69. data/lib/turnkey_client/models/delete_user_tags_request.rb +14 -4
  70. data/lib/turnkey_client/models/delete_users_request.rb +14 -4
  71. data/lib/turnkey_client/models/delete_wallet_accounts_intent.rb +224 -0
  72. data/lib/turnkey_client/models/delete_wallet_accounts_request.rb +298 -0
  73. data/lib/turnkey_client/models/delete_wallet_accounts_result.rb +213 -0
  74. data/lib/turnkey_client/models/delete_wallets_request.rb +14 -4
  75. data/lib/turnkey_client/models/email_auth_customization_params.rb +255 -0
  76. data/lib/turnkey_client/models/email_auth_intent_v3.rb +306 -0
  77. data/lib/turnkey_client/models/email_auth_request.rb +16 -6
  78. data/lib/turnkey_client/models/email_customization_params_v2.rb +240 -0
  79. data/lib/turnkey_client/models/eth_send_raw_transaction_intent.rb +260 -0
  80. data/lib/turnkey_client/models/eth_send_raw_transaction_result.rb +211 -0
  81. data/lib/turnkey_client/models/eth_send_transaction_intent.rb +363 -0
  82. data/lib/turnkey_client/models/eth_send_transaction_request.rb +298 -0
  83. data/lib/turnkey_client/models/eth_send_transaction_result.rb +211 -0
  84. data/lib/turnkey_client/models/eth_send_transaction_status.rb +207 -0
  85. data/lib/turnkey_client/models/export_private_key_request.rb +14 -4
  86. data/lib/turnkey_client/models/export_wallet_account_request.rb +14 -4
  87. data/lib/turnkey_client/models/export_wallet_request.rb +14 -4
  88. data/lib/turnkey_client/models/fiat_on_ramp_credential.rb +330 -0
  89. data/lib/turnkey_client/models/get_gas_usage_request.rb +211 -0
  90. data/lib/turnkey_client/models/get_gas_usage_response.rb +241 -0
  91. data/lib/turnkey_client/models/get_nonces_request.rb +295 -0
  92. data/lib/turnkey_client/models/get_nonces_response.rb +218 -0
  93. data/lib/turnkey_client/models/get_on_ramp_transaction_status_request.rb +237 -0
  94. data/lib/turnkey_client/models/get_on_ramp_transaction_status_response.rb +211 -0
  95. data/lib/turnkey_client/models/get_send_transaction_status_request.rb +226 -0
  96. data/lib/turnkey_client/models/get_send_transaction_status_response.rb +240 -0
  97. data/lib/turnkey_client/models/get_wallet_address_balances_request.rb +275 -0
  98. data/lib/turnkey_client/models/get_wallet_address_balances_response.rb +208 -0
  99. data/lib/turnkey_client/models/import_private_key_request.rb +14 -4
  100. data/lib/turnkey_client/models/import_wallet_request.rb +14 -4
  101. data/lib/turnkey_client/models/init_fiat_on_ramp_request.rb +14 -4
  102. data/lib/turnkey_client/models/init_import_private_key_request.rb +14 -4
  103. data/lib/turnkey_client/models/init_import_wallet_request.rb +14 -4
  104. data/lib/turnkey_client/models/init_otp_auth_intent_v3.rb +336 -0
  105. data/lib/turnkey_client/models/init_otp_auth_request.rb +16 -6
  106. data/lib/turnkey_client/models/init_otp_intent_v2.rb +336 -0
  107. data/lib/turnkey_client/models/init_otp_request.rb +16 -6
  108. data/lib/turnkey_client/models/init_user_email_recovery_intent.rb +37 -4
  109. data/lib/turnkey_client/models/init_user_email_recovery_intent_v2.rb +284 -0
  110. data/lib/turnkey_client/models/init_user_email_recovery_request.rb +16 -6
  111. data/lib/turnkey_client/models/intent.rb +148 -4
  112. data/lib/turnkey_client/models/list_fiat_on_ramp_credentials_request.rb +211 -0
  113. data/lib/turnkey_client/models/list_fiat_on_ramp_credentials_response.rb +212 -0
  114. data/lib/turnkey_client/models/list_supported_assets_request.rb +260 -0
  115. data/lib/turnkey_client/models/list_supported_assets_response.rb +208 -0
  116. data/lib/turnkey_client/models/native_revert_error.rb +229 -0
  117. data/lib/turnkey_client/models/oauth2_authenticate_request.rb +14 -4
  118. data/lib/turnkey_client/models/oauth_login_request.rb +14 -4
  119. data/lib/turnkey_client/models/oauth_request.rb +14 -4
  120. data/lib/turnkey_client/models/otp_auth_request.rb +14 -4
  121. data/lib/turnkey_client/models/otp_login_intent.rb +0 -2
  122. data/lib/turnkey_client/models/otp_login_request.rb +14 -4
  123. data/lib/turnkey_client/models/recover_user_request.rb +14 -4
  124. data/lib/turnkey_client/models/reject_activity_request.rb +14 -4
  125. data/lib/turnkey_client/models/remove_organization_feature_request.rb +14 -4
  126. data/lib/turnkey_client/models/result.rb +112 -4
  127. data/lib/turnkey_client/models/revert_chain_entry.rb +253 -0
  128. data/lib/turnkey_client/models/set_organization_feature_request.rb +14 -4
  129. data/lib/turnkey_client/models/sign_raw_payload_request.rb +14 -4
  130. data/lib/turnkey_client/models/sign_raw_payloads_request.rb +14 -4
  131. data/lib/turnkey_client/models/sign_transaction_request.rb +14 -4
  132. data/lib/turnkey_client/models/sol_send_transaction_intent.rb +297 -0
  133. data/lib/turnkey_client/models/sol_send_transaction_request.rb +298 -0
  134. data/lib/turnkey_client/models/sol_send_transaction_result.rb +211 -0
  135. data/lib/turnkey_client/models/stamp_login_request.rb +14 -4
  136. data/lib/turnkey_client/models/transaction_type.rb +2 -0
  137. data/lib/turnkey_client/models/tvc_manifest_approval.rb +226 -0
  138. data/lib/turnkey_client/models/tvc_operator_params.rb +226 -0
  139. data/lib/turnkey_client/models/tvc_operator_set_params.rb +250 -0
  140. data/lib/turnkey_client/models/tx_error.rb +218 -0
  141. data/lib/turnkey_client/models/unknown_revert_error.rb +218 -0
  142. data/lib/turnkey_client/models/update_auth_proxy_config_intent.rb +27 -5
  143. data/lib/turnkey_client/models/update_fiat_on_ramp_credential_intent.rb +277 -0
  144. data/lib/turnkey_client/models/update_fiat_on_ramp_credential_request.rb +298 -0
  145. data/lib/turnkey_client/models/update_fiat_on_ramp_credential_result.rb +211 -0
  146. data/lib/turnkey_client/models/update_oauth2_credential_request.rb +14 -4
  147. data/lib/turnkey_client/models/update_policy_request.rb +14 -4
  148. data/lib/turnkey_client/models/update_private_key_tag_request.rb +14 -4
  149. data/lib/turnkey_client/models/update_root_quorum_request.rb +14 -4
  150. data/lib/turnkey_client/models/update_user_email_request.rb +14 -4
  151. data/lib/turnkey_client/models/update_user_name_request.rb +14 -4
  152. data/lib/turnkey_client/models/update_user_phone_number_request.rb +14 -4
  153. data/lib/turnkey_client/models/update_user_request.rb +14 -4
  154. data/lib/turnkey_client/models/update_user_tag_request.rb +14 -4
  155. data/lib/turnkey_client/models/update_wallet_request.rb +14 -4
  156. data/lib/turnkey_client/models/upsert_gas_usage_config_intent.rb +252 -0
  157. data/lib/turnkey_client/models/upsert_gas_usage_config_result.rb +211 -0
  158. data/lib/turnkey_client/models/verify_otp_request.rb +14 -4
  159. data/lib/turnkey_client/version.rb +1 -1
  160. data/lib/turnkey_client.rb +70 -2
  161. data/turnkey_client.gemspec +1 -1
  162. metadata +76 -12
  163. data/turnkey_client-0.0.12.gem +0 -0
  164. data/turnkey_client-0.0.13.gem +0 -0
  165. data/turnkey_client-0.0.14.gem +0 -0
  166. data/turnkey_client-0.0.2.gem +0 -0
  167. data/turnkey_client-0.0.3.gem +0 -0
  168. data/turnkey_client-0.0.4.gem +0 -0
  169. data/turnkey_client-0.0.7.gem +0 -0
  170. data/turnkey_client-0.0.8.gem +0 -0
  171. data/turnkey_client-0.0.9.gem +0 -0
@@ -22,6 +22,8 @@ module TurnkeyClient
22
22
 
23
23
  attr_accessor :parameters
24
24
 
25
+ attr_accessor :generate_app_proofs
26
+
25
27
  class EnumAttributeValidator
26
28
  attr_reader :datatype
27
29
  attr_reader :allowable_values
@@ -50,7 +52,8 @@ module TurnkeyClient
50
52
  :'type' => :'type',
51
53
  :'timestamp_ms' => :'timestampMs',
52
54
  :'organization_id' => :'organizationId',
53
- :'parameters' => :'parameters'
55
+ :'parameters' => :'parameters',
56
+ :'generate_app_proofs' => :'generateAppProofs'
54
57
  }
55
58
  end
56
59
 
@@ -60,13 +63,15 @@ module TurnkeyClient
60
63
  :'type' => :'Object',
61
64
  :'timestamp_ms' => :'Object',
62
65
  :'organization_id' => :'Object',
63
- :'parameters' => :'Object'
66
+ :'parameters' => :'Object',
67
+ :'generate_app_proofs' => :'Object'
64
68
  }
65
69
  end
66
70
 
67
71
  # List of attributes with nullable: true
68
72
  def self.openapi_nullable
69
73
  Set.new([
74
+ :'generate_app_proofs'
70
75
  ])
71
76
  end
72
77
 
@@ -100,6 +105,10 @@ module TurnkeyClient
100
105
  if attributes.key?(:'parameters')
101
106
  self.parameters = attributes[:'parameters']
102
107
  end
108
+
109
+ if attributes.key?(:'generate_app_proofs')
110
+ self.generate_app_proofs = attributes[:'generate_app_proofs']
111
+ end
103
112
  end
104
113
 
105
114
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -155,7 +164,8 @@ module TurnkeyClient
155
164
  type == o.type &&
156
165
  timestamp_ms == o.timestamp_ms &&
157
166
  organization_id == o.organization_id &&
158
- parameters == o.parameters
167
+ parameters == o.parameters &&
168
+ generate_app_proofs == o.generate_app_proofs
159
169
  end
160
170
 
161
171
  # @see the `==` method
@@ -167,7 +177,7 @@ module TurnkeyClient
167
177
  # Calculates hash code according to all attributes.
168
178
  # @return [Integer] Hash code
169
179
  def hash
170
- [type, timestamp_ms, organization_id, parameters].hash
180
+ [type, timestamp_ms, organization_id, parameters, generate_app_proofs].hash
171
181
  end
172
182
 
173
183
  # Builds the object from hash
@@ -22,6 +22,8 @@ module TurnkeyClient
22
22
 
23
23
  attr_accessor :parameters
24
24
 
25
+ attr_accessor :generate_app_proofs
26
+
25
27
  class EnumAttributeValidator
26
28
  attr_reader :datatype
27
29
  attr_reader :allowable_values
@@ -50,7 +52,8 @@ module TurnkeyClient
50
52
  :'type' => :'type',
51
53
  :'timestamp_ms' => :'timestampMs',
52
54
  :'organization_id' => :'organizationId',
53
- :'parameters' => :'parameters'
55
+ :'parameters' => :'parameters',
56
+ :'generate_app_proofs' => :'generateAppProofs'
54
57
  }
55
58
  end
56
59
 
@@ -60,13 +63,15 @@ module TurnkeyClient
60
63
  :'type' => :'Object',
61
64
  :'timestamp_ms' => :'Object',
62
65
  :'organization_id' => :'Object',
63
- :'parameters' => :'Object'
66
+ :'parameters' => :'Object',
67
+ :'generate_app_proofs' => :'Object'
64
68
  }
65
69
  end
66
70
 
67
71
  # List of attributes with nullable: true
68
72
  def self.openapi_nullable
69
73
  Set.new([
74
+ :'generate_app_proofs'
70
75
  ])
71
76
  end
72
77
 
@@ -100,6 +105,10 @@ module TurnkeyClient
100
105
  if attributes.key?(:'parameters')
101
106
  self.parameters = attributes[:'parameters']
102
107
  end
108
+
109
+ if attributes.key?(:'generate_app_proofs')
110
+ self.generate_app_proofs = attributes[:'generate_app_proofs']
111
+ end
103
112
  end
104
113
 
105
114
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -155,7 +164,8 @@ module TurnkeyClient
155
164
  type == o.type &&
156
165
  timestamp_ms == o.timestamp_ms &&
157
166
  organization_id == o.organization_id &&
158
- parameters == o.parameters
167
+ parameters == o.parameters &&
168
+ generate_app_proofs == o.generate_app_proofs
159
169
  end
160
170
 
161
171
  # @see the `==` method
@@ -167,7 +177,7 @@ module TurnkeyClient
167
177
  # Calculates hash code according to all attributes.
168
178
  # @return [Integer] Hash code
169
179
  def hash
170
- [type, timestamp_ms, organization_id, parameters].hash
180
+ [type, timestamp_ms, organization_id, parameters, generate_app_proofs].hash
171
181
  end
172
182
 
173
183
  # Builds the object from hash
@@ -22,6 +22,8 @@ module TurnkeyClient
22
22
 
23
23
  attr_accessor :parameters
24
24
 
25
+ attr_accessor :generate_app_proofs
26
+
25
27
  class EnumAttributeValidator
26
28
  attr_reader :datatype
27
29
  attr_reader :allowable_values
@@ -50,7 +52,8 @@ module TurnkeyClient
50
52
  :'type' => :'type',
51
53
  :'timestamp_ms' => :'timestampMs',
52
54
  :'organization_id' => :'organizationId',
53
- :'parameters' => :'parameters'
55
+ :'parameters' => :'parameters',
56
+ :'generate_app_proofs' => :'generateAppProofs'
54
57
  }
55
58
  end
56
59
 
@@ -60,13 +63,15 @@ module TurnkeyClient
60
63
  :'type' => :'Object',
61
64
  :'timestamp_ms' => :'Object',
62
65
  :'organization_id' => :'Object',
63
- :'parameters' => :'Object'
66
+ :'parameters' => :'Object',
67
+ :'generate_app_proofs' => :'Object'
64
68
  }
65
69
  end
66
70
 
67
71
  # List of attributes with nullable: true
68
72
  def self.openapi_nullable
69
73
  Set.new([
74
+ :'generate_app_proofs'
70
75
  ])
71
76
  end
72
77
 
@@ -100,6 +105,10 @@ module TurnkeyClient
100
105
  if attributes.key?(:'parameters')
101
106
  self.parameters = attributes[:'parameters']
102
107
  end
108
+
109
+ if attributes.key?(:'generate_app_proofs')
110
+ self.generate_app_proofs = attributes[:'generate_app_proofs']
111
+ end
103
112
  end
104
113
 
105
114
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -155,7 +164,8 @@ module TurnkeyClient
155
164
  type == o.type &&
156
165
  timestamp_ms == o.timestamp_ms &&
157
166
  organization_id == o.organization_id &&
158
- parameters == o.parameters
167
+ parameters == o.parameters &&
168
+ generate_app_proofs == o.generate_app_proofs
159
169
  end
160
170
 
161
171
  # @see the `==` method
@@ -167,7 +177,7 @@ module TurnkeyClient
167
177
  # Calculates hash code according to all attributes.
168
178
  # @return [Integer] Hash code
169
179
  def hash
170
- [type, timestamp_ms, organization_id, parameters].hash
180
+ [type, timestamp_ms, organization_id, parameters, generate_app_proofs].hash
171
181
  end
172
182
 
173
183
  # Builds the object from hash
@@ -22,6 +22,8 @@ module TurnkeyClient
22
22
 
23
23
  attr_accessor :parameters
24
24
 
25
+ attr_accessor :generate_app_proofs
26
+
25
27
  class EnumAttributeValidator
26
28
  attr_reader :datatype
27
29
  attr_reader :allowable_values
@@ -50,7 +52,8 @@ module TurnkeyClient
50
52
  :'type' => :'type',
51
53
  :'timestamp_ms' => :'timestampMs',
52
54
  :'organization_id' => :'organizationId',
53
- :'parameters' => :'parameters'
55
+ :'parameters' => :'parameters',
56
+ :'generate_app_proofs' => :'generateAppProofs'
54
57
  }
55
58
  end
56
59
 
@@ -60,13 +63,15 @@ module TurnkeyClient
60
63
  :'type' => :'Object',
61
64
  :'timestamp_ms' => :'Object',
62
65
  :'organization_id' => :'Object',
63
- :'parameters' => :'Object'
66
+ :'parameters' => :'Object',
67
+ :'generate_app_proofs' => :'Object'
64
68
  }
65
69
  end
66
70
 
67
71
  # List of attributes with nullable: true
68
72
  def self.openapi_nullable
69
73
  Set.new([
74
+ :'generate_app_proofs'
70
75
  ])
71
76
  end
72
77
 
@@ -100,6 +105,10 @@ module TurnkeyClient
100
105
  if attributes.key?(:'parameters')
101
106
  self.parameters = attributes[:'parameters']
102
107
  end
108
+
109
+ if attributes.key?(:'generate_app_proofs')
110
+ self.generate_app_proofs = attributes[:'generate_app_proofs']
111
+ end
103
112
  end
104
113
 
105
114
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -155,7 +164,8 @@ module TurnkeyClient
155
164
  type == o.type &&
156
165
  timestamp_ms == o.timestamp_ms &&
157
166
  organization_id == o.organization_id &&
158
- parameters == o.parameters
167
+ parameters == o.parameters &&
168
+ generate_app_proofs == o.generate_app_proofs
159
169
  end
160
170
 
161
171
  # @see the `==` method
@@ -167,7 +177,7 @@ module TurnkeyClient
167
177
  # Calculates hash code according to all attributes.
168
178
  # @return [Integer] Hash code
169
179
  def hash
170
- [type, timestamp_ms, organization_id, parameters].hash
180
+ [type, timestamp_ms, organization_id, parameters, generate_app_proofs].hash
171
181
  end
172
182
 
173
183
  # Builds the object from hash
@@ -0,0 +1,297 @@
1
+ =begin
2
+ #API Reference
3
+
4
+ #Review our [API Introduction](../api-introduction) to get started.
5
+
6
+ OpenAPI spec version: 1.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ =end
10
+
11
+ require 'date'
12
+
13
+ module TurnkeyClient
14
+ class SolSendTransactionIntent
15
+ # Base64-encoded serialized unsigned Solana transaction
16
+ attr_accessor :unsigned_transaction
17
+
18
+ # A wallet or private key address to sign with. This does not support private key IDs.
19
+ attr_accessor :sign_with
20
+
21
+ # Whether to sponsor this transaction via Gas Station.
22
+ attr_accessor :sponsor
23
+
24
+ # CAIP-2 chain ID (e.g., 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp' for Solana mainnet).
25
+ attr_accessor :caip2
26
+
27
+ # user-provided blockhash for replay protection / deadline control. If omitted and sponsor=true, we fetch a fresh blockhash during execution
28
+ attr_accessor :recent_blockhash
29
+
30
+ class EnumAttributeValidator
31
+ attr_reader :datatype
32
+ attr_reader :allowable_values
33
+
34
+ def initialize(datatype, allowable_values)
35
+ @allowable_values = allowable_values.map do |value|
36
+ case datatype.to_s
37
+ when /Integer/i
38
+ value.to_i
39
+ when /Float/i
40
+ value.to_f
41
+ else
42
+ value
43
+ end
44
+ end
45
+ end
46
+
47
+ def valid?(value)
48
+ !value || allowable_values.include?(value)
49
+ end
50
+ end
51
+
52
+ # Attribute mapping from ruby-style variable name to JSON key.
53
+ def self.attribute_map
54
+ {
55
+ :'unsigned_transaction' => :'unsignedTransaction',
56
+ :'sign_with' => :'signWith',
57
+ :'sponsor' => :'sponsor',
58
+ :'caip2' => :'caip2',
59
+ :'recent_blockhash' => :'recentBlockhash'
60
+ }
61
+ end
62
+
63
+ # Attribute type mapping.
64
+ def self.openapi_types
65
+ {
66
+ :'unsigned_transaction' => :'Object',
67
+ :'sign_with' => :'Object',
68
+ :'sponsor' => :'Object',
69
+ :'caip2' => :'Object',
70
+ :'recent_blockhash' => :'Object'
71
+ }
72
+ end
73
+
74
+ # List of attributes with nullable: true
75
+ def self.openapi_nullable
76
+ Set.new([
77
+ :'sponsor',
78
+ :'recent_blockhash'
79
+ ])
80
+ end
81
+
82
+ # Initializes the object
83
+ # @param [Hash] attributes Model attributes in the form of hash
84
+ def initialize(attributes = {})
85
+ if (!attributes.is_a?(Hash))
86
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TurnkeyClient::SolSendTransactionIntent` initialize method"
87
+ end
88
+
89
+ # check to see if the attribute exists and convert string to symbol for hash key
90
+ attributes = attributes.each_with_object({}) { |(k, v), h|
91
+ if (!self.class.attribute_map.key?(k.to_sym))
92
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TurnkeyClient::SolSendTransactionIntent`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
93
+ end
94
+ h[k.to_sym] = v
95
+ }
96
+
97
+ if attributes.key?(:'unsigned_transaction')
98
+ self.unsigned_transaction = attributes[:'unsigned_transaction']
99
+ end
100
+
101
+ if attributes.key?(:'sign_with')
102
+ self.sign_with = attributes[:'sign_with']
103
+ end
104
+
105
+ if attributes.key?(:'sponsor')
106
+ self.sponsor = attributes[:'sponsor']
107
+ end
108
+
109
+ if attributes.key?(:'caip2')
110
+ self.caip2 = attributes[:'caip2']
111
+ end
112
+
113
+ if attributes.key?(:'recent_blockhash')
114
+ self.recent_blockhash = attributes[:'recent_blockhash']
115
+ end
116
+ end
117
+
118
+ # Show invalid properties with the reasons. Usually used together with valid?
119
+ # @return Array for valid properties with the reasons
120
+ def list_invalid_properties
121
+ invalid_properties = Array.new
122
+ if @unsigned_transaction.nil?
123
+ invalid_properties.push('invalid value for "unsigned_transaction", unsigned_transaction cannot be nil.')
124
+ end
125
+
126
+ if @sign_with.nil?
127
+ invalid_properties.push('invalid value for "sign_with", sign_with cannot be nil.')
128
+ end
129
+
130
+ if @caip2.nil?
131
+ invalid_properties.push('invalid value for "caip2", caip2 cannot be nil.')
132
+ end
133
+
134
+ invalid_properties
135
+ end
136
+
137
+ # Check to see if the all the properties in the model are valid
138
+ # @return true if the model is valid
139
+ def valid?
140
+ return false if @unsigned_transaction.nil?
141
+ return false if @sign_with.nil?
142
+ return false if @caip2.nil?
143
+ caip2_validator = EnumAttributeValidator.new('Object', ['solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG', 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3zQawwpjk2NsNY'])
144
+ return false unless caip2_validator.valid?(@caip2)
145
+ true
146
+ end
147
+
148
+ # Custom attribute writer method checking allowed values (enum).
149
+ # @param [Object] caip2 Object to be assigned
150
+ def caip2=(caip2)
151
+ validator = EnumAttributeValidator.new('Object', ['solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG', 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3zQawwpjk2NsNY'])
152
+ unless validator.valid?(caip2)
153
+ fail ArgumentError, "invalid value for \"caip2\", must be one of #{validator.allowable_values}."
154
+ end
155
+ @caip2 = caip2
156
+ end
157
+
158
+ # Checks equality by comparing each attribute.
159
+ # @param [Object] Object to be compared
160
+ def ==(o)
161
+ return true if self.equal?(o)
162
+ self.class == o.class &&
163
+ unsigned_transaction == o.unsigned_transaction &&
164
+ sign_with == o.sign_with &&
165
+ sponsor == o.sponsor &&
166
+ caip2 == o.caip2 &&
167
+ recent_blockhash == o.recent_blockhash
168
+ end
169
+
170
+ # @see the `==` method
171
+ # @param [Object] Object to be compared
172
+ def eql?(o)
173
+ self == o
174
+ end
175
+
176
+ # Calculates hash code according to all attributes.
177
+ # @return [Integer] Hash code
178
+ def hash
179
+ [unsigned_transaction, sign_with, sponsor, caip2, recent_blockhash].hash
180
+ end
181
+
182
+ # Builds the object from hash
183
+ # @param [Hash] attributes Model attributes in the form of hash
184
+ # @return [Object] Returns the model itself
185
+ def self.build_from_hash(attributes)
186
+ new.build_from_hash(attributes)
187
+ end
188
+
189
+ # Builds the object from hash
190
+ # @param [Hash] attributes Model attributes in the form of hash
191
+ # @return [Object] Returns the model itself
192
+ def build_from_hash(attributes)
193
+ return nil unless attributes.is_a?(Hash)
194
+ self.class.openapi_types.each_pair do |key, type|
195
+ if type =~ /\AArray<(.*)>/i
196
+ # check to ensure the input is an array given that the attribute
197
+ # is documented as an array but the input is not
198
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
199
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
200
+ end
201
+ elsif !attributes[self.class.attribute_map[key]].nil?
202
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
203
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
204
+ self.send("#{key}=", nil)
205
+ end
206
+ end
207
+
208
+ self
209
+ end
210
+
211
+ # Deserializes the data based on type
212
+ # @param string type Data type
213
+ # @param string value Value to be deserialized
214
+ # @return [Object] Deserialized data
215
+ def _deserialize(type, value)
216
+ case type.to_sym
217
+ when :DateTime
218
+ DateTime.parse(value)
219
+ when :Date
220
+ Date.parse(value)
221
+ when :String
222
+ value.to_s
223
+ when :Integer
224
+ value.to_i
225
+ when :Float
226
+ value.to_f
227
+ when :Boolean
228
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
229
+ true
230
+ else
231
+ false
232
+ end
233
+ when :Object
234
+ # generic object (usually a Hash), return directly
235
+ value
236
+ when /\AArray<(?<inner_type>.+)>\z/
237
+ inner_type = Regexp.last_match[:inner_type]
238
+ value.map { |v| _deserialize(inner_type, v) }
239
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
240
+ k_type = Regexp.last_match[:k_type]
241
+ v_type = Regexp.last_match[:v_type]
242
+ {}.tap do |hash|
243
+ value.each do |k, v|
244
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
245
+ end
246
+ end
247
+ else # model
248
+ TurnkeyClient.const_get(type).build_from_hash(value)
249
+ end
250
+ end
251
+
252
+ # Returns the string representation of the object
253
+ # @return [String] String presentation of the object
254
+ def to_s
255
+ to_hash.to_s
256
+ end
257
+
258
+ # to_body is an alias to to_hash (backward compatibility)
259
+ # @return [Hash] Returns the object in the form of hash
260
+ def to_body
261
+ to_hash
262
+ end
263
+
264
+ # Returns the object in the form of hash
265
+ # @return [Hash] Returns the object in the form of hash
266
+ def to_hash
267
+ hash = {}
268
+ self.class.attribute_map.each_pair do |attr, param|
269
+ value = self.send(attr)
270
+ if value.nil?
271
+ is_nullable = self.class.openapi_nullable.include?(attr)
272
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
273
+ end
274
+
275
+ hash[param] = _to_hash(value)
276
+ end
277
+ hash
278
+ end
279
+
280
+ # Outputs non-array value in the form of hash
281
+ # For object, use to_hash. Otherwise, just return the value
282
+ # @param [Object] value Any valid value
283
+ # @return [Hash] Returns the value in the form of hash
284
+ def _to_hash(value)
285
+ if value.is_a?(Array)
286
+ value.compact.map { |v| _to_hash(v) }
287
+ elsif value.is_a?(Hash)
288
+ {}.tap do |hash|
289
+ value.each { |k, v| hash[k] = _to_hash(v) }
290
+ end
291
+ elsif value.respond_to? :to_hash
292
+ value.to_hash
293
+ else
294
+ value
295
+ end
296
+ end end
297
+ end