structs

package
v5.1.2-mekong Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2024 License: GPL-3.0 Imports: 21 Imported by: 8

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrUnsupportedConversion = errors.New("Could not determine api struct type to use for value")
View Source
var ExecutionPayloadElectraFromConsensus = ExecutionPayloadDenebFromConsensus
View Source
var ExecutionPayloadHeaderElectraFromConsensus = ExecutionPayloadHeaderDenebFromConsensus

Functions

func AttesterSlashingsElectraToConsensus added in v5.1.1

func AttesterSlashingsElectraToConsensus(src []*AttesterSlashingElectra) ([]*eth.AttesterSlashingElectra, error)

func AttesterSlashingsToConsensus

func AttesterSlashingsToConsensus(src []*AttesterSlashing) ([]*eth.AttesterSlashing, error)

func AttsElectraToConsensus added in v5.1.1

func AttsElectraToConsensus(src []*AttestationElectra) ([]*eth.AttestationElectra, error)

func AttsToConsensus

func AttsToConsensus(src []*Attestation) ([]*eth.Attestation, error)

func DepositsToConsensus

func DepositsToConsensus(src []*Deposit) ([]*eth.Deposit, error)

func ProposerSlashingsToConsensus

func ProposerSlashingsToConsensus(src []*ProposerSlashing) ([]*eth.ProposerSlashing, error)

func SignedExitsToConsensus

func SignedExitsToConsensus(src []*SignedVoluntaryExit) ([]*eth.SignedVoluntaryExit, error)

Types

type ActiveSetChanges added in v5.1.0

type ActiveSetChanges struct {
	Epoch               string   `json:"epoch"`
	ActivatedPublicKeys []string `json:"activated_public_keys"`
	ActivatedIndices    []string `json:"activated_indices"`
	ExitedPublicKeys    []string `json:"exited_public_keys"`
	ExitedIndices       []string `json:"exited_indices"`
	SlashedPublicKeys   []string `json:"slashed_public_keys"`
	SlashedIndices      []string `json:"slashed_indices"`
	EjectedPublicKeys   []string `json:"ejected_public_keys"`
	EjectedIndices      []string `json:"ejected_indices"`
}

type AddrRequest

type AddrRequest struct {
	Addr string `json:"addr"`
}

type AggregateAttestationAndProof

type AggregateAttestationAndProof struct {
	AggregatorIndex string       `json:"aggregator_index"`
	Aggregate       *Attestation `json:"aggregate"`
	SelectionProof  string       `json:"selection_proof"`
}

func (*AggregateAttestationAndProof) ToConsensus

type AggregateAttestationAndProofElectra added in v5.1.1

type AggregateAttestationAndProofElectra struct {
	AggregatorIndex string              `json:"aggregator_index"`
	Aggregate       *AttestationElectra `json:"aggregate"`
	SelectionProof  string              `json:"selection_proof"`
}

func (*AggregateAttestationAndProofElectra) ToConsensus added in v5.1.1

type AggregateAttestationResponse

type AggregateAttestationResponse struct {
	Data *Attestation `json:"data"`
}

type AggregatedAttEventSource

type AggregatedAttEventSource struct {
	Aggregate *Attestation `json:"aggregate"`
}

type Attestation

type Attestation struct {
	AggregationBits string           `json:"aggregation_bits"`
	Data            *AttestationData `json:"data"`
	Signature       string           `json:"signature"`
}

func AttFromConsensus

func AttFromConsensus(a *eth.Attestation) *Attestation

func AttsFromConsensus

func AttsFromConsensus(src []*eth.Attestation) []*Attestation

func (*Attestation) ToConsensus

func (a *Attestation) ToConsensus() (*eth.Attestation, error)

type AttestationData

type AttestationData struct {
	Slot            string      `json:"slot"`
	CommitteeIndex  string      `json:"index"`
	BeaconBlockRoot string      `json:"beacon_block_root"`
	Source          *Checkpoint `json:"source"`
	Target          *Checkpoint `json:"target"`
}

func AttDataFromConsensus

func AttDataFromConsensus(a *eth.AttestationData) *AttestationData

func (*AttestationData) ToConsensus

func (a *AttestationData) ToConsensus() (*eth.AttestationData, error)

type AttestationElectra added in v5.1.1

type AttestationElectra struct {
	AggregationBits string           `json:"aggregation_bits"`
	Data            *AttestationData `json:"data"`
	Signature       string           `json:"signature"`
	CommitteeBits   string           `json:"committee_bits"`
}

func AttElectraFromConsensus added in v5.1.1

func AttElectraFromConsensus(a *eth.AttestationElectra) *AttestationElectra

func AttsElectraFromConsensus added in v5.1.1

func AttsElectraFromConsensus(src []*eth.AttestationElectra) []*AttestationElectra

func (*AttestationElectra) ToConsensus added in v5.1.1

func (a *AttestationElectra) ToConsensus() (*eth.AttestationElectra, error)

type AttestationRewards

type AttestationRewards struct {
	IdealRewards []IdealAttestationReward `json:"ideal_rewards"`
	TotalRewards []TotalAttestationReward `json:"total_rewards"`
}

type AttestationRewardsResponse

type AttestationRewardsResponse struct {
	Data                AttestationRewards `json:"data"`
	ExecutionOptimistic bool               `json:"execution_optimistic"`
	Finalized           bool               `json:"finalized"`
}

type AttesterDuty

type AttesterDuty struct {
	Pubkey                  string `json:"pubkey"`
	ValidatorIndex          string `json:"validator_index"`
	CommitteeIndex          string `json:"committee_index"`
	CommitteeLength         string `json:"committee_length"`
	CommitteesAtSlot        string `json:"committees_at_slot"`
	ValidatorCommitteeIndex string `json:"validator_committee_index"`
	Slot                    string `json:"slot"`
}

type AttesterSlashing

type AttesterSlashing struct {
	Attestation1 *IndexedAttestation `json:"attestation_1"`
	Attestation2 *IndexedAttestation `json:"attestation_2"`
}

func AttesterSlashingFromConsensus

func AttesterSlashingFromConsensus(src *eth.AttesterSlashing) *AttesterSlashing

func AttesterSlashingsFromConsensus

func AttesterSlashingsFromConsensus(src []*eth.AttesterSlashing) []*AttesterSlashing

func (*AttesterSlashing) ToConsensus

func (s *AttesterSlashing) ToConsensus() (*eth.AttesterSlashing, error)

type AttesterSlashingElectra added in v5.1.1

type AttesterSlashingElectra struct {
	Attestation1 *IndexedAttestationElectra `json:"attestation_1"`
	Attestation2 *IndexedAttestationElectra `json:"attestation_2"`
}

func AttesterSlashingElectraFromConsensus added in v5.1.1

func AttesterSlashingElectraFromConsensus(src *eth.AttesterSlashingElectra) *AttesterSlashingElectra

func AttesterSlashingsElectraFromConsensus added in v5.1.1

func AttesterSlashingsElectraFromConsensus(src []*eth.AttesterSlashingElectra) []*AttesterSlashingElectra

func (*AttesterSlashingElectra) ToConsensus added in v5.1.1

type BLSToExecutionChange

type BLSToExecutionChange struct {
	ValidatorIndex     string `json:"validator_index"`
	FromBLSPubkey      string `json:"from_bls_pubkey"`
	ToExecutionAddress string `json:"to_execution_address"`
}

func BLSChangeFromConsensus

func BLSChangeFromConsensus(ch *eth.BLSToExecutionChange) *BLSToExecutionChange

func (*BLSToExecutionChange) ToConsensus

func (b *BLSToExecutionChange) ToConsensus() (*eth.BLSToExecutionChange, error)

type BLSToExecutionChangesPoolResponse

type BLSToExecutionChangesPoolResponse struct {
	Data []*SignedBLSToExecutionChange `json:"data"`
}

type BeaconBlock

type BeaconBlock struct {
	Slot          string           `json:"slot"`
	ProposerIndex string           `json:"proposer_index"`
	ParentRoot    string           `json:"parent_root"`
	StateRoot     string           `json:"state_root"`
	Body          *BeaconBlockBody `json:"body"`
}

func BeaconBlockFromConsensus

func BeaconBlockFromConsensus(b *eth.BeaconBlock) *BeaconBlock

func (*BeaconBlock) ToConsensus

func (b *BeaconBlock) ToConsensus() (*eth.BeaconBlock, error)

func (*BeaconBlock) ToGeneric

func (b *BeaconBlock) ToGeneric() (*eth.GenericBeaconBlock, error)

type BeaconBlockAltair

type BeaconBlockAltair struct {
	Slot          string                 `json:"slot"`
	ProposerIndex string                 `json:"proposer_index"`
	ParentRoot    string                 `json:"parent_root"`
	StateRoot     string                 `json:"state_root"`
	Body          *BeaconBlockBodyAltair `json:"body"`
}

func BeaconBlockAltairFromConsensus

func BeaconBlockAltairFromConsensus(b *eth.BeaconBlockAltair) *BeaconBlockAltair

func (*BeaconBlockAltair) ToConsensus

func (b *BeaconBlockAltair) ToConsensus() (*eth.BeaconBlockAltair, error)

func (*BeaconBlockAltair) ToGeneric

func (b *BeaconBlockAltair) ToGeneric() (*eth.GenericBeaconBlock, error)

type BeaconBlockBellatrix

type BeaconBlockBellatrix struct {
	Slot          string                    `json:"slot"`
	ProposerIndex string                    `json:"proposer_index"`
	ParentRoot    string                    `json:"parent_root"`
	StateRoot     string                    `json:"state_root"`
	Body          *BeaconBlockBodyBellatrix `json:"body"`
}

func BeaconBlockBellatrixFromConsensus

func BeaconBlockBellatrixFromConsensus(b *eth.BeaconBlockBellatrix) (*BeaconBlockBellatrix, error)

func (*BeaconBlockBellatrix) ToConsensus

func (b *BeaconBlockBellatrix) ToConsensus() (*eth.BeaconBlockBellatrix, error)

func (*BeaconBlockBellatrix) ToGeneric

func (b *BeaconBlockBellatrix) ToGeneric() (*eth.GenericBeaconBlock, error)

type BeaconBlockBody

type BeaconBlockBody struct {
	RandaoReveal      string                 `json:"randao_reveal"`
	Eth1Data          *Eth1Data              `json:"eth1_data"`
	Graffiti          string                 `json:"graffiti"`
	ProposerSlashings []*ProposerSlashing    `json:"proposer_slashings"`
	AttesterSlashings []*AttesterSlashing    `json:"attester_slashings"`
	Attestations      []*Attestation         `json:"attestations"`
	Deposits          []*Deposit             `json:"deposits"`
	VoluntaryExits    []*SignedVoluntaryExit `json:"voluntary_exits"`
}

type BeaconBlockBodyAltair

type BeaconBlockBodyAltair struct {
	RandaoReveal      string                 `json:"randao_reveal"`
	Eth1Data          *Eth1Data              `json:"eth1_data"`
	Graffiti          string                 `json:"graffiti"`
	ProposerSlashings []*ProposerSlashing    `json:"proposer_slashings"`
	AttesterSlashings []*AttesterSlashing    `json:"attester_slashings"`
	Attestations      []*Attestation         `json:"attestations"`
	Deposits          []*Deposit             `json:"deposits"`
	VoluntaryExits    []*SignedVoluntaryExit `json:"voluntary_exits"`
	SyncAggregate     *SyncAggregate         `json:"sync_aggregate"`
}

type BeaconBlockBodyBellatrix

type BeaconBlockBodyBellatrix struct {
	RandaoReveal      string                 `json:"randao_reveal"`
	Eth1Data          *Eth1Data              `json:"eth1_data"`
	Graffiti          string                 `json:"graffiti"`
	ProposerSlashings []*ProposerSlashing    `json:"proposer_slashings"`
	AttesterSlashings []*AttesterSlashing    `json:"attester_slashings"`
	Attestations      []*Attestation         `json:"attestations"`
	Deposits          []*Deposit             `json:"deposits"`
	VoluntaryExits    []*SignedVoluntaryExit `json:"voluntary_exits"`
	SyncAggregate     *SyncAggregate         `json:"sync_aggregate"`
	ExecutionPayload  *ExecutionPayload      `json:"execution_payload"`
}

type BeaconBlockBodyCapella

type BeaconBlockBodyCapella struct {
	RandaoReveal          string                        `json:"randao_reveal"`
	Eth1Data              *Eth1Data                     `json:"eth1_data"`
	Graffiti              string                        `json:"graffiti"`
	ProposerSlashings     []*ProposerSlashing           `json:"proposer_slashings"`
	AttesterSlashings     []*AttesterSlashing           `json:"attester_slashings"`
	Attestations          []*Attestation                `json:"attestations"`
	Deposits              []*Deposit                    `json:"deposits"`
	VoluntaryExits        []*SignedVoluntaryExit        `json:"voluntary_exits"`
	SyncAggregate         *SyncAggregate                `json:"sync_aggregate"`
	ExecutionPayload      *ExecutionPayloadCapella      `json:"execution_payload"`
	BLSToExecutionChanges []*SignedBLSToExecutionChange `json:"bls_to_execution_changes"`
}

