cltypes

package
v0.0.0-...-1f8a15b Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2023 License: GPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MaxAttesterSlashings         = 2
	MaxProposerSlashings         = 16
	MaxAttestations              = 128
	MaxDeposits                  = 16
	MaxVoluntaryExits            = 16
	MaxExecutionChanges          = 16
	MaxBlobsCommittmentsPerBlock = 4096
)
View Source
const (
	DepositProofLength = 33
	SyncCommitteeSize  = 512
)
View Source
const BYTES_PER_FIELD_ELEMENT = 32

https://github.com/ethereum/consensus-specs/blob/3a2304981a3b820a22b518fe4859f4bba0ebc83b/specs/deneb/polynomial-commitments.md#custom-types

View Source
const FIELD_ELEMENTS_PER_BLOB = 4096
View Source
const JustificationBitsLength = 4

Variables

This section is empty.

Functions

func IsSlashableAttestationData

func IsSlashableAttestationData(d1, d2 solid.AttestationData) bool

Types

type AggregateAndProof

type AggregateAndProof struct {
	AggregatorIndex uint64
	Aggregate       *solid.Attestation
	SelectionProof  libcommon.Bytes96
}

* AggregateAndProof contains the index of the aggregator, the attestation * to be aggregated and the BLS signature of the attestation.

func (*AggregateAndProof) Clone

func (*AggregateAndProof) DecodeSSZ

func (a *AggregateAndProof) DecodeSSZ(buf []byte, version int) error

func (*AggregateAndProof) EncodeSSZ

func (a *AggregateAndProof) EncodeSSZ(dst []byte) ([]byte, error)

func (*AggregateAndProof) EncodingSizeSSZ

func (a *AggregateAndProof) EncodingSizeSSZ() int

func (*AggregateAndProof) HashSSZ

func (a *AggregateAndProof) HashSSZ() ([32]byte, error)

func (*AggregateAndProof) Static

func (a *AggregateAndProof) Static() bool

type AttesterSlashing

type AttesterSlashing struct {
	Attestation_1 *IndexedAttestation `json:"attestation_1"`
	Attestation_2 *IndexedAttestation `json:"attestation_2"`
}

func (*AttesterSlashing) Clone

func (*AttesterSlashing) DecodeSSZ

func (a *AttesterSlashing) DecodeSSZ(buf []byte, version int) error

func (*AttesterSlashing) EncodeSSZ

func (a *AttesterSlashing) EncodeSSZ(dst []byte) ([]byte, error)

func (*AttesterSlashing) EncodingSizeSSZ

func (a *AttesterSlashing) EncodingSizeSSZ() int

func (*AttesterSlashing) HashSSZ

func (a *AttesterSlashing) HashSSZ() ([32]byte, error)

type BLSToExecutionChange

type BLSToExecutionChange struct {
	ValidatorIndex uint64            `json:"validator_index"`
	From           libcommon.Bytes48 `json:"from"`
	To             libcommon.Address `json:"to"`
}

Change to EL engine

func (*BLSToExecutionChange) Clone

func (*BLSToExecutionChange) DecodeSSZ

func (b *BLSToExecutionChange) DecodeSSZ(buf []byte, version int) error

func (*BLSToExecutionChange) EncodeSSZ

func (b *BLSToExecutionChange) EncodeSSZ(buf []byte) ([]byte, error)

func (*BLSToExecutionChange) EncodingSizeSSZ

func (*BLSToExecutionChange) EncodingSizeSSZ() int

func (*BLSToExecutionChange) HashSSZ

func (b *BLSToExecutionChange) HashSSZ() ([32]byte, error)

func (*BLSToExecutionChange) Static

func (*BLSToExecutionChange) Static() bool

type BeaconBlock

type BeaconBlock struct {
	Slot          uint64         `json:"slot"`
	ProposerIndex uint64         `json:"proposer_index"`
	ParentRoot    libcommon.Hash `json:"parent_root"`
	StateRoot     libcommon.Hash `json:"state_root"`
	Body          *BeaconBody    `json:"body"`
}

func NewBeaconBlock

func NewBeaconBlock(beaconCfg *clparams.BeaconChainConfig) *BeaconBlock

func (*BeaconBlock) Clone

func (b *BeaconBlock) Clone() clonable.Clonable

func (*BeaconBlock) DecodeSSZ

func (b *BeaconBlock) DecodeSSZ(buf []byte, version int) error

