Add feature gate for new vote instruction and plumb through replay (#21683)
* Add feature gate for new vote instruction and plumb through replay Add tower versions * Add check for slot hashes history * Update is_recent check to exclude voting on hard fork root slot * Move tower rollback test to flaky and ignore it until #22551 lands
This commit is contained in:
@ -5,7 +5,7 @@ use {
|
||||
solana_core::{
|
||||
broadcast_stage::BroadcastStageType,
|
||||
consensus::{Tower, SWITCH_FORK_THRESHOLD},
|
||||
tower_storage::FileTowerStorage,
|
||||
tower_storage::{FileTowerStorage, SavedTower, SavedTowerVersions, TowerStorage},
|
||||
validator::ValidatorConfig,
|
||||
},
|
||||
solana_gossip::gossip_service::discover_cluster,
|
||||
@ -406,3 +406,15 @@ pub fn test_faulty_node(
|
||||
|
||||
(cluster, validator_keys)
|
||||
}
|
||||
|
||||
pub fn save_tower(tower_path: &Path, tower: &Tower, node_keypair: &Keypair) {
|
||||
let file_tower_storage = FileTowerStorage::new(tower_path.to_path_buf());
|
||||
let saved_tower = SavedTower::new(tower, node_keypair).unwrap();
|
||||
file_tower_storage
|
||||
.store(&SavedTowerVersions::from(saved_tower))
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
pub fn root_in_tower(tower_path: &Path, node_pubkey: &Pubkey) -> Option<Slot> {
|
||||
restore_tower(tower_path, node_pubkey).map(|tower| tower.root())
|
||||
}
|
||||
|
Reference in New Issue
Block a user