24 lines
1.2 KiB
Go
24 lines
1.2 KiB
Go
package dbft
|
|
|
|
// RecoveryMessage represents dBFT Recovery message.
|
|
type RecoveryMessage[H Hash] interface {
|
|
// AddPayload adds payload from this epoch to be recovered.
|
|
AddPayload(p ConsensusPayload[H])
|
|
// GetPrepareRequest returns PrepareRequest to be processed.
|
|
GetPrepareRequest(p ConsensusPayload[H], validators []PublicKey, primary uint16) ConsensusPayload[H]
|
|
// GetPrepareResponses returns a slice of PrepareResponse in any order.
|
|
GetPrepareResponses(p ConsensusPayload[H], validators []PublicKey) []ConsensusPayload[H]
|
|
// GetChangeViews returns a slice of ChangeView in any order.
|
|
GetChangeViews(p ConsensusPayload[H], validators []PublicKey) []ConsensusPayload[H]
|
|
// GetPreCommits returns a slice of PreCommit messages in any order.
|
|
// If implemented on networks with no AntiMEV extension it can just
|
|
// always return nil.
|
|
GetPreCommits(p ConsensusPayload[H], validators []PublicKey) []ConsensusPayload[H]
|
|
// GetCommits returns a slice of Commit in any order.
|
|
GetCommits(p ConsensusPayload[H], validators []PublicKey) []ConsensusPayload[H]
|
|
|
|
// PreparationHash returns has of PrepareRequest payload for this epoch.
|
|
// It can be useful in case only PrepareResponse payloads were received.
|
|
PreparationHash() *H
|
|
}
|