func (*BeaconBlock) EncodeSSZ

func (b *BeaconBlock) EncodeSSZ(buf []byte) (dst []byte, err error)

func (*BeaconBlock) EncodingSizeSSZ

func (b *BeaconBlock) EncodingSizeSSZ() int

func (*BeaconBlock) HashSSZ

func (b *BeaconBlock) HashSSZ() ([32]byte, error)

func (*BeaconBlock) Static

func (*BeaconBlock) Static() bool

func (*BeaconBlock) Version

func (b *BeaconBlock) Version() clparams.StateVersion

Version returns beacon block version.

type BeaconBlockHeader

type BeaconBlockHeader struct {
	Slot          uint64         `json:"slot"`
	ProposerIndex uint64         `json:"proposer_index"`
	ParentRoot    libcommon.Hash `json:"parent_root"`
	Root          libcommon.Hash `json:"state_root"`
	BodyRoot      libcommon.Hash `json:"body_root"`
}

* BeaconBlockHeader is the message we validate in the lightclient. * It contains the hash of the block body, and state root data.

func (*BeaconBlockHeader) Clone

func (*BeaconBlockHeader) Copy

func (*BeaconBlockHeader) DecodeSSZ

func (b *BeaconBlockHeader) DecodeSSZ(buf []byte, v int) error

func (*BeaconBlockHeader) EncodeSSZ

func (b *BeaconBlockHeader) EncodeSSZ(dst []byte) ([]byte, error)

func (*BeaconBlockHeader) EncodingSizeSSZ

func (b *BeaconBlockHeader) EncodingSizeSSZ() int

func (*BeaconBlockHeader) HashSSZ

func (b *BeaconBlockHeader) HashSSZ() ([32]byte, error)

func (*BeaconBlockHeader) Static

func (*BeaconBlockHeader) Static() bool

type BeaconBlocksByRangeRequest

type BeaconBlocksByRangeRequest struct {
	StartSlot uint64
	Count     uint64
	Step      uint64 // Deprecated, must be set to 1
}

* BeaconBlocksByRangeRequest is the request for getting a range of blocks.

func (*BeaconBlocksByRangeRequest) Clone

func (*BeaconBlocksByRangeRequest) DecodeSSZ

func (b *BeaconBlocksByRangeRequest) DecodeSSZ(buf []byte, v int) error

func (*BeaconBlocksByRangeRequest) EncodeSSZ

func (b *BeaconBlocksByRangeRequest) EncodeSSZ(buf []byte) ([]byte, error)

func (*BeaconBlocksByRangeRequest) EncodingSizeSSZ

func (b *BeaconBlocksByRangeRequest) EncodingSizeSSZ() int

type BeaconBody

type BeaconBody struct {
	// A byte array used for randomness in the beacon chain
	RandaoReveal libcommon.Bytes96 `json:"randao_reveal"`
	// Data related to the Ethereum 1.0 chain
	Eth1Data *Eth1Data `json:"eth1_data"`
	// A byte array used to customize validators' behavior
	Graffiti libcommon.Hash `json:"graffit"`
	// A list of slashing events for validators who included invalid blocks in the chain
	ProposerSlashings *solid.ListSSZ[*ProposerSlashing] `json:"proposer_slashings"`
	// A list of slashing events for validators who included invalid attestations in the chain
	AttesterSlashings *solid.ListSSZ[*AttesterSlashing] `json:"attester_slashings"`
	// A list of attestations included in the block
	Attestations *solid.ListSSZ[*solid.Attestation] `json:"attestations"`
	// A list of deposits made to the Ethereum 1.0 chain
	Deposits *solid.ListSSZ[*Deposit] `json:"deposits"`
	// A list of validators who have voluntarily exited the beacon chain
	VoluntaryExits *solid.ListSSZ[*SignedVoluntaryExit] `json:"voluntary_exits"`
	// A summary of the current state of the beacon chain
	SyncAggregate *SyncAggregate `json:"sync_aggregate,omitempty"`
	// Data related to crosslink records and executing operations on the Ethereum 2.0 chain
	ExecutionPayload *Eth1Block `json:"execution_payload,omitempty"`
	// Withdrawals Diffs for Execution Layer
	ExecutionChanges *solid.ListSSZ[*SignedBLSToExecutionChange] `json:"execution_changes,omitempty"`
	// The commitments for beacon chain blobs
	// With a max of 4 per block
	BlobKzgCommitments *solid.ListSSZ[*KZGCommitment] `json:"blob_kzg_commitments,omitempty"`
	// The version of the beacon chain
	Version clparams.StateVersion `json:"-"`
	// contains filtered or unexported fields
}

