beacon

package
v0.0.0-...-ae0dd77 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SlotsPerEpoch = 32
)

Variables

View Source
var Module = fx.Options(
	internal.NewParserBuilder("ethereum/beacon", NewNativeParser).Build(),
)

Functions

Types

type Blob

type Blob []byte

func (Blob) MarshalJSON

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

func (*Blob) UnmarshalJSON

func (b *Blob) UnmarshalJSON(input []byte) error

type BlobSidecar

type BlobSidecar struct {
	Index                    Quantity           `json:"index"`
	Blob                     Blob               `json:"blob" validate:"required"`
	SignedBeaconBlockHeader  *SignedBlockHeader `json:"signed_block_header" validate:"required"`
	KzgCommitment            string             `json:"kzg_commitment" validate:"required"`
	KzgProof                 string             `json:"kzg_proof" validate:"required"`
	CommitmentInclusionProof []string           `json:"kzg_commitment_inclusion_proof" validate:"required,dive"`
}

BlobSidecar https://github.com/prysmaticlabs/prysm/blob/develop/beacon-chain/rpc/eth/blob/structs.go#L9

type Blobs

type Blobs struct {
	Data []*BlobSidecar `json:"data" validate:"required"`
}

type BlockAltair

type BlockAltair struct {
	Slot          Quantity         `json:"slot"`
	ProposerIndex Quantity         `json:"proposer_index"`
	ParentRoot    string           `json:"parent_root" validate:"required"`
	StateRoot     string           `json:"state_root" validate:"required"`
	Body          *BlockBodyAltair `json:"body" validate:"required"`
}

type BlockBellatrix

type BlockBellatrix struct {
	Slot          Quantity            `json:"slot"`
	ProposerIndex Quantity            `json:"proposer_index"`
	ParentRoot    string              `json:"parent_root" validate:"required"`
	StateRoot     string              `json:"state_root" validate:"required"`
	Body          *BlockBodyBellatrix `json:"body" validate:"required"`
}

type BlockBodyAltair

type BlockBodyAltair struct {
	RandaoReveal string    `json:"randao_reveal" validate:"required"`
	Eth1Data     *Eth1Data `json:"eth1_data" validate:"required"`
	Graffiti     string    `json:"graffiti" validate:"required"`
}

type BlockBodyBellatrix

type BlockBodyBellatrix struct {
	RandaoReveal     string                     `json:"randao_reveal" validate:"required"`
	Eth1Data         *Eth1Data                  `json:"eth1_data" validate:"required"`
	Graffiti         string                     `json:"graffiti" validate:"required"`
	ExecutionPayload *ExecutionPayloadBellatrix `json:"execution_payload" validate:"required"`
}

type BlockBodyCapella

type BlockBodyCapella struct {
	RandaoReveal     string                   `json:"randao_reveal" validate:"required"`
	Eth1Data         *Eth1Data                `json:"eth1_data" validate:"required"`
	Graffiti         string                   `json:"graffiti" validate:"required"`
	ExecutionPayload *ExecutionPayloadCapella `json:"execution_payload" validate:"required"`
}

type BlockBodyDeneb

type BlockBodyDeneb struct {
	RandaoReveal       string                 `json:"randao_reveal" validate:"required"`
	Eth1Data           *Eth1Data              `json:"eth1_data" validate:"required"`
	Graffiti           string                 `json:"graffiti" validate:"required"`
	ExecutionPayload   *ExecutionPayloadDeneb `json:"execution_payload" validate:"required"`
	BlobKzgCommitments []string               `json:"blob_kzg_commitments" validate:"required,dive"`
}

type BlockBodyPhase0

type BlockBodyPhase0 struct {
	RandaoReveal string    `json:"randao_reveal" validate:"required"`
	Eth1Data     *Eth1Data `json:"eth1_data" validate:"required"`
	Graffiti     string    `json:"graffiti" validate:"required"`
}

type BlockCapella

type BlockCapella struct {
	Slot          Quantity          `json:"slot"`
	ProposerIndex Quantity          `json:"proposer_index"`
	ParentRoot    string            `json:"parent_root" validate:"required"`
	StateRoot     string            `json:"state_root" validate:"required"`
	Body          *BlockBodyCapella `json:"body" validate:"required"`
}

type BlockDeneb

type BlockDeneb struct {
	Slot          Quantity        `json:"slot"`
	ProposerIndex Quantity        `json:"proposer_index"`
	ParentRoot    string          `json:"parent_root" validate:"required"`
	StateRoot     string          `json:"state_root" validate:"required"`
	Body          *BlockBodyDeneb `json:"body" validate:"required"`
}

type BlockHeaderMessage

type BlockHeaderMessage struct {
	Slot          Quantity `json:"slot"`
	ProposerIndex Quantity `json:"proposer_index"`
	ParentRoot    string   `json:"parent_root" validate:"required"`
	StateRoot     string   `json:"state_root" validate:"required"`
	BodyRoot      string   `json:"body_root" validate:"required"`
}

type BlockPhase0

type BlockPhase0 struct {
	Slot          Quantity         `json:"slot"`
	ProposerIndex Quantity         `json:"proposer_index"`
	ParentRoot    string           `json:"parent_root" validate:"required"`
	StateRoot     string           `json:"state_root" validate:"required"`
	Body          *BlockBodyPhase0 `json:"body" validate:"required"`
}

type BlockResponseLit

type BlockResponseLit struct {
	Version string          `json:"version" validate:"required"`
	Data    json.RawMessage `json:"data" validate:"required"`
}

type Eth1Data

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

TODO: Migrate to the struct types defined in prysmaticlabs/prysm repo

type ExecutionPayloadBellatrix

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

type ExecutionPayloadCapella

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

type ExecutionPayloadDeneb

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

type ExecutionTransaction

type ExecutionTransaction []byte

func (ExecutionTransaction) MarshalJSON

func (t ExecutionTransaction) MarshalJSON() ([]byte, error)

func (*ExecutionTransaction) UnmarshalJSON

func (t *ExecutionTransaction) UnmarshalJSON(input []byte) error

type Quantity

type Quantity uint64

func (Quantity) MarshalJSON

func (q Quantity) MarshalJSON() ([]byte, error)

func (*Quantity) UnmarshalJSON

func (q *Quantity) UnmarshalJSON(input []byte) error

func (Quantity) Value

func (q Quantity) Value() uint64

type SignedBlockAltair

type SignedBlockAltair struct {
	Message   *BlockAltair `json:"message" validate:"required"`
	Signature string       `json:"signature" validate:"required"`
}

SignedBlockAltair https://github.com/prysmaticlabs/prysm/blob/76fec1799e4a8d16dbd453f1ffb595262994221d/beacon-chain/rpc/eth/shared/structs_blocks.go#L27

type SignedBlockBellatrix

type SignedBlockBellatrix struct {
	Message   *BlockBellatrix `json:"message" validate:"required"`
	Signature string          `json:"signature" validate:"required"`
}

SignedBlockBellatrix https://github.com/prysmaticlabs/prysm/blob/76fec1799e4a8d16dbd453f1ffb595262994221d/beacon-chain/rpc/eth/shared/structs_blocks.go#L52

type SignedBlockCapella

type SignedBlockCapella struct {
	Message   *BlockCapella `json:"message" validate:"required"`
	Signature string        `json:"signature" validate:"required"`
}

type SignedBlockDeneb

type SignedBlockDeneb struct {
	Message   *BlockDeneb `json:"message" validate:"required"`
	Signature string      `json:"signature" validate:"required"`
}

type SignedBlockHeader

type SignedBlockHeader struct {
	Message   *BlockHeaderMessage `json:"message" validate:"required"`
	Signature string              `json:"signature" validate:"required"`
}

type SignedBlockHeaderContainer

type SignedBlockHeaderContainer struct {
	Header *SignedBlockHeader `json:"header" validate:"required"`
	Root   string             `json:"root" validate:"required"`
}

type SignedBlockPhase0

type SignedBlockPhase0 struct {
	Message   *BlockPhase0 `json:"message" validate:"required"`
	Signature string       `json:"signature" validate:"required"`
}

type Withdrawal

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