photon_api/models/
account.rs

1/*
2 * photon-indexer
3 *
4 * Solana indexer for general compression
5 *
6 * The version of the OpenAPI document: 0.50.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
14pub struct Account {
15    /// A Solana public key represented as a base58 string.
16    #[serde(rename = "address", skip_serializing_if = "Option::is_none")]
17    pub address: Option<String>,
18    #[serde(rename = "data", skip_serializing_if = "Option::is_none")]
19    pub data: Option<Box<models::AccountData>>,
20    /// A 32-byte hash represented as a base58 string.
21    #[serde(rename = "hash")]
22    pub hash: String,
23    #[serde(rename = "lamports")]
24    pub lamports: u64,
25    #[serde(rename = "leafIndex")]
26    pub leaf_index: u32,
27    /// A Solana public key represented as a base58 string.
28    #[serde(rename = "owner")]
29    pub owner: String,
30    #[serde(rename = "seq", skip_serializing_if = "Option::is_none")]
31    pub seq: Option<u64>,
32    #[serde(rename = "slotCreated")]
33    pub slot_created: u64,
34    /// A Solana public key represented as a base58 string.
35    #[serde(rename = "tree")]
36    pub tree: String,
37}
38
39impl Account {
40    pub fn new(
41        hash: String,
42        lamports: u64,
43        leaf_index: u32,
44        owner: String,
45        slot_created: u64,
46        tree: String,
47    ) -> Account {
48        Account {
49            address: None,
50            data: None,
51            hash,
52            lamports,
53            leaf_index,
54            owner,
55            seq: None,
56            slot_created,
57            tree,
58        }
59    }
60}