Question about LibraBFT paper v2.0

In the paper advance_round(qc) method of pacemaker do send qc to new round leader, what is messgae type for this qc? I didn’t see any message type for this qc in the paper.

Procedure advance round(qc)
r ← qc.round
if r < current round then return
stop local timer for round r
current round ← r + 1
if u 6= ProposerElection.get leader(current round) then
  send qc to ProposerElection.get leader(current round)
start local timer for round current round for duration get round timer(current round)
Main.process new round event()

If you’re asking about the implementation of how QCs are exchanged between validators, you can look at the code. When a proposal is sent (ProposalMsg), it contains a SyncInfo. When a VoteMsg is sent to the next proposer (or broadcast in a local timeout), it also contains a SyncInfo. SyncInfo contains the highest QC and timeout certificate (TC) so ensure all validators are on the latest round. Hope that helps!

No, I just looked at Pseudocode in the paper. The code I pasted forward a QC to next leader however it is neither in proposal nor in timeout. Is this a special message which not mentioned?

As mentioned previously, a VoteMsg can be sent to the next leader that contains the highest QC it knows about after a validator receives a ProposalMsg.