func NewBeaconBody

func NewBeaconBody(beaconCfg *clparams.BeaconChainConfig) *BeaconBody

func (*BeaconBody) Clone

func (b *BeaconBody) Clone() clonable.Clonable

func (*BeaconBody) DecodeSSZ

func (b *BeaconBody) DecodeSSZ(buf []byte, version int) error

func (*BeaconBody) EncodeSSZ

func (b *BeaconBody) EncodeSSZ(dst []byte) ([]byte, error)

func (*BeaconBody) EncodingSizeSSZ

func (b *BeaconBody) EncodingSizeSSZ() (size int)

func (*BeaconBody) HashSSZ

func (b *BeaconBody) HashSSZ() ([32]byte, error)

func (*BeaconBody) Static

func (*BeaconBody) Static() bool

type Blob

type Blob gokzg4844.Blob

type Deposit

type Deposit struct {
	// Merkle proof is used for deposits
	Proof solid.HashVectorSSZ `json:"proof"` // 33 X 32 size.
	Data  *DepositData        `json:"data"`
}

func (*Deposit) Clone

func (*Deposit) Clone() clonable.Clonable

func (*Deposit) DecodeSSZ

func (d *Deposit) DecodeSSZ(buf []byte, version int) error

func (*Deposit) EncodeSSZ

func (d *Deposit) EncodeSSZ(dst []byte) ([]byte, error)

func (*Deposit) EncodingSizeSSZ

func (d *Deposit) EncodingSizeSSZ() int

func (*Deposit) HashSSZ

func (d *Deposit) HashSSZ() ([32]byte, error)

type DepositData

type DepositData struct {
	PubKey                libcommon.Bytes48 `json:"pubkey"`
	WithdrawalCredentials libcommon.Hash    `json:"withdrawal_credentials"`
	Amount                uint64            `json:"amount"`
	Signature             libcommon.Bytes96 `json:"signature"`
}

func (*DepositData) Clone

func (*DepositData) Clone() clonable.Clonable

func (*DepositData) DecodeSSZ

func (d *DepositData) DecodeSSZ(buf []byte, version int) error

func (*DepositData) EncodeSSZ

func (d *DepositData) EncodeSSZ(dst []byte) ([]byte, error)

func (*DepositData) EncodingSizeSSZ

func (d *DepositData) EncodingSizeSSZ() int

func (*DepositData) HashSSZ

func (d *DepositData) HashSSZ() ([32]byte, error)

func (*DepositData) MessageHash

func (d *DepositData) MessageHash() ([32]byte, error)

func (*DepositData) Static

func (*DepositData) Static() bool

type Eth1Block

type Eth1Block struct {
	ParentHash    libcommon.Hash    `json:"parent_hash"`
	FeeRecipient  libcommon.Address `json:"fee_recipient"`
	StateRoot     libcommon.Hash    `json:"state_root"`
	ReceiptsRoot  libcommon.Hash    `json:"receipts_root"`
	LogsBloom     types.Bloom       `json:"logs_bloom"`
	PrevRandao    libcommon.Hash    `json:"prev_randao"`
	BlockNumber   uint64            `json:"block_number"`
	GasLimit      uint64            `json:"gas_limit"`
	GasUsed       uint64            `json:"gas_used"`
	Time          uint64            `json:"timestamp"`
	Extra         *solid.ExtraData  `json:"extra_data"`
	BaseFeePerGas libcommon.Hash    `json:"base_fee_per_gas"`
	// Extra fields
	BlockHash     libcommon.Hash              `json:"block_hash"`
	Transactions  *solid.TransactionsSSZ      `json:"transactions"`
	Withdrawals   *solid.ListSSZ[*Withdrawal] `json:"withdrawals,omitempty"`
	BlobGasUsed   uint64                      `json:"blob_gas_used,omitempty"`
	ExcessBlobGas uint64                      `json:"excess_blob_gas,omitempty"`
	// contains filtered or unexported fields
}

ETH1Block represents a block structure CL-side.

func NewEth1Block

func NewEth1Block(version clparams.StateVersion, beaconCfg *clparams.BeaconChainConfig) *Eth1Block

