#[cfg(feature = "bincode")]
use crate::SysvarSerialize;
#[cfg(feature = "serde")]
use serde_derive::{Deserialize, Serialize};
pub use solana_sdk_ids::sysvar::rewards::{check_id, id, ID};
use {crate::Sysvar, solana_sysvar_id::impl_sysvar_id};
impl_sysvar_id!(Rewards);
#[repr(C)]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
#[cfg_attr(feature = "wincode", derive(wincode::SchemaWrite, wincode::SchemaRead))]
#[derive(Debug, Default, PartialEq)]
pub struct Rewards {
pub validator_point_value: f64,
pub unused: f64,
}
pub const SIZE: usize = size_of::<Rewards>();
const _: () = assert!(SIZE == 16);
impl Rewards {
pub fn new(validator_point_value: f64) -> Self {
Self {
validator_point_value,
unused: 0.0,
}
}
}
impl Sysvar for Rewards {}
#[cfg(feature = "bincode")]
impl SysvarSerialize for Rewards {}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_size_of() {
assert_eq!(
wincode::serialized_size(&Rewards::default()).unwrap() as usize,
SIZE,
);
}
}