Skip to main content

blockfrost_openapi/models/
address_content.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5pub struct AddressContent {
6    /// Bech32 encoded addresses
7    #[serde(rename = "address")]
8    pub address: String,
9    #[serde(rename = "amount")]
10    pub amount: Vec<models::TxContentOutputAmountInner>,
11    /// Stake address that controls the key
12    #[serde(rename = "stake_address", deserialize_with = "Option::deserialize")]
13    pub stake_address: Option<String>,
14    /// Address era
15    #[serde(rename = "type")]
16    pub r#type: Type,
17    /// True if this is a script address
18    #[serde(rename = "script")]
19    pub script: bool,
20}
21
22impl AddressContent {
23    pub fn new(address: String, amount: Vec<models::TxContentOutputAmountInner>, stake_address: Option<String>, r#type: Type, script: bool) -> AddressContent {
24        AddressContent {
25            address,
26            amount,
27            stake_address,
28            r#type,
29            script,
30        }
31    }
32}
33/// Address era
34#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
35pub enum Type {
36    #[serde(rename = "byron")]
37    Byron,
38    #[serde(rename = "shelley")]
39    Shelley,
40}
41
42impl Default for Type {
43    fn default() -> Type {
44        Self::Byron
45    }
46}
47