NewEth1Block creates a new Eth1Block.

func NewEth1BlockFromHeaderAndBody

func NewEth1BlockFromHeaderAndBody(header *types.Header, body *types.RawBody, beaconCfg *clparams.BeaconChainConfig) *Eth1Block

NewEth1BlockFromHeaderAndBody with given header/body.

func (*Eth1Block) Body

func (b *Eth1Block) Body() *types.RawBody

Body returns the equivalent raw body (only eth1 body section).

func (*Eth1Block) Clone

func (e *Eth1Block) Clone() clonable.Clonable

func (*Eth1Block) DecodeSSZ

func (b *Eth1Block) DecodeSSZ(buf []byte, version int) error

DecodeSSZ decodes the block in SSZ format.

func (*Eth1Block) EncodeSSZ

func (b *Eth1Block) EncodeSSZ(dst []byte) ([]byte, error)

EncodeSSZ encodes the block in SSZ format.

func (*Eth1Block) EncodingSizeSSZ

func (b *Eth1Block) EncodingSizeSSZ() (size int)

Return minimum required buffer length to be an acceptable SSZ encoding.

func (*Eth1Block) HashSSZ

func (b *Eth1Block) HashSSZ() ([32]byte, error)

HashSSZ calculates the SSZ hash of the Eth1Block's payload header.

func (*Eth1Block) PayloadHeader

func (b *Eth1Block) PayloadHeader() (*Eth1Header, error)

PayloadHeader returns the equivalent ExecutionPayloadHeader object.

func (*Eth1Block) RlpHeader

func (b *Eth1Block) RlpHeader() (*types.Header, error)

RlpHeader returns the equivalent types.Header struct with RLP-based fields.

func (*Eth1Block) Static

func (*Eth1Block) Static() bool

func (*Eth1Block) Version

func (b *Eth1Block) Version() clparams.StateVersion

type Eth1Data

type Eth1Data struct {
	Root         libcommon.Hash `json:"deposit_root"`
	DepositCount uint64         `json:"deposit_count"`
	BlockHash    libcommon.Hash `json:"block_hash"`
}

func (*Eth1Data) Clone

func (*Eth1Data) Clone() clonable.Clonable

func (*Eth1Data) Copy

func (e *Eth1Data) Copy() *Eth1Data

func (*Eth1Data) DecodeSSZ

func (e *Eth1Data) DecodeSSZ(buf []byte, _ int) error

func (*Eth1Data) EncodeSSZ

func (e *Eth1Data) EncodeSSZ(buf []byte) ([]byte, error)

MarshalSSZTo ssz marshals the Eth1Data object to a target array

func (*Eth1Data) EncodingSizeSSZ

func (e *Eth1Data) EncodingSizeSSZ() int

EncodingSizeSSZ returns the ssz encoded size in bytes for the Eth1Data object

func (*Eth1Data) Equal

func (e *Eth1Data) Equal(b *Eth1Data) bool

func (*Eth1Data) HashSSZ

func (e *Eth1Data) HashSSZ() ([32]byte, error)

HashSSZ ssz hashes the Eth1Data object

func (*Eth1Data) Static

func (e *Eth1Data) Static() bool

type Eth1Header

type Eth1Header struct {
	ParentHash    libcommon.Hash
	FeeRecipient  libcommon.Address
	StateRoot     libcommon.Hash
	ReceiptsRoot  libcommon.Hash
	LogsBloom     types.Bloom
	PrevRandao    libcommon.Hash
	BlockNumber   uint64
	GasLimit      uint64
	GasUsed       uint64
	Time          uint64
	Extra         *solid.ExtraData
	BaseFeePerGas libcommon.Hash
	// Extra fields
	BlockHash        libcommon.Hash
	TransactionsRoot libcommon.Hash
	WithdrawalsRoot  libcommon.Hash
	BlobGasUsed      uint64
	ExcessBlobGas    uint64
	// contains filtered or unexported fields
}

ETH1Header represents the ethereum 1 header structure CL-side.

func NewEth1Header

func NewEth1Header(version clparams.StateVersion) *Eth1Header

NewEth1Header creates new header with given version.

func (*Eth1Header) Capella

func (e *Eth1Header) Capella()

Capella converts the header to capella version.

func (*Eth1Header) Clone

func (*Eth1Header) Clone() clonable.Clonable

