#![allow(deprecated)]
use rialo_s_fee_calculator::FeeCalculator;
pub use rialo_s_sdk_ids::sysvar::fees::{check_id, id, ID};
use rialo_s_sdk_macro::CloneZeroed;
use rialo_s_sysvar_id::impl_deprecated_sysvar_id;
#[cfg(feature = "serde")]
use serde_derive::{Deserialize, Serialize};
#[cfg(feature = "bincode")]
use crate::{impl_sysvar_get, Sysvar};
impl_deprecated_sysvar_id!(Fees);
#[deprecated(
since = "1.9.0",
note = "Please do not use, will no longer be available in the future"
)]
#[repr(C)]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
#[derive(Debug, CloneZeroed, Default, PartialEq, Eq)]
pub struct Fees {
pub fee_calculator: FeeCalculator,
}
impl Fees {
pub fn new(fee_calculator: &FeeCalculator) -> Self {
#[allow(deprecated)]
Self {
fee_calculator: *fee_calculator,
}
}
}
#[cfg(feature = "bincode")]
impl Sysvar for Fees {
impl_sysvar_get!(rlo_get_fees_sysvar);
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_clone() {
let fees = Fees {
fee_calculator: FeeCalculator {
kelvins_per_signature: 1,
},
};
let cloned_fees = fees.clone();
assert_eq!(cloned_fees, fees);
}
}