Files
prysm/specrefs/containers.yml

1306 lines
47 KiB
YAML

- name: AggregateAndProof#phase0
sources:
- file: proto/prysm/v1alpha1/attestation.proto
search: message AggregateAttestationAndProof {
spec: |
<spec ssz_object="AggregateAndProof" fork="phase0" hash="a218764f">
class AggregateAndProof(Container):
aggregator_index: ValidatorIndex
aggregate: Attestation
selection_proof: BLSSignature
</spec>
- name: AggregateAndProof#electra
sources:
- file: proto/prysm/v1alpha1/attestation.proto
search: message AggregateAttestationAndProofElectra {
spec: |
<spec ssz_object="AggregateAndProof" fork="electra" hash="a7f482d7">
class AggregateAndProof(Container):
aggregator_index: ValidatorIndex
# [Modified in Electra:EIP7549]
aggregate: Attestation
selection_proof: BLSSignature
</spec>
- name: Attestation#phase0
sources:
- file: proto/prysm/v1alpha1/attestation.proto
search: message Attestation {
spec: |
<spec ssz_object="Attestation" fork="phase0" hash="5fc71dce">
class Attestation(Container):
aggregation_bits: Bitlist[MAX_VALIDATORS_PER_COMMITTEE]
data: AttestationData
signature: BLSSignature
</spec>
- name: Attestation#electra
sources:
- file: proto/prysm/v1alpha1/attestation.proto
search: message AttestationElectra {
spec: |
<spec ssz_object="Attestation" fork="electra" hash="a27cddfb">
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]
</spec>
- name: AttestationData
sources:
- file: proto/eth/v1/attestation.proto
search: message AttestationData {
spec: |
<spec ssz_object="AttestationData" fork="phase0" hash="854be491">
class AttestationData(Container):
slot: Slot
index: CommitteeIndex
beacon_block_root: Root
source: Checkpoint
target: Checkpoint
</spec>
- name: AttesterSlashing#phase0
sources:
- file: proto/eth/v1/beacon_block.proto
search: message AttesterSlashing {
spec: |
<spec ssz_object="AttesterSlashing" fork="phase0" hash="caf8a91a">
class AttesterSlashing(Container):
attestation_1: IndexedAttestation
attestation_2: IndexedAttestation
</spec>
- name: AttesterSlashing#electra
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message AttesterSlashingElectra {
spec: |
<spec ssz_object="AttesterSlashing" fork="electra" hash="2b9f773d">
class AttesterSlashing(Container):
# [Modified in Electra:EIP7549]
attestation_1: IndexedAttestation
# [Modified in Electra:EIP7549]
attestation_2: IndexedAttestation
</spec>
- name: BLSToExecutionChange
sources:
- file: proto/prysm/v1alpha1/withdrawals.proto
search: message BLSToExecutionChange {
spec: |
<spec ssz_object="BLSToExecutionChange" fork="capella" hash="9271c356">
class BLSToExecutionChange(Container):
validator_index: ValidatorIndex
from_bls_pubkey: BLSPubkey
to_execution_address: ExecutionAddress
</spec>
- name: BeaconBlock
sources:
- file: proto/eth/v1/beacon_block.proto
search: message BeaconBlock {
spec: |
<spec ssz_object="BeaconBlock" fork="phase0" hash="79909f0a">
class BeaconBlock(Container):
slot: Slot
proposer_index: ValidatorIndex
parent_root: Root
state_root: Root
body: BeaconBlockBody
</spec>
- name: BeaconBlockBody#phase0
sources:
- file: proto/eth/v1/beacon_block.proto
search: message BeaconBlockBody {
spec: |
<spec ssz_object="BeaconBlockBody" fork="phase0" hash="e982fea2">
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]
</spec>
- name: BeaconBlockBody#altair
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message BeaconBlockBodyAltair {
spec: |
<spec ssz_object="BeaconBlockBody" fork="altair" hash="4afb2e64">
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
</spec>
- name: BeaconBlockBody#bellatrix
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message BeaconBlockBodyBellatrix {
spec: |
<spec ssz_object="BeaconBlockBody" fork="bellatrix" hash="2ba73fc8">
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
</spec>
- name: BeaconBlockBody#capella
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message BeaconBlockBodyCapella {
spec: |
<spec ssz_object="BeaconBlockBody" fork="capella" hash="3136f99b">
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]
</spec>
- name: BeaconBlockBody#deneb
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message BeaconBlockBodyDeneb {
spec: |
<spec ssz_object="BeaconBlockBody" fork="deneb" hash="cf0c1053">
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]
</spec>
- name: BeaconBlockBody#electra
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message BeaconBlockBodyElectra {
spec: |
<spec ssz_object="BeaconBlockBody" fork="electra" hash="cd172b8c">
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
</spec>
- name: BeaconBlockHeader
sources:
- file: proto/eth/v1/beacon_block.proto
search: message BeaconBlockHeader {
spec: |
<spec ssz_object="BeaconBlockHeader" fork="phase0" hash="0be4f2e7">
class BeaconBlockHeader(Container):
slot: Slot
proposer_index: ValidatorIndex
parent_root: Root
state_root: Root
body_root: Root
</spec>
- name: BeaconState#phase0
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message BeaconState {
spec: |
<spec ssz_object="BeaconState" fork="phase0" hash="05beaa1c">
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
</spec>
- name: BeaconState#altair
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message BeaconStateAltair {
spec: |
<spec ssz_object="BeaconState" fork="altair" hash="8de7d5fb">
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
</spec>
- name: BeaconState#bellatrix
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message BeaconStateBellatrix {
spec: |
<spec ssz_object="BeaconState" fork="bellatrix" hash="e5633a51">
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
</spec>
- name: BeaconState#capella
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message BeaconStateCapella {
spec: |
<spec ssz_object="BeaconState" fork="capella" hash="245ba83b">
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]
</spec>
- name: BeaconState#deneb
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message BeaconStateDeneb {
spec: |
<spec ssz_object="BeaconState" fork="deneb" hash="32fd9dc4">
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]
</spec>
- name: BeaconState#electra
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message BeaconStateElectra {
spec: |
<spec ssz_object="BeaconState" fork="electra" hash="55e40daf">
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]
</spec>
- name: BeaconState#fulu
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message BeaconStateFulu {
spec: |
<spec ssz_object="BeaconState" fork="fulu" hash="0923b253">
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]
</spec>
- name: BlobIdentifier
sources:
- file: proto/prysm/v1alpha1/blobs.proto
search: message BlobIdentifier {
spec: |
<spec ssz_object="BlobIdentifier" fork="deneb" hash="14d845de">
class BlobIdentifier(Container):
block_root: Root
index: BlobIndex
</spec>
- name: BlobSidecar
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message BlobSidecar {
spec: |
<spec ssz_object="BlobSidecar" fork="deneb" hash="b4f28e34">
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]
</spec>
- name: Checkpoint
sources:
- file: proto/eth/v1/attestation.proto
search: message Checkpoint {
spec: |
<spec ssz_object="Checkpoint" fork="phase0" hash="24947006">
class Checkpoint(Container):
epoch: Epoch
root: Root
</spec>
- name: ConsolidationRequest
sources:
- file: proto/engine/v1/electra.proto
search: message ConsolidationRequest {
spec: |
<spec ssz_object="ConsolidationRequest" fork="electra" hash="269fdb77">
class ConsolidationRequest(Container):
source_address: ExecutionAddress
source_pubkey: BLSPubkey
target_pubkey: BLSPubkey
</spec>
- name: ContributionAndProof
sources:
- file: proto/prysm/v1alpha1/sync_committee.proto
search: message ContributionAndProof {
spec: |
<spec ssz_object="ContributionAndProof" fork="altair" hash="f7a5150c">
class ContributionAndProof(Container):
aggregator_index: ValidatorIndex
contribution: SyncCommitteeContribution
selection_proof: BLSSignature
</spec>
- name: DataColumnSidecar
sources:
- file: proto/prysm/v1alpha1/data_columns.proto
search: message DataColumnSidecar {
spec: |
<spec ssz_object="DataColumnSidecar" fork="fulu" hash="03586114">
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]
</spec>
- name: DataColumnsByRootIdentifier
sources:
- file: proto/prysm/v1alpha1/data_columns.proto
search: message DataColumnsByRootIdentifier {
spec: |
<spec ssz_object="DataColumnsByRootIdentifier" fork="fulu" hash="f0478456">
class DataColumnsByRootIdentifier(Container):
block_root: Root
columns: List[ColumnIndex, NUMBER_OF_COLUMNS]
</spec>
- name: Deposit
sources:
- file: proto/eth/v1/beacon_block.proto
search: message Deposit {
spec: |
<spec ssz_object="Deposit" fork="phase0" hash="cc281399">
class Deposit(Container):
proof: Vector[Bytes32, DEPOSIT_CONTRACT_TREE_DEPTH + 1]
data: DepositData
</spec>
- name: DepositData
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message Data {
spec: |
<spec ssz_object="DepositData" fork="phase0" hash="44ba3a61">
class DepositData(Container):
pubkey: BLSPubkey
withdrawal_credentials: Bytes32
amount: Gwei
signature: BLSSignature
</spec>
- name: DepositMessage
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message DepositMessage {
spec: |
<spec ssz_object="DepositMessage" fork="phase0" hash="d6f4c2ef">
class DepositMessage(Container):
pubkey: BLSPubkey
withdrawal_credentials: Bytes32
amount: Gwei
</spec>
- name: DepositRequest
sources:
- file: proto/engine/v1/electra.proto
search: message DepositRequest {
spec: |
<spec ssz_object="DepositRequest" fork="electra" hash="3af9895d">
class DepositRequest(Container):
pubkey: BLSPubkey
withdrawal_credentials: Bytes32
amount: Gwei
signature: BLSSignature
index: uint64
</spec>
- name: Eth1Data
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message Eth1Data {
spec: |
<spec ssz_object="Eth1Data" fork="phase0" hash="1d7be228">
class Eth1Data(Container):
deposit_root: Root
deposit_count: uint64
block_hash: Hash32
</spec>
- name: ExecutionPayload#bellatrix
sources:
- file: proto/engine/v1/execution_engine.proto
search: message ExecutionPayload {
spec: |
<spec ssz_object="ExecutionPayload" fork="bellatrix" hash="da4d8580">
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]
</spec>
- name: ExecutionPayload#capella
sources:
- file: proto/engine/v1/execution_engine.proto
search: message ExecutionPayloadCapella {
spec: |
<spec ssz_object="ExecutionPayload" fork="capella" hash="5533cb47">
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]
</spec>
- name: ExecutionPayload#deneb
sources:
- file: proto/engine/v1/execution_engine.proto
search: message ExecutionPayloadDeneb {
spec: |
<spec ssz_object="ExecutionPayload" fork="deneb" hash="974f7cc9">
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
</spec>
- name: ExecutionPayloadHeader#bellatrix
sources:
- file: proto/engine/v1/execution_engine.proto
search: message ExecutionPayloadHeader {
spec: |
<spec ssz_object="ExecutionPayloadHeader" fork="bellatrix" hash="08fc7165">
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
</spec>
- name: ExecutionPayloadHeader#capella
sources:
- file: proto/engine/v1/execution_engine.proto
search: message ExecutionPayloadHeaderCapella {
spec: |
<spec ssz_object="ExecutionPayloadHeader" fork="capella" hash="5f481de3">
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
</spec>
- name: ExecutionPayloadHeader#deneb
sources:
- file: proto/engine/v1/execution_engine.proto
search: message ExecutionPayloadHeaderDeneb {
spec: |
<spec ssz_object="ExecutionPayloadHeader" fork="deneb" hash="957fa918">
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
</spec>
- name: ExecutionRequests
sources:
- file: proto/engine/v1/electra.proto
search: message ExecutionRequests {
spec: |
<spec ssz_object="ExecutionRequests" fork="electra" hash="048c4a44">
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]
</spec>
- name: Fork
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message Fork {
spec: |
<spec ssz_object="Fork" fork="phase0" hash="d210b04e">
class Fork(Container):
previous_version: Version
current_version: Version
epoch: Epoch
</spec>
- name: ForkData
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message ForkData {
spec: |
<spec ssz_object="ForkData" fork="phase0" hash="8ed39352">
class ForkData(Container):
current_version: Version
genesis_validators_root: Root
</spec>
- name: HistoricalBatch
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message HistoricalBatch {
spec: |
<spec ssz_object="HistoricalBatch" fork="phase0" hash="3b677eb3">
class HistoricalBatch(Container):
block_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
state_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT]
</spec>
- name: HistoricalSummary
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message HistoricalSummary {
spec: |
<spec ssz_object="HistoricalSummary" fork="capella" hash="bfff1483">
class HistoricalSummary(Container):
block_summary_root: Root
state_summary_root: Root
</spec>
- name: IndexedAttestation#phase0
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message IndexedAttestation {
spec: |
<spec ssz_object="IndexedAttestation" fork="phase0" hash="b321d4c3">
class IndexedAttestation(Container):
attesting_indices: List[ValidatorIndex, MAX_VALIDATORS_PER_COMMITTEE]
data: AttestationData
signature: BLSSignature
</spec>
- name: IndexedAttestation#electra
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message IndexedAttestationElectra {
spec: |
<spec ssz_object="IndexedAttestation" fork="electra" hash="2f924640">
class IndexedAttestation(Container):
# [Modified in Electra:EIP7549]
attesting_indices: List[ValidatorIndex, MAX_VALIDATORS_PER_COMMITTEE * MAX_COMMITTEES_PER_SLOT]
data: AttestationData
signature: BLSSignature
</spec>
- name: LightClientBootstrap
sources:
- file: proto/prysm/v1alpha1/light_client.proto
search: message LightClientBootstrapAltair {
spec: |
<spec ssz_object="LightClientBootstrap" fork="altair" hash="e0d2fa88">
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
</spec>
- name: LightClientFinalityUpdate
sources:
- file: proto/prysm/v1alpha1/light_client.proto
search: message LightClientFinalityUpdateAltair {
spec: |
<spec ssz_object="LightClientFinalityUpdate" fork="altair" hash="d392e9f3">
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
</spec>
- name: LightClientHeader#altair
sources:
- file: proto/prysm/v1alpha1/light_client.proto
search: message LightClientHeaderAltair {
spec: |
<spec ssz_object="LightClientHeader" fork="altair" hash="53de7cd2">
class LightClientHeader(Container):
beacon: BeaconBlockHeader
</spec>
- name: LightClientHeader#capella
sources:
- file: proto/prysm/v1alpha1/light_client.proto
search: message LightClientHeaderCapella {
spec: |
<spec ssz_object="LightClientHeader" fork="capella" hash="b625e61e">
class LightClientHeader(Container):
beacon: BeaconBlockHeader
# [New in Capella]
execution: ExecutionPayloadHeader
# [New in Capella]
execution_branch: ExecutionBranch
</spec>
- name: LightClientOptimisticUpdate
sources:
- file: proto/prysm/v1alpha1/light_client.proto
search: message LightClientOptimisticUpdateAltair {
spec: |
<spec ssz_object="LightClientOptimisticUpdate" fork="altair" hash="0818d65f">
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
</spec>
- name: LightClientUpdate
sources:
- file: proto/prysm/v1alpha1/light_client.proto
search: message LightClientUpdateAltair {
spec: |
<spec ssz_object="LightClientUpdate" fork="altair" hash="abbfc36b">
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
</spec>
- name: PendingAttestation
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message PendingAttestation {
spec: |
<spec ssz_object="PendingAttestation" fork="phase0" hash="e0a37cea">
class PendingAttestation(Container):
aggregation_bits: Bitlist[MAX_VALIDATORS_PER_COMMITTEE]
data: AttestationData
inclusion_delay: Slot
proposer_index: ValidatorIndex
</spec>
- name: PendingConsolidation
sources:
- file: proto/prysm/v1alpha1/eip_7251.proto
search: message PendingConsolidation {
spec: |
<spec ssz_object="PendingConsolidation" fork="electra" hash="6ded98cf">
class PendingConsolidation(Container):
source_index: ValidatorIndex
target_index: ValidatorIndex
</spec>
- name: PendingDeposit
sources:
- file: proto/prysm/v1alpha1/eip_7251.proto
search: message PendingDeposit {
spec: |
<spec ssz_object="PendingDeposit" fork="electra" hash="62923226">
class PendingDeposit(Container):
pubkey: BLSPubkey
withdrawal_credentials: Bytes32
amount: Gwei
signature: BLSSignature
slot: Slot
</spec>
- name: PendingPartialWithdrawal
sources:
- file: proto/prysm/v1alpha1/eip_7251.proto
search: message PendingPartialWithdrawal {
spec: |
<spec ssz_object="PendingPartialWithdrawal" fork="electra" hash="44f687d1">
class PendingPartialWithdrawal(Container):
validator_index: ValidatorIndex
amount: Gwei
withdrawable_epoch: Epoch
</spec>
- name: PowBlock
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message PowBlock {
spec: |
<spec ssz_object="PowBlock" fork="bellatrix" hash="c6c8739a">
class PowBlock(Container):
block_hash: Hash32
parent_hash: Hash32
total_difficulty: uint256
</spec>
- name: ProposerSlashing
sources:
- file: proto/eth/v1/beacon_block.proto
search: message ProposerSlashing {
spec: |
<spec ssz_object="ProposerSlashing" fork="phase0" hash="2cd89ad8">
class ProposerSlashing(Container):
signed_header_1: SignedBeaconBlockHeader
signed_header_2: SignedBeaconBlockHeader
</spec>
- name: SignedAggregateAndProof#phase0
sources:
- file: proto/prysm/v1alpha1/attestation.proto
search: message SignedAggregateAttestationAndProof {
spec: |
<spec ssz_object="SignedAggregateAndProof" fork="phase0" hash="52046edd">
class SignedAggregateAndProof(Container):
message: AggregateAndProof
signature: BLSSignature
</spec>
- name: SignedAggregateAndProof#electra
sources:
- file: proto/prysm/v1alpha1/attestation.proto
search: message SignedAggregateAttestationAndProofElectra {
spec: |
<spec ssz_object="SignedAggregateAndProof" fork="electra" hash="7e784e12">
class SignedAggregateAndProof(Container):
# [Modified in Electra:EIP7549]
message: AggregateAndProof
signature: BLSSignature
</spec>
- name: SignedBLSToExecutionChange
sources:
- file: proto/prysm/v1alpha1/withdrawals.proto
search: message SignedBLSToExecutionChange {
spec: |
<spec ssz_object="SignedBLSToExecutionChange" fork="capella" hash="09a5e4b9">
class SignedBLSToExecutionChange(Container):
message: BLSToExecutionChange
signature: BLSSignature
</spec>
- name: SignedBeaconBlock
sources:
- file: proto/prysm/v1alpha1/beacon_block.proto
search: message SignedBeaconBlock {
spec: |
<spec ssz_object="SignedBeaconBlock" fork="phase0" hash="627b8629">
class SignedBeaconBlock(Container):
message: BeaconBlock
signature: BLSSignature
</spec>
- name: SignedBeaconBlockHeader
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message SignedBeaconBlockHeader {
spec: |
<spec ssz_object="SignedBeaconBlockHeader" fork="phase0" hash="5784d47c">
class SignedBeaconBlockHeader(Container):
message: BeaconBlockHeader
signature: BLSSignature
</spec>
- name: SignedContributionAndProof
sources:
- file: proto/prysm/v1alpha1/sync_committee.proto
search: message SignedContributionAndProof {
spec: |
<spec ssz_object="SignedContributionAndProof" fork="altair" hash="56c7a91a">
class SignedContributionAndProof(Container):
message: ContributionAndProof
signature: BLSSignature
</spec>
- name: SignedVoluntaryExit
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message SignedVoluntaryExit {
spec: |
<spec ssz_object="SignedVoluntaryExit" fork="phase0" hash="89ba48b3">
class SignedVoluntaryExit(Container):
message: VoluntaryExit
signature: BLSSignature
</spec>
- name: SigningData
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message SigningData {
spec: |
<spec ssz_object="SigningData" fork="phase0" hash="c9a66f76">
class SigningData(Container):
object_root: Root
domain: Domain
</spec>
- name: SingleAttestation
sources:
- file: proto/prysm/v1alpha1/attestation.proto
search: message SingleAttestation {
spec: |
<spec ssz_object="SingleAttestation" fork="electra" hash="f67f746a">
class SingleAttestation(Container):
committee_index: CommitteeIndex
attester_index: ValidatorIndex
data: AttestationData
signature: BLSSignature
</spec>
- name: SyncAggregate
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message SyncAggregate {
spec: |
<spec ssz_object="SyncAggregate" fork="altair" hash="51e247e5">
class SyncAggregate(Container):
sync_committee_bits: Bitvector[SYNC_COMMITTEE_SIZE]
sync_committee_signature: BLSSignature
</spec>
- name: SyncAggregatorSelectionData
sources:
- file: proto/prysm/v1alpha1/beacon_state.proto
search: message SyncAggregatorSelectionData {
spec: |
<spec ssz_object="SyncAggregatorSelectionData" fork="altair" hash="990a8a7f">
class SyncAggregatorSelectionData(Container):
slot: Slot
subcommittee_index: uint64
</spec>
- name: SyncCommittee
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message SyncCommittee {
spec: |
<spec ssz_object="SyncCommittee" fork="altair" hash="b1d52376">
class SyncCommittee(Container):
pubkeys: Vector[BLSPubkey, SYNC_COMMITTEE_SIZE]
aggregate_pubkey: BLSPubkey
</spec>
- name: SyncCommitteeContribution
sources:
- file: proto/prysm/v1alpha1/sync_committee.proto
search: message SyncCommitteeContribution {
spec: |
<spec ssz_object="SyncCommitteeContribution" fork="altair" hash="9f9b0125">
class SyncCommitteeContribution(Container):
slot: Slot
beacon_block_root: Root
subcommittee_index: uint64
aggregation_bits: Bitvector[SYNC_COMMITTEE_SIZE // SYNC_COMMITTEE_SUBNET_COUNT]
signature: BLSSignature
</spec>
- name: SyncCommitteeMessage
sources:
- file: proto/prysm/v1alpha1/sync_committee.proto
search: message SyncCommitteeMessage {
spec: |
<spec ssz_object="SyncCommitteeMessage" fork="altair" hash="0764ce67">
class SyncCommitteeMessage(Container):
slot: Slot
beacon_block_root: Root
validator_index: ValidatorIndex
signature: BLSSignature
</spec>
- name: Validator
sources:
- file: proto/prysm/v1alpha1/beacon_core_types.proto
search: message Validator {
spec: |
<spec ssz_object="Validator" fork="phase0" hash="54f88c17">
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
</spec>
- name: VoluntaryExit
sources:
- file: proto/eth/v1/beacon_block.proto
search: message VoluntaryExit {
spec: |
<spec ssz_object="VoluntaryExit" fork="phase0" hash="aa780f75">
class VoluntaryExit(Container):
epoch: Epoch
validator_index: ValidatorIndex
</spec>
- name: Withdrawal
sources:
- file: proto/engine/v1/execution_engine.proto
search: message Withdrawal {
spec: |
<spec ssz_object="Withdrawal" fork="capella" hash="ba17e57d">
class Withdrawal(Container):
index: WithdrawalIndex
validator_index: ValidatorIndex
address: ExecutionAddress
amount: Gwei
</spec>
- name: WithdrawalRequest
sources:
- file: proto/engine/v1/electra.proto
search: message WithdrawalRequest {
spec: |
<spec ssz_object="WithdrawalRequest" fork="electra" hash="05b4d2de">
class WithdrawalRequest(Container):
source_address: ExecutionAddress
validator_pubkey: BLSPubkey
amount: Gwei
</spec>