mirror of
https://github.com/luxfi/consensus.git
synced 2026-09-24 00:26:58 +00:00
The α-of-K quorum vote/cert envelopes (BroadcastVote / GossipCert) ride on p2p app-Gossip, but the handler.Op enum had no Gossip op, so the node's inbound router dropped every GossipOp as 'unhandled message op'. The chain handler's Gossip demux (HandleIncomingVote / HandleIncomingCert) was therefore unreachable: no votes ingested, no cert assembled, cert-gated finality never fired (zero Chits, frozen height) on every K>1 network. Append a Gossip op (kept LAST so PushQuery=6 / Vote=8 / Context=10 wire bytes are unchanged) and re-export it from networking/handler so the node can route GossipOp -> handler.Gossip. Append-only; cert gate / VerifyWeighted untouched. engine/chain quorum/cert/vote/finalize tests pass (CGO_ENABLED=0).