func (*Eth1Header) Copy

func (e *Eth1Header) Copy() *Eth1Header

func (*Eth1Header) DecodeSSZ

func (h *Eth1Header) DecodeSSZ(buf []byte, version int) error

DecodeSSZ decodes given SSZ slice.

func (*Eth1Header) Deneb

func (e *Eth1Header) Deneb()

Capella converts the header to capella version.

func (*Eth1Header) EncodeSSZ

func (h *Eth1Header) EncodeSSZ(dst []byte) ([]byte, error)

EncodeSSZ encodes the header in SSZ format.

func (*Eth1Header) EncodingSizeSSZ

func (h *Eth1Header) EncodingSizeSSZ() int

EncodingSizeSSZ returns the ssz encoded size in bytes for the Header object

func (*Eth1Header) HashSSZ

func (h *Eth1Header) HashSSZ() ([32]byte, error)

HashSSZ encodes the header in SSZ tree format.

func (*Eth1Header) IsZero

func (e *Eth1Header) IsZero() bool

func (*Eth1Header) Static

func (h *Eth1Header) Static() bool

type Fork

type Fork struct {
	PreviousVersion libcommon.Bytes4 `json:"previous_version"`
	CurrentVersion  libcommon.Bytes4 `json:"current_version"`
	Epoch           uint64           `json:"epoch"`
}

Fork data, contains if we were on bellatrix/alteir/phase0 and transition epoch.

func (*Fork) Clone

func (*Fork) Clone() clonable.Clonable

func (*Fork) Copy

func (f *Fork) Copy() *Fork

func (*Fork) DecodeSSZ

func (f *Fork) DecodeSSZ(buf []byte, _ int) error

func (*Fork) EncodeSSZ

func (f *Fork) EncodeSSZ(dst []byte) ([]byte, error)

func (*Fork) EncodingSizeSSZ

func (f *Fork) EncodingSizeSSZ() int

func (*Fork) HashSSZ

func (f *Fork) HashSSZ() ([32]byte, error)

func (*Fork) Static

func (*Fork) Static() bool

type HistoricalSummary

type HistoricalSummary struct {
	BlockSummaryRoot libcommon.Hash `json:"block_summary_root"`
	StateSummaryRoot libcommon.Hash `json:"state_summary_root"`
}

func (*HistoricalSummary) Clone

func (*HistoricalSummary) DecodeSSZ

func (h *HistoricalSummary) DecodeSSZ(buf []byte, _ int) error

func (*HistoricalSummary) EncodeSSZ

func (h *HistoricalSummary) EncodeSSZ(buf []byte) ([]byte, error)

func (*HistoricalSummary) EncodingSizeSSZ

func (*HistoricalSummary) EncodingSizeSSZ() int

func (*HistoricalSummary) HashSSZ

func (h *HistoricalSummary) HashSSZ() ([32]byte, error)

type IndexedAttestation

type IndexedAttestation struct {
	AttestingIndices *solid.RawUint64List  `json:"attesting_indicies"`
	Data             solid.AttestationData `json:"data"`
	Signature        libcommon.Bytes96     `json:"signature"`
}

* IndexedAttestation are attestantions sets to prove that someone misbehaved.

func (*IndexedAttestation) Clone

func (*IndexedAttestation) DecodeSSZ

func (i *IndexedAttestation) DecodeSSZ(buf []byte, version int) error

DecodeSSZ ssz unmarshals the IndexedAttestation object

func (*IndexedAttestation) EncodeSSZ

func (i *IndexedAttestation) EncodeSSZ(buf []byte) (dst []byte, err error)

func (*IndexedAttestation) EncodingSizeSSZ

func (i *IndexedAttestation) EncodingSizeSSZ() int

EncodingSizeSSZ returns the ssz encoded size in bytes for the IndexedAttestation object

func (*IndexedAttestation) HashSSZ

func (i *IndexedAttestation) HashSSZ() ([32]byte, error)

HashSSZ ssz hashes the IndexedAttestation object

func (*IndexedAttestation) Static

func (i *IndexedAttestation) Static() bool

type JustificationBits

type JustificationBits [JustificationBitsLength]bool // Bit vector of size 4

func (JustificationBits) Byte

func (j JustificationBits) Byte() (out byte)

func (JustificationBits) CheckRange

func (j JustificationBits) CheckRange(start int, end int) bool

