turnkey_client 0.0.14 → 0.0.17

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 (203) 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 +77 -0
  7. data/lib/turnkey_client/api/boot_proof_api.rb +135 -0
  8. data/lib/turnkey_client/api/broadcasting_api.rb +251 -0
  9. data/lib/turnkey_client/api/default_api.rb +77 -0
  10. data/lib/turnkey_client/api/on_ramp_api.rb +290 -0
  11. data/lib/turnkey_client/api/policies_api.rb +58 -0
  12. data/lib/turnkey_client/api/send_transactions_api.rb +77 -0
  13. data/lib/turnkey_client/api/user_auth_api.rb +290 -0
  14. data/lib/turnkey_client/api/wallets_api.rb +58 -0
  15. data/lib/turnkey_client/models/activity.rb +13 -1
  16. data/lib/turnkey_client/models/activity_type.rb +23 -0
  17. data/lib/turnkey_client/models/app_proof.rb +255 -0
  18. data/lib/turnkey_client/models/approve_activity_request.rb +14 -4
  19. data/lib/turnkey_client/models/boot_proof.rb +315 -0
  20. data/lib/turnkey_client/models/boot_proof_response.rb +210 -0
  21. data/lib/turnkey_client/models/client_signature.rb +255 -0
  22. data/lib/turnkey_client/models/client_signature_scheme.rb +26 -0
  23. data/lib/turnkey_client/models/common_v1_policy_evaluation.rb +214 -0
  24. data/lib/turnkey_client/models/create_api_keys_request.rb +14 -4
  25. data/lib/turnkey_client/models/create_authenticators_request.rb +14 -4
  26. data/lib/turnkey_client/models/create_fiat_on_ramp_credential_intent.rb +272 -0
  27. data/lib/turnkey_client/models/create_fiat_on_ramp_credential_request.rb +298 -0
  28. data/lib/turnkey_client/models/create_fiat_on_ramp_credential_result.rb +211 -0
  29. data/lib/turnkey_client/models/create_invitations_request.rb +14 -4
  30. data/lib/turnkey_client/models/create_oauth2_credential_intent.rb +240 -0
  31. data/lib/turnkey_client/models/create_oauth2_credential_request.rb +298 -0
  32. data/lib/turnkey_client/models/create_oauth2_credential_result.rb +211 -0
  33. data/lib/turnkey_client/models/create_oauth_providers_request.rb +14 -4
  34. data/lib/turnkey_client/models/create_policies_request.rb +14 -4
  35. data/lib/turnkey_client/models/create_policy_intent_v3.rb +6 -0
  36. data/lib/turnkey_client/models/create_policy_request.rb +14 -4
  37. data/lib/turnkey_client/models/create_private_key_tag_request.rb +14 -4
  38. data/lib/turnkey_client/models/create_private_keys_request.rb +14 -4
  39. data/lib/turnkey_client/models/create_read_only_session_request.rb +14 -4
  40. data/lib/turnkey_client/models/create_read_write_session_request.rb +14 -4
  41. data/lib/turnkey_client/models/create_smart_contract_interface_intent.rb +1 -1
  42. data/lib/turnkey_client/models/create_smart_contract_interface_request.rb +14 -4
  43. data/lib/turnkey_client/models/create_sub_organization_intent_v7.rb +25 -5
  44. data/lib/turnkey_client/models/create_sub_organization_request.rb +14 -4
  45. data/lib/turnkey_client/models/create_tvc_app_intent.rb +277 -0
  46. data/lib/turnkey_client/models/create_tvc_app_result.rb +258 -0
  47. data/lib/turnkey_client/models/create_tvc_deployment_intent.rb +346 -0
  48. data/lib/turnkey_client/models/create_tvc_deployment_result.rb +226 -0
  49. data/lib/turnkey_client/models/create_tvc_manifest_approvals_intent.rb +228 -0
  50. data/lib/turnkey_client/models/create_tvc_manifest_approvals_result.rb +213 -0
  51. data/lib/turnkey_client/models/create_user_tag_request.rb +14 -4
  52. data/lib/turnkey_client/models/create_users_request.rb +14 -4
  53. data/lib/turnkey_client/models/create_wallet_accounts_intent.rb +15 -4
  54. data/lib/turnkey_client/models/create_wallet_accounts_request.rb +14 -4
  55. data/lib/turnkey_client/models/create_wallet_request.rb +14 -4
  56. data/lib/turnkey_client/models/curve.rb +1 -0
  57. data/lib/turnkey_client/models/custom_revert_error.rb +218 -0
  58. data/lib/turnkey_client/models/data_v1_signature_scheme.rb +26 -0
  59. data/lib/turnkey_client/models/delete_api_keys_request.rb +14 -4
  60. data/lib/turnkey_client/models/delete_authenticators_request.rb +14 -4
  61. data/lib/turnkey_client/models/delete_fiat_on_ramp_credential_intent.rb +211 -0
  62. data/lib/turnkey_client/models/delete_fiat_on_ramp_credential_request.rb +298 -0
  63. data/lib/turnkey_client/models/delete_fiat_on_ramp_credential_result.rb +211 -0
  64. data/lib/turnkey_client/models/delete_invitation_request.rb +14 -4
  65. data/lib/turnkey_client/models/delete_oauth2_credential_intent.rb +211 -0
  66. data/lib/turnkey_client/models/delete_oauth2_credential_request.rb +298 -0
  67. data/lib/turnkey_client/models/delete_oauth2_credential_result.rb +211 -0
  68. data/lib/turnkey_client/models/delete_oauth_providers_request.rb +14 -4
  69. data/lib/turnkey_client/models/delete_policies_intent.rb +213 -0
  70. data/lib/turnkey_client/models/delete_policies_request.rb +298 -0
  71. data/lib/turnkey_client/models/delete_policies_result.rb +213 -0
  72. data/lib/turnkey_client/models/delete_policy_request.rb +14 -4
  73. data/lib/turnkey_client/models/delete_private_key_tags_request.rb +14 -4
  74. data/lib/turnkey_client/models/delete_private_keys_request.rb +14 -4
  75. data/lib/turnkey_client/models/delete_smart_contract_interface_request.rb +14 -4
  76. data/lib/turnkey_client/models/delete_sub_organization_request.rb +14 -4
  77. data/lib/turnkey_client/models/delete_user_tags_request.rb +14 -4
  78. data/lib/turnkey_client/models/delete_users_request.rb +14 -4
  79. data/lib/turnkey_client/models/delete_wallet_accounts_intent.rb +224 -0
  80. data/lib/turnkey_client/models/delete_wallet_accounts_request.rb +298 -0
  81. data/lib/turnkey_client/models/delete_wallet_accounts_result.rb +213 -0
  82. data/lib/turnkey_client/models/delete_wallets_request.rb +14 -4
  83. data/lib/turnkey_client/models/disable_auth_proxy_intent.rb +196 -0
  84. data/lib/turnkey_client/models/disable_auth_proxy_result.rb +196 -0
  85. data/lib/turnkey_client/models/email_auth_customization_params.rb +255 -0
  86. data/lib/turnkey_client/models/email_auth_intent_v3.rb +306 -0
  87. data/lib/turnkey_client/models/email_auth_request.rb +16 -6
  88. data/lib/turnkey_client/models/email_customization_params_v2.rb +240 -0
  89. data/lib/turnkey_client/models/enable_auth_proxy_intent.rb +196 -0
  90. data/lib/turnkey_client/models/enable_auth_proxy_result.rb +211 -0
  91. data/lib/turnkey_client/models/eth_send_raw_transaction_intent.rb +260 -0
  92. data/lib/turnkey_client/models/eth_send_raw_transaction_result.rb +211 -0
  93. data/lib/turnkey_client/models/eth_send_transaction_intent.rb +363 -0
  94. data/lib/turnkey_client/models/eth_send_transaction_request.rb +298 -0
  95. data/lib/turnkey_client/models/eth_send_transaction_result.rb +211 -0
  96. data/lib/turnkey_client/models/eth_send_transaction_status.rb +207 -0
  97. data/lib/turnkey_client/models/export_private_key_request.rb +14 -4
  98. data/lib/turnkey_client/models/export_wallet_account_request.rb +14 -4
  99. data/lib/turnkey_client/models/export_wallet_request.rb +14 -4
  100. data/lib/turnkey_client/models/feature_name.rb +1 -0
  101. data/lib/turnkey_client/models/fiat_on_ramp_credential.rb +330 -0
  102. data/lib/turnkey_client/models/get_app_proofs_request.rb +226 -0
  103. data/lib/turnkey_client/models/get_app_proofs_response.rb +212 -0
  104. data/lib/turnkey_client/models/get_boot_proof_request.rb +226 -0
  105. data/lib/turnkey_client/models/get_gas_usage_request.rb +211 -0
  106. data/lib/turnkey_client/models/get_gas_usage_response.rb +241 -0
  107. data/lib/turnkey_client/models/get_latest_boot_proof_request.rb +226 -0
  108. data/lib/turnkey_client/models/get_nonces_request.rb +261 -0
  109. data/lib/turnkey_client/models/get_nonces_response.rb +218 -0
  110. data/lib/turnkey_client/models/get_oauth2_credential_request.rb +226 -0
  111. data/lib/turnkey_client/models/get_oauth2_credential_response.rb +210 -0
  112. data/lib/turnkey_client/models/get_on_ramp_transaction_status_request.rb +237 -0
  113. data/lib/turnkey_client/models/get_on_ramp_transaction_status_response.rb +211 -0
  114. data/lib/turnkey_client/models/get_send_transaction_status_request.rb +226 -0
  115. data/lib/turnkey_client/models/get_send_transaction_status_response.rb +240 -0
  116. data/lib/turnkey_client/models/get_wallet_accounts_request.rb +12 -1
  117. data/lib/turnkey_client/models/import_private_key_request.rb +14 -4
  118. data/lib/turnkey_client/models/import_wallet_request.rb +14 -4
  119. data/lib/turnkey_client/models/init_fiat_on_ramp_intent.rb +16 -5
  120. data/lib/turnkey_client/models/init_fiat_on_ramp_request.rb +14 -4
  121. data/lib/turnkey_client/models/init_fiat_on_ramp_result.rb +14 -4
  122. data/lib/turnkey_client/models/init_import_private_key_request.rb +14 -4
  123. data/lib/turnkey_client/models/init_import_wallet_request.rb +14 -4
  124. data/lib/turnkey_client/models/init_otp_auth_intent_v3.rb +336 -0
  125. data/lib/turnkey_client/models/init_otp_auth_request.rb +16 -6
  126. data/lib/turnkey_client/models/init_otp_intent_v2.rb +336 -0
  127. data/lib/turnkey_client/models/init_otp_request.rb +16 -6
  128. data/lib/turnkey_client/models/init_user_email_recovery_intent.rb +37 -4
  129. data/lib/turnkey_client/models/init_user_email_recovery_intent_v2.rb +284 -0
  130. data/lib/turnkey_client/models/init_user_email_recovery_request.rb +16 -6
  131. data/lib/turnkey_client/models/intent.rb +211 -4
  132. data/lib/turnkey_client/models/list_fiat_on_ramp_credentials_request.rb +211 -0
  133. data/lib/turnkey_client/models/list_fiat_on_ramp_credentials_response.rb +212 -0
  134. data/lib/turnkey_client/models/list_oauth2_credentials_request.rb +211 -0
  135. data/lib/turnkey_client/models/list_oauth2_credentials_response.rb +212 -0
  136. data/lib/turnkey_client/models/native_revert_error.rb +229 -0
  137. data/lib/turnkey_client/models/oauth2_authenticate_intent.rb +278 -0
  138. data/lib/turnkey_client/models/oauth2_authenticate_request.rb +298 -0
  139. data/lib/turnkey_client/models/oauth2_authenticate_result.rb +211 -0
  140. data/lib/turnkey_client/models/oauth2_credential.rb +298 -0
  141. data/lib/turnkey_client/models/oauth2_provider.rb +27 -0
  142. data/lib/turnkey_client/models/oauth_login_request.rb +14 -4
  143. data/lib/turnkey_client/models/oauth_request.rb +14 -4
  144. data/lib/turnkey_client/models/otp_auth_request.rb +14 -4
  145. data/lib/turnkey_client/models/otp_login_intent.rb +14 -5
  146. data/lib/turnkey_client/models/otp_login_request.rb +14 -4
  147. data/lib/turnkey_client/models/payload_encoding.rb +1 -0
  148. data/lib/turnkey_client/models/recover_user_request.rb +14 -4
  149. data/lib/turnkey_client/models/reject_activity_request.rb +14 -4
  150. data/lib/turnkey_client/models/remove_organization_feature_request.rb +14 -4
  151. data/lib/turnkey_client/models/result.rb +175 -4
  152. data/lib/turnkey_client/models/revert_chain_entry.rb +253 -0
  153. data/lib/turnkey_client/models/set_organization_feature_request.rb +14 -4
  154. data/lib/turnkey_client/models/sign_raw_payload_request.rb +14 -4
  155. data/lib/turnkey_client/models/sign_raw_payloads_request.rb +14 -4
  156. data/lib/turnkey_client/models/sign_transaction_request.rb +14 -4
  157. data/lib/turnkey_client/models/signature_scheme.rb +26 -0
  158. data/lib/turnkey_client/models/smart_contract_interface.rb +329 -0
  159. data/lib/turnkey_client/models/sol_send_transaction_intent.rb +297 -0
  160. data/lib/turnkey_client/models/sol_send_transaction_request.rb +298 -0
  161. data/lib/turnkey_client/models/sol_send_transaction_result.rb +211 -0
  162. data/lib/turnkey_client/models/stamp_login_request.rb +14 -4
  163. data/lib/turnkey_client/models/transaction_type.rb +2 -0
  164. data/lib/turnkey_client/models/tvc_manifest_approval.rb +226 -0
  165. data/lib/turnkey_client/models/tvc_operator_params.rb +226 -0
  166. data/lib/turnkey_client/models/tvc_operator_set_params.rb +250 -0
  167. data/lib/turnkey_client/models/tx_error.rb +218 -0
  168. data/lib/turnkey_client/models/unknown_revert_error.rb +218 -0
  169. data/lib/turnkey_client/models/update_auth_proxy_config_intent.rb +368 -0
  170. data/lib/turnkey_client/models/update_auth_proxy_config_result.rb +206 -0
  171. data/lib/turnkey_client/models/update_fiat_on_ramp_credential_intent.rb +277 -0
  172. data/lib/turnkey_client/models/update_fiat_on_ramp_credential_request.rb +298 -0
  173. data/lib/turnkey_client/models/update_fiat_on_ramp_credential_result.rb +211 -0
  174. data/lib/turnkey_client/models/update_oauth2_credential_intent.rb +255 -0
  175. data/lib/turnkey_client/models/update_oauth2_credential_request.rb +298 -0
  176. data/lib/turnkey_client/models/update_oauth2_credential_result.rb +211 -0
  177. data/lib/turnkey_client/models/update_policy_request.rb +14 -4
  178. data/lib/turnkey_client/models/update_private_key_tag_request.rb +14 -4
  179. data/lib/turnkey_client/models/update_root_quorum_request.rb +14 -4
  180. data/lib/turnkey_client/models/update_user_email_request.rb +14 -4
  181. data/lib/turnkey_client/models/update_user_name_request.rb +14 -4
  182. data/lib/turnkey_client/models/update_user_phone_number_request.rb +14 -4
  183. data/lib/turnkey_client/models/update_user_request.rb +14 -4
  184. data/lib/turnkey_client/models/update_user_tag_request.rb +14 -4
  185. data/lib/turnkey_client/models/update_wallet_request.rb +14 -4
  186. data/lib/turnkey_client/models/upsert_gas_usage_config_intent.rb +241 -0
  187. data/lib/turnkey_client/models/upsert_gas_usage_config_result.rb +211 -0
  188. data/lib/turnkey_client/models/verify_otp_intent.rb +16 -5
  189. data/lib/turnkey_client/models/verify_otp_request.rb +14 -4
  190. data/lib/turnkey_client/models/wallet_account.rb +14 -5
  191. data/lib/turnkey_client/models/wallet_kit_settings_params.rb +230 -0
  192. data/lib/turnkey_client/version.rb +1 -1
  193. data/lib/turnkey_client.rb +98 -1
  194. data/turnkey_client.gemspec +1 -1
  195. metadata +128 -32
  196. data/turnkey_client-0.0.12.gem +0 -0
  197. data/turnkey_client-0.0.13.gem +0 -0
  198. data/turnkey_client-0.0.2.gem +0 -0
  199. data/turnkey_client-0.0.3.gem +0 -0
  200. data/turnkey_client-0.0.4.gem +0 -0
  201. data/turnkey_client-0.0.7.gem +0 -0
  202. data/turnkey_client-0.0.8.gem +0 -0
  203. data/turnkey_client-0.0.9.gem +0 -0
