1use serde::Deserialize;
2use serde::Serialize;
3#[derive(Serialize, Deserialize, Debug, Clone, Default)]
4pub struct Info {
5 pub time: String,
6 pub address: String,
7 pub uptime: String,
8 pub ticks: usize,
9 pub tree_size: usize,
10 pub lag: f64,
11}
12#[derive(Serialize, Deserialize, Debug, Clone, Default)]
13pub struct Sync {
14 pub status: String,
15 pub height: usize,
16 pub last_seen: String,
17}
18#[derive(Serialize, Deserialize, Debug, Clone, Default)]
19pub struct Dynamic {
20 pub random_queue: Vec<String>,
21 pub hashes: usize,
22 pub latest_hashes: Vec<String>,
23 pub stakers: Vec<String>,
24}
25#[derive(Serialize, Deserialize, Debug, Clone, Default)]
26pub struct Trusted {
27 pub hashes: usize,
28 pub latest_hashes: Vec<String>,
29 pub stakers: Vec<String>,
30}
31#[derive(Serialize, Deserialize, Debug, Clone, Default)]
32pub struct Block {
33 pub hash: String,
34 pub previous_hash: String,
35 pub timestamp: u32,
36 pub beta: String,
37 pub pi: String,
38 pub forger_address: String,
39 pub signature: String,
40 pub transactions: Vec<String>,
41 pub stakes: Vec<String>,
42}
43#[derive(Serialize, Deserialize, Debug, Clone, Default)]
44pub struct Transaction {
45 pub input_address: String,
46 pub output_address: String,
47 pub amount: String,
48 pub fee: String,
49 pub timestamp: u32,
50 pub hash: String,
51 pub signature: String,
52}
53#[derive(Serialize, Deserialize, Debug, Clone, Default)]
54pub struct Stake {
55 pub amount: String,
56 pub fee: String,
57 pub deposit: bool,
58 pub timestamp: u32,
59 pub signature: String,
60 pub input_address: String,
61 pub hash: String,
62}