Skip to content

Commit 7921fb8

Browse files
committed
fix proposal dependency
1 parent f1f9d81 commit 7921fb8

File tree

2 files changed

+27
-18
lines changed

2 files changed

+27
-18
lines changed

hotshot-task-impls/src/quorum_proposal/handlers.rs

+26-18
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use hotshot_types::{
2222
data::{Leaf2, QuorumProposal2, QuorumProposalWrapper, VidDisperse, ViewChangeEvidence2},
2323
epoch_membership::EpochMembership,
2424
message::Proposal,
25-
simple_certificate::{QuorumCertificate2, UpgradeCertificate},
25+
simple_certificate::{ExtendedQuorumCertificate, QuorumCertificate2, UpgradeCertificate},
2626
traits::{
2727
block_contents::BlockHeader,
2828
node_implementation::{NodeImplementation, NodeType},
@@ -127,23 +127,31 @@ impl<TYPES: NodeType, V: Versions> ProposalDependencyHandle<TYPES, V> {
127127
rx: &mut Receiver<Arc<HotShotEvent<TYPES>>>,
128128
) -> Option<QuorumCertificate2<TYPES>> {
129129
while let Ok(event) = rx.recv_direct().await {
130-
if let HotShotEvent::HighQcRecv(qc, _sender) = event.as_ref() {
131-
let prev_epoch = qc.data.epoch;
132-
let epoch_membership = self.membership.get_new_epoch(prev_epoch).await.ok()?;
133-
let membership_stake_table = epoch_membership.stake_table().await;
134-
let membership_success_threshold = epoch_membership.success_threshold().await;
135-
136-
if qc
137-
.is_valid_cert(
138-
StakeTableEntries::<TYPES>::from(membership_stake_table).0,
139-
membership_success_threshold,
140-
&self.upgrade_lock,
141-
)
142-
.await
143-
.is_ok()
144-
{
145-
return Some(qc.clone());
146-
}
130+
match event.as_ref() {
131+
HotShotEvent::HighQcRecv(qc, _)
132+
| HotShotEvent::ExtendedQcRecv(
133+
ExtendedQuorumCertificate { qc, state_cert: _ },
134+
_,
135+
_,
136+
) => {
137+
let prev_epoch = qc.data.epoch;
138+
let epoch_membership = self.membership.get_new_epoch(prev_epoch).await.ok()?;
139+
let membership_stake_table = epoch_membership.stake_table().await;
140+
let membership_success_threshold = epoch_membership.success_threshold().await;
141+
142+
if qc
143+
.is_valid_cert(
144+
StakeTableEntries::<TYPES>::from(membership_stake_table).0,
145+
membership_success_threshold,
146+
&self.upgrade_lock,
147+
)
148+
.await
149+
.is_ok()
150+
{
151+
return Some(qc.clone());
152+
}
153+
},
154+
_ => {},
147155
}
148156
}
149157
None

sequencer-sqlite/Cargo.lock

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)