Documentation ¶
Overview ¶
Package common provides the BLS interfaces that are implemented by the various BLS wrappers.
This package should not be used by downstream consumers. These interfaces are re-exporter by github.com/theQRL/qrysm/crypto/bls. This package exists to prevent an import circular dependency.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrInfinitePubKey = errors.New("received an infinite public key")
ErrInfinitePubKey describes an error due to an infinite public key.
var ErrSecretUnmarshal = errors.New("could not unmarshal bytes into secret key")
ErrSecretUnmarshal describes an error which happens during unmarshalling a secret key.
var ErrZeroKey = errors.New("received secret key is zero")
ErrZeroKey describes an error due to a zero secret key.
var InfinitePublicKey = [fieldparams.BLSPubkeyLength]byte{0xC0}
InfinitePublicKey represents an infinite public key (G1 Point at Infinity).
var InfiniteSignature = [96]byte{0xC0}
InfiniteSignature represents an infinite signature (G2 Point at Infinity).
var ZeroSecretKey = [32]byte{}
ZeroSecretKey represents a zero secret key.
Functions ¶
This section is empty.
Types ¶
type PublicKey ¶
type PublicKey interface { Marshal() []byte Copy() PublicKey Aggregate(p2 PublicKey) PublicKey IsInfinite() bool Equals(p2 PublicKey) bool }
PublicKey represents a BLS public key.
type Signature ¶
type Signature interface { Verify(pubKey PublicKey, msg []byte) bool // Deprecated: Use FastAggregateVerify or use this method in spectests only. AggregateVerify(pubKeys []PublicKey, msgs [][32]byte) bool FastAggregateVerify(pubKeys []PublicKey, msg [32]byte) bool Eth2FastAggregateVerify(pubKeys []PublicKey, msg [32]byte) bool Marshal() []byte Copy() Signature }
Signature represents a BLS signature.