Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cli/src/vote.rs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ use {
},
},
solana_votor_messages::{
bls_message::BLS_KEYPAIR_DERIVE_SEED, instruction::InitializeAccountInstructionData,
consensus_message::BLS_KEYPAIR_DERIVE_SEED, instruction::InitializeAccountInstructionData,
state::VoteState as AlpenglowVoteState,
},
std::rc::Rc,
Expand Down
2 changes: 1 addition & 1 deletion core/src/repair/certificate_service.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use {
crate::result::{Error, Result},
crossbeam_channel::{Receiver, RecvTimeoutError},
solana_ledger::blockstore::Blockstore,
solana_votor_messages::bls_message::{Certificate, CertificateMessage},
solana_votor_messages::consensus_message::{Certificate, CertificateMessage},
std::{
sync::{
atomic::{AtomicBool, Ordering},
Expand Down
14 changes: 6 additions & 8 deletions core/src/replay_stage.rs
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,7 @@ use {
installed_scheduler_pool::BankWithScheduler,
prioritization_fee_cache::PrioritizationFeeCache,
snapshot_controller::SnapshotController,
vote_sender_types::{
BLSVerifiedMessageReceiver, BLSVerifiedMessageSender, ReplayVoteSender,
},
vote_sender_types::ReplayVoteSender,
},
solana_signer::Signer,
solana_svm_timings::ExecuteTimings,
Expand All @@ -88,7 +86,7 @@ use {
voting_utils::{BLSOp, GenerateVoteTxResult},
votor::{LeaderWindowNotifier, Votor, VotorConfig},
},
solana_votor_messages::bls_message::{Certificate, CertificateMessage},
solana_votor_messages::consensus_message::{Certificate, CertificateMessage, ConsensusMessage},
std::{
collections::{HashMap, HashSet},
num::{NonZeroUsize, Saturating},
Expand Down Expand Up @@ -302,7 +300,7 @@ pub struct ReplaySenders {
pub dumped_slots_sender: Sender<Vec<(u64, Hash)>>,
pub certificate_sender: Sender<(Certificate, CertificateMessage)>,
pub votor_event_sender: VotorEventSender,
pub own_vote_sender: BLSVerifiedMessageSender,
pub own_vote_sender: Sender<ConsensusMessage>,
}

pub struct ReplayReceivers {
Expand All @@ -312,7 +310,7 @@ pub struct ReplayReceivers {
pub duplicate_confirmed_slots_receiver: Receiver<Vec<(u64, Hash)>>,
pub gossip_verified_vote_hash_receiver: Receiver<(Pubkey, u64, Hash)>,
pub popular_pruned_forks_receiver: Receiver<Vec<u64>>,
pub bls_verified_message_receiver: BLSVerifiedMessageReceiver,
pub consensus_message_receiver: Receiver<ConsensusMessage>,
pub votor_event_receiver: VotorEventReceiver,
}

Expand Down Expand Up @@ -628,7 +626,7 @@ impl ReplayStage {
duplicate_confirmed_slots_receiver,
gossip_verified_vote_hash_receiver,
popular_pruned_forks_receiver,
bls_verified_message_receiver,
consensus_message_receiver,
votor_event_receiver,
} = receivers;

Expand Down Expand Up @@ -666,7 +664,7 @@ impl ReplayStage {
event_sender: votor_event_sender.clone(),
event_receiver: votor_event_receiver.clone(),
own_vote_sender,
bls_receiver: bls_verified_message_receiver,
consensus_message_receiver,
};
let votor = Votor::new(votor_config);

Expand Down
44 changes: 22 additions & 22 deletions core/src/sigverifier/bls_sigverifier.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ use {
solana_pubkey::Pubkey,
solana_runtime::{bank::Bank, bank_forks::SharableBank, epoch_stakes::BLSPubkeyToRankMap},
solana_streamer::packet::PacketBatch,
solana_votor_messages::bls_message::BLSMessage,
solana_votor_messages::consensus_message::ConsensusMessage,
stats::{BLSSigVerifierStats, StatsUpdater},
std::{collections::HashMap, sync::Arc},
};
Expand All @@ -28,13 +28,13 @@ fn get_key_to_rank_map(bank: &Bank, slot: Slot) -> Option<&Arc<BLSPubkeyToRankMa

pub struct BLSSigVerifier {
verified_votes_sender: VerifiedVoteSender,
message_sender: Sender<BLSMessage>,
message_sender: Sender<ConsensusMessage>,
root_bank: SharableBank,
stats: BLSSigVerifierStats,
}

impl SigVerifier for BLSSigVerifier {
type SendType = BLSMessage;
type SendType = ConsensusMessage;

// TODO(wen): just a placeholder without any verification.
fn verify_batches(&self, batches: Vec<PacketBatch>, _valid_packets: usize) -> Vec<PacketBatch> {
Expand Down Expand Up @@ -67,8 +67,8 @@ impl SigVerifier for BLSSigVerifier {
};

let slot = match &message {
BLSMessage::Vote(vote_message) => vote_message.vote.slot(),
BLSMessage::Certificate(certificate_message) => {
ConsensusMessage::Vote(vote_message) => vote_message.vote.slot(),
ConsensusMessage::Certificate(certificate_message) => {
certificate_message.certificate.slot()
}
};
Expand All @@ -79,7 +79,7 @@ impl SigVerifier for BLSSigVerifier {
continue;
};

if let BLSMessage::Vote(vote_message) = &message {
if let ConsensusMessage::Vote(vote_message) = &message {
let vote = &vote_message.vote;
stats_updater.received_votes += 1;
if vote.is_notarization_or_finalization() || vote.is_notarize_fallback() {
Expand Down Expand Up @@ -117,7 +117,7 @@ impl BLSSigVerifier {
pub fn new(
root_bank: SharableBank,
verified_votes_sender: VerifiedVoteSender,
message_sender: Sender<BLSMessage>,
message_sender: Sender<ConsensusMessage>,
) -> Self {
Self {
root_bank,
Expand Down Expand Up @@ -163,8 +163,8 @@ mod tests {
},
solana_signer::Signer,
solana_votor_messages::{
bls_message::{
BLSMessage, Certificate, CertificateMessage, CertificateType, VoteMessage,
consensus_message::{
Certificate, CertificateMessage, CertificateType, ConsensusMessage, VoteMessage,
},
vote::Vote,
},
Expand All @@ -174,7 +174,7 @@ mod tests {

fn create_keypairs_and_bls_sig_verifier(
verified_vote_sender: VerifiedVoteSender,
message_sender: Sender<BLSMessage>,
message_sender: Sender<ConsensusMessage>,
) -> (Vec<ValidatorVoteKeypairs>, BLSSigVerifier) {
// Create 10 node validatorvotekeypairs vec
let validator_keypairs = (0..10)
Expand All @@ -199,8 +199,8 @@ mod tests {

fn test_bls_message_transmission(
verifier: &mut BLSSigVerifier,
receiver: Option<&Receiver<BLSMessage>>,
messages: &[BLSMessage],
receiver: Option<&Receiver<ConsensusMessage>>,
messages: &[ConsensusMessage],
expect_send_packets_ok: bool,
) {
let packets = messages
Expand Down Expand Up @@ -247,12 +247,12 @@ mod tests {
let certificate = Certificate::new(CertificateType::Finalize, 4, None);

let messages = vec![
BLSMessage::Vote(VoteMessage {
ConsensusMessage::Vote(VoteMessage {
vote: Vote::new_finalization_vote(5),
signature: Signature::default(),
rank: vote_rank as u16,
}),
BLSMessage::Certificate(CertificateMessage {
ConsensusMessage::Certificate(CertificateMessage {
certificate,
signature: Signature::default(),
bitmap,
Expand All @@ -269,7 +269,7 @@ mod tests {
);

let vote_rank: usize = 3;
let messages = vec![BLSMessage::Vote(VoteMessage {
let messages = vec![ConsensusMessage::Vote(VoteMessage {
vote: Vote::new_notarization_vote(6, Hash::new_unique()),
signature: Signature::default(),
rank: vote_rank as u16,
Expand All @@ -287,7 +287,7 @@ mod tests {
// Pretend 10 seconds have passed, make sure stats are reset
verifier.stats.last_stats_logged = Instant::now() - STATS_INTERVAL_DURATION;
let vote_rank: usize = 9;
let messages = vec![BLSMessage::Vote(VoteMessage {
let messages = vec![ConsensusMessage::Vote(VoteMessage {
vote: Vote::new_notarization_fallback_vote(7, Hash::new_unique()),
signature: Signature::default(),
rank: vote_rank as u16,
Expand Down Expand Up @@ -322,7 +322,7 @@ mod tests {
assert!(receiver.is_empty());

// Send a packet with no epoch stakes
let messages = vec![BLSMessage::Vote(VoteMessage {
let messages = vec![ConsensusMessage::Vote(VoteMessage {
vote: Vote::new_finalization_vote(5_000_000_000),
signature: Signature::default(),
rank: 0,
Expand All @@ -337,7 +337,7 @@ mod tests {
assert!(receiver.is_empty());

// Send a packet with invalid rank
let messages = vec![BLSMessage::Vote(VoteMessage {
let messages = vec![ConsensusMessage::Vote(VoteMessage {
vote: Vote::new_finalization_vote(5),
signature: Signature::default(),
rank: 1000, // Invalid rank
Expand All @@ -359,12 +359,12 @@ mod tests {
let (verified_vote_sender, _) = crossbeam_channel::unbounded();
let (_, mut verifier) = create_keypairs_and_bls_sig_verifier(verified_vote_sender, sender);
let messages = vec![
BLSMessage::Vote(VoteMessage {
ConsensusMessage::Vote(VoteMessage {
vote: Vote::new_finalization_vote(5),
signature: Signature::default(),
rank: 0,
}),
BLSMessage::Vote(VoteMessage {
ConsensusMessage::Vote(VoteMessage {
vote: Vote::new_notarization_fallback_vote(6, Hash::new_unique()),
signature: Signature::default(),
rank: 2,
Expand All @@ -385,7 +385,7 @@ mod tests {
let (_, mut verifier) = create_keypairs_and_bls_sig_verifier(verified_vote_sender, sender);
// Close the receiver, should get panic on next send
drop(receiver);
let messages = vec![BLSMessage::Vote(VoteMessage {
let messages = vec![ConsensusMessage::Vote(VoteMessage {
vote: Vote::new_finalization_vote(5),
signature: Signature::default(),
rank: 0,
Expand All @@ -398,7 +398,7 @@ mod tests {
let (sender, receiver) = crossbeam_channel::unbounded();
let (verified_vote_sender, _) = crossbeam_channel::unbounded();
let (_, mut verifier) = create_keypairs_and_bls_sig_verifier(verified_vote_sender, sender);
let message = BLSMessage::Vote(VoteMessage {
let message = ConsensusMessage::Vote(VoteMessage {
vote: Vote::new_finalization_vote(5),
signature: Signature::default(),
rank: 0,
Expand Down
9 changes: 5 additions & 4 deletions core/src/tpu.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ use {
vortexor_receiver_adapter::VortexorReceiverAdapter,
},
bytes::Bytes,
crossbeam_channel::{bounded, unbounded, Receiver},
crossbeam_channel::{bounded, unbounded, Receiver, Sender},
solana_clock::Slot,
solana_gossip::cluster_info::ClusterInfo,
solana_keypair::Keypair,
Expand All @@ -48,7 +48,7 @@ use {
solana_runtime::{
bank_forks::BankForks,
prioritization_fee_cache::PrioritizationFeeCache,
vote_sender_types::{BLSVerifiedMessageSender, ReplayVoteReceiver, ReplayVoteSender},
vote_sender_types::{ReplayVoteReceiver, ReplayVoteSender},
},
solana_streamer::{
quic::{spawn_server, QuicServerParams, SpawnServerResult},
Expand All @@ -59,6 +59,7 @@ use {
xdp::XdpSender,
},
solana_votor::event::VotorEventSender,
solana_votor_messages::consensus_message::ConsensusMessage,
std::{
collections::HashMap,
net::{SocketAddr, UdpSocket},
Expand Down Expand Up @@ -146,7 +147,7 @@ impl Tpu {
tpu_coalesce: Duration,
duplicate_confirmed_slot_sender: DuplicateConfirmedSlotsSender,
client: ForwardingClientOption,
bls_verified_message_sender: BLSVerifiedMessageSender,
verified_consensus_message_sender: Sender<ConsensusMessage>,
turbine_quic_endpoint_sender: AsyncSender<(SocketAddr, Bytes)>,
votor_event_sender: VotorEventSender,
keypair: &Keypair,
Expand Down Expand Up @@ -340,7 +341,7 @@ impl Tpu {
let verifier = BLSSigVerifier::new(
root_bank,
verified_vote_sender.clone(),
bls_verified_message_sender,
verified_consensus_message_sender,
);
SigVerifyStage::new(
bls_packet_receiver,
Expand Down
17 changes: 7 additions & 10 deletions core/src/tvu.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,9 @@ use {
rpc_subscriptions::RpcSubscriptions, slot_status_notifier::SlotStatusNotifier,
},
solana_runtime::{
bank_forks::BankForks,
commitment::BlockCommitmentCache,
prioritization_fee_cache::PrioritizationFeeCache,
snapshot_controller::SnapshotController,
vote_sender_types::{
BLSVerifiedMessageReceiver, BLSVerifiedMessageSender, ReplayVoteSender,
},
bank_forks::BankForks, commitment::BlockCommitmentCache,
prioritization_fee_cache::PrioritizationFeeCache, snapshot_controller::SnapshotController,
vote_sender_types::ReplayVoteSender,
},
solana_streamer::evicting_sender::EvictingSender,
solana_turbine::{retransmit_stage::RetransmitStage, xdp::XdpSender},
Expand All @@ -60,6 +56,7 @@ use {
vote_history_storage::VoteHistoryStorage,
votor::LeaderWindowNotifier,
},
solana_votor_messages::consensus_message::ConsensusMessage,
std::{
collections::HashSet,
net::{SocketAddr, UdpSocket},
Expand Down Expand Up @@ -166,8 +163,8 @@ impl Tvu {
completed_data_sets_sender: Option<CompletedDataSetsSender>,
bank_notification_sender: Option<BankNotificationSenderConfig>,
duplicate_confirmed_slots_receiver: DuplicateConfirmedSlotsReceiver,
own_vote_sender: BLSVerifiedMessageSender,
bls_verified_message_receiver: BLSVerifiedMessageReceiver,
own_vote_sender: Sender<ConsensusMessage>,
consensus_message_receiver: Receiver<ConsensusMessage>,
tvu_config: TvuConfig,
max_slots: &Arc<MaxSlots>,
block_metadata_notifier: Option<BlockMetadataNotifierArc>,
Expand Down Expand Up @@ -353,7 +350,7 @@ impl Tvu {
duplicate_confirmed_slots_receiver,
gossip_verified_vote_hash_receiver,
popular_pruned_forks_receiver,
bls_verified_message_receiver,
consensus_message_receiver,
votor_event_receiver,
};

Expand Down
Loading