1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use crate::interfaces::{TaxTypeSerde, ValueDef};
use chain_impl_mockchain::value::Value;
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct StakePoolStats {
    pub owners: Vec<String>,
    pub kes_public_key: String,
    pub vrf_public_key: String,
    pub total_stake: u64,
    pub rewards: Rewards,
    pub tax: TaxTypeSerde,
}

#[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct Rewards {
    pub epoch: u32,
    #[serde(with = "ValueDef")]
    pub value_taxed: Value,
    #[serde(with = "ValueDef")]
    pub value_for_stakers: Value,
}