ssvlabs / ssv-spec

GNU General Public License v3.0
25 stars 21 forks source link

Add ProcessingMessage structure to QBFT #440

Closed MatheusFranco99 closed 2 weeks ago

MatheusFranco99 commented 2 weeks ago

Overview

This PR introduces the ProcessingMessage structure to be used in the qbft module.

This structure encompasses a SignedSSVMessage and its associated decoded qbft.Message.

The SignedSSVMessage is needed in the qbft module due to QBFT justifications, while the cached qbft.Message in the structure allows us to remove the decoding duplication behaviour.

Usage

We avoid using SignedSSVMessage in qbft as much as possible. The two exceptions are:

Thus, ProcessingMessage is used everywhere else, as in MsgContainer, State.ProposalAcceptedForCurrentRound, and in Instance methods.