refactor core to create consensus module (#32282)
This commit is contained in:
parent
9fb105c801
commit
87c1b67d53
|
@ -5,7 +5,8 @@ extern crate test;
|
|||
|
||||
use {
|
||||
solana_core::{
|
||||
consensus::Tower, tower_storage::FileTowerStorage, vote_simulator::VoteSimulator,
|
||||
consensus::{tower_storage::FileTowerStorage, Tower},
|
||||
vote_simulator::VoteSimulator,
|
||||
},
|
||||
solana_runtime::{bank::Bank, bank_forks::BankForks},
|
||||
solana_sdk::{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
use {
|
||||
crate::{
|
||||
banking_trace::{BankingPacketBatch, BankingPacketSender},
|
||||
consensus::vote_stake_tracker::VoteStakeTracker,
|
||||
optimistic_confirmation_verifier::OptimisticConfirmationVerifier,
|
||||
replay_stage::DUPLICATE_THRESHOLD,
|
||||
result::{Error, Result},
|
||||
|
@ -8,7 +9,6 @@ use {
|
|||
verified_vote_packets::{
|
||||
ValidatorGossipVotesIterator, VerifiedVoteMetadata, VerifiedVotePackets,
|
||||
},
|
||||
vote_stake_tracker::VoteStakeTracker,
|
||||
},
|
||||
crossbeam_channel::{unbounded, Receiver, RecvTimeoutError, Select, Sender},
|
||||
log::*,
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
use {
|
||||
crate::{
|
||||
ancestor_hashes_service::{AncestorHashesReplayUpdate, AncestorHashesReplayUpdateSender},
|
||||
fork_choice::ForkChoice,
|
||||
heaviest_subtree_fork_choice::HeaviestSubtreeForkChoice,
|
||||
consensus::{
|
||||
fork_choice::ForkChoice, heaviest_subtree_fork_choice::HeaviestSubtreeForkChoice,
|
||||
},
|
||||
},
|
||||
solana_ledger::blockstore::Blockstore,
|
||||
solana_sdk::{clock::Slot, hash::Hash},
|
||||
|
@ -946,7 +947,7 @@ pub(crate) fn check_slot_agrees_with_cluster(
|
|||
mod test {
|
||||
use {
|
||||
super::*,
|
||||
crate::{progress_map::ProgressMap, replay_stage::tests::setup_forks_from_tree},
|
||||
crate::{consensus::progress_map::ProgressMap, replay_stage::tests::setup_forks_from_tree},
|
||||
crossbeam_channel::unbounded,
|
||||
solana_runtime::bank_forks::BankForks,
|
||||
std::{
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
pub mod fork_choice;
|
||||
pub mod heaviest_subtree_fork_choice;
|
||||
pub(crate) mod latest_validator_votes_for_frozen_banks;
|
||||
pub mod progress_map;
|
||||
mod tower1_14_11;
|
||||
mod tower1_7_14;
|
||||
pub mod tower_storage;
|
||||
pub mod tree_diff;
|
||||
pub mod vote_stake_tracker;
|
||||
|
||||
use {
|
||||
crate::{
|
||||
self::{
|
||||
heaviest_subtree_fork_choice::HeaviestSubtreeForkChoice,
|
||||
latest_validator_votes_for_frozen_banks::LatestValidatorVotesForFrozenBanks,
|
||||
progress_map::{LockoutIntervals, ProgressMap},
|
||||
|
@ -1535,8 +1545,11 @@ pub mod test {
|
|||
use {
|
||||
super::*,
|
||||
crate::{
|
||||
fork_choice::ForkChoice, heaviest_subtree_fork_choice::SlotHashKey,
|
||||
replay_stage::HeaviestForkFailures, tower_storage::FileTowerStorage,
|
||||
consensus::{
|
||||
fork_choice::ForkChoice, heaviest_subtree_fork_choice::SlotHashKey,
|
||||
tower_storage::FileTowerStorage,
|
||||
},
|
||||
replay_stage::HeaviestForkFailures,
|
||||
vote_simulator::VoteSimulator,
|
||||
},
|
||||
itertools::Itertools,
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
use {
|
||||
crate::{
|
||||
consensus::{SwitchForkDecision, Tower},
|
||||
latest_validator_votes_for_frozen_banks::LatestValidatorVotesForFrozenBanks,
|
||||
progress_map::ProgressMap,
|
||||
consensus::{
|
||||
latest_validator_votes_for_frozen_banks::LatestValidatorVotesForFrozenBanks,
|
||||
progress_map::ProgressMap, SwitchForkDecision, Tower,
|
||||
},
|
||||
replay_stage::HeaviestForkFailures,
|
||||
},
|
||||
solana_runtime::{bank::Bank, bank_forks::BankForks},
|
|
@ -1,10 +1,10 @@
|
|||
#[cfg(test)]
|
||||
use trees::{Tree, TreeWalk};
|
||||
use {
|
||||
crate::{
|
||||
consensus::Tower, fork_choice::ForkChoice,
|
||||
crate::consensus::{
|
||||
fork_choice::ForkChoice,
|
||||
latest_validator_votes_for_frozen_banks::LatestValidatorVotesForFrozenBanks,
|
||||
progress_map::ProgressMap, tree_diff::TreeDiff,
|
||||
progress_map::ProgressMap, tree_diff::TreeDiff, Tower,
|
||||
},
|
||||
solana_measure::measure::Measure,
|
||||
solana_runtime::{bank::Bank, bank_forks::BankForks, epoch_stakes::EpochStakes},
|
|
@ -1,5 +1,5 @@
|
|||
use {
|
||||
crate::heaviest_subtree_fork_choice::SlotHashKey,
|
||||
crate::consensus::heaviest_subtree_fork_choice::SlotHashKey,
|
||||
solana_sdk::{clock::Slot, hash::Hash, pubkey::Pubkey},
|
||||
std::collections::{hash_map::Entry, HashMap},
|
||||
};
|
|
@ -1,8 +1,7 @@
|
|||
use {
|
||||
crate::{
|
||||
consensus::{Result, Tower, TowerError, TowerVersions},
|
||||
tower1_14_11::Tower1_14_11,
|
||||
tower1_7_14::SavedTower1_7_14,
|
||||
crate::consensus::{
|
||||
tower1_14_11::Tower1_14_11, tower1_7_14::SavedTower1_7_14, Result, Tower, TowerError,
|
||||
TowerVersions,
|
||||
},
|
||||
solana_sdk::{
|
||||
pubkey::Pubkey,
|
||||
|
@ -371,9 +370,9 @@ impl TowerStorage for EtcdTowerStorage {
|
|||
pub mod test {
|
||||
use {
|
||||
super::*,
|
||||
crate::{
|
||||
consensus::Tower,
|
||||
crate::consensus::{
|
||||
tower1_7_14::{SavedTower1_7_14, Tower1_7_14},
|
||||
Tower,
|
||||
},
|
||||
solana_sdk::{hash::Hash, signature::Keypair},
|
||||
solana_vote_program::vote_state::{
|
|
@ -24,10 +24,7 @@ pub mod cost_update_service;
|
|||
pub mod drop_bank_service;
|
||||
pub mod duplicate_repair_status;
|
||||
pub mod fetch_stage;
|
||||
pub mod fork_choice;
|
||||
pub mod gen_keys;
|
||||
pub mod heaviest_subtree_fork_choice;
|
||||
pub mod latest_validator_votes_for_frozen_banks;
|
||||
pub mod ledger_cleanup_service;
|
||||
pub mod ledger_metric_report_service;
|
||||
pub mod next_leader;
|
||||
|
@ -36,7 +33,6 @@ pub mod outstanding_requests;
|
|||
pub mod packet_threshold;
|
||||
pub mod poh_timing_report_service;
|
||||
pub mod poh_timing_reporter;
|
||||
pub mod progress_map;
|
||||
pub mod repair_generic_traversal;
|
||||
pub mod repair_response;
|
||||
pub mod repair_service;
|
||||
|
@ -56,19 +52,14 @@ pub mod snapshot_packager_service;
|
|||
pub mod staked_nodes_updater_service;
|
||||
pub mod stats_reporter_service;
|
||||
pub mod system_monitor_service;
|
||||
mod tower1_14_11;
|
||||
mod tower1_7_14;
|
||||
pub mod tower_storage;
|
||||
pub mod tpu;
|
||||
mod tpu_entry_notifier;
|
||||
pub mod tracer_packet_stats;
|
||||
pub mod tree_diff;
|
||||
pub mod tvu;
|
||||
pub mod unfrozen_gossip_verified_vote_hashes;
|
||||
pub mod validator;
|
||||
pub mod verified_vote_packets;
|
||||
pub mod vote_simulator;
|
||||
pub mod vote_stake_tracker;
|
||||
pub mod voting_service;
|
||||
pub mod warm_quic_cache_service;
|
||||
pub mod window_service;
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
use {
|
||||
crate::{
|
||||
heaviest_subtree_fork_choice::HeaviestSubtreeForkChoice, repair_service::RepairService,
|
||||
serve_repair::ShredRepairType, tree_diff::TreeDiff,
|
||||
consensus::{heaviest_subtree_fork_choice::HeaviestSubtreeForkChoice, tree_diff::TreeDiff},
|
||||
repair_service::RepairService,
|
||||
serve_repair::ShredRepairType,
|
||||
},
|
||||
solana_ledger::{blockstore::Blockstore, blockstore_meta::SlotMeta},
|
||||
solana_sdk::{clock::Slot, hash::Hash},
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
use {
|
||||
crate::{
|
||||
heaviest_subtree_fork_choice::HeaviestSubtreeForkChoice,
|
||||
consensus::{heaviest_subtree_fork_choice::HeaviestSubtreeForkChoice, tree_diff::TreeDiff},
|
||||
repair_generic_traversal::{get_closest_completion, get_unknown_last_index},
|
||||
repair_service::{BestRepairsStats, RepairTiming},
|
||||
repair_weighted_traversal,
|
||||
replay_stage::DUPLICATE_THRESHOLD,
|
||||
serve_repair::ShredRepairType,
|
||||
tree_diff::TreeDiff,
|
||||
},
|
||||
solana_ledger::{
|
||||
ancestor_iterator::AncestorIterator, blockstore::Blockstore, blockstore_meta::SlotMeta,
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
use {
|
||||
crate::{
|
||||
heaviest_subtree_fork_choice::HeaviestSubtreeForkChoice, repair_service::RepairService,
|
||||
serve_repair::ShredRepairType, tree_diff::TreeDiff,
|
||||
consensus::{heaviest_subtree_fork_choice::HeaviestSubtreeForkChoice, tree_diff::TreeDiff},
|
||||
repair_service::RepairService,
|
||||
serve_repair::ShredRepairType,
|
||||
},
|
||||
solana_ledger::{blockstore::Blockstore, blockstore_meta::SlotMeta},
|
||||
solana_sdk::{clock::Slot, hash::Hash},
|
||||
|
|
|
@ -12,20 +12,20 @@ use {
|
|||
cluster_slots_service::{cluster_slots::ClusterSlots, ClusterSlotsUpdateSender},
|
||||
commitment_service::{AggregateCommitmentService, CommitmentAggregationData},
|
||||
consensus::{
|
||||
fork_choice::{ForkChoice, SelectVoteAndResetForkResult},
|
||||
heaviest_subtree_fork_choice::HeaviestSubtreeForkChoice,
|
||||
latest_validator_votes_for_frozen_banks::LatestValidatorVotesForFrozenBanks,
|
||||
progress_map::{ForkProgress, ProgressMap, PropagatedStats, ReplaySlotStats},
|
||||
tower_storage::{SavedTower, SavedTowerVersions, TowerStorage},
|
||||
ComputedBankState, Stake, SwitchForkDecision, ThresholdDecision, Tower, VotedStakes,
|
||||
SWITCH_FORK_THRESHOLD,
|
||||
},
|
||||
cost_update_service::CostUpdate,
|
||||
duplicate_repair_status::AncestorDuplicateSlotsToRepair,
|
||||
fork_choice::{ForkChoice, SelectVoteAndResetForkResult},
|
||||
heaviest_subtree_fork_choice::HeaviestSubtreeForkChoice,
|
||||
latest_validator_votes_for_frozen_banks::LatestValidatorVotesForFrozenBanks,
|
||||
progress_map::{ForkProgress, ProgressMap, PropagatedStats, ReplaySlotStats},
|
||||
repair_service::{
|
||||
AncestorDuplicateSlotsReceiver, DumpedSlotsSender, PopularPrunedForksReceiver,
|
||||
},
|
||||
rewards_recorder_service::{RewardsMessage, RewardsRecorderSender},
|
||||
tower_storage::{SavedTower, SavedTowerVersions, TowerStorage},
|
||||
unfrozen_gossip_verified_vote_hashes::UnfrozenGossipVerifiedVoteHashes,
|
||||
validator::ProcessBlockStore,
|
||||
voting_service::VoteOp,
|
||||
|
@ -3898,10 +3898,13 @@ pub(crate) mod tests {
|
|||
use {
|
||||
super::*,
|
||||
crate::{
|
||||
consensus::Tower,
|
||||
progress_map::{ValidatorStakeInfo, RETRANSMIT_BASE_DELAY_MS},
|
||||
consensus::{
|
||||
progress_map::{ValidatorStakeInfo, RETRANSMIT_BASE_DELAY_MS},
|
||||
tower_storage::NullTowerStorage,
|
||||
tree_diff::TreeDiff,
|
||||
Tower,
|
||||
},
|
||||
replay_stage::ReplayStage,
|
||||
tree_diff::TreeDiff,
|
||||
vote_simulator::{self, VoteSimulator},
|
||||
},
|
||||
crossbeam_channel::unbounded,
|
||||
|
@ -7003,7 +7006,7 @@ pub(crate) mod tests {
|
|||
vote_simulator,
|
||||
..
|
||||
} = replay_blockstore_components(None, 10, None::<GenerateVotes>);
|
||||
let tower_storage = crate::tower_storage::NullTowerStorage::default();
|
||||
let tower_storage = NullTowerStorage::default();
|
||||
|
||||
let VoteSimulator {
|
||||
mut validator_keypairs,
|
||||
|
@ -7350,7 +7353,7 @@ pub(crate) mod tests {
|
|||
vote_simulator,
|
||||
..
|
||||
} = replay_blockstore_components(None, 10, None::<GenerateVotes>);
|
||||
let tower_storage = crate::tower_storage::NullTowerStorage::default();
|
||||
let tower_storage = NullTowerStorage::default();
|
||||
|
||||
let VoteSimulator {
|
||||
mut validator_keypairs,
|
||||
|
|
|
@ -11,6 +11,7 @@ use {
|
|||
},
|
||||
cluster_slots_service::{cluster_slots::ClusterSlots, ClusterSlotsService},
|
||||
completed_data_sets_service::CompletedDataSetsSender,
|
||||
consensus::tower_storage::TowerStorage,
|
||||
cost_update_service::CostUpdateService,
|
||||
drop_bank_service::DropBankService,
|
||||
ledger_cleanup_service::LedgerCleanupService,
|
||||
|
@ -18,7 +19,6 @@ use {
|
|||
replay_stage::{ReplayStage, ReplayStageConfig},
|
||||
rewards_recorder_service::RewardsRecorderSender,
|
||||
shred_fetch_stage::ShredFetchStage,
|
||||
tower_storage::TowerStorage,
|
||||
validator::ProcessBlockStore,
|
||||
voting_service::VotingService,
|
||||
warm_quic_cache_service::WarmQuicCacheService,
|
||||
|
@ -369,7 +369,10 @@ impl Tvu {
|
|||
pub mod tests {
|
||||
use {
|
||||
super::*,
|
||||
crate::validator::TURBINE_QUIC_CONNECTION_POOL_SIZE,
|
||||
crate::{
|
||||
consensus::tower_storage::FileTowerStorage,
|
||||
validator::TURBINE_QUIC_CONNECTION_POOL_SIZE,
|
||||
},
|
||||
serial_test::serial,
|
||||
solana_gossip::cluster_info::{ClusterInfo, Node},
|
||||
solana_ledger::{
|
||||
|
@ -470,7 +473,7 @@ pub mod tests {
|
|||
)),
|
||||
&poh_recorder,
|
||||
None,
|
||||
Arc::new(crate::tower_storage::FileTowerStorage::default()),
|
||||
Arc::new(FileTowerStorage::default()),
|
||||
&leader_schedule_cache,
|
||||
exit.clone(),
|
||||
block_commitment_cache,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use {
|
||||
crate::latest_validator_votes_for_frozen_banks::LatestValidatorVotesForFrozenBanks,
|
||||
crate::consensus::latest_validator_votes_for_frozen_banks::LatestValidatorVotesForFrozenBanks,
|
||||
solana_sdk::{clock::Slot, hash::Hash, pubkey::Pubkey},
|
||||
std::collections::{BTreeMap, HashMap},
|
||||
};
|
||||
|
|
|
@ -9,7 +9,11 @@ use {
|
|||
cache_block_meta_service::{CacheBlockMetaSender, CacheBlockMetaService},
|
||||
cluster_info_vote_listener::VoteTracker,
|
||||
completed_data_sets_service::CompletedDataSetsService,
|
||||
consensus::{reconcile_blockstore_roots_with_external_source, ExternalRootSource, Tower},
|
||||
consensus::{
|
||||
reconcile_blockstore_roots_with_external_source,
|
||||
tower_storage::{NullTowerStorage, TowerStorage},
|
||||
ExternalRootSource, Tower,
|
||||
},
|
||||
ledger_metric_report_service::LedgerMetricReportService,
|
||||
poh_timing_report_service::PohTimingReportService,
|
||||
rewards_recorder_service::{RewardsRecorderSender, RewardsRecorderService},
|
||||
|
@ -22,7 +26,6 @@ use {
|
|||
system_monitor_service::{
|
||||
verify_net_stats_access, SystemMonitorService, SystemMonitorStatsReportConfig,
|
||||
},
|
||||
tower_storage::TowerStorage,
|
||||
tpu::{Tpu, TpuSockets, DEFAULT_TPU_COALESCE},
|
||||
tvu::{Tvu, TvuConfig, TvuSockets},
|
||||
},
|
||||
|
@ -289,7 +292,7 @@ impl Default for ValidatorConfig {
|
|||
wal_recovery_mode: None,
|
||||
run_verification: true,
|
||||
require_tower: false,
|
||||
tower_storage: Arc::new(crate::tower_storage::NullTowerStorage::default()),
|
||||
tower_storage: Arc::new(NullTowerStorage::default()),
|
||||
debug_keys: None,
|
||||
contact_debug_interval: DEFAULT_CONTACT_DEBUG_INTERVAL_MILLIS,
|
||||
contact_save_interval: DEFAULT_CONTACT_SAVE_INTERVAL_MILLIS,
|
||||
|
|
|
@ -5,11 +5,13 @@ use {
|
|||
DuplicateSlotsTracker, EpochSlotsFrozenSlots, GossipDuplicateConfirmedSlots,
|
||||
},
|
||||
cluster_slots_service::cluster_slots::ClusterSlots,
|
||||
consensus::Tower,
|
||||
fork_choice::SelectVoteAndResetForkResult,
|
||||
heaviest_subtree_fork_choice::HeaviestSubtreeForkChoice,
|
||||
latest_validator_votes_for_frozen_banks::LatestValidatorVotesForFrozenBanks,
|
||||
progress_map::{ForkProgress, ProgressMap},
|
||||
consensus::{
|
||||
fork_choice::SelectVoteAndResetForkResult,
|
||||
heaviest_subtree_fork_choice::HeaviestSubtreeForkChoice,
|
||||
latest_validator_votes_for_frozen_banks::LatestValidatorVotesForFrozenBanks,
|
||||
progress_map::{ForkProgress, ProgressMap},
|
||||
Tower,
|
||||
},
|
||||
replay_stage::{HeaviestForkFailures, ReplayStage},
|
||||
unfrozen_gossip_verified_vote_hashes::UnfrozenGossipVerifiedVoteHashes,
|
||||
},
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use {
|
||||
crate::{
|
||||
consensus::tower_storage::{SavedTowerVersions, TowerStorage},
|
||||
next_leader::next_leader_tpu_vote,
|
||||
tower_storage::{SavedTowerVersions, TowerStorage},
|
||||
},
|
||||
crossbeam_channel::Receiver,
|
||||
solana_gossip::cluster_info::ClusterInfo,
|
||||
|
|
|
@ -8,7 +8,7 @@ use {
|
|||
log::*,
|
||||
solana_client::{connection_cache::ConnectionCache, thin_client::ThinClient},
|
||||
solana_core::{
|
||||
tower_storage::FileTowerStorage,
|
||||
consensus::tower_storage::FileTowerStorage,
|
||||
validator::{Validator, ValidatorConfig, ValidatorStartProgress},
|
||||
},
|
||||
solana_gossip::{
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
use {
|
||||
log::*,
|
||||
solana_core::{
|
||||
consensus::{Tower, SWITCH_FORK_THRESHOLD},
|
||||
tower_storage::FileTowerStorage,
|
||||
consensus::{tower_storage::FileTowerStorage, Tower, SWITCH_FORK_THRESHOLD},
|
||||
validator::{is_snapshot_config_valid, ValidatorConfig},
|
||||
},
|
||||
solana_gossip::gossip_service::discover_cluster,
|
||||
|
|
|
@ -8,10 +8,11 @@ use {
|
|||
serial_test::serial,
|
||||
solana_client::thin_client::ThinClient,
|
||||
solana_core::{
|
||||
consensus::{Tower, SWITCH_FORK_THRESHOLD, VOTE_THRESHOLD_DEPTH},
|
||||
consensus::{
|
||||
tower_storage::FileTowerStorage, Tower, SWITCH_FORK_THRESHOLD, VOTE_THRESHOLD_DEPTH,
|
||||
},
|
||||
optimistic_confirmation_verifier::OptimisticConfirmationVerifier,
|
||||
replay_stage::DUPLICATE_THRESHOLD,
|
||||
tower_storage::FileTowerStorage,
|
||||
validator::ValidatorConfig,
|
||||
},
|
||||
solana_download_utils::download_snapshot_archive,
|
||||
|
|
|
@ -7,7 +7,7 @@ use {
|
|||
solana_client::rpc_request::MAX_MULTIPLE_ACCOUNTS,
|
||||
solana_core::{
|
||||
admin_rpc_post_init::AdminRpcRequestMetadataPostInit,
|
||||
tower_storage::TowerStorage,
|
||||
consensus::tower_storage::TowerStorage,
|
||||
validator::{Validator, ValidatorConfig, ValidatorStartProgress},
|
||||
},
|
||||
solana_geyser_plugin_manager::{
|
||||
|
|
|
@ -10,8 +10,9 @@ use {
|
|||
log::*,
|
||||
serde::{de::Deserializer, Deserialize, Serialize},
|
||||
solana_core::{
|
||||
admin_rpc_post_init::AdminRpcRequestMetadataPostInit, consensus::Tower,
|
||||
tower_storage::TowerStorage, validator::ValidatorStartProgress,
|
||||
admin_rpc_post_init::AdminRpcRequestMetadataPostInit,
|
||||
consensus::{tower_storage::TowerStorage, Tower},
|
||||
validator::ValidatorStartProgress,
|
||||
},
|
||||
solana_geyser_plugin_manager::GeyserPluginManagerRequest,
|
||||
solana_gossip::contact_info::{ContactInfo, Protocol, SOCKET_ADDR_UNSPECIFIED},
|
||||
|
@ -864,7 +865,7 @@ mod tests {
|
|||
super::*,
|
||||
rand::{distributions::Uniform, thread_rng, Rng},
|
||||
serde_json::Value,
|
||||
solana_core::tower_storage::NullTowerStorage,
|
||||
solana_core::consensus::tower_storage::NullTowerStorage,
|
||||
solana_gossip::cluster_info::ClusterInfo,
|
||||
solana_ledger::genesis_utils::{create_genesis_config, GenesisConfigInfo},
|
||||
solana_rpc::rpc::create_validator_exit,
|
||||
|
|
|
@ -7,7 +7,7 @@ use {
|
|||
input_parsers::{pubkey_of, pubkeys_of, value_of},
|
||||
input_validators::normalize_to_url_if_moniker,
|
||||
},
|
||||
solana_core::tower_storage::FileTowerStorage,
|
||||
solana_core::consensus::tower_storage::FileTowerStorage,
|
||||
solana_faucet::faucet::run_local_faucet_with_port,
|
||||
solana_rpc::{
|
||||
rpc::{JsonRpcConfig, RpcBigtableConfig},
|
||||
|
|
|
@ -10,9 +10,9 @@ use {
|
|||
solana_clap_utils::input_parsers::{keypair_of, keypairs_of, pubkey_of, value_of},
|
||||
solana_core::{
|
||||
banking_trace::DISABLED_BAKING_TRACE_DIR,
|
||||
consensus::tower_storage,
|
||||
ledger_cleanup_service::{DEFAULT_MAX_LEDGER_SHREDS, DEFAULT_MIN_MAX_LEDGER_SHREDS},
|
||||
system_monitor_service::SystemMonitorService,
|
||||
tower_storage,
|
||||
tpu::DEFAULT_TPU_COALESCE,
|
||||
validator::{
|
||||
is_snapshot_config_valid, BlockProductionMethod, BlockVerificationMethod, Validator,
|
||||
|
@ -1078,7 +1078,7 @@ pub fn main() {
|
|||
.ok()
|
||||
.or_else(|| get_cluster_shred_version(&entrypoint_addrs));
|
||||
|
||||
let tower_storage: Arc<dyn solana_core::tower_storage::TowerStorage> =
|
||||
let tower_storage: Arc<dyn tower_storage::TowerStorage> =
|
||||
match value_t_or_exit!(matches, "tower_storage", String).as_str() {
|
||||
"file" => {
|
||||
let tower_path = value_t!(matches, "tower", PathBuf)
|
||||
|
|
Loading…
Reference in New Issue