Remove lamports-per-byte-year and lamports-per-epoch from rent as all… (#29731)
Remove lamports-per-byte-year and lamports-per-epoch from rent as all accounts must be rent exempt
This commit is contained in:
parent
a72c2ec459
commit
d53f02ec51
|
@ -59,7 +59,6 @@ use {
|
||||||
slot_history::SlotHistory,
|
slot_history::SlotHistory,
|
||||||
stake_history::{self},
|
stake_history::{self},
|
||||||
},
|
},
|
||||||
timing,
|
|
||||||
transaction::Transaction,
|
transaction::Transaction,
|
||||||
},
|
},
|
||||||
solana_transaction_status::UiTransactionEncoding,
|
solana_transaction_status::UiTransactionEncoding,
|
||||||
|
@ -453,7 +452,7 @@ impl ClusterQuerySubCommands for App<'_, '_> {
|
||||||
)
|
)
|
||||||
.subcommand(
|
.subcommand(
|
||||||
SubCommand::with_name("rent")
|
SubCommand::with_name("rent")
|
||||||
.about("Calculate per-epoch and rent-exempt-minimum values for a given account data field length.")
|
.about("Calculate rent-exempt-minimum value for a given account data field length.")
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("data_length")
|
Arg::with_name("data_length")
|
||||||
.index(1)
|
.index(1)
|
||||||
|
@ -2088,8 +2087,6 @@ pub fn process_transaction_history(
|
||||||
#[derive(Serialize, Deserialize)]
|
#[derive(Serialize, Deserialize)]
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
struct CliRentCalculation {
|
struct CliRentCalculation {
|
||||||
pub lamports_per_byte_year: u64,
|
|
||||||
pub lamports_per_epoch: u64,
|
|
||||||
pub rent_exempt_minimum_lamports: u64,
|
pub rent_exempt_minimum_lamports: u64,
|
||||||
#[serde(skip)]
|
#[serde(skip)]
|
||||||
pub use_lamports_unit: bool,
|
pub use_lamports_unit: bool,
|
||||||
|
@ -2103,11 +2100,7 @@ impl CliRentCalculation {
|
||||||
|
|
||||||
impl fmt::Display for CliRentCalculation {
|
impl fmt::Display for CliRentCalculation {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
let per_byte_year = self.build_balance_message(self.lamports_per_byte_year);
|
|
||||||
let per_epoch = self.build_balance_message(self.lamports_per_epoch);
|
|
||||||
let exempt_minimum = self.build_balance_message(self.rent_exempt_minimum_lamports);
|
let exempt_minimum = self.build_balance_message(self.rent_exempt_minimum_lamports);
|
||||||
writeln_name_value(f, "Rent per byte-year:", &per_byte_year)?;
|
|
||||||
writeln_name_value(f, "Rent per epoch:", &per_epoch)?;
|
|
||||||
writeln_name_value(f, "Rent-exempt minimum:", &exempt_minimum)
|
writeln_name_value(f, "Rent-exempt minimum:", &exempt_minimum)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2162,19 +2155,10 @@ pub fn process_calculate_rent(
|
||||||
data_length: usize,
|
data_length: usize,
|
||||||
use_lamports_unit: bool,
|
use_lamports_unit: bool,
|
||||||
) -> ProcessResult {
|
) -> ProcessResult {
|
||||||
let epoch_schedule = rpc_client.get_epoch_schedule()?;
|
|
||||||
let rent_account = rpc_client.get_account(&sysvar::rent::id())?;
|
let rent_account = rpc_client.get_account(&sysvar::rent::id())?;
|
||||||
let rent: Rent = rent_account.deserialize_data()?;
|
let rent: Rent = rent_account.deserialize_data()?;
|
||||||
let rent_exempt_minimum_lamports = rent.minimum_balance(data_length);
|
let rent_exempt_minimum_lamports = rent.minimum_balance(data_length);
|
||||||
let seconds_per_tick = Duration::from_secs_f64(1.0 / clock::DEFAULT_TICKS_PER_SECOND as f64);
|
|
||||||
let slots_per_year =
|
|
||||||
timing::years_as_slots(1.0, &seconds_per_tick, clock::DEFAULT_TICKS_PER_SLOT);
|
|
||||||
let slots_per_epoch = epoch_schedule.slots_per_epoch as f64;
|
|
||||||
let years_per_epoch = slots_per_epoch / slots_per_year;
|
|
||||||
let lamports_per_epoch = rent.due(0, data_length, years_per_epoch).lamports();
|
|
||||||
let cli_rent_calculation = CliRentCalculation {
|
let cli_rent_calculation = CliRentCalculation {
|
||||||
lamports_per_byte_year: rent.lamports_per_byte_year,
|
|
||||||
lamports_per_epoch,
|
|
||||||
rent_exempt_minimum_lamports,
|
rent_exempt_minimum_lamports,
|
||||||
use_lamports_unit,
|
use_lamports_unit,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue