test-validator: hold rent constant with `--slots-per-epoch`
This commit is contained in:
parent
9d4428d3d8
commit
02b14caa5f
|
@ -69,7 +69,7 @@ impl Default for TestValidatorNodeConfig {
|
||||||
pub struct TestValidatorGenesis {
|
pub struct TestValidatorGenesis {
|
||||||
fee_rate_governor: FeeRateGovernor,
|
fee_rate_governor: FeeRateGovernor,
|
||||||
ledger_path: Option<PathBuf>,
|
ledger_path: Option<PathBuf>,
|
||||||
rent: Rent,
|
pub rent: Rent,
|
||||||
rpc_config: JsonRpcConfig,
|
rpc_config: JsonRpcConfig,
|
||||||
rpc_ports: Option<(u16, u16)>, // (JsonRpc, JsonRpcPubSub), None == random ports
|
rpc_ports: Option<(u16, u16)>, // (JsonRpc, JsonRpcPubSub), None == random ports
|
||||||
warp_slot: Option<Slot>,
|
warp_slot: Option<Slot>,
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#![allow(clippy::integer_arithmetic)]
|
#![allow(clippy::integer_arithmetic)]
|
||||||
//! configuration for network rent
|
//! configuration for network rent
|
||||||
|
use crate::clock::DEFAULT_SLOTS_PER_EPOCH;
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Serialize, Deserialize, PartialEq, Clone, Copy, Debug, AbiExample)]
|
#[derive(Serialize, Deserialize, PartialEq, Clone, Copy, Debug, AbiExample)]
|
||||||
|
@ -82,6 +83,17 @@ impl Rent {
|
||||||
..Rent::default()
|
..Rent::default()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn with_slots_per_epoch(slots_per_epoch: u64) -> Self {
|
||||||
|
let ratio = slots_per_epoch as f64 / DEFAULT_SLOTS_PER_EPOCH as f64;
|
||||||
|
let exemption_threshold = DEFAULT_EXEMPTION_THRESHOLD as f64 * ratio;
|
||||||
|
let lamports_per_byte_year = (DEFAULT_LAMPORTS_PER_BYTE_YEAR as f64 / ratio) as u64;
|
||||||
|
Self {
|
||||||
|
lamports_per_byte_year,
|
||||||
|
exemption_threshold,
|
||||||
|
..Self::default()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|
|
@ -17,6 +17,7 @@ use {
|
||||||
epoch_schedule::{EpochSchedule, MINIMUM_SLOTS_PER_EPOCH},
|
epoch_schedule::{EpochSchedule, MINIMUM_SLOTS_PER_EPOCH},
|
||||||
native_token::sol_to_lamports,
|
native_token::sol_to_lamports,
|
||||||
pubkey::Pubkey,
|
pubkey::Pubkey,
|
||||||
|
rent::Rent,
|
||||||
rpc_port,
|
rpc_port,
|
||||||
signature::{read_keypair_file, write_keypair_file, Keypair, Signer},
|
signature::{read_keypair_file, write_keypair_file, Keypair, Signer},
|
||||||
system_program,
|
system_program,
|
||||||
|
@ -561,6 +562,8 @@ fn main() {
|
||||||
slots_per_epoch,
|
slots_per_epoch,
|
||||||
/* enable_warmup_epochs = */ false,
|
/* enable_warmup_epochs = */ false,
|
||||||
));
|
));
|
||||||
|
|
||||||
|
genesis.rent = Rent::with_slots_per_epoch(slots_per_epoch);
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(gossip_host) = gossip_host {
|
if let Some(gossip_host) = gossip_host {
|
||||||
|
|
Loading…
Reference in New Issue