- 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#phase0 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#capella 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#phase0 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: BeaconBlockBody#gloas sources: [] 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_ELECTRA] attestations: List[Attestation, MAX_ATTESTATIONS_ELECTRA] deposits: List[Deposit, MAX_DEPOSITS] voluntary_exits: List[SignedVoluntaryExit, MAX_VOLUNTARY_EXITS] sync_aggregate: SyncAggregate # [Modified in Gloas:EIP7732] # Removed `execution_payload` bls_to_execution_changes: List[SignedBLSToExecutionChange, MAX_BLS_TO_EXECUTION_CHANGES] # [Modified in Gloas:EIP7732] # Removed `blob_kzg_commitments` # [Modified in Gloas:EIP7732] # Removed `execution_requests` # [New in Gloas:EIP7732] signed_execution_payload_bid: SignedExecutionPayloadBid # [New in Gloas:EIP7732] payload_attestations: List[PayloadAttestation, MAX_PAYLOAD_ATTESTATIONS] # [New in Gloas:EIP7732] parent_execution_requests: ExecutionRequests - name: BeaconBlockHeader#phase0 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: BeaconState#gloas sources: [] 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 Gloas:EIP7732] # Removed `latest_execution_payload_header` # [New in Gloas:EIP7732] latest_block_hash: Hash32 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] proposer_lookahead: Vector[ValidatorIndex, (MIN_SEED_LOOKAHEAD + 1) * SLOTS_PER_EPOCH] # [New in Gloas:EIP7732] builders: List[Builder, BUILDER_REGISTRY_LIMIT] # [New in Gloas:EIP7732] next_withdrawal_builder_index: BuilderIndex # [New in Gloas:EIP7732] execution_payload_availability: Bitvector[SLOTS_PER_HISTORICAL_ROOT] # [New in Gloas:EIP7732] builder_pending_payments: Vector[BuilderPendingPayment, 2 * SLOTS_PER_EPOCH] # [New in Gloas:EIP7732] builder_pending_withdrawals: List[BuilderPendingWithdrawal, BUILDER_PENDING_WITHDRAWALS_LIMIT] # [New in Gloas:EIP7732] latest_execution_payload_bid: ExecutionPayloadBid # [New in Gloas:EIP7732] payload_expected_withdrawals: List[Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD] # [New in Gloas:EIP7732] ptc_window: Vector[Vector[ValidatorIndex, PTC_SIZE], (2 + MIN_SEED_LOOKAHEAD) * SLOTS_PER_EPOCH] - name: BeaconState#heze sources: [] 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_block_hash: Hash32 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] proposer_lookahead: Vector[ValidatorIndex, (MIN_SEED_LOOKAHEAD + 1) * SLOTS_PER_EPOCH] builders: List[Builder, BUILDER_REGISTRY_LIMIT] next_withdrawal_builder_index: BuilderIndex execution_payload_availability: Bitvector[SLOTS_PER_HISTORICAL_ROOT] builder_pending_payments: Vector[BuilderPendingPayment, 2 * SLOTS_PER_EPOCH] builder_pending_withdrawals: List[BuilderPendingWithdrawal, BUILDER_PENDING_WITHDRAWALS_LIMIT] # [Modified in Heze:EIP7805] latest_execution_payload_bid: ExecutionPayloadBid payload_expected_withdrawals: List[Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD] ptc_window: Vector[Vector[ValidatorIndex, PTC_SIZE], (2 + MIN_SEED_LOOKAHEAD) * SLOTS_PER_EPOCH] - name: BeaconState#heze sources: [] 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_block_hash: Hash32 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] proposer_lookahead: Vector[ValidatorIndex, (MIN_SEED_LOOKAHEAD + 1) * SLOTS_PER_EPOCH] builders: List[Builder, BUILDER_REGISTRY_LIMIT] next_withdrawal_builder_index: BuilderIndex execution_payload_availability: Bitvector[SLOTS_PER_HISTORICAL_ROOT] builder_pending_payments: Vector[BuilderPendingPayment, 2 * SLOTS_PER_EPOCH] builder_pending_withdrawals: List[BuilderPendingWithdrawal, BUILDER_PENDING_WITHDRAWALS_LIMIT] # [Modified in Heze:EIP7805] latest_execution_payload_bid: ExecutionPayloadBid payload_expected_withdrawals: List[Withdrawal, MAX_WITHDRAWALS_PER_PAYLOAD] ptc_window: Vector[Vector[ValidatorIndex, PTC_SIZE], (2 + MIN_SEED_LOOKAHEAD) * SLOTS_PER_EPOCH] - name: BlobIdentifier#deneb sources: - file: proto/prysm/v1alpha1/blobs.proto search: message BlobIdentifier { spec: | class BlobIdentifier(Container): block_root: Root index: BlobIndex - name: BlobSidecar#deneb 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: Builder#gloas sources: [] spec: | class Builder(Container): pubkey: BLSPubkey version: uint8 execution_address: ExecutionAddress balance: Gwei deposit_epoch: Epoch withdrawable_epoch: Epoch - name: BuilderPendingPayment#gloas sources: [] spec: | class BuilderPendingPayment(Container): weight: Gwei withdrawal: BuilderPendingWithdrawal - name: BuilderPendingWithdrawal#gloas sources: [] spec: | class BuilderPendingWithdrawal(Container): fee_recipient: ExecutionAddress amount: Gwei builder_index: BuilderIndex - name: Checkpoint#phase0 sources: - file: proto/eth/v1/attestation.proto search: message Checkpoint { spec: | class Checkpoint(Container): epoch: Epoch root: Root - name: ConsolidationRequest#electra 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#altair 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#fulu 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: DataColumnSidecar#gloas sources: [] spec: | class DataColumnSidecar(Container): index: ColumnIndex column: List[Cell, MAX_BLOB_COMMITMENTS_PER_BLOCK] # [Modified in Gloas:EIP7732] # Removed `kzg_commitments` kzg_proofs: List[KZGProof, MAX_BLOB_COMMITMENTS_PER_BLOCK] # [Modified in Gloas:EIP7732] # Removed `signed_block_header` # [Modified in Gloas:EIP7732] # Removed `kzg_commitments_inclusion_proof` # [New in Gloas:EIP7732] slot: Slot # [New in Gloas:EIP7732] beacon_block_root: Root - name: DataColumnsByRootIdentifier#fulu 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#phase0 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#phase0 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#phase0 sources: - file: proto/prysm/v1alpha1/beacon_state.proto search: message DepositMessage { spec: | class DepositMessage(Container): pubkey: BLSPubkey withdrawal_credentials: Bytes32 amount: Gwei - name: DepositRequest#electra 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: Eth1Block#phase0 sources: [] spec: | class Eth1Block(Container): timestamp: uint64 deposit_root: Root deposit_count: uint64 - name: Eth1Data#phase0 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: ExecutionPayload#gloas sources: [] 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] blob_gas_used: uint64 excess_blob_gas: uint64 # [New in Gloas:EIP7928] block_access_list: BlockAccessList # [New in Gloas:EIP7843] slot_number: uint64 - name: ExecutionPayloadBid#gloas sources: [] spec: | class ExecutionPayloadBid(Container): parent_block_hash: Hash32 parent_block_root: Root block_hash: Hash32 prev_randao: Bytes32 fee_recipient: ExecutionAddress gas_limit: uint64 builder_index: BuilderIndex slot: Slot value: Gwei execution_payment: Gwei blob_kzg_commitments: List[KZGCommitment, MAX_BLOB_COMMITMENTS_PER_BLOCK] execution_requests_root: Root - name: ExecutionPayloadBid#heze sources: [] spec: | class ExecutionPayloadBid(Container): parent_block_hash: Hash32 parent_block_root: Root block_hash: Hash32 prev_randao: Bytes32 fee_recipient: ExecutionAddress gas_limit: uint64 builder_index: BuilderIndex slot: Slot value: Gwei execution_payment: Gwei blob_kzg_commitments: List[KZGCommitment, MAX_BLOB_COMMITMENTS_PER_BLOCK] execution_requests_root: Root # [New in Heze:EIP7805] inclusion_list_bits: Bitvector[INCLUSION_LIST_COMMITTEE_SIZE] - name: ExecutionPayloadEnvelope#gloas sources: [] spec: | class ExecutionPayloadEnvelope(Container): payload: ExecutionPayload execution_requests: ExecutionRequests builder_index: BuilderIndex beacon_block_root: Root - 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#electra 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#phase0 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: ForkChoiceNode#gloas sources: [] spec: | class ForkChoiceNode(Container): root: Root payload_status: PayloadStatus # One of PAYLOAD_STATUS_* values - name: ForkData#phase0 sources: - file: proto/prysm/v1alpha1/beacon_state.proto search: message ForkData { spec: | class ForkData(Container): current_version: Version genesis_validators_root: Root - name: HistoricalBatch#phase0 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#capella 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: InclusionList#heze sources: [] spec: | class InclusionList(Container): slot: Slot validator_index: ValidatorIndex inclusion_list_committee_root: Root transactions: List[Transaction, MAX_TRANSACTIONS_PER_PAYLOAD] - 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: IndexedPayloadAttestation#gloas sources: [] spec: | class IndexedPayloadAttestation(Container): attesting_indices: List[ValidatorIndex, PTC_SIZE] data: PayloadAttestationData signature: BLSSignature - name: LightClientBootstrap#altair 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: LightClientBootstrap#capella sources: [] spec: | class LightClientBootstrap(Container): # [Modified in Capella] header: LightClientHeader current_sync_committee: SyncCommittee current_sync_committee_branch: CurrentSyncCommitteeBranch - name: LightClientFinalityUpdate#altair 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: LightClientFinalityUpdate#capella sources: [] spec: | class LightClientFinalityUpdate(Container): # [Modified in Capella] attested_header: LightClientHeader # [Modified in Capella] finalized_header: LightClientHeader finality_branch: FinalityBranch sync_aggregate: SyncAggregate 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#altair 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: LightClientOptimisticUpdate#capella sources: [] spec: | class LightClientOptimisticUpdate(Container): # [Modified in Capella] attested_header: LightClientHeader sync_aggregate: SyncAggregate signature_slot: Slot - name: LightClientUpdate#altair 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: LightClientUpdate#capella sources: [] spec: | class LightClientUpdate(Container): # [Modified in Capella] attested_header: LightClientHeader next_sync_committee: SyncCommittee next_sync_committee_branch: NextSyncCommitteeBranch # [Modified in Capella] finalized_header: LightClientHeader finality_branch: FinalityBranch sync_aggregate: SyncAggregate signature_slot: Slot - name: MatrixEntry#fulu sources: [] spec: | class MatrixEntry(Container): cell: Cell kzg_proof: KZGProof column_index: ColumnIndex row_index: RowIndex - name: PartialDataColumnHeader#fulu sources: [] spec: | class PartialDataColumnHeader(Container): kzg_commitments: List[KZGCommitment, MAX_BLOB_COMMITMENTS_PER_BLOCK] signed_block_header: SignedBeaconBlockHeader kzg_commitments_inclusion_proof: Vector[Bytes32, KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH] - name: PartialDataColumnHeader#gloas sources: [] spec: | class PartialDataColumnHeader(Container): kzg_commitments: List[KZGCommitment, MAX_BLOB_COMMITMENTS_PER_BLOCK] # [Modified in Gloas:EIP7732] # Removed `signed_block_header` # [Modified in Gloas:EIP7732] # Removed `kzg_commitments_inclusion_proof` # [New in Gloas:EIP7732] slot: Slot # [New in Gloas:EIP7732] beacon_block_root: Root - name: PartialDataColumnPartsMetadata#fulu sources: [] spec: | class PartialDataColumnPartsMetadata(Container): available: Bitlist[MAX_BLOB_COMMITMENTS_PER_BLOCK] requests: Bitlist[MAX_BLOB_COMMITMENTS_PER_BLOCK] - name: PartialDataColumnSidecar#fulu sources: [] spec: | class PartialDataColumnSidecar(Container): cells_present_bitmap: Bitlist[MAX_BLOB_COMMITMENTS_PER_BLOCK] partial_column: List[Cell, MAX_BLOB_COMMITMENTS_PER_BLOCK] kzg_proofs: List[KZGProof, MAX_BLOB_COMMITMENTS_PER_BLOCK] # Optional header, only sent on eager pushes header: List[PartialDataColumnHeader, 1] - name: PayloadAttestation#gloas sources: [] spec: | class PayloadAttestation(Container): aggregation_bits: Bitvector[PTC_SIZE] data: PayloadAttestationData signature: BLSSignature - name: PayloadAttestationData#gloas sources: [] spec: | class PayloadAttestationData(Container): beacon_block_root: Root slot: Slot payload_present: boolean blob_data_available: boolean - name: PayloadAttestationMessage#gloas sources: [] spec: | class PayloadAttestationMessage(Container): validator_index: ValidatorIndex data: PayloadAttestationData signature: BLSSignature - name: PendingAttestation#phase0 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#electra sources: - file: proto/prysm/v1alpha1/eip_7251.proto search: message PendingConsolidation { spec: | class PendingConsolidation(Container): source_index: ValidatorIndex target_index: ValidatorIndex - name: PendingDeposit#electra 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#electra 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#bellatrix 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: ProposerPreferences#gloas sources: [] spec: | class ProposerPreferences(Container): proposal_slot: Slot validator_index: ValidatorIndex fee_recipient: ExecutionAddress gas_limit: uint64 - name: ProposerSlashing#phase0 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#capella sources: - file: proto/prysm/v1alpha1/withdrawals.proto search: message SignedBLSToExecutionChange { spec: | class SignedBLSToExecutionChange(Container): message: BLSToExecutionChange signature: BLSSignature - name: SignedBeaconBlock#phase0 sources: - file: proto/prysm/v1alpha1/beacon_block.proto search: message SignedBeaconBlock { spec: | class SignedBeaconBlock(Container): message: BeaconBlock signature: BLSSignature - name: SignedBeaconBlockHeader#phase0 sources: - file: proto/prysm/v1alpha1/beacon_core_types.proto search: message SignedBeaconBlockHeader { spec: | class SignedBeaconBlockHeader(Container): message: BeaconBlockHeader signature: BLSSignature - name: SignedContributionAndProof#altair sources: - file: proto/prysm/v1alpha1/sync_committee.proto search: message SignedContributionAndProof { spec: | class SignedContributionAndProof(Container): message: ContributionAndProof signature: BLSSignature - name: SignedExecutionPayloadBid#gloas sources: [] spec: | class SignedExecutionPayloadBid(Container): message: ExecutionPayloadBid signature: BLSSignature - name: SignedExecutionPayloadBid#heze sources: [] spec: | class SignedExecutionPayloadBid(Container): # [Modified in Heze:EIP7805] message: ExecutionPayloadBid signature: BLSSignature - name: SignedExecutionPayloadEnvelope#gloas sources: [] spec: | class SignedExecutionPayloadEnvelope(Container): message: ExecutionPayloadEnvelope signature: BLSSignature - name: SignedInclusionList#heze sources: [] spec: | class SignedInclusionList(Container): message: InclusionList signature: BLSSignature - name: SignedProposerPreferences#gloas sources: [] spec: | class SignedProposerPreferences(Container): message: ProposerPreferences signature: BLSSignature - name: SignedVoluntaryExit#phase0 sources: - file: proto/prysm/v1alpha1/beacon_core_types.proto search: message SignedVoluntaryExit { spec: | class SignedVoluntaryExit(Container): message: VoluntaryExit signature: BLSSignature - name: SigningData#phase0 sources: - file: proto/prysm/v1alpha1/beacon_state.proto search: message SigningData { spec: | class SigningData(Container): object_root: Root domain: Domain - name: SingleAttestation#electra 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#altair 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#altair sources: - file: proto/prysm/v1alpha1/beacon_state.proto search: message SyncAggregatorSelectionData { spec: | class SyncAggregatorSelectionData(Container): slot: Slot subcommittee_index: uint64 - name: SyncCommittee#altair 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#altair 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#altair 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#phase0 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#phase0 sources: - file: proto/eth/v1/beacon_block.proto search: message VoluntaryExit { spec: | class VoluntaryExit(Container): epoch: Epoch validator_index: ValidatorIndex - name: Withdrawal#capella 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#electra sources: - file: proto/engine/v1/electra.proto search: message WithdrawalRequest { spec: | class WithdrawalRequest(Container): source_address: ExecutionAddress validator_pubkey: BLSPubkey amount: Gwei