fireblocks_sdk/models/
pix_address.rs1use {
10 crate::models,
11 serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PixAddress {
16 #[serde(rename = "accountHolder")]
17 pub account_holder: models::AccountHolderDetails,
18 #[serde(rename = "pixKey")]
19 pub pix_key: String,
20 #[serde(rename = "keyType")]
21 pub key_type: KeyType,
22 #[serde(rename = "bankName", skip_serializing_if = "Option::is_none")]
23 pub bank_name: Option<String>,
24 #[serde(rename = "bankCode", skip_serializing_if = "Option::is_none")]
25 pub bank_code: Option<String>,
26}
27
28impl PixAddress {
29 pub fn new(
30 account_holder: models::AccountHolderDetails,
31 pix_key: String,
32 key_type: KeyType,
33 ) -> PixAddress {
34 PixAddress {
35 account_holder,
36 pix_key,
37 key_type,
38 bank_name: None,
39 bank_code: None,
40 }
41 }
42}
43#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
45pub enum KeyType {
46 #[serde(rename = "cpf")]
47 Cpf,
48 #[serde(rename = "cnpj")]
49 Cnpj,
50 #[serde(rename = "email")]
51 Email,
52 #[serde(rename = "phone")]
53 Phone,
54 #[serde(rename = "random")]
55 Random,
56}
57
58impl Default for KeyType {
59 fn default() -> KeyType {
60 Self::Cpf
61 }
62}