Skip to content

Commit

Permalink
fix(ecdsa): CON-1197 Fix delivered quadruples metric
Browse files Browse the repository at this point in the history
  • Loading branch information
eichhorl committed Feb 16, 2024
1 parent 802b20b commit a04186a
Showing 1 changed file with 6 additions and 32 deletions.
38 changes: 6 additions & 32 deletions rs/consensus/src/ecdsa/utils.rs
Expand Up @@ -416,6 +416,7 @@ pub(crate) fn get_quadruple_ids_to_deliver(
let current_key_transcript_id = unmasked_transcript.transcript_id();

let mut quadruple_ids: BTreeMap<EcdsaKeyId, BTreeSet<QuadrupleId>> = BTreeMap::new();
quadruple_ids.insert(ecdsa.key_transcript.key_id.clone(), BTreeSet::new());

for (quadruple_id, quadruple) in &ecdsa.available_quadruples {
let Some(quadruple_key_transcript) = quadruple.key_unmasked_ref.as_ref() else {
Expand All @@ -426,14 +427,11 @@ pub(crate) fn get_quadruple_ids_to_deliver(
continue;
}

if let Some(key_id) = quadruple_id.key_id() {
if *key_id == ecdsa.key_transcript.key_id {
quadruple_ids
.entry(key_id.clone())
.or_default()
.insert(quadruple_id.clone());
}
}
quadruple_ids
.entry(ecdsa.key_transcript.key_id.clone())
.and_modify(|s| {
s.insert(quadruple_id.clone());
});
}

quadruple_ids
Expand Down Expand Up @@ -852,30 +850,6 @@ mod tests {
);
}

#[test]
fn test_quadruples_for_invalid_key_id_should_not_be_delivered() {
let mut rng = reproducible_rng();
let (mut ecdsa_payload, _, _) = set_up_ecdsa_payload(
&mut rng,
subnet_test_id(1),
/*nodes_count=*/ 8,
/*should_create_key_transcript=*/ true,
);
let current_key_transcript = ecdsa_payload.key_transcript.current.clone().unwrap();
let wrong_key_id = EcdsaKeyId::from_str("Secp256k1:wrong_key").unwrap();

add_available_quadruples_with_key_transcript(
&mut ecdsa_payload,
current_key_transcript.unmasked_transcript(),
&wrong_key_id,
);

let block = make_block(Some(ecdsa_payload));
let delivered_ids = get_quadruple_ids_to_deliver(&block);

assert!(delivered_ids.is_empty());
}

#[test]
fn test_block_without_ecdsa_should_not_deliver_quadruples() {
let block = make_block(None);
Expand Down

0 comments on commit a04186a

Please sign in to comment.