Skip to main content

solana_sysvar/
rewards.rs

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