#[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) -> Rent
pub fn with_slots_per_epoch(slots_per_epoch: u64) -> Rent
Creates a Rent
that is scaled based on the number of slots in an epoch.
This is used for testing.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Rent
impl<'de> Deserialize<'de> for Rent
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Rent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Rent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for Rent
impl Serialize for Rent
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Source§impl Sysvar for Rent
impl Sysvar for Rent
Source§fn from_account_info(
account_info: &AccountInfo<'_>,
) -> Result<Self, ProgramError>
fn from_account_info( account_info: &AccountInfo<'_>, ) -> Result<Self, ProgramError>
AccountInfo
. Read moreSource§fn to_account_info(&self, account_info: &mut AccountInfo<'_>) -> Option<()>
fn to_account_info(&self, account_info: &mut AccountInfo<'_>) -> Option<()>
AccountInfo
. Read more