type BeaconBlockBodyDeneb

type BeaconBlockBodyDeneb struct {
	RandaoReveal          string                        `json:"randao_reveal"`
	Eth1Data              *Eth1Data                     `json:"eth1_data"`
	Graffiti              string                        `json:"graffiti"`
	ProposerSlashings     []*ProposerSlashing           `json:"proposer_slashings"`
	AttesterSlashings     []*AttesterSlashing           `json:"attester_slashings"`
	Attestations          []*Attestation                `json:"attestations"`
	Deposits              []*Deposit                    `json:"deposits"`
	VoluntaryExits        []*SignedVoluntaryExit        `json:"voluntary_exits"`
	SyncAggregate         *SyncAggregate                `json:"sync_aggregate"`
	ExecutionPayload      *ExecutionPayloadDeneb        `json:"execution_payload"`
	BLSToExecutionChanges []*SignedBLSToExecutionChange `json:"bls_to_execution_changes"`
	BlobKzgCommitments    []string                      `json:"blob_kzg_commitments"`
}

type BeaconBlockBodyElectra added in v5.1.1

type BeaconBlockBodyElectra struct {
	RandaoReveal          string                        `json:"randao_reveal"`
	Eth1Data              *Eth1Data                     `json:"eth1_data"`
	Graffiti              string                        `json:"graffiti"`
	ProposerSlashings     []*ProposerSlashing           `json:"proposer_slashings"`
	AttesterSlashings     []*AttesterSlashingElectra    `json:"attester_slashings"`
	Attestations          []*AttestationElectra         `json:"attestations"`
	Deposits              []*Deposit                    `json:"deposits"`
	VoluntaryExits        []*SignedVoluntaryExit        `json:"voluntary_exits"`
	SyncAggregate         *SyncAggregate                `json:"sync_aggregate"`
	ExecutionPayload      *ExecutionPayloadElectra      `json:"execution_payload"`
	BLSToExecutionChanges []*SignedBLSToExecutionChange `json:"bls_to_execution_changes"`
	BlobKzgCommitments    []string                      `json:"blob_kzg_commitments"`
	ExecutionRequests     *ExecutionRequests            `json:"execution_requests"`
}

type BeaconBlockCapella

type BeaconBlockCapella struct {
	Slot          string                  `json:"slot"`
	ProposerIndex string                  `json:"proposer_index"`
	ParentRoot    string                  `json:"parent_root"`
	StateRoot     string                  `json:"state_root"`
	Body          *BeaconBlockBodyCapella `json:"body"`
}

func BeaconBlockCapellaFromConsensus

func BeaconBlockCapellaFromConsensus(b *eth.BeaconBlockCapella) (*BeaconBlockCapella, error)

func (*BeaconBlockCapella) ToConsensus

func (b *BeaconBlockCapella) ToConsensus() (*eth.BeaconBlockCapella, error)

func (*BeaconBlockCapella) ToGeneric

func (b *BeaconBlockCapella) ToGeneric() (*eth.GenericBeaconBlock, error)

type BeaconBlockContentsDeneb

type BeaconBlockContentsDeneb struct {
	Block     *BeaconBlockDeneb `json:"block"`
	KzgProofs []string          `json:"kzg_proofs"`
	Blobs     []string          `json:"blobs"`
}

func (*BeaconBlockContentsDeneb) ToConsensus

func (*BeaconBlockContentsDeneb) ToGeneric

type BeaconBlockContentsElectra added in v5.1.1

type BeaconBlockContentsElectra struct {
	Block     *BeaconBlockElectra `json:"block"`
	KzgProofs []string            `json:"kzg_proofs"`
	Blobs     []string            `json:"blobs"`
}

func BeaconBlockContentsElectraFromConsensus added in v5.1.1

func BeaconBlockContentsElectraFromConsensus(b *eth.BeaconBlockContentsElectra) (*BeaconBlockContentsElectra, error)

func (*BeaconBlockContentsElectra) ToConsensus added in v5.1.1

func (*BeaconBlockContentsElectra) ToGeneric added in v5.1.1

type BeaconBlockDeneb

type BeaconBlockDeneb struct {
	Slot          string                `json:"slot"`
	ProposerIndex string                `json:"proposer_index"`
	ParentRoot    string                `json:"parent_root"`
	StateRoot     string                `json:"state_root"`
	Body          *BeaconBlockBodyDeneb `json:"body"`
}

func BeaconBlockDenebFromConsensus

func BeaconBlockDenebFromConsensus(b *eth.BeaconBlockDeneb) (*BeaconBlockDeneb, error)

func (*BeaconBlockDeneb) ToConsensus

func (b *BeaconBlockDeneb) ToConsensus() (*eth.BeaconBlockDeneb, error)

type BeaconBlockElectra added in v5.1.1

type BeaconBlockElectra struct {
	Slot          string                  `json:"slot"`
	ProposerIndex string                  `json:"proposer_index"`
	ParentRoot    string                  `json:"parent_root"`
	StateRoot     string                  `json:"state_root"`
	Body          *BeaconBlockBodyElectra `json:"body"`
}

func BeaconBlockElectraFromConsensus added in v5.1.1

func BeaconBlockElectraFromConsensus(b *eth.BeaconBlockElectra) (*BeaconBlockElectra, error)

func (*BeaconBlockElectra) ToConsensus added in v5.1.1

func (b *BeaconBlockElectra) ToConsensus() (*eth.BeaconBlockElectra, error)

type BeaconBlockHeader

type BeaconBlockHeader struct {
	Slot          string `json:"slot"`
	ProposerIndex string `json:"proposer_index"`
	ParentRoot    string `json:"parent_root"`
	StateRoot     string `json:"state_root"`
	BodyRoot      string `json:"body_root"`
}

func BeaconBlockHeaderFromConsensus

func BeaconBlockHeaderFromConsensus(h *eth.BeaconBlockHeader) *BeaconBlockHeader

func (*BeaconBlockHeader) ToConsensus

func (h *BeaconBlockHeader) ToConsensus() (*eth.BeaconBlockHeader, error)

type BeaconCommitteeSubscription

type BeaconCommitteeSubscription struct {
	ValidatorIndex   string `json:"validator_index"`
	CommitteeIndex   string `json:"committee_index"`
	CommitteesAtSlot string `json:"committees_at_slot"`
	Slot             string `json:"slot"`
	IsAggregator     bool   `json:"is_aggregator"`
}

func (*BeaconCommitteeSubscription) ToConsensus

type BeaconState

type BeaconState struct {
	GenesisTime                 string                `json:"genesis_time"`
	GenesisValidatorsRoot       string                `json:"genesis_validators_root"`
	Slot                        string                `json:"slot"`
	Fork                        *Fork                 `json:"fork"`
	LatestBlockHeader           *BeaconBlockHeader    `json:"latest_block_header"`
	BlockRoots                  []string              `json:"block_roots"`
	StateRoots                  []string              `json:"state_roots"`
	HistoricalRoots             []string              `json:"historical_roots"`
	Eth1Data                    *Eth1Data             `json:"eth1_data"`
	Eth1DataVotes               []*Eth1Data           `json:"eth1_data_votes"`
	Eth1DepositIndex            string                `json:"eth1_deposit_index"`
	Validators                  []*Validator          `json:"validators"`
	Balances                    []string              `json:"balances"`
	RandaoMixes                 []string              `json:"randao_mixes"`
	Slashings                   []string              `json:"slashings"`
	PreviousEpochAttestations   []*PendingAttestation `json:"previous_epoch_attestations"`
	CurrentEpochAttestations    []*PendingAttestation `json:"current_epoch_attestations"`
	JustificationBits           string                `json:"justification_bits"`
	PreviousJustifiedCheckpoint *Checkpoint           `json:"previous_justified_checkpoint"`
	CurrentJustifiedCheckpoint  *Checkpoint           `json:"current_justified_checkpoint"`
	FinalizedCheckpoint         *Checkpoint           `json:"finalized_checkpoint"`
}

func BeaconStateFromConsensus

func BeaconStateFromConsensus(st beaconState.BeaconState) (*BeaconState, error)

type BeaconStateAltair

type BeaconStateAltair struct {
	GenesisTime                 string             `json:"genesis_time"`
	GenesisValidatorsRoot       string             `json:"genesis_validators_root"`
	Slot                        string             `json:"slot"`
	Fork                        *Fork              `json:"fork"`
	LatestBlockHeader           *BeaconBlockHeader `json:"latest_block_header"`
	BlockRoots                  []string           `json:"block_roots"`
	StateRoots                  []string           `json:"state_roots"`
	HistoricalRoots             []string           `json:"historical_roots"`
	Eth1Data                    *Eth1Data          `json:"eth1_data"`
	Eth1DataVotes               []*Eth1Data        `json:"eth1_data_votes"`
	Eth1DepositIndex            string             `json:"eth1_deposit_index"`
	Validators                  []*Validator       `json:"validators"`
	Balances                    []string           `json:"balances"`
	RandaoMixes                 []string           `json:"randao_mixes"`
	Slashings                   []string           `json:"slashings"`
	PreviousEpochParticipation  []string           `json:"previous_epoch_participation"`
	CurrentEpochParticipation   []string           `json:"current_epoch_participation"`
	JustificationBits           string             `json:"justification_bits"`
	PreviousJustifiedCheckpoint *Checkpoint        `json:"previous_justified_checkpoint"`
	CurrentJustifiedCheckpoint  *Checkpoint        `json:"current_justified_checkpoint"`
	FinalizedCheckpoint         *Checkpoint        `json:"finalized_checkpoint"`
	InactivityScores            []string           `json:"inactivity_scores"`
	CurrentSyncCommittee        *SyncCommittee     `json:"current_sync_committee"`
	NextSyncCommittee           *SyncCommittee     `json:"next_sync_committee"`
}

func BeaconStateAltairFromConsensus

func BeaconStateAltairFromConsensus(st beaconState.BeaconState) (*BeaconStateAltair, error)

type BeaconStateBellatrix

type BeaconStateBellatrix struct {
	GenesisTime                  string                  `json:"genesis_time"`
	GenesisValidatorsRoot        string                  `json:"genesis_validators_root"`
	Slot                         string                  `json:"slot"`
	Fork                         *Fork                   `json:"fork"`
	LatestBlockHeader            *BeaconBlockHeader      `json:"latest_block_header"`
	BlockRoots                   []string                `json:"block_roots"`
	StateRoots                   []string                `json:"state_roots"`
	HistoricalRoots              []string                `json:"historical_roots"`
	Eth1Data                     *Eth1Data               `json:"eth1_data"`
	Eth1DataVotes                []*Eth1Data             `json:"eth1_data_votes"`
	Eth1DepositIndex             string                  `json:"eth1_deposit_index"`
	Validators                   []*Validator            `json:"validators"`
	Balances                     []string                `json:"balances"`
	RandaoMixes                  []string                `json:"randao_mixes"`
	Slashings                    []string                `json:"slashings"`
	PreviousEpochParticipation   []string                `json:"previous_epoch_participation"`
	CurrentEpochParticipation    []string                `json:"current_epoch_participation"`
	JustificationBits            string                  `json:"justification_bits"`
	PreviousJustifiedCheckpoint  *Checkpoint             `json:"previous_justified_checkpoint"`
	CurrentJustifiedCheckpoint   *Checkpoint             `json:"current_justified_checkpoint"`
	FinalizedCheckpoint          *Checkpoint             `json:"finalized_checkpoint"`
	InactivityScores             []string                `json:"inactivity_scores"`
	CurrentSyncCommittee         *SyncCommittee          `json:"current_sync_committee"`
	NextSyncCommittee            *SyncCommittee          `json:"next_sync_committee"`
	LatestExecutionPayloadHeader *ExecutionPayloadHeader `json:"latest_execution_payload_header"`
}

func BeaconStateBellatrixFromConsensus

func BeaconStateBellatrixFromConsensus(st beaconState.BeaconState) (*BeaconStateBellatrix, error)

type BeaconStateCapella

