photon_api/models/
account_v2.rs1use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
14pub struct AccountV2 {
15 #[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 #[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 #[serde(rename = "merkleContext")]
28 pub merkle_context: Box<models::MerkleContextV2>,
29 #[serde(rename = "owner")]
31 pub owner: String,
32 #[serde(rename = "proveByIndex")]
33 pub prove_by_index: bool,
34 #[serde(rename = "seq", skip_serializing_if = "Option::is_none")]
35 pub seq: Option<u64>,
36 #[serde(rename = "slotCreated")]
37 pub slot_created: u64,
38}
39
40impl AccountV2 {
41 pub fn new(
42 hash: String,
43 lamports: u64,
44 leaf_index: u32,
45 merkle_context: models::MerkleContextV2,
46 owner: String,
47 prove_by_index: bool,
48 slot_created: u64,
49 ) -> AccountV2 {
50 AccountV2 {
51 address: None,
52 data: None,
53 hash,
54 lamports,
55 leaf_index,
56 merkle_context: Box::new(merkle_context),
57 owner,
58 prove_by_index,
59 seq: None,
60 slot_created,
61 }
62 }
63}