---
# System prepended metadata

title: ePBS progress tracker

---

## ePBS progress tracker


### Goals
- functioning PoC
- implementation in other client
- everyone learns

### PRS to Contribute

##### [WIP] ePBS
- https://github.com/prysmaticlabs/prysm/pull/13917

#### Consensus Spec EIP-7732
- https://github.com/ethereum/consensus-specs/tree/dev/specs/_features/eip7732

### Features Current WIP


| Name   | Current feature |
| ------ | --------------- |
| Kira   |                 |
| Caleb  |   Working  Nimbus work getting done               |
| Amaan  |   Working on nimbus for ePBS             |


---

## Project Tasks for Nimbus


1. Constants and Types:
   - [x] Add `PAYLOAD_ABSENT`, `PAYLOAD_PRESENT`, `PAYLOAD_WITHHELD`, `PAYLOAD_INVALID_STATUS`
   - [x] Add `PTC_SIZE`
   - [x] Add `INTERVALS_PER_SLOT`
   - [x] Add `PROPOSER_SCORE_BOOST`, `PAYLOAD_WITHHOLD_BOOST`, `PAYLOAD_REVEAL_BOOST`
   - [x] Add `DOMAIN_BEACON_BUILDER`, `DOMAIN_PTC_ATTESTER`
   - [x] Add `MAX_PAYLOAD_ATTESTATIONS`

2. New Types:
   - [x] `PayloadAttestationData`
   - [x] `PayloadAttestation`
   - [x] `PayloadAttestationMessage`
   - [x] `IndexedPayloadAttestation`
   - [x] `SignedExecutionPayloadHeader`
   - [x] `ExecutionPayloadEnvelope`
   - [x] `SignedExecutionPayloadEnvelope`

3. Modified Types:
   - [x] Update `BeaconBlockBody` // name ends with EPBS
   - [x] Update `ExecutionPayloadHeader` // name ends with EPBS
   - [x] Update `BeaconState` // name ends with EPBS
   - [ ] Update `LatestMessage`
   - [x] Update `Store`

4. Helper Functions:
   - [x] `remove_flag`
   - [x] `is_valid_indexed_payload_attestation`
   - [x] `is_parent_block_full`
   - [x] `get_ptc`
   - [x] Modified `get_attesting_indices`
   - [x] `get_payload_attesting_indices`
   - [x] `get_indexed_payload_attestation`

5. State Transition Functions:
   - [ ] Modified `process_block`
   - [x] Modified `process_withdrawals`
   - [x] New `verify_execution_payload_header_signature`
   - [ ] New `process_execution_payload_header`
   - [ ] Modified `process_operations`
   - [ ] New `process_payload_attestation`
   - [x] Modified `process_execution_payload`
   - [x] New `verify_execution_payload_envelope_signature`

6. Fork Choice Functions:
   - [ ] `notify_ptc_messages`
   - [ ] `is_payload_present`
   - [x] `is_parent_node_full`
   - [ ] Modified `get_ancestor`
   - [ ] Modified `get_checkpoint_block`
   - [ ] `is_supporting_vote`
   - [ ] New `compute_proposer_boost`
   - [ ] New `compute_withhold_boost`
   - [ ] New `compute_reveal_boost`
   - [ ] Modified `get_weight`
   - [ ] Modified `get_head`

7. Validator Functions:
   - [x] `get_ptc_assignment`
   - [x] `get_payload_attestation_message_signature`

8. Builder Functions:
   - [ ] Functions for constructing payload bid
   - [ ] Functions for constructing execution payload envelope

9. P2P Updates:
   - [x] Add new gossip topics: `execution_payload_header`, `execution_payload`, `payload_attestation_message`
   - [ ] Implement validation logic for new topics
   - [ ] Update `BeaconBlocksByRange` and `BeaconBlocksByRoot` for v3
   - [ ] Implement `ExecutionPayloadEnvelopeByRoot` v1

10. Fork Logic:
    - [ ] Modified `compute_fork_version`
    - [x] `upgrade_to_eip7732`

11. Testing:
    - [ ] Update existing tests
    - [ ] Add new tests for EIP-7732 specific functionality

---


### Features Currently In Progress
- Feature 3: Description
- Feature 4: Description
