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 ( ErrWrongForkDigestVersion = errors.New("wrong fork digest version") ErrInvalidBlockNr = errors.New("invalid block number") 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 ¶
This section is empty.
Types ¶
type BlockByRootsReq ¶
type BlockByRootsReq [][rootLength]byte
BlockByRootsReq specifies the block by roots request type.
func (*BlockByRootsReq) MarshalSSZ ¶
func (r *BlockByRootsReq) MarshalSSZ() ([]byte, error)
MarshalSSZ Marshals the block by roots request type into the serialized object.
func (*BlockByRootsReq) MarshalSSZTo ¶
func (r *BlockByRootsReq) MarshalSSZTo(dst []byte) ([]byte, error)
MarshalSSZTo marshals the block by roots request with the provided byte slice.
func (*BlockByRootsReq) SizeSSZ ¶
func (r *BlockByRootsReq) SizeSSZ() int
SizeSSZ returns the size of the serialized representation.
func (*BlockByRootsReq) UnmarshalSSZ ¶
func (r *BlockByRootsReq) 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.