- 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