Documentation ¶
Index ¶
- Variables
- func NewHeaderIntegrityVerifier(referenceChainID []byte, headerVersionHandler factory.HeaderVersionHandler) (*headerIntegrityVerifier, error)
- type ArgsHeaderSigVerifier
- type HeaderSigVerifier
- func (hsv *HeaderSigVerifier) IsInterfaceNil() bool
- func (hsv *HeaderSigVerifier) VerifyLeaderSignature(header data.HeaderHandler) error
- func (hsv *HeaderSigVerifier) VerifyRandSeed(header data.HeaderHandler) error
- func (hsv *HeaderSigVerifier) VerifyRandSeedAndLeaderSignature(header data.HeaderHandler) error
- func (hsv *HeaderSigVerifier) VerifySignature(header data.HeaderHandler) error
Constants ¶
This section is empty.
Variables ¶
var ErrInvalidChainID = errors.New("invalid chain ID")
ErrInvalidChainID signals that an invalid chain ID has been provided
var ErrInvalidReferenceChainID = errors.New("invalid reference Chain ID provided")
ErrInvalidReferenceChainID signals that the provided reference chain ID is not valid
var ErrNilHeaderVersionHandler = errors.New("nil header version handler")
ErrNilHeaderVersionHandler signals that the provided header version handler is nil
var ErrNotEnoughSignatures = errors.New("not enough signatures in block")
ErrNotEnoughSignatures signals that a block is not signed by at least the minimum number of validators from the consensus group
var ErrWrongSizeBitmap = errors.New("wrong size bitmap has been provided")
ErrWrongSizeBitmap signals that the provided bitmap's length is bigger than the one that was required
Functions ¶
func NewHeaderIntegrityVerifier ¶
func NewHeaderIntegrityVerifier( referenceChainID []byte, headerVersionHandler factory.HeaderVersionHandler, ) (*headerIntegrityVerifier, error)
NewHeaderIntegrityVerifier returns a new instance of a structure capable of verifying the integrity of a provided header
Types ¶
type ArgsHeaderSigVerifier ¶
type ArgsHeaderSigVerifier struct { Marshalizer marshal.Marshalizer Hasher hashing.Hasher NodesCoordinator nodesCoordinator.NodesCoordinator MultiSigVerifier crypto.MultiSigVerifier SingleSigVerifier crypto.SingleSigner KeyGen crypto.KeyGenerator FallbackHeaderValidator process.FallbackHeaderValidator }
ArgsHeaderSigVerifier is used to store all components that are needed to create a new HeaderSigVerifier
type HeaderSigVerifier ¶
type HeaderSigVerifier struct {
// contains filtered or unexported fields
}
HeaderSigVerifier is component used to check if a header is valid
func NewHeaderSigVerifier ¶
func NewHeaderSigVerifier(arguments *ArgsHeaderSigVerifier) (*HeaderSigVerifier, error)
NewHeaderSigVerifier will create a new instance of HeaderSigVerifier
func (*HeaderSigVerifier) IsInterfaceNil ¶
func (hsv *HeaderSigVerifier) IsInterfaceNil() bool
IsInterfaceNil will check if interface is nil
func (*HeaderSigVerifier) VerifyLeaderSignature ¶
func (hsv *HeaderSigVerifier) VerifyLeaderSignature(header data.HeaderHandler) error
VerifyLeaderSignature will check if leader signature is correct
func (*HeaderSigVerifier) VerifyRandSeed ¶
func (hsv *HeaderSigVerifier) VerifyRandSeed(header data.HeaderHandler) error
VerifyRandSeed will check if rand seed is correct
func (*HeaderSigVerifier) VerifyRandSeedAndLeaderSignature ¶
func (hsv *HeaderSigVerifier) VerifyRandSeedAndLeaderSignature(header data.HeaderHandler) error
VerifyRandSeedAndLeaderSignature will check if rand seed and leader signature is correct
func (*HeaderSigVerifier) VerifySignature ¶
func (hsv *HeaderSigVerifier) VerifySignature(header data.HeaderHandler) error
VerifySignature will check if signature is correct