Documentation
¶
Overview ¶
Package types contains all the respective p2p types that are required for sync but cannot be represented as a protobuf schema. This package also contains those types associated fast ssz methods.
Index ¶
Constants ¶
const ( // Spec defined codes. GoodbyeCodeClientShutdown RPCGoodbyeCode = iota + 1 GoodbyeCodeWrongNetwork GoodbyeCodeGenericError // Teku specific codes GoodbyeCodeUnableToVerifyNetwork = RPCGoodbyeCode(128) // Lighthouse specific codes GoodbyeCodeTooManyPeers = RPCGoodbyeCode(129) GoodbyeCodeBadScore = RPCGoodbyeCode(250) GoodbyeCodeBanned = RPCGoodbyeCode(251) )
Variables ¶
var ( // BlockMap maps the fork-version to the underlying data type for that // particular fork period. BlockMap map[[4]byte]func() (interfaces.SignedBeaconBlock, error) // MetaDataMap maps the fork-version to the underlying data type for that // particular fork period. MetaDataMap map[[4]byte]func() metadata.Metadata )
var ( ErrWrongForkDigestVersion = errors.New("wrong fork digest version") ErrInvalidEpoch = errors.New("invalid epoch") ErrInvalidFinalizedRoot = errors.New("invalid finalized root") ErrInvalidSequenceNum = errors.New("invalid sequence number provided") ErrGeneric = errors.New("internal service error") ErrInvalidParent = errors.New("mismatched parent root") ErrRateLimited = errors.New("rate limited") ErrIODeadline = errors.New("i/o deadline exceeded") ErrInvalidRequest = errors.New("invalid range, step or count") )
var GoodbyeCodeMessages = map[RPCGoodbyeCode]string{ GoodbyeCodeClientShutdown: "client shutdown", GoodbyeCodeWrongNetwork: "irrelevant network", GoodbyeCodeGenericError: "fault/error", GoodbyeCodeUnableToVerifyNetwork: "unable to verify network", GoodbyeCodeTooManyPeers: "client has too many peers", GoodbyeCodeBadScore: "peer score too low", GoodbyeCodeBanned: "client banned this node", }
GoodbyeCodeMessages defines a mapping between goodbye codes and string messages.
Functions ¶
func InitializeDataMaps ¶
func InitializeDataMaps()
InitializeDataMaps initializes all the relevant object maps. This function is called to reset maps and reinitialize them.
Types ¶
type BeaconBlockByRootsReq ¶
type BeaconBlockByRootsReq [][rootLength]byte
BeaconBlockByRootsReq specifies the block by roots request type.
func (*BeaconBlockByRootsReq) MarshalSSZ ¶
func (r *BeaconBlockByRootsReq) MarshalSSZ() ([]byte, error)
MarshalSSZ Marshals the block by roots request type into the serialized object.
func (*BeaconBlockByRootsReq) MarshalSSZTo ¶
func (r *BeaconBlockByRootsReq) MarshalSSZTo(dst []byte) ([]byte, error)
MarshalSSZTo marshals the block by roots request with the provided byte slice.
func (*BeaconBlockByRootsReq) SizeSSZ ¶
func (r *BeaconBlockByRootsReq) SizeSSZ() int
SizeSSZ returns the size of the serialized representation.
func (*BeaconBlockByRootsReq) UnmarshalSSZ ¶
func (r *BeaconBlockByRootsReq) UnmarshalSSZ(buf []byte) error
UnmarshalSSZ unmarshals the provided bytes buffer into the block by roots request object.
type ErrorMessage ¶
type ErrorMessage []byte
ErrorMessage describes the error message type.
func (*ErrorMessage) MarshalSSZ ¶
func (m *ErrorMessage) MarshalSSZ() ([]byte, error)
MarshalSSZ Marshals the error message into the serialized object.
func (*ErrorMessage) MarshalSSZTo ¶
func (m *ErrorMessage) MarshalSSZTo(dst []byte) ([]byte, error)
MarshalSSZTo marshals the error message with the provided byte slice.
func (*ErrorMessage) SizeSSZ ¶
func (m *ErrorMessage) SizeSSZ() int
SizeSSZ returns the size of the serialized representation.
func (*ErrorMessage) UnmarshalSSZ ¶
func (m *ErrorMessage) UnmarshalSSZ(buf []byte) error
UnmarshalSSZ unmarshals the provided bytes buffer into the error message object.
type RPCGoodbyeCode ¶
RPCGoodbyeCode represents goodbye code, used in sync package.
func ErrToGoodbyeCode ¶
func ErrToGoodbyeCode(err error) RPCGoodbyeCode
ErrToGoodbyeCode converts given error to RPC goodbye code.
type SSZBytes ¶
type SSZBytes []byte
SSZBytes is a bytes slice that satisfies the fast-ssz interface.
func (*SSZBytes) HashTreeRoot ¶
HashTreeRoot hashes the uint64 object following the SSZ standard.