#[repr(C)]pub struct Rent {
pub lamports_per_byte_year: u64,
pub exemption_threshold: f64,
pub burn_percent: u8,
}
Expand description
Configuration of network rent.
Fields§
§lamports_per_byte_year: u64
Rental rate in lamports/byte-year.
exemption_threshold: f64
Amount of time (in years) a balance must include rent for the account to be rent exempt.
burn_percent: u8
The percentage of collected rent that is burned.
Valid values are in the range [0, 100]. The remaining percentage is distributed to validators.
Implementations§
Source§impl Rent
impl Rent
Sourcepub fn calculate_burn(&self, rent_collected: u64) -> (u64, u64)
pub fn calculate_burn(&self, rent_collected: u64) -> (u64, u64)
Calculate how much rent to burn from the collected rent.
The first value returned is the amount burned. The second is the amount to distribute to validators.
Sourcepub fn minimum_balance(&self, data_len: usize) -> u64
pub fn minimum_balance(&self, data_len: usize) -> u64
Minimum balance due for rent-exemption of a given account data size.
Sourcepub fn is_exempt(&self, balance: u64, data_len: usize) -> bool
pub fn is_exempt(&self, balance: u64, data_len: usize) -> bool
Whether a given balance and data length would be exempt.
Sourcepub fn due(&self, balance: u64, data_len: usize, years_elapsed: f64) -> RentDue
pub fn due(&self, balance: u64, data_len: usize, years_elapsed: f64) -> RentDue
Rent due on account’s data length with balance.
Sourcepub fn due_amount(&self, data_len: usize, years_elapsed: f64) -> u64
pub fn due_amount(&self, data_len: usize, years_elapsed: f64) -> u64
Rent due for account that is known to be not exempt.
Sourcepub fn with_slots_per_epoch(slots_per_epoch: u64) -> Self
pub fn with_slots_per_epoch(slots_per_epoch: u64) -> Self
Creates a Rent
that is scaled based on the number of slots in an epoch.
This is used for testing.