Struct anchor_lang::prelude::Rent
source · #[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 PartialEq for Rent
impl PartialEq for Rent
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