CheckRange checks if bits in certain range are all enabled.

func (JustificationBits) Clone

func (JustificationBits) Copy

func (*JustificationBits) DecodeSSZ

func (j *JustificationBits) DecodeSSZ(b []byte, _ int) error

func (JustificationBits) EncodeSSZ

func (j JustificationBits) EncodeSSZ(buf []byte) ([]byte, error)

func (JustificationBits) EncodingSizeSSZ

func (JustificationBits) EncodingSizeSSZ() int

func (*JustificationBits) HashSSZ

func (j *JustificationBits) HashSSZ() (out [32]byte, err error)

func (JustificationBits) MarshalJSON

func (j JustificationBits) MarshalJSON() ([]byte, error)

func (JustificationBits) Static

func (JustificationBits) Static() bool

func (*JustificationBits) UnmarshalJSON

func (j *JustificationBits) UnmarshalJSON(input []byte) error

type KZGCommitment

type KZGCommitment gokzg4844.KZGCommitment

func (*KZGCommitment) Clone

func (*KZGCommitment) Clone() clonable.Clonable

func (*KZGCommitment) Copy

func (b *KZGCommitment) Copy() *KZGCommitment

func (*KZGCommitment) DecodeSSZ

func (b *KZGCommitment) DecodeSSZ(buf []byte, version int) error

func (*KZGCommitment) EncodeSSZ

func (b *KZGCommitment) EncodeSSZ(buf []byte) ([]byte, error)

func (*KZGCommitment) EncodingSizeSSZ

func (b *KZGCommitment) EncodingSizeSSZ() int

func (*KZGCommitment) HashSSZ

func (b *KZGCommitment) HashSSZ() ([32]byte, error)

func (KZGCommitment) MarshalJSON

func (b KZGCommitment) MarshalJSON() ([]byte, error)

func (*KZGCommitment) UnmarshalJSON

func (b *KZGCommitment) UnmarshalJSON(data []byte) error

type KZGProof

type KZGProof gokzg4844.KZGProof // [48]byte

type Metadata

type Metadata struct {
	SeqNumber uint64
	Attnets   uint64
	Syncnets  *uint64
}

func (*Metadata) Clone

func (*Metadata) Clone() clonable.Clonable

func (*Metadata) DecodeSSZ

func (m *Metadata) DecodeSSZ(buf []byte, _ int) error

func (*Metadata) EncodeSSZ

func (m *Metadata) EncodeSSZ(buf []byte) ([]byte, error)

func (*Metadata) EncodingSizeSSZ

func (m *Metadata) EncodingSizeSSZ() (ret int)

type ParticipationFlags

type ParticipationFlags byte

func (ParticipationFlags) Add

func (ParticipationFlags) HasFlag

func (f ParticipationFlags) HasFlag(index int) bool

type ParticipationFlagsList

type ParticipationFlagsList []ParticipationFlags

func ParticipationFlagsListFromBytes

func ParticipationFlagsListFromBytes(buf []byte) ParticipationFlagsList

func (ParticipationFlagsList) Bytes

func (p ParticipationFlagsList) Bytes() []byte

func (ParticipationFlagsList) Copy

type Ping

type Ping struct {
	Id uint64
}

Ping is a test P2P message, used to test out liveness of our peer/signaling disconnection.

func (*Ping) Clone

func (*Ping) Clone() clonable.Clonable

func (*Ping) DecodeSSZ

func (p *Ping) DecodeSSZ(buf []byte, _ int) error

func (*Ping) EncodeSSZ

func (p *Ping) EncodeSSZ(buf []byte) ([]byte, error)

func (*Ping) EncodingSizeSSZ

func (p *Ping) EncodingSizeSSZ() int

type ProposerSlashing

type ProposerSlashing struct {
	Header1 *SignedBeaconBlockHeader `json:"signed_header_1"`
	Header2 *SignedBeaconBlockHeader `json:"signed_header_2"`
}

func (*ProposerSlashing) Clone

func (*ProposerSlashing) DecodeSSZ

func (p *ProposerSlashing) DecodeSSZ(buf []byte, version int) error

func (*ProposerSlashing) EncodeSSZ

func (p *ProposerSlashing) EncodeSSZ(dst []byte) ([]byte, error)

func (*ProposerSlashing) EncodingSizeSSZ

func (p *ProposerSlashing) EncodingSizeSSZ() int