type BeaconStateCapella struct {
	GenesisTime                  string                         `json:"genesis_time"`
	GenesisValidatorsRoot        string                         `json:"genesis_validators_root"`
	Slot                         string                         `json:"slot"`
	Fork                         *Fork                          `json:"fork"`
	LatestBlockHeader            *BeaconBlockHeader             `json:"latest_block_header"`
	BlockRoots                   []string                       `json:"block_roots"`
	StateRoots                   []string                       `json:"state_roots"`
	HistoricalRoots              []string                       `json:"historical_roots"`
	Eth1Data                     *Eth1Data                      `json:"eth1_data"`
	Eth1DataVotes                []*Eth1Data                    `json:"eth1_data_votes"`
	Eth1DepositIndex             string                         `json:"eth1_deposit_index"`
	Validators                   []*Validator                   `json:"validators"`
	Balances                     []string                       `json:"balances"`
	RandaoMixes                  []string                       `json:"randao_mixes"`
	Slashings                    []string                       `json:"slashings"`
	PreviousEpochParticipation   []string                       `json:"previous_epoch_participation"`
	CurrentEpochParticipation    []string                       `json:"current_epoch_participation"`
	JustificationBits            string                         `json:"justification_bits"`
	PreviousJustifiedCheckpoint  *Checkpoint                    `json:"previous_justified_checkpoint"`
	CurrentJustifiedCheckpoint   *Checkpoint                    `json:"current_justified_checkpoint"`
	FinalizedCheckpoint          *Checkpoint                    `json:"finalized_checkpoint"`
	InactivityScores             []string                       `json:"inactivity_scores"`
	CurrentSyncCommittee         *SyncCommittee                 `json:"current_sync_committee"`
	NextSyncCommittee            *SyncCommittee                 `json:"next_sync_committee"`
	LatestExecutionPayloadHeader *ExecutionPayloadHeaderCapella `json:"latest_execution_payload_header"`
	NextWithdrawalIndex          string                         `json:"next_withdrawal_index"`
	NextWithdrawalValidatorIndex string                         `json:"next_withdrawal_validator_index"`
	HistoricalSummaries          []*HistoricalSummary           `json:"historical_summaries"`
}

func BeaconStateCapellaFromConsensus

func BeaconStateCapellaFromConsensus(st beaconState.BeaconState) (*BeaconStateCapella, error)

type BeaconStateDeneb

type BeaconStateDeneb struct {
	GenesisTime                  string                       `json:"genesis_time"`
	GenesisValidatorsRoot        string                       `json:"genesis_validators_root"`
	Slot                         string                       `json:"slot"`
	Fork                         *Fork                        `json:"fork"`
	LatestBlockHeader            *BeaconBlockHeader           `json:"latest_block_header"`
	BlockRoots                   []string                     `json:"block_roots"`
	StateRoots                   []string                     `json:"state_roots"`
	HistoricalRoots              []string                     `json:"historical_roots"`
	Eth1Data                     *Eth1Data                    `json:"eth1_data"`
	Eth1DataVotes                []*Eth1Data                  `json:"eth1_data_votes"`
	Eth1DepositIndex             string                       `json:"eth1_deposit_index"`
	Validators                   []*Validator                 `json:"validators"`
	Balances                     []string                     `json:"balances"`
	RandaoMixes                  []string                     `json:"randao_mixes"`
	Slashings                    []string                     `json:"slashings"`
	PreviousEpochParticipation   []string                     `json:"previous_epoch_participation"`
	CurrentEpochParticipation    []string                     `json:"current_epoch_participation"`
	JustificationBits            string                       `json:"justification_bits"`
	PreviousJustifiedCheckpoint  *Checkpoint                  `json:"previous_justified_checkpoint"`
	CurrentJustifiedCheckpoint   *Checkpoint                  `json:"current_justified_checkpoint"`
	FinalizedCheckpoint          *Checkpoint                  `json:"finalized_checkpoint"`
	InactivityScores             []string                     `json:"inactivity_scores"`
	CurrentSyncCommittee         *SyncCommittee               `json:"current_sync_committee"`
	NextSyncCommittee            *SyncCommittee               `json:"next_sync_committee"`
	LatestExecutionPayloadHeader *ExecutionPayloadHeaderDeneb `json:"latest_execution_payload_header"`
	NextWithdrawalIndex          string                       `json:"next_withdrawal_index"`
	NextWithdrawalValidatorIndex string                       `json:"next_withdrawal_validator_index"`
	HistoricalSummaries          []*HistoricalSummary         `json:"historical_summaries"`
}

func BeaconStateDenebFromConsensus

func BeaconStateDenebFromConsensus(st beaconState.BeaconState) (*BeaconStateDeneb, error)

type BeaconStateElectra added in v5.1.1

type BeaconStateElectra struct {
	GenesisTime                   string                         `json:"genesis_time"`
	GenesisValidatorsRoot         string                         `json:"genesis_validators_root"`
	Slot                          string                         `json:"slot"`
	Fork                          *Fork                          `json:"fork"`
	LatestBlockHeader             *BeaconBlockHeader             `json:"latest_block_header"`
	BlockRoots                    []string                       `json:"block_roots"`
	StateRoots                    []string                       `json:"state_roots"`
	HistoricalRoots               []string                       `json:"historical_roots"`
	Eth1Data                      *Eth1Data                      `json:"eth1_data"`
	Eth1DataVotes                 []*Eth1Data                    `json:"eth1_data_votes"`
	Eth1DepositIndex              string                         `json:"eth1_deposit_index"`
	Validators                    []*Validator                   `json:"validators"`
	Balances                      []string                       `json:"balances"`
	RandaoMixes                   []string                       `json:"randao_mixes"`
	Slashings                     []string                       `json:"slashings"`
	PreviousEpochParticipation    []string                       `json:"previous_epoch_participation"`
	CurrentEpochParticipation     []string                       `json:"current_epoch_participation"`
	JustificationBits             string                         `json:"justification_bits"`
	PreviousJustifiedCheckpoint   *Checkpoint                    `json:"previous_justified_checkpoint"`
	CurrentJustifiedCheckpoint    *Checkpoint                    `json:"current_justified_checkpoint"`
	FinalizedCheckpoint           *Checkpoint                    `json:"finalized_checkpoint"`
	InactivityScores              []string                       `json:"inactivity_scores"`
	CurrentSyncCommittee          *SyncCommittee                 `json:"current_sync_committee"`
	NextSyncCommittee             *SyncCommittee                 `json:"next_sync_committee"`
	LatestExecutionPayloadHeader  *ExecutionPayloadHeaderElectra `json:"latest_execution_payload_header"`
	NextWithdrawalIndex           string                         `json:"next_withdrawal_index"`
	NextWithdrawalValidatorIndex  string                         `json:"next_withdrawal_validator_index"`
	HistoricalSummaries           []*HistoricalSummary           `json:"historical_summaries"`
	DepositRequestsStartIndex     string                         `json:"deposit_requests_start_index"`
	DepositBalanceToConsume       string                         `json:"deposit_balance_to_consume"`
	ExitBalanceToConsume          string                         `json:"exit_balance_to_consume"`
	EarliestExitEpoch             string                         `json:"earliest_exit_epoch"`
	ConsolidationBalanceToConsume string                         `json:"consolidation_balance_to_consume"`
	EarliestConsolidationEpoch    string                         `json:"earliest_consolidation_epoch"`
	PendingDeposits               []*PendingDeposit              `json:"pending_deposits"`
	PendingPartialWithdrawals     []*PendingPartialWithdrawal    `json:"pending_partial_withdrawals"`
	PendingConsolidations         []*PendingConsolidation        `json:"pending_consolidations"`
}

func BeaconStateElectraFromConsensus added in v5.1.1

func BeaconStateElectraFromConsensus(st beaconState.BeaconState) (*BeaconStateElectra, error)

type BlindedBeaconBlockBellatrix

type BlindedBeaconBlockBellatrix struct {
	Slot          string                           `json:"slot"`
	ProposerIndex string                           `json:"proposer_index"`
	ParentRoot    string                           `json:"parent_root"`
	StateRoot     string                           `json:"state_root"`
	Body          *BlindedBeaconBlockBodyBellatrix `json:"body"`
}

func (*BlindedBeaconBlockBellatrix) ToConsensus

func (*BlindedBeaconBlockBellatrix) ToGeneric

type BlindedBeaconBlockBodyBellatrix

type BlindedBeaconBlockBodyBellatrix struct {
	RandaoReveal           string                  `json:"randao_reveal"`
	Eth1Data               *Eth1Data               `json:"eth1_data"`
	Graffiti               string                  `json:"graffiti"`
	ProposerSlashings      []*ProposerSlashing     `json:"proposer_slashings"`
	AttesterSlashings      []*AttesterSlashing     `json:"attester_slashings"`
	Attestations           []*Attestation          `json:"attestations"`
	Deposits               []*Deposit              `json:"deposits"`
	VoluntaryExits         []*SignedVoluntaryExit  `json:"voluntary_exits"`
	SyncAggregate          *SyncAggregate          `json:"sync_aggregate"`
	ExecutionPayloadHeader *ExecutionPayloadHeader `json:"execution_payload_header"`
}

type BlindedBeaconBlockBodyCapella

type BlindedBeaconBlockBodyCapella struct {
	RandaoReveal           string                         `json:"randao_reveal"`
	Eth1Data               *Eth1Data                      `json:"eth1_data"`
	Graffiti               string                         `json:"graffiti"`
	ProposerSlashings      []*ProposerSlashing            `json:"proposer_slashings"`
	AttesterSlashings      []*AttesterSlashing            `json:"attester_slashings"`
	Attestations           []*Attestation                 `json:"attestations"`
	Deposits               []*Deposit                     `json:"deposits"`
	VoluntaryExits         []*SignedVoluntaryExit         `json:"voluntary_exits"`
	SyncAggregate          *SyncAggregate                 `json:"sync_aggregate"`
	ExecutionPayloadHeader *ExecutionPayloadHeaderCapella `json:"execution_payload_header"`
	BLSToExecutionChanges  []*SignedBLSToExecutionChange  `json:"bls_to_execution_changes"`
}

type BlindedBeaconBlockBodyDeneb

type BlindedBeaconBlockBodyDeneb struct {
	RandaoReveal           string                        `json:"randao_reveal"`
	Eth1Data               *Eth1Data                     `json:"eth1_data"`
	Graffiti               string                        `json:"graffiti"`
	ProposerSlashings      []*ProposerSlashing           `json:"proposer_slashings"`
	AttesterSlashings      []*AttesterSlashing           `json:"attester_slashings"`
	Attestations           []*Attestation                `json:"attestations"`
	Deposits               []*Deposit                    `json:"deposits"`
	VoluntaryExits         []*SignedVoluntaryExit        `json:"voluntary_exits"`
	SyncAggregate          *SyncAggregate                `json:"sync_aggregate"`
	ExecutionPayloadHeader *ExecutionPayloadHeaderDeneb  `json:"execution_payload_header"`
	BLSToExecutionChanges  []*SignedBLSToExecutionChange `json:"bls_to_execution_changes"`
	BlobKzgCommitments     []string                      `json:"blob_kzg_commitments"`
}

type BlindedBeaconBlockBodyElectra added in v5.1.1

type BlindedBeaconBlockBodyElectra struct {
	RandaoReveal           string                         `json:"randao_reveal"`
	Eth1Data               *Eth1Data                      `json:"eth1_data"`
	Graffiti               string                         `json:"graffiti"`
	ProposerSlashings      []*ProposerSlashing            `json:"proposer_slashings"`
	AttesterSlashings      []*AttesterSlashingElectra     `json:"attester_slashings"`
	Attestations           []*AttestationElectra          `json:"attestations"`
	Deposits               []*Deposit                     `json:"deposits"`
	VoluntaryExits         []*SignedVoluntaryExit         `json:"voluntary_exits"`
	SyncAggregate          *SyncAggregate                 `json:"sync_aggregate"`
	ExecutionPayloadHeader *ExecutionPayloadHeaderElectra `json:"execution_payload_header"`
	BLSToExecutionChanges  []*SignedBLSToExecutionChange  `json:"bls_to_execution_changes"`
	BlobKzgCommitments     []string                       `json:"blob_kzg_commitments"`
	ExecutionRequests      *ExecutionRequests             `json:"execution_requests"`
}

type BlindedBeaconBlockCapella

type BlindedBeaconBlockCapella struct {
	Slot          string                         `json:"slot"`
	ProposerIndex string                         `json:"proposer_index"`
	ParentRoot    string                         `json:"parent_root"`
	StateRoot     string                         `json:"state_root"`
	Body          *BlindedBeaconBlockBodyCapella `json:"body"`
}

func (*BlindedBeaconBlockCapella) ToConsensus

func (*BlindedBeaconBlockCapella) ToGeneric

type BlindedBeaconBlockDeneb

type BlindedBeaconBlockDeneb struct {
	Slot          string                       `json:"slot"`
	ProposerIndex string                       `json:"proposer_index"`
	ParentRoot    string                       `json:"parent_root"`
	StateRoot     string                       `json:"state_root"`
	Body          *BlindedBeaconBlockBodyDeneb `json:"body"`
}

