Skip to main content

solana_sysvar/
rewards.rs

1//! This sysvar is deprecated and unused.
2#[cfg(feature = "bincode")]
3use crate::SysvarSerialize;
4#[cfg(feature = "serde")]
5use serde_derive::{Deserialize, Serialize};
6pub use solana_sdk_ids::sysvar::rewards::{check_id, id, ID};
7use {crate::Sysvar, solana_sysvar_id::impl_sysvar_id};
8
9impl_sysvar_id!(Rewards);
10
11#[repr(C)]
12#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
13#[cfg_attr(feature = "wincode", derive(wincode::SchemaWrite, wincode::SchemaRead))]
14#[derive(Debug, Default, PartialEq)]
15pub struct Rewards {
16    pub validator_point_value: f64,
17    pub unused: f64,
18}
19
20/// Serialized size of `Rewards` sysvar account.
21pub const SIZE: usize = size_of::<Rewards>();
22const _: () = assert!(SIZE == 16);
23
24impl Rewards {
25    pub fn new(validator_point_value: f64) -> Self {
26        Self {
27            validator_point_value,
28            unused: 0.0,
29        }
30    }
31}
32impl Sysvar for Rewards {}
33#[cfg(feature = "bincode")]
34impl SysvarSerialize for Rewards {}
35
36#[cfg(test)]
37mod tests {
38    use super::*;
39
40    #[test]
41    fn test_size_of() {
42        assert_eq!(
43            wincode::serialized_size(&Rewards::default()).unwrap() as usize,
44            SIZE,
45        );
46    }
47}