func (*ProposerSlashing) HashSSZ

func (p *ProposerSlashing) HashSSZ() ([32]byte, error)

type SignedAggregateAndProof

type SignedAggregateAndProof struct {
	Message   *AggregateAndProof
	Signature libcommon.Bytes96
}

func (*SignedAggregateAndProof) Clone

func (*SignedAggregateAndProof) DecodeSSZ

func (a *SignedAggregateAndProof) DecodeSSZ(buf []byte, version int) error

func (*SignedAggregateAndProof) EncodeSSZ

func (a *SignedAggregateAndProof) EncodeSSZ(dst []byte) ([]byte, error)

func (*SignedAggregateAndProof) EncodingSizeSSZ

func (a *SignedAggregateAndProof) EncodingSizeSSZ() int

func (*SignedAggregateAndProof) HashSSZ

func (a *SignedAggregateAndProof) HashSSZ() ([32]byte, error)

type SignedBLSToExecutionChange

type SignedBLSToExecutionChange struct {
	Message   *BLSToExecutionChange `json:"message"`
	Signature libcommon.Bytes96     `json:"signature"`
}

func (*SignedBLSToExecutionChange) Clone

func (*SignedBLSToExecutionChange) DecodeSSZ

func (s *SignedBLSToExecutionChange) DecodeSSZ(buf []byte, version int) error

func (*SignedBLSToExecutionChange) EncodeSSZ

func (s *SignedBLSToExecutionChange) EncodeSSZ(buf []byte) ([]byte, error)

func (*SignedBLSToExecutionChange) EncodingSizeSSZ

func (s *SignedBLSToExecutionChange) EncodingSizeSSZ() int

func (*SignedBLSToExecutionChange) HashSSZ

func (s *SignedBLSToExecutionChange) HashSSZ() ([32]byte, error)

type SignedBeaconBlock

type SignedBeaconBlock struct {
	Signature libcommon.Bytes96 `json:"signature"`
	Block     *BeaconBlock      `json:"message"`
}

func NewSignedBeaconBlock

func NewSignedBeaconBlock(beaconCfg *clparams.BeaconChainConfig) *SignedBeaconBlock

func (*SignedBeaconBlock) Clone

func (s *SignedBeaconBlock) Clone() clonable.Clonable

func (*SignedBeaconBlock) DecodeSSZ

func (b *SignedBeaconBlock) DecodeSSZ(buf []byte, s int) error

func (*SignedBeaconBlock) EncodeSSZ

func (b *SignedBeaconBlock) EncodeSSZ(buf []byte) ([]byte, error)

func (*SignedBeaconBlock) EncodingSizeSSZ

func (b *SignedBeaconBlock) EncodingSizeSSZ() int

func (*SignedBeaconBlock) HashSSZ

func (b *SignedBeaconBlock) HashSSZ() ([32]byte, error)

func (*SignedBeaconBlock) SignedBeaconBlockHeader

func (s *SignedBeaconBlock) SignedBeaconBlockHeader() *SignedBeaconBlockHeader

func (*SignedBeaconBlock) Version

Version returns beacon block version.

type SignedBeaconBlockHeader

type SignedBeaconBlockHeader struct {
	Header    *BeaconBlockHeader `json:"message"`
	Signature libcommon.Bytes96  `json:"signature"`
}

* SignedBeaconBlockHeader is a beacon block header + validator signature.

func (*SignedBeaconBlockHeader) Clone

func (*SignedBeaconBlockHeader) DecodeSSZ

func (b *SignedBeaconBlockHeader) DecodeSSZ(buf []byte, version int) error

func (*SignedBeaconBlockHeader) EncodeSSZ

func (b *SignedBeaconBlockHeader) EncodeSSZ(dst []byte) ([]byte, error)

func (*SignedBeaconBlockHeader) EncodingSizeSSZ

func (b *SignedBeaconBlockHeader) EncodingSizeSSZ() int

func (*SignedBeaconBlockHeader) HashSSZ

func (b *SignedBeaconBlockHeader) HashSSZ() ([32]byte, error)

func (*SignedBeaconBlockHeader) Static

func (b *SignedBeaconBlockHeader) Static() bool

type SignedVoluntaryExit

type SignedVoluntaryExit struct {
	VoluntaryExit *VoluntaryExit    `json:"message"`
	Signature     libcommon.Bytes96 `json:"signature"`
}

func (*SignedVoluntaryExit) Clone

func (*SignedVoluntaryExit) DecodeSSZ

func (e *SignedVoluntaryExit) DecodeSSZ(buf []byte, version int) error

func (*SignedVoluntaryExit) EncodeSSZ

func (e *SignedVoluntaryExit) EncodeSSZ(dst []byte) ([]byte, error)

func (*SignedVoluntaryExit) EncodingSizeSSZ

func (e *SignedVoluntaryExit) EncodingSizeSSZ() int

func (*SignedVoluntaryExit) HashSSZ

func (e *SignedVoluntaryExit) HashSSZ() ([32]byte, error)

type Status

type Status struct {
	ForkDigest     [4]byte
	FinalizedRoot  [32]byte
	FinalizedEpoch uint64
	HeadRoot       [32]byte
	HeadSlot       uint64
}

* Status is a P2P Message we exchange when connecting to a new Peer. * It contains network information about the other peer and if mismatching we drop it.

func (*Status) Clone

func (*Status) Clone() clonable.Clonable

func (*Status) DecodeSSZ

func (s *Status) DecodeSSZ(buf []byte, version int) error

func (*Status) EncodeSSZ

func (s *Status) EncodeSSZ(buf []byte) ([]byte, error)

func (*Status) EncodingSizeSSZ

func (s *Status) EncodingSizeSSZ() int

type SyncAggregate

type SyncAggregate struct {
	SyncCommiteeBits      libcommon.Bytes64 `json:"sync_commitee_bits"`
	SyncCommiteeSignature libcommon.Bytes96 `json:"signature"`
}

* SyncAggregate, Determines successfull committee, bits shows active participants, * and signature is the aggregate BLS signature of the committee.

func (*SyncAggregate) Clone

func (*SyncAggregate) Clone() clonable.Clonable

func (*SyncAggregate) DecodeSSZ

func (agg *SyncAggregate) DecodeSSZ(buf []byte, version int) error

func (*SyncAggregate) EncodeSSZ

func (agg *SyncAggregate) EncodeSSZ(buf []byte) ([]byte, error)

func (*SyncAggregate) EncodingSizeSSZ

func (agg *SyncAggregate) EncodingSizeSSZ() int

func (*SyncAggregate) HashSSZ

func (agg *SyncAggregate) HashSSZ() ([32]byte, error)

func (*SyncAggregate) Static

func (*SyncAggregate) Static() bool

func (*SyncAggregate) Sum

func (agg *SyncAggregate) Sum() int

return sum of the committee bits

type VoluntaryExit

type VoluntaryExit struct {
	Epoch          uint64 `json:"epoch"`
	ValidatorIndex uint64 `json:"validator_index"`
}

func (*VoluntaryExit) Clone

func (*VoluntaryExit) Clone() clonable.Clonable

func (*VoluntaryExit) DecodeSSZ

func (e *VoluntaryExit) DecodeSSZ(buf []byte, version int) error

func (*VoluntaryExit) EncodeSSZ

func (e *VoluntaryExit) EncodeSSZ(buf []byte) ([]byte, error)

func (*VoluntaryExit) EncodingSizeSSZ

func (*VoluntaryExit) EncodingSizeSSZ() int

func (*VoluntaryExit) HashSSZ

func (e *VoluntaryExit) HashSSZ() ([32]byte, error)

func (*VoluntaryExit) Static

func (*VoluntaryExit) Static() bool

type Withdrawal

type Withdrawal struct {
	Index     uint64            `json:"index"`          // monotonically increasing identifier issued by consensus layer
	Validator uint64            `json:"validatorIndex"` // index of validator associated with withdrawal
	Address   libcommon.Address `json:"address"`        // target address for withdrawn ether
	Amount    uint64            `json:"amount"`         // value of withdrawal in GWei
}

func (*Withdrawal) Clone

func (*Withdrawal) Clone() clonable.Clonable

func (*Withdrawal) DecodeSSZ

func (obj *Withdrawal) DecodeSSZ(buf []byte, _ int) error

func (*Withdrawal) EncodeSSZ

func (obj *Withdrawal) EncodeSSZ(buf []byte) ([]byte, error)

func (*Withdrawal) EncodingSizeSSZ

func (obj *Withdrawal) EncodingSizeSSZ() int

func (*Withdrawal) HashSSZ

func (obj *Withdrawal) HashSSZ() ([32]byte, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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