func BlindedBeaconBlockDenebFromConsensus

func BlindedBeaconBlockDenebFromConsensus(b *eth.BlindedBeaconBlockDeneb) (*BlindedBeaconBlockDeneb, error)

func (*BlindedBeaconBlockDeneb) ToConsensus

func (*BlindedBeaconBlockDeneb) ToGeneric

type BlindedBeaconBlockElectra added in v5.1.1

type BlindedBeaconBlockElectra struct {
	Slot          string                         `json:"slot"`
	ProposerIndex string                         `json:"proposer_index"`
	ParentRoot    string                         `json:"parent_root"`
	StateRoot     string                         `json:"state_root"`
	Body          *BlindedBeaconBlockBodyElectra `json:"body"`
}

func BlindedBeaconBlockElectraFromConsensus added in v5.1.1

func BlindedBeaconBlockElectraFromConsensus(b *eth.BlindedBeaconBlockElectra) (*BlindedBeaconBlockElectra, error)

func (*BlindedBeaconBlockElectra) ToConsensus added in v5.1.1

func (*BlindedBeaconBlockElectra) ToGeneric added in v5.1.1

type BlobSidecarEvent

type BlobSidecarEvent struct {
	BlockRoot     string `json:"block_root"`
	Index         string `json:"index"`
	Slot          string `json:"slot"`
	KzgCommitment string `json:"kzg_commitment"`
	VersionedHash string `json:"versioned_hash"`
}

type BlobSidecars added in v5.1.1

type BlobSidecars struct {
	Sidecars []*Sidecar `json:"sidecars"`
}

type BlockEvent

type BlockEvent struct {
	Slot                string `json:"slot"`
	Block               string `json:"block"`
	ExecutionOptimistic bool   `json:"execution_optimistic"`
}

type BlockRewards

type BlockRewards struct {
	ProposerIndex     string `json:"proposer_index"`
	Total             string `json:"total"`
	Attestations      string `json:"attestations"`
	SyncAggregate     string `json:"sync_aggregate"`
	ProposerSlashings string `json:"proposer_slashings"`
	AttesterSlashings string `json:"attester_slashings"`
}

type BlockRewardsResponse

type BlockRewardsResponse struct {
	Data                *BlockRewards `json:"data"`
	ExecutionOptimistic bool          `json:"execution_optimistic"`
	Finalized           bool          `json:"finalized"`
}

type BlockRoot

type BlockRoot struct {
	Root string `json:"root"`
}

type BlockRootResponse

type BlockRootResponse struct {
	Data                *BlockRoot `json:"data"`
	ExecutionOptimistic bool       `json:"execution_optimistic"`
	Finalized           bool       `json:"finalized"`
}

type ChainHead added in v5.1.0

type ChainHead struct {
	HeadSlot                   string `json:"head_slot"`
	HeadEpoch                  string `json:"head_epoch"`
	HeadBlockRoot              string `json:"head_block_root"`
	FinalizedSlot              string `json:"finalized_slot"`
	FinalizedEpoch             string `json:"finalized_epoch"`
	FinalizedBlockRoot         string `json:"finalized_block_root"`
	JustifiedSlot              string `json:"justified_slot"`
	JustifiedEpoch             string `json:"justified_epoch"`
	JustifiedBlockRoot         string `json:"justified_block_root"`
	PreviousJustifiedSlot      string `json:"previous_justified_slot"`
	PreviousJustifiedEpoch     string `json:"previous_justified_epoch"`
	PreviousJustifiedBlockRoot string `json:"previous_justified_block_root"`
	OptimisticStatus           bool   `json:"optimistic_status"`
}

type ChainReorgEvent

type ChainReorgEvent struct {
	Slot                string `json:"slot"`
	Depth               string `json:"depth"`
	OldHeadBlock        string `json:"old_head_block"`
	NewHeadBlock        string `json:"old_head_state"`
	OldHeadState        string `json:"new_head_block"`
	NewHeadState        string `json:"new_head_state"`
	Epoch               string `json:"epoch"`
	ExecutionOptimistic bool   `json:"execution_optimistic"`
}

func EventChainReorgFromV1 added in v5.1.1

func EventChainReorgFromV1(event *ethv1.EventChainReorg) *ChainReorgEvent

type Checkpoint

type Checkpoint struct {
	Epoch string `json:"epoch"`
	Root  string `json:"root"`
}

func CheckpointFromConsensus

func CheckpointFromConsensus(c *eth.Checkpoint) *Checkpoint

func (*Checkpoint) ToConsensus

func (c *Checkpoint) ToConsensus() (*eth.Checkpoint, error)

type Committee

type Committee struct {
	Index      string   `json:"index"`
	Slot       string   `json:"slot"`
	Validators []string `json:"validators"`
}

type ConsolidationRequest added in v5.1.1

type ConsolidationRequest struct {
	SourceAddress string `json:"source_address"`
	SourcePubkey  string `json:"source_pubkey"`
	TargetPubkey  string `json:"target_pubkey"`
}

func ConsolidationRequestFromConsensus added in v5.1.1

func ConsolidationRequestFromConsensus(c *enginev1.ConsolidationRequest) *ConsolidationRequest

func ConsolidationRequestsFromConsensus added in v5.1.1

func ConsolidationRequestsFromConsensus(cs []*enginev1.ConsolidationRequest) []*ConsolidationRequest

func (*ConsolidationRequest) ToConsensus added in v5.1.1

type ContributionAndProof

type ContributionAndProof struct {
	AggregatorIndex string                     `json:"aggregator_index"`
	Contribution    *SyncCommitteeContribution `json:"contribution"`
	SelectionProof  string                     `json:"selection_proof"`
}

func ContributionAndProofFromConsensus

func ContributionAndProofFromConsensus(c *eth.ContributionAndProof) *ContributionAndProof

func (*ContributionAndProof) ToConsensus

func (c *ContributionAndProof) ToConsensus() (*eth.ContributionAndProof, error)

type Deposit

type Deposit struct {
	Proof []string     `json:"proof"`
	Data  *DepositData `json:"data"`
}

func DepositsFromConsensus

func DepositsFromConsensus(src []*eth.Deposit) []*Deposit

type DepositContractData

type DepositContractData struct {
	ChainId string `json:"chain_id"`
	Address string `json:"address"`
}

type DepositData

type DepositData struct {
	Pubkey                string `json:"pubkey"`
	WithdrawalCredentials string `json:"withdrawal_credentials"`
	Amount                string `json:"amount"`
	Signature             string `json:"signature"`
}

type DepositRequest added in v5.1.1

type DepositRequest struct {
	Pubkey                string `json:"pubkey"`
	WithdrawalCredentials string `json:"withdrawal_credentials"`
	Amount                string `json:"amount"`
	Signature             string `json:"signature"`
	Index                 string `json:"index"`
}

func DepositRequestFromConsensus added in v5.1.1

func DepositRequestFromConsensus(d *enginev1.DepositRequest) *DepositRequest

func DepositRequestsFromConsensus added in v5.1.1

func DepositRequestsFromConsensus(ds []*enginev1.DepositRequest) []*DepositRequest

func (*DepositRequest) ToConsensus added in v5.1.1

func (d *DepositRequest) ToConsensus() (*enginev1.DepositRequest, error)

type DepositSnapshot

type DepositSnapshot struct {
	Finalized            []string `json:"finalized"`
	DepositRoot          string   `json:"deposit_root"`
	DepositCount         string   `json:"deposit_count"`
	ExecutionBlockHash   string   `json:"execution_block_hash"`
	ExecutionBlockHeight string   `json:"execution_block_height"`
}

func DepositSnapshotFromConsensus

func DepositSnapshotFromConsensus(ds *eth.DepositSnapshot) *DepositSnapshot

type Eth1Data

type Eth1Data struct {
	DepositRoot  string `json:"deposit_root"`
	DepositCount string `json:"deposit_count"`
	BlockHash    string `json:"block_hash"`
}

func Eth1DataFromConsensus

func Eth1DataFromConsensus(e1d *eth.Eth1Data) *Eth1Data

type ExecutionPayload

type ExecutionPayload struct {
	ParentHash    string   `json:"parent_hash"`
	FeeRecipient  string   `json:"fee_recipient"`
	StateRoot     string   `json:"state_root"`
	ReceiptsRoot  string   `json:"receipts_root"`
	LogsBloom     string   `json:"logs_bloom"`
	PrevRandao    string   `json:"prev_randao"`
	BlockNumber   string   `json:"block_number"`
	GasLimit      string   `json:"gas_limit"`
	GasUsed       string   `json:"gas_used"`
	Timestamp     string   `json:"timestamp"`
	ExtraData     string   `json:"extra_data"`
	BaseFeePerGas string   `json:"base_fee_per_gas"`
	BlockHash     string   `json:"block_hash"`
	Transactions  []string `json:"transactions"`
}

func ExecutionPayloadFromConsensus added in v5.1.1

func ExecutionPayloadFromConsensus(payload *enginev1.ExecutionPayload) (*ExecutionPayload, error)

type ExecutionPayloadCapella

type ExecutionPayloadCapella struct {
	ParentHash    string        `json:"parent_hash"`
	FeeRecipient  string        `json:"fee_recipient"`
	StateRoot     string        `json:"state_root"`
	ReceiptsRoot  string        `json:"receipts_root"`
	LogsBloom     string        `json:"logs_bloom"`
	PrevRandao    string        `json:"prev_randao"`
	BlockNumber   string        `json:"block_number"`
	GasLimit      string        `json:"gas_limit"`
	GasUsed       string        `json:"gas_used"`
	Timestamp     string        `json:"timestamp"`
	ExtraData     string        `json:"extra_data"`
	BaseFeePerGas string        `json:"base_fee_per_gas"`
	BlockHash     string        `json:"block_hash"`
	Transactions  []string      `json:"transactions"`
	Withdrawals   []*Withdrawal `json:"withdrawals"`
}

func ExecutionPayloadCapellaFromConsensus added in v5.1.1

func ExecutionPayloadCapellaFromConsensus(payload *enginev1.ExecutionPayloadCapella) (*ExecutionPayloadCapella, error)

type ExecutionPayloadDeneb

type ExecutionPayloadDeneb struct {
	ParentHash    string        `json:"parent_hash"`
	FeeRecipient  string        `json:"fee_recipient"`
	StateRoot     string        `json:"state_root"`
	ReceiptsRoot  string        `json:"receipts_root"`
	LogsBloom     string        `json:"logs_bloom"`
	PrevRandao    string        `json:"prev_randao"`
	BlockNumber   string        `json:"block_number"`
	GasLimit      string        `json:"gas_limit"`
	GasUsed       string        `json:"gas_used"`
	Timestamp     string        `json:"timestamp"`
	ExtraData     string        `json:"extra_data"`
	BaseFeePerGas string        `json:"base_fee_per_gas"`
	BlockHash     string        `json:"block_hash"`
	Transactions  []string      `json:"transactions"`
	Withdrawals   []*Withdrawal `json:"withdrawals"`
	BlobGasUsed   string        `json:"blob_gas_used"`
	ExcessBlobGas string        `json:"excess_blob_gas"`
}

func ExecutionPayloadDenebFromConsensus added in v5.1.1

func ExecutionPayloadDenebFromConsensus(payload *enginev1.ExecutionPayloadDeneb) (*ExecutionPayloadDeneb, error)

type ExecutionPayloadElectra added in v5.1.1

type ExecutionPayloadElectra = ExecutionPayloadDeneb

type ExecutionPayloadHeader

type ExecutionPayloadHeader struct {
	ParentHash       string `json:"parent_hash"`
	FeeRecipient     string `json:"fee_recipient"`
	StateRoot        string `json:"state_root"`
	ReceiptsRoot     string `json:"receipts_root"`
	LogsBloom        string `json:"logs_bloom"`
	PrevRandao       string `json:"prev_randao"`
	BlockNumber      string `json:"block_number"`
	GasLimit         string `json:"gas_limit"`
	GasUsed          string `json:"gas_used"`
	Timestamp        string `json:"timestamp"`
	ExtraData        string `json:"extra_data"`
	BaseFeePerGas    string `json:"base_fee_per_gas"`
	BlockHash        string `json:"block_hash"`
	TransactionsRoot string `json:"transactions_root"`
}

func ExecutionPayloadHeaderFromConsensus

func ExecutionPayloadHeaderFromConsensus(payload *enginev1.ExecutionPayloadHeader) (*ExecutionPayloadHeader, error)

type ExecutionPayloadHeaderCapella

