Remove StakeState::get_rent_exempt_reserve()

This commit is contained in:
Michael Vines 2022-04-25 15:14:50 -07:00
parent 7791319374
commit 533eadd024
5 changed files with 8 additions and 13 deletions

View File

@ -135,7 +135,7 @@ fn main() -> Result<(), Box<dyn error::Error>> {
.to_string(); .to_string();
// stake account // stake account
let default_bootstrap_validator_stake_lamports = &sol_to_lamports(0.5) let default_bootstrap_validator_stake_lamports = &sol_to_lamports(0.5)
.max(StakeState::get_rent_exempt_reserve(&rent)) .max(rent.minimum_balance(StakeState::size_of()))
.to_string(); .to_string();
let default_target_tick_duration = let default_target_tick_duration =
@ -430,7 +430,7 @@ fn main() -> Result<(), Box<dyn error::Error>> {
let bootstrap_validator_stake_lamports = rent_exempt_check( let bootstrap_validator_stake_lamports = rent_exempt_check(
&matches, &matches,
"bootstrap_validator_stake_lamports", "bootstrap_validator_stake_lamports",
StakeState::get_rent_exempt_reserve(&rent), rent.minimum_balance(StakeState::size_of()),
)?; )?;
let bootstrap_stake_authorized_pubkey = let bootstrap_stake_authorized_pubkey =

View File

@ -107,7 +107,7 @@ pub fn create_and_add_stakes(
let mut address_generator = AddressGenerator::new(&authorized.staker, &stake::program::id()); let mut address_generator = AddressGenerator::new(&authorized.staker, &stake::program::id());
let stake_rent_reserve = StakeState::get_rent_exempt_reserve(&genesis_config.rent); let stake_rent_reserve = genesis_config.rent.minimum_balance(StakeState::size_of());
for unlock in unlocks { for unlock in unlocks {
let lamports = unlock.amount(stakes_lamports); let lamports = unlock.amount(stakes_lamports);
@ -193,7 +193,7 @@ mod tests {
.iter() .iter()
.all(|(_pubkey, account)| account.lamports <= granularity .all(|(_pubkey, account)| account.lamports <= granularity
|| account.lamports - granularity || account.lamports - granularity
<= StakeState::get_rent_exempt_reserve(&genesis_config.rent))); <= genesis_config.rent.minimum_balance(StakeState::size_of())));
} }
// #[ignore] // #[ignore]
@ -238,7 +238,7 @@ mod tests {
..Rent::default() ..Rent::default()
}; };
let reserve = StakeState::get_rent_exempt_reserve(&rent); let reserve = rent.minimum_balance(StakeState::size_of());
let staker_reserve = rent.minimum_balance(0); let staker_reserve = rent.minimum_balance(0);
// verify that a small remainder ends up in the last stake // verify that a small remainder ends up in the last stake

View File

@ -1043,7 +1043,7 @@ fn main() {
.max(VoteState::get_rent_exempt_reserve(&rent)) .max(VoteState::get_rent_exempt_reserve(&rent))
.to_string(); .to_string();
let default_bootstrap_validator_stake_lamports = &sol_to_lamports(0.5) let default_bootstrap_validator_stake_lamports = &sol_to_lamports(0.5)
.max(StakeState::get_rent_exempt_reserve(&rent)) .max(rent.minimum_balance(StakeState::size_of()))
.to_string(); .to_string();
let matches = App::new(crate_name!()) let matches = App::new(crate_name!())
@ -2227,7 +2227,7 @@ fn main() {
value_t_or_exit!(arg_matches, "bootstrap_validator_lamports", u64); value_t_or_exit!(arg_matches, "bootstrap_validator_lamports", u64);
let bootstrap_validator_stake_lamports = let bootstrap_validator_stake_lamports =
value_t_or_exit!(arg_matches, "bootstrap_validator_stake_lamports", u64); value_t_or_exit!(arg_matches, "bootstrap_validator_stake_lamports", u64);
let minimum_stake_lamports = StakeState::get_rent_exempt_reserve(&rent); let minimum_stake_lamports = rent.minimum_balance(StakeState::size_of());
if bootstrap_validator_stake_lamports < minimum_stake_lamports { if bootstrap_validator_stake_lamports < minimum_stake_lamports {
eprintln!( eprintln!(
"Error: insufficient --bootstrap-validator-stake-lamports. \ "Error: insufficient --bootstrap-validator-stake-lamports. \

View File

@ -21,7 +21,7 @@ const VALIDATOR_LAMPORTS: u64 = 42;
// fun fact: rustc is very close to make this const fn. // fun fact: rustc is very close to make this const fn.
pub fn bootstrap_validator_stake_lamports() -> u64 { pub fn bootstrap_validator_stake_lamports() -> u64 {
StakeState::get_rent_exempt_reserve(&Rent::default()) Rent::default().minimum_balance(StakeState::size_of())
} }
// Number of lamports automatically used for genesis accounts // Number of lamports automatically used for genesis accounts

View File

@ -4,7 +4,6 @@ use {
clock::{Clock, Epoch, UnixTimestamp}, clock::{Clock, Epoch, UnixTimestamp},
instruction::InstructionError, instruction::InstructionError,
pubkey::Pubkey, pubkey::Pubkey,
rent::Rent,
stake::{ stake::{
config::Config, config::Config,
instruction::{LockupArgs, StakeError}, instruction::{LockupArgs, StakeError},
@ -79,10 +78,6 @@ impl StakeState {
200 // see test_size_of 200 // see test_size_of
} }
pub fn get_rent_exempt_reserve(rent: &Rent) -> u64 {
rent.minimum_balance(Self::size_of())
}
pub fn stake(&self) -> Option<Stake> { pub fn stake(&self) -> Option<Stake> {
match self { match self {
StakeState::Stake(_meta, stake) => Some(*stake), StakeState::Stake(_meta, stake) => Some(*stake),