fireblocks_sdk/models/
payment_instructions.rs1use {
10 crate::models,
11 serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PaymentInstructions {
16 #[serde(rename = "type")]
17 pub r#type: Type,
18 #[serde(rename = "address")]
19 pub address: models::AccountHolderDetails,
20 #[serde(rename = "referenceId")]
21 pub reference_id: String,
22}
23
24impl PaymentInstructions {
25 pub fn new(
26 r#type: Type,
27 address: models::AccountHolderDetails,
28 reference_id: String,
29 ) -> PaymentInstructions {
30 PaymentInstructions {
31 r#type,
32 address,
33 reference_id,
34 }
35 }
36}
37#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
39pub enum Type {
40 #[serde(rename = "IBAN")]
41 Iban,
42 #[serde(rename = "SWIFT")]
43 Swift,
44 #[serde(rename = "ACH")]
45 Ach,
46 #[serde(rename = "US_WIRE")]
47 UsWire,
48 #[serde(rename = "SPEI")]
49 Spei,
50 #[serde(rename = "SEPA")]
51 Sepa,
52 #[serde(rename = "PIX")]
53 Pix,
54 #[serde(rename = "LOCAL_BANK_TRANSFER_AFRICA")]
55 LocalBankTransferAfrica,
56 #[serde(rename = "MOBILE_MONEY")]
57 MobileMoney,
58}
59
60impl Default for Type {
61 fn default() -> Type {
62 Self::Iban
63 }
64}