fireblocks_sdk/models/
provider.rs1use {
10 crate::models,
11 serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Provider {
16 #[serde(rename = "id")]
18 pub id: String,
19 #[serde(rename = "providerName")]
21 pub provider_name: String,
22 #[serde(rename = "validators")]
25 pub validators: Vec<models::Validator>,
26 #[serde(rename = "iconUrl", skip_serializing_if = "Option::is_none")]
28 pub icon_url: Option<String>,
29 #[serde(rename = "termsOfServiceUrl", skip_serializing_if = "Option::is_none")]
31 pub terms_of_service_url: Option<String>,
32 #[serde(rename = "isTermsOfServiceApproved")]
34 pub is_terms_of_service_approved: bool,
35 #[serde(rename = "isPrivate", skip_serializing_if = "Option::is_none")]
37 pub is_private: Option<bool>,
38 #[serde(rename = "isLiquidStaking")]
40 pub is_liquid_staking: bool,
41}
42
43impl Provider {
44 pub fn new(
45 id: String,
46 provider_name: String,
47 validators: Vec<models::Validator>,
48 is_terms_of_service_approved: bool,
49 is_liquid_staking: bool,
50 ) -> Provider {
51 Provider {
52 id,
53 provider_name,
54 validators,
55 icon_url: None,
56 terms_of_service_url: None,
57 is_terms_of_service_approved,
58 is_private: None,
59 is_liquid_staking,
60 }
61 }
62}