Skip to main content

blockfrost_openapi/models/
pool_metadata.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5pub struct PoolMetadata {
6    /// Bech32 pool ID
7    #[serde(rename = "pool_id")]
8    pub pool_id: String,
9    /// Hexadecimal pool ID
10    #[serde(rename = "hex")]
11    pub hex: String,
12    /// URL to the stake pool metadata
13    #[serde(rename = "url", deserialize_with = "Option::deserialize")]
14    pub url: Option<String>,
15    /// Hash of the metadata file
16    #[serde(rename = "hash", deserialize_with = "Option::deserialize")]
17    pub hash: Option<String>,
18    #[serde(rename = "error", skip_serializing_if = "Option::is_none")]
19    pub error: Option<Box<models::DrepMetadataError>>,
20    /// Ticker of the stake pool
21    #[serde(rename = "ticker", deserialize_with = "Option::deserialize")]
22    pub ticker: Option<String>,
23    /// Name of the stake pool
24    #[serde(rename = "name", deserialize_with = "Option::deserialize")]
25    pub name: Option<String>,
26    /// Description of the stake pool
27    #[serde(rename = "description", deserialize_with = "Option::deserialize")]
28    pub description: Option<String>,
29    /// Home page of the stake pool
30    #[serde(rename = "homepage", deserialize_with = "Option::deserialize")]
31    pub homepage: Option<String>,
32}
33
34impl PoolMetadata {
35    pub fn new(pool_id: String, hex: String, url: Option<String>, hash: Option<String>, ticker: Option<String>, name: Option<String>, description: Option<String>, homepage: Option<String>) -> PoolMetadata {
36        PoolMetadata {
37            pool_id,
38            hex,
39            url,
40            hash,
41            error: None,
42            ticker,
43            name,
44            description,
45            homepage,
46        }
47    }
48}
49