type ExecutionPayloadHeaderCapella struct {
	ParentHash       string `json:"parent_hash"`
	FeeRecipient     string `json:"fee_recipient"`
	StateRoot        string `json:"state_root"`
	ReceiptsRoot     string `json:"receipts_root"`
	LogsBloom        string `json:"logs_bloom"`
	PrevRandao       string `json:"prev_randao"`
	BlockNumber      string `json:"block_number"`
	GasLimit         string `json:"gas_limit"`
	GasUsed          string `json:"gas_used"`
	Timestamp        string `json:"timestamp"`
	ExtraData        string `json:"extra_data"`
	BaseFeePerGas    string `json:"base_fee_per_gas"`
	BlockHash        string `json:"block_hash"`
	TransactionsRoot string `json:"transactions_root"`
	WithdrawalsRoot  string `json:"withdrawals_root"`
}

type ExecutionPayloadHeaderDeneb

type ExecutionPayloadHeaderDeneb struct {
	ParentHash       string `json:"parent_hash"`
	FeeRecipient     string `json:"fee_recipient"`
	StateRoot        string `json:"state_root"`
	ReceiptsRoot     string `json:"receipts_root"`
	LogsBloom        string `json:"logs_bloom"`
	PrevRandao       string `json:"prev_randao"`
	BlockNumber      string `json:"block_number"`
	GasLimit         string `json:"gas_limit"`
	GasUsed          string `json:"gas_used"`
	Timestamp        string `json:"timestamp"`
	ExtraData        string `json:"extra_data"`
	BaseFeePerGas    string `json:"base_fee_per_gas"`
	BlockHash        string `json:"block_hash"`
	TransactionsRoot string `json:"transactions_root"`
	WithdrawalsRoot  string `json:"withdrawals_root"`
	BlobGasUsed      string `json:"blob_gas_used"`
	ExcessBlobGas    string `json:"excess_blob_gas"`
}

type ExecutionPayloadHeaderElectra added in v5.1.1

type ExecutionPayloadHeaderElectra = ExecutionPayloadHeaderDeneb

type ExecutionRequests added in v5.1.1

type ExecutionRequests struct {
	Deposits       []*DepositRequest       `json:"deposits"`
	Withdrawals    []*WithdrawalRequest    `json:"withdrawals"`
	Consolidations []*ConsolidationRequest `json:"consolidations"`
}

func ExecutionRequestsFromConsensus added in v5.1.1

func ExecutionRequestsFromConsensus(er *enginev1.ExecutionRequests) *ExecutionRequests

type ExpectedWithdrawal

type ExpectedWithdrawal struct {
	Address        string `json:"address" hex:"true"`
	Amount         string `json:"amount"`
	Index          string `json:"index"`
	ValidatorIndex string `json:"validator_index"`
}

type ExpectedWithdrawalsResponse

type ExpectedWithdrawalsResponse struct {
	Data                []*ExpectedWithdrawal `json:"data"`
	ExecutionOptimistic bool                  `json:"execution_optimistic"`
	Finalized           bool                  `json:"finalized"`
}

type FeeRecipient

type FeeRecipient struct {
	ValidatorIndex string `json:"validator_index"`
	FeeRecipient   string `json:"fee_recipient"`
}

type FinalityCheckpoints

type FinalityCheckpoints struct {
	PreviousJustified *Checkpoint `json:"previous_justified"`
	CurrentJustified  *Checkpoint `json:"current_justified"`
	Finalized         *Checkpoint `json:"finalized"`
}

type FinalizedCheckpointEvent

type FinalizedCheckpointEvent struct {
	Block               string `json:"block"`
	State               string `json:"state"`
	Epoch               string `json:"epoch"`
	ExecutionOptimistic bool   `json:"execution_optimistic"`
}

func FinalizedCheckpointEventFromV1 added in v5.1.1

func FinalizedCheckpointEventFromV1(event *ethv1.EventFinalizedCheckpoint) *FinalizedCheckpointEvent

type Fork

type Fork struct {
	PreviousVersion string `json:"previous_version"`
	CurrentVersion  string `json:"current_version"`
	Epoch           string `json:"epoch"`
}

func ForkFromConsensus

func ForkFromConsensus(f *eth.Fork) *Fork

func (*Fork) ToConsensus

func (s *Fork) ToConsensus() (*eth.Fork, error)

type ForkChoiceDumpExtraData

type ForkChoiceDumpExtraData struct {
	UnrealizedJustifiedCheckpoint *Checkpoint `json:"unrealized_justified_checkpoint"`
	UnrealizedFinalizedCheckpoint *Checkpoint `json:"unrealized_finalized_checkpoint"`
	ProposerBoostRoot             string      `json:"proposer_boost_root"`
	PreviousProposerBoostRoot     string      `json:"previous_proposer_boost_root"`
	HeadRoot                      string      `json:"head_root"`
}

type ForkChoiceHead

type ForkChoiceHead struct {
	Root                string `json:"root"`
	Slot                string `json:"slot"`
	ExecutionOptimistic bool   `json:"execution_optimistic"`
}

type ForkChoiceNode

type ForkChoiceNode struct {
	Slot               string                   `json:"slot"`
	BlockRoot          string                   `json:"block_root"`
	ParentRoot         string                   `json:"parent_root"`
	JustifiedEpoch     string                   `json:"justified_epoch"`
	FinalizedEpoch     string                   `json:"finalized_epoch"`
	Weight             string                   `json:"weight"`
	Validity           string                   `json:"validity"`
	ExecutionBlockHash string                   `json:"execution_block_hash"`
	ExtraData          *ForkChoiceNodeExtraData `json:"extra_data"`
}

type ForkChoiceNodeExtraData

type ForkChoiceNodeExtraData struct {
	UnrealizedJustifiedEpoch string `json:"unrealized_justified_epoch"`
	UnrealizedFinalizedEpoch string `json:"unrealized_finalized_epoch"`
	Balance                  string `json:"balance"`
	ExecutionOptimistic      bool   `json:"execution_optimistic"`
	TimeStamp                string `json:"timestamp"`
}

type Genesis

type Genesis struct {
	GenesisTime           string `json:"genesis_time"`
	GenesisValidatorsRoot string `json:"genesis_validators_root"`
	GenesisForkVersion    string `json:"genesis_fork_version"`
}

type GetAttestationDataResponse

type GetAttestationDataResponse struct {
	Data *AttestationData `json:"data"`
}

type GetAttesterDutiesResponse

type GetAttesterDutiesResponse struct {
	DependentRoot       string          `json:"dependent_root"`
	ExecutionOptimistic bool            `json:"execution_optimistic"`
	Data                []*AttesterDuty `json:"data"`
}

type GetAttesterSlashingsResponse

type GetAttesterSlashingsResponse struct {
	Version string          `json:"version,omitempty"`
	Data    json.RawMessage `json:"data"` // Accepts both `[]*AttesterSlashing` and `[]*AttesterSlashingElectra` types
}

type GetBeaconStateV2Response

type GetBeaconStateV2Response struct {
	Version             string          `json:"version"`
	ExecutionOptimistic bool            `json:"execution_optimistic"`
	Finalized           bool            `json:"finalized"`
	Data                json.RawMessage `json:"data"` // represents the state values based on the version
}

type GetBlockAttestationsResponse

type GetBlockAttestationsResponse struct {
	ExecutionOptimistic bool           `json:"execution_optimistic"`
	Finalized           bool           `json:"finalized"`
	Data                []*Attestation `json:"data"`
}

type GetBlockAttestationsV2Response added in v5.2.0

type GetBlockAttestationsV2Response struct {
	Version             string          `json:"version"`
	ExecutionOptimistic bool            `json:"execution_optimistic"`
	Finalized           bool            `json:"finalized"`
	Data                json.RawMessage `json:"data"` // Accepts both `Attestation` and `AttestationElectra` types
}

type GetBlockHeaderResponse

type GetBlockHeaderResponse struct {
	ExecutionOptimistic bool                              `json:"execution_optimistic"`
	Finalized           bool                              `json:"finalized"`
	Data                *SignedBeaconBlockHeaderContainer `json:"data"`
}

type GetBlockHeadersResponse

type GetBlockHeadersResponse struct {
	Data                []*SignedBeaconBlockHeaderContainer `json:"data"`
	ExecutionOptimistic bool                                `json:"execution_optimistic"`
	Finalized           bool                                `json:"finalized"`
}

type GetBlockResponse

type GetBlockResponse struct {
	Data *SignedBlock `json:"data"`
}

type GetBlockV2Response

type GetBlockV2Response struct {
	Version             string       `json:"version"`
	ExecutionOptimistic bool         `json:"execution_optimistic"`
	Finalized           bool         `json:"finalized"`
	Data                *SignedBlock `json:"data"`
}

type GetCommitteesResponse

type GetCommitteesResponse struct {
	Data                []*Committee `json:"data"`
	ExecutionOptimistic bool         `json:"execution_optimistic"`
	Finalized           bool         `json:"finalized"`
}

type GetDepositContractResponse

type GetDepositContractResponse struct {
	Data *DepositContractData `json:"data"`
}

type GetDepositSnapshotResponse

type GetDepositSnapshotResponse struct {
	Data *DepositSnapshot `json:"data"`
}

type GetFinalityCheckpointsResponse

type GetFinalityCheckpointsResponse struct {
	ExecutionOptimistic bool                 `json:"execution_optimistic"`
	Finalized           bool                 `json:"finalized"`
	Data                *FinalityCheckpoints `json:"data"`
}

type GetForkChoiceDumpResponse

type GetForkChoiceDumpResponse struct {
	JustifiedCheckpoint *Checkpoint              `json:"justified_checkpoint"`
	FinalizedCheckpoint *Checkpoint              `json:"finalized_checkpoint"`
	ForkChoiceNodes     []*ForkChoiceNode        `json:"fork_choice_nodes"`
	ExtraData           *ForkChoiceDumpExtraData `json:"extra_data"`
}

type GetForkChoiceHeadsV2Response

type GetForkChoiceHeadsV2Response struct {
	Data []*ForkChoiceHead `json:"data"`
}

type GetForkScheduleResponse

type GetForkScheduleResponse struct {
	Data []*Fork `json:"data"`
}

type GetGenesisResponse

type GetGenesisResponse struct {
	Data *Genesis `json:"data"`
}

type GetIdentityResponse

type GetIdentityResponse struct {
	Data *Identity `json:"data"`
}

type GetIndividualVotesRequest added in v5.1.0

type GetIndividualVotesRequest struct {
	Epoch      string   `json:"epoch"`
	PublicKeys []string `json:"public_keys,omitempty"`
	Indices    []string `json:"indices,omitempty"`
}

type GetIndividualVotesResponse added in v5.1.0

type GetIndividualVotesResponse struct {
	IndividualVotes []*IndividualVote `json:"individual_votes"`
}

type GetLivenessResponse

type GetLivenessResponse struct {
	Data []*Liveness `json:"data"`
}

type GetPeerCountResponse

type GetPeerCountResponse struct {
	Data *PeerCount `json:"data"`
}

type GetPeerResponse

type GetPeerResponse struct {
	Data *Peer `json:"data"`
}

type GetPeersResponse

type GetPeersResponse struct {
	Data []*Peer `json:"data"`
}

type GetProposerDutiesResponse

type GetProposerDutiesResponse struct {
	DependentRoot       string          `json:"dependent_root"`
	ExecutionOptimistic bool            `json:"execution_optimistic"`
	Data                []*ProposerDuty `json:"data"`
}

type GetProposerSlashingsResponse

type GetProposerSlashingsResponse struct {
	Data []*ProposerSlashing `json:"data"`
}

type GetRandaoResponse

type GetRandaoResponse struct {
	ExecutionOptimistic bool    `json:"execution_optimistic"`
	Finalized           bool    `json:"finalized"`
	Data                *Randao `json:"data"`
}

type GetSpecResponse

type GetSpecResponse struct {
	Data interface{} `json:"data"`
}

type GetStateForkResponse

type GetStateForkResponse struct {
	Data                *Fork `json:"data"`
	ExecutionOptimistic bool  `json:"execution_optimistic"`
	Finalized           bool  `json:"finalized"`
}

type GetStateRootResponse

type GetStateRootResponse struct {
	ExecutionOptimistic bool       `json:"execution_optimistic"`
	Finalized           bool       `json:"finalized"`
	Data                *StateRoot `json:"data"`
}

type GetSyncCommitteeDutiesResponse

type GetSyncCommitteeDutiesResponse struct {
	ExecutionOptimistic bool                 `json:"execution_optimistic"`
	Data                []*SyncCommitteeDuty `json:"data"`
}

type GetSyncCommitteeResponse

type GetSyncCommitteeResponse struct {
	ExecutionOptimistic bool                     `json:"execution_optimistic"`
	Finalized           bool                     `json:"finalized"`
	Data                *SyncCommitteeValidators `json:"data"`
}

type GetValidatorBalancesResponse

type GetValidatorBalancesResponse struct {
	ExecutionOptimistic bool                `json:"execution_optimistic"`
	Finalized           bool                `json:"finalized"`
	Data                []*ValidatorBalance `json:"data"`
}

type GetValidatorCountResponse

type GetValidatorCountResponse struct {
	ExecutionOptimistic string            `json:"execution_optimistic"`
	Finalized           string            `json:"finalized"`
	Data                []*ValidatorCount `json:"data"`
}

type GetValidatorParticipationResponse added in v5.1.0

type GetValidatorParticipationResponse struct {
	Epoch         string                  `json:"epoch"`
	Finalized     bool                    `json:"finalized"`
	Participation *ValidatorParticipation `json:"participation"`
}

type GetValidatorPerformanceRequest

type GetValidatorPerformanceRequest struct {
	PublicKeys [][]byte                    `json:"public_keys,omitempty"`
	Indices    []primitives.ValidatorIndex `json:"indices,omitempty"`
}

type GetValidatorPerformanceResponse

type GetValidatorPerformanceResponse struct {
	PublicKeys                    [][]byte `json:"public_keys,omitempty"`
	CorrectlyVotedSource          []bool   `json:"correctly_voted_source,omitempty"`
	CorrectlyVotedTarget          []bool   `json:"correctly_voted_target,omitempty"`
	CorrectlyVotedHead            []bool   `json:"correctly_voted_head,omitempty"`
	CurrentEffectiveBalances      []uint64 `json:"current_effective_balances,omitempty"`
	BalancesBeforeEpochTransition []uint64 `json:"balances_before_epoch_transition,omitempty"`
	BalancesAfterEpochTransition  []uint64 `json:"balances_after_epoch_transition,omitempty"`
	MissingValidators             [][]byte `json:"missing_validators,omitempty"`
	InactivityScores              []uint64 `json:"inactivity_scores,omitempty"`
}

type GetValidatorResponse

type GetValidatorResponse struct {
	ExecutionOptimistic bool                `json:"execution_optimistic"`
	Finalized           bool                `json:"finalized"`
	Data                *ValidatorContainer `json:"data"`
}

type GetValidatorsRequest

type GetValidatorsRequest struct {
	Ids      []string `json:"ids"`
	Statuses []string `json:"statuses"`
}

type GetValidatorsResponse

type GetValidatorsResponse struct {
	ExecutionOptimistic bool                  `json:"execution_optimistic"`
	Finalized           bool                  `json:"finalized"`
	Data                []*ValidatorContainer `json:"data"`
}

type GetVersionResponse

type GetVersionResponse struct {
	Data *Version `json:"data"`
}

type GetWeakSubjectivityResponse

type GetWeakSubjectivityResponse struct {
	Data *WeakSubjectivityData `json:"data"`
}

type HeadEvent

type HeadEvent struct {
	Slot                      string `json:"slot"`
	Block                     string `json:"block"`
	State                     string `json:"state"`
	EpochTransition           bool   `json:"epoch_transition"`
	ExecutionOptimistic       bool   `json:"execution_optimistic"`
	PreviousDutyDependentRoot string `json:"previous_duty_dependent_root"`
	CurrentDutyDependentRoot  string `json:"current_duty_dependent_root"`
}

func HeadEventFromV1 added in v5.1.1

func HeadEventFromV1(event *ethv1.EventHead) *HeadEvent

type HistoricalSummary

type HistoricalSummary struct {
	BlockSummaryRoot string `json:"block_summary_root"`
	StateSummaryRoot string `json:"state_summary_root"`
}

func HistoricalSummaryFromConsensus

func HistoricalSummaryFromConsensus(s *eth.HistoricalSummary) *HistoricalSummary

type IdealAttestationReward

type IdealAttestationReward struct {
	EffectiveBalance string `json:"effective_balance"`
	Head             string `json:"head"`
	Target           string `json:"target"`
	Source           string `json:"source"`
	Inactivity       string `json:"inactivity"`
}

type Identity

type Identity struct {
	PeerId             string    `json:"peer_id"`
	Enr                string    `json:"enr"`
	P2PAddresses       []string  `json:"p2p_addresses"`
	DiscoveryAddresses []string  `json:"discovery_addresses"`
	Metadata           *Metadata `json:"metadata"`
}

type IndexedAttestation

type IndexedAttestation struct {
	AttestingIndices []string         `json:"attesting_indices"`
	Data             *AttestationData `json:"data"`
	Signature        string           `json:"signature"`
}

func (*IndexedAttestation) ToConsensus

func (a *IndexedAttestation) ToConsensus() (*eth.IndexedAttestation, error)

type IndexedAttestationElectra added in v5.1.1

type IndexedAttestationElectra struct {
	AttestingIndices []string         `json:"attesting_indices"`
	Data             *AttestationData `json:"data"`
	Signature        string           `json:"signature"`
}

func (*IndexedAttestationElectra) ToConsensus added in v5.1.1

type IndividualVote added in v5.1.0

type IndividualVote struct {
	Epoch                            string `json:"epoch"`
	PublicKey                        string `json:"public_keys,omitempty"`
	ValidatorIndex                   string `json:"validator_index"`
	IsSlashed                        bool   `json:"is_slashed"`
	IsWithdrawableInCurrentEpoch     bool   `json:"is_withdrawable_in_current_epoch"`
	IsActiveInCurrentEpoch           bool   `json:"is_active_in_current_epoch"`
	IsActiveInPreviousEpoch          bool   `json:"is_active_in_previous_epoch"`
	IsCurrentEpochAttester           bool   `json:"is_current_epoch_attester"`
	IsCurrentEpochTargetAttester     bool   `json:"is_current_epoch_target_attester"`
	IsPreviousEpochAttester          bool   `json:"is_previous_epoch_attester"`
	IsPreviousEpochTargetAttester    bool   `json:"is_previous_epoch_target_attester"`
	IsPreviousEpochHeadAttester      bool   `json:"is_previous_epoch_head_attester"`
	CurrentEpochEffectiveBalanceGwei string `json:"current_epoch_effective_balance_gwei"`
	InclusionSlot                    string `json:"inclusion_slot"`
	InclusionDistance                string `json:"inclusion_distance"`
	InactivityScore                  string `json:"inactivity_score"`
}

type LightClientBootstrap

type LightClientBootstrap struct {
	Header                     json.RawMessage `json:"header"`
	CurrentSyncCommittee       *SyncCommittee  `json:"current_sync_committee"`
	CurrentSyncCommitteeBranch []string        `json:"current_sync_committee_branch"`
}

type LightClientBootstrapResponse

type LightClientBootstrapResponse struct {
	Version string                `json:"version"`
	Data    *LightClientBootstrap `json:"data"`
}

type LightClientFinalityUpdate

type LightClientFinalityUpdate struct {
	AttestedHeader  json.RawMessage `json:"attested_header"`
	FinalizedHeader json.RawMessage `json:"finalized_header"`
	FinalityBranch  []string        `json:"finality_branch"`
	SyncAggregate   *SyncAggregate  `json:"sync_aggregate"`
	SignatureSlot   string          `json:"signature_slot"`
}

func LightClientFinalityUpdateFromConsensus added in v5.1.1

func LightClientFinalityUpdateFromConsensus(update *v2.LightClientFinalityUpdate) (*LightClientFinalityUpdate, error)

type LightClientFinalityUpdateEvent

type LightClientFinalityUpdateEvent struct {
	Version string                     `json:"version"`
	Data    *LightClientFinalityUpdate `json:"data"`
}

type LightClientFinalityUpdateResponse added in v5.1.1

type LightClientFinalityUpdateResponse struct {
	Version string                     `json:"version"`
	Data    *LightClientFinalityUpdate `json:"data"`
}

type LightClientHeader added in v5.1.1

type LightClientHeader struct {
	Beacon *BeaconBlockHeader `json:"beacon"`
}

type LightClientHeaderCapella added in v5.1.1

type LightClientHeaderCapella struct {
	Beacon          *BeaconBlockHeader             `json:"beacon"`
	Execution       *ExecutionPayloadHeaderCapella `json:"execution"`
	ExecutionBranch []string                       `json:"execution_branch"`
}

type LightClientHeaderDeneb added in v5.1.1

type LightClientHeaderDeneb struct {
	Beacon          *BeaconBlockHeader           `json:"beacon"`
	Execution       *ExecutionPayloadHeaderDeneb `json:"execution"`
	ExecutionBranch []string                     `json:"execution_branch"`
}

type LightClientOptimisticUpdate

type LightClientOptimisticUpdate struct {
	AttestedHeader json.RawMessage `json:"attested_header"`
	SyncAggregate  *SyncAggregate  `json:"sync_aggregate"`
	SignatureSlot  string          `json:"signature_slot"`
}

func LightClientOptimisticUpdateFromConsensus added in v5.1.1

func LightClientOptimisticUpdateFromConsensus(update *v2.LightClientOptimisticUpdate) (*LightClientOptimisticUpdate, error)

type LightClientOptimisticUpdateEvent

type LightClientOptimisticUpdateEvent struct {
	Version string                       `json:"version"`
	Data    *LightClientOptimisticUpdate `json:"data"`
}

type LightClientOptimisticUpdateResponse added in v5.1.1

type LightClientOptimisticUpdateResponse struct {
	Version string                       `json:"version"`
	Data    *LightClientOptimisticUpdate `json:"data"`
}

type LightClientUpdate

type LightClientUpdate struct {
	AttestedHeader          json.RawMessage `json:"attested_header"`
	NextSyncCommittee       *SyncCommittee  `json:"next_sync_committee,omitempty"`
	FinalizedHeader         json.RawMessage `json:"finalized_header,omitempty"`
	SyncAggregate           *SyncAggregate  `json:"sync_aggregate"`
	NextSyncCommitteeBranch []string        `json:"next_sync_committee_branch,omitempty"`
	FinalityBranch          []string        `json:"finality_branch,omitempty"`
	SignatureSlot           string          `json:"signature_slot"`
}

func LightClientUpdateFromConsensus added in v5.1.1

func LightClientUpdateFromConsensus(update *v2.LightClientUpdate) (*LightClientUpdate, error)

type LightClientUpdateResponse added in v5.1.1

type LightClientUpdateResponse struct {
	Version string             `json:"version"`
	Data    *LightClientUpdate `json:"data"`
}

type LightClientUpdatesByRangeResponse

type LightClientUpdatesByRangeResponse struct {
	Updates []*LightClientUpdateResponse `json:"updates"`
}

type ListAttestationsResponse

type ListAttestationsResponse struct {
	Data []*Attestation `json:"data"`
}

type ListVoluntaryExitsResponse

type ListVoluntaryExitsResponse struct {
	Data []*SignedVoluntaryExit `json:"data"`
}

type Liveness

type Liveness struct {
	Index  string `json:"index"`
	IsLive bool   `json:"is_live"`
}

type MessageJsoner added in v5.1.0

type MessageJsoner interface {
	MessageRawJson() ([]byte, error)
}

MessageJsoner describes a signed consensus type wrapper that can return the `.Message` field in a json envelope encoded as a []byte, for use as a json.RawMessage value when encoding the outer envelope.

type Metadata

type Metadata struct {
	SeqNumber string `json:"seq_number"`
	Attnets   string `json:"attnets"`
}

type PayloadAttributesEvent

type PayloadAttributesEvent struct {
	Version string          `json:"version"`
	Data    json.RawMessage `json:"data"`
}

type PayloadAttributesEventData

type PayloadAttributesEventData struct {
	ProposerIndex     string          `json:"proposer_index"`
	ProposalSlot      string          `json:"proposal_slot"`
	ParentBlockNumber string          `json:"parent_block_number"`
	ParentBlockRoot   string          `json:"parent_block_root"`
	ParentBlockHash   string          `json:"parent_block_hash"`
	PayloadAttributes json.RawMessage `json:"payload_attributes"`
}

type PayloadAttributesV1

type PayloadAttributesV1 struct {
	Timestamp             string `json:"timestamp"`
	PrevRandao            string `json:"prev_randao"`
	SuggestedFeeRecipient string `json:"suggested_fee_recipient"`
}

type PayloadAttributesV2

type PayloadAttributesV2 struct {
	Timestamp             string        `json:"timestamp"`
	PrevRandao            string        `json:"prev_randao"`
	SuggestedFeeRecipient string        `json:"suggested_fee_recipient"`
	Withdrawals           []*Withdrawal `json:"withdrawals"`
}

type PayloadAttributesV3

type PayloadAttributesV3 struct {
	Timestamp             string        `json:"timestamp"`
	PrevRandao            string        `json:"prev_randao"`
	SuggestedFeeRecipient string        `json:"suggested_fee_recipient"`
	Withdrawals           []*Withdrawal `json:"withdrawals"`
	ParentBeaconBlockRoot string        `json:"parent_beacon_block_root"`
}

type Peer

type Peer struct {
	PeerId             string `json:"peer_id"`
	Enr                string `json:"enr"`
	LastSeenP2PAddress string `json:"last_seen_p2p_address"`
	State              string `json:"state"`
	Direction          string `json:"direction"`
}

type PeerCount

type PeerCount struct {
	Disconnected  string `json:"disconnected"`
	Connecting    string `json:"connecting"`
	Connected     string `json:"connected"`
	Disconnecting string `json:"disconnecting"`
}

type PeersResponse

type PeersResponse struct {
	Peers []*Peer `json:"peers"`
}

type PendingAttestation

type PendingAttestation struct {
	AggregationBits string           `json:"aggregation_bits"`
	Data            *AttestationData `json:"data"`
	InclusionDelay  string           `json:"inclusion_delay"`
	ProposerIndex   string           `json:"proposer_index"`
}

func PendingAttestationFromConsensus

func PendingAttestationFromConsensus(a *eth.PendingAttestation) *PendingAttestation

type PendingConsolidation added in v5.1.1

type PendingConsolidation struct {
	SourceIndex string `json:"source_index"`
	TargetIndex string `json:"target_index"`
}

func PendingConsolidationsFromConsensus added in v5.1.1

func PendingConsolidationsFromConsensus(cs []*eth.PendingConsolidation) []*PendingConsolidation

type PendingDeposit added in v5.2.0

type PendingDeposit struct {
	Pubkey                string `json:"pubkey"`
	WithdrawalCredentials string `json:"withdrawal_credentials"`
	Amount                string `json:"amount"`
	Signature             string `json:"signature"`
	Slot                  string `json:"slot"`
}

func PendingDepositsFromConsensus added in v5.2.0

func PendingDepositsFromConsensus(ds []*eth.PendingDeposit) []*PendingDeposit

type PendingPartialWithdrawal added in v5.1.1

type PendingPartialWithdrawal struct {
	Index             string `json:"index"`
	Amount            string `json:"amount"`
	WithdrawableEpoch string `json:"withdrawable_epoch"`
}

func PendingPartialWithdrawalsFromConsensus added in v5.1.1

func PendingPartialWithdrawalsFromConsensus(ws []*eth.PendingPartialWithdrawal) []*PendingPartialWithdrawal

type ProduceBlockV3Response

type ProduceBlockV3Response struct {
	Version                 string          `json:"version"`
	ExecutionPayloadBlinded bool            `json:"execution_payload_blinded"`
	ExecutionPayloadValue   string          `json:"execution_payload_value"`
	ConsensusBlockValue     string          `json:"consensus_block_value"`
	Data                    json.RawMessage `json:"data"` // represents the block values based on the version
}

ProduceBlockV3Response is a wrapper json object for the returned block from the ProduceBlockV3 endpoint

type ProduceSyncCommitteeContributionResponse

type ProduceSyncCommitteeContributionResponse struct {
	Data *SyncCommitteeContribution `json:"data"`
}

type ProposerDuty

type ProposerDuty struct {
	Pubkey         string `json:"pubkey"`
	ValidatorIndex string `json:"validator_index"`
	Slot           string `json:"slot"`
}

type ProposerSlashing

type ProposerSlashing struct {
	SignedHeader1 *SignedBeaconBlockHeader `json:"signed_header_1"`
	SignedHeader2 *SignedBeaconBlockHeader `json:"signed_header_2"`
}

func ProposerSlashingFromConsensus

func ProposerSlashingFromConsensus(src *eth.ProposerSlashing) *ProposerSlashing

func ProposerSlashingsFromConsensus

func ProposerSlashingsFromConsensus(src []*eth.ProposerSlashing) []*ProposerSlashing

func (*ProposerSlashing) ToConsensus

func (s *ProposerSlashing) ToConsensus() (*eth.ProposerSlashing, error)

type PublishBlobsRequest added in v5.1.1

type PublishBlobsRequest struct {
	BlobSidecars *BlobSidecars `json:"blob_sidecars"`
	BlockRoot    string        `json:"block_root"`
}

type Randao

type Randao struct {
	Randao string `json:"randao"`
}

type Sidecar

type Sidecar struct {
	Index                    string                   `json:"index"`
	Blob                     string                   `json:"blob"`
	SignedBeaconBlockHeader  *SignedBeaconBlockHeader `json:"signed_block_header"`
	KzgCommitment            string                   `json:"kzg_commitment"`
	KzgProof                 string                   `json:"kzg_proof"`
	CommitmentInclusionProof []string                 `json:"kzg_commitment_inclusion_proof"`
}

func (*Sidecar) ToConsensus added in v5.1.1

func (sc *Sidecar) ToConsensus() (*eth.BlobSidecar, error)

type SidecarsResponse

type SidecarsResponse struct {
	Data []*Sidecar `json:"data"`
}

type SignedAggregateAttestationAndProof

type SignedAggregateAttestationAndProof struct {
	Message   *AggregateAttestationAndProof `json:"message"`
	Signature string                        `json:"signature"`
}

func (*SignedAggregateAttestationAndProof) ToConsensus

type SignedAggregateAttestationAndProofElectra added in v5.1.1

type SignedAggregateAttestationAndProofElectra struct {
	Message   *AggregateAttestationAndProofElectra `json:"message"`
	Signature string                               `json:"signature"`
}

func (*SignedAggregateAttestationAndProofElectra) ToConsensus added in v5.1.1

type SignedBLSToExecutionChange

type SignedBLSToExecutionChange struct {
	Message   *BLSToExecutionChange `json:"message"`
	Signature string                `json:"signature"`
}

func (*SignedBLSToExecutionChange) ToConsensus

type SignedBeaconBlock

type SignedBeaconBlock struct {
	Message   *BeaconBlock `json:"message"`
	Signature string       `json:"signature"`
}

func SignedBeaconBlockPhase0FromConsensus added in v5.1.0

func SignedBeaconBlockPhase0FromConsensus(b *eth.SignedBeaconBlock) *SignedBeaconBlock

func (*SignedBeaconBlock) MessageRawJson added in v5.1.0

func (s *SignedBeaconBlock) MessageRawJson() ([]byte, error)

func (*SignedBeaconBlock) SigString added in v5.1.0

func (s *SignedBeaconBlock) SigString() string

func (*SignedBeaconBlock) ToGeneric

type SignedBeaconBlockAltair

type SignedBeaconBlockAltair struct {
	Message   *BeaconBlockAltair `json:"message"`
	Signature string             `json:"signature"`
}

func SignedBeaconBlockAltairFromConsensus

func SignedBeaconBlockAltairFromConsensus(b *eth.SignedBeaconBlockAltair) *SignedBeaconBlockAltair

func (*SignedBeaconBlockAltair) MessageRawJson added in v5.1.0

func (s *SignedBeaconBlockAltair) MessageRawJson() ([]byte, error)

func (*SignedBeaconBlockAltair) SigString added in v5.1.0

func (s *SignedBeaconBlockAltair) SigString() string

func (*SignedBeaconBlockAltair) ToGeneric

type SignedBeaconBlockBellatrix

type SignedBeaconBlockBellatrix struct {
	Message   *BeaconBlockBellatrix `json:"message"`
	Signature string                `json:"signature"`
}

func (*SignedBeaconBlockBellatrix) MessageRawJson added in v5.1.0

func (s *SignedBeaconBlockBellatrix) MessageRawJson() ([]byte, error)

func (*SignedBeaconBlockBellatrix) SigString added in v5.1.0

func (s *SignedBeaconBlockBellatrix) SigString() string

func (*SignedBeaconBlockBellatrix) ToGeneric

type SignedBeaconBlockCapella

type SignedBeaconBlockCapella struct {
	Message   *BeaconBlockCapella `json:"message"`
	Signature string              `json:"signature"`
}

func (*SignedBeaconBlockCapella) MessageRawJson added in v5.1.0

func (s *SignedBeaconBlockCapella) MessageRawJson() ([]byte, error)

func (*SignedBeaconBlockCapella) SigString added in v5.1.0

func (s *SignedBeaconBlockCapella) SigString() string

func (*SignedBeaconBlockCapella) ToGeneric

type SignedBeaconBlockContentsDeneb

type SignedBeaconBlockContentsDeneb struct {
	SignedBlock *SignedBeaconBlockDeneb `json:"signed_block"`
	KzgProofs   []string                `json:"kzg_proofs"`
	Blobs       []string                `json:"blobs"`
}

func (*SignedBeaconBlockContentsDeneb) ToGeneric

func (*SignedBeaconBlockContentsDeneb) ToUnsigned

type SignedBeaconBlockContentsElectra added in v5.1.1

type SignedBeaconBlockContentsElectra struct {
	SignedBlock *SignedBeaconBlockElectra `json:"signed_block"`
	KzgProofs   []string                  `json:"kzg_proofs"`
	Blobs       []string                  `json:"blobs"`
}

func SignedBeaconBlockContentsElectraFromConsensus added in v5.1.1

func SignedBeaconBlockContentsElectraFromConsensus(b *eth.SignedBeaconBlockContentsElectra) (*SignedBeaconBlockContentsElectra, error)

func (*SignedBeaconBlockContentsElectra) ToGeneric added in v5.1.1

func (*SignedBeaconBlockContentsElectra) ToUnsigned added in v5.1.1

type SignedBeaconBlockDeneb

type SignedBeaconBlockDeneb struct {
	Message   *BeaconBlockDeneb `json:"message"`
	Signature string            `json:"signature"`
}

func SignedBeaconBlockDenebFromConsensus

func SignedBeaconBlockDenebFromConsensus(b *eth.SignedBeaconBlockDeneb) (*SignedBeaconBlockDeneb, error)

func (*SignedBeaconBlockDeneb) MessageRawJson added in v5.1.0

func (s *SignedBeaconBlockDeneb) MessageRawJson() ([]byte, error)

func (*SignedBeaconBlockDeneb) SigString added in v5.1.0

func (s *SignedBeaconBlockDeneb) SigString() string

func (*SignedBeaconBlockDeneb) ToConsensus

type SignedBeaconBlockElectra added in v5.1.1

type SignedBeaconBlockElectra struct {
	Message   *BeaconBlockElectra `json:"message"`
	Signature string              `json:"signature"`
}

func SignedBeaconBlockElectraFromConsensus added in v5.1.1

func SignedBeaconBlockElectraFromConsensus(b *eth.SignedBeaconBlockElectra) (*SignedBeaconBlockElectra, error)

func (*SignedBeaconBlockElectra) MessageRawJson added in v5.1.1

func (s *SignedBeaconBlockElectra) MessageRawJson() ([]byte, error)

func (*SignedBeaconBlockElectra) SigString added in v5.1.1

func (s *SignedBeaconBlockElectra) SigString() string

func (*SignedBeaconBlockElectra) ToConsensus added in v5.1.1

type SignedBeaconBlockHeader

type SignedBeaconBlockHeader struct {
	Message   *BeaconBlockHeader `json:"message"`
	Signature string             `json:"signature"`
}

func SignedBeaconBlockHeaderFromConsensus

func SignedBeaconBlockHeaderFromConsensus(src *eth.SignedBeaconBlockHeader) *SignedBeaconBlockHeader

func (*SignedBeaconBlockHeader) ToConsensus

type SignedBeaconBlockHeaderContainer

type SignedBeaconBlockHeaderContainer struct {
	Header    *SignedBeaconBlockHeader `json:"header"`
	Root      string                   `json:"root"`
	Canonical bool                     `json:"canonical"`
}

type SignedBlindedBeaconBlockBellatrix

type SignedBlindedBeaconBlockBellatrix struct {
	Message   *BlindedBeaconBlockBellatrix `json:"message"`
	Signature string                       `json:"signature"`
}

func (*SignedBlindedBeaconBlockBellatrix) MessageRawJson added in v5.1.0

func (s *SignedBlindedBeaconBlockBellatrix) MessageRawJson() ([]byte, error)

func (*SignedBlindedBeaconBlockBellatrix) SigString added in v5.1.0

func (*SignedBlindedBeaconBlockBellatrix) ToGeneric

type SignedBlindedBeaconBlockCapella

type SignedBlindedBeaconBlockCapella struct {
	Message   *BlindedBeaconBlockCapella `json:"message"`
	Signature string                     `json:"signature"`
}

func (*SignedBlindedBeaconBlockCapella) MessageRawJson added in v5.1.0

func (s *SignedBlindedBeaconBlockCapella) MessageRawJson() ([]byte, error)

func (*SignedBlindedBeaconBlockCapella) SigString added in v5.1.0

func (s *SignedBlindedBeaconBlockCapella) SigString() string

func (*SignedBlindedBeaconBlockCapella) ToGeneric

type SignedBlindedBeaconBlockDeneb

type SignedBlindedBeaconBlockDeneb struct {
	Message   *BlindedBeaconBlockDeneb `json:"message"`
	Signature string                   `json:"signature"`
}

func (*SignedBlindedBeaconBlockDeneb) MessageRawJson added in v5.1.0

func (s *SignedBlindedBeaconBlockDeneb) MessageRawJson() ([]byte, error)

func (*SignedBlindedBeaconBlockDeneb) SigString added in v5.1.0

func (s *SignedBlindedBeaconBlockDeneb) SigString() string

func (*SignedBlindedBeaconBlockDeneb) ToConsensus

func (*SignedBlindedBeaconBlockDeneb) ToGeneric

type SignedBlindedBeaconBlockElectra added in v5.1.1

type SignedBlindedBeaconBlockElectra struct {
	Message   *BlindedBeaconBlockElectra `json:"message"`
	Signature string                     `json:"signature"`
}

func SignedBlindedBeaconBlockElectraFromConsensus added in v5.1.1

func SignedBlindedBeaconBlockElectraFromConsensus(b *eth.SignedBlindedBeaconBlockElectra) (*SignedBlindedBeaconBlockElectra, error)

func (*SignedBlindedBeaconBlockElectra) MessageRawJson added in v5.1.1

func (s *SignedBlindedBeaconBlockElectra) MessageRawJson() ([]byte, error)

func (*SignedBlindedBeaconBlockElectra) SigString added in v5.1.1

func (s *SignedBlindedBeaconBlockElectra) SigString() string

func (*SignedBlindedBeaconBlockElectra) ToConsensus added in v5.1.1

func (*SignedBlindedBeaconBlockElectra) ToGeneric added in v5.1.1

type SignedBlock

type SignedBlock struct {
	Message   json.RawMessage `json:"message"` // represents the block values based on the version
	Signature string          `json:"signature"`
}

type SignedContributionAndProof

type SignedContributionAndProof struct {
	Message   *ContributionAndProof `json:"message"`
	Signature string                `json:"signature"`
}

func (*SignedContributionAndProof) ToConsensus

type SignedMessageJsoner added in v5.1.0

type SignedMessageJsoner interface {
	MessageJsoner
	SigString() string
}

SignedMessageJsoner embeds MessageJsoner and adds a method to also retrieve the Signature field as a string.

func SignedBeaconBlockMessageJsoner added in v5.1.0

func SignedBeaconBlockMessageJsoner(block interfaces.ReadOnlySignedBeaconBlock) (SignedMessageJsoner, error)

type SignedValidatorRegistration

type SignedValidatorRegistration struct {
	Message   *ValidatorRegistration `json:"message"`
	Signature string                 `json:"signature"`
}

func (*SignedValidatorRegistration) ToConsensus

type SignedVoluntaryExit

type SignedVoluntaryExit struct {
	Message   *VoluntaryExit `json:"message"`
	Signature string         `json:"signature"`
}

func SignedExitFromConsensus

func SignedExitFromConsensus(e *eth.SignedVoluntaryExit) *SignedVoluntaryExit

func SignedExitsFromConsensus

func SignedExitsFromConsensus(src []*eth.SignedVoluntaryExit) []*SignedVoluntaryExit

func (*SignedVoluntaryExit) ToConsensus

func (e *SignedVoluntaryExit) ToConsensus() (*eth.SignedVoluntaryExit, error)

type StateRoot

type StateRoot struct {
	Root string `json:"root"`
}

type SubmitAggregateAndProofsRequest

type SubmitAggregateAndProofsRequest struct {
	Data []json.RawMessage `json:"data"`
}

type SubmitAttestationsRequest

type SubmitAttestationsRequest struct {
	Data []*Attestation `json:"data"`
}

type SubmitBeaconCommitteeSubscriptionsRequest

type SubmitBeaconCommitteeSubscriptionsRequest struct {
	Data []*BeaconCommitteeSubscription `json:"data"`
}

type SubmitContributionAndProofsRequest

type SubmitContributionAndProofsRequest struct {
	Data []*SignedContributionAndProof `json:"data"`
}

type SubmitSyncCommitteeSignaturesRequest

type SubmitSyncCommitteeSignaturesRequest struct {
	Data []*SyncCommitteeMessage `json:"data"`
}

type SubmitSyncCommitteeSubscriptionsRequest

type SubmitSyncCommitteeSubscriptionsRequest struct {
	Data []*SyncCommitteeSubscription `json:"data"`
}

type SyncAggregate

type SyncAggregate struct {
	SyncCommitteeBits      string `json:"sync_committee_bits"`
	SyncCommitteeSignature string `json:"sync_committee_signature"`
}

type SyncCommittee

type SyncCommittee struct {
	Pubkeys         []string `json:"pubkeys"`
	AggregatePubkey string   `json:"aggregate_pubkey"`
}

func SyncCommitteeFromConsensus

func SyncCommitteeFromConsensus(sc *eth.SyncCommittee) *SyncCommittee

func (*SyncCommittee) ToConsensus

func (sc *SyncCommittee) ToConsensus() (*eth.SyncCommittee, error)

type SyncCommitteeContribution

type SyncCommitteeContribution struct {
	Slot              string `json:"slot"`
	BeaconBlockRoot   string `json:"beacon_block_root"`
	SubcommitteeIndex string `json:"subcommittee_index"`
	AggregationBits   string `json:"aggregation_bits"`
	Signature         string `json:"signature"`
}

func (*SyncCommitteeContribution) ToConsensus

type SyncCommitteeDuty

type SyncCommitteeDuty struct {
	Pubkey                        string   `json:"pubkey"`
	ValidatorIndex                string   `json:"validator_index"`
	ValidatorSyncCommitteeIndices []string `json:"validator_sync_committee_indices"`
}

type SyncCommitteeMessage

type SyncCommitteeMessage struct {
	Slot            string `json:"slot"`
	BeaconBlockRoot string `json:"beacon_block_root"`
	ValidatorIndex  string `json:"validator_index"`
	Signature       string `json:"signature"`
}

func (*SyncCommitteeMessage) ToConsensus

func (m *SyncCommitteeMessage) ToConsensus() (*eth.SyncCommitteeMessage, error)

type SyncCommitteeReward

type SyncCommitteeReward struct {
	ValidatorIndex string `json:"validator_index"`
	Reward         string `json:"reward"`
}

type SyncCommitteeRewardsResponse

type SyncCommitteeRewardsResponse struct {
	Data                []SyncCommitteeReward `json:"data"`
	ExecutionOptimistic bool                  `json:"execution_optimistic"`
	Finalized           bool                  `json:"finalized"`
}

type SyncCommitteeSubscription

type SyncCommitteeSubscription struct {
	ValidatorIndex       string   `json:"validator_index"`
	SyncCommitteeIndices []string `json:"sync_committee_indices"`
	UntilEpoch           string   `json:"until_epoch"`
}

func (*SyncCommitteeSubscription) ToConsensus

type SyncCommitteeValidators

type SyncCommitteeValidators struct {
	Validators          []string   `json:"validators"`
	ValidatorAggregates [][]string `json:"validator_aggregates"`
}

type SyncDetails

type SyncDetails struct {
	HeadSlot     string `json:"head_slot"`
	SyncDistance string `json:"sync_distance"`
	IsSyncing    bool   `json:"is_syncing"`
	IsOptimistic bool   `json:"is_optimistic"`
	ElOffline    bool   `json:"el_offline"`
}

SyncDetails contains information about node sync status.

type SyncDetailsContainer

type SyncDetailsContainer struct {
	Data *SyncDetails `json:"data"`
}

SyncDetailsContainer is a wrapper for Data.

type SyncStatusResponse

type SyncStatusResponse struct {
	Data *SyncStatusResponseData `json:"data"`
}

type SyncStatusResponseData

type SyncStatusResponseData struct {
	HeadSlot     string `json:"head_slot"`
	SyncDistance string `json:"sync_distance"`
	IsSyncing    bool   `json:"is_syncing"`
	IsOptimistic bool   `json:"is_optimistic"`
	ElOffline    bool   `json:"el_offline"`
}

type TotalAttestationReward

type TotalAttestationReward struct {
	ValidatorIndex string `json:"validator_index"`
	Head           string `json:"head"`
	Target         string `json:"target"`
	Source         string `json:"source"`
	Inactivity     string `json:"inactivity"`
}

type UnaggregatedAttEventSource

type UnaggregatedAttEventSource struct {
	AggregationBits string           `json:"aggregation_bits"`
	Data            *AttestationData `json:"data"`
	Signature       string           `json:"signature"`
}

type Validator

type Validator struct {
	Pubkey                     string `json:"pubkey"`
	WithdrawalCredentials      string `json:"withdrawal_credentials"`
	EffectiveBalance           string `json:"effective_balance"`
	Slashed                    bool   `json:"slashed"`
	ActivationEligibilityEpoch string `json:"activation_eligibility_epoch"`
	ActivationEpoch            string `json:"activation_epoch"`
	ExitEpoch                  string `json:"exit_epoch"`
	WithdrawableEpoch          string `json:"withdrawable_epoch"`
}

func ValidatorFromConsensus

func ValidatorFromConsensus(v *eth.Validator) *Validator

type ValidatorBalance

type ValidatorBalance struct {
	Index   string `json:"index"`
	Balance string `json:"balance"`
}

type ValidatorContainer

type ValidatorContainer struct {
	Index     string     `json:"index"`
	Balance   string     `json:"balance"`
	Status    string     `json:"status"`
	Validator *Validator `json:"validator"`
}

type ValidatorCount

type ValidatorCount struct {
	Status string `json:"status"`
	Count  string `json:"count"`
}

type ValidatorParticipation added in v5.1.0

type ValidatorParticipation struct {
	GlobalParticipationRate          string `json:"global_participation_rate" deprecated:"true"`
	VotedEther                       string `json:"voted_ether" deprecated:"true"`
	EligibleEther                    string `json:"eligible_ether" deprecated:"true"`
	CurrentEpochActiveGwei           string `json:"current_epoch_active_gwei"`
	CurrentEpochAttestingGwei        string `json:"current_epoch_attesting_gwei"`
	CurrentEpochTargetAttestingGwei  string `json:"current_epoch_target_attesting_gwei"`
	PreviousEpochActiveGwei          string `json:"previous_epoch_active_gwei"`
	PreviousEpochAttestingGwei       string `json:"previous_epoch_attesting_gwei"`
	PreviousEpochTargetAttestingGwei string `json:"previous_epoch_target_attesting_gwei"`
	PreviousEpochHeadAttestingGwei   string `json:"previous_epoch_head_attesting_gwei"`
}

type ValidatorRegistration

type ValidatorRegistration struct {
	FeeRecipient string `json:"fee_recipient"`
	GasLimit     string `json:"gas_limit"`
	Timestamp    string `json:"timestamp"`
	Pubkey       string `json:"pubkey"`
}

func ValidatorRegistrationFromConsensus

func ValidatorRegistrationFromConsensus(vr *eth.ValidatorRegistrationV1) *ValidatorRegistration

func (*ValidatorRegistration) ToConsensus

type Version

type Version struct {
	Version string `json:"version"`
}

type VoluntaryExit

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

func ExitFromConsensus

func ExitFromConsensus(e *eth.VoluntaryExit) *VoluntaryExit

func (*VoluntaryExit) ToConsensus

func (e *VoluntaryExit) ToConsensus() (*eth.VoluntaryExit, error)

type WeakSubjectivityData

type WeakSubjectivityData struct {
	WsCheckpoint *Checkpoint `json:"ws_checkpoint"`
	StateRoot    string      `json:"state_root"`
}

type Withdrawal

type Withdrawal struct {
	WithdrawalIndex  string `json:"index"`
	ValidatorIndex   string `json:"validator_index"`
	ExecutionAddress string `json:"address"`
	Amount           string `json:"amount"`
}

func WithdrawalFromConsensus

func WithdrawalFromConsensus(w *enginev1.Withdrawal) *Withdrawal

func WithdrawalsFromConsensus

func WithdrawalsFromConsensus(ws []*enginev1.Withdrawal) []*Withdrawal

type WithdrawalRequest added in v5.1.1

type WithdrawalRequest struct {
	SourceAddress   string `json:"source_address"`
	ValidatorPubkey string `json:"validator_pubkey"`
	Amount          string `json:"amount"`
}

func WithdrawalRequestFromConsensus added in v5.1.1

func WithdrawalRequestFromConsensus(w *enginev1.WithdrawalRequest) *WithdrawalRequest

func WithdrawalRequestsFromConsensus added in v5.1.1

func WithdrawalRequestsFromConsensus(ws []*enginev1.WithdrawalRequest) []*WithdrawalRequest

func (*WithdrawalRequest) ToConsensus added in v5.1.1

func (w *WithdrawalRequest) ToConsensus() (*enginev1.WithdrawalRequest, error)

Jump to

Keyboard shortcuts

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