Conversation
|
Claude finished @iamquang95's task in 6m 16s —— View job Code Review
SummaryThis PR implements the DKG step-synchronization protocol ( Findings[High] Step is updated for peers that fail validation In Evidence: if let Err(error) = protocol::validate_request_with_public_key(...) {
// sets server error, response.error
} else {
server.mark_connected(peer_id).await;
}
// ← this runs even after validation failure
if server.update_step(peer_id, message.step).await? {
send_inbound_event(...);
}
// loop continues - next read will also come from the invalid peerA peer that sends an invalid hash signature (wrong cluster) can still advance the step tracker and the loop keeps reading from that peer. The Go reference returns from the handler after an invalid message. The function should [Medium] Protocol ID has trailing slash — verify against Go
pub const PROTOCOL_NAME: libp2p::StreamProtocol = StreamProtocol::new("/charon/dkg/sync/1.0.0/");The trailing [Medium]
[Low] Redundant explicit arms before wildcard in
ConnectionEvent::AddressChange(_)
| ConnectionEvent::LocalProtocolsChange(_)
| ConnectionEvent::RemoteProtocolsChange(_) => {}
ConnectionEvent::ListenUpgradeError(_) => {}
_ => {} // ← makes the lines above unreachableThe named arms are unreachable because [Low]
[Low]
Parity Matrix
TestsTests were not run (no
Missing coverage:
Open Questions
|
Should address #133