p2ptypes

package
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 16, 2024 License: GPL-3.0 Imports: 4 Imported by: 0

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

View Source
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

View Source
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")
)
View Source
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

type RPCGoodbyeCode = ssztype.SSZUint64

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

func (b *SSZBytes) HashTreeRoot() ([32]byte, error)

HashTreeRoot hashes the uint64 object following the SSZ standard.

func (*SSZBytes) HashTreeRootWith

func (b *SSZBytes) HashTreeRootWith(hh *ssz.Hasher) error

HashTreeRootWith hashes the uint64 object with the given hasher.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL