- name: AggregateAndProof#phase0
sources:
- file: proto/prysm/v1alpha1/attestation.proto
search: message AggregateAttestationAndProof {
spec: |
class AggregateAndProof(Container):
aggregator_index: ValidatorIndex
aggregate: Attestation
selection_proof: BLSSignature
- name: AggregateAndProof#electra
sources:
- file: proto/prysm/v1alpha1/attestation.proto
search: message AggregateAttestationAndProofElectra {
spec: |
class AggregateAndProof(Container):
aggregator_index: ValidatorIndex
# [Modified in Electra:EIP7549]
aggregate: Attestation
selection_proof: BLSSignature
- name: Attestation#phase0
sources:
- file: proto/prysm/v1alpha1/attestation.proto
search: message Attestation {
spec: |
class Attestation(Container):
aggregation_bits: Bitlist[MAX_VALIDATORS_PER_COMMITTEE]
data: AttestationData
signature: BLSSignature
- name: Attestation#electra
sources:
- file: proto/prysm/v1alpha1/attestation.proto
search: message AttestationElectra {
spec: |
class Attestation(Container):
# [Modified in Electra:EIP7549]
aggregation_bits: Bitlist[MAX_VALIDATORS_PER_COMMITTEE * MAX_COMMITTEES_PER_SLOT]
data: AttestationData
signature: BLSSignature
# [New in Electra:EIP7549]
committee_bits: Bitvector[MAX_COMMITTEES_PER_SLOT]
- name: AttestationData
sources:
- file: proto/eth/v1/attestation.proto
search: message AttestationData {
spec: |
class AttestationData(Container):
slot: Slot
index: CommitteeIndex
beacon_block_root: Root
source: Checkpoint
target: Checkpoint
- name: AttesterSlashing#phase0
sources:
- file: proto/eth/v1/beacon_block.proto
search: message AttesterSlashing {
spec: |
class AttesterSlashing(Container):
attestation_1: IndexedAttestation
attestation_2: IndexedAttestation
- name: AttesterSlashing#electra
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message AttesterSlashingElectra {
spec: |
class AttesterSlashing(Container):
# [Modified in Electra:EIP7549]
attestation_1: IndexedAttestation
# [Modified in Electra:EIP7549]
attestation_2: IndexedAttestation
- name: BLSToExecutionChange
sources:
- file: proto/prysm/v1alpha1/withdrawals.proto
search: message BLSToExecutionChange {
spec: |
class BLSToExecutionChange(Container):
validator_index: ValidatorIndex
from_bls_pubkey: BLSPubkey
to_execution_address: ExecutionAddress
- name: BeaconBlock
sources:
- file: proto/eth/v1/beacon_block.proto
search: message BeaconBlock {
spec: |
class BeaconBlock(Container):
slot: Slot
proposer_index: ValidatorIndex
parent_root: Root
state_root: Root
body: BeaconBlockBody
- name: BeaconBlockBody#phase0
sources:
- file: proto/eth/v1/beacon_block.proto
search: message BeaconBlockBody {
spec: |
class BeaconBlockBody(Container):
randao_reveal: BLSSignature
eth1_data: Eth1Data
graffiti: Bytes32
proposer_slashings: List[ProposerSlashing, MAX_PROPOSER_SLASHINGS]
attester_slashings: List[AttesterSlashing, MAX_ATTESTER_SLASHINGS]
attestations: List[Attestation, MAX_ATTESTATIONS]
deposits: List[Deposit, MAX_DEPOSITS]
voluntary_exits: List[SignedVoluntaryExit, MAX_VOLUNTARY_EXITS]
- name: BeaconBlockBody#altair
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message BeaconBlockBodyAltair {
spec: |
class BeaconBlockBody(Container):
randao_reveal: BLSSignature
eth1_data: Eth1Data
graffiti: Bytes32
proposer_slashings: List[ProposerSlashing, MAX_PROPOSER_SLASHINGS]
attester_slashings: List[AttesterSlashing, MAX_ATTESTER_SLASHINGS]
attestations: List[Attestation, MAX_ATTESTATIONS]
deposits: List[Deposit, MAX_DEPOSITS]
voluntary_exits: List[SignedVoluntaryExit, MAX_VOLUNTARY_EXITS]
# [New in Altair]
sync_aggregate: SyncAggregate
- name: BeaconBlockBody#bellatrix
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message BeaconBlockBodyBellatrix {
spec: |
class BeaconBlockBody(Container):
randao_reveal: BLSSignature
eth1_data: Eth1Data
graffiti: Bytes32
proposer_slashings: List[ProposerSlashing, MAX_PROPOSER_SLASHINGS]
attester_slashings: List[AttesterSlashing, MAX_ATTESTER_SLASHINGS]
attestations: List[Attestation, MAX_ATTESTATIONS]
deposits: List[Deposit, MAX_DEPOSITS]
voluntary_exits: List[SignedVoluntaryExit, MAX_VOLUNTARY_EXITS]
sync_aggregate: SyncAggregate
# [New in Bellatrix]
execution_payload: ExecutionPayload
- name: BeaconBlockBody#capella
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message BeaconBlockBodyCapella {
spec: |
class BeaconBlockBody(Container):
randao_reveal: BLSSignature
eth1_data: Eth1Data
graffiti: Bytes32
proposer_slashings: List[ProposerSlashing, MAX_PROPOSER_SLASHINGS]
attester_slashings: List[AttesterSlashing, MAX_ATTESTER_SLASHINGS]
attestations: List[Attestation, MAX_ATTESTATIONS]
deposits: List[Deposit, MAX_DEPOSITS]
voluntary_exits: List[SignedVoluntaryExit, MAX_VOLUNTARY_EXITS]
sync_aggregate: SyncAggregate
execution_payload: ExecutionPayload
# [New in Capella]
bls_to_execution_changes: List[SignedBLSToExecutionChange, MAX_BLS_TO_EXECUTION_CHANGES]
- name: BeaconBlockBody#deneb
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message BeaconBlockBodyDeneb {
spec: |
class BeaconBlockBody(Container):
randao_reveal: BLSSignature
eth1_data: Eth1Data
graffiti: Bytes32
proposer_slashings: List[ProposerSlashing, MAX_PROPOSER_SLASHINGS]
attester_slashings: List[AttesterSlashing, MAX_ATTESTER_SLASHINGS]
attestations: List[Attestation, MAX_ATTESTATIONS]
deposits: List[Deposit, MAX_DEPOSITS]
voluntary_exits: List[SignedVoluntaryExit, MAX_VOLUNTARY_EXITS]
sync_aggregate: SyncAggregate
# [Modified in Deneb:EIP4844]
execution_payload: ExecutionPayload
bls_to_execution_changes: List[SignedBLSToExecutionChange, MAX_BLS_TO_EXECUTION_CHANGES]
# [New in Deneb:EIP4844]
blob_kzg_commitments: List[KZGCommitment, MAX_BLOB_COMMITMENTS_PER_BLOCK]
- name: BeaconBlockBody#electra
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message BeaconBlockBodyElectra {
spec: |
class BeaconBlockBody(Container):
randao_reveal: BLSSignature
eth1_data: Eth1Data
graffiti: Bytes32
proposer_slashings: List[ProposerSlashing, MAX_PROPOSER_SLASHINGS]
# [Modified in Electra:EIP7549]
attester_slashings: List[AttesterSlashing, MAX_ATTESTER_SLASHINGS_ELECTRA]
# [Modified in Electra:EIP7549]
attestations: List[Attestation, MAX_ATTESTATIONS_ELECTRA]
deposits: List[Deposit, MAX_DEPOSITS]
voluntary_exits: List[SignedVoluntaryExit, MAX_VOLUNTARY_EXITS]
sync_aggregate: SyncAggregate
execution_payload: ExecutionPayload
bls_to_execution_changes: List[SignedBLSToExecutionChange, MAX_BLS_TO_EXECUTION_CHANGES]
blob_kzg_commitments: List[KZGCommitment, MAX_BLOB_COMMITMENTS_PER_BLOCK]
# [New in Electra]
execution_requests: ExecutionRequests
- name: BeaconBlockHeader
sources:
- file: proto/eth/v1/beacon_block.proto
search: message BeaconBlockHeader {
spec: |
class BeaconBlockHeader(Container):
slot: Slot
proposer_index: ValidatorIndex
parent_root: Root
state_root: Root
body_root: Root
- name: BeaconState#phase0
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message BeaconState {
spec: |
class BeaconState(Container):
genesis_time: uint64
genesis_validators_root: Root
slot: Slot
fork: Fork
latest_block_header: BeaconBlockHeader
block_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
state_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
historical_roots: List[Root, HISTORICAL_ROOTS_LIMIT]
eth1_data: Eth1Data
eth1_data_votes: List[Eth1Data, EPOCHS_PER_ETH1_VOTING_PERIOD * SLOTS_PER_EPOCH]
eth1_deposit_index: uint64
validators: List[Validator, VALIDATOR_REGISTRY_LIMIT]
balances: List[Gwei, VALIDATOR_REGISTRY_LIMIT]
randao_mixes: Vector[Bytes32, EPOCHS_PER_HISTORICAL_VECTOR]
slashings: Vector[Gwei, EPOCHS_PER_SLASHINGS_VECTOR]
previous_epoch_attestations: List[PendingAttestation, MAX_ATTESTATIONS * SLOTS_PER_EPOCH]
current_epoch_attestations: List[PendingAttestation, MAX_ATTESTATIONS * SLOTS_PER_EPOCH]
justification_bits: Bitvector[JUSTIFICATION_BITS_LENGTH]
previous_justified_checkpoint: Checkpoint
current_justified_checkpoint: Checkpoint
finalized_checkpoint: Checkpoint
- name: BeaconState#altair
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message BeaconStateAltair {
spec: |
class BeaconState(Container):
genesis_time: uint64
genesis_validators_root: Root
slot: Slot
fork: Fork
latest_block_header: BeaconBlockHeader
block_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
state_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
historical_roots: List[Root, HISTORICAL_ROOTS_LIMIT]
eth1_data: Eth1Data
eth1_data_votes: List[Eth1Data, EPOCHS_PER_ETH1_VOTING_PERIOD * SLOTS_PER_EPOCH]
eth1_deposit_index: uint64
validators: List[Validator, VALIDATOR_REGISTRY_LIMIT]
balances: List[Gwei, VALIDATOR_REGISTRY_LIMIT]
randao_mixes: Vector[Bytes32, EPOCHS_PER_HISTORICAL_VECTOR]
slashings: Vector[Gwei, EPOCHS_PER_SLASHINGS_VECTOR]
# [Modified in Altair]
previous_epoch_participation: List[ParticipationFlags, VALIDATOR_REGISTRY_LIMIT]
# [Modified in Altair]
current_epoch_participation: List[ParticipationFlags, VALIDATOR_REGISTRY_LIMIT]
justification_bits: Bitvector[JUSTIFICATION_BITS_LENGTH]
previous_justified_checkpoint: Checkpoint
current_justified_checkpoint: Checkpoint
finalized_checkpoint: Checkpoint
# [New in Altair]
inactivity_scores: List[uint64, VALIDATOR_REGISTRY_LIMIT]
# [New in Altair]
current_sync_committee: SyncCommittee
# [New in Altair]
next_sync_committee: SyncCommittee
- name: BeaconState#bellatrix
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message BeaconStateBellatrix {
spec: |
class BeaconState(Container):
genesis_time: uint64
genesis_validators_root: Root
slot: Slot
fork: Fork
latest_block_header: BeaconBlockHeader
block_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
state_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
historical_roots: List[Root, HISTORICAL_ROOTS_LIMIT]
eth1_data: Eth1Data
eth1_data_votes: List[Eth1Data, EPOCHS_PER_ETH1_VOTING_PERIOD * SLOTS_PER_EPOCH]
eth1_deposit_index: uint64
validators: List[Validator, VALIDATOR_REGISTRY_LIMIT]
balances: List[Gwei, VALIDATOR_REGISTRY_LIMIT]
randao_mixes: Vector[Bytes32, EPOCHS_PER_HISTORICAL_VECTOR]
slashings: Vector[Gwei, EPOCHS_PER_SLASHINGS_VECTOR]
previous_epoch_participation: List[ParticipationFlags, VALIDATOR_REGISTRY_LIMIT]
current_epoch_participation: List[ParticipationFlags, VALIDATOR_REGISTRY_LIMIT]
justification_bits: Bitvector[JUSTIFICATION_BITS_LENGTH]
previous_justified_checkpoint: Checkpoint
current_justified_checkpoint: Checkpoint
finalized_checkpoint: Checkpoint
inactivity_scores: List[uint64, VALIDATOR_REGISTRY_LIMIT]
current_sync_committee: SyncCommittee
next_sync_committee: SyncCommittee
# [New in Bellatrix]
latest_execution_payload_header: ExecutionPayloadHeader
- name: BeaconState#capella
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message BeaconStateCapella {
spec: |
class BeaconState(Container):
genesis_time: uint64
genesis_validators_root: Root
slot: Slot
fork: Fork
latest_block_header: BeaconBlockHeader
block_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
state_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
historical_roots: List[Root, HISTORICAL_ROOTS_LIMIT]
eth1_data: Eth1Data
eth1_data_votes: List[Eth1Data, EPOCHS_PER_ETH1_VOTING_PERIOD * SLOTS_PER_EPOCH]
eth1_deposit_index: uint64
validators: List[Validator, VALIDATOR_REGISTRY_LIMIT]
balances: List[Gwei, VALIDATOR_REGISTRY_LIMIT]
randao_mixes: Vector[Bytes32, EPOCHS_PER_HISTORICAL_VECTOR]
slashings: Vector[Gwei, EPOCHS_PER_SLASHINGS_VECTOR]
previous_epoch_participation: List[ParticipationFlags, VALIDATOR_REGISTRY_LIMIT]
current_epoch_participation: List[ParticipationFlags, VALIDATOR_REGISTRY_LIMIT]
justification_bits: Bitvector[JUSTIFICATION_BITS_LENGTH]
previous_justified_checkpoint: Checkpoint
current_justified_checkpoint: Checkpoint
finalized_checkpoint: Checkpoint
inactivity_scores: List[uint64, VALIDATOR_REGISTRY_LIMIT]
current_sync_committee: SyncCommittee
next_sync_committee: SyncCommittee
# [Modified in Capella]
latest_execution_payload_header: ExecutionPayloadHeader
# [New in Capella]
next_withdrawal_index: WithdrawalIndex
# [New in Capella]
next_withdrawal_validator_index: ValidatorIndex
# [New in Capella]
historical_summaries: List[HistoricalSummary, HISTORICAL_ROOTS_LIMIT]
- name: BeaconState#deneb
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message BeaconStateDeneb {
spec: |
class BeaconState(Container):
genesis_time: uint64
genesis_validators_root: Root
slot: Slot
fork: Fork
latest_block_header: BeaconBlockHeader
block_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
state_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
historical_roots: List[Root, HISTORICAL_ROOTS_LIMIT]
eth1_data: Eth1Data
eth1_data_votes: List[Eth1Data, EPOCHS_PER_ETH1_VOTING_PERIOD * SLOTS_PER_EPOCH]
eth1_deposit_index: uint64
validators: List[Validator, VALIDATOR_REGISTRY_LIMIT]
balances: List[Gwei, VALIDATOR_REGISTRY_LIMIT]
randao_mixes: Vector[Bytes32, EPOCHS_PER_HISTORICAL_VECTOR]
slashings: Vector[Gwei, EPOCHS_PER_SLASHINGS_VECTOR]
previous_epoch_participation: List[ParticipationFlags, VALIDATOR_REGISTRY_LIMIT]
current_epoch_participation: List[ParticipationFlags, VALIDATOR_REGISTRY_LIMIT]
justification_bits: Bitvector[JUSTIFICATION_BITS_LENGTH]
previous_justified_checkpoint: Checkpoint
current_justified_checkpoint: Checkpoint
finalized_checkpoint: Checkpoint
inactivity_scores: List[uint64, VALIDATOR_REGISTRY_LIMIT]
current_sync_committee: SyncCommittee
next_sync_committee: SyncCommittee
# [Modified in Deneb:EIP4844]
latest_execution_payload_header: ExecutionPayloadHeader
next_withdrawal_index: WithdrawalIndex
next_withdrawal_validator_index: ValidatorIndex
historical_summaries: List[HistoricalSummary, HISTORICAL_ROOTS_LIMIT]
- name: BeaconState#electra
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message BeaconStateElectra {
spec: |
class BeaconState(Container):
genesis_time: uint64
genesis_validators_root: Root
slot: Slot
fork: Fork
latest_block_header: BeaconBlockHeader
block_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
state_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
historical_roots: List[Root, HISTORICAL_ROOTS_LIMIT]
eth1_data: Eth1Data
eth1_data_votes: List[Eth1Data, EPOCHS_PER_ETH1_VOTING_PERIOD * SLOTS_PER_EPOCH]
eth1_deposit_index: uint64
validators: List[Validator, VALIDATOR_REGISTRY_LIMIT]
balances: List[Gwei, VALIDATOR_REGISTRY_LIMIT]
randao_mixes: Vector[Bytes32, EPOCHS_PER_HISTORICAL_VECTOR]
slashings: Vector[Gwei, EPOCHS_PER_SLASHINGS_VECTOR]
previous_epoch_participation: List[ParticipationFlags, VALIDATOR_REGISTRY_LIMIT]
current_epoch_participation: List[ParticipationFlags, VALIDATOR_REGISTRY_LIMIT]
justification_bits: Bitvector[JUSTIFICATION_BITS_LENGTH]
previous_justified_checkpoint: Checkpoint
current_justified_checkpoint: Checkpoint
finalized_checkpoint: Checkpoint
inactivity_scores: List[uint64, VALIDATOR_REGISTRY_LIMIT]
current_sync_committee: SyncCommittee
next_sync_committee: SyncCommittee
latest_execution_payload_header: ExecutionPayloadHeader
next_withdrawal_index: WithdrawalIndex
next_withdrawal_validator_index: ValidatorIndex
historical_summaries: List[HistoricalSummary, HISTORICAL_ROOTS_LIMIT]
# [New in Electra:EIP6110]
deposit_requests_start_index: uint64
# [New in Electra:EIP7251]
deposit_balance_to_consume: Gwei
# [New in Electra:EIP7251]
exit_balance_to_consume: Gwei
# [New in Electra:EIP7251]
earliest_exit_epoch: Epoch
# [New in Electra:EIP7251]
consolidation_balance_to_consume: Gwei
# [New in Electra:EIP7251]
earliest_consolidation_epoch: Epoch
# [New in Electra:EIP7251]
pending_deposits: List[PendingDeposit, PENDING_DEPOSITS_LIMIT]
# [New in Electra:EIP7251]
pending_partial_withdrawals: List[PendingPartialWithdrawal, PENDING_PARTIAL_WITHDRAWALS_LIMIT]
# [New in Electra:EIP7251]
pending_consolidations: List[PendingConsolidation, PENDING_CONSOLIDATIONS_LIMIT]
- name: BeaconState#fulu
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message BeaconStateFulu {
spec: |
class BeaconState(Container):
genesis_time: uint64
genesis_validators_root: Root
slot: Slot
fork: Fork
latest_block_header: BeaconBlockHeader
block_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
state_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
historical_roots: List[Root, HISTORICAL_ROOTS_LIMIT]
eth1_data: Eth1Data
eth1_data_votes: List[Eth1Data, EPOCHS_PER_ETH1_VOTING_PERIOD * SLOTS_PER_EPOCH]
eth1_deposit_index: uint64
validators: List[Validator, VALIDATOR_REGISTRY_LIMIT]
balances: List[Gwei, VALIDATOR_REGISTRY_LIMIT]
randao_mixes: Vector[Bytes32, EPOCHS_PER_HISTORICAL_VECTOR]
slashings: Vector[Gwei, EPOCHS_PER_SLASHINGS_VECTOR]
previous_epoch_participation: List[ParticipationFlags, VALIDATOR_REGISTRY_LIMIT]
current_epoch_participation: List[ParticipationFlags, VALIDATOR_REGISTRY_LIMIT]
justification_bits: Bitvector[JUSTIFICATION_BITS_LENGTH]
previous_justified_checkpoint: Checkpoint
current_justified_checkpoint: Checkpoint
finalized_checkpoint: Checkpoint
inactivity_scores: List[uint64, VALIDATOR_REGISTRY_LIMIT]
current_sync_committee: SyncCommittee
next_sync_committee: SyncCommittee
latest_execution_payload_header: ExecutionPayloadHeader
next_withdrawal_index: WithdrawalIndex
next_withdrawal_validator_index: ValidatorIndex
historical_summaries: List[HistoricalSummary, HISTORICAL_ROOTS_LIMIT]
deposit_requests_start_index: uint64
deposit_balance_to_consume: Gwei
exit_balance_to_consume: Gwei
earliest_exit_epoch: Epoch
consolidation_balance_to_consume: Gwei
earliest_consolidation_epoch: Epoch
pending_deposits: List[PendingDeposit, PENDING_DEPOSITS_LIMIT]
pending_partial_withdrawals: List[PendingPartialWithdrawal, PENDING_PARTIAL_WITHDRAWALS_LIMIT]
pending_consolidations: List[PendingConsolidation, PENDING_CONSOLIDATIONS_LIMIT]
# [New in Fulu:EIP7917]
proposer_lookahead: Vector[ValidatorIndex, (MIN_SEED_LOOKAHEAD + 1) * SLOTS_PER_EPOCH]
- name: BlobIdentifier
sources:
- file: proto/prysm/v1alpha1/blobs.proto
search: message BlobIdentifier {
spec: |
class BlobIdentifier(Container):
block_root: Root
index: BlobIndex
- name: BlobSidecar
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message BlobSidecar {
spec: |
class BlobSidecar(Container):
index: BlobIndex
blob: Blob
kzg_commitment: KZGCommitment
kzg_proof: KZGProof
signed_block_header: SignedBeaconBlockHeader
kzg_commitment_inclusion_proof: Vector[Bytes32, KZG_COMMITMENT_INCLUSION_PROOF_DEPTH]
- name: Checkpoint
sources:
- file: proto/eth/v1/attestation.proto
search: message Checkpoint {
spec: |
class Checkpoint(Container):
epoch: Epoch
root: Root
- name: ConsolidationRequest
sources:
- file: proto/engine/v1/electra.proto
search: message ConsolidationRequest {
spec: |
class ConsolidationRequest(Container):
source_address: ExecutionAddress
source_pubkey: BLSPubkey
target_pubkey: BLSPubkey
- name: ContributionAndProof
sources:
- file: proto/prysm/v1alpha1/sync_committee.proto
search: message ContributionAndProof {
spec: |
class ContributionAndProof(Container):
aggregator_index: ValidatorIndex
contribution: SyncCommitteeContribution
selection_proof: BLSSignature
- name: DataColumnSidecar
sources:
- file: proto/prysm/v1alpha1/data_columns.proto
search: message DataColumnSidecar {
spec: |
class DataColumnSidecar(Container):
index: ColumnIndex
column: List[Cell, MAX_BLOB_COMMITMENTS_PER_BLOCK]
kzg_commitments: List[KZGCommitment, MAX_BLOB_COMMITMENTS_PER_BLOCK]
kzg_proofs: List[KZGProof, MAX_BLOB_COMMITMENTS_PER_BLOCK]
signed_block_header: SignedBeaconBlockHeader
kzg_commitments_inclusion_proof: Vector[Bytes32, KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH]
- name: DataColumnsByRootIdentifier
sources:
- file: proto/prysm/v1alpha1/data_columns.proto
search: message DataColumnsByRootIdentifier {
spec: |
class DataColumnsByRootIdentifier(Container):
block_root: Root
columns: List[ColumnIndex, NUMBER_OF_COLUMNS]
- name: Deposit
sources:
- file: proto/eth/v1/beacon_block.proto
search: message Deposit {
spec: |
class Deposit(Container):
proof: Vector[Bytes32, DEPOSIT_CONTRACT_TREE_DEPTH + 1]
data: DepositData
- name: DepositData
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message Data {
spec: |
class DepositData(Container):
pubkey: BLSPubkey
withdrawal_credentials: Bytes32
amount: Gwei
signature: BLSSignature
- name: DepositMessage
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message DepositMessage {
spec: |
class DepositMessage(Container):
pubkey: BLSPubkey
withdrawal_credentials: Bytes32
amount: Gwei
- name: DepositRequest
sources:
- file: proto/engine/v1/electra.proto
search: message DepositRequest {
spec: |
class DepositRequest(Container):
pubkey: BLSPubkey
withdrawal_credentials: Bytes32
amount: Gwei
signature: BLSSignature
index: uint64
- name: Eth1Data
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message Eth1Data {
spec: |
class Eth1Data(Container):
deposit_root: Root
deposit_count: uint64
block_hash: Hash32
- name: ExecutionPayload#bellatrix
sources:
- file: proto/engine/v1/execution_engine.proto
search: message ExecutionPayload {
spec: |
class ExecutionPayload(Container):
parent_hash: Hash32
fee_recipient: ExecutionAddress
state_root: Bytes32
receipts_root: Bytes32
logs_bloom: ByteVector[BYTES_PER_LOGS_BLOOM]
prev_randao: Bytes32
block_number: uint64
gas_limit: uint64
gas_used: uint64
timestamp: uint64
extra_data: ByteList[MAX_EXTRA_DATA_BYTES]
base_fee_per_gas: uint256
block_hash: Hash32
transactions: List[Transaction, MAX_TRANSACTIONS_PER_PAYLOAD]
- name: ExecutionPayload#capella
sources:
- file: proto/engine/v1/execution_engine.proto
search: message ExecutionPayloadCapella {
spec: |
class ExecutionPayload(Container):
parent_hash: Hash32
fee_recipient: ExecutionAddress
state_root: Bytes32
receipts_root: Bytes32
logs_bloom: ByteVector[BYTES_PER_LOGS_BLOOM]
prev_randao: Bytes32
block_number: uint64
gas_limit: uint64
gas_used: uint64
timestamp: uint64
extra_data: ByteList[MAX_EXTRA_DATA_BYTES]
base_fee_per_gas: uint256
block_hash: Hash32
transactions: List[Transaction, MAX_TRANSACTIONS_PER_PAYLOAD]
# [New in Capella]
withdrawals: List[Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD]
- name: ExecutionPayload#deneb
sources:
- file: proto/engine/v1/execution_engine.proto
search: message ExecutionPayloadDeneb {
spec: |
class ExecutionPayload(Container):
parent_hash: Hash32
fee_recipient: ExecutionAddress
state_root: Bytes32
receipts_root: Bytes32
logs_bloom: ByteVector[BYTES_PER_LOGS_BLOOM]
prev_randao: Bytes32
block_number: uint64
gas_limit: uint64
gas_used: uint64
timestamp: uint64
extra_data: ByteList[MAX_EXTRA_DATA_BYTES]
base_fee_per_gas: uint256
block_hash: Hash32
transactions: List[Transaction, MAX_TRANSACTIONS_PER_PAYLOAD]
withdrawals: List[Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD]
# [New in Deneb:EIP4844]
blob_gas_used: uint64
# [New in Deneb:EIP4844]
excess_blob_gas: uint64
- name: ExecutionPayloadHeader#bellatrix
sources:
- file: proto/engine/v1/execution_engine.proto
search: message ExecutionPayloadHeader {
spec: |
class ExecutionPayloadHeader(Container):
parent_hash: Hash32
fee_recipient: ExecutionAddress
state_root: Bytes32
receipts_root: Bytes32
logs_bloom: ByteVector[BYTES_PER_LOGS_BLOOM]
prev_randao: Bytes32
block_number: uint64
gas_limit: uint64
gas_used: uint64
timestamp: uint64
extra_data: ByteList[MAX_EXTRA_DATA_BYTES]
base_fee_per_gas: uint256
block_hash: Hash32
transactions_root: Root
- name: ExecutionPayloadHeader#capella
sources:
- file: proto/engine/v1/execution_engine.proto
search: message ExecutionPayloadHeaderCapella {
spec: |
class ExecutionPayloadHeader(Container):
parent_hash: Hash32
fee_recipient: ExecutionAddress
state_root: Bytes32
receipts_root: Bytes32
logs_bloom: ByteVector[BYTES_PER_LOGS_BLOOM]
prev_randao: Bytes32
block_number: uint64
gas_limit: uint64
gas_used: uint64
timestamp: uint64
extra_data: ByteList[MAX_EXTRA_DATA_BYTES]
base_fee_per_gas: uint256
block_hash: Hash32
transactions_root: Root
# [New in Capella]
withdrawals_root: Root
- name: ExecutionPayloadHeader#deneb
sources:
- file: proto/engine/v1/execution_engine.proto
search: message ExecutionPayloadHeaderDeneb {
spec: |
class ExecutionPayloadHeader(Container):
parent_hash: Hash32
fee_recipient: ExecutionAddress
state_root: Bytes32
receipts_root: Bytes32
logs_bloom: ByteVector[BYTES_PER_LOGS_BLOOM]
prev_randao: Bytes32
block_number: uint64
gas_limit: uint64
gas_used: uint64
timestamp: uint64
extra_data: ByteList[MAX_EXTRA_DATA_BYTES]
base_fee_per_gas: uint256
block_hash: Hash32
transactions_root: Root
withdrawals_root: Root
# [New in Deneb:EIP4844]
blob_gas_used: uint64
# [New in Deneb:EIP4844]
excess_blob_gas: uint64
- name: ExecutionRequests
sources:
- file: proto/engine/v1/electra.proto
search: message ExecutionRequests {
spec: |
class ExecutionRequests(Container):
# [New in Electra:EIP6110]
deposits: List[DepositRequest, MAX_DEPOSIT_REQUESTS_PER_PAYLOAD]
# [New in Electra:EIP7002:EIP7251]
withdrawals: List[WithdrawalRequest, MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD]
# [New in Electra:EIP7251]
consolidations: List[ConsolidationRequest, MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD]
- name: Fork
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message Fork {
spec: |
class Fork(Container):
previous_version: Version
current_version: Version
epoch: Epoch
- name: ForkData
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message ForkData {
spec: |
class ForkData(Container):
current_version: Version
genesis_validators_root: Root
- name: HistoricalBatch
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message HistoricalBatch {
spec: |
class HistoricalBatch(Container):
block_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
state_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
- name: HistoricalSummary
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message HistoricalSummary {
spec: |
class HistoricalSummary(Container):
block_summary_root: Root
state_summary_root: Root
- name: IndexedAttestation#phase0
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message IndexedAttestation {
spec: |
class IndexedAttestation(Container):
attesting_indices: List[ValidatorIndex, MAX_VALIDATORS_PER_COMMITTEE]
data: AttestationData
signature: BLSSignature
- name: IndexedAttestation#electra
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message IndexedAttestationElectra {
spec: |
class IndexedAttestation(Container):
# [Modified in Electra:EIP7549]
attesting_indices: List[ValidatorIndex, MAX_VALIDATORS_PER_COMMITTEE * MAX_COMMITTEES_PER_SLOT]
data: AttestationData
signature: BLSSignature
- name: LightClientBootstrap
sources:
- file: proto/prysm/v1alpha1/light_client.proto
search: message LightClientBootstrapAltair {
spec: |
class LightClientBootstrap(Container):
# Header matching the requested beacon block root
header: LightClientHeader
# Current sync committee corresponding to `header.beacon.state_root`
current_sync_committee: SyncCommittee
current_sync_committee_branch: CurrentSyncCommitteeBranch
- name: LightClientFinalityUpdate
sources:
- file: proto/prysm/v1alpha1/light_client.proto
search: message LightClientFinalityUpdateAltair {
spec: |
class LightClientFinalityUpdate(Container):
# Header attested to by the sync committee
attested_header: LightClientHeader
# Finalized header corresponding to `attested_header.beacon.state_root`
finalized_header: LightClientHeader
finality_branch: FinalityBranch
# Sync committee aggregate signature
sync_aggregate: SyncAggregate
# Slot at which the aggregate signature was created (untrusted)
signature_slot: Slot
- name: LightClientHeader#altair
sources:
- file: proto/prysm/v1alpha1/light_client.proto
search: message LightClientHeaderAltair {
spec: |
class LightClientHeader(Container):
beacon: BeaconBlockHeader
- name: LightClientHeader#capella
sources:
- file: proto/prysm/v1alpha1/light_client.proto
search: message LightClientHeaderCapella {
spec: |
class LightClientHeader(Container):
beacon: BeaconBlockHeader
# [New in Capella]
execution: ExecutionPayloadHeader
# [New in Capella]
execution_branch: ExecutionBranch
- name: LightClientOptimisticUpdate
sources:
- file: proto/prysm/v1alpha1/light_client.proto
search: message LightClientOptimisticUpdateAltair {
spec: |
class LightClientOptimisticUpdate(Container):
# Header attested to by the sync committee
attested_header: LightClientHeader
# Sync committee aggregate signature
sync_aggregate: SyncAggregate
# Slot at which the aggregate signature was created (untrusted)
signature_slot: Slot
- name: LightClientUpdate
sources:
- file: proto/prysm/v1alpha1/light_client.proto
search: message LightClientUpdateAltair {
spec: |
class LightClientUpdate(Container):
# Header attested to by the sync committee
attested_header: LightClientHeader
# Next sync committee corresponding to `attested_header.beacon.state_root`
next_sync_committee: SyncCommittee
next_sync_committee_branch: NextSyncCommitteeBranch
# Finalized header corresponding to `attested_header.beacon.state_root`
finalized_header: LightClientHeader
finality_branch: FinalityBranch
# Sync committee aggregate signature
sync_aggregate: SyncAggregate
# Slot at which the aggregate signature was created (untrusted)
signature_slot: Slot
- name: PendingAttestation
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message PendingAttestation {
spec: |
class PendingAttestation(Container):
aggregation_bits: Bitlist[MAX_VALIDATORS_PER_COMMITTEE]
data: AttestationData
inclusion_delay: Slot
proposer_index: ValidatorIndex
- name: PendingConsolidation
sources:
- file: proto/prysm/v1alpha1/eip_7251.proto
search: message PendingConsolidation {
spec: |
class PendingConsolidation(Container):
source_index: ValidatorIndex
target_index: ValidatorIndex
- name: PendingDeposit
sources:
- file: proto/prysm/v1alpha1/eip_7251.proto
search: message PendingDeposit {
spec: |
class PendingDeposit(Container):
pubkey: BLSPubkey
withdrawal_credentials: Bytes32
amount: Gwei
signature: BLSSignature
slot: Slot
- name: PendingPartialWithdrawal
sources:
- file: proto/prysm/v1alpha1/eip_7251.proto
search: message PendingPartialWithdrawal {
spec: |
class PendingPartialWithdrawal(Container):
validator_index: ValidatorIndex
amount: Gwei
withdrawable_epoch: Epoch
- name: PowBlock
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message PowBlock {
spec: |
class PowBlock(Container):
block_hash: Hash32
parent_hash: Hash32
total_difficulty: uint256
- name: ProposerSlashing
sources:
- file: proto/eth/v1/beacon_block.proto
search: message ProposerSlashing {
spec: |
class ProposerSlashing(Container):
signed_header_1: SignedBeaconBlockHeader
signed_header_2: SignedBeaconBlockHeader
- name: SignedAggregateAndProof#phase0
sources:
- file: proto/prysm/v1alpha1/attestation.proto
search: message SignedAggregateAttestationAndProof {
spec: |
class SignedAggregateAndProof(Container):
message: AggregateAndProof
signature: BLSSignature
- name: SignedAggregateAndProof#electra
sources:
- file: proto/prysm/v1alpha1/attestation.proto
search: message SignedAggregateAttestationAndProofElectra {
spec: |
class SignedAggregateAndProof(Container):
# [Modified in Electra:EIP7549]
message: AggregateAndProof
signature: BLSSignature
- name: SignedBLSToExecutionChange
sources:
- file: proto/prysm/v1alpha1/withdrawals.proto
search: message SignedBLSToExecutionChange {
spec: |
class SignedBLSToExecutionChange(Container):
message: BLSToExecutionChange
signature: BLSSignature
- name: SignedBeaconBlock
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message SignedBeaconBlock {
spec: |
class SignedBeaconBlock(Container):
message: BeaconBlock
signature: BLSSignature
- name: SignedBeaconBlockHeader
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message SignedBeaconBlockHeader {
spec: |
class SignedBeaconBlockHeader(Container):
message: BeaconBlockHeader
signature: BLSSignature
- name: SignedContributionAndProof
sources:
- file: proto/prysm/v1alpha1/sync_committee.proto
search: message SignedContributionAndProof {
spec: |
class SignedContributionAndProof(Container):
message: ContributionAndProof
signature: BLSSignature
- name: SignedVoluntaryExit
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message SignedVoluntaryExit {
spec: |
class SignedVoluntaryExit(Container):
message: VoluntaryExit
signature: BLSSignature
- name: SigningData
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message SigningData {
spec: |
class SigningData(Container):
object_root: Root
domain: Domain
- name: SingleAttestation
sources:
- file: proto/prysm/v1alpha1/attestation.proto
search: message SingleAttestation {
spec: |
class SingleAttestation(Container):
committee_index: CommitteeIndex
attester_index: ValidatorIndex
data: AttestationData
signature: BLSSignature
- name: SyncAggregate
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message SyncAggregate {
spec: |
class SyncAggregate(Container):
sync_committee_bits: Bitvector[SYNC_COMMITTEE_SIZE]
sync_committee_signature: BLSSignature
- name: SyncAggregatorSelectionData
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message SyncAggregatorSelectionData {
spec: |
class SyncAggregatorSelectionData(Container):
slot: Slot
subcommittee_index: uint64
- name: SyncCommittee
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message SyncCommittee {
spec: |
class SyncCommittee(Container):
pubkeys: Vector[BLSPubkey, SYNC_COMMITTEE_SIZE]
aggregate_pubkey: BLSPubkey
- name: SyncCommitteeContribution
sources:
- file: proto/prysm/v1alpha1/sync_committee.proto
search: message SyncCommitteeContribution {
spec: |
class SyncCommitteeContribution(Container):
slot: Slot
beacon_block_root: Root
subcommittee_index: uint64
aggregation_bits: Bitvector[SYNC_COMMITTEE_SIZE // SYNC_COMMITTEE_SUBNET_COUNT]
signature: BLSSignature
- name: SyncCommitteeMessage
sources:
- file: proto/prysm/v1alpha1/sync_committee.proto
search: message SyncCommitteeMessage {
spec: |
class SyncCommitteeMessage(Container):
slot: Slot
beacon_block_root: Root
validator_index: ValidatorIndex
signature: BLSSignature
- name: Validator
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message Validator {
spec: |
class Validator(Container):
pubkey: BLSPubkey
withdrawal_credentials: Bytes32
effective_balance: Gwei
slashed: boolean
activation_eligibility_epoch: Epoch
activation_epoch: Epoch
exit_epoch: Epoch
withdrawable_epoch: Epoch
- name: VoluntaryExit
sources:
- file: proto/eth/v1/beacon_block.proto
search: message VoluntaryExit {
spec: |
class VoluntaryExit(Container):
epoch: Epoch
validator_index: ValidatorIndex
- name: Withdrawal
sources:
- file: proto/engine/v1/execution_engine.proto
search: message Withdrawal {
spec: |
class Withdrawal(Container):
index: WithdrawalIndex
validator_index: ValidatorIndex
address: ExecutionAddress
amount: Gwei
- name: WithdrawalRequest
sources:
- file: proto/engine/v1/electra.proto
search: message WithdrawalRequest {
spec: |
class WithdrawalRequest(Container):
source_address: ExecutionAddress
validator_pubkey: BLSPubkey
amount: Gwei