Skip to content

Commit

Permalink
identity keyed leader schedule
Browse files Browse the repository at this point in the history
  • Loading branch information
jstarry committed Mar 4, 2025
1 parent 14bf821 commit 6f4c835
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 15 deletions.
8 changes: 4 additions & 4 deletions ledger/src/blockstore.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5402,7 +5402,7 @@ pub mod tests {
super::*,
crate::{
genesis_utils::{create_genesis_config, GenesisConfigInfo},
leader_schedule::{CurrentLeaderSchedule, FixedSchedule},
leader_schedule::{FixedSchedule, IdentityKeyedLeaderSchedule},
shred::{max_ticks_per_n_shreds, ShredFlags, LEGACY_SHRED_DATA_CAPACITY},
},
assert_matches::assert_matches,
Expand Down Expand Up @@ -10508,9 +10508,9 @@ pub mod tests {
let bank = Arc::new(Bank::new_for_tests(&genesis_config));
let mut leader_schedule_cache = LeaderScheduleCache::new_from_bank(&bank);
let fixed_schedule = FixedSchedule {
leader_schedule: Arc::new(Box::new(CurrentLeaderSchedule::new_from_schedule(vec![
leader_keypair.pubkey(),
]))),
leader_schedule: Arc::new(Box::new(IdentityKeyedLeaderSchedule::new_from_schedule(
vec![leader_keypair.pubkey()],
))),
};
leader_schedule_cache.set_fixed_leader_schedule(Some(fixed_schedule));

Expand Down
6 changes: 3 additions & 3 deletions ledger/src/leader_schedule.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ use {
std::{collections::HashMap, convert::identity, ops::Index, sync::Arc},
};

mod current;
pub use current::LeaderSchedule as CurrentLeaderSchedule;
mod identity_keyed;
pub use identity_keyed::LeaderSchedule as IdentityKeyedLeaderSchedule;

// Used for testing
#[derive(Clone, Debug)]
Expand Down Expand Up @@ -110,7 +110,7 @@ mod tests {
let schedule: Vec<_> = repeat_with(|| pubkeys[rng.gen_range(0..3)])
.take(19)
.collect();
let schedule = CurrentLeaderSchedule::new_from_schedule(schedule);
let schedule = IdentityKeyedLeaderSchedule::new_from_schedule(schedule);
let leaders = (0..NUM_SLOTS)
.map(|i| (schedule[i as u64], i))
.into_group_map();
Expand Down
File renamed without changes.
4 changes: 2 additions & 2 deletions ledger/src/leader_schedule_cache.rs
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ mod tests {
create_genesis_config_with_leader, GenesisConfigInfo,
},
get_tmp_ledger_path_auto_delete,
leader_schedule::CurrentLeaderSchedule,
leader_schedule::IdentityKeyedLeaderSchedule,
staking_utils::tests::setup_vote_and_stake_accounts,
},
crossbeam_channel::unbounded,
Expand Down Expand Up @@ -312,7 +312,7 @@ mod tests {
for i in 0..=MAX_SCHEDULES {
cached_schedules.insert(
i as u64,
Arc::new(Box::new(CurrentLeaderSchedule::default())),
Arc::new(Box::new(IdentityKeyedLeaderSchedule::default())),
);
order.push_back(i as u64);
}
Expand Down
6 changes: 3 additions & 3 deletions ledger/src/leader_schedule_utils.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use {
crate::leader_schedule::{CurrentLeaderSchedule, LeaderSchedule},
crate::leader_schedule::{IdentityKeyedLeaderSchedule, LeaderSchedule},
solana_runtime::bank::Bank,
solana_sdk::{
clock::{Epoch, Slot, NUM_CONSECUTIVE_LEADER_SLOTS},
Expand All @@ -12,7 +12,7 @@ use {
pub fn leader_schedule(epoch: Epoch, bank: &Bank) -> Option<LeaderSchedule> {
bank.epoch_staked_nodes(epoch)
.map(|stakes| -> LeaderSchedule {
Box::new(CurrentLeaderSchedule::new(
Box::new(IdentityKeyedLeaderSchedule::new(
&stakes,
epoch,
bank.get_slots_in_epoch(epoch),
Expand Down Expand Up @@ -81,7 +81,7 @@ mod tests {
.iter()
.map(|(pubkey, stake)| (*pubkey, *stake))
.collect();
let leader_schedule = CurrentLeaderSchedule::new(
let leader_schedule = IdentityKeyedLeaderSchedule::new(
&pubkeys_and_stakes,
0,
genesis_config.epoch_schedule.slots_per_epoch,
Expand Down
6 changes: 4 additions & 2 deletions local-cluster/src/integration_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ use {
blockstore::{Blockstore, PurgeType},
blockstore_meta::DuplicateSlotProof,
blockstore_options::{AccessType, BlockstoreOptions},
leader_schedule::{CurrentLeaderSchedule, FixedSchedule, LeaderSchedule},
leader_schedule::{FixedSchedule, IdentityKeyedLeaderSchedule, LeaderSchedule},
},
solana_rpc_client::rpc_client::RpcClient,
solana_runtime::{
Expand Down Expand Up @@ -273,7 +273,9 @@ pub fn create_custom_leader_schedule(
}

info!("leader_schedule: {}", leader_schedule.len());
Box::new(CurrentLeaderSchedule::new_from_schedule(leader_schedule))
Box::new(IdentityKeyedLeaderSchedule::new_from_schedule(
leader_schedule,
))
}

pub fn create_custom_leader_schedule_with_random_keys(
Expand Down
2 changes: 1 addition & 1 deletion poh/src/poh_recorder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1936,7 +1936,7 @@ mod tests {
let mut leader_schedule_cache = LeaderScheduleCache::new_from_bank(&bank);
let fixed_schedule = solana_ledger::leader_schedule::FixedSchedule {
leader_schedule: Arc::new(Box::new(
solana_ledger::leader_schedule::CurrentLeaderSchedule::new_from_schedule(
solana_ledger::leader_schedule::IdentityKeyedLeaderSchedule::new_from_schedule(
slot_leaders,
),
)),
Expand Down

0 comments on commit 6f4c835

Please sign in to comment.