1#[derive(Debug)]
2#[derive(::serde::Serialize, ::serde::Deserialize)]
3#[serde(rename_all = "camelCase")]
4#[derive(Clone, PartialEq)]
5pub struct Timestamp {
6 pub seconds: ::prost::alloc::string::String,
8 pub nanos: ::prost::alloc::string::String,
10}
11#[derive(Debug)]
12#[derive(::serde::Serialize, ::serde::Deserialize)]
15#[serde(rename_all = "camelCase")]
16#[derive(Clone, PartialEq)]
17pub struct OrganizationData {
18 pub organization_id: ::prost::alloc::string::String,
19 pub name: ::prost::alloc::string::String,
20 #[serde(default)]
21 pub users: ::prost::alloc::vec::Vec<User>,
22 #[serde(default)]
23 pub policies: ::prost::alloc::vec::Vec<Policy>,
24 #[serde(default)]
25 pub private_keys: ::prost::alloc::vec::Vec<PrivateKey>,
26 #[serde(default)]
27 pub invitations: ::prost::alloc::vec::Vec<Invitation>,
28 #[serde(default)]
29 pub tags: ::prost::alloc::vec::Vec<Tag>,
30 #[serde(default)]
31 pub root_quorum: ::core::option::Option<Quorum>,
32 #[serde(default)]
33 pub features: ::prost::alloc::vec::Vec<
34 super::super::super::immutable::data::v1::Feature,
35 >,
36 #[serde(default)]
37 pub wallets: ::prost::alloc::vec::Vec<Wallet>,
38 #[serde(default)]
39 pub smart_contract_interface_references: ::prost::alloc::vec::Vec<
40 super::super::super::immutable::data::v1::SmartContractInterfaceReference,
41 >,
42}
43#[derive(Debug)]
44#[derive(::serde::Serialize, ::serde::Deserialize)]
45#[serde(rename_all = "camelCase")]
46#[derive(Clone, PartialEq)]
47pub struct OauthProvider {
48 pub provider_id: ::prost::alloc::string::String,
49 pub provider_name: ::prost::alloc::string::String,
50 pub issuer: ::prost::alloc::string::String,
51 pub audience: ::prost::alloc::string::String,
52 pub subject: ::prost::alloc::string::String,
53 #[serde(default)]
54 pub created_at: ::core::option::Option<Timestamp>,
55 #[serde(default)]
56 pub updated_at: ::core::option::Option<Timestamp>,
57}
58#[derive(Debug)]
59#[derive(::serde::Serialize, ::serde::Deserialize)]
60#[serde(rename_all = "camelCase")]
61#[derive(Clone, PartialEq)]
62pub struct User {
63 pub user_id: ::prost::alloc::string::String,
64 pub user_name: ::prost::alloc::string::String,
65 #[serde(default)]
67 pub user_email: ::core::option::Option<::prost::alloc::string::String>,
68 #[serde(default)]
69 pub user_phone_number: ::core::option::Option<::prost::alloc::string::String>,
70 #[serde(default)]
71 pub authenticators: ::prost::alloc::vec::Vec<Authenticator>,
72 #[serde(default)]
73 pub api_keys: ::prost::alloc::vec::Vec<ApiKey>,
74 #[serde(default)]
75 pub user_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
76 #[serde(default)]
77 pub oauth_providers: ::prost::alloc::vec::Vec<OauthProvider>,
78 #[serde(default)]
79 pub created_at: ::core::option::Option<Timestamp>,
80 #[serde(default)]
81 pub updated_at: ::core::option::Option<Timestamp>,
82 #[serde(default)]
83 pub mfa_policies: ::prost::alloc::vec::Vec<MfaPolicy>,
84}
85#[derive(Debug)]
86#[serde_with::serde_as]
87#[derive(::serde::Serialize, ::serde::Deserialize)]
88#[serde(rename_all = "camelCase")]
89#[derive(Clone, PartialEq)]
90pub struct ApiKey {
91 #[serde(default)]
92 pub credential: ::core::option::Option<Credential>,
93 pub api_key_id: ::prost::alloc::string::String,
94 pub api_key_name: ::prost::alloc::string::String,
95 #[serde(default)]
96 pub created_at: ::core::option::Option<Timestamp>,
97 #[serde(default)]
98 pub updated_at: ::core::option::Option<Timestamp>,
99 #[serde(default)]
100 #[serde_as(as = "Option<serde_with::DisplayFromStr>")]
101 pub expiration_seconds: ::core::option::Option<u64>,
102}
103#[derive(Debug)]
104#[derive(::serde::Serialize, ::serde::Deserialize)]
105#[serde(rename_all = "camelCase")]
106#[derive(Clone, PartialEq)]
107pub struct Authenticator {
108 #[serde(default)]
109 pub transports: Vec<
110 super::super::super::immutable::webauthn::v1::AuthenticatorTransport,
111 >,
112 pub attestation_type: ::prost::alloc::string::String,
113 pub aaguid: ::prost::alloc::string::String,
114 pub credential_id: ::prost::alloc::string::String,
115 pub model: ::prost::alloc::string::String,
116 #[serde(default)]
117 pub credential: ::core::option::Option<Credential>,
118 pub authenticator_id: ::prost::alloc::string::String,
119 pub authenticator_name: ::prost::alloc::string::String,
120 #[serde(default)]
121 pub created_at: ::core::option::Option<Timestamp>,
122 #[serde(default)]
123 pub updated_at: ::core::option::Option<Timestamp>,
124}
125#[derive(Debug)]
126#[derive(::serde::Serialize, ::serde::Deserialize)]
127#[serde(rename_all = "camelCase")]
128#[derive(Clone, PartialEq)]
129pub struct Credential {
130 pub public_key: ::prost::alloc::string::String,
131 pub r#type: super::super::super::immutable::common::v1::CredentialType,
133 #[serde(default)]
135 pub session_profile_id: ::core::option::Option<::prost::alloc::string::String>,
136}
137#[derive(Debug)]
138#[derive(::serde::Serialize, ::serde::Deserialize)]
139#[serde(rename_all = "camelCase")]
140#[derive(Clone, PartialEq)]
141pub struct Policy {
142 pub policy_id: ::prost::alloc::string::String,
143 pub policy_name: ::prost::alloc::string::String,
144 pub effect: super::super::super::immutable::common::v1::Effect,
145 #[serde(default)]
146 pub created_at: ::core::option::Option<Timestamp>,
147 #[serde(default)]
148 pub updated_at: ::core::option::Option<Timestamp>,
149 pub notes: ::prost::alloc::string::String,
150 #[serde(default)]
151 pub consensus: ::core::option::Option<::prost::alloc::string::String>,
152 #[serde(default)]
153 pub condition: ::core::option::Option<::prost::alloc::string::String>,
154}
155#[derive(Debug)]
156#[derive(::serde::Serialize, ::serde::Deserialize)]
157#[serde(rename_all = "camelCase")]
158#[derive(Clone, PartialEq)]
159pub struct PrivateKey {
160 pub private_key_id: ::prost::alloc::string::String,
161 pub public_key: ::prost::alloc::string::String,
162 pub private_key_name: ::prost::alloc::string::String,
163 pub curve: super::super::super::immutable::common::v1::Curve,
164 #[serde(default)]
165 pub addresses: ::prost::alloc::vec::Vec<Address>,
166 #[serde(default)]
167 pub private_key_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
168 #[serde(default)]
169 pub created_at: ::core::option::Option<Timestamp>,
170 #[serde(default)]
171 pub updated_at: ::core::option::Option<Timestamp>,
172 #[serde(default)]
173 pub exported: bool,
174 #[serde(default)]
175 pub imported: bool,
176}
177#[derive(Debug)]
178#[derive(::serde::Serialize, ::serde::Deserialize)]
179#[serde(rename_all = "camelCase")]
180#[derive(Clone, PartialEq)]
181pub struct Address {
182 pub format: super::super::super::immutable::common::v1::AddressFormat,
183 pub address: ::prost::alloc::string::String,
184}
185#[derive(Debug)]
186#[derive(::serde::Serialize, ::serde::Deserialize)]
187#[serde(rename_all = "camelCase")]
188#[derive(Clone, PartialEq)]
189pub struct Invitation {
190 pub invitation_id: ::prost::alloc::string::String,
191 pub receiver_user_name: ::prost::alloc::string::String,
192 pub receiver_email: ::prost::alloc::string::String,
193 #[serde(default)]
194 pub receiver_user_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
195 pub access_type: super::super::super::immutable::common::v1::AccessType,
196 pub status: InvitationStatus,
197 #[serde(default)]
198 pub created_at: ::core::option::Option<Timestamp>,
199 #[serde(default)]
200 pub updated_at: ::core::option::Option<Timestamp>,
201 pub sender_user_id: ::prost::alloc::string::String,
202}
203#[derive(Debug)]
204#[derive(::serde::Serialize, ::serde::Deserialize)]
205#[serde(rename_all = "camelCase")]
206#[derive(Clone, PartialEq)]
207pub struct Tag {
208 pub tag_id: ::prost::alloc::string::String,
209 pub tag_name: ::prost::alloc::string::String,
210 pub tag_type: TagType,
211 #[serde(default)]
212 pub created_at: ::core::option::Option<Timestamp>,
213 #[serde(default)]
214 pub updated_at: ::core::option::Option<Timestamp>,
215}
216#[derive(Debug)]
217#[derive(::serde::Serialize, ::serde::Deserialize)]
218#[serde(rename_all = "camelCase")]
219#[derive(Clone, PartialEq)]
220pub struct Quorum {
221 #[serde(default)]
222 pub threshold: i32,
223 #[serde(default)]
224 pub user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
225}
226#[derive(Debug)]
227#[derive(::serde::Serialize, ::serde::Deserialize)]
228#[serde(rename_all = "camelCase")]
229#[derive(Clone, PartialEq)]
230pub struct Wallet {
231 pub wallet_id: ::prost::alloc::string::String,
232 pub wallet_name: ::prost::alloc::string::String,
233 #[serde(default)]
234 pub created_at: ::core::option::Option<Timestamp>,
235 #[serde(default)]
236 pub updated_at: ::core::option::Option<Timestamp>,
237 #[serde(default)]
238 pub exported: bool,
239 #[serde(default)]
240 pub imported: bool,
241}
242#[derive(Debug)]
243#[derive(::serde::Serialize, ::serde::Deserialize)]
244#[serde(rename_all = "camelCase")]
245#[derive(Clone, PartialEq)]
246pub struct Config {
247 #[serde(default)]
248 pub features: ::prost::alloc::vec::Vec<
249 super::super::super::immutable::data::v1::Feature,
250 >,
251 #[serde(default)]
252 pub quorum: ::core::option::Option<Quorum>,
253}
254#[derive(Debug)]
255#[derive(::serde::Serialize, ::serde::Deserialize)]
256#[serde(rename_all = "camelCase")]
257#[derive(Clone, PartialEq)]
258pub struct Oauth2Credential {
259 pub oauth2_credential_id: ::prost::alloc::string::String,
260 pub organization_id: ::prost::alloc::string::String,
261 pub provider: super::super::super::immutable::common::v1::Oauth2Provider,
262 pub client_id: ::prost::alloc::string::String,
263 pub encrypted_client_secret: ::prost::alloc::string::String,
264 #[serde(default)]
265 pub created_at: ::core::option::Option<Timestamp>,
266 #[serde(default)]
267 pub updated_at: ::core::option::Option<Timestamp>,
268}
269#[derive(Debug)]
270#[derive(::serde::Serialize, ::serde::Deserialize)]
271#[serde(rename_all = "camelCase")]
272#[derive(Clone, PartialEq)]
273pub struct FiatOnRampCredential {
274 pub fiat_onramp_credential_id: ::prost::alloc::string::String,
275 pub organization_id: ::prost::alloc::string::String,
276 pub onramp_provider: super::super::super::immutable::common::v1::FiatOnRampProvider,
277 #[serde(default)]
279 pub project_id: ::core::option::Option<::prost::alloc::string::String>,
280 pub publishable_api_key: ::prost::alloc::string::String,
282 pub encrypted_secret_api_key: ::prost::alloc::string::String,
284 #[serde(default)]
286 pub encrypted_private_api_key: ::core::option::Option<
287 ::prost::alloc::string::String,
288 >,
289 #[serde(default)]
291 pub sandbox_mode: bool,
292 #[serde(default)]
293 pub created_at: ::core::option::Option<Timestamp>,
294 #[serde(default)]
295 pub updated_at: ::core::option::Option<Timestamp>,
296}
297#[derive(Debug)]
298#[derive(::serde::Serialize, ::serde::Deserialize)]
299#[serde(rename_all = "camelCase")]
300#[derive(Clone, PartialEq)]
301pub struct MfaPolicy {
302 pub mfa_policy_id: ::prost::alloc::string::String,
303 pub mfa_policy_name: ::prost::alloc::string::String,
304 pub condition: ::prost::alloc::string::String,
305 #[serde(default)]
306 pub required_authentication_methods: ::prost::alloc::vec::Vec<
307 RequiredAuthenticationMethod,
308 >,
309 #[serde(default)]
310 pub order: u32,
311 #[serde(default)]
312 pub notes: ::core::option::Option<::prost::alloc::string::String>,
313 #[serde(default)]
314 pub created_at: ::core::option::Option<Timestamp>,
315 #[serde(default)]
316 pub updated_at: ::core::option::Option<Timestamp>,
317}
318#[derive(Debug)]
319#[derive(::serde::Serialize, ::serde::Deserialize)]
320#[serde(rename_all = "camelCase")]
321#[derive(Clone, PartialEq)]
322pub struct RequiredAuthenticationMethod {
323 #[serde(default)]
324 pub any: ::prost::alloc::vec::Vec<AuthenticationMethod>,
325}
326#[derive(Debug)]
327#[derive(::serde::Serialize, ::serde::Deserialize)]
328#[serde(rename_all = "camelCase")]
329#[derive(Clone, PartialEq)]
330pub struct AuthenticationMethod {
331 pub r#type: super::super::super::immutable::common::v1::AuthenticationType,
332 #[serde(default)]
333 pub id: ::core::option::Option<::prost::alloc::string::String>,
334}
335#[derive(::serde::Serialize, ::serde::Deserialize)]
336#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
337pub enum InvitationStatus {
338 #[serde(rename = "INVITATION_STATUS_UNSPECIFIED")]
339 Unspecified = 0,
340 #[serde(rename = "INVITATION_STATUS_CREATED")]
341 Created = 1,
342 #[serde(rename = "INVITATION_STATUS_ACCEPTED")]
343 Accepted = 2,
344 #[serde(rename = "INVITATION_STATUS_REVOKED")]
345 Revoked = 3,
346}
347impl InvitationStatus {
348 pub fn as_str_name(&self) -> &'static str {
353 match self {
354 Self::Unspecified => "INVITATION_STATUS_UNSPECIFIED",
355 Self::Created => "INVITATION_STATUS_CREATED",
356 Self::Accepted => "INVITATION_STATUS_ACCEPTED",
357 Self::Revoked => "INVITATION_STATUS_REVOKED",
358 }
359 }
360 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
362 match value {
363 "INVITATION_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
364 "INVITATION_STATUS_CREATED" => Some(Self::Created),
365 "INVITATION_STATUS_ACCEPTED" => Some(Self::Accepted),
366 "INVITATION_STATUS_REVOKED" => Some(Self::Revoked),
367 _ => None,
368 }
369 }
370}
371#[derive(::serde::Serialize, ::serde::Deserialize)]
372#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
373pub enum TagType {
374 #[serde(rename = "TAG_TYPE_UNSPECIFIED")]
375 Unspecified = 0,
376 #[serde(rename = "TAG_TYPE_USER")]
377 User = 1,
378 #[serde(rename = "TAG_TYPE_PRIVATE_KEY")]
379 PrivateKey = 3,
380}
381impl TagType {
382 pub fn as_str_name(&self) -> &'static str {
387 match self {
388 Self::Unspecified => "TAG_TYPE_UNSPECIFIED",
389 Self::User => "TAG_TYPE_USER",
390 Self::PrivateKey => "TAG_TYPE_PRIVATE_KEY",
391 }
392 }
393 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
395 match value {
396 "TAG_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
397 "TAG_TYPE_USER" => Some(Self::User),
398 "TAG_TYPE_PRIVATE_KEY" => Some(Self::PrivateKey),
399 _ => None,
400 }
401 }
402}
403#[derive(Debug)]
404#[derive(::serde::Serialize, ::serde::Deserialize)]
405#[serde(rename_all = "camelCase")]
406#[derive(Clone, PartialEq)]
407pub struct BootProof {
408 pub ephemeral_public_key_hex: ::prost::alloc::string::String,
409 pub aws_attestation_doc_b64: ::prost::alloc::string::String,
410 pub qos_manifest_b64: ::prost::alloc::string::String,
411 pub qos_manifest_envelope_b64: ::prost::alloc::string::String,
412 pub deployment_label: ::prost::alloc::string::String,
413 pub enclave_app: ::prost::alloc::string::String,
414 pub owner: ::prost::alloc::string::String,
415 #[serde(default)]
416 pub created_at: ::core::option::Option<Timestamp>,
417 #[serde(default)]
418 pub qos_manifest_version: ::core::option::Option<::prost::alloc::string::String>,
419}
420#[derive(Debug)]
421#[derive(::serde::Serialize, ::serde::Deserialize)]
422#[serde(rename_all = "camelCase")]
423#[derive(Clone, PartialEq)]
424pub struct AppProof {
425 pub scheme: SignatureScheme,
426 pub public_key: ::prost::alloc::string::String,
427 pub proof_payload: ::prost::alloc::string::String,
428 pub signature: ::prost::alloc::string::String,
429}
430#[derive(Debug)]
431#[derive(::serde::Serialize, ::serde::Deserialize)]
432#[serde(rename_all = "camelCase")]
433#[derive(Clone, PartialEq)]
434pub struct AppProofPayload {
435 pub r#type: AppProofType,
436 pub timestamp_ms: ::prost::alloc::string::String,
437 #[serde(default)]
438 pub proof_payload: ::core::option::Option<app_proof_payload::ProofPayload>,
439}
440pub mod app_proof_payload {
442 #[derive(::serde::Serialize, ::serde::Deserialize)]
443 #[derive(Clone, PartialEq)]
444 #[derive(Debug)]
445 pub enum ProofPayload {
446 #[serde(rename = "PROOF_PAYLOAD_ADDRESS_DERIVATION_PROOF")]
447 AddressDerivationProof(super::AddressDerivationProofPayload),
448 #[serde(rename = "PROOF_PAYLOAD_POLICY_OUTCOME_PROOF")]
449 PolicyOutcomeProof(super::PolicyOutcomeProofPayload),
450 }
451}
452#[derive(Debug)]
453#[derive(::serde::Serialize, ::serde::Deserialize)]
454#[serde(rename_all = "camelCase")]
455#[derive(Clone, PartialEq)]
456pub struct AddressDerivationProofPayload {
457 pub organization_id: ::prost::alloc::string::String,
458 #[serde(default)]
459 pub wallet_id: ::core::option::Option<::prost::alloc::string::String>,
460 #[serde(default)]
461 pub derivation_path: ::core::option::Option<::prost::alloc::string::String>,
462 pub address: ::prost::alloc::string::String,
463}
464#[derive(Debug)]
465#[derive(::serde::Serialize, ::serde::Deserialize)]
466#[serde(rename_all = "camelCase")]
467#[derive(Clone, PartialEq)]
468pub struct PolicyOutcomeProofPayload {
469 pub organization_id: ::prost::alloc::string::String,
470 pub outcome: super::super::super::immutable::common::v1::Outcome,
471 pub decision_context_digest: ::prost::alloc::string::String,
472 pub organization_data_digest: ::prost::alloc::string::String,
473 pub parent_organization_data_digest: ::prost::alloc::string::String,
474 #[serde(default)]
475 pub user_request_approvals: ::prost::alloc::vec::Vec<
476 super::super::super::immutable::models::v1::Signature,
477 >,
478}
479#[derive(::serde::Serialize, ::serde::Deserialize)]
480#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
481pub enum SignatureScheme {
482 #[serde(rename = "SIGNATURE_SCHEME_UNSPECIFIED")]
483 Unspecified = 0,
484 #[serde(rename = "SIGNATURE_SCHEME_EPHEMERAL_KEY_P256")]
486 EphemeralKeyP256 = 1,
487}
488impl SignatureScheme {
489 pub fn as_str_name(&self) -> &'static str {
494 match self {
495 Self::Unspecified => "SIGNATURE_SCHEME_UNSPECIFIED",
496 Self::EphemeralKeyP256 => "SIGNATURE_SCHEME_EPHEMERAL_KEY_P256",
497 }
498 }
499 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
501 match value {
502 "SIGNATURE_SCHEME_UNSPECIFIED" => Some(Self::Unspecified),
503 "SIGNATURE_SCHEME_EPHEMERAL_KEY_P256" => Some(Self::EphemeralKeyP256),
504 _ => None,
505 }
506 }
507}
508#[derive(::serde::Serialize, ::serde::Deserialize)]
509#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
510pub enum AppProofType {
511 #[serde(rename = "APP_PROOF_TYPE_UNSPECIFIED")]
512 Unspecified = 0,
513 #[serde(rename = "APP_PROOF_TYPE_ADDRESS_DERIVATION")]
514 AddressDerivation = 1,
515 #[serde(rename = "APP_PROOF_TYPE_POLICY_OUTCOME")]
516 PolicyOutcome = 2,
517}
518impl AppProofType {
519 pub fn as_str_name(&self) -> &'static str {
524 match self {
525 Self::Unspecified => "APP_PROOF_TYPE_UNSPECIFIED",
526 Self::AddressDerivation => "APP_PROOF_TYPE_ADDRESS_DERIVATION",
527 Self::PolicyOutcome => "APP_PROOF_TYPE_POLICY_OUTCOME",
528 }
529 }
530 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
532 match value {
533 "APP_PROOF_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
534 "APP_PROOF_TYPE_ADDRESS_DERIVATION" => Some(Self::AddressDerivation),
535 "APP_PROOF_TYPE_POLICY_OUTCOME" => Some(Self::PolicyOutcome),
536 _ => None,
537 }
538 }
539}
540#[derive(Debug)]
541#[derive(::serde::Serialize, ::serde::Deserialize)]
542#[serde(rename_all = "camelCase")]
543#[derive(Clone, PartialEq)]
544pub struct MfaStatus {
545 pub mfa_policy_id: ::prost::alloc::string::String,
546 pub user_id: ::prost::alloc::string::String,
547 #[serde(default)]
548 pub satisfied: bool,
549 #[serde(default)]
550 pub satisfied_methods: ::prost::alloc::vec::Vec<AuthenticationMethod>,
551 #[serde(default)]
552 pub required_methods: ::prost::alloc::vec::Vec<RequiredAuthenticationMethod>,
553}
554#[derive(Debug)]
555#[derive(::serde::Serialize, ::serde::Deserialize)]
557#[serde(rename_all = "camelCase")]
558#[derive(Clone, PartialEq)]
559pub struct SessionProfile {
560 pub session_profile_id: ::prost::alloc::string::String,
561 pub session_profile_name: ::prost::alloc::string::String,
562 pub scope: ::prost::alloc::string::String,
563 #[serde(default)]
564 pub expiration_seconds: ::core::option::Option<::prost::alloc::string::String>,
565 #[serde(default)]
566 pub notes: ::core::option::Option<::prost::alloc::string::String>,
567 #[serde(default)]
568 pub created_at: ::core::option::Option<Timestamp>,
569 #[serde(default)]
570 pub updated_at: ::core::option::Option<Timestamp>,
571}
572#[derive(Debug)]
573#[derive(::serde::Serialize, ::serde::Deserialize)]
574#[serde(rename_all = "camelCase")]
575#[derive(Clone, PartialEq)]
576pub struct SmartContractInterface {
577 pub organization_id: ::prost::alloc::string::String,
578 pub smart_contract_interface_id: ::prost::alloc::string::String,
579 pub smart_contract_address: ::prost::alloc::string::String,
580 pub smart_contract_interface: ::prost::alloc::string::String,
581 pub r#type: ::prost::alloc::string::String,
582 pub label: ::prost::alloc::string::String,
583 pub notes: ::prost::alloc::string::String,
584 #[serde(default)]
585 pub created_at: ::core::option::Option<Timestamp>,
586 #[serde(default)]
587 pub updated_at: ::core::option::Option<Timestamp>,
588}
589#[derive(Debug)]
590#[derive(::serde::Serialize, ::serde::Deserialize)]
591#[serde(rename_all = "camelCase")]
592#[derive(Clone, PartialEq)]
593pub struct TvcApp {
594 pub id: ::prost::alloc::string::String,
595 pub organization_id: ::prost::alloc::string::String,
596 pub name: ::prost::alloc::string::String,
597 pub quorum_public_key: ::prost::alloc::string::String,
598 #[serde(default)]
599 pub manifest_set: ::core::option::Option<TvcOperatorSet>,
600 #[serde(default)]
601 pub share_set: ::core::option::Option<TvcOperatorSet>,
602 #[serde(default)]
603 pub enable_egress: bool,
604 #[serde(default)]
605 pub created_at: ::core::option::Option<Timestamp>,
606 #[serde(default)]
607 pub updated_at: ::core::option::Option<Timestamp>,
608 #[serde(default)]
609 pub live_deployment_id: ::core::option::Option<::prost::alloc::string::String>,
610 pub public_domain: ::prost::alloc::string::String,
611 #[serde(default)]
612 pub enable_debug_mode_deployments: bool,
613}
614#[derive(Debug)]
615#[derive(::serde::Serialize, ::serde::Deserialize)]
616#[serde(rename_all = "camelCase")]
617#[derive(Clone, PartialEq)]
618pub struct TvcDeployment {
619 pub id: ::prost::alloc::string::String,
620 pub organization_id: ::prost::alloc::string::String,
621 pub app_id: ::prost::alloc::string::String,
622 #[serde(default)]
623 pub manifest_set: ::core::option::Option<TvcOperatorSet>,
624 #[serde(default)]
625 pub share_set: ::core::option::Option<TvcOperatorSet>,
626 #[serde(default)]
627 pub manifest: ::core::option::Option<TvcManifest>,
628 #[serde(default)]
629 pub manifest_approvals: ::prost::alloc::vec::Vec<TvcOperatorApproval>,
630 pub qos_version: ::prost::alloc::string::String,
631 #[serde(default)]
632 pub pivot_container: ::core::option::Option<TvcContainerSpec>,
633 #[serde(default)]
634 pub created_at: ::core::option::Option<Timestamp>,
635 #[serde(default)]
636 pub updated_at: ::core::option::Option<Timestamp>,
637 #[serde(default)]
638 pub delete: bool,
639 #[serde(default)]
640 pub debug_mode: bool,
641}
642#[derive(Debug)]
643#[derive(::serde::Serialize, ::serde::Deserialize)]
644#[serde(rename_all = "camelCase")]
645#[derive(Clone, PartialEq)]
646pub struct TvcContainerSpec {
647 pub container_url: ::prost::alloc::string::String,
648 pub path: ::prost::alloc::string::String,
649 #[serde(default)]
650 pub args: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
651 #[serde(default)]
652 pub has_pull_secret: bool,
653 pub health_check_type: super::super::super::immutable::common::v1::TvcHealthCheckType,
654 #[serde(default)]
655 pub health_check_port: u32,
656 #[serde(default)]
657 pub public_ingress_port: u32,
658}
659#[derive(Debug)]
660#[serde_with::serde_as]
661#[derive(::serde::Serialize, ::serde::Deserialize)]
662#[serde(rename_all = "camelCase")]
663#[derive(Clone, PartialEq)]
664pub struct TvcOperatorApproval {
665 pub id: ::prost::alloc::string::String,
666 pub manifest_id: ::prost::alloc::string::String,
667 #[serde(default)]
668 pub operator: ::core::option::Option<TvcOperator>,
669 #[serde(default)]
670 #[serde_as(as = "serde_with::base64::Base64")]
671 pub approval: ::prost::alloc::vec::Vec<u8>,
672 #[serde(default)]
673 pub created_at: ::core::option::Option<Timestamp>,
674 #[serde(default)]
675 pub updated_at: ::core::option::Option<Timestamp>,
676}
677#[derive(Debug)]
678#[derive(::serde::Serialize, ::serde::Deserialize)]
679#[serde(rename_all = "camelCase")]
680#[derive(Clone, PartialEq)]
681pub struct TvcOperatorSet {
682 pub id: ::prost::alloc::string::String,
683 pub name: ::prost::alloc::string::String,
684 pub organization_id: ::prost::alloc::string::String,
685 #[serde(default)]
686 pub operators: ::prost::alloc::vec::Vec<TvcOperator>,
687 #[serde(default)]
688 pub threshold: u32,
689 #[serde(default)]
690 pub created_at: ::core::option::Option<Timestamp>,
691 #[serde(default)]
692 pub updated_at: ::core::option::Option<Timestamp>,
693}
694#[derive(Debug)]
695#[derive(::serde::Serialize, ::serde::Deserialize)]
696#[serde(rename_all = "camelCase")]
697#[derive(Clone, PartialEq)]
698pub struct TvcOperator {
699 pub id: ::prost::alloc::string::String,
700 pub name: ::prost::alloc::string::String,
701 pub public_key: ::prost::alloc::string::String,
702 #[serde(default)]
703 pub created_at: ::core::option::Option<Timestamp>,
704 #[serde(default)]
705 pub updated_at: ::core::option::Option<Timestamp>,
706}
707#[derive(Debug)]
708#[serde_with::serde_as]
709#[derive(::serde::Serialize, ::serde::Deserialize)]
710#[serde(rename_all = "camelCase")]
711#[derive(Clone, PartialEq)]
712pub struct TvcManifest {
713 pub id: ::prost::alloc::string::String,
714 #[serde(default)]
715 #[serde_as(as = "serde_with::base64::Base64")]
716 pub manifest: ::prost::alloc::vec::Vec<u8>,
717 #[serde(default)]
718 pub created_at: ::core::option::Option<Timestamp>,
719 #[serde(default)]
720 pub updated_at: ::core::option::Option<Timestamp>,
721}
722#[derive(Debug)]
723#[derive(::serde::Serialize, ::serde::Deserialize)]
724#[serde(rename_all = "camelCase")]
725#[derive(Clone, PartialEq)]
726pub struct DeploymentStatus {
727 pub deployment_id: ::prost::alloc::string::String,
728 #[serde(default)]
729 pub ready_replicas: i32,
730 #[serde(default)]
731 pub desired_replicas: i32,
732 #[serde(default)]
733 pub last_updated_time: ::core::option::Option<Timestamp>,
734}
735#[derive(Debug)]
736#[derive(::serde::Serialize, ::serde::Deserialize)]
737#[serde(rename_all = "camelCase")]
738#[derive(Clone, PartialEq)]
739pub struct AppStatus {
740 pub app_id: ::prost::alloc::string::String,
741 #[serde(default)]
742 pub deployments: ::prost::alloc::vec::Vec<DeploymentStatus>,
743 pub targeted_deployment_id: ::prost::alloc::string::String,
744}
745#[derive(Debug)]
746#[derive(::serde::Serialize, ::serde::Deserialize)]
747#[serde(rename_all = "camelCase")]
748#[derive(Clone, PartialEq)]
749pub struct LogLine {
750 pub content: ::prost::alloc::string::String,
751 #[serde(default)]
752 pub ts: ::core::option::Option<Timestamp>,
753}
754#[derive(Debug)]
755#[derive(::serde::Serialize, ::serde::Deserialize)]
757#[serde(rename_all = "camelCase")]
758#[derive(Clone, PartialEq)]
759pub struct WalletAccount {
760 pub wallet_account_id: ::prost::alloc::string::String,
761 pub organization_id: ::prost::alloc::string::String,
762 pub wallet_id: ::prost::alloc::string::String,
763 pub curve: super::super::super::immutable::common::v1::Curve,
764 pub path_format: super::super::super::immutable::common::v1::PathFormat,
765 pub path: ::prost::alloc::string::String,
766 pub address_format: super::super::super::immutable::common::v1::AddressFormat,
767 pub address: ::prost::alloc::string::String,
768 #[serde(default)]
769 pub created_at: ::core::option::Option<Timestamp>,
770 #[serde(default)]
771 pub updated_at: ::core::option::Option<Timestamp>,
772 #[serde(default)]
773 pub public_key: ::core::option::Option<::prost::alloc::string::String>,
774 #[serde(default)]
775 pub wallet_details: ::core::option::Option<Wallet>,
776 #[serde(default)]
782 pub name: ::core::option::Option<::prost::alloc::string::String>,
783}