Add replay invalidator scaffolding upstream (#31567)
* Add replay invalidator scaffolding upstream
This commit is contained in:
parent
5bc41a0eb8
commit
a9b19f5b14
|
@ -15,6 +15,7 @@ use {
|
||||||
sigverify::TransactionSigVerifier,
|
sigverify::TransactionSigVerifier,
|
||||||
sigverify_stage::SigVerifyStage,
|
sigverify_stage::SigVerifyStage,
|
||||||
staked_nodes_updater_service::StakedNodesUpdaterService,
|
staked_nodes_updater_service::StakedNodesUpdaterService,
|
||||||
|
validator::GeneratorConfig,
|
||||||
},
|
},
|
||||||
crossbeam_channel::{unbounded, Receiver},
|
crossbeam_channel::{unbounded, Receiver},
|
||||||
solana_client::connection_cache::{ConnectionCache, Protocol},
|
solana_client::connection_cache::{ConnectionCache, Protocol},
|
||||||
|
@ -106,6 +107,7 @@ impl Tpu {
|
||||||
tracer_thread_hdl: TracerThread,
|
tracer_thread_hdl: TracerThread,
|
||||||
tpu_enable_udp: bool,
|
tpu_enable_udp: bool,
|
||||||
prioritization_fee_cache: &Arc<PrioritizationFeeCache>,
|
prioritization_fee_cache: &Arc<PrioritizationFeeCache>,
|
||||||
|
_generator_config: Option<GeneratorConfig>, /* vestigial code for replay invalidator */
|
||||||
) -> Self {
|
) -> Self {
|
||||||
let TpuSockets {
|
let TpuSockets {
|
||||||
transactions: transactions_sockets,
|
transactions: transactions_sockets,
|
||||||
|
|
|
@ -175,6 +175,13 @@ impl BlockProductionMethod {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Configuration for the block generator invalidator for replay.
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
pub struct GeneratorConfig {
|
||||||
|
pub accounts_path: String,
|
||||||
|
pub starting_keypairs: Arc<Vec<Keypair>>,
|
||||||
|
}
|
||||||
|
|
||||||
pub struct ValidatorConfig {
|
pub struct ValidatorConfig {
|
||||||
pub halt_at_slot: Option<Slot>,
|
pub halt_at_slot: Option<Slot>,
|
||||||
pub expected_genesis_hash: Option<Hash>,
|
pub expected_genesis_hash: Option<Hash>,
|
||||||
|
@ -240,6 +247,7 @@ pub struct ValidatorConfig {
|
||||||
pub banking_trace_dir_byte_limit: banking_trace::DirByteLimit,
|
pub banking_trace_dir_byte_limit: banking_trace::DirByteLimit,
|
||||||
pub block_verification_method: BlockVerificationMethod,
|
pub block_verification_method: BlockVerificationMethod,
|
||||||
pub block_production_method: BlockProductionMethod,
|
pub block_production_method: BlockProductionMethod,
|
||||||
|
pub generator_config: Option<GeneratorConfig>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for ValidatorConfig {
|
impl Default for ValidatorConfig {
|
||||||
|
@ -306,6 +314,7 @@ impl Default for ValidatorConfig {
|
||||||
banking_trace_dir_byte_limit: 0,
|
banking_trace_dir_byte_limit: 0,
|
||||||
block_verification_method: BlockVerificationMethod::default(),
|
block_verification_method: BlockVerificationMethod::default(),
|
||||||
block_production_method: BlockProductionMethod::default(),
|
block_production_method: BlockProductionMethod::default(),
|
||||||
|
generator_config: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1184,6 +1193,7 @@ impl Validator {
|
||||||
tracer_thread,
|
tracer_thread,
|
||||||
tpu_enable_udp,
|
tpu_enable_udp,
|
||||||
&prioritization_fee_cache,
|
&prioritization_fee_cache,
|
||||||
|
config.generator_config.clone(),
|
||||||
);
|
);
|
||||||
|
|
||||||
datapoint_info!(
|
datapoint_info!(
|
||||||
|
|
|
@ -68,6 +68,7 @@ pub fn safe_clone_config(config: &ValidatorConfig) -> ValidatorConfig {
|
||||||
banking_trace_dir_byte_limit: config.banking_trace_dir_byte_limit,
|
banking_trace_dir_byte_limit: config.banking_trace_dir_byte_limit,
|
||||||
block_verification_method: config.block_verification_method.clone(),
|
block_verification_method: config.block_verification_method.clone(),
|
||||||
block_production_method: config.block_production_method.clone(),
|
block_production_method: config.block_production_method.clone(),
|
||||||
|
generator_config: config.generator_config.clone(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue