Documentation ¶
Index ¶
- Constants
- func IsSlashableAttestationData(d1, d2 solid.AttestationData) bool
- type AggregateAndProof
- func (*AggregateAndProof) Clone() clonable.Clonable
- func (a *AggregateAndProof) DecodeSSZ(buf []byte, version int) error
- func (a *AggregateAndProof) EncodeSSZ(dst []byte) ([]byte, error)
- func (a *AggregateAndProof) EncodingSizeSSZ() int
- func (a *AggregateAndProof) HashSSZ() ([32]byte, error)
- func (a *AggregateAndProof) Static() bool
- type AttesterSlashing
- type BLSToExecutionChange
- func (*BLSToExecutionChange) Clone() clonable.Clonable
- func (b *BLSToExecutionChange) DecodeSSZ(buf []byte, version int) error
- func (b *BLSToExecutionChange) EncodeSSZ(buf []byte) ([]byte, error)
- func (*BLSToExecutionChange) EncodingSizeSSZ() int
- func (b *BLSToExecutionChange) HashSSZ() ([32]byte, error)
- func (*BLSToExecutionChange) Static() bool
- type BeaconBlock
- func (b *BeaconBlock) Clone() clonable.Clonable
- func (b *BeaconBlock) DecodeSSZ(buf []byte, version int) error
- func (b *BeaconBlock) EncodeSSZ(buf []byte) (dst []byte, err error)
- func (b *BeaconBlock) EncodingSizeSSZ() int
- func (b *BeaconBlock) HashSSZ() ([32]byte, error)
- func (*BeaconBlock) Static() bool
- func (b *BeaconBlock) Version() clparams.StateVersion
- type BeaconBlockHeader
- func (*BeaconBlockHeader) Clone() clonable.Clonable
- func (b *BeaconBlockHeader) Copy() *BeaconBlockHeader
- func (b *BeaconBlockHeader) DecodeSSZ(buf []byte, v int) error
- func (b *BeaconBlockHeader) EncodeSSZ(dst []byte) ([]byte, error)
- func (b *BeaconBlockHeader) EncodingSizeSSZ() int
- func (b *BeaconBlockHeader) HashSSZ() ([32]byte, error)
- func (*BeaconBlockHeader) Static() bool
- type BeaconBlocksByRangeRequest
- type BeaconBody
- type Blob
- type Deposit
- type DepositData
- func (*DepositData) Clone() clonable.Clonable
- func (d *DepositData) DecodeSSZ(buf []byte, version int) error
- func (d *DepositData) EncodeSSZ(dst []byte) ([]byte, error)
- func (d *DepositData) EncodingSizeSSZ() int
- func (d *DepositData) HashSSZ() ([32]byte, error)
- func (d *DepositData) MessageHash() ([32]byte, error)
- func (*DepositData) Static() bool
- type Eth1Block
- func (b *Eth1Block) Body() *types.RawBody
- func (e *Eth1Block) Clone() clonable.Clonable
- func (b *Eth1Block) DecodeSSZ(buf []byte, version int) error
- func (b *Eth1Block) EncodeSSZ(dst []byte) ([]byte, error)
- func (b *Eth1Block) EncodingSizeSSZ() (size int)
- func (b *Eth1Block) HashSSZ() ([32]byte, error)
- func (b *Eth1Block) PayloadHeader() (*Eth1Header, error)
- func (b *Eth1Block) RlpHeader() (*types.Header, error)
- func (*Eth1Block) Static() bool
- func (b *Eth1Block) Version() clparams.StateVersion
- type Eth1Data
- func (*Eth1Data) Clone() clonable.Clonable
- func (e *Eth1Data) Copy() *Eth1Data
- func (e *Eth1Data) DecodeSSZ(buf []byte, _ int) error
- func (e *Eth1Data) EncodeSSZ(buf []byte) ([]byte, error)
- func (e *Eth1Data) EncodingSizeSSZ() int
- func (e *Eth1Data) Equal(b *Eth1Data) bool
- func (e *Eth1Data) HashSSZ() ([32]byte, error)
- func (e *Eth1Data) Static() bool
- type Eth1Header
- func (e *Eth1Header) Capella()
- func (*Eth1Header) Clone() clonable.Clonable
- func (e *Eth1Header) Copy() *Eth1Header
- func (h *Eth1Header) DecodeSSZ(buf []byte, version int) error
- func (e *Eth1Header) Deneb()
- func (h *Eth1Header) EncodeSSZ(dst []byte) ([]byte, error)
- func (h *Eth1Header) EncodingSizeSSZ() int
- func (h *Eth1Header) HashSSZ() ([32]byte, error)
- func (e *Eth1Header) IsZero() bool
- func (h *Eth1Header) Static() bool
- type Fork
- type HistoricalSummary
- type IndexedAttestation
- func (*IndexedAttestation) Clone() clonable.Clonable
- func (i *IndexedAttestation) DecodeSSZ(buf []byte, version int) error
- func (i *IndexedAttestation) EncodeSSZ(buf []byte) (dst []byte, err error)
- func (i *IndexedAttestation) EncodingSizeSSZ() int
- func (i *IndexedAttestation) HashSSZ() ([32]byte, error)
- func (i *IndexedAttestation) Static() bool
- type JustificationBits
- func (j JustificationBits) Byte() (out byte)
- func (j JustificationBits) CheckRange(start int, end int) bool
- func (j *JustificationBits) Clone() clonable.Clonable
- func (j JustificationBits) Copy() JustificationBits
- func (j *JustificationBits) DecodeSSZ(b []byte, _ int) error
- func (j *JustificationBits) EncodeSSZ(buf []byte) ([]byte, error)
- func (*JustificationBits) EncodingSizeSSZ() int
- func (j *JustificationBits) HashSSZ() (out [32]byte, err error)
- func (j JustificationBits) MarshalJSON() ([]byte, error)
- func (*JustificationBits) Static() bool
- func (j *JustificationBits) UnmarshalJSON(input []byte) error
- type KZGCommitment
- func (*KZGCommitment) Clone() clonable.Clonable
- func (b *KZGCommitment) Copy() *KZGCommitment
- func (b *KZGCommitment) DecodeSSZ(buf []byte, version int) error
- func (b *KZGCommitment) EncodeSSZ(buf []byte) ([]byte, error)
- func (b *KZGCommitment) EncodingSizeSSZ() int
- func (b *KZGCommitment) HashSSZ() ([32]byte, error)
- func (b KZGCommitment) MarshalJSON() ([]byte, error)
- func (b *KZGCommitment) UnmarshalJSON(data []byte) error
- type KZGProof
- type Metadata
- type ParticipationFlags
- type ParticipationFlagsList
- type Ping
- type ProposerSlashing
- type SignedAggregateAndProof
- func (*SignedAggregateAndProof) Clone() clonable.Clonable
- func (a *SignedAggregateAndProof) DecodeSSZ(buf []byte, version int) error
- func (a *SignedAggregateAndProof) EncodeSSZ(dst []byte) ([]byte, error)
- func (a *SignedAggregateAndProof) EncodingSizeSSZ() int
- func (a *SignedAggregateAndProof) HashSSZ() ([32]byte, error)
- type SignedBLSToExecutionChange
- func (*SignedBLSToExecutionChange) Clone() clonable.Clonable
- func (s *SignedBLSToExecutionChange) DecodeSSZ(buf []byte, version int) error
- func (s *SignedBLSToExecutionChange) EncodeSSZ(buf []byte) ([]byte, error)
- func (s *SignedBLSToExecutionChange) EncodingSizeSSZ() int
- func (s *SignedBLSToExecutionChange) HashSSZ() ([32]byte, error)
- type SignedBeaconBlock
- func (s *SignedBeaconBlock) Clone() clonable.Clonable
- func (b *SignedBeaconBlock) DecodeSSZ(buf []byte, s int) error
- func (b *SignedBeaconBlock) EncodeSSZ(buf []byte) ([]byte, error)
- func (b *SignedBeaconBlock) EncodingSizeSSZ() int
- func (b *SignedBeaconBlock) HashSSZ() ([32]byte, error)
- func (s *SignedBeaconBlock) SignedBeaconBlockHeader() *SignedBeaconBlockHeader
- func (b *SignedBeaconBlock) Version() clparams.StateVersion
- type SignedBeaconBlockHeader
- func (*SignedBeaconBlockHeader) Clone() clonable.Clonable
- func (b *SignedBeaconBlockHeader) DecodeSSZ(buf []byte, version int) error
- func (b *SignedBeaconBlockHeader) EncodeSSZ(dst []byte) ([]byte, error)
- func (b *SignedBeaconBlockHeader) EncodingSizeSSZ() int
- func (b *SignedBeaconBlockHeader) HashSSZ() ([32]byte, error)
- func (b *SignedBeaconBlockHeader) Static() bool
- type SignedVoluntaryExit
- func (*SignedVoluntaryExit) Clone() clonable.Clonable
- func (e *SignedVoluntaryExit) DecodeSSZ(buf []byte, version int) error
- func (e *SignedVoluntaryExit) EncodeSSZ(dst []byte) ([]byte, error)
- func (e *SignedVoluntaryExit) EncodingSizeSSZ() int
- func (e *SignedVoluntaryExit) HashSSZ() ([32]byte, error)
- type Status
- type SyncAggregate
- func (*SyncAggregate) Clone() clonable.Clonable
- func (agg *SyncAggregate) DecodeSSZ(buf []byte, version int) error
- func (agg *SyncAggregate) EncodeSSZ(buf []byte) ([]byte, error)
- func (agg *SyncAggregate) EncodingSizeSSZ() int
- func (agg *SyncAggregate) HashSSZ() ([32]byte, error)
- func (*SyncAggregate) Static() bool
- func (agg *SyncAggregate) Sum() int
- type VoluntaryExit
- func (*VoluntaryExit) Clone() clonable.Clonable
- func (e *VoluntaryExit) DecodeSSZ(buf []byte, version int) error
- func (e *VoluntaryExit) EncodeSSZ(buf []byte) ([]byte, error)
- func (*VoluntaryExit) EncodingSizeSSZ() int
- func (e *VoluntaryExit) HashSSZ() ([32]byte, error)
- func (*VoluntaryExit) Static() bool
- type Withdrawal
Constants ¶
const ( MaxAttesterSlashings = 2 MaxProposerSlashings = 16 MaxAttestations = 128 MaxDeposits = 16 MaxVoluntaryExits = 16 MaxExecutionChanges = 16 MaxBlobsCommittmentsPerBlock = 4096 )
const ( DepositProofLength = 33 SyncCommitteeSize = 512 )
const BYTES_PER_BLOB = uint64(BYTES_PER_FIELD_ELEMENT * FIELD_ELEMENTS_PER_BLOB)
const BYTES_PER_FIELD_ELEMENT = 32
const FIELD_ELEMENTS_PER_BLOB = 4096
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) Clone() clonable.Clonable
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) Clone() clonable.Clonable
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) Clone() clonable.Clonable
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) 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) Clone() clonable.Clonable
func (*BeaconBlockHeader) Copy ¶
func (b *BeaconBlockHeader) Copy() *BeaconBlockHeader
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) Clone() clonable.Clonable
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) 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 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) EncodingSizeSSZ ¶
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) 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) EncodingSizeSSZ ¶
Return minimum required buffer length to be an acceptable SSZ encoding.
func (*Eth1Block) PayloadHeader ¶
func (b *Eth1Block) PayloadHeader() (*Eth1Header, error)
PayloadHeader returns the equivalent ExecutionPayloadHeader object.
func (*Eth1Block) RlpHeader ¶
RlpHeader returns the equivalent types.Header struct with RLP-based fields.
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) EncodingSizeSSZ ¶
EncodingSizeSSZ returns the ssz encoded size in bytes for the Eth1Data object
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) EncodingSizeSSZ ¶
type HistoricalSummary ¶
type HistoricalSummary struct { BlockSummaryRoot libcommon.Hash `json:"block_summary_root"` StateSummaryRoot libcommon.Hash `json:"state_summary_root"` }
func (*HistoricalSummary) Clone ¶
func (*HistoricalSummary) Clone() clonable.Clonable
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.Uint64ListSSZ `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) Clone() clonable.Clonable
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 (j *JustificationBits) Clone() clonable.Clonable
func (JustificationBits) Copy ¶
func (j JustificationBits) Copy() JustificationBits
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) 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 Metadata ¶
func (*Metadata) EncodingSizeSSZ ¶
type ParticipationFlags ¶
type ParticipationFlags byte
func (ParticipationFlags) Add ¶
func (f ParticipationFlags) Add(index int) ParticipationFlags
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 ¶
func (p ParticipationFlagsList) Copy() ParticipationFlagsList
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) EncodingSizeSSZ ¶
type ProposerSlashing ¶
type ProposerSlashing struct { Header1 *SignedBeaconBlockHeader `json:"signed_header_1"` Header2 *SignedBeaconBlockHeader `json:"signed_header_2"` }
func (*ProposerSlashing) Clone ¶
func (*ProposerSlashing) Clone() clonable.Clonable
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) Clone() clonable.Clonable
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) Clone() clonable.Clonable
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 ¶
func (b *SignedBeaconBlock) Version() clparams.StateVersion
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) Clone() clonable.Clonable
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) Clone() clonable.Clonable
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) EncodingSizeSSZ ¶
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) EncodingSizeSSZ ¶
func (agg *SyncAggregate) EncodingSizeSSZ() int
func (*SyncAggregate) HashSSZ ¶
func (agg *SyncAggregate) HashSSZ() ([32]byte, error)
func (*SyncAggregate) Static ¶
func (*SyncAggregate) Static() bool
type VoluntaryExit ¶
type VoluntaryExit struct { Epoch uint64 `json:"epoch"` ValidatorIndex uint64 `json:"validator_index"` }
func (*VoluntaryExit) Clone ¶
func (*VoluntaryExit) Clone() clonable.Clonable
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) EncodingSizeSSZ ¶
func (obj *Withdrawal) EncodingSizeSSZ() int
func (*Withdrawal) HashSSZ ¶
func (obj *Withdrawal) HashSSZ() ([32]byte, error)