@@ -0,0 +1,329 @@
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 SmartContractInterface
15
+ # The Organization the Smart Contract Interface belongs to.
16
+ attr_accessor :organization_id
17
+
18
+ # Unique identifier for a given Smart Contract Interface (ABI or IDL).
19
+ attr_accessor :smart_contract_interface_id
20
+
21
+ # The address corresponding to the Smart Contract or Program.
22
+ attr_accessor :smart_contract_address
23
+
24
+ # The JSON corresponding to the Smart Contract Interface (ABI or IDL).
25
+ attr_accessor :smart_contract_interface
26
+
27
+ # The type corresponding to the Smart Contract Interface (either ETHEREUM or SOLANA).
28
+ attr_accessor :type
29
+
30
+ # The label corresponding to the Smart Contract Interface (either ETHEREUM or SOLANA).
31
+ attr_accessor :label
32
+
33
+ # The notes corresponding to the Smart Contract Interface (either ETHEREUM or SOLANA).
34
+ attr_accessor :notes
35
+
36
+ attr_accessor :created_at
37
+
38
+ attr_accessor :updated_at
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+ :'organization_id' => :'organizationId',
44
+ :'smart_contract_interface_id' => :'smartContractInterfaceId',
45
+ :'smart_contract_address' => :'smartContractAddress',
46
+ :'smart_contract_interface' => :'smartContractInterface',
47
+ :'type' => :'type',
48
+ :'label' => :'label',
49
+ :'notes' => :'notes',
50
+ :'created_at' => :'createdAt',
51
+ :'updated_at' => :'updatedAt'
52
+ }
53
+ end
54
+
55
+ # Attribute type mapping.
56
+ def self.openapi_types
57
+ {
58
+ :'organization_id' => :'Object',
59
+ :'smart_contract_interface_id' => :'Object',
60
+ :'smart_contract_address' => :'Object',
61
+ :'smart_contract_interface' => :'Object',
62
+ :'type' => :'Object',
63
+ :'label' => :'Object',
64
+ :'notes' => :'Object',
65
+ :'created_at' => :'Object',
66
+ :'updated_at' => :'Object'
67
+ }
68
+ end
69
+
70
+ # List of attributes with nullable: true
71
+ def self.openapi_nullable
72
+ Set.new([
73
+ ])
74
+ end
75
+
76
+ # Initializes the object
77
+ # @param [Hash] attributes Model attributes in the form of hash
78
+ def initialize(attributes = {})
79
+ if (!attributes.is_a?(Hash))
80
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TurnkeyClient::SmartContractInterface` initialize method"
81
+ end
82
+
83
+ # check to see if the attribute exists and convert string to symbol for hash key
84
+ attributes = attributes.each_with_object({}) { |(k, v), h|
85
+ if (!self.class.attribute_map.key?(k.to_sym))
86
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TurnkeyClient::SmartContractInterface`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
87
+ end
88
+ h[k.to_sym] = v
89
+ }
90
+
91
+ if attributes.key?(:'organization_id')
92
+ self.organization_id = attributes[:'organization_id']
93
+ end
94
+
95
+ if attributes.key?(:'smart_contract_interface_id')
96
+ self.smart_contract_interface_id = attributes[:'smart_contract_interface_id']
97
+ end
98
+
99
+ if attributes.key?(:'smart_contract_address')
100
+ self.smart_contract_address = attributes[:'smart_contract_address']
101
+ end
102
+
103
+ if attributes.key?(:'smart_contract_interface')
104
+ self.smart_contract_interface = attributes[:'smart_contract_interface']
105
+ end
106
+
107
+ if attributes.key?(:'type')
108
+ self.type = attributes[:'type']
109
+ end
110
+
111
+ if attributes.key?(:'label')
112
+ self.label = attributes[:'label']
113
+ end
114
+
115
+ if attributes.key?(:'notes')
116
+ self.notes = attributes[:'notes']
117
+ end
118
+
119
+ if attributes.key?(:'created_at')
120
+ self.created_at = attributes[:'created_at']
121
+ end
122
+
123
+ if attributes.key?(:'updated_at')
124
+ self.updated_at = attributes[:'updated_at']
125
+ end
126
+ end
127
+
128
+ # Show invalid properties with the reasons. Usually used together with valid?
129
+ # @return Array for valid properties with the reasons
130
+ def list_invalid_properties
131
+ invalid_properties = Array.new
132
+ if @organization_id.nil?
133
+ invalid_properties.push('invalid value for "organization_id", organization_id cannot be nil.')
134
+ end
135
+
136
+ if @smart_contract_interface_id.nil?
137
+ invalid_properties.push('invalid value for "smart_contract_interface_id", smart_contract_interface_id cannot be nil.')
138
+ end
139
+
140
+ if @smart_contract_address.nil?
141
+ invalid_properties.push('invalid value for "smart_contract_address", smart_contract_address cannot be nil.')
142
+ end
143
+
144
+ if @smart_contract_interface.nil?
145
+ invalid_properties.push('invalid value for "smart_contract_interface", smart_contract_interface cannot be nil.')
146
+ end
147
+
148
+ if @type.nil?
149
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
150
+ end
151
+
152
+ if @label.nil?
153
+ invalid_properties.push('invalid value for "label", label cannot be nil.')
154
+ end
155
+
156
+ if @notes.nil?
157
+ invalid_properties.push('invalid value for "notes", notes cannot be nil.')
158
+ end
159
+
160
+ if @created_at.nil?
161
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
162
+ end
163
+
164
+ if @updated_at.nil?
165
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
166
+ end
167
+
168
+ invalid_properties
169
+ end
170
+
171
+ # Check to see if the all the properties in the model are valid
172
+ # @return true if the model is valid
173
+ def valid?
174
+ return false if @organization_id.nil?
175
+ return false if @smart_contract_interface_id.nil?
176
+ return false if @smart_contract_address.nil?
177
+ return false if @smart_contract_interface.nil?
178
+ return false if @type.nil?
179
+ return false if @label.nil?
180
+ return false if @notes.nil?
181
+ return false if @created_at.nil?
182
+ return false if @updated_at.nil?
183
+ true
184
+ end
185
+
186
+ # Checks equality by comparing each attribute.
187
+ # @param [Object] Object to be compared
188
+ def ==(o)
189
+ return true if self.equal?(o)
190
+ self.class == o.class &&
191
+ organization_id == o.organization_id &&
192
+ smart_contract_interface_id == o.smart_contract_interface_id &&
193
+ smart_contract_address == o.smart_contract_address &&
194
+ smart_contract_interface == o.smart_contract_interface &&
195
+ type == o.type &&
196
+ label == o.label &&
197
+ notes == o.notes &&
198
+ created_at == o.created_at &&
199
+ updated_at == o.updated_at
200
+ end
201
+
202
+ # @see the `==` method
203
+ # @param [Object] Object to be compared
204
+ def eql?(o)
205
+ self == o
206
+ end
207
+
208
+ # Calculates hash code according to all attributes.
209
+ # @return [Integer] Hash code
210
+ def hash
211
+ [organization_id, smart_contract_interface_id, smart_contract_address, smart_contract_interface, type, label, notes, created_at, updated_at].hash
212
+ end
213
+
214
+ # Builds the object from hash
215
+ # @param [Hash] attributes Model attributes in the form of hash
216
+ # @return [Object] Returns the model itself
217
+ def self.build_from_hash(attributes)
218
+ new.build_from_hash(attributes)
219
+ end
220
+
221
+ # Builds the object from hash
222
+ # @param [Hash] attributes Model attributes in the form of hash
223
+ # @return [Object] Returns the model itself
224
+ def build_from_hash(attributes)
225
+ return nil unless attributes.is_a?(Hash)
226
+ self.class.openapi_types.each_pair do |key, type|
227
+ if type =~ /\AArray<(.*)>/i
228
+ # check to ensure the input is an array given that the attribute
229
+ # is documented as an array but the input is not
230
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
231
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
232
+ end
233
+ elsif !attributes[self.class.attribute_map[key]].nil?
234
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
235
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
236
+ self.send("#{key}=", nil)
237
+ end
238
+ end
239
+
240
+ self
241
+ end
242
+
243
+ # Deserializes the data based on type
244
+ # @param string type Data type
245
+ # @param string value Value to be deserialized
246
+ # @return [Object] Deserialized data
247
+ def _deserialize(type, value)
248
+ case type.to_sym
249
+ when :DateTime
250
+ DateTime.parse(value)
251
+ when :Date
252
+ Date.parse(value)
253
+ when :String
254
+ value.to_s
255
+ when :Integer
256
+ value.to_i
257
+ when :Float
258
+ value.to_f
259
+ when :Boolean
260
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
261
+ true
262
+ else
263
+ false
264
+ end
265
+ when :Object
266
+ # generic object (usually a Hash), return directly
267
+ value
268
+ when /\AArray<(?<inner_type>.+)>\z/
269
+ inner_type = Regexp.last_match[:inner_type]
270
+ value.map { |v| _deserialize(inner_type, v) }
271
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
272
+ k_type = Regexp.last_match[:k_type]
273
+ v_type = Regexp.last_match[:v_type]
274
+ {}.tap do |hash|
275
+ value.each do |k, v|
276
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
277
+ end
278
+ end
279
+ else # model
280
+ TurnkeyClient.const_get(type).build_from_hash(value)
281
+ end
282
+ end
283
+
284
+ # Returns the string representation of the object
285
+ # @return [String] String presentation of the object
286
+ def to_s
287
+ to_hash.to_s
288
+ end
289
+
290
+ # to_body is an alias to to_hash (backward compatibility)
291
+ # @return [Hash] Returns the object in the form of hash
292
+ def to_body
293
+ to_hash
294
+ end
295
+
296
+ # Returns the object in the form of hash
297
+ # @return [Hash] Returns the object in the form of hash
298
+ def to_hash
299
+ hash = {}
300
+ self.class.attribute_map.each_pair do |attr, param|
301
+ value = self.send(attr)
302
+ if value.nil?
303
+ is_nullable = self.class.openapi_nullable.include?(attr)
304
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
305
+ end
306
+
307
+ hash[param] = _to_hash(value)
308
+ end
309
+ hash
310
+ end
311
+
312
+ # Outputs non-array value in the form of hash
313
+ # For object, use to_hash. Otherwise, just return the value
314
+ # @param [Object] value Any valid value
315
+ # @return [Hash] Returns the value in the form of hash
316
+ def _to_hash(value)
317
+ if value.is_a?(Array)
318
+ value.compact.map { |v| _to_hash(v) }
319
+ elsif value.is_a?(Hash)
320
+ {}.tap do |hash|
321
+ value.each { |k, v| hash[k] = _to_hash(v) }
322
+ end
323
+ elsif value.respond_to? :to_hash
324
+ value.to_hash
325
+ else
326
+ value
327
+ end
328
+ end end
329
